Sublime Text 2: utilizzo di più documenti, creazione di file master


9

Attualmente sto lavorando con LaTeX. Ho un grande documento suddiviso in diversi sottodocumenti. Quando lavoro in un documento secondario, mi piacerebbe compilare il file master premendo Ctrl + B, non il file in cui mi trovo attualmente. Come posso farlo?

Risposte:


9

Ho appena trovato la risposta da solo! Come accennato qui , si deve solo mettere %!TEX root = protokoll.tex come prima riga dei documenti secondari!


Lo apprezzo molto!!! Questo problema mi ha confuso per un po '.
Zhigong Li

1

Se hai 3 diversi file di cui hai bisogno, puoi usare i commenti di prima linea (o secondi se hai bisogno di cose utf8). Lo uso per compilare il file TeX principale da uno dei bambini.

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

\usepackage[czech,english]{babel}

Ho una sceneggiatura, che guarda alla prima riga:

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 un semplice file di build che mira al mio script personalizzato:

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

In questo modo, puoi avere tutti i "riferimenti" nei tuoi file che desideri. Basta cambiare il valore di head -n1.

Per finire, vi presento il mio script di compilazione 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.