2016-06-07 29 views
0

我需要自定义LaTeX工具中的设置,以便词汇表包能够正常工作。Sublime Text3:带自定义命令的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。

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

这是现在的脚本构建系统。

感谢

+0

问题是,LaTeXTools在'shell'设置为False时调用脚本构建器命令。因此'move'命令不可用。你使用cygwin还是使用Coreutils?你可以打开cmd并写“mv”吗? –

+0

@ r-stein谢谢你的回答。我已经安装了coreutils。 'mv'现在指向'C:\ Program Files(x86)\ GnuWin32 \ bin \ mv.exe'。但是我现在怎么才能启用'shell',这是事实。或者更好,我现在怎样才能使它工作? – CodeRain

回答

0

您的脚本不工作,因为LaTeXTools调用编译命令时设置shellFalse。因此,你只能调用程序,而不是像move那样的shell命令。如果您安装了Cygwin或Coreutils,它们将运行mv程序,该程序是unix移动命令。它作为程序而不是命令安装,可以在构建器中使用。

只要改变你的构建到:

"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\"" 
] 

要回答你的另一个问题: 如果您有可用它会自动解析和显示错误和警告日志文件。

+0

感谢您的帮助。但它也说每次'可以不编译!'。它调用的命令是'调用'mv -f'build \ Thesis.pdf'Thesis.pdf'...'。一切看起来都很好:File is build。但复制命令不起作用。我复制了命令,它似乎再次成为问题的'''符号。我试过没有,用'/'而不是'\',但没有工作。你有想法吗? – CodeRain

+0

@CodeRain奇怪的,适合我。你可以在'builder_settings'内设置'display_log'为'true'吗?这显示了输出面板中每个命令的shell输出,并应提供有关该问题的提示。 –

+0

那现在真的很奇怪。我完全复制了你的命令。它没有工作。我启用了日志...它工作。这是什么...?奇怪。感谢您的帮助! – CodeRain