为什么 amsmath 使用 fraktur 表示实部和虚部?

为什么 amsmath 使用 fraktur 表示实部和虚部?

编辑:写这篇文章的时候,我以为这是 amsmath 的选择。现在我才意识到这是 Knuth 的选择。

什么时候决定 amsmath 将实部符号表示为大写花体变体 R 而不是 Re?(虚部也是同样的问题)。

此事的动机是什么?

我认为底线看起来更好,更易读。

在此处输入图片描述

后者不是更常见吗?为什么 amsmath 希望作者不断重新定义后者?\Re\Im很方便,但返回的是前者。

答案1

\Re在knuth 中是\Im这样定义的:plain.tex

\mathchardef\Re="023C
\mathchardef\Im="023D

这意味着它们是“普通”字符(0),它们出现在数学符号字体​​(2= cmsy)中,并且位于(十六进制)位置3C3D 该字体中。

这些定义最初与所有其他单一符号名称一起被纳入amstex,从那时起amsmath,一直保持不变。

答案2

它没有回答问题why,但我的回答表明了如何得到你想要得到的东西。

选项 1(推荐)

\documentclass[preview,border=12pt,12pt]{standalone}% change it back to your own document class
\usepackage{physics}

\begin{document}
$\!
\begin{aligned}
z &= a + b i\\
\Re(z) &= a\\
\Im{z} &= b
\end{aligned}
$
\end{document}

在此处输入图片描述

选项 2

\documentclass[preview,border=12pt,12pt,varwidth]{standalone}
\usepackage{amsmath}
\begin{document}
If $z=a+bi$ then\\ $\operatorname{Re}(z)=a$ and $\operatorname{Im}(z)=b$.
\end{document}

在此处输入图片描述

选项 3

\documentclass[preview,border=12pt,12pt,varwidth]{standalone}
\usepackage{amsmath,amssymb}
\begin{document}
If $z=a+bi$ then\\ $\operatorname{\mathbb{R}e}\{z\}=a$ and $\operatorname{\mathbb{I}m}\{z\}=b$.
\end{document}

在此处输入图片描述

答案3

fontmath.ltx这些是包含 LaTeX 基本数学设置的文件中的相关行:

\DeclareSymbolFont{symbols}{OMS}{cmsy}{m}{n}

\DeclareMathSymbol{\Re}{\mathord}{symbols}{"3C}
\DeclareMathSymbol{\Im}{\mathord}{symbols}{"3D}

这是中的相应部分plain.tex

\font\tensy=cmsy10 % math symbols
\font\sevensy=cmsy7
\font\fivesy=cmsy5

\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy

\mathchardef\Re="023C
\mathchardef\Im="023D

因此,这两个定义完全指向相同字体中的相同符号(当使用默认的 Computer Modern 字体时)。这早于amsmath,因为等效定义已经在 LaTeX 2.09 中(它只是从 Plain TeX 复制了数学设置)。

原因很简单:Knuth 喜欢这种符号。

amsmath当加载时,将其改为“Re”和“Im”并不困难:

\renewcommand{\Re}{\operatorname{Re}}
\renewcommand{\Im}{\operatorname{Im}}

这样做的好处是,如果出版商更喜欢 ℜ 和 ℑ,他们只需注释掉重新定义即可。这些符号没有什么神圣之处:人们可能喜欢它们,也可能不喜欢它们(我不喜欢)。

相关内容