biblatex:如何在不同的引用部分将 maxbibname 设置为不同的值?

biblatex:如何在不同的引用部分将 maxbibname 设置为不同的值?

我有一份包含多个 的文档refsections。我想在其中一个中设置maxbibnames=99(或者更确切地说:在序言中保留全局设置值),但我想在另一个中设置maxbibnames=3

那可能吗?

(一种解决方法是,我手动编辑 .bib 文件中作者过多的 5 到 10 个书目条目,但是我想避免更改这些条目中的实际名称。)

答案1

是的,这是可能的。您可以重新定义\blx@maxbibnames所需的refsection;使用\Setmaxbibnames命令,您可以本地指定所需的值:

\documentclass{article}
\usepackage[maxbibnames=99,style=authoryear]{biblatex}

\addbibresource{biblatex-examples.bib}

\makeatletter
\newcommand\Setmaxbibnames[1]{\renewcommand\blx@maxbibnames{#1}}
\makeatletter

\begin{document}

\begin{refsection}
\cite{almendro}
\printbibliography
\end{refsection}

\begin{refsection}
\Setmaxbibnames{3}
\cite{almendro}
\printbibliography
\end{refsection}

\begin{refsection}
\cite{almendro}
\printbibliography
\end{refsection}

\end{document}

在此处输入图片描述

相关内容