
Когда я определяю \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}
Это производит:
АБВ
АБВ
решение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
}