Sublime Text3:自定义命令无法正常工作的LaTeX工具

时间:2016-06-07 06:01:08

标签: build latex sublimetext3 move sublime-text-plugin

我需要自定义LaTeX工具的设置,以便词汇表包工作。

现在一切正常。但我也希望将临时文件放在一个文件夹中,将生成的PDF放在.tex文件中。

第一件事情很好:一切都在build文件夹中。但我无法从此文件夹中获取PDF文件,因为我的引号将在脚本命令中删除。

以下是我用于构建的脚本命令:

"script_commands": [
  "latexmk -cd -e -f -pdf -synctex=1 -interaction=nonstopmode  -auxdir=build -outdir=build",
  "makeglossaries -d build",
  "latexmk -cd -e -f -pdf -synctex=1 -interaction=nonstopmode  -auxdir=build -outdir=build",
  "move /y \"build/$file_base_name.pdf\" \"$file_base_name.pdf\"",
  "move /y \"build/$file_base_name.synctex.gz\" \"$file_base_name.synctex.gz\"",
  // "move /y \"build/$file_base_name.log\" \"$file_base_name.log\""
]

前三个命令工作正常。 PDF正确构建。但是move命令不起作用。 我也尝试使用完整路径,但问题是我无法执行\符号,因此呼叫看起来像move /y C:\path\to\the\texdocument/build/Document.pdf,但也无效。 我也试图使用'标志。并复制作为移动的替代品。但是没有帮助。

有人可以帮助我吗?

P.S。:我正在使用Windows。

// 编辑:我还有一个关于Logoutput的问题:是否可以通过LaTeX工具显示错误和警告?像内置的建造者一样?

现在是脚本构建系统。

谢谢

1 个答案:

答案 0 :(得分:0)

您的脚本不起作用,因为LaTeXTools在调用build命令时将shell设置为False。因此,您只能调用程序而不是move之类的shell命令。如果安装了Cygwin或Coreutils,则会发送mv程序,这是unix move命令。它作为程序而不是命令安装,可以在构建器中使用。

只需将您的构建更改为:

"script_commands": [
  "latexmk -cd -e -f -pdf -synctex=1 -interaction=nonstopmode  -auxdir=build -outdir=build",
  "makeglossaries -d build",
  "latexmk -cd -e -f -pdf -synctex=1 -interaction=nonstopmode  -auxdir=build -outdir=build",
  "mv -f \"build\\$file_base_name.pdf\" \"$file_base_name.pdf\"",
  "mv -f \"build\\$file_base_name.synctex.gz\" \"$file_base_name.synctex.gz\"",
  "mv -f \"build\\$file_base_name.log\" \"$file_base_name.log\""
]

回答您的其他问题: 如果您有可用的日志文件,它将自动解析并显示错误和警告。