使用 {standalone} 來取代 {article} 有什麼好處?

使用 {standalone} 來取代 {article} 有什麼好處?

當我更改articlestandalone結果時,除了圖片周圍的邊緣變成灰色之外,沒有顯示任何差異。那麼{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}(來自standalone包裹)。此命令會自動丟棄前導碼,因此您不需要取消包含 等的行\documentclass[]{},就像在不使用套件的\usepackage{}情況下使用時所做的那樣。事實上,載入套件將重新定義宏,這樣也會忽略前導碼,使其行為與命令相同(沒有任何選項,請參閱下面的第 3 點)。\input{}standalonestandalone\documentclass\input\input\includestandalone
  3. \includestandalone[mode=image]{filename}命令能夠包含filename.texpdf 格式的內容(它需要選項-shell-escape執行 pdflatex 時需要該選項)。當 TikZ/pgfplots 圖形的創建非常複雜且昂貴。它的工作方式類似於externalize庫,而該選項mode=tex相當於在文章(或其他)文檔類別之間begin{tikzpicture}和其中包含程式碼。\end{tikzpicture}此外,該選項mode=buildnew還可以standalone識別 tex 檔案是否比其圖像更新,在這種情況下,會建立較新的圖像並將其包含為 pdf 以供將來編譯。 (在我看來)這太棒了。若要全域執行此操作(對於所有獨立檔案),您可以將該選項mode=buildnew作為套件選項新增至standalone.

  4. 如果您安裝 ImageMagick,tikzpicture只需執行 pdflatex(-shell-escape啟動該選項),只需新增\documentclass[convert]{standalone}.

  5. 文檔類和包的文檔都寫得很好並且易於理解。那裡有更多使用standaloneover 的優點。article

缺點:如果要包含在文件中的圖像很少,並且在計算上易於創建,並且文件本身可以快速生成,那麼創建和包含獨立文件可能沒有好處。

相關內容