![引导类似 kpathsea 的包--查找 TEXMF 根](https://linux22.com/image/430118/%E5%BC%95%E5%AF%BC%E7%B1%BB%E4%BC%BC%20kpathsea%20%E7%9A%84%E5%8C%85--%E6%9F%A5%E6%89%BE%20TEXMF%20%E6%A0%B9.png)
我正在编写一个基于 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
)。
- 我的理解正确吗?
- 是否有一种官方的、标准化的方法来检索引导
texmf.cnf
位置?IE:是否有一个推荐的环境变量指向它(或允许覆盖它)或一组可以依次查找的位置(我猜这些位置取决于操作系统)? - 或者找到这些位置的唯一方法是通过调用
kpsewhich
?
对于我的发行版(ArchLinux),似乎“主”texmf.cnf
文件位于 下/etc/texmf/web2c/texmf.cnf
,而系统范围的 TDS 位于 下/usr/share/texmf-dist
。引导“我的”包来定位这些文件的方法是什么kpath
?(以及其他操作系统)。(查找用户本地 TDS 似乎更容易:TEXMFHOME
,~/texmf
或%USERPROFILE%/texmf
)
谢谢你的时间。