ConTeXT 中每个特殊字符输入命令后面是否都应放置空格?

ConTeXT 中每个特殊字符输入命令后面是否都应放置空格?

我正在使用几个特殊字符命令,例如在ConTeXt 中哪些符号需要转义?。我注意到,\textdollar如果某些词后面紧跟着其他词,则这些词不起作用,例如:

\textbraceleftThis is some text.\textbraceright

为了解决这个问题,我在命令后添加了一些空格:

\textbraceleft This is some text.\textbraceright
  • 总是在这些命令后放置空格是否正确?在某些情况下这样做是否会产生问题,例如当两个项目应该放在一起时会出现换行符?
  • \#和 的待遇有\&区别吗?

答案1

这与的含义无关\textbraceleft,因为这是一条适用于的规则全部宏(或更一般地,控制序列)。

TeX 控制字扫描以第一个非字母结束。您给出的第一个示例是\textbraceleftThis可能未定义的控制字。

另一方面\#不是控制字,因为反斜杠后面跟着一个非字母。根据规则,它是一个控制符号,扫描就此结束:只有一个非字母可以成为命令名称的一部分。因此

\#text

会给

#测试

尽管

\# text

会给

# 测试

中间有一个空格。

控件后的空格单词被忽略。控制符号后不可以。这是学习 TeX 的第一条规则之一。

如果没有这条规则,就不可能有宏

\a \ab \abc \abcd \abcde

这些情况都是可能的,而且含义都不相关。

相关内容