我有一份包含多个 的文档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}