LaTeX打破了太多的话

时间:2009-10-22 20:44:07

标签: latex

我在LaTeX中编写了一个文档,使用两列格式,11pt,次字体。我的许多单词都显示为带连字符,并且对于每个描述列表项,我都会收到一个badbox警告(虽然输出中没有问题)。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:17)

虽然,是的,你可以让TeX不那么挑剔甚至选择参差不齐的选项,这最好由microtype包修复。只是加载它应该做的伎俩:

\usepackage{microtype}

它提供了两个功能来改进段落的排版:

  • 边距字距:字符,尤其是标点符号,会在边距中突出一小部分。实际上,这具有非常轻微地增加线长度的效果,并且(IMO)在视觉上看起来非常好。
  • 字体扩展:以及拉伸/缩小单词之间的空格以创建一个刷新段落,字符本身会被拉伸/缩小非常小的数量(小于百分之一)。这在角色层面上在视觉上难以察觉,但令人惊讶的是,在段落层面上产生了巨大的差异。

答案 1 :(得分:11)

你应该在序言的某处设置连字符惩罚:

\hyphenpenalty=750

750的值适合我对信纸(8.5x11英寸)和12磅字体的双列布局的需求。调整值以满足您的需求。数字越大,连字数越少。您可能还想查看hyphenat包,它提供的不仅仅是连字符惩罚。

答案 2 :(得分:4)

我一直只是用\raggedright来做这件事,但我从来没有为整篇论文做过。 This FAQ(这是我的首选LaTeX资源之一)推荐ragged2e包。

哦,还有旁注:除非我能在输出中看到它们,否则我从不关注坏盒子。这可能是愚蠢的,但是LaTeX比我更挑剔。

答案 3 :(得分:0)

基于the answers from another post,我发现以下设置非常完美,可以完全防止连字,而又不难看:

\tolerance=9999
\emergencystretch=10pt
\hyphenpenalty=10000
\exhyphenpenalty=100

\tolerance=9999允许尽可能多的空格。

\emerencystretch=10pt每行允许一些额外的空格。

\hyphenpenalty=10000完全禁用连字符。

\exhyphenpenalty=100允许使用已经存在的连字符。