Sublime Text 2:处理多个文档,构建主文件


9

我目前正在使用LaTeX。我有一个大文件,分成几个子文件。当我在子文档中工作时,我想按ctrl + b而不是我当前所在的文件来编译主文件。我该怎么做?

Answers:


9

我自己找到了答案!如前所述这里,一个只是必须把 %!TEX root = protokoll.tex 作为子文件的第一行!


我真的很感激!!!这个问题使我困惑了一段时间。
Zhigong Li

1

如果您需要3个不同的文件,则可以使用第一行注释(如果需要utf8则使用第二行注释)。我用它来编译其中一个孩子的主要TeX文件。

%!../main_file.tex
\documentclass[12pt,a4paper]{scrartcl}

\usepackage[czech,english]{babel}

我有一个脚本,它看起来在第一行:

match=`head -n1 $1 | grep %!`

if [[ $match ]]
    then
        # do stuff with the parent's name, which is ${match:2:100}
    else
        # no match :/
fi

和一个针对我的自定义脚本的简单构建文件:

{
    "cmd": ["/path/to/build/script.sh", "$file"],
    "selector": "whatever"
}

这样,您可以在文件中根据需要包含多个“引用”。只需切换的值即可head -n1

最后,我向您展示我的XeLaTeX构建脚本;)

#!/bin/bash
file="$1"
flag="-halt-on-error"

match=`head -n1 $file | grep %!`

if [[ $match ]]
    then
        if [ ${match:2:3} = ../ ]
            then
                cd .. &&
                target=${match:5:100}
            else
                target=${match:2:100}
        fi
    else
        target=$file
fi
rubber -c 'set arguments -shell-escape' -f -m xelatex -W all $target

exit 0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.