一些评论

一些评论

我想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 开始。

每个字符都有一个\mathcodewhich,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}

结果:

直立的

注意事项:

  1. 你必须使用xelatexlualatex
  2. 以上使用 STIX 字体,如果你没有,则需要更改示例
  3. 如果你想同时使用这两种e方法,你必须要偷偷摸摸e在同一文档中(作为裸符号)
  4. 当然,\pi也应该是直立的(因为它也是一个常数),但这有点复杂
  5. 一旦混合了颜色,整个事情就会变得有点傻乎乎的!

相关内容