我更喜欢使用漂亮的 AMS Euler 数学字体,但众所周知,它只能直立。我很好奇为什么对这个事实的抱怨这么少。在德国甚至有一个 DIN 标准,规定变量应该用斜体书写。到目前为止,我还没有发现任何同行评审的化学或物理期刊没有斜体变量。这里有化学家或物理学家使用这种字体吗?您如何处理这些规定和限制?
答案1
如果您的出版商或主管不允许您使用直立字体,您就不能使用 Euler。
一种可能的折衷方案是使用 Euler 来表示直立符号(我不确定您的要求是什么,但在 ISO 80000 中,常量是直立的),并使用兼容字体来表示倾斜符号。Palatino 和 Optima 也是由 Hermann Zapf 设计的,可能是与 Euler 相匹配的不错选择。在 Zapf 去世前不久将 Neo Euler 转换为 OpenType 的 Khaled Hosny 也制作了一种基于 Euler 的文本字体,阿雷夫·鲁卡,但只能直立。如果您还需要等宽字体来匹配这些,我推荐 Inconsolata。另一个选择是 AMS Euler 最初搭配的字体 AMS Concrete。(Donald E. Knuth 在他的书中同时使用了这两种字体,具体数学:计算机科学的基础。
我常用的例子是将欧拉恒等式与 Neo Euler 中的常数以及 Palatino 克隆中的所有其他内容排版:
\documentclass{article}
\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{TeX Gyre Pagella}[
Scale=1.0,
Ligatures={Common, Discretionary, TeX}]
\setmathfont{Asana Math}
\setmathfont[range={up/{Latin,latin,Greek,greek},
bfup/{Latin,latin,Greek,greek},
cal, bfcal, frak, bffrak},
script-features={},
sscript-features={}
]{Neo Euler}
\newcommand\upi{\symup{i}}
\newcommand\upe{\symup{e}}
\begin{document}
\begin{align*}
\upe^{\upi x} &= \cos{x} + \upi \sin{x} \\
\upe^{\upi \uppi} + 1 &= 0
\end{align*}
\end{document}
与 PDFTeX 兼容的版本是:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{tgpagella, newpxmath}
\usepackage{bm}
\DeclareSymbolFont{euler}{U}{zeur}{m}{n}
\SetSymbolFont{euler}{bold}{U}{zeur}{b}{n}
\DeclareMathSymbol{\uppi}{\mathalpha}{euler}{"19}
\DeclareMathSymbol{\upe}{\mathalpha}{euler}{"65}
\DeclareMathSymbol{\upi}{\mathalpha}{euler}{"69}
\begin{document}
\begin{align*}
\upe^{\upi x} &= \cos{x} + \upi \sin{x} \\
\upe^{\upi \uppi} + 1 &= 0
\end{align*}
一种变体是加载 Euler Math 作为主要数学字体,包括其符号,然后仅加载来自其他数学字体(例如 TeX Gyre Pagella Math、Asana Math 或 Concrete Math)的字母it
。bfit