Sublime Text 2 - 构建系统中的makeglossaries

时间:2013-06-17 09:29:43

标签: latex customization build-process sublimetext2 glossaries

我需要我的构建系统以“main”作为ONLY参数运行makeglossaries,但是sublime总是将当前文件名作为最终参数附加。我该如何防止这种情况?

执行命令如下所示(在命令行下):

$: makeglossaries main

我当前的.sublime-build文件如下所示:

{
    // General settings; DO NOT MODIFY!!!
    "target": "make_pdf",
    "selector": "text.tex.latex",

    // Windows-specific settings
    // -------------------------
    "windows":
        {

            "cmd": ["texify", 
                    "-b", "-p",
                    "--tex-option=\"--synctex=1\""
            ],

            "cmd": ["makeglossaries",
                    "main"
            ],

            "cmd": ["texify", 
                    "-b", "-p",
                    "--tex-option=\"--synctex=1\""
            ],          

            "path": "",

            "file_regex": "^((?:.:)?[^:\n\r]*):([0-9]+):?([0-9]+)?:? (.*)$"
        },

}

如果你问我为什么要两次调用texify,那是因为makeglossaries需要有一个prebuild tex版本,它可以在其上注入词汇表。注射后我想得到最终结果。

不幸的是,它不能按我的意愿行事。希望你能帮帮我。

1 个答案:

答案 0 :(得分:3)

假设您在OSX / Linux上运行,您可以制作一个快速bash脚本,忽略任何其他参数,并将该脚本用作"cmd"。将~/bin中的以下内容保存为makeglossaries_main.sh

#!/bin/bash
/path/to/makeglossaries main

然后将构建系统中的相关行更改为:

"cmd": ["/home/adrian/bin/makeglossaries_main.sh"]

你应该全力以赴。