LaTeX试图猜测句点是否结束一个句子,在这种情况下它会在它之后放置额外的空格.以下是猜测错误的两个例子:
I watched Superman III. Then I went home.
Run Code Online (Sandbox Code Playgroud)
("超人III"之后的空间太小.)
After brushing teeth etc. I went to bed.
Run Code Online (Sandbox Code Playgroud)
("等"之后的空间太大.)
请注意,由于LaTeX忽略了这一点,因此在LaTeX源中使用了多少空白并不重要.
dre*_*ves 78
我在这里找到答案:http: //john.regehr.org/latex/.摘抄:
当一个非句子结束时期后面跟一个空格时,该空格必须是一个明确的空白.所以第二个例子应该是:
After brushing teeth etc.\ I went to bed.
Run Code Online (Sandbox Code Playgroud)
当大写字母在输入中的句子结束时段之前时,就会出现此问题的相反情况,如第一个示例中所示.在这种情况下,LaTeX假设句点终止一个缩写,并用词间空间而不是句子间空格跟随它.修复是\@在句号之前加上" ".所以第一个例子应该是
I watched Superman III\@. Then I went home.
Run Code Online (Sandbox Code Playgroud)
找到此错误的便捷方法是:
grep '[A-Z]\.' *.tex
Run Code Online (Sandbox Code Playgroud)
我喜欢dreeves的回答以及他建议的方便搜索.我没有Stackoverflow"rep"点来评论,但......
由于原始*.tex中的行往往很长,因此grep的输出可能是压倒性的(即整个段落); 我建议一个变体只显示以'[AZ]结尾的单词.(后跟一个或多个空格,后跟一个新的大写单词).它是,
grep -o -E '[A-Z]+\. +[A-Z]+[A-Za-z]+' *.tex
Run Code Online (Sandbox Code Playgroud)