Sublime Text 2: Bekerja dengan banyak dokumen, membuat file master

9

Saat ini saya bekerja dengan LaTeX. Saya memiliki dokumen besar yang dibagi menjadi beberapa sub dokumen. Ketika saya bekerja di sub dokumen, saya ingin mengkompilasi file master saat menekan ctrl + b, bukan file yang saat ini saya masuki. Bagaimana saya melakukannya?

elumbella
sumber

Jawaban:

9

Saya baru saja menemukan jawabannya sendiri! Seperti disebutkan di sini , kita hanya perlu meletakkan %!TEX root = protokoll.tex sebagai baris pertama dari sub dokumen!

elumbella
sumber
Saya sangat menghargai itu!!! Masalah ini membingungkan saya untuk sementara waktu.
Zhigong Li
1

Jika Anda memiliki 3 file berbeda yang Anda butuhkan, Anda dapat menggunakan komentar baris pertama (atau kedua jika Anda memerlukan hal utf8). Saya menggunakannya untuk mengkompilasi file TeX utama dari salah satu anak.

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

\usepackage[czech,english]{babel}

Saya punya skrip, yang terlihat di baris pertama:

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

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

dan file build sederhana yang mengarah ke skrip khusus saya:

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

Dengan cara ini, Anda dapat memiliki "referensi" dalam file sebanyak yang Anda inginkan. Ganti saja nilai head -n1.

Untuk mengakhiri, saya berikan skrip pembuatan XeLaTeX saya;)

#!/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
sumber