Sublime Text 2: Trabajando con múltiples documentos, construyendo un archivo maestro


9

Actualmente estoy trabajando con LaTeX. Tengo un gran documento dividido en varios subdocumentos. Cuando estoy trabajando en un sub documento, me encantaría compilar el archivo maestro al presionar ctrl + b, no el archivo en el que estoy actualmente. ¿Cómo hago eso?

Respuestas:


9

¡Acabo de encontrar la respuesta yo mismo! Como se mencionó aquí , ¡uno solo tiene que poner %!TEX root = protokoll.tex como la primera línea de los subdocumentos!


¡¡¡Realmente lo aprecio!!! Este problema me ha confundido por un tiempo.
Zhigong Li

1

Si tiene 3 archivos diferentes que necesita, puede usar comentarios de primera línea (o segundo si necesita cosas utf8). Lo uso para compilar el archivo TeX principal de uno de los hijos.

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

\usepackage[czech,english]{babel}

Tengo un script que mira la primera línea:

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

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

y un archivo de compilación simple que apunta a mi script personalizado:

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

De esta manera, puede tener tantas "referencias" en sus archivos como desee. Simplemente cambie el valor de head -n1.

Para finalizar, les presento mi script de compilación 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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.