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}

Это производит:

АБВ

АБВ

решение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
}

Более подробную информацию можно найти здесь.

Связанный контент