我可以配置 bibtex.exe 在 .bbl 文件中插入命令 \interlinepenalty=10000 吗?

我可以配置 bibtex.exe 在 .bbl 文件中插入命令 \interlinepenalty=10000 吗?

以下问答展示了一种避免参考文献之间分页的方法:
如何防止段落或参考书目条目的行之间出现分页符?
https://tex.stackexchange.com/a/51259/8303

建议插入的答案\interlinepenalty=10000很简单,而且效果很好。但是,每次bibtex编译.bbl文件时,我都必须手动编辑它以插入行间惩罚命令。然后我必须.bat在注释掉命令后再次运行我的文件bibtex.exe

由于这有点麻烦,有没有办法可以配置bibtex.exe来帮我完成呢?

答案1

如果你添加

@preamble{"\interlinepenalty=10000 "}

.bib文件中,指令将出现在 之前\begin{thebibliography}。如果您希望它仅在环境中有效thebibliography,只需 patch \thebibliography

\usepackage{etoolbox}

\AtBeginDocument{%
  \apptocmd\thebibliography{\interlinepenalty=10000 }{}{}%
}

应该做。

答案2

这个领域@preamble就是为这类事情而存在的。

@preamble{"\interlinepenalty=10000"}

相关内容