关于控制连字和文档布局的常见问题

关于控制连字和文档布局的常见问题

总的来说,我让 LaTex 自行处理文档布局。我根据大学的标准设置了边距和行距,但除此之外,我唯一弄乱的是列表环境中的间距。特别是,[htb]当我放置浮点数时,我没有任何参数。我发现没有必要弄乱 LaTex 自动执行的操作,现在我有一份包含大量文本和大量图表的长文档,输出看起来很不错。

但是,我刚刚遇到过一个情况,一段文本被插入两页浮点数(包含三个数字)打断。问题是这段文本在单词中间被打断了。我一般不介意连字,但我对单词从第 1 页开始到第 4 页结束感到不满。事实上,我很惊讶 LaTex 竟然允许这种情况发生。有什么办法可以阻止它吗?

答案1

乳胶实际上并不允许这种情况发生,它只是不知道这种情况发生了。

TeX 的工作方式大致是将段落分成行(此时您可以控制连字符和空白拉伸等的可取性)并且将生成的一系列行框与其他垂直材料(如显示的方程式垂直空间等)一起放入垂直列表中。

从概念上讲,这是一个无限滚动,并且 Tex 实际上可能会将几页内容放到这个列表中(特别是如果您编写了一个超过一页的段落,那么在考虑分页之前,整个段落都会被分成几行)。

在某些时候,TeX 决定尝试输出一些页面,此时它会采用当前垂直列表、任何待处理的浮点数、指定的页眉和页脚,并尝试组成一些页面。此时它不会查看行框内部(查看尾随的-)。

那么该怎么办:

正如 morbusg 在评论中指出的那样,在进行换行时,TeX 会插入惩罚,提示在该点是否需要分页,在带连字符的单词后\brokenpenalty添加惩罚,如果你增加这个值(最大值为 10000),那么你就不鼓励在该点进行分页,但除非页面其他地方有灵活性,否则这可能会导致页面变短,因为分页恰好发生在上面的一行。你不能自动做的只是调整换行这样就不需要在该位置使用连字符了。在足够长的段落中,这通常是可能的,因此您可以选择设置较高的值,\brokenpenalty但这适用于所有分页符,无论是否插入浮动,并且可能会导致糟糕的 shprt 或过度拉伸的页面,但可以通过单一设置自动工作,或者通过将单词放入一个来手动调整段落,\mbox{theword}这样它就不会连字符,然后运气好的话,TeX 会重新调整整个段落的换行符,这样就不需要在该行上使用连字符了。

相关内容