biblatex 与 bibtex 字母全部大写

biblatex 与 bibtex 字母全部大写

我正在尝试使我的整个参考书目都使用大写的简写。

我在用:

\usepackage[backend=bibtex,style=alphabetic,urldate=comp]{biblatex}
\addbibresource{bib/literatur.bib}
\printbibliography

我找到了这个解决方案:

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

但这不起作用。我还清理了工作区。我的简写中仍然有小写字母:

在此处输入图片描述

如果您需要更多信息,请在评论中告诉我。完整标题太大了,所以我不想在这里发布。

答案1

添加uppercase=true应该可以起作用。

\field[strwidth=3,strside=left,ifnames=1,uppercase=true]{labelname}
\field[strwidth=1,strside=left,uppercase=true]{labelname}

不过,我必须评论说,这种格式实际上消除了区分三位作者作品和单一作者作品的任何方法,我认为这不太实用。

这是一个可以运行的最小示例:

\documentclass{article}
\usepackage[style=alphabetic]{biblatex}
\addbibresource{biblatex-examples.bib}


\DeclareLabelalphaTemplate{
 \labelelement{
    \field[final]{shorthand}
    \field{label}
    \field[strwidth=3,strside=left,ifnames=1,uppercase=true]{labelname}
    \field[strwidth=1,strside=left,uppercase=true]{labelname}
          }
 \labelelement{
    \field[strwidth=4,strside=right]{year}
          }
}

\begin{document}
\cite{knuth:ct:a,knuth:ct:b,knuth:ct:c,baez/article,baez/online}
\printbibliography
\end{document}

代码输出

相关内容