我有一个书目,它一直不停地在两种状态之间切换:
下一页:
和
下一页:
似乎biblatex
,或biblatex-chicago
,在用水平线替换作者姓名时,不喜欢这样的条目成为新页面上的第一个条目,因此恢复为名称,这会使条目增长到四行,然后 latex 将这些行重新分配到两页上的不同位置,条目最终出现在上一页,因此需要用水平线替换其名称,将其缩短为三行,然后导致恢复到第一个状态。
这里有一个最小化的 latex 文件,其中包含这个bib文件重现问题:
\documentclass[11pt]{memoir} \usepackage{pgffor} %%% Font Setup
\usepackage{fontspec,xltxtra,xunicode}
\setromanfont[Mapping=tex-text,Numbers=OldStyle,SmallCapsFont={* Caps}]{Latin Modern Roman}
%%%Page setup
\quarkmarks
\setpagecc{24.1cm}{16.4cm}{*}
\settypeblocksize{*}{11.8cm}{*}
\setlrmargins{2.1cm}{*}{*}
\setulmarginsandblock{2.1cm}{2.5cm}{*}
\checkandfixthelayout
%%%Bibliography Setup
\usepackage[authordate,backend=biber]{biblatex-chicago}
\setlength\bibitemsep{0pt} % no empty line between bib entries
\renewcommand*{\bibfont}{\small}
\addbibresource{ch01sec.bib}
\begin{document}
\foreach \n in {0,...,52}{X\\}
\nocite{*}
\printbibliography[heading=subbibliography]
\end{document}
我已经将这个问题报告给了的维护者biblatex-chicago
,他建议在这里询问,因为他认为这是一个普遍biblatex
问题。
答案1
如果您不关心页面开头的破折号,您可以在参考书目之前禁用页面跟踪器:
\pagetrackerfalse
\printbibliography[heading=subbibliography]
如果您在意,那么当所有书目条目都存在时,您可能必须手动调整参考书目。然后,您可以例如识别第一个有问题的条目并添加硬分页符:
\AtEveryBibitem{\iffieldequalstr{entrykey}{Sanderson2009}{\pagebreak}{}}