答案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 中不可用)。