我在论文中经常使用首字母缩写“CE”,无论是在方程式中还是方程式外。我发现在方程式中使用时,字母间距太大,我不喜欢,所以我使用命令\!
来减少间距。当我手动执行此操作时,它似乎运行良好,但当我将其合并到命令中时,\newcommand
结果是如果命令后存在空格,我总是会丢失一个空格。
有办法阻止这种情况吗?如果我可以在方程环境中使用一个命令,那就更好了。
\documentclass{article}
\begin{document}
% Commands
\newcommand\CE{{C\!E}} % CE for equation environment
\newcommand\ce{$C\!E$} % CE for inline writing
\ce. \ce this is a line. % space lost after second \ce
$\CE$. $\CE$ this is a line. % Works fine but cumbersome
$C\!E$. $C\!E$ this is a line. % Works fine but would like this in a command
\end{document}
答案1
您有几个选择。除了 Zarko 的答案之外,宏通常应该跟在后面\
,它有一个特殊的字符类,告诉 TeX 停止读取更多字符(它正在尝试找出宏名称)。或者您可以将其括在一个组中,例如{\ce}
或甚至\ce{}
。
看 类别代码是什么?
不幸的是,空格 (cat 10) 虽然看起来很美观,但总会被 TeX 解析器吃掉。而{
(cat 1)、}
(cat 2)、$
(cat 3) 和\
(escape cat 0) 则不会。(字母字符是 cat 11)