为什么 chktex lint “命令以空格终止”?
应用于{}
该命令将禁用 lint,但对于所有命令来说这都很繁琐。
答案1
读取代码时,TeX 会吞噬控制字后面的空格。
比较
\LaTeX is great.
对比
\LaTeX{} is great.
在这种情况下,警告是有意义的。
我假设 TeX 是这样设计的,因为在 TeX 编程中如果能够插入空格就可以提高可读性。
请注意,仅在控制字后才会忽略空格,而不会在控制字符或活动字符后忽略空格。因此~␣
会插入两个空格,因此应避免使用。
控制字以一个字符开头猫码0(通常为\
),后面跟着任意数量(大于 0)的 catcode 11(字母)字符。例如:\LaTeX
控制字符以 catcode 0 的一个字符开头(通常\
)开头,后面跟着一个字符,该字符具有不是类别代码 11(字母)。例如:\␣
,\&
活动字符恰好是 catcode 13 的一个字符。例如:~
对于具有活动数学代码的字符(例如'
),这是无关紧要的,因为无论如何,在数学模式下空格总是被忽略。