斯科特·帕金全面的 LaTeX 符号列表(下称“综合清单”)和解毒是查找符号的 LaTeX 宏和包的绝佳资源。
然而,我觉得有一个相关的东西是极其需要的:一张表格,无论何种形式,将最常见的符号与其含义对应起来。
阐述与此请求有意义的解释相关的一些问题:
- 哪些符号应该被记录下来?只有在既定领域中被接受使用的符号才应该出现。是的,确定边界很困难,但这并不意味着努力是无用的。
- 综合列表中的哪些符号实际被使用?可以通过计算已发表文章中的宏使用情况来近似回答这个问题。频率信息也可能很有用。
- 为什么综合列表这么大?因为综合列表中的很多符号似乎是通过一个基于对称考虑的创造性愤怒和强迫性完成的过程产生的。我并不是说这些不好本身但是,如果能知道综合列表中的深奥符号#253 是否在数学文献中的任何地方都一致使用,那就太好了。
这样的表格有什么实际用途?
- 这样的表格对于数学符号字体设计师很有用。
- Unicode 可能有兴趣知道哪些符号仍需要编码。
- 综合列表以及各种公式编辑器的界面让用户被一堆图形符号淹没,其中大多数符号根本不需要,有些关键符号很难找到甚至丢失,这很烦人。可以通过首先显示符号、为它们提供较短的宏名称等方式,对实际使用的符号进行优先排序。给混乱带来一点秩序将是一件好事。
- 以有组织的方式呈现符号将使软件包编写者和用户更容易以最小化软件包冲突的方式组织和选择符号。
MnSymbol
与amssymb
和的不兼容性amsfonts
是出了名的。 - 符号的索引(每个领域一个)也将使想要在特定领域发表论文的数学家和科学家的工作变得更加轻松。
有这样的表格吗?社区有兴趣构建这样的表格吗?
答案1
表格的概念(当然不只一个!)将数学和科学符号映射到特定领域的含义无疑是有价值的,事实上,这个问题以前也被问过,但据我所知,从来没有人对此进行过组织。
事实上,完成这样的壮举几乎是不可能的。或者,正如一些有能力的数学家告诉我的那样,这可能是一项无用的练习。为什么?首先,因为在不同的领域使用了如此多的符号,通常具有不同的含义。此外,数学家可以定义他/她自己的符号,并且如果某个概念尚未有一个完善的符号(该符号为该领域有经验的数学家所熟知),则通常会根据其相对于相关概念已使用的符号的形状来选择一个新的符号,而不管新符号在其他领域的含义。
因此,这样的表格主要对该领域的新手有用,主要是研究生,很少有成熟的数学家有动力或兴趣去做对他们来说可能相当卑微的工作。学生们通常忙于他们的研究,这将导致学位的正式认可,而从事非常有用的与 tex 相关的项目则只会获得赞赏。(不止一个学位在这样的困境中沉没。)
考虑一些现有的符号集是如何编译的可能会很有启发。基本cmsy
和cmex
字体提供了 knuth 所需的符号计算机编程艺术. 这是基本的计算机科学集合。附加amssymb
集合(msa
和msb
字体)基于通过早期方式准备的 ams 出版物所用或所需的内容,包括科学排版软件提供的符号集合,并添加了来自 monotype 符号列表的项目 - 它们都只通过访问代码来标识,除了在该组合系统的上下文中之外毫无意义。分配给“ams 符号”的控制序列名称通常只是校对员使用的名称,校对员通常甚至不是数学家,当然也不是领域专家。
stix 集合是 unicode 3 和 4 中技术符号大量增加的基础,它以cm
和
ms
字体(无名称更改)开始,包含 sgml 实体集的符号组件(iso tr 9573-13)、stipub 组织(ams、acs、aip、aps、ieee、siam 和 elsevier)编制的“所需”列表,以及来自 wolfram 和设计科学的一些额外贡献。但同样,未包括区域标识。
编制特定区域的清单需要专业知识,即人员。我们暂时把这个放在一边。
可以考虑使用什么方法来按频率编制列表?只有一个方法立即浮现在脑海中:从 (la)tex 出版物语料库中,计算所有控制序列的出现次数,忽略那些显然不是符号的控制序列(\chapter
,\section
,\begin
,\end
等)。
但存在问题。作者经常为单个符号或预先形成的符号字符串定义自己的宏,因此无法轻易统计符号本身在正文中的使用情况。更糟糕的是,许多作者随着时间的推移,会汇编大量他们以前使用过的宏,并且 可能再次使用,并简单地将它们转储到前言或单独的 .sty 文件中而不进行任何“清除”,因此不容易判断特定的宏(以及符号)是否实际用于作业中。
它是可以通过宏名过滤一些特定的符号;我已经这样做了,以便按照unicode的要求记录用法,但这并不简单。我需要的是一个自动化的程序。
以下是可能适用于文章文件的步骤:
- 扩展主体中的所有宏,这样就不再需要定义;
- 从工作中删除所有定义;
- tex 以确保没有丢失任何内容;
- 确认输出和原始相同。
承担这样的任务需要一名优秀的程序员和一名真正敬业的测试人员和/或某个组织的支持(可能不是出版商,除了访问文件,因为他们已经很困难了)。
现在,如何识别使用这些符号的领域?即使文章的领域定义明确(例如,通过 mathscinet 定义的主题分类),也不清楚它是否是符号使用的良好示例,因此任何符号的自动编译仍然需要手动检查。
我认为创建特定区域列表的唯一合理前景是由知识渊博的人采取行动。有志愿者吗?
答案2
一个解释所有 Unicode 符号的项目是decodeunicode
。
它的目标很伟大,但是
- 这是一项正在进行的工作,
- 其中大部分是德语(该项目位于德国),
- 科学和数学符号并不是这个庞大项目的重点。
因此,我认为decodeunicode
这是一项补充工作。