Latex, TikZ и отдельная компиляция глав и рисунков
У меня довольно большой латексный документ с большим количеством цифр TikZ внутри. У меня есть привычка к частой перекомпиляции, и требуется вечность, чтобы скомпилировать ее с помощью pdflatex. Цифры в TikZ занимают большую часть времени.
мой вопрос: каков наилучший способ разбить документ на отдельные файлы tex (рисунки/главы) для достижения отдельной компиляции рисунков и глав, отдельных глав PDF-файлов и всего pdf-файла документа ?
4 ответов
вы пробовали компилировать каждое изображение самостоятельно, а затем включать их в свой Tex-файл как pdf, а не код tikz? Вы можете использовать пакет автономный так, что изображение будет точный размер вам нужно. Итак:
\documentclass{standalone}
\usepackage{tikz,pgf} %and any other packages or tikzlibraries your picture needs
\begin{document}
\begin{tikzpicture}
%your tikz code here
\end{tikzpicture}
\end{document}
хорошая вещь в этом заключается в том, что вы можете либо включить компиляцию этого документа непосредственно, чтобы получить фигуру pdf для включения в документ, либо вы можете использовать команду \input, чтобы включить ее в свой основной документ в качестве кода tikz добавление
\usepackage{standalone}
в вашем основном документе (вместе с пакетами и библиотеками tikz), а затем
\begin{figure}
\input{tikzfile.tex}
\end{figure}
есть, возможно, лучший способ (imho)кэш tikz-картинки. Добавьте следующие строки преамбула:
\usetikzlibrary{external}
\tikzexternalize[prefix=i/]
после запуска pdflatex вы увидите все изображения в подкаталоге ./я. Если вы обновите код TikZ-изображения, просто выбросьте соответствующий pdf-файл, и он будет восстановлен. Для получения дополнительной информации см. руководство PFG / TikZ section 32.4 Объективируя Графика и, возможно,32.5 использование внешней графики без pgf Установлено.
Как насчет размещения каждой главы в отдельном файле, а затем с помощью \include
чтобы поместить их в какой-то главный файл? Тогда вы можете использовать \includeonly
только для компиляции главы, над которой вы сейчас работаете. Это, по крайней мере, сэкономит время.
Я ожидаю, что какое-то решение на основе makefile будет еще лучше, чем это, но я ничего не знаю о makefiles...
обычно я применяю Latex только к части файла: Emacs и несколько других редакторов Latex позволяют вам области компилятора: С Auctex вы можете запустить TeX-pin-region, чтобы указать текущую главу, а затем TeX-command-region для запуска Latex в выбранной области.
традиционный способ сделать это-разрезать части большого файла на меньшие части, которые \include
d, а затем либо прокомментируйте части, над которыми вы не хотите работать, либо поместите некоторую макрологию в начало и конец каждого файла, что позволяет их компилировать отдельно.