![MinionPro,包括数学,在 ConTeXt 中](https://linux22.com/image/281124/MinionPro%EF%BC%8C%E5%8C%85%E6%8B%AC%E6%95%B0%E5%AD%A6%EF%BC%8C%E5%9C%A8%20ConTeXt%20%E4%B8%AD.png)
这个问题相当简单,但答案可能比较复杂。我正尝试迁移到 ConTeXt,因为我想要一个用 LaTeX 不容易实现的布局(网格……)。在 LaTeX 中,经过一些巫术和大量拉扯之后,MinionPro 运行良好,包括数学运算。从那以后我就没碰过它了。现在,如何让这些东西在 ConTeXt 中也能工作?我从正文字体开始,这是最简单的部分。我不知道在哪里可以找到数学字体,也不知道如何将我有的 TeX 内容移植/翻译成 ConTeXt 可以理解的内容。我从哪里开始?
编辑:澄清一下,我目前拥有的是
\starttypescript [serif] [minionpro]
\definefontsynonym [Serif] [name:minionproregular] [features=default]
\stoptypescript
\starttypescript [minionpro]
\definetypeface [minionpro] [rm] [serif] [minionpro] [default]
\definetypeface [minionpro] [mm] [math] [minionpro] [default]
\stoptypescript
\usetypescript [minionpro]
\setupbodyfont [minionpro,10pt]
\starttext
Hi, this is text. A formula: $x + y = z$.
\stoptext
这显然是不够的信息,它有帮助地喊出了错误
error on line 14 in file tmp.tex: Math error: parameter \Umathquad\displaystyle is not set ...
答案1
要在 ConTeXt 中使用 Minion 字体:
确保你有字体。运行
mtxrun --script fonts --list --pattern="*minion*" --all
应该给你:
minionpro minionprobold MinionPro-Bold.otf minionprobold minionprobold MinionPro-Bold.otf minionproboldit minionproboldit MinionPro-BoldIt.otf minionprobolditalic minionproboldit MinionPro-BoldIt.otf minionproit minionproit MinionPro-It.otf minionproitalic minionproit MinionPro-It.otf minionpronormal minionproit MinionPro-It.otf minionproregular minionproregular MinionPro-Regular.otf
Minion 字体不附带数学字体。但是,对于简单的数学,您可以使用其他数学字体(例如 Pagella Math)中的符号,并使用 Minion 中的字母和数字。为此,您需要最新版本(2013.12.20 或更新版本)的 ConTeXt。然后使用以下测试文件:
\definefontfamily [mainface] [rm] [Minion Pro] \definefallbackfamily [mainface] [math] [Minion Pro] [math:lowercaseitalic] [force=yes] \definefallbackfamily [mainface] [math] [Minion Pro] [math:digitsnormal] [force=yes] \definefontfamily [mainface] [math] [TeX Gyre Pagella Math] \setupbodyfont[mainface] \starttext \input ward \startformula c^2 = a^2 + b^2 \stopformula \stoptext
这使: