我想在使用 LuaLaTeX 處理的 LaTeX 文件中使用練習包。在這種情況下,我遇到了問題的編號和格式無法正常工作的問題。
我如何使用這兩個包,即如何調試和修復這種不相容性?
我將這個問題簡化為 MWE,如下所示:
\documentclass{book}
\usepackage{amsmath}
\usepackage[lastexercise,answerdelayed]{exercise}
\usepackage{polyglossia}
\setmainlanguage{english}
\usepackage{unicode-math}% Incompatible with exercise package
\usepackage{fontspec}% I want to select a different font
\setmainfont{Linux Libertine O}
\setmathfont{Tex Gyre Pagella Math}% this requires unicode-math
\begin{document}
\chapter{List of problems}
\begin{ExerciseList}
\Exercise Prove Bernoulli's inequality
\[
(1+x)^n \geq 1+nx, \text{ for } x\geq -1 \text{ and } n\geq 0.
\]
\Exercise Find out if the following equations are true.
\Question $(1 + 5)^2 \geq 11$
\Question $1 < 5$
\Question $1 > 5$
\end{ExerciseList}
\end{document}
使用lualatex
(或xelatex
- 兩者都使用該-8bit
選項)處理此問題會產生一個問題編號不正確的文件。
省略\usepackage{unicode-math}
和 the \setmathfont{...}
(需要unicode-math
),則輸出如預期。
答案1
該unicode-math
包定義\Question
為一個數學符號,準確地說是 U+2047 雙問號,即 ⁇。
\documentclass{book}
\usepackage{amsmath}
\usepackage[lastexercise,answerdelayed]{exercise}
\usepackage{polyglossia}
\usepackage{unicode-math}
\setmainlanguage{english}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}% this requires unicode-math
\let\exerciseQuestion\Question
\AtBeginDocument{%
\let\mathQuestion\Question
\let\Question\exerciseQuestion
}
\begin{document}
\chapter{List of problems}
\begin{ExerciseList}
\Exercise Prove Bernoulli's inequality
\[
(1+x)^n \geq 1+nx, \text{ for } x\geq -1 \text{ and } n\geq 0.
\]
\Exercise Find out if the following equations are true.
\Question $(1 + 5)^2 \geq 11$
\Question $1 < 5$
\Question $1 > 5$
\end{ExerciseList}
\end{document}