Hyperref รบกวนมาโครที่กำหนดเอง
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แพ็คเกจแทนได้ ดูตัวอย่างที่นี่และความคิดเห็นนี้