Піднесений текст 2: Робота з декількома документами, створення головного файлу


9

Зараз я працюю з LaTeX. У мене великий документ, розділений на кілька піддокументів. Коли я працюю в піддокументі, я б хотів скласти головний файл при натисканні клавіш ctrl + b, а не файл, в якому я зараз перебуваю. Як це зробити?

Відповіді:


9

Я просто знайшов відповідь сам! Як згадувалося тут , треба просто поставити %!TEX root = protokoll.tex як перший рядок піддокументів!


Я дійсно ціную це!!! Ця проблема мене на деякий час бентежила.
Чжигун Лі

1

Якщо у вас є три різні потрібні файли, ви можете використовувати коментарі першого рядка (або друге, якщо вам потрібні utf8). Я використовую його для складання головного файлу TeX від одного з дітей.

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

\usepackage[czech,english]{babel}

У мене є сценарій, який переглядає перший рядок:

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

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

і простий файл збірки, спрямований на мій спеціальний сценарій:

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

Таким чином, ви можете мати стільки "посилань" у своїх файлах, скільки хочете. Просто переключіть значення head -n1.

На закінчення я представляю вам мій сценарій збірки 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.