9 votos

Sublime Text 2: Trabajar con varios documentos, archivo maestro de construcción

Actualmente estoy trabajando con el látex. Tengo un documento grande dividido en varios documentos de la sub. Cuando yo estoy trabajando en un documento de sub, me encantaría compilar el archivo principal al presionar ctrl + b, no el archivo en que actualmente estoy. ¿Cómo lo hago?

9voto

zhermes Puntos 1797

Yo sólo encontré la respuesta! Como mencionado aquí, sólo hay que poner %!TEX root = protokoll.tex como la primera línea de los documentos de la sub.

1voto

Chris Kolenko Puntos 88

Si usted tiene 3 archivos diferentes que usted necesita, usted puede usar la primera línea (o el segundo si necesita utf8 cosas) comentarios. Yo lo uso para compilar el principal TeX archivo de uno de los niños.

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

\usepackage[czech,english]{babel}

Tengo un script, que se ve en 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 simple archivo de construcción destinado a mi script personalizado:

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

De esta manera, usted puede tener muchos "referencias" en sus archivos como desee. Solo tienes que cambiar el valor de head -n1.

Para terminar, os presento a mi XeLaTeX script de compilación ;)

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

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: