我正在使用几个特殊字符命令,例如在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
这些情况都是可能的,而且含义都不相关。