首页 > 资讯 > > 内容页

世界短讯![翻译] TeXmacs 与数学写作的艺术

发表时间:2023-05-25 08:42:51 来源:哔哩哔哩

这是一篇博客文章,从个人的角度介绍了 TeXmacs 设计背后的动机。 作者是 Massimiliano Gubinelli, 牛津大学数学教授, TeXmacs 主要开发者之一。

我不能去餐厅点餐,因为我总是盯着菜单上的字体看。 


(资料图片)

D. Knuth [6]

作为一名研究人员、教师和单纯地爱好者,我花费了大量时间创建涉及数学、物理或其他各种技术主题(如编程)的电子文档。与纸和笔相比,使用计算机的优势在于文档可以轻松复制、共享、进行小幅或大幅修改、投影到屏幕上,甚至可以打印出来,如果你真的怀念纸张和相关的感官体验的话。然而,也存在许多不利之处:与我们大部分时间都使用的工具相比,使用计算机会失去直接性;没有一个精确的方案或灵活地快速绘图和以非编码方式组织文本,没有预定的格式,不需要过多关注工具本身或附加问题。使用纸和笔最重要的难以通过其他方式实现的事是,可以专注于本质 -也就是传达(或简单记录)一个想法、一个概念、一个新结果- 的可能性。

是否有可能找到这两种表面上互补的选择之间的“折衷方案”?一个既能保留两者特点的工具?那些使用过类似 Microsoft Word 或 Knuth 的 TeX 系统 [5 ]的人都很清楚,在计算机上编写公式并不容易。在 Word 中,即时性是以结果的粗糙和倾向于幼稚化用户的图形界面为代价的。然而,在 TeX 中,结果的完美是以一个针对上世纪 80 年代计算机设计的用户界面为代价的,它以更适合电子处理而不是人类写作者的表达需求来呈现内容。

在大学里,学习使用 TeX/LaTeX 系统 [5、7、2] 对于学习数学或物理学的人或者需要处理大量公式的人来说是必须的。和许多其他人一样,我已经使用它几年了,既欣赏又厌恶。在某些日子,我觉得它是高度精细的工艺品(具有中世纪风味,充满了自我克制、神秘主义,这一切都可以从程序版本号无情地趋近于 π = 3.1415... 这一事实中得到证实)。而在其他日子,我四处寻找逃脱使用 LaTeX 编写论文时不断受折磨的方法(也许这也是中世纪精神的后果之一)。

然而,在某个时候,我偶然间发现了 TeXmacs。TeXmacs 是一个诞生于 90 年代的项目,旨在让数学家们以自然而直观的方式表达他们的想法,并在当前计算机上生成尽可能高质量的文档。起初,参与其中的数学家实际上只有一个人,Joris van der Hoeven,他开始设想一个替代 TeX 的方案,并同时通过编程实现了 TeXmacs,这是一个科学编辑系统 [8]。这个名字来源于 TeX(显而易见)和 Emacs(另一个著名的系统,一个可编程的文本编辑器),但最终发现 TeXmacs 与两者都不太相关,除了继承了两个追求:卓越的排版和完全的可扩展性。van der Hoeven 希望以最愉快的形式将他的思想呈现在计算机上:既愉快地输入,也愉快地查看。他希望大部分时间都能集中精力在内容上,如定理、证明、脚注、解释性图表、参考文献列表等等。而在适当的时候,他也希望能够专注于小的技术细节,并且轻松地改变程序界面以适应各种类型的使用和用户。

简而言之,TeXmacs 系统的诞生源于让计算机上的数学写作变得与纸笔写作一样直接和令人满意的想法。这只有通过从零开始构建一个新的程序才能实现:TeXmacs 并非派生自TeX,也不试图与其完全兼容。

TeXmacs 是一款“自由软件”:它不仅免费,而且任何人都可以自由使用、复制和修改。然而,在实际应用中,有一个小型的开发者和用户社区致力于保持其良好状态并推动其发展。在我偶然发现 TeXmacs 并寻找替代 LaTeX 的过程中,我开始使用它,现在像许多其他用户一样,我每天都使用它来撰写我的讲稿、学生工作表和科学文章。我还使用它来“思考”,进行计算并记录新的研究笔记。例如,我正在 TeXmacs 中撰写这篇文章,以后可以根据需要将其导出为 PDF 或 HTML/MathJax [1],甚至转为 LaTeX,但现在我可以专注于文本而不受计算机屏幕上的“视觉干扰”(图1)。

但是我必须坦诚地说,我第一次尝试使用 TeXmacs 时并不太喜欢它:我试图做的事情没有成功,我很快就认定它是一个业余的产品,就像许多开源项目一样,它们始于好的基础和热情,但这并不足以取得真正的成果。简而言之,LaTeX 要好得多。后来,偶然间我再次遇到了 TeXmacs,我耐心一点,保持开放的心态,仔细阅读了手册,以更好地理解程序的逻辑和使用方法。我意识到 TeXmacs 实际上是一个成熟的系统,它基于一系列深刻影响程序所有方面的概念:文档的分层性质及其相关的结构化编辑、视觉导航、使用直观的组合键、调用各种命令的方式的简化等等。

