使用 {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}(来自standalone包)。此命令会自动丢弃前导码,因此您无需像在没有包的情况下使用时那样取消包含\documentclass[]{}、等的行。实际上,加载包将重新定义宏,因此也将忽略前导码,从而使其行为与命令相同(没有任何选项,请参阅下面的第 3 点)。\usepackage{}\input{}standalonestandalone\documentclass\input\input\includestandalone
  3. \includestandalone[mode=image]{filename}命令能够将内容filename.tex作为 pdf 包含(-shell-escape运行 pdflatex 时需要该选项)。当 TiZ/pgfplots 图形创建起来很复杂,成本也很高。它的工作方式与externalize库类似,而选项mode=tex相当于将代码包含在文章(或任何)文档类begin{tikzpicture}\end{tikzpicture}。此外,选项mode=buildnew允许standalone识别 tex 文件是否比其图像更新,在这种情况下,将构建较新的图像并将其作为 pdf 包含在内以供将来编译。这(在我看来)非常棒。要全局执行此操作(针对所有独立文件),您可以将选项mode=buildnew作为包选项添加到standalone

  4. 如果您安装了 ImageMagick,您tikzpicture只需运行 pdflatex(激活选项-shell-escape)并添加即可轻松地将其转换为 png/jpg 和许多其他格式\documentclass[convert]{standalone}

  5. documentclass 和 package 的文档写得很好,很容易理解。使用standalonearticle有更多优势。

缺点:如果您的文档中要包含的图像很少,并且在计算上易于创建,并且文档本身可以快速生成,那么创建和包含独立文件可能没有好处。

相关内容