ConTeXt 中与 LaTeX“\@” 对应的是什么?

ConTeXt 中与 LaTeX“\@” 对应的是什么?

在英文文本中,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

结果

相关内容