在 eulerpx 中重新定义帽子重音时出现问题

在 eulerpx 中重新定义帽子重音时出现问题

我想使用(通过选项)eulerpx提供的替代帽子重音。为此,我从(另请参阅eulervmeuler-hat-accenteulervm.sty这个答案)问题在于重新定义会弄乱括号:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools,newpxtext,eulerpx}
\DeclareSymbolFont{symbols}{U}{zeus}{m}{n}
\DeclareMathAccent{\hat}{\mathalpha}{symbols}{222}

\begin{document}

$\hat{a}\qquad(b)$

\end{document}

在此处输入图片描述

如果不重新定义帽子重音符(DeclareSymbolFont,DeclareMathAccent),则输出符合预期:没有省略的括号,也没有多余的冒号,但当然不会获得修改后的帽子。

在此处输入图片描述

我是否以错误的方式重新定义了帽子重音? 有没有办法避免这种奇怪的行为?

答案1

您的第一个命令\DeclareSymbolFont{symbols}{U}{zeus}{m}{n}定义了数学符号系列symbols,但 eulerpx 已经用这个名字定义了一个符号系列,所以您将其覆盖。但这是括号的来源系列,因此它们被替换为新symbols字体在相应位置提供的符号,例如冒号。您可以通过为系列选择另一个名称来解决此问题:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools,newpxtext,eulerpx}
\DeclareSymbolFont{zeussymbols}{U}{zeus}{m}{n}
\DeclareMathAccent{\hat}{\mathalpha}{zeussymbols}{222}

\begin{document}

$\hat{a}\qquad(b)$

\end{document}

在此处输入图片描述

答案2

eulerpx与此相关的是,现代工具链中最接近的等价物是\usepackage[math-style=upright]{unicode-math}使用 Palatino 或其克隆体(例如 Pagella)作为罗马字体,可选使用 Optima 或其克隆体(例如 Classico)作为无衬线字体,使用newpx克隆体(例如 Asana)作为主要数学字体,然后是 Neo Euler 的部分。

以下在数学模式下加载 Neo Euler 的所有组合重音:

\setmathfont[Scale = MatchLowercase,
             range={up,bfup,cal,bfcal,frak,bffrak,
                    "0301-"030F,"0311,"0323-"0325,"032E-"0332,"033B}
            ]{euler.otf}

相关内容