You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下如何用RsTeX编译LaTeX文件?项目是否未完成?

关于RsTeX编译LaTeX文件的问题解答

核心结论

RsTeX无法直接编译标准LaTeX文件,它只是Knuth原始TeX的C++实现,不包含LaTeX宏集支持,且是一个功能不完整的TeX系统。

为什么你的示例报错?

你使用的是LaTeX专属语法(\documentclass、\begin{document}等),但RsTeX是纯原始TeX引擎——这些控制序列是LaTeX宏包定义的扩展命令,原始TeX本身并不识别,因此会触发“未定义控制序列”错误。

项目是否未完成?

是的,它属于功能残缺的TeX实现:

  • 仅通过了trip测试(验证核心TeX引擎的排版逻辑正确性)
  • 缺少TeX系统运行必需的配套组件:预编译的fmt文件(包括LaTeX的fmt)、字体文件(tfm、pk等)、自动路径搜索机制
  • 无官方文档,完全未集成LaTeX宏集支持

能否用RsTeX编译基础LaTeX内容?

只能通过复杂的手动配置间接实现,且仅能支持最基础的LaTeX语法,步骤如下:

  1. 从完整TeX系统(如TeX Live)中提取LaTeX核心宏文件(如latex.ltx、article.cls等)
  2. 设置TEXFORMATS环境变量,指向存放这些宏文件的目录
  3. 使用RsTeX的初始化模式(类似原始TeX的initex)预编译LaTeX的fmt文件(过程中可能需要手动指定所有依赖文件的完整路径)
  4. 编译LaTeX文件时,指定调用预编译好的LaTeX fmt文件

但上述过程繁琐且无文档指导,实际可用性极低。

关于rstex_unix和环境变量设置

rstex_unix支持的环境变量与原始TeX兼容,常用的包括:

  • TEXFORMATS:指定宏文件(.tex、.fmt)的搜索路径
  • TEXFONTS:指定字体文件(tfm、pk等)的存储路径
  • TEXFONTMAPS:指定字体映射文件路径

你需要将所有依赖文件放到对应路径下,再设置环境变量才能让RsTeX找到它们,但因项目无文档,需参考原始TeX的环境变量规则自行调试。

测试RsTeX的正确方式

先从纯Plain TeX示例入手,比如:

This is a plain TeX demonstration.
$$a^2 + b^2 = c^2$$
\bye

执行rstex test.tex,如果RsTeX内置了Plain TeX宏集,或你将plain.tex放到了指定路径,就能生成正常的DVI文件。


内容的提问来源于stack exchange,提问作者Talmsmen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 21:23:09