引导类似 kpathsea 的包--查找 TEXMF 根

引导类似 kpathsea 的包--查找 TEXMF 根

我正在编写一个基于 Go 的 TeX 引擎。(它运行良好,我应该tex.web -> Pascal -> Go很快就会准备好基于管道(带有 DVI 输出)的第一个版本。TRIP测试成功)。

为了使该引擎与已安装的 TeX 发行版很好地互操作,我需要提供一种方法来定位 TeX 相关文件(我无法使用它,kpathsea因为它的许可证与 Go 链接策略不太兼容。)

所以我需要以某种方式找到并连接到 TDS1树。根据1Kpathsea阅读文档后2,在我看来,引导机制如下:

  • (以某种方式)kpathsea指向<ROOT>/texmf.cnf
  • 解析texmf.cnf并检索所有texmf(TDS) 根目录
  • 可能查找ls-R数据库(从 TDS 根目录和/或从TEXMFDBS)。
  1. 我的理解正确吗?
  2. 是否有一种官方的、标准化的方法来检索引导texmf.cnf位置?IE:是否有一个推荐的环境变量指向它(或允许覆盖它)或一组可以依次查找的位置(我猜这些位置取决于操作系统)?
  3. 或者找到这些位置的唯一方法是通过调用kpsewhich

对于我的发行版(ArchLinux),似乎“主”texmf.cnf文件位于 下/etc/texmf/web2c/texmf.cnf,而系统范围的 TDS 位于 下/usr/share/texmf-dist。引导“我的”包来定位这些文件的方法是什么kpath?(以及其他操作系统)。(查找用户本地 TDS 似乎更容易:TEXMFHOME~/texmf%USERPROFILE%/texmf

谢谢你的时间。

相关内容