Sublime Text 2: Làm việc với nhiều tài liệu, xây dựng tệp chủ


9

Tôi hiện đang làm việc với LaTeX. Tôi có một tài liệu lớn được chia thành nhiều tài liệu phụ. Khi tôi đang làm việc trong một tài liệu phụ, tôi rất muốn biên dịch tệp chính khi nhấn ctrl + b, chứ không phải tệp tôi hiện đang ở. Làm thế nào để tôi làm điều đó?

Câu trả lời:


9

Tôi chỉ tìm thấy câu trả lời cho mình! Như đã đề cập ở đây , người ta chỉ cần đặt %!TEX root = protokoll.tex dòng đầu tiên của tài liệu phụ!


Tôi rất trân trọng điều này!!! Vấn đề này đã làm tôi bối rối trong một thời gian.
Zhigong Li

1

Nếu bạn có 3 tệp khác nhau bạn cần, bạn có thể sử dụng nhận xét dòng đầu tiên (hoặc thứ hai nếu bạn cần nội dung utf8). Tôi sử dụng nó để biên dịch tệp TeX chính từ một trong những đứa trẻ.

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

\usepackage[czech,english]{babel}

Tôi có một kịch bản, nhìn vào dòng đầu tiên:

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

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

và một tệp xây dựng đơn giản nhắm vào tập lệnh tùy chỉnh của tôi:

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

Bằng cách này, bạn có thể có nhiều "tài liệu tham khảo" trong các tệp của mình như bạn muốn. Chỉ cần chuyển đổi giá trị của head -n1.

Để kết thúc, tôi giới thiệu với bạn tập lệnh xây dựng XeLaTeX của tôi;)

#!/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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.