使用 biblatex 包时,我使用了这些选项:\usepackage[style=authoryearcomp,maxbibnames=99,maxcitenames=2,isbn=false,backend=biber]{biblatex}
但后来我需要添加该uniquelist=false
选项。但是后者不起作用,latex 忽略了它。我手动从工作文件夹中删除 .bbl 文件并使用所有 biblatex 选项重新编译文档解决了该问题。这是正确的程序吗?还有其他方法可以实现这一点吗?
答案1
uniquelist=false,
无论何时将其添加到文档中,该选项都应按宣传的方式工作,但由于该选项会影响 Biber(后端)所做的计算,因此当您在添加该选项后仅运行 LaTeX 时可能不会立即显示效果。当您更改影响 Biber 的选项时,您应该重新运行完整的 LaTeX、Biber、LaTeX、LaTeX 编译循环,以确保使用了新的设置。
与其他一些情况不同,biblatex
不会自动警告您必须重新运行 Biber 以确保选项更改已生效。理论上,可以在biblatex
Biber 中实现对此的检查,但这也不是完全微不足道的,到目前为止还没有人要求这样做。如果您认为自动警告很有用,您可以随时在https://github.com/plk/biblatex/issues。
从您的描述来看,您似乎只在添加该选项后才运行 LaTeX。删除文件后,.bbl
您(或您的编辑器)必须重新运行 Biber,此时该选项才最终生效。
我猜你正在使用一个编辑器或其他工具,它们通常会自动为你运行 Biber。大概那个工具没有检测到需要重新运行 Biber。这并不奇怪,因为它biblatex
不会就此发出警告。然而,有些工具有非常先进的启发式方法,已经可以检测到这种情况并为你重新运行 Biber(奇妙的latexmk
想到了这一点)。如果您没有使用这种高级工具,您目前唯一能做的就是确保手动重新运行 LaTeX、Biber、LaTeX、LaTeX。(您当然不必为此删除文件.bbl
,您的编辑器应该为您提供手动执行此操作的选项,但如果这是获得完整重新运行的最简单方法,为什么不呢?)