연습 및 유니코드 수학 패키지의 비호환성을 어떻게 해결합니까?

연습 및 유니코드 수학 패키지의 비호환성을 어떻게 해결합니까?

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}

여기에 이미지 설명을 입력하세요

관련 정보