\nothing、\varnothing 和 \emptyset

\nothing、\varnothing 和 \emptyset

这可能是一个关于 TeX 历史的问题。

为什么没有命令\nothing?如果没有\nothing,为什么\varnothing\varnothing而不是\nothing

如果我尝试用 编译文档\nothing,我会收到错误“!未定义的控制序列。”

命令\varnothing由包定义amssymb,并由\emptysetTeX 本身定义,但均未定义\nothing。是\nothing由某物定义的吗?


我联系了 cjw-latex 的作者 Colin J. Wynne。他不记得为什么写了这句话,因为那是 20 多年前的事了。但他表示

我最好的假设是,AMS-(La)TeX 的早期版本确实使用 序列\nothing作为 的别名或替代品 \emptyset。AMS-(La)TeX 确实为一些东西想出了自己的名称,还有不少自定义符号。鉴于我更喜欢\varnothing​​ ,我可以假设大多数其他人也喜欢,他们最终放弃了\nothing,但留下来是\varnothing因为那是大多数人使用的控制序列。

目前我希望通过阅读可以发现一些东西ftp://ftp.tug.org/historic/不幸的是,他们拥有的最旧版本的 AMS-TeX 是 1993 年的,所以我们无法验证 Colin 的理论。他们还有 1983 年的 LaTeX,它定义了\emptyset但没有定义\nothing

由于这是一个很难的问题,所以我决定悬赏。

答案1

这不是一个明确的答案,但也许是一个合理的假设......

\varnothing比 短\varemptyset。数学家通常不是很好的打字员。

尽管\varempty更短,\empty但并不是原始的,却具有完全不同的含义,并且“var”只会造成混淆。

“the joy of tex” 虽然提到了这两者,但对此事没有任何有用的说明(抱歉,今天早上一定是自动双关语),事实上甚至没有指出它们具有相同的含义。

控制序列\nothing 出现在 中cjwmath.sty,其中它等同于,并且\varnothing还有另一个别名。我在 tex live 上的任何包中都没有找到这个名字。\leer\nothing

所以对我来说,其原因已经随着时间的流逝而消失。

我想我可以问问迈克·斯皮瓦克。


我查阅了 ams 在 tex 之前使用的排版系统的文档。斜线圆圈的名称是“空集”,并为empty输入键盘手分配了一个“短名称”。(该系统是高度编码的,规范代码是*yo;键盘手可以自由使用他们喜欢的任何形式,即更容易记住的形式。)因此,在创建 ams 符号字体之前,ams 从未使用过与此符号相关的术语“无”。

这些字体的内容是由一个委员会定义的;我已经向委员会为数不多的幸存成员之一发出了询问,希望他能够记得。

我确实问过迈克·斯皮瓦克,他不记得了,但他很确定自己没有责任。


我找到了原始 ams extra 符号字体的最终发布通知1985 年 7 月的《拖船》杂志. 这些是msxmmsym字体,最初(错误地)被称为“euler”,这个错误在更新中得到了纠正那年晚些时候。虽然使用了该名称\varnothing,但是没有对名称的选择做出任何评论。(并且不幸的是,更新扫描中显示该符号的页面丢失了;但是我已经确认它存在于我书架上的纸质副本中。我会尝试更正拖船网站上发布的副本。)

答案2

我在 9 月 15 日的评论中提到了cjw-latex历史背景,这是 Barbara Beeton 在其有趣的答案当天晚些时候,我对这个问题进行了修正。尽管翻阅了一堆尘封的旧 TeX 书籍,我还是没有发现\nothingTeX 中其他非局部用法。

相关问题:好看的空集?讨论了空集字形的各种形状,这使我根据该符号在数学中的历史来考虑其他选择。

在布尔巴基之前,空集被表示为 {},有时仍使用(例如参见维基百科证明维基空集上的文章)。

