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}
및 \setmathfont{...}
(이 필요함 )을 생략하면 unicode-math
예상한 대로 출력됩니다.
답변1
패키지 는 수학 기호, 정확하게 U+2047 DOUBLE QUESTION MARK, 즉 ⁇로 unicode-math
정의합니다 .\Question
\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}