你好!

你好!

你好!

我正在尝试使用 LuaLaTeX 中的 Arno Pro 排版数学运算。但是,我还没有找到合适的解决方案。由于 Arno Pro 没有正确数学排版所需的所有符号,因此需要某种解决方法。

下面是我在尝试回答这个问题时尝试过的两种方法。

解决方案 1 ·mathastext

\documentclass{article}
\usepackage{blindtext}
\usepackage[no-math]{fontspec}
\setmainfont{Arno Pro}
\usepackage[italic]{mathastext}

\begin{document}
\blindmathpaper
\end{document}

编译此 MWE 发现mathastext不使用 Arno Pro 的希腊字形。尽管mathastext的文档有一个名为的选项部分LGRgreek,由于处理希腊语的方式,此选项不产生任何效果fontspec

解决方案 2 ·unicode-math

我不会重复我在这里尝试过的方法,但我尝试的方法是基于这个臭名昭著的答案。这存在相当多的问题,并且正如回答者恰如其分地指出的那样,会“浪费你的时间!”

我遇到的一些问题是:

  • 不尊重Numbers={OldStyle,Proportional}(即只尊重最后一个{ ... }
  • 大量缺失字体功能错误(因为 Arno Pro 没有任何数学字符)

结论

最后,我真正想要的是一种使用任意字体进行一些非常基本的数学运算(只是一些基本的代数、算术,包括根和分数等)的方法,这种字体可以很好地与fontspec字体中可能存在的任何希腊字形(即比例文本图形和其他 OpenType 功能在数学模式下都得到尊重)和希腊字形集成在一起。仔细想想,这听起来与mathspec提供的非常相似……这mathspec在 LuaLaTeX 中不可用,真是太遗憾了。如果有人知道实现我的目标的方法,我将不胜感激。

谢谢!

答案1

我没有 Arno Pro,因此我使用免费的 Crimson。

\documentclass{article}
\usepackage{blindtext}
\usepackage{unicode-math}
\setmainfont{Crimson}

% Set baseline math font (Crimson goes well with Pagella)
\setmathfont{TeX Gyre Pagella Math}
% Get alphabets from text font
\setmathfont[range={up}]{Crimson-Roman.otf}
\setmathfont[range={it}]{Crimson-Italic.otf}
\setmathfont[range={bfup}]{Crimson-Bold.otf}
\setmathfont[range={bfit}]{Crimson-BoldItalic.otf}
% Restore the broken symbols (if there are none, just use range={})
\setmathfont[range={\partial}]{TeX Gyre Pagella Math}

\begin{document}
\blindmathpaper
\end{document}

在此处输入图片描述


您还可以mathspec在 LuaTeX 中使用XeTeXemulate下载链接文件XeTeXemulate.sty并将其放在与您的文档相同的目录中。

\documentclass{article}
\usepackage{blindtext}
\usepackage{XeTeXemulate}
\XeTeXemulate
\usepackage{mathspec}
\setallmainfonts{Crimson}

\begin{document}
\blindmathpaper
\end{document}

在此处输入图片描述

相关内容