我想e^x
在 LaTeX 数学模式中将e
写成直立的,而不是倾斜的,以表明它不是变量。Kopka 和 Daly (4ed) 第 285 页使用 来实现这一点\me^x
。当我尝试这样做时,我得到了“未定义的控制序列”错误。
问:这是\me
一个弃用的命令吗?
问:我现在怎样才能做\me
以前要做的事情?
答案1
您必须在文档序言中自己定义该命令
\newcommand{\me}{\mathrm{e}}
一些评论
没有必要将此符号声明为普通符号,因为根据规则,所有受字母变化影响的数学字符都是普通符号。
该结构\mathrm{e}
基本上相当于
\begingroup\mathgroup=0 e\endgroup
因为罗马数学字母对应于数学组 0。每个数学字母(\mathrm
、、\mathnormal
等等\mathbf
)对应于 16 个数学组中选择一个;\mathrm
是 0,\mathnormal
是 1,其他从 4 开始。
每个字符都有一个\mathcode
which,e
表示"7165
哪个
当
e
在数学模式中发现 时,它应当是一个普通符号,取自插槽 处数学组 1 的字体"65
;但如果\mathgroup
设置为非负值,则使用"65
指定数学组中字体中的插槽 处的字符(这是因为第一个数字"7
)。
因此,调用\mathrm{e}
就像请求一个数学代码"0065
(前面的数字"
是十六进制的):第一个 0 表示“普通符号”,第二个 0 表示数学组。根据正常的 LaTeX 设置,\mathbf{e}
我们将请求。"0465
有关数学代码的详细信息,请参阅 TeXbook 或 TeX by Topic。请注意,LaTeX 调用\mathgroup
原始函数\fam
。
答案2
我使用unicode-math
软件包将字母表重新定义为e
直立。这样,我就可以书写\(e^{i \pi}\)
,并将所有内容排版为正确的字体形状。
我这样做的具体方法相当复杂(因为我也混合了颜色:实数是红色,复数是紫色),但文档unicode-math
相当简单。这是一个简单的例子
\documentclass{article}
\usepackage{unicode-math}
\setmathfont{xits-math.otf}
\setmathfont[math-style=upright,range={`e,`i}]{xits-math.otf}
\begin{document}
\Huge
\(e^{i \pi} = -1\)
\end{document}
结果:
注意事项:
- 你必须使用
xelatex
或lualatex
- 以上使用 STIX 字体,如果你没有,则需要更改示例
- 如果你想同时使用这两种
e
方法,你必须要偷偷摸摸e
在同一文档中(作为裸符号) - 当然,
\pi
也应该是直立的(因为它也是一个常数),但这有点复杂 - 一旦混合了颜色,整个事情就会变得有点傻乎乎的!