Вопрос

У меня есть довольно большой латексный документ со множеством фигурок TikZ внутри.У меня есть привычка к частой перекомпиляции, и компиляция с использованием pdflatex занимает целую вечность.Фигурки в TikZ занимают большую часть времени.

Мой вопрос: как лучше всего разделить документ на отдельные текстовые файлы (рисунки/главы), чтобы добиться отдельной компиляции рисунков и глав, отдельных PDF-файлов глав и всего PDF-файла документа?

Это было полезно?

Решение

Вы пытались компилировать каждое изображение самостоятельно, а затем в том числе в своем файле 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, чтобы включить в ваш документ, или вы можете использовать команду \ вход, чтобы включить его в основной документ в качестве кода TikzДобавление

\usepackage{standalone}
.

В вашем основном документе (вместе с пакетами и библиотеками Tikz), а затем

\begin{figure}
\input{tikzfile.tex}
\end{figure}
.

Другие советы

Есть возможно, лучше (imho) для cache tikz-картинки .Добавьте следующие строки в вашем Преамбула:

\usetikzlibrary{external}
\tikzexternalize[prefix=i/]
.

После pdflatex-run вы увидите все изображения в подкаталоге ./i. Если вы обновите код Tikz-изображения, просто выбросьте соответствующий PDF-файл, и он будет регенерирован.Для получения дополнительной информации см. Руководство по разделу PFG / TIKZ 32.4 Externalization Graphics И, возможно, 32,5 с использованием внешней графики без PGF установлен .

Как насчет положения каждой главы в отдельный файл, а затем используя \include, чтобы положить их в какой-то основной файл?Затем вы можете использовать \includeonly, чтобы только собрать главу, на которой вы сейчас работаете.Это должно сэкономить некоторое время, по крайней мере.

Я ожидаю, что какое-то решение на основе Makefile будет даже лучше, чем это, но я ничего не знаю о Makefiles ...

Обычно я это делаю, применяя Latex только к части файла:Emacs и некоторые другие редакторы Latex позволяют компилировать регионы:с Auctex вы можете запустить TeX-pin-region, чтобы указать текущую главу, а затем TeX-command-region, чтобы запустить Latex в выбранном регионе.

Традиционный способ сделать это — разрезать части большого файла на более мелкие части, которые затем \included, а затем либо закомментируйте части, над которыми вы не хотите работать, либо поместите некоторую макрологию в начало и конец каждого файла, что позволит их компилировать отдельно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top