
Когда я меняю article
на standalone
результат не показывает никакой разницы, за исключением того, что края вокруг картинки становятся серыми. Тогда в чем преимущество использования {standalone}
по сравнению с {article}
?
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[step=1cm, color=gray] (0, 0) grid (3, 2);
\end{tikzpicture}
\end{document}
\documentclass[margin=10pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[step=1cm, color=gray] (0, 0) grid (3, 2);
\end{tikzpicture}
\end{document}
решение1
Главные преимущества, на мой взгляд, это:
- Вы можете легко скомпилировать свой рисунок и внести изменения, не составляя весь документ.
- Вы можете включить автономный файл .tex с помощью
\includestandalone{filename}
команды (изstandalone
package). Эта команда автоматически отбрасывает преамбулу, поэтому вам не нужно отменять строки\documentclass[]{}
, содержащие\usepackage{}
и т. д., как вы бы сделали при использовании\input{}
безstandalone
пакета. Действительно, загрузкаstandalone
пакета переопределит\documentclass
макрос, так что он также\input
будет игнорировать преамбулу, делая поведение таким\input
же, как у\includestandalone
команды (без каких-либо опций, см. пункт 3 ниже). Команда
\includestandalone[mode=image]{filename}
может включать содержимоеfilename.tex
в виде PDF-файла (требуется опция-shell-escape
при запуске pdflatex). Это особенно полезно, когда TiкРисунок Z/pgfplots сложен и дорог в создании. Он работает какexternalize
библиотека, в то время как опцияmode=tex
эквивалентна включению кода междуbegin{tikzpicture}
и\end{tikzpicture}
в ваш класс документа article (или что-то еще). Кроме того, опцияmode=buildnew
позволяетstandalone
распознавать, является ли файл tex более новым, чем его изображение, и в этом случае новое изображение создается и включается как pdf для будущих компиляций. Это (по моему мнению) фантастично. Чтобы сделать это глобально (для всех ваших автономных файлов), вы можете добавить опциюmode=buildnew
как опцию пакета вstandalone
.Если вы установите ImageMagick, вы сможете легко конвертировать
tikzpicture
в png/jpg и многие другие форматы, просто запустив pdflatex (с активированной опцией-shell-escape
) и просто добавив\documentclass[convert]{standalone}
.- Документация как documentclass, так и package хорошо написана и проста для понимания. Дополнительные преимущества использования
standalone
overarticle
доступны там.
Недостатки: если изображений, которые необходимо включить в документ, немного, и их создание требует небольших вычислительных затрат, а сам документ может быть создан быстро, то создание и включение отдельного файла может оказаться нецелесообразным.