【问题标题】:Sublime Text3: LaTeX Tools with Custom Command not working correctlySublime Text3:带有自定义命令的 LaTeX 工具无法正常工作
【发布时间】:2016-06-07 06:01:07
【问题描述】:

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

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

第一件事很好:一切都在构建文件夹中。但我无法从该文件夹中取出 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 /y C:\path\to\the\texdocument/build/Document.pdf 也不起作用。 我也尝试过使用' 标志。并复制作为移动的替代品。但没有帮助。

有人可以帮我吗?

P.S.:我使用的是 Windows。

// 编辑:我还有一个关于日志输出的问题:是否可以通过 LaTeX 工具显示错误和警告?喜欢内置的构建器?

现在是脚本构建系统。

谢谢

【问题讨论】:

  • 问题是,LaTeXTools 调用脚本生成器命令时将shell 设置为False。因此move 命令不可用。你使用 cygwin 还是有 Coreutils 可用?可以打开cmd写where mv吗?
  • @r-stein 感谢您的回答。我现在已经安装了 coreutils。 where mv 现在将我引导至 C:\Program Files (x86)\GnuWin32\bin\mv.exe。但是我现在怎样才能启用shell,所以这是真的。或者更好的方法是如何让它现在工作?

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


【解决方案1】:

您的脚本不起作用,因为 LaTeXTools 在调用构建命令时将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\""
]

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

【讨论】:

  • 感谢您的帮助。但它也说每次COULD NOT COMPILE!。它调用的命令是Invoking 'mv -f 'build\Thesis.pdf' Thesis.pdf'...。一切看起来都很好:文件正在构建。但是复制命令不起作用。我已经复制了命令,它似乎又是'sign,这是问题所在。我试过不使用/ 而不是 `` 但没有用。你有想法吗?
  • @CodeRain 很奇怪,对我有用。你能把builder_settings里面的display_log设置为true吗?这会在输出面板中显示每个命令的 shell 输出,并且应该给出有关问题的提示。
  • 现在真的很奇怪。我完全复制了你的命令。它没有用。我启用了日志......它工作。这是什么...?奇怪的。感谢您的帮助!
  • @CodeRain 很高兴为您提供帮助。由于 LaTeXTools 除了编写输出之外完全一样,我认为还有其他原因。这可能是关闭和打开 Sublime Text,以便更新环境变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-12
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 2019-08-08
  • 2017-11-28
相关资源
最近更新 更多