Minion Pro、XeLaTeX 和 mathspec 入门

Minion Pro、XeLaTeX 和 mathspec 入门

我刚刚开始使用 Minion Promathspec进行工作,现在我的序言中有以下内容:

\usepackage[MnSymbol]{mathspec}
\usepackage{xltxtra}
\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont[Numbers=OldStyle]{Minion Pro}
\setallsansfonts[Numbers={OldStyle,Proportional},Scale=MatchLowercase]{Myriad Pro}
\setallmonofonts[Numbers=OldStyle,Scale=MatchLowercase]{Ubuntu Mono}
\setmathsfont(Digits,Latin)[Scale=MatchLowercase]{Minion Pro}
\setmathsfont(Greek)[Scale=MatchLowercase]{Minion Pro}
\setmathrm{Minion Pro}
\exchangeforms{phi}

现在我有几个问题:

  1. 您可以使用什么字体,,,mathbb...我的意思是我甚至不知道我必须在这里选择什么。mathcalmathfrak

  2. 每当我有数学或文本粗体时,我都希望使用 Myriad Pro Bold。我该怎么做?

  3. 我一直在尝试这些mathspec命令,但经常收到“字体过多”的错误。如何跟踪我定义了多少字体?

  4. 另外,我的单声道字体不起作用。换句话说,mathtt它只出现mathrm在我的文本中。

答案1

使用unicode-math

\usepackage{amsmath} % always load before mathspec or unicode-math
\usepackage[math-style=ISO]{unicode-math} % try sans-style=upright
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont[Numbers={OldStyle,Proportional},SmallCapsFeatures={LetterSpace=6},%
             BoldFont={Myriad Pro Bold},BoldFeatures={LetterSpace=3}]{Minion Pro}
\setsansfont[Numbers={OldStyle,Proportional},LetterSpace=3]{Myriad Pro}
\setmonofont{Crystal}
\setmathfont{xits-math.otf}
\setmathfont[range=\mathup/{num,latin,Latin,greek,Greek}]{Minion Pro}
\setmathfont[range=\mathsf/{num,latin,Latin,greek,Greek}]{Myriad Pro}
\setmathfont[range=\mathbfsf/{num,latin,Latin,greek,Greek}]{Myriad Pro Bold}
\setmathfont[range=\mathit/{num,latin,Latin,greek,Greek}]%
            {Minion Pro Italic}
\setmathfont[range=\mathsfit/{num,latin,Latin,greek,Greek}]%
            {Myriad Pro Italic}
\setmathfont[range=\mathbfsfit/{num,latin,Latin,greek,Greek}]%
            {Myriad Pro Bold Italic}
\setmathfont[range=\mathtt->\mathup]{Crystal}
\let\mathbf\mathbfsf
\let\mathbfit\mathbfsfit
\AtBeginDocument{\let\phi\varphi}

(NBunicode-math载荷fontspecxltxtraxunicode

  1. mathbbmathscr等都有合理的默认值。如果您想要,比如说,带衬线的mathbb,您可以添加\setmathfont[range=\mathbb/{Latin}->\mathup,Scale=MatchUppercase]{Hoefler Text Engraved}。该/{Latin}部分仅适用于大写拉丁字母。
  2. 使用BoldFontBoldFeaturesfontspec对于unicode-math,我只是使用了\let命令,尽管我知道可能有更优雅的方法来做到这一点。
  3. 删除MnSymbol会释放大量数学字母,并unicode-math增加限制。
  4. 显然 Ubuntu Mono 是有漏洞;我无法使用它,所以我用 Crystal 测试了一下。而且它可以用。

编辑:要使用 Minion 获得更多符号,你可以将这\mathup一行替换为:

\setmathfont[range={\mathup/{num,latin,Latin,greek,Greek},\question,\exclam,\mathdollar,%
    \percent,\ampersand,\lparen,\rparen,\plus,\comma,\period,\mathslash,\mathcolon,%
    \semicolon,\less,\equal,\greater,\backslash,\rbrack,\lbrack,\atsign,\vert,\lbrace,%
    \rbrace,\times,\div}]{Minion Pro}

相关内容