%20causa%20erro%20%22incomplete%20%5Ciffalse%22.png)
Eu gostaria de usar o comando espaçamento \xspace dentro do comando para matemática em negrito: \bm do pacote bm. Mas recebo um erro "Incomplete \iffalse", como no exemplo abaixo.
\documentclass{article}
\usepackage{xspace}
\usepackage{bm}
\begin{document}
$\bm{x^2 \xspace}$
\end{document}
A razão pela qual preciso de \xspace dentro do modo matemático é que uso para definir comandos que funcionam bem quando chamados dentro e fora do modo matemático. A razão é que, ao escrever frases de texto, tenho preguiça de mudar de e para o modo matemático toda vez que falo sobre um conceito. Aqui está um exemplo (desanimado pela resposta do Sr. Carlisle):
\usepackage{xspace}
\newcommand{\adva}{\ensuremath{\mathrm{Adv}^A}\xspace}
\begin{document}
Denote \adva the advantage of adversary A in the game.
We have: $\adva<\epsilon$.
\end{document}
Responder1
Eu evitaria \xspace
em geral (apesar de ter escrito) e certamente garantiria que nunca aparecesse no modo matemático. Geralmente é um estilo ruim para usar \ensuremath
em comandos de nível de documento, o TeX foi projetado para ter uma distinção clara entre matemática e texto, o fato de que \sin
fazer sin
matemática e um erro no texto é um recurso e não um problema.
Se você realmente precisa, você poderia fazer
\newcommand{\xtwo}{%
\ensuremath{x^2}%
\ifmmode\else\expandafter\xspace\fi
}
mas eu não faria isso.