latexmk -c(清理)选项错误

latexmk -c(清理)选项错误

我正在使用 latexmk 并从 python 内部调用它,命令如下:

latex_params = ' -pdf -interaction=nonstopmode -gg -silent'
latexmk_string = str("latexmk -cd " + '"' + str(path/filename) + '"' + latex_params)
subprocess.call(latexmk_string, shell=True)

请注意,latexmk_string 中的“”双引号用于路径名包含特殊字符(例如括号)的情况。

上面的代码运行良好。我遇到的问题是使用 -c 选项清理辅助文件。我找不到任何方法将其包含在 latex_params 字符串中并使其工作。

如果我在上面的代码之后使用以下代码,我就能让它工作,本质上是自行调用清理函数:

subprocess.call('latexmk -c', shell=True)

除此之外,这仅在文件路径是当前目录时才有效。 在我的情况下,.tex 文件不在当前目录中,上面的 -cd 选项处理该问题以创建 pdf 文件。 但是我无法让 -c cleanup 命令工作。

我试过:

subprocess.call('latexmk -cd "' + str(path) + '" -c', shell=True)

但这不起作用。

答案1

John Collins 给出了答案。错误在于清理命令需要包含 .tex 文件名,而不仅仅是路径。

代替:

subprocess.call('latexmk -cd "' + str(path) + '" -c', shell=True)

需要的是:

subprocess.call('latexmk -cd "' + str(path/filename) + '" -c', shell=True)

相关内容