我重新定義了 \- 但它在標題中不起作用

我重新定義了 \- 但它在標題中不起作用

我定義了\+\-宏以方便輸入符號。令人驚訝的是,我注意到表格和圖形標題在工作\-時不起作用\+。 (如果用 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?

重新定義如此重要的命令通常不是一個好主意。

相關內容