Ich habe Makros definiert, \+
um \-
Notation bequem eingeben zu können. Überraschenderweise ist mir aufgefallen, dass Beschriftungen in Tabellen und Abbildungen \-
während der Arbeit nicht funktionieren \+
. (Dasselbe Problem tritt auch im Inhalt von Abbildungen auf, wenn diese mit TikZ erstellt wurden.) Gibt es eine Erklärung für dieses seltsame Verhalten? Vielleicht hängt das damit zusammen, dass \-
normalerweise für die Silbentrennung verwendet wird. Aber warum sollte das wichtig sein, nachdem ich es neu definiert habe?
Hier ist ein minimales funktionierendes Beispiel:
\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}
Antwort1
Das Makro \caption
wird ausgeführt \@parboxrestore
, das wiederum führt aus
\let\-\@dischyph
was bedeutet, dass in einer Überschrift \-
wieder seine ursprüngliche LaTeX-Bedeutung erhält \discretionary{-}{}{}
. Wenn Sie in der .aux
Datei nachsehen, sehen Sie
Why does $\discretionary {-}{}{}$ not work in a caption while $\boxplus $ works?
Es ist grundsätzlich keine gute Idee, solch wichtige Befehle neu zu definieren.