maxnames 或 minnames 是 printbibliography 的合法选项吗?

maxnames 或 minnames 是 printbibliography 的合法选项吗?

我之前很少使用 LaTeX,昨晚才安装了 TeX live 2012。现在我的一个文档项目由于以下代码片段而停止编译:

\chapter{List of publications}
\begin{refsection}[Publications]
  \defbibheading{empty}{%
    \markboth{Publications}{Publications}
  }
  \printbibliography[heading=empty,maxnames=15,minnames=15]
\end{refsection}

看来maxnamesminnames现在已被删除printbibliography。如何在不更改全局设置的情况下修复此问题?谢谢。

该片段是对 biblatex 的一种创新使用,用于列出我的出版物。它以前与 biblatex 1.4c 一起使用。它应该显示该特定章节的完整作者列表。

编辑:遗憾的是,我用英语很难解释我的问题。它涉及 biblatex 的复杂使用,而不是使用 maxnames 或 minnames 或 printbibliography,这些在手册中有清楚的解释。

答案1

这基本上是不可能的,可能只适用于 biblatex <2.0,因为它没有能力拥有多个\printbibliography具有不同排序的功能。maxnames/minnames 会影响 biber 所做的许多事情,例如标签生成、排序、名称哈希等。因此,破解它\setcounter几乎肯定不会达到你想要的效果,因为这只会影响 biblatex 方面的事情。也许如果你能给出你正在尝试做的确切事情的 MWE,我们可以看看是否可以使用可用的选项来完成。如果有未处理的用例,我愿意接受增强。

答案2

maxnamesminnames是文档序言的合法选项。这些选项在手册的第节中进行了描述3.1.2.1 一般规定引入了以下内容:

以下选项可在可选参数以及 \usepackage配置文件和文档前言中使用。

允许的选项\printbibliography在部分中列出3.6.2 参考书目。在那里你找不到该选项,maxnames也没有minnames

Fazit:maxnames并且minnames存在,但仅存在于序言中。

黑客:你可以设置\setcounter{maxnames}{15}\setcounter{minnames}{15}

下面是一个例子(没有引用):

\documentclass{article}

\usepackage[maxnames=1,minnames=1]{biblatex}

\addbibresource{biblatex-examples.bib}
\AtBeginBibliography{\setcounter{maxnames}{10}}
\begin{document}
\cite{companion}

  \defbibheading{empty}{%
    \markboth{Publications}{Publications}
  }

\printbibliography[heading=empty]

\end{document}

相关内容