XeTeX + STIX2 错误:“声明的符号字体太多。”;“符号字体 Digits:m:n 未定义。”

XeTeX + STIX2 错误:“声明的符号字体太多。”;“符号字体 Digits:m:n 未定义。”

我最近一直在尝试排版,偶然发现了一个问题,其中有以下序言:

\documentclass[12pt,a4paper]{memoir}

\usepackage{stix2}
\usepackage{mathspec}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{fontspec}

\setmainfont[
Extension={.otf},
UprightFont={*-Regular},
BoldFont={*-Bold}, 
ItalicFont={*-Italic},
BoldItalicFont={*-BoldItalic}
]{StixTwoText}

\setmathfont(Latin,Greek){StixTwoText-Italic.otf}
\setmathfont(Digits){StixTwoText-Regular.otf} 
\setmathrm[BoldFont={StixTwoText-Bold.otf}]{StixTwoText-Regular.otf}

生成标题中写的错误。删除\setmathfont\setmathrmOR\usepackage{stix2}命令可以修复此问题,但会更改数学字体。

我是否可以以某种方式在数学模式下使用 STIX Two Text Italic 字体,同时仍保留 stix2 中定义的备用数学符号?

答案1

您应该使用unicode-math支持 STIX2 Math 的这个。

\documentclass[12pt,a4paper]{memoir}

\usepackage{fontspec}
\usepackage[math-style=ISO]{unicode-math}

\setmainfont[
  Extension=.otf,
  UprightFont=*-Regular,
  BoldFont=*-Bold, 
  ItalicFont=*-Italic,
  BoldItalicFont=*-BoldItalic,
]{STIXTwoText}

\setmathfont[
  Extension=.otf,
]{STIXTwoMath-Regular}

\begin{document}

$\alpha+x+\Gamma+\symrm{A}+\symbf{B}+123$

\end{document}

在此处输入图片描述

如果你删除该math-style=ISO选项,你会得到

在此处输入图片描述

请注意,STIX应全部大写;在不区分大小写的文件系统上Stix可能会找到该字体,但文档不可移植。

相关内容