缩写后的句号与句子结尾的句号相同吗?

缩写后的句号与句子结尾的句号相同吗?

latex 对句号有什么特殊处理吗?如果是这样,有没有办法区分句末句号和表示缩写的句号?

答案1

存在句末空格与词间空格的问题。默认情况下,第一个空格较大。

\documentclass{article}
\begin{document}
\noindent
e.g. this and that\\
e.g.\ this and that
\end{document}

在第一行中,第二个句号后的空格排版方式类似于句子末尾的空格。在第二行中,第二个句号后的空格排版方式类似于正常的单词间空格:

间距示例 (200%)

您可以设置\frenchspacing句子末尾的间距与正常的单词间间距没有区别。

句号前\@的 用来设置句子结尾的间距。如果句子以一个大写字母的单词结尾,则需要这样做。

答案2

是的,使用\@。以下内容改编自我的博客

大致来说,其目的\@是指示标点符号是否结束一个句子。为什么要这样做?默认情况下,Plain TeX 和 LaTeX 都具有一个功能,即允许在句子后留出一点额外的空格(无论是句号还是其他标点符号),以帮助将段落分成几行。如果您需要在这一行中留出一点额外的空格,最好将其集中在句号后,而不是在所有单词之间添加额外的空格。

这种排版方法在 19 世纪和 20 世纪初期非常常见(通常夸张到极致),但我认为现在不太常见了。如果您不喜欢它,请\frenchspacing在序言中写上,然后您就可以忘记它是否\@是必需的。但是,在为其他来源(例如期刊)编写 LaTeX 文档时,遵循他们的风格并包含这些细节是礼貌的做法。

一个使用示例\@是在诸如“ Prof.\@ Crumb”之类的缩写之后。如果没有\@,则“Prof.”后面的空格将被错误地放大——这是 (La)TeX 文档中常见的印刷错误。另一种方法(通常是首选)是写Prof.\ Crumb,这更容易记住和输入。

相反,\@也可以用来表示标点符号应该结束一个句子。默认情况下,大写字母后的标点符号不被视为结束一个句子(因此您可以写 ' M. C. Escher' 而不加\@)。但是,如果您碰巧在句子末尾用姓名首字母来指代某人,则需要写成,例如,

… `So he did', said M\@.  (New sentence) …

确保额外的空间曾是包括在最后一个句号之后。

我还应该提到,我经常不使用\@标点符号,而倾向于输入明确的空格控制序列;也就是说,我更喜欢写Prof.\ Crumb。这样输入起来更短,也许更容易记住。

有一些重要的边缘情况需要考虑。其他标点符号对于表示句子结束的标记来说是“不可见的”;考虑:

depending on the context of `a' and `b' (etc.) where …

空格因子(即控制何时何地出现额外空格的参数)不会通过括号“重置”,而是需要书写(etc.\@)。以下是另一个示例:

… `Et cetera et cetera etc.' said the King …

'这里,由于句点的存在,右引号(或)后面会有''错误添加的多余空格;右括号]对于空间因素来说也是“不可见的”。

在上面的例子中,您不希望在 后有额外的空格(etc.),但如果整个句子都括在括号中,您可以:

I like eggs and bacon. (Poached and crispy.) Best with coffee.

因此,编写 TeX 源代码时应小心谨慎。如果您知道句号永远不会结束一个句子,最好的办法是定义一个宏来插入所有内容,而您无需记住它;例如,

\makeatletter
\newcommand\etc{etc\@ifnextchar.{}{.\@}}
\makeatother

您应该在其中写上“ (\etc)”或“ …, \etc, …”,但是如果您想用它来结束一个句子,则应该明确地加上句号:

… \etc. (New sentence) …

相关内容