新命令后的空格丢失

新命令后的空格丢失

我在使用 latex 时发现了一些非常奇怪的事情newcommand。我包装了两段经常出现在我文章中的文本,它们是:

\newcommand{\etal}{et al.}
\newcommand{\stra}{$\mathcal{S}_A$}

其中第一个是缩写,另一个是符号。但是,当我使用这两个宏定义并输入以下内容时

Sentence 1: Liu \etal \cite{liu2019} did something.
Sentence 2: Liu \etal did somthing.
Sentence 3: Liu add \stra to this process.

结果是

第一句:刘等人[1]做了一些事情。

第二句:刘等人做了某事。

句子3:刘将$\mathcal{S}_A$添加到此过程中。

可以看出,最后两句命令后的空格消失了,但第一句的空格仍然存在。我想知道如何解决这个问题。

顺便说一句,在命令中放置额外的空格不是一个好习惯。

答案1

由字母组成的命令后面的空格将被忽略。这样您就可以键入例如\AE sopÆsop,因为将字母混合在一起会使 LaTeX 认为您正在输入命令\AEsop并给您一个未定义的控制序列错误。

举个例子,你需要\在命令末尾添加 ,让 LaTeX 知道你确实想要在那里留一个空格。所以你的句子应该是:

Sentence 1: Liu \etal\ \cite{liu2019} did something.
Sentence 2: Liu \etal\ did somthing.
Sentence 3: Liu add \stra\ to this process.

相关内容