当我定义\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
}