在英文文本中,TeX 默认在句号后添加额外的空格,我喜欢这个惯例。但是,在缩写的情况下,这会导致问题。要隐藏额外的空格,可以使用\
或~
,这对于小写缩写(例如“eg”)很有用
不幸的是,对于大写缩写,TeX 习惯性地认为句号是缩写的一部分,因此使用较窄的空格。您可以通过宏在 LaTeX 中强制使用较宽的空格\@.
:
\documentclass{article}
\begin{document}
Wrong: \\
First. An abbreviation, e.g. PC. Second. \\
First. An abbreviation, e.g.\ PC\@. Second. \\
:Right
\end{document}
在 ConTeXt 中,这会导致错误——\@.
宏未定义。
\starttext
Wrong: \\
First. An abbreviation, e.g. PC. Second. \\
First. An abbreviation, e.g.\ PC\@. Second. \\ % Error here.
:Right
\stoptext
那么,有没有\@.
与 ConTeXt 相当的东西?
答案1
我不知道 ConTeXt 是否有 的等效项\@
。但它很容易构建,因为它只需使用\spacefactor
。
\define\fullstop
{\spacefactor\plusthousand}
\starttext
An abbreviation, e.g. PC. Second. \\
An abbreviation, e.g. PC\fullstop. Second. \\
An abbreviation, e.g.\ PC.\ Second. \\
An abbreviation, e.g. PC.\ Second. \\
\stoptext