在 biblatex 书目中以粗体显示作者/编辑的姓氏(但仅限于标题前面的姓氏)

在 biblatex 书目中以粗体显示作者/编辑的姓氏(但仅限于标题前面的姓氏)

我使用 pdfLaTeX 和 bibLaTeX,并以 biber 为后端。在我的参考书目中,我想将所有作者或编辑的姓氏加粗;但@collection如果条目是@incollection则不加粗编辑的姓氏。换句话说,我希望将参考书目条目中以 开头的所有名字的姓氏加粗,但不加粗可能跟在条目标题后面的名字。我找到了一个类似的问题及其解决方案:以粗体显示 biblatex 书目中第一作者的姓氏

我怎样才能实现这样的结果?由于我对深入的 LaTeX 的了解非常有限,而且我无法自己更改解决方案(上面提到的)中给出的宏,所以我希望有人有解决方案。

答案1

此解决方案现已更新为biblatex>= 3.3,请参阅 3.3 之前版本的编辑历史。

我按照我的解决方案以粗体显示 biblatex 书目中第一作者的姓氏,但所有作者均以粗体显示。唯一的变化是现在始终以 为单位显示\renewcommand*{\mkbibnamelast}[1]{\mkbibbold{##1}},而不仅限于名字。

\DeclareNameAlias{sortname}{family-given-fb}
\DeclareNameFormat{family-given-fb}{%
  \renewcommand*{\mkbibnamefamily}[1]{\mkbibbold{##1}}%
  \ifgiveninits
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiveni}
      {\namepartprefix}
      {\namepartsuffix}}
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}}%
  \usebibmacro{name:andothers}}

平均能量损失

\documentclass{article}
\usepackage[style=authoryear,backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareNameAlias{sortname}{family-given-fb}
\DeclareNameFormat{family-given-fb}{%
  \renewcommand*{\mkbibnamefamily}[1]{\mkbibbold{##1}}%
  \ifgiveninits
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiveni}
      {\namepartprefix}
      {\namepartsuffix}}
    {\usebibmacro{name:family-given}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}}%
  \usebibmacro{name:andothers}}

\begin{document}
\cite{sigfridsson,gaonkar:in,brandt}
\printbibliography
\end{document}

在此处输入图片描述


如果您使用不使用的数字样式,sortname您还需要

\DeclareNameAlias{author}{family-given-fb}
\DeclareNameAlias{editor}{family-given-fb}
\DeclareNameAlias{translator}{family-given-fb}

相关内容