这些想法很简单,但在其他常用的程序中很少同时找到。因此,初学者需要一些谦卑和求知欲。即使没有其他,也应该在认定程序不能正常工作之前先查看一下手册。TeXmacs 需要理解一些基本原则,这些原则不能仅凭用户熟悉 Word 或 LaTeX 的直观经验得出。

作为对这一小小的初始努力的回报,你可以更顺畅地书写数学公式或方程,并在屏幕上看到它们随着输入而显示出来(图2)。这确实是人人都可以掌握的技能。在去年春季的封锁期间,我的一个孩子(上初中)需要将数学作业的解答发送给老师。只需要进行简单的演示,他就能使用 TeXmacs:开始书写一个公式,书写分数等等。这本身并不复杂,但在Word 中很难令人满意,而在 LaTeX 中则几乎不可能快速而轻松地实现。在短时间内,我的儿子就能够将他的成果以外观优美的 PDF 文档形式发送给他的老师。

我认为 TeXmacs 是 LaTeX 的一个有效替代品,无论是在学术界还是高中教育中都适用:对于研究人员撰写论文甚至书籍,对于教师编写工作表或讲义,对于学生撰写论文或研究报告都非常适用。TeXmacs 可以轻松创建演示文稿(类似于“beamer”风格)或海报,而且还可以作为“电子黑板”,在这个远程学习的时期尤其有用。例如,我通过在 Zoom 上共享TeXmacs 窗口与学生交流,将我过去在黑板上写的内容现在写在上面。最后,我可以生成PDF 文件,将其作为课程笔记发送给学生(图3)。TeXmacs 还具有其他功能,可以成为一个完整的科学办公套件 [3]:它通过嵌入的脚本语言完全可扩展(图4),具有类似电子表格的功能,以及比较文档不同版本的工具。此外,它还支持集成的外部程序的交互式执行,如Maxima、Axiom、Mathematica、Sage 等计算代数系统,以及 Asymptote、GNU plot、Python 的 Mathplotlib、Graphviz、Geogebra 等图形程序,甚至包括 TikZ 或 FeynMF 等LaTeX 包。最后,集成的 Jupyter 客户端正在开发中。

对于对编程充满热情的人来说,TeXmacs 还提供了一个机会,可以为这个需要执行一系列复杂任务的计算机系统做出贡献、扩展或简单地思考:程序的一部分负责排版组合(使用类似于 TeX 的算法,参见图4),另一部分处理用户交互(图形界面、鼠标和屏幕管理),转换到其他格式(HTML、PDF、LaTeX),处理文献引用,还有一个部分负责简单矢量图形内容的编辑。用户界面使用Scheme编写(一种 Lisp 方言,受到 Church 的λ演算的启发)。这使得相对容易编写复杂行为,并且无需重新编译即可增加程序的功能。而关键的部分则使用 C++ 编写,以确保与用户的交互具有响应性。

总结一下:二十年来,TeXmacs 一直是供职业数学家和更广泛的受众使用的资源,包括大学生、中学教师和学生。关于该程序的更多信息可以在其网站 www.texmacs.org 上找到,包括文档和一些入门视频。各种教程和演示也可以在 YouTube 上找到。TeXmacs 还是一个聚集了热衷于编程和分享的数学家(和非数学家)的社区项目。定期发布新版本,既用于消除必然存在的错误,又引入新功能。多年来,该程序在技术环境中不断演变、改进和适应,但基本理念保持不变:致力于成为一种工具,让作者获得优质的写作体验,就像一支钢笔、一件乐器或像 Lisp 或 Haskell 这样的编程语言。在解释 TeXmacs 存在的理由时,van der Hoeven 表示:

理想的写作工具应该像你的第一支艺术钢笔一样:释放你的写作欲望,让你与工具合而为一,并偶尔用你自己的文字之美给你带来惊喜。

J. van der Hoeven [4]      

Bibliography

[1] D. Cervone. Math Jax: A Platform for Mathematics on the Web. Notices of the American Mathematical Society, 59(2):312–315, 2012.

[2] G. Grätzer. What is new in LaTeX? IV. WYSIWYG LaTeX. Notices of the American Mathematical Society, 58(6):828–830, 2011.

[3] M. Gubinelli, J. v. d. Hoeven, F. Poulain, and D. Raux. GNU TeXmacs: Towards a Scientific Office Suite. In Mathematical Software - ICMS 2014 - 4th International Congress, Seoul, South Korea, August 5-9, 2014. Proceedings, pages 562–569. 2014.

[4] J. v. d. Hoeven. The Jolly Writer. Your Guide to GNU TeXmacs. Scypress, 2020.

[5] D. Knuth. Computers & Typesetting, Volume A: The TeXbook. Addison-Wesley Professional, Reading, Mass, 1st edition edition, jan 1986.

[6] D. Knuth. All questions answered. Notices of the American Mathematical Society, 49(3):318–324, 2002.

[7] L. Lamport. LaTeX: A Document Preparation System. Addison-Wesley Professional, Reading, Mass, 2nd edition edition, jun 1994.

[8] J. van der Hoeven. GNU TeXmacs: a free, structured, WYSIWYG and technical text editor. In D. Flipo, editor, Le document au XXI-ième siècle, volume 39–40, pages 39–50. Metz, 14–17 mai 2001. Actes du congrès GUTenberg.

最近更新