TeX 中的空格与“\”

TeX 中的空格与“\”

在这本书的第 5 页TeXbook, 有

如果您的键盘没有左引号符号,您可以输入\lq,如果下一个字符是字母,则输入空格;\如果下一个字符是空格,则输入 。同样,\rq会产生右引号字符。这样清楚了吗?

\lq\lq I understand.\rq\rq\ (the last character is a space)

在此处输入图片描述

有两件事让我困惑:

  1. 为什么要在文本末尾添加空格?
  2. 和有什么区别\,即空间与\space

答案1

当将输入转换为代币(这是 TeX 真正处理的)TeX 将忽略控制字,即以反斜杠开头,后跟字母的控制序列,请参阅LaTeX 命令后的空格

如果你输入

\rq\rq (the last character is a space)

将有当您查看打印输出时,结束双引号和括号之间的空格。

你可以用两种方法解决这个问题

\rq\rq\ (the last character is a space)
\rq\rq{} (the last character is a space)

它们各有利弊。看看

Donald said \lq\lq Good-bye.\rq\rq\ After that he left.

Donald said \lq\lq Good-bye.\rq\rq{} After that he left.

在此处输入图片描述

看到发生了什么吗?在第一种情况下,句号不被视为句子结尾,而这是应该的。这是因为\(反斜杠空格)除了插入空格外,还将空间因子重置为 1000。在第二种情况下,这种情况不会发生,因为它{}不影响空间因子。

当然输入

Donald said ``Good-bye.'' After that he left.

没有受到该问题的影响。

显式空间(在标记化后仍然存在)和 之间有什么区别\space?后者是扩展到显式空间的宏。所以你可以这样做

Donald said \lq\lq Good-bye.\rq\rq\space After that he left.

您将获得与 相同的结果{}

笔记。链接帖子中关于命令后的空格的答案建议\xspace:不要使用它(此外,它在纯 TeX 中不可用)。

相关内容