如何用 latexmk 指定输出目录的绝对路径?

如何用 latexmk 指定输出目录的绝对路径?

我正在尝试执行latexmk从我的 Web 应用程序并需要指定其输出目录的路径。(我在 Linux CentOS 6.9 上)

我有我的.tex目录中的文件/home/(路径)(这是相对于 Web 应用程序根目录的绝对路径)并且需要生成.pdf与原始文件位于同一目录中,名称相同.tex文件。

我使用的完整命令如下:

latexmk -pdf -jobname=/home/(the path)/filename /home/(the path)/filename.tex

然而,这不起作用;latexmk 开始执行并停止并显示一条消息

I can't write on file filename.aux

相反,如果我从终端窗口运行类似的命令相对的并不是绝对文件的路径(假设我在目标文件夹的父目录中),例如

latexmk -pdf -jobname= target_dir/filename target_dir/filename.tex

然后它就会按预期工作。此外,跳过工作名称使用 .tex 文件的绝对路径可以正常工作,但问题是输出进入根目录。

我知道这个问题,但绝对路径的问题仍然存在。

如何将输出的绝对路径提供给 latexmk?

答案1

错误消息来自pdflatex,而不是latexmkLatexmk将 -jobname 选项传递给pdflatex,但 TeXLive 的默认安全设置禁止使用绝对路径。所提及的问题中接受的答案是,使用 latexmk 时指定 -output-directory,实际上已经过时了,您应该查看第二个答案。

有两个简单的解决方案,对于问题的情况,第一个是首选。

  1. 由于您的输出目录与文档目录相同,因此您可以使用 -cd 选项:latexmk -cd /home/(the path)/filename.tex。这会导致latexmk在处理文档之前将目录更改为文档目录。

  2. 您可以改用 -output-directory 选项,该选项允许使用绝对路径:

    latexmk -output-directory=/home/(the path) /home/(the path)/filename.tex

相关内容