\- を再定義しましたが、キャプションでは機能しません

\- を再定義しましたが、キャプションでは機能しません

\+表記を入力するのに便利なマクロとマクロを定義しました\-。驚いたことに、表と図のキャプションでは は機能する\-のに対し は機能しない\+ことに気付きました。(図が 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}

PDFのスクリーンショット

答え1

マクロが\caption実行され\@parboxrestore、次に実行される

\let\-\@dischyph

つまり、キャプションでは、 は\-元のLaTeXの意味に戻ります\discretionary{-}{}{}。実際、.auxファイルを見ると、

Why does $\discretionary {-}{}{}$ not work in a caption while $\boxplus $ works?

一般的に、このような重要なコマンドを再定義するのはお勧めできません。

関連情報