我有一个关于在数学模式下使用文本的印刷问题,例如下标或 diff 运算符。请考虑以下示例,其中我使用 XeLaTeX 并以 Palatino 为主字体,Neo Euler 为数学字体:
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\usepackage{unicode-math}
\setmathfont[Scale={MatchLowercase},math-style=upright]{Neo Euler}
\begin{document}
$E_{max}$ or $E_\text{max}$?
$m_e + m_x$ or $m_\text{e} + m_\text{x}$?
$\text{d}x$ or $dx$?
\end{document}
从印刷上来说,正确的选项是什么?使用“max”、“e”、“x”或“d”的主文本字体还是使用数学字体?
答案1
当下标是“文本”时,它应该采用默认的直立字体,因此\text
是不够的,因为它会受到周围字体的影响;例如,在定理的陈述中,文本字体将采用斜体,但诸如“max”之类的下标仍应为直立:
$E_\textup{max}$
(加载amsmath
之前unicode-math
应确保\textup
重新定义,以便它遵守下标的大小)。
对于微分的“d”,有很多种说法。大多数数学家使用“数学字体 d”(包括 Knuth),但在某些领域,ISO 规定使用直立的“d”。数学常数(如纳皮尔-欧拉数“e”)也是如此。
最好的方法是针对这些内容定义宏:
\newcommand{\diff}{\mathop{}\!d}
\newcommand{\constant}[1]{\mathnormal{#1}}
\newcommand{\e}{\constant{e}}
\newcommand{\ramuno}{\constant{i}}
\diff
这样您只需对和的定义采取行动就可以改变文档的外观\constant
。
“ramuno” 是 16 世纪一些数学家(*ra*dice di *m*eno)用来表示 -1 的平方根的名称乌诺)。
答案2
我的经验法则是:如果是单词,这实际上解释了如何你定义变量,它是罗马数字,因此是 $E_\text{max}$,或 $S_\text{lex}$,或其他。如果它是实数子索引,则意味着选择索引变量如此这般,这是数学,因此,“$E_m$,其中 m 是……”
我发现这个经验规则在阅读文档时很有帮助,因为排版有助于解析含义。