Eu defini \+
macros \-
para inserir notações de maneira conveniente. Surpreendentemente, notei que nas legendas de tabelas e figuras \-
não funciona enquanto \+
funciona. (O mesmo problema aparece também no conteúdo das figuras se forem feitas com TikZ.) Existe alguma explicação para este comportamento estranho? Talvez isso esteja relacionado ao fato de \-
normalmente ser usado para hifenização. Mas por que isso deveria importar depois que eu o redefinisse?
Aqui está um exemplo mínimo de trabalho:
\documentclass{article}
\usepackage{amssymb}
\newcommand{\+}{\boxplus}
\renewcommand{\-}{\boxminus}
\begin{document}
Plus $\+$ and minus $\-$ work here.
\begin{figure}
\caption{Why does $\-$ not work in a caption while $\+$ works?}
\end{figure}
\begin{table}
\caption{Why does $\-$ not work in a caption while $\+$ works?}
\end{table}
\end{document}
Responder1
A macro \caption
é executada \@parboxrestore
, que por sua vez executa
\let\-\@dischyph
o que significa que, em uma legenda, \-
obtém novamente o significado original do LaTeX de \discretionary{-}{}{}
. Na verdade, se você olhar no .aux
arquivo, verá
Why does $\discretionary {-}{}{}$ not work in a caption while $\boxplus $ works?
Geralmente é uma má ideia redefinir comandos tão importantes.