87

使用通常被认为是排版语言的东西可以做一些有趣的事情。例如,您可以使用 postscript构造 Mandelbrot 集。

这个 MathOverflow 问题中建议LaTeX 可能是图灵完备的。这意味着编写任意程序的能力(尽管这可能并不容易!)。有谁知道 LaTeX 中此类程序的任何具体示例,它对该语言做了一些非常不寻常的事情?

4

6 回答 6

87

The Monad Reader的第 13 期中,Stephen Hicks 写了关于在 TeX 中实现 ICFP 竞赛(涉及火星探测器导航)的解决方案,并大量使用宏。有趣的是,排版时解决方案的输出是漫游者路径的附记地图。

于 2010-06-03T17:56:49.463 回答
30

或者,Andrew Greene用 TeX 编写了一个 BASIC 解释器更多细节)。这可能算得上有点反常。

于 2010-07-15T22:16:22.660 回答
14

\def\K#1#2{#2}

\def\S#1#2#3{#1#3{#2#3}}

于 2014-06-10T18:42:28.903 回答
11

图书馆pgfmath仍然让我感到惊讶。但是在更多与图灵相关的说明上:可以根据http://en.literateprograms.org/Turing_machine_simulator_(LaTeX)在 TeX 中编写一个实际的图灵机。这只是在 TeX 中使用扩展的一种绝妙方式。

PostScript 也是图灵完备的,如果您阅读手册,您会惊讶于它的一般编程能力(至少,我是)。

于 2010-06-03T17:43:05.050 回答
6

我不确定这是否符合编程本身的条件,但我最近开始做一些有点像 LaTeX 中面向对象的东西。(你不需要知道任何数学来遵循以下内容。)在最近的论文中,我一直在写关于categories的文章,它有对象态射。因为已经有很多这样的,我想要一个一致的风格,比如说,

于 2010-06-04T11:33:18.860 回答
1

我知道有人用 LaTeX写了 ACM 竞赛问题的答案。

于 2010-06-03T17:45:31.610 回答