Sublime Text 2: Trabalhando com vários documentos, construindo um arquivo mestre

9

Atualmente, estou trabalhando com o LaTeX. Eu tenho um grande documento dividido em vários sub-documentos. Quando estou trabalhando em um sub-documento, adoraria compilar o arquivo mestre ao pressionar ctrl + b, não o arquivo em que estou atualmente. Como faço isso?

elumbella
fonte

Respostas:

9

Acabei de encontrar a resposta! Como mencionado aqui , basta colocar %!TEX root = protokoll.tex como primeira linha dos sub-documentos!

elumbella
fonte
Eu realmente gostei disso!!! Esse problema me confundiu por um tempo.
Zhigong Li
1

Se você tiver três arquivos diferentes, poderá usar os comentários de primeira linha (ou segundo, se precisar de coisas do utf8). Eu o uso para compilar o arquivo TeX principal de uma das crianças.

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

\usepackage[czech,english]{babel}

Eu tenho um script, que olha para a primeira linha:

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

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

e um arquivo de compilação simples visando meu script personalizado:

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

Dessa forma, você pode ter quantas "referências" em seus arquivos desejar. Apenas mude o valor de head -n1.

Para finalizar, apresento a você meu script de construção do 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
mreq
fonte