2

我需要我的构建系统以“main”作为唯一参数运行 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 版本。注入后我想得到最终结果。

不幸的是,它没有按我的意愿工作。希望您能够帮助我。

4

1 回答 1

3

假设您在 OSX/Linux 上运行,您可以制作一个忽略任何附加参数的快速 bash 脚本,并将该脚本用作您的"cmd". 将以下内容另存~/binmakeglossaries_main.sh

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

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

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

你应该准备好了。

于 2013-06-17T14:07:45.510 回答