カスタムマクロに干渉するハイパーリファレンス

Aug 21 2020

次の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

なぜこれが起こるのですか?

回答

2 Noname Aug 21 2020 at 19:54

私は専門家ではなく、エラーの理由を完全には知りません。hyperrefパッケージの後に次のものを使用する(そしておそらく再定義する)ことは許可されていません:

  • (バックスラッシュ+ `)
  • \^
  • \~
  • \"
  • \r
  • \v
  • \.
  • \c
  • \=
  • \b
  • \d

コメントや他の回答で説明されているように、エラーはおそらくこれが原因ですdiffcoef。他のコマンドを使用するか、代わりにパッケージを使用することをお勧めします。たとえば、こことこのコメントを参照してください。