我似乎无法在任何自定义字体中创建撇号 (')。例如,
\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\prime
都A^\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}