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