将临时文件放在 Dropbox 之外进行编译:openout_any 和命名法的问题

将临时文件放在 Dropbox 之外进行编译:openout_any 和命名法的问题

因此,我将 TeX 源文件存储在 dropbox 中,以便备份和同步。当然,编译时让 dropbox 上传和下载临时文件的更改会很烦人,因此您需要将这些文件放在其他地方。由于我使用 Mac OS X 和 Linux,因此我选择这些/var/tmp/texBuild文件作为输出目录。我的 Makefile 仅包含以下内容:

TMPDIR = /var/tmp/texBuild
FC = pdflatex -output-directory $(TMPDIR)

在创建命名法时,它抱怨它无权写入该目录。快速搜索给了我一个答案:编辑texmf.cnf以将变量openout_any从更改pa。然而,我随后发现了这个问题:打开一个名称以点开头的文件和其他名称奇怪的文件?建议不要在系统范围内执行此操作。我可以在哪里设置此环境变量?在我的 Makefile 中?我应该选择另一个输出目录吗/var/tmp?我意识到我本可以对另一个问题发表评论,但希望我的问题足够不同,足以成为它自己的问题。

答案1

没有必要更改texmf.cnf文件,也不建议这样做。

如下调用

openout_any=a pdflatex file

(假设是 Bash 或类似的 shell)将覆盖当前作业的变量设置。我相信这可以在 中轻松实现Makefile

更改texmf.cnf文件会给您带来安全问题。这种方式也不安全,但更易于控制,因为只有当前进程(及其子进程,如果有的话)会“看到”环境变量的设置。

相关内容