Câu trả lời:
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