在多行上定义的 newcommand 会产生额外的空白

在多行上定义的 newcommand 会产生额外的空白

当我定义\newcommand多行时,输出中会出现不需要的空白。

我该如何做才能写出一个长命令,但仍然使其可读,而不会产生多余的空格?

我当前的解决方案就是不换行地写下所有内容,但这不太可持续。

以下是此行为的 MWE:

\documentclass{memoir}
\begin{document}

\newcommand{\lraA}{B}

\newcommand{\lraB}{
%lots of latex logic
%so this command is on multiple lines
B
}

\ \\
A\lraA{}C\\
A\lraB{}C
\end{document}

得出的结果为:

ABC

ABC

答案1

新行被视为空格。因此,在您的代码中

\newcommand{\lraB}{     %  <--  you are putting a space here!
%lots of latex logic
%so this command is on multiple lines
B     %  <--  you are putting a space here!
}

如果您想避免出现虚假空格,您应该以注释字符结束行%

\newcommand{\lraB}{%  <--  HERE
%lots of latex logic
%so this command is on multiple lines
B%  <--  HERE
}

您可以在这里找到更多详细信息。

相关内容