Как исправить несовместимость пакетов exercise и unicode-math?

Как исправить несовместимость пакетов exercise и unicode-math?

Я хотел использовать пакет упражнений в документе 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}

введите описание изображения здесь

Связанный контент