有时候LaTeX放置太多或太less的空间
LaTeX试图猜测一段时间是否会结束一个句子,在这种情况下,它会留下额外的空间。 这是两个猜测错误的例子:
I watched Superman III. Then I went home.
(“超人三”之后空间太小)
After brushing teeth etc. I went to bed.
(“等”之后的空间太多)
请注意,自LaTeX源代码使用多less空格并不重要,因为LaTeX忽略了这个空格。
我在这里find了答案: http : //john.regehr.org/latex/ 。 摘抄:
当一个非句句结束的时间段后面有一个空格时,空格必须是明确的空格。 所以第二个例子应该是:
After brushing teeth etc.\ I went to bed.
当第一个例子中的大写字母在input的句子结束时间段之前出现时,就会出现这个问题。 在这种情况下,LaTeX认为这个时期终止了一个缩写词,并且在词间空间而不是句子间空格之后。 解决的办法是在期限之前加上“ \@
”。 所以第一个例子应该是
I watched Superman III\@. Then I went home.
一个方便的方法来find这个错误是:
grep '[AZ]\.' *.tex
如果您希望在句子末尾使用单个空格,则可以避开空格问题:将\frenchspacing
放在(对于旧版本的Latex,这是一个脆弱的命令)。 克努特遵循传统的命名方式称为法文间隔,尽pipe在句子之后称为双间距法文间隔在发表中占主导地位。
德克·马古利斯(Dirk Margulis)写了一篇不错的文章,总结了单间距普遍存在的一些原因: 句子之间的空格 。
我喜欢他的build议,也喜欢他提出的方便的search。 我没有Stackoverflow“rep”点来评论,但…
由于raw * .tex中的行往往非常长,grep的输出可能是压倒性的(即整个段落)。 我build议一个变体只显示以[[AZ]结尾的单词。 (后跟一个或多个空格,后跟一个新的大写字母)。 它是,
grep -o -E '[AZ]+\. +[AZ]+[A-Za-z]+' *.tex