编辑参考书目但不改变文中的引文

编辑参考书目但不改变文中的引文

在准备出版我的手稿时,我需要手动编辑我使用biblatex(style authortitle-dw) 和 Biber 生成的参考书目。这主要是修复换行符和分页符(一些令人讨厌的 URL,确保 bib 项目不会跨页中断等,请参见下图)。我无法在文件中进行这些修复,*.bbl因为那里的更改也会影响文本中的引用。有什么想法可以做到这一点吗?

错误的 URL(太长)

错误 URL

线路不好(太长)

在此处输入图片描述

页面中断错误

在此处输入图片描述

答案1

为了确保书目项目不是跨页中断,更改的定义,\bibsetup将其\interlinepenalty设置为 10000 而不是 5000。

\patchcmd{\bibsetup}{\interlinepenalty=5000}{\interlinepenalty=10000}{}{}

以下是原始定义biblatex.def

\newcommand*{\bibsetup}{%
  \interlinepenalty=5000\relax
  \widowpenalty=10000\relax
  \clubpenalty=10000\relax
  \raggedbottom
  \frenchspacing
  \biburlsetup}

答案2

我发现,如果你想要一份印刷上无瑕疵的参考书目,通常除了手工排版之外别无他法。即使是最好的换行和分页算法也无法为你完美地解决所有问题。这就是为什么 TeX 如此好心地告诉我们有关框未满和过满的问题。框过满的情况几乎出现在每篇文本中,参考书目也是如此——只是情况更糟糕,因为里面有太多的名字(总是很难正确地连字),框项中有太多不应该跨行的字符串(页码、标签等),以及太多不应该跨页的框项(至少不能从奇数页到偶数页)。

对于我的实际项目,我现在采用了其中一条评论中提到的方法:生成包含引文和参考文献的正文,我biblatex像往常一样使用 Biber。但是,对于参考书目,我复制了文件*.bbl,重命名它,并将其与单独的*.tex文档一起使用,以编译仅包含参考书目的单独 PDF。现在,我可以对重命名的*.bbl文件进行所有必要的修改,而不会影响正文。最后,我从第一个 PDF 中删除(有缺陷的)参考书目,并从第二个 PDF 中插入已修复的参考书目。另一种可能更简单的方法是先编译参考书目,将其从生成的 PDF 中直接复制并粘贴到源中*.tex,删除\printbibliography命令并手动整理粘贴的参考书目文本。

这一切都非常繁琐和耗时,但谁说制作精美的书很容易呢?

为了向您展示自动生成的书目和手动优化的书目之间的区别,我上传了两个 PDF这里这里。如您所见,手动编辑文件*.bbl不仅让我能够优化换行符和分页符,还可以做一些不错的事情,例如字典样式标题和强调新字母的开头。请注意,可能还有一些小错误需要修复...

答案3

我用过

\sloppy
\printbibliography[heading=bibintoc]
\fussy

之前处理过参考书目中的错误换行符。这有时会使单词之间的空格变得非常大,但对我来说已经足够好了。YMMV。

答案4

如果没有您的参考书目和代码,我不知道这是否会起作用,但将以下计数器设置为大于 0(但小于 10,000)的数字应该允许 URL 跨行拆分。

\setcounter{biburlnumpenalty}{9000}
\setcounter{biburlucpenalty}{9000}
\setcounter{biburllcpenalty}{9000}

数字越高,允许的换行符越少。除了 URL 之外,还有具有类似属性的类似计数器。请参阅第 4.10.3 节biblatex 手册

相关内容