我使用的biblatex
是chem-rsc
package 选项。我有时会使用 \textcite{<key>}
或\citeauthor{<key>}
命令将作者姓名放入文本中。如果作者姓名较多,它会显示“Bloke et al.”,但我想让“et al.”以斜体显示。
我确信有一些通过重写部分命令来实现这一点的黑客方法。但我希望有一些相当直接和可靠的方法来实现这一点。
答案1
“et al.”对应于本地化键andothers
。在大多数样式中,它由通用书目宏设置name:andothers
。您可以重新定义此宏以将其包装\bibstring{andothers}
在中\emph
。
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=chem-rsc]{biblatex}
\renewbibmacro*{name:andothers}{% Based on name:andothers from biblatex.def
\ifboolexpr{
test {\ifnumequal{\value{listcount}}{\value{liststop}}}
and
test \ifmorenames
}
{\ifnumgreater{\value{liststop}}{1}
{\finalandcomma}
{}%
\andothersdelim\bibstring[\emph]{andothers}}
{}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite{companion} \citeauthor{companion}
\printbibliography
\end{document}
答案2
这是另一个例子,egregxpatch
包派上了用场。无需复制粘贴name:andothers
bibmacro 的全部内容,可以有选择地应用更改(如 Marco Daniel 所建议的):
\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=chem-rsc]{biblatex}
\usepackage{xpatch}
\xpatchbibmacro{name:andothers}{%
\bibstring{andothers}%
}{%
\bibstring[\emph]{andothers}%
}{}{}
\addbibresource{biblatex-examples.bib}
\begin{document}
\textcite{companion} \citeauthor{companion}
\printbibliography
\end{document}
答案3
实现此目的的另一种方法如下:
\usepackage[maxnames=6,minnames=3]{biblatex}
\DefineBibliographyStrings{english}{%
andothers = {\em et\addabbrvspace al\adddot}
}
您实际上可以控制整个文本及其样式,并且可以控制不同的语言。
答案4
如果您使用的是biblatex
v3.17 (2022-01-25) 或更高版本,则可以使用 bibstring 格式集以斜体排版“et al.”
字符串格式集允许我们对字符串集应用额外的格式。例如,我们可以给出一组拉丁语术语并使用斜体。字符串集通常在 中按语言定义\DefineBibliographyExtras
,因为它们的逻辑取决于实际翻译。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\DefineBibliographyExtras{british}{%
\DeclareBibstringSet{latin}{andothers,ibidem}%
\DeclareBibstringSetFormat{latin}{\mkbibemph{#1}}%
}
\UndefineBibliographyExtras{british}{%
\UndeclareBibstringSet{latin}%
}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite{aksin}
\printbibliography
\end{document}
更多背景和讨论可参见https://github.com/plk/biblatex/pull/1028,https://github.com/plk/biblatex/pull/1027,https://github.com/plk/biblatex/issues/899。