В чем преимущество использования {standalone} вместо {article}?

В чем преимущество использования {standalone} вместо {article}?

Когда я меняю 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

Главные преимущества, на мой взгляд, это:

  1. Вы можете легко скомпилировать свой рисунок и внести изменения, не составляя весь документ.
  2. Вы можете включить автономный файл .tex с помощью \includestandalone{filename}команды (изstandalonepackage). Эта команда автоматически отбрасывает преамбулу, поэтому вам не нужно отменять строки \documentclass[]{}, содержащие \usepackage{}и т. д., как вы бы сделали при использовании \input{}без standaloneпакета. Действительно, загрузка standaloneпакета переопределит \documentclassмакрос, так что он также \inputбудет игнорировать преамбулу, делая поведение таким \inputже, как у \includestandaloneкоманды (без каких-либо опций, см. пункт 3 ниже).
  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.

  4. Если вы установите ImageMagick, вы сможете легко конвертировать tikzpictureв png/jpg и многие другие форматы, просто запустив pdflatex (с активированной опцией -shell-escape) и просто добавив \documentclass[convert]{standalone}.

  5. Документация как documentclass, так и package хорошо написана и проста для понимания. Дополнительные преимущества использования standaloneover articleдоступны там.

Недостатки: если изображений, которые необходимо включить в документ, немного, и их создание требует небольших вычислительных затрат, а сам документ может быть создан быстро, то создание и включение отдельного файла может оказаться нецелесообразным.

Связанный контент