Como posso evitar espaços em branco após uma macro que recebe argumentos?

Como posso evitar espaços em branco após uma macro que recebe argumentos?

Tenho uma macro que (simplificada) é definida assim:

\newcommand{\mymacro}[1]{
     %use #1
     \par\noindent%
}

Eu gostaria de poder usá-lo como

\mymacro{Arg 1}
Beginning of paragraph

No entanto, meu arquivo PDF de saída tem um pouco de espaço horizontal antes de Bfazer isso.

Para me livrar disso, devo chamá-lo assim

\mymacro{Arg 1}Beginning of paragraph

o que não é o ideal.

Se eu mudar \mymacropara não aceitar nenhum argumento, o espaço também desaparecerá --- mas preciso ser capaz de aceitar argumentos.

Responder1

Use \par\noindent\ignorespacesna definição da macro.

\documentclass{article}

\newcommand{\mymacro}[1]{%
  use #1%
  \par\noindent\ignorespaces
}

\usepackage{lipsum}

\begin{document}

\mymacro{Arg 1}
Beginning of paragraph: \lipsum[1]

\end{document}

insira a descrição da imagem aqui

informação relacionada