任何带有 bibtex 后端解决方案的 Biblatex 仍然会受到赞赏!

任何带有 bibtex 后端解决方案的 Biblatex 仍然会受到赞赏!

我在用着比布拉特克斯alphabetic风格。

如果有多位作者,则取每一位作者的首字母(第一个例子),但是我希望只有第一作者(第二个例子,但如果有多个作者也是如此) - 我该如何实现这一点?我无法在 biblatex 中找到相应的选项。

在此处输入图片描述

虽然会有加倍,但在这种情况下方括号中的两个符号应该相同。

其他例子:

在此处输入图片描述

应该是[Box60]和[Box51]。

我的最小例子:

\documentclass{article}
\usepackage[backend=bibtex,style=alphabetic]{biblatex}

\begin{filecontents}{references.bib}
@ARTICLE{boxwilson, 
author={Box, G. E. P. and Wilson, K. B. }, 
journal={Journal of the Royal Statistical Society. Series B (Methodological)}, 
title={On the Experimental Attainment of Optimum Conditions}, 
year={1951}, 
volume={13}, 
number={1}, 
pages={1-45}, 
,}
}
\end{filecontents}


\bibliography{references.bib} 
\begin{document}
\cite{boxwilson}
\printbibliography
\end{document}

重复条目之间的区别是可以的:[Box60a] 和 [Box60b]。

谢谢你!


编辑:

任何带有 bibtex 后端解决方案的 Biblatex 仍然会受到赞赏!

最好的比伯我终于找到了解决方案。

答案1

这可以通过 来完成\DeclareLabelalphaTemplate。但是此命令仅适用于 Biber,因此您必须切换后端。

首先,我们用 去掉“et al.”/and others 标记\renewcommand*{\labelalphaothers}{}。然后我们定义

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

仅取第一作者姓名的前三个字母作为标签的名称部分。

这将消除因添加字母而产生歧义的标签;如果你不能接受这个功能,可以尝试

\DeclareFieldFormat{extraalpha}{}

平均能量损失

\documentclass{article}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{boxwilson, 
  author={Box, G. E. P. and Wilson, K. B.}, 
  journal={Journal of the Royal Statistical Society. Series B (Methodological)}, 
  title={On the Experimental Attainment of Optimum Conditions}, 
  year={1951}, 
  volume={13}, 
  number={1}, 
  pages={1-45}, 
}
@ARTICLE{boxwilson60, 
  author={Box, G. E. P. and Behnken, D. W.}, 
  journal={Some Journal}, 
  title={Torque Analysis}, 
  year={1960}, 
  volume={12}, 
  number={1}, 
  pages={1-45}, 
}
\end{filecontents*}

\renewcommand*{\labelalphaothers}{}

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

\bibliography{\jobname.bib} 
\begin{document}
\cite{boxwilson,boxwilson60}
\printbibliography
\end{document}

在此处输入图片描述

相关内容