2

当我分配一个新命令并在 \par 的开头调用它时,变量文本和下一个单词之间的空格丢失了。

\newcommand{\testcmd}{这是一个测试}

\par \testcmd foobar。

将呈现为:

这是一个测试foobar。

\par foo \testcmd 吧。

渲染为: foo 这是一个测试栏。

有人遇到过这个并有解决方案吗?

谢谢

4

2 回答 2

4

我不知道这里发生的确切事情,但有几种方法可以恢复该空间:

  1. \newcommand{\testcmd}{This is a test } % <- space before closing brace
  2. par \testcmd{} foobar % <- note {}
  3. 最冗长但也是最健壮的方式:

    \使用包{xspace}

    \newcommand{\testcmd}{这是一个测试\xspace}

于 2009-05-20T17:36:46.333 回答
1

实际上,一个更简单的答案是:

\newcommand{\testcmd}{This is a test}

\par \testcmd \ foobar.

注意 foobar (斜线和空格)之前的额外“\”。不需要额外的包裹。它与最常见的方法相同,例如:

Mr.\ Smith
etc.\ and
Proc.\ Amer.\ Math.\ Soc.
于 2009-05-26T22:34:37.070 回答