布尔巴基提出的空集符号是挪威语大写字母 O 加斜线(见安德烈·韦伊所著《数学家的学徒生涯》,英文译本,Google 图书上的 p114也引用自“空集符号(Ø)”一节集合论和逻辑符号的最早用途。这意味着,对于那些想要正宗的布尔巴基群符号的人来说,空集符号可以是\O(参见 TeXBook,第 52 页,关于斯堪的纳维亚斜线 O 被定义为\O但未提议用于空集符号的重音符号)。因此,虽然我还没有找到它的权威,但似乎\O可以合理地将 视为 ,\nothing而后者则\varnothing是它的替代品。实际上,没有理由\nothing为此目的正式定义为 ,因为\O它更短,而且可以说更有意义,尤其是对于那些习惯于布尔巴基符号及其起源的人来说。(从轻松的角度来说,它还可以避免在日常对话\nothing中混淆\notin:-)

为了进行比较,下面显示了“无”或“空集”的四个简单候选者(\phi\Phi不是候选者),以便\not=于比较空集斜线的角度(一些用户担心), 在适当情况下。

\documentclass[12pt]{article}
\usepackage{amssymb}        % for \varnothing
\begin{document}
\begin{enumerate}
\item $S \not= \{\}$ 

\item $S \not= \O$ 

\item $S \not= \varnothing$ 

\item $S \not= \emptyset$ 

\end{enumerate}
\end{document}

在实践中,这些符号的使用和定义存在重叠,此外,用户对空集符号的偏好也不同。

例如,\varnothingmsbm.etx

\setslot{emptyset}
   \comment{The symbol `$\varnothing$'.}
\endsetslot

甚至在“The LaTeX Companion”中也可以看到这一点。以下摘录自致 UK-TUG 杂志编辑的一封信巴斯克维尔 第 5 卷第 2 期大卫·卡莱尔:

\emptyset关于重新定义用户级命令的不明智的评论是正确的,但AMS 包中存在的问题示例只是由于第一次印刷时出现错误而导致的LaTeX 伴侣(如compan.errLaTeX 发行版中所述。)“amssymb”包未重新定义\emptyset。它仍然看起来像一个带有一条线的 0。与纯 TEX 中的字形相同。\varnothing是一个斜线圆。

实际上,这引发了一个有趣的问题。Companion 印刷中的错误是由于露西达 字体。(Companion 不使用 cm 或 AMS 字体)。由于 Lucida 确实提供了这两种字形,因此将名称互换只是一个错误,但请考虑一个数学字体系列仅提供一个斜线闭合曲线的假设情况。在将其分配给命令之前,它在视觉上与 ∅ 有多大的不同\emptyset?对于文本字体,较大的差异是可以接受的。'Q' 看起来不太像 '' [字体不同] 但两者都可以通过“Q”访问,任何差异都会被读者接受为字体设计的差异。在数学中,情况根本不清楚……

这是对一篇文章的回应LaTeX 中的数学:第 3 部分,不同类型的数学对象作者:RA Bailey在上一期

相关行compan.err来自

-* Page 219, 222 (DRo,FMi)
  The \varnothing and \emptyset do show the wrong
character, ie need exchanging.

最后,TeX Live 2011 中出现了一些\nothing与西里尔字体相关的内容:

$ grep -r '\\nothing[^a-zA-Z]' *
2011/texmf-dist/doc/fonts/ec/tcstdedt.tex:\def\dofonttest#1[#2]#3\nothing{%
2011/texmf-dist/doc/fonts/ec/tcstdedt.tex:\def\dofont{\doentry\expandafter\dofonttest\fontsize[]\nothing\Dofont}
2011/texmf-dist/doc/fonts/ec/ecstdedt.tex:\def\dofonttest#1[#2]#3\nothing{%
2011/texmf-dist/doc/fonts/ec/ecstdedt.tex:\def\dofont{\doentry\expandafter\dofonttest\fontsize[]\nothing\Dofont}
2011/texmf-dist/source/fonts/lh/tex/cfstdedt.tex:\def\dofonttest#1[#2]#3\nothing{%
2011/texmf-dist/source/fonts/lh/tex/cfstdedt.tex:\def\dofont{\doentry\expandafter\dofonttest\fontsize[]\nothing\Dofont}
2011/texmf-dist/source/fonts/lh/tex/cod-edt.tex:\def\docodetest#1[#2]#3\nothing{%
$

相关内容