Hyperref 干扰自定义宏

Hyperref 干扰自定义宏

考虑以下 MWE:

\documentclass{article}

\usepackage{amsmath}
\renewcommand{\d}{\text{d}}
\usepackage{hyperref}

\begin{document}

$\d x$

$\text{d} x$

\end{document}

如果hyperref在重新定义之后加载\d,则第一个表达式将呈现为一个垂直线x,下方有一个点,就像宏没有被重新定义一样。此外,我收到警告

LaTeX Warning: Command \d invalid in math mode on input line 12.

另一方面,如果我不加载hyperref或加载它的重新定义\d,一切都按预期进行。

为什么会发生这种情况?

答案1

我不是专家,也不完全了解错误的原因。您不能在hyperref包之后使用(并且可能重新定义)以下内容:

  • (反斜杠 + ` )
  • \^
  • \~
  • \"
  • \r
  • \v
  • \.
  • \c
  • \=
  • \b
  • \d

错误可能是因为这个,正如评论和其他答案所解释的那样,最好使用其他命令,或者你可以使用diffcoef包。例如参见这里此评论

相关内容