5

I cite papers by "Wil van der Aalst" and I'd like to use the alphabetic style. When using the LNI-style, the label of the entry is vdA01. When using alphabetic, the label is vAal01. Is it possible to include the d, too? Meaning: vdAa01 or vdAal01? According to custombib, I think, it's the "alpha" (alph) style, isn't it?

I got the hint that one should use \DeclareLabelalphaTemplate (Section 4.5.4) in the biblatex manual. Maybe someone has more experience than me to emulate the behavior of LNI? custombib also supports that

%file based on http://tex.stackexchange.com/a/21383/9075

\documentclass{article}

\usepackage[
  backend   = biber,
  style     = alphabetic,
  useprefix = true
]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {van der Aalst, Wil},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}
\nocite{*}

\begin{document}
Some text \autocite{A01,B02}.
\printbibliography
\end{document}
  • 2
    Mhhh, as far as I can see it is hard-coded into Biber/Internals.pm that we take only one character from the prefix substr(0,1). Maybe we would want to take all characters of the abbreviated prefix (stripped of all delimiters) instead, but I really feel that is something that needs to be changed in the innards of Biber. – moewe Nov 2 '15 at 11:35
  • 2
    I will look into adding label options for this. – PLK Nov 2 '15 at 16:35
4

Please try biblatex 3.2/biber 2.3 from the Sourceforge development folder. As @moewe noted, the substring for prefices was previously hard-coded. Biber development is often a process of making hard-coded things into options and there is very little left now that is hard coded ...

Now, there are two new options for \field specifications in \DeclareLabelalphaTemplate - pstrwidth and pcompound which control, respectively, how many characters to take from the prefix and whether to consider the components of a compound prefix like van der as separate units for the substring operations (like the compound option for last names). With the new options, you can get what you want with this in your preamble:

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left,ifnames=1,pcompound=true]{labelname}
    \field[strwidth=1,strside=left,pcompound=true]{labelname}
  }
  \labelelement{
    \field[strwidth=2,strside=right]{year}    
  }
}
| improve this answer | |
  • Works perfectly. :star: I wonder whether this settings should be the default so that the alphabetic style can be used as a drop in replacement without further configuration. – koppor Nov 2 '15 at 22:11
  • 1
    Ok, that sounds reasonable, I'll make it default. – PLK Nov 3 '15 at 10:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.