我想在两种字体之间来回切换。但我希望这两种字体既影响普通文本,也影响数学模式中的数字和字母。类似这样的方法应该可以正常工作...
\documentclass{minimal}
\usepackage{unicode-math}
\newenvironment{example}{\setmathfont{Arial}\setmainfont{Arial}}{}
\newenvironment{exampletwo}{\setmathfont{Bradley Hand ITC}\setmainfont{Bradley Hand ITC}}{}
\begin{document}
\begin{example} Prove the 33 is a factor of $2^{55}+1$ \end{example}\\
\begin{exampletwo}
First note 33 that $2^{55}+1 &=(2^5)^{11}+1$
\end{exampletwo}
\item
\end{document}
当我尝试使用类似 的东西时,问题就出现了\cdots
,因为我使用的字体没有完整的数学支持。我通过使用 mathspec 和类似的东西解决了这个问题
\setmathfont(Digits,Latin){Bradley Hand ITC}
所以所有符号都保留为默认字体。但我无法让\setmathfont
该mathspec
包在命令中工作\newenvironment
。
非常感谢您的帮助。
非常感谢
答案1
您想在序言中做字体声明,然后在环境中切换数学版本。
\documentclass{article}
\usepackage{fontspec,unicode-math}
\setmainfont{Arial}
\DeclareMathVersion{bhitc}
\setmathfont[version=normal]{Arial}
\setmathfont[version=bhitc]{Bradley Hand ITC}
\newenvironment{example}{\mathversion{normal}}{}
\newenvironment{exampletwo}{\mathversion{bhitc}}{}
\begin{document}
\begin{example} Prove the 33 is a factor of $2^{55}+1$ \end{example}\\
\begin{exampletwo}
First note 33 that $2^{55}+1 =(2^5)^{11}+1$
\end{exampletwo}
\end{document}