处理 latex 文件及其自己的 .sty (等)文件的最佳方式都在同一个目录中

处理 latex 文件及其自己的 .sty (等)文件的最佳方式都在同一个目录中

我正在考虑制作一个 Perl 模块,以便轻松地从 Perl 脚本中格式化文本数据:Perl data structure + LaTeX template file -> LaTeX file -> run latex command on it -> produce pdf/ps output.

我的问题是,当 LaTeX 文件依赖于某些.sty,文件时,.cls这些文件是该文件的私有/特定文件,并且未在系统范围内安装,而不是 , graphicx。(并且我不希望它们安装在系统范围内,甚至安装在我自己的用户范围内的目录中)。

假设 LaTeX 文件依赖于此目录层次结构中所有生活/提供/分发的A.sty文件B.cls,其主要特征是它们始终位于lib相对于主 LaTeX 文件的子目录中:

/usr/share/templates/XYZ/main.tex.t
/usr/share/templates/XYZ/lib/A.sty
/usr/share/templates/XYZ/lib/B.cls

理想情况下,我想使用相对路径表示法导入A.styB.cls导入main.tex。怎么做?不将这些文件安装在系统范围、当前用户范围或 LaTeX 知道的位置?

关于这个“模板”系统的更多信息:

该文件是一个模板,这意味着它包含LaTeX main.tex.t,但也可以包含诸如、、等内容。The title is "<: title :>"这些模板变量将被 Perl 替换,以生成然后进行处理的(例如,在 Perl 中使用模块)。这意味着我也可以控制环境变量。\textit{<: author :>}\usepackage{<: package :>}main.texLaTeX::Driver

因此,甚至可以通过模板变量包含.sty最终 LaTeX 源文件中文件的绝对位置。

我使用 xelatex 是因为它支持多种语言,但也许我也可以按照您的建议使用 pdflatex?但我还不太喜欢 LuaTeX。

相关内容