将 tikz 转换为 \includegraphics

将 tikz 转换为 \includegraphics

我有一篇论文,其中有很多用 tikz 生成的图形,但我被要求提供一个不使用任何“非标准技巧”的版本,即使用随附的图像\includegraphics

当然,我可以逐一生成每个 tikz 图像的单独 pdf,然后将它们包含在我的 LaTeX 文档中,并摆弄以获得相同的布局 - 但我想知道是否有办法自动执行部分或全部此过程。

那么是否存在现有的方法可以自动遍历 LaTeX 文档中的每个 tikz 图片并创建具有适当尺寸的 pdf 图像,以便插入时具有相同的大小\includegraphics

答案1

您可以使用外部化库。我添加了一个自动再生功能,它比 pgf 包中实现的功能更适合我。

在您的标题中:

\usepackage{filemod}             % needed for tikz externalization automation
\usepackage{pgf}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usetikzlibrary{external}
\tikzexternalize
\tikzset{external/figure list=true}
\tikzset{external/up to date check=simple} % manual up to date check with filemod
%%% tikz include command
\newcommand{\tikzcustomremake}[2]{%
  \tikzset{external/remake next}%
  \message{figure #2 was automatically rebuilt}%
}
\newcommand{\includetikz}[2]{%
  \tikzsetnextfilename{#1tikz_external/#2}%
  \filemodCmp{#1#2.tikz}{#1tikz_external/#2.pdf}%
    {\tikzcustomremake{#1}{#2}}% tikz is newer => remake
    {}%
  \input{#1#2.tikz}%
}

在您的文档中:

%\tikzset{external/export=false}
\begin{figure}[htbp]
  \centering
  \small\includetikz{fig/matlab/}{plot5}
  \caption{title}
  \label{fig:tikz5}
\end{figure}

相关内容