Hyperref stört das benutzerdefinierte Makro

Aug 21 2020

Betrachten Sie die folgende MWE:

\documentclass{article}

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

\begin{document}

$\d x$

$\text{d} x$

\end{document}

Wenn hyperrefnach der Neudefinition von geladen wird \d, wird der erste Ausdruck als aufrecht xmit einem Punkt darunter gerendert , als wäre das Makro nicht neu definiert worden. Zusätzlich bekomme ich die Warnung

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

Wenn ich hyperrefes jedoch vor der Neudefinition von nicht lade oder lade \d, funktioniert alles wie erwartet.

Warum passiert das?

Antworten

2 Noname Aug 21 2020 at 19:54

Ich bin kein Experte und kenne den Grund des Fehlers nicht vollständig. Sie dürfen die folgenden Elemente des hyperrefPakets nicht verwenden (und wahrscheinlich neu definieren) :

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

und der Fehler liegt möglicherweise daran, dass es, wie in Kommentaren und anderen Antworten erläutert, besser ist, einen anderen Befehl zu verwenden, oder Sie können diffcoefstattdessen ein Paket verwenden. Siehe zum Beispiel hier und diesen Kommentar .