以下是代码:
\documentclass{article}
\usepackage[vmargin=1in]{geometry}
\usepackage{xfrac,fontspec,unicode-math}
\setmathfont[version=lm]{Latin Modern Math}
\setmathfont[version=cambria]{Cambria Math}
\usepackage{xgreek}
\usepackage{exsheets}
\begin{document}
\setmainfont{Latin Modern Roman}
\mathversion{lm}
\section*{Latin Modern}
There follows a question
\begin{question}
This is the first question
\end{question}\\
\begin{question}[name=Problem]
This is the second question
\end{question}
\setmainfont{Cambria}
\mathversion{cambria}
\section*{Cambria, Cambria Math}
There follows a question
\begin{question}
This is the first question
\end{question}\\
\begin{question}[name=Problem]
This is the second question
\end{question}
\end{document}
输出为
有人有解决方案吗?
*如果 unicode-math 不在序言中,Exsheets 可以与 xelatex 很好地配合使用
答案1
这是一个已知问题unicode-math-table.tex
。加载的文件unicode-math
包含以下行:
\UnicodeMathSymbol{"0003F}{\question}{\mathord}{question mark}%
这意味着在开始时,文档\question
被定义或重新定义(这据称unicode-math
会\AtBeginDocument{\um_define_math_chars:}
启动定义......)文件
\documentclass{article}
\usepackage{unicode-math}
\show\question
\begin{document}
\show\question
\end{document}
在日志中生成
> \question=undefined.
l.3 \show\question
和
> \question=the character ?.
l.5 \show\question
并且该字符?
正是您使用exsheets
'时所看到的\begin{question}
。 (请记住,\begin{foo}
除其他事项外,还调用命令\foo
。)
对此有两种解决方案:
在开始文档时重新定义
\question
,添加\AtBeginDocument{\RenewQuSolPair{question}{solution}}
加载
unicode-math
和之后exsheets
。您将unicode-math
丢失\question
。通过定义一个新的练习环境来使用另一个练习环境,例如,
\NewQuSolPair{exercise}{answer}
以下是第一个版本的示例:
\documentclass{article}
\usepackage{unicode-math}
\usepackage{exsheets}
\AtBeginDocument{\RenewQuSolPair{question}{solution}}
\begin{document}
\begin{question}
This is a question.
\end{question}
\begin{solution}[print]
This is a solution.
\end{solution}
\end{document}
以下是第二种可能性的示例:
\documentclass{article}
\usepackage{unicode-math}
\usepackage{exsheets}
\NewQuSolPair{exercise}{answer}
\begin{document}
\begin{exercise}
This is a question.
\end{exercise}
\begin{answer}[print]
This is a solution.
\end{answer}
\end{document}
两者都给予