下面的代码
\documentclass{amsart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newpxtext,eulerpx}
\begin{document}
$\textsf{á\ â\ ã\ ä}\qquad\mathsf{\acute{a}\ \hat{a}\ \tilde{a}\ \ddot{a}}\qquad\mathsf{\Delta\ \Theta\ \Lambda\ \Xi}$
$\textrm{á\ â\ ã\ ä}\qquad\mathrm{\acute{a}\ \hat{a}\ \tilde{a}\ \ddot{a}}$
\end{document}
输出如下:
如您所见,罗马字体没有问题,不像无衬线字体(右侧的希腊字母只是为了比较而包含的)。这是eulerpx
软件包中的错误吗?这个问题可以通过附加代码(暂时)解决吗?
答案1
解决方法
\documentclass[varwidth=10cm]{standalone} % Replace this!
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newpxtext, classico, textcomp, eulerpx}
\begin{document}
$\textsf{á\ â\ ã\ ä}\qquad{\acute{\mathsf a}\ \hat{\mathsf a}\ \tilde{\mathsf a}\ \ddot{\mathsf a}}\qquad\mathsf{\Delta\ \Theta\ \Lambda\ \Xi}$
$\textrm{á\ â\ ã\ ä}\qquad\mathrm{\acute{a}\ \hat{a}\ \tilde{a}\ \ddot{a}}$
\end{document}
eulerpx
这会将无衬线字体设置为该软件包推荐的字体classico
。需要安装。但是,Palatino (newpx) 和 Optima (Classico) 中的小写字母 a 看起来非常相似,因此如果您需要区分和getnonfreefonts
,您可能更喜欢另一种无衬线数学字体。\mathrm{a}
\mathsans{a}
在现代工具链中
AMS Euler、Palatino 和 Optima 均有可用的免费 OpenType 克隆unicode-math
。
\documentclass[varwidth=10cm]{standalone}
\usepackage{mathtools}
\usepackage[math-style=upright]{unicode-math}
\defaultfontfeatures{Scale = MatchLowercase}
\setmainfont{TeX Gyre Pagella}[Scale = 1.0]
\setsansfont{URW Classico}
\setmathfont{Asana Math}
%\setmathfont[range=sfup]{URW Classico}
%\setmathfont[range=bfsfup]{URW Classico Bold}
%\setmathfont[range=sfit]{URW Classico Italic}
%\setmathfont[range=bfsfit]{URW Classico Bold Italic}
\setmathfont[range={up, bfup, cal, bfcal, frak, bffrak}]{Neo Euler}
\begin{document}
\[\textsf{á\ â\ ã\ ä} \qquad
\symsfup{\acute{a}\ \hat{a}\ \tilde{a}\ \ddot{a}} \qquad
\symsfup{\Delta\ \Theta\ \Lambda\ \Xi} \hfill
\]
\[
\textrm{á\ â\ ã\ ä} \qquad
\mathnormal{\acute{a}\ \hat{a}\ \tilde{a}\ \ddot{a}} \qquad
\mathrm{\acute{a}\ \hat{a}\ \tilde{a}\ \ddot{a}}
\]
\end{document}
如果您使用 加载 URW Classico range=sfup
,则数学重音符号在无衬线字母上的位置将不正确,因此我只是保留了 Asana 默认的无衬线数学字母。我建议为无衬线数学定义不同的数学版本,但(截至 2019 年 3 月)的range =
和选项不能一起使用。version =
\setmathfont