我正在运行一个从终端启动的脚本pdflatex
。由于我的 tex 文件位于不同的文件夹中,因此我需要更改目录,然后 pdflatex 才能“看到”输入的 tex 文件。所以我的问题是,除了以下命令之外,是否有其他方法可以告诉 pdflatex 在自定义文件夹中查找输入文件?在手册中,我找不到任何类似于-output-directory=DIR
输入的内容。
cd somepath/ && pdflatex -halt-on-error file.tex
答案1
这几乎总是最好的形式
cd somepath/ && pdflatex -halt-on-error file.tex
还有其他选择,例如
TEXINPUTS=somepath:
pdflatex -halt-on-error file.tex
因为初始文件可以在输入路径的任何位置找到,所以例如你可以输入
pdflatex sample2e
任何地方并生成标准的乳胶测试文档输出。sample2e.tex
将通过相同的过程找到article.cls
(并从同一个地方)。
或者你可以
pdflatex -halt-on-error somepath/file.tex
这也适用于简单文件。
后两种形式的问题在于,它们要求进程具有对当前目录的写访问权限才能写入日志文件等,如果您以这种方式设置编辑器管道并从可能在某些系统区域中启动的桌面菜单启动编辑器,则情况可能并非如此。
\input
其次,等的所有相对路径\includegraphics
都是相对于 tex 进程的工作目录,而不是包含主文件的目录。因此,如果您有多文件文档,这通常会失败。从cd
主文档的目录开始,会使进程当前目录与主文档的文件路径匹配,从而使一切变得简单得多。