\+
表記を入力するのに便利なマクロとマクロを定義しました\-
。驚いたことに、表と図のキャプションでは は機能する\-
のに対し は機能しない\+
ことに気付きました。(図が TikZ で作成されている場合、図の内容でも同じ問題が発生します。) この奇妙な動作には何か説明がありますか? おそらく、これは\-
通常ハイフネーションに使用される に関係しています。しかし、それを再定義した後でそれがなぜ問題になるのでしょうか?
以下に最小限の動作例を示します。
\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}
答え1
マクロが\caption
実行され\@parboxrestore
、次に実行される
\let\-\@dischyph
つまり、キャプションでは、 は\-
元のLaTeXの意味に戻ります\discretionary{-}{}{}
。実際、.aux
ファイルを見ると、
Why does $\discretionary {-}{}{}$ not work in a caption while $\boxplus $ works?
一般的に、このような重要なコマンドを再定義するのはお勧めできません。