按字母顺序显示 biblatex 中作者姓名的三个字母

按字母顺序显示 biblatex 中作者姓名的三个字母

我想安装新版本的样式,但我记不起我做了什么修改来显示作者姓名的更多字母。修改直接进入.bst.cst文件。无论如何,我的引文显示为,

MijKomSpi09b

其中有三位作者,对于每位作者,我希望显示他们的前三个字母。除了三位作者之外,我只想要第一位作者的前三个字母(例如Mij+09)。

是否可以直接在.tex文件中执行此操作?目前我的设置是

 \usepackage[backend=biber, sorting=nyt, citestyle=ieee-alphabetic,
             bibstyle=ieee-alphabetic,  maxnames=3,minnames=1,maxbibnames=99]{biblatex}

并且仅当只有一位作者时才显示前三个字母。对于多位作者,其形式为AHW09b

答案1

使用Biber,我们可以用来\DeclareLabelalphaTemplate更改标签格式,我们还必须设置minalphanames=1(即使用ieee-alphabetic,否则您可能需要minalphanames=1, maxalphanames=3

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left]{labelname}
  }
  \labelelement{
    \field[strwidth=2,strside=right]{year}    
  }
}

平均能量损失

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[backend=biber, sorting=nyt, style=ieee-alphabetic, minalphanames=1, maxbibnames=99]{biblatex}
\addbibresource{biblatex-examples.bib}

\DeclareLabelalphaTemplate{
  \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left]{labelname}
  }
  \labelelement{
    \field[strwidth=2,strside=right]{year}    
  }
}

\begin{document}
  \cite{companion,knuth:ct} and \cite{baez/article} \cite{aksin}
  \printbibliography
\end{document}

在此处输入图片描述

相关内容