是否可以告诉biblatex
您不要将参考书目条目拆分到两页?理想情况下,这应该适用于\cite
和\fullcite
。
答案1
biblatex
\bibsetup
在参考书目开始时执行;其通常的定义是
\interlinepenalty=5000\relax
\widowpenalty=10000\relax
\clubpenalty=10000\relax
\raggedbottom
\frenchspacing
\biburlsetup
所以你可以
\patchcmd{\bibsetup}{\interlinepenalty=5000}{\interlinepenalty=10000}{}{}
这将抑制段落内的分页符。
该实用程序\patchcmd
通常需要加载etoolbox
包,但biblatex
已经加载了它。
答案2
与其说这是一个真正的自动化解决方案,不如说它是一个临时解决方案:
由于 BibTeX 是一个单独的可执行文件,它编写 LaTeX 代码,将参考书目排版到 .bbl 文件中,然后在下次运行中再次读入 LaTeX,因此您只需在 .bbl 文件中手动在\pagebreak
两个文件之间插入一个\bibitems
,以确保第二个文件完全移动到下一页。
由于 BibTeX 不知道页面布局、字体大小等,因此它无法自行决定在何处插入此类内容\pagebreak
。也许可以进行修改\bibitem
以检查它是否适合当前页面,但这很可能不是一件容易的事情。
当然,\pagebreaks
每当您必须重新运行 BibTeX 时,您都会丢失手动插入的内容,因此最好在发布之前的最后执行此操作,此时参考书目不再发生更改,以避免一遍又一遍地执行此操作。