我使用命令 '\begin{tikzpicture} ..\end{tikzpicture}' 在我的文章中绘制图形。首先,我从文本文件中的 matlab 中提取数据,然后使用 \addplot 和所有选项。这很棒,但我的汇编非常非常长(我有很多图)。是否可以将所有图放在 tikz 外部文件中(有时我可以修改)并转换为 pdf 文件(因为使用 \includegraphics 处理 pdf 文件非常快)?
答案1
您可以将tikzpicture
s 处理为独立文档,然后将其作为图片包含。例如,文件myplot.tex
可能包含
\documentclass[border=0.1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[...]
...
\end{axis}
\end{tikzpicture}
\end{document}
然后,您的主文档将包含生成的 pdf:
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{myplot.pdf}
\end{document}
答案2
我的建议是将绘图的 tikz 代码放在单独的文件中,这样更易于管理。我使用别名来\input
包含这些文件,以防以后需要特殊处理。
\documentclass{article}
\newcommand{\tikzinput}[1]{%
\input{#1}%
}
\begin{document}
\tikzinput{myplot.tikz}
\end{document}
其次,您应该使用\tikzexternalize
来加速编译。请参阅 pgfplots 手册:7.1.1 使用 TikZ 的自动外部化框架
\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{external}
\tikzexternalize% activate externalization!
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x^2};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
答案3
作为使用方法的替代方案,tikzexternalize
如果文档是稳定的并且您将对 进行少量修改tikzpicture
,最好将其处理为单独的文件并将它们作为图像 (或\input{file-tkz-1.tex}
) 包含。ltximg
您可以用脚本执行以下操作:
$ ltximg --subenv --imgdir=mypics --prefix=tkz -o test-out test-in.tex
现在您将拥有一个将环境转换为图像的文档tikzpicture
(保留字体的一致性),并且每个
tikzpicture
环境也将位于单独的文件中(以防您需要进行一些额外的修改)。首先检查文档以查看输入文件必须满足的选项和条件。