Я хотел использовать пакет упражнений в документе LaTeX, который обрабатывается с помощью LuaLaTeX. В этом случае я столкнулся с проблемой, что нумерация и форматирование вопросов работают некорректно.
Как мне использовать оба пакета, т.е. как мне отладить и исправить такую несовместимость?
Я свел эту проблему к следующему МВЭ:
\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
Пакет 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}