
Пишу свою бакалаврскую работу (к сожалению, нам говорят использовать MS Word), я использую Tikz для создания своих рисунков. Поскольку у меня есть несколько файлов tikz, я использую автономный пакет для создания .pdf для каждого файла.
Но теперь, когда я меняю, например, размер или стиль шрифта, мне приходится вручную перекомпилировать каждую картинку.
Я знаю, что вы можете скомпилировать более одного tikz-файла внутри standalone, что даст 10 страниц с одним рисунком на каждой. Проблема в том, что они хранятся в одном pdf-файле.
Есть ли возможность, что standalone может создать отдельный файл для каждой фигуры? Более того, было бы здорово, если бы я мог задать имя для этих файлов, чтобы распознавать их позже.
МВЭ:
\documentclass[tikz,multi=true]{standalone}
\begin{document}
\begin{tikzpicture}
\node{Picture 1};
\end{tikzpicture}
## here I want to break the file to create seperate file with name=picture 2
\begin{tikzpicture}
\node{Picture 2};
\end{tikzpicture}
\end{document}
Картина:
РЕДАКТИРОВАТЬ
После внедрения решения от Росса, которое, кажется, делает то, что я намеревался сделать, возникают ошибки:
\documentclass[tikz, multi=true]{standalone}
\usetikzlibrary{external}
\tikzexternalize[prefix=figures/]
\begin{document}
\tikzsetnextfilename{importantFigure}
\begin{tikzpicture}
\node{Picture 1};
\end{tikzpicture}
\tikzsetnextfilename{anotherimportantFigure}
\begin{tikzpicture}
\node{Picture 2};
\end{tikzpicture}
\end{document}
Мои ошибки:
Однако картинки печатаются и сохраняются в одном файле каждая. Но повторный запуск кода приводит к ошибке и картинки не обновляются.
решение1
Для своей диссертации я использовал следующую процедуру:
- Создайте
header_fig.tex
файл, содержащий все пакеты, например\usepackage{...}
, библиотеки\usetikzlibrary{...}
, необходимые для моих изображений или настроек, например,\tikzset{...}
или\pgfplotsset{}
- Создайте одну или несколько картинок tikz в отдельных
.tikz
файлах в следующем формате
\documentclasse[tikz]{standalone}
\usepackage{import}
\import{absolute/path/to/the/header_fig/file}
\begin{document}
\begin{tikzpicture}
<All of your favorite tikz code>
\end{tikzpicture}
\end{document}
Пакет import
избегает относительных путей, если у вас сложное дерево каталогов для всех ваших изображений диссертации.
- Если вы хотите изменить глобальные настройки, просто измените их в
header_fig
файле - Если вы хотите перекомпилировать все ваши изображения, используйте систему
for-loop
илиarara
вызов, см.Правило Арара для автоматической компиляции всех файлов в дереве каталоговнапример.
Эта процедура позволяет иметь отдельные .tikz
и, следовательно, .pdf
файлы с глобальными настройками для всех ваших изображений. И если вы хотите ускорить компиляцию, вы все равно можете добавить очень специфические библиотеки в преамбулу соответствующих изображений.