为什么引用会破坏我的页面布局?

为什么引用会破坏我的页面布局?

我在引用方面遇到了麻烦。如所附屏幕截图所示,它们有时不能正确换行,而是产生错误overfull hbox并破坏我的布局。

以下是我包含的相关包。

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[hyphens]{url}
\usepackage{jurabib}
\usepackage{pdfpages}

截图如下: 在此处输入图片描述

编辑:我刚刚发现答案。既\usepackage{breakcites}没有\usepackage{cite}帮助,但\usepackage{microtype}确实有。让我们看看它是否能解决所有换行问题。

答案1

你遇到的问题是,你生成的引用文本非常长,除了后面的断点之外基本上没有任何断点/,如果段落中有很多这样的断点,那么可能就没有任何合法的换行符。如果你运行

\showhyphens{fairlylongword/fairlylongword/fairlylongword,2003}

您可以看到,只有在名字中 TeX 才能找到连字符点:

Underfull \hbox (badness 10000) in paragraph at lines 31--31
[] \T1/ptm/m/n/10 fair-ly-long-word/fairlylongword/fairlylongword,2003

原因是,一旦 TeX 发现单词中存在字母以外的其他内容,它就会停止连字符。

现在 jurabib 没有使用,/但它\slash在作者姓名之间使用来生成一个 / 和一个断点,这解释了为什么你得到了“(Straub/Weidemann/ ... Weidemann,2007)”,但没有得到“(Straub/Weide- ... mann/Weidemann,2007)”,这可能救了你一命。

所以问题是你想在哪里换行?如果你想尝试使用正常的连字规则对名称进行连字,那么你需要确保这个 / 不会停止连字。使用的技巧是在后面跟上\slash一些不可见的空格(例如,\hspace{0pt}因为这会导致开始一个新“单词”。

jurabib 包具有高度可定制性,您所要做的就是修改相应的命令(参见 jurabib 文档,或者如果您有 TLC2,请查看示例 12-5-39):

\renewcommand{\jbbtasep}{{\normalfont\slash\hspace{0pt}}}
\renewcommand{\jbbfsasep}{{\normalfont\slash\hspace{0pt}}}
\renewcommand{\jbbstasep}{{\normalfont\slash\hspace{0pt}}}

该领域还有更多可能性。

相关内容