我想告诉texify
将编译输出(即,.pdf
在我的情况下)放置在父目录中(我在 Vista32 上使用 MikTeX 2.8)。我运行以下命令:
texify --pdf --clean --tex-option=--output-directory=".." main.tex
我不断收到错误信息:
texify: Windows API Error: The system cannot find the file specified
没有 一切正常--tex-option=--output-directory=".."
。省略--pdf
并不能改善情况
问:如何使用(或其他)开关texify
将编译输出放置在父目录中?--tex-option
我在命令行方面的经验很少,所以我怀疑答案可能很简单。
答案1
如果将开关添加-I ".."
到传递给的选项列表中会怎么样texify
?(我在这里盲目摸索,因为我自己不使用该实用程序。)
我认为破损的原因是--tex-option
只传递给了pdflatex
,现在存放全部输出文件(包括*.aux
运行所需的文件bibtex
)位于不同的目录中。因此,在第一次传递之后,程序会尝试运行bibtex
以main.aux
解析任何引用参考,但由于main.aux
现在位于../
,因此无法找到它,Windows 会抛出错误。
该-I
开关指示texify
首先搜索该目录以查找输入文件,至少我是这样读的手册. 因此在这种情况下它可能会有帮助。
如果这不起作用,最好的办法是编写一个批处理文件,首先调用它texify
,然后将mv
最终的 PDF 放入父目录中。
答案2
我在 XP 上使用 MikTeX 2.9,在您的帖子的帮助下(我了解了--tex-option=
选项),我能够解决我(和您)的问题 - 使用这个:--tex-option="-output-directory=.."
在父目录中进行输出。
答案3
出于安全原因,无法写入使用绝对路径或包含父目录的位置(..)。您可以通过环境变量更改此安全设置(我认为MIKTEX_ALLOWUNSAFEOUTPUTFILES=1
),但我强烈建议您不要这样做。