我听说 TeX 是一种图灵完备语言。这是否意味着人们可以使用 TeX 编写操作系统或像俄罗斯方块或 Hangman 这样的游戏?我并不是说人们可以编写俄罗斯方块的源代码,而是说人们可以通过编写文档并编译它来玩俄罗斯方块吗?
答案1
“图灵完备”意味着,理论上,具有足够内存的 TeX 引擎可以运行上述任何事物的模拟。但这并不实际。
俄罗斯方块游戏实际上无法玩,因为 TeX 并非设计用于读取控制器并实时更新图片,但它可能最接近。但是,您可以编写代码(比如,在 TikZ 中)根据给定的输入文件制作俄罗斯方块游戏的动画。也可以想象模拟某些 8 位计算机(如 Apple II)的内存,包括 CPU 和内存,作为状态机。然后,您可以在文档中运行模拟操作系统,并绘制模拟程序完成时屏幕上显示的内容。
LuaTeX 提供了钩子来插入任意 Lua 模块,但这与在 TeX 中执行此操作略有不同。
答案2
我使用 LaTeX 来创建和解决数独难题(> texdoc sudokubundle
),尽管我不建议为此使用 (La)TeX。