\usepackage{tikz}
我发现,当之前有 时,如果删除,那么即使删除 ,\documentclass[tikz, border=2mm]{standalone}
得到的图像也是一样的。所以当我们不考虑灰色区域时,具有与 相同的功能。但是当我搜索代码时,我经常看到人们在有 时不删除。当有 时, 不是可以在不改变结果的情况下删除吗?\usepackage{tikz}
\documentclass[tikz, border=2mm]{standalon}
\documentclass{article} \usepackage{tikz}
\usepackage{tikz}
\documentclass[tikz, border=... mm]{standalone}
\usepackage{tikz}
\documentclass[tikz, border=... mm]{standalone}
\documentclass[tikz,border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[axisline/.style={very thick,-stealth}]
\draw[axisline] (0,0,0)--(1,0,0) node[right]{$x$};
\draw[axisline] (0,0,0)--(0,1,0) node[above]{$y$};
\draw[axisline] (0,0,0)--(0,0,1) node[below left]{$z$};
\end{tikzpicture}
\end{document}
答案1
是的,如果您为documentclass\usepackage{tikz}
提供了选项,则可以删除。tikz
standalone
来自standalone.cls
,第 237 至 242 行(适用于 2015/07/15 v1.2)
\sa@clsoption{tikz}[true]{%
\sa@boolean{tikz}{#1}%
\ifsa@tikz
\setkeys{standalone.cls}{multi=tikzpicture,varwidth=false}%
\fi
}
它基本上是说,如果你给出tikz
一个 documentclass 选项,sa@tikz
布尔值将设置为true
,并且键值对multi=tikzpicture,varwidth=false
将被赋予 documentclass。
来自同一文件的第 549 至 551 行:
\ifsa@tikz
\RequirePackage{tikz}
\fi
因此,如果您tikz
为standalone
documentclass 提供一个选项,它将自动加载tikz
包,因为\RequirePackage
这是在类文件中加载包的方式。
结论:使用
\documentclass[tikz]{standalone}
与使用效果相同
\documentclass{standalone}
\usepackage{tikz}
适用于单一tikzpicture
环境。
笔记:正如@wrtlprnft 在评论中提到的那样,\documentclass[tikz]{standalone}
还设置了multi=tikzpicture
和varwidth=false
。这些额外的选项使得每个tikzpicture
环境在生成的输出文件中都有自己的页面(请参阅这standalone
了解有关 的更多详细信息varwidth
)。
所以如果你想确保输出完全相同,
\documentclass[tikz]{standalone}
相当于
\documentclass[multi=tikzpicture,varwidth=false]{standalone}
\usepackage{tikz}