我重新定义了 \- 但它在标题中不起作用

我重新定义了 \- 但它在标题中不起作用

我定义了\+\-宏以便于输入符号。令人惊讶的是,我注意到表格和图形中的标题\-不起作用,而\+起作用。(如果图形是用 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?

重新定义这些重要的命令通常不是一个好主意。

相关内容