Latex 乳胶有时会在月经后留下太多或太少的空间

Latex 乳胶有时会在月经后留下太多或太少的空间,latex,Latex,LaTeX尝试猜测句点是否结束一个句子,在这种情况下,它会在句点后加上额外的空格。 以下是两个猜测错误的示例: I watched Superman III. Then I went home. (在“超人III”之后的空格太小) (在“等”之后有太多空格) 请注意,在LaTeX源代码中使用多少空白并不重要,因为LaTeX忽略了这一点。我在这里找到了答案:。摘录: 当一个非句子结束句点后面跟一个空格时,空格必须是一个明确的空格。 因此,第二个例子应该是: After brushing tee

LaTeX尝试猜测句点是否结束一个句子,在这种情况下,它会在句点后加上额外的空格。 以下是两个猜测错误的示例:

I watched Superman III. Then I went home. 
(在“超人III”之后的空格太小)

(在“等”之后有太多空格)

请注意,在LaTeX源代码中使用多少空白并不重要,因为LaTeX忽略了这一点。

我在这里找到了答案:。摘录:

当一个非句子结束句点后面跟一个空格时,空格必须是一个明确的空格。 因此,第二个例子应该是:

After brushing teeth etc.\ I went to bed.
当输入中的一个大写字母在一个句子结束句点之前时,就会出现这个问题的相反情况,如第一个示例所示。 在这种情况下,LaTeX假设句点终止缩写,并在其后加上单词间空格,而不是句子间空格。 修复方法是将“
\@
”放在句点之前。 所以第一个例子应该是

I watched Superman III\@. Then I went home.
查找此错误的简便方法是:

grep '[A-Z]\.' *.tex

如果您喜欢在句子末尾使用空格,可以避开空格问题:启用
\frenchspace
(对于旧版本的Latex,这是一个脆弱的命令)。Knuth沿用了传统的命名法,称之为法语间隔,尽管在句子之后称为双间隔,法语间隔已经成为出版业的主流


德克·马古利斯(Dirk Margulis)写了一篇很好的帖子,总结了单间距流行的一些原因:。

我喜欢德雷夫斯的答案,他建议的便捷搜索也很好。我没有Stackoverflow“rep”的评论点,但是

由于raw*.tex中的行往往很长,因此grep的输出可能是压倒性的(即整个段落);我建议使用一种变体,只显示以“[a-Z]”结尾的单词(后跟一个或多个空格,后跟一个新的大写单词)。是,


命令“\@”实际上是专门用于这个目的的——在一个非句子结束阶段之前。你也可以写
等等。\@我上床睡觉了。
如果你喜欢对称。@dreeves:根据反应和我的经验,
\@
被设计为在一个句子结束阶段之前,与你说的相反。Eep,是的,在我的回答中是正确的,但是我在上面的第一个评论里说的是倒退。也看到罗伯森写的地方:“你应该考虑<代码> \ @ /代码>一个“句子结束期”和“代码>。\@ < /代码>一个“缩写期”。
grep '[A-Z]\.' *.tex
grep -o -E '[A-Z]+\. +[A-Z]+[A-Za-z]+' *.tex