Faça a macro obedecer ao espaçamento ou à falta dele

Faça a macro obedecer ao espaçamento ou à falta dele

Eu fiz esta macro simples:

\documentclass{ltxdoc}
\newcommand\Q{\textbf{Q}}

\begin{document}
I like to type my \Q's in bold quickly, but sometimes I also end my line with \Q. 
This doesn't have it's intended effect.
\end{document}

É possível dizer à macro para verificar o espaço (ou caractere) à frente e obedecê-lo como se eu tivesse digitado \textbf{Q}normalmente? Gostaria que ele se comportasse normalmente, independentemente de haver um ponto (.) ou um espaço em branco ( ) à frente.

Responder1

Mesmo pensando que isso se tornou um tabu ultimamente, o xspacepacakge faz isso:

insira a descrição da imagem aqui

Código:

\documentclass{ltxdoc}
\usepackage{xspace}
\newcommand\Q{\textbf{Q}\xspace}

\begin{document}
I like to type my \Q's in bold quickly, but sometimes I also end my line with \Q. 
This doesn't have it's intended effect.

In a sentence \Q works now.
\end{document}

informação relacionada