我正在循环内生成一组图形foreach
。我想将每个图形保存为单独的图像(带有任何扩展名)。我该如何实现?以下是我用来生成图形的代码:
\documentclass[11pt]{article}
\usepackage{float}
\usepackage{tikz}
\begin{document}
\foreach \x/\y in {3.8/4,5.7/5,6.4/5 }
{
\begin{figure}[H]
\centering
\begin{tikzpicture}
\draw[draw=black, very thick, fill=gray!30] (0,0) rectangle ++(\x,\y);
\end{tikzpicture}
\caption{Base \x~cm and height \y~cm.}
\end{figure}
}
\end{document}
实际上,我在循环内生成了超过 200 个复杂图形。有人能给我指出正确的方向吗?
答案1
通过使用 的tikz
库,external
您在其中创建的所有图像tikzpicture
将在创建时自动在外部保存为单独的文件(在下面的情况下,保存在工作文件夹中的 /tikzpics 中)。这的主要优点是后续编译不会重新创建每个图像,而是在保存文件夹中搜索并加载它们,除非它们在源代码中被修改。
\documentclass[11pt]{article}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\tikzsetexternalprefix{tikzpics/}
\begin{document}
\foreach \x/\y in {3.8/4,5.7/5,6.4/5 }
{
\begin{figure}[H]
\centering
\begin{tikzpicture}
\draw[draw=black, very thick, fill=gray!30] (0,0) rectangle ++(\x,\y);
\end{tikzpicture}
\caption{Base \x~cm and height \y~cm.}
\end{figure}
};
\end{document}
这样,您创建的所有图像都将作为单独的 pdf 文件出现在指定的文件夹中。
您可以查看 pgfmanual 的第 52 节,了解有关其工作原理的更多详细信息。请注意,要使外部化工作,您必须启用系统调用(您可以参考手册)。