1

I have the following bibliography setup

\documentclass[ngerman]{article}

\usepackage{babel} \usepackage{csquotes} \usepackage{filecontents}

\usepackage[backend=biber, style=ieee-alphabetic, maxnames=99, maxcitenames=2, minalphanames=1, maxalphanames=1, giveninits=true, useprefix=false, doi=false, isbn=false, url=false, backref=false, dashed=false, ]{biblatex} \renewcommand*{\labelalphaothers}{}

\DeclareLabelalphaTemplate{ \labelelement{ \field[final]{shorthand} \field{label} \field{labelname} } \labelelement{ \field{year} } }

\begin{filecontents}{\jobname.bib} @article{Garcia1984, author = {García Lopéz, Frank and Orwell, George}, title = {1984}, year = {1948}, journal = {Books About Big Brothers}, volume = {5}, number = {42}, pages = {100--111}, } \end{filecontents} \addbibresource{\jobname.bib} \begin{document}

\cite{Garcia1984}. \printbibliography \end{document}

With the following output:

enter image description here

Do you see any possibility to only show the first of the two surnames of the first author in the biblabel, so it is [García1984]? I could live with only the second name, if that would be easier, but knowing Spanish/Latin American people and how they use their names, I think the former is the preferable choice.

In the bibliography entry the name should remain as it is, so F. G. Lopéz or F. García L. are no options.

Thanks in advance!

  • You can add a field shorthand = {Garcia84}, to your bibliography entry in the .bibfile. – Pieter van Oostrum Feb 10 '21 at 18:43
  • @PietervanOostrum I didn't know, that would be possible. Thanks! You want to make it an answer? However, this solution has the drawback that if stored in a database, the shorthand will allways overwrite the biblabel, even if the style is e.g. numeric. So one has to adapt the bib-entry for every publication. But as a compromise it works for sure. – Robert Seifert Feb 11 '21 at 06:45

2 Answers2

3

One way to force a particular name for the label is to use the shortauthor field.

\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[ backend=biber, style=ieee-alphabetic, maxnames=99, maxcitenames=2, minalphanames=1, maxalphanames=1, giveninits=true, useprefix=false, doi=false, isbn=false, url=false, dashed=false, ]{biblatex}

\renewcommand*{\labelalphaothers}{}

\DeclareLabelalphaTemplate{ \labelelement{ \field[final]{shorthand} \field{label} \field{labelname} } \labelelement{ \field{year} } }

\begin{filecontents}{\jobname.bib} @article{Garcia1984, author = {García Lopéz, Frank and Orwell, George}, shortauthor = {García, Frank and Orwell, George}, title = {1984}, year = {1948}, journal = {Books About Big Brothers}, volume = {5}, number = {42}, pages = {100--111}, } \end{filecontents} \addbibresource{\jobname.bib} \begin{document}

\cite{Garcia1984}. \printbibliography \end{document}

[García1948].

Another much more complicated option would be to try and extend the name format to include two family names of which only one is used for citation labels. One would probably approach this similar to Bibtex/Biber: how to cite an author using Ethiopian conventions?, Bibliography according to icelandic system or Specifying author pseudonyms in BibLaTeX.

moewe
  • 175,683
1

Another way is to postprocess the label, for example if you use a bibliography that you cannot change.

You have to put a separator between the name and the year so that the postprocessing macro can split it there, and then split off the part after the space.

\documentclass[ngerman]{article}

\usepackage{babel} \usepackage{csquotes} \usepackage{filecontents}

\usepackage[backend=biber, style=ieee-alphabetic, maxnames=99, maxcitenames=2, minalphanames=1, maxalphanames=1, giveninits=true, useprefix=false, doi=false, isbn=false, url=false, backref=false, dashed=false, ]{biblatex} \renewcommand*{\labelalphaothers}{}

\let\MYSEP\relax \DeclareLabelalphaTemplate{ \labelelement{ \field[final]{shorthand} \field{label} \field{labelname} } \labelelement{\literal{\MYSEP}} % <<======= \labelelement{ \field{year} } }

\DeclareFieldFormat{labelalpha}{\expandafter\extractfirsta#1\MYSEP}

\def\extractfirsta#1\MYSEP#2\MYSEP{\extractfirstb#1 \MYSEP{#2}} \def\extractfirstb#1 #2\MYSEP#3{#1#3}

\begin{filecontents}{\jobname.bib} @article{Garcia1984, author = {García Lopéz, Frank and Orwell, George}, title = {1984}, year = {1948}, journal = {Books About Big Brothers}, volume = {5}, number = {42}, pages = {100--111}, } \end{filecontents} \addbibresource{\jobname.bib} \begin{document}

\cite{Garcia1984}. \printbibliography \end{document}

enter image description here