\prime 在 xelatex 中使用 unicode-math 时给出“未定义的控制序列”

\prime 在 xelatex 中使用 unicode-math 时给出“未定义的控制序列”

我似乎无法在任何自定义字体中创建撇号 (')。例如,

\documentclass{article}
\usepackage{unicode-math, polyglossia}
\setmainfont{Times New Roman}
\setmathfont[range=\mathit/{latin,Latin}]{timesi.ttf}
\begin{document}
  Hello, I want A-prime: 
  $$A^\prime.$$
\end{document}

给出"Undefined control sequence [ $$A^\prime]"错误。我试过了A',,,,A\primeA^\prime不起作用。如果没有 \setmathfont 命令,xelatex 可以正常工作,以标准 CM 字体输出预期的 A'。我发现这个:使用 Unicode-math(LuaTeX 后端)输入素数的正确方法是什么从 3 年前开始,但他们关心的是 prime 的正确位置,而对于我的例子,xelatex 甚至不会识别这样的命令存在。我肯定会感谢任何指示。

答案1

似乎出现了错误unicode-math

解决方法如下:从数学字体中加载素数加载字体。顺便说一句,必须\setmathfont在调用其他字体后调用原始字体,以设置正确的“fontdimens”。

\documentclass{scrartcl}
\usepackage{unicode-math,polyglossia}
\setmainfont{Gentium}
\setmathfont[range=\mathit/{latin,Latin}]{Gentium Italic}
\setmathfont[range={"2032}]{TeX Gyre Pagella Math}
\setmathfont[range={\int}]{Latin Modern Math}
\begin{document}
Hello, I want A-prime: \[ A^\prime \textrm{ or } x' \]
\end{document}

在此处输入图片描述

我使用了 TeX Gyre Pagella Math,因为它在我的例子中看起来更好,使用拉丁现代数学你只需要

\setmathfont[range=\mathit/{latin,Latin}]{Gentium Italic}
\setmathfont[range={"2032}]{Latin Modern Math}

相关内容