Hyperref can thiệp vào macro tùy chỉnh

Aug 21 2020

Hãy xem xét MWE sau:

\documentclass{article}

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

\begin{document}

$\d x$

$\text{d} x$

\end{document}

Nếu hyperrefđược tải sau khi định nghĩa lại \d, thì biểu thức đầu tiên được hiển thị dưới dạng thẳng hàng xvới dấu chấm bên dưới, giống như thể macro chưa được xác định lại. Ngoài ra, tôi nhận được cảnh báo

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

Mặt khác, nếu tôi không tải hyperrefhoặc tải nó trước khi xác định lại \d, mọi thứ hoạt động như mong đợi.

Lý do tại sao điều này xảy ra?

Trả lời

2 Noname Aug 21 2020 at 19:54

Tôi không phải là chuyên gia và tôi hoàn toàn không biết lý do lỗi. Bạn không được phép sử dụng (và có thể xác định lại) những thứ sau sau hyperrefgói:

  • (dấu gạch chéo ngược + `)
  • \^
  • \~
  • \"
  • \r
  • \v
  • \.
  • \c
  • \=
  • \b
  • \d

và lỗi là do điều này có thể, như đã giải thích trong các nhận xét và câu trả lời khác, tốt hơn là sử dụng lệnh khác hoặc bạn có thể sử dụng diffcoefgói thay thế. Xem ví dụ ở đây và bình luận này .