使用 \usepgfplotslibrary{external} 和 \tikzexternalize 时,我无法编译甘特图。(编译时也使用编译选项 -shell-escape)我只是从文档中获取了基本示例,它在传统编译时可以正常工作。这是一个最小的例子:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfgantt}
\usepgfplotslibrary{external}
\tikzexternalize
\begin{document}
\begin{ganttchart}{1}{12}
\gantttitle{2011}{12} \\
\gantttitlelist{1,...,12}{1} \\
\ganttgroup{Group 1}{1}{7} \\
\ganttbar{Task 1}{1}{2} \\
\ganttlinkedbar{Task 2}{3}{7} \ganttnewline
\ganttmilestone{Milestone}{7} \ganttnewline
\ganttbar{Final Task}{8}{12}
\ganttlink{elem2}{elem3}
\ganttlink{elem3}{elem4}
\end{ganttchart}
\end{document}
我的真实文档中有一些非常大的数字,因此恐怕我真的需要“外部”。关于如何实现这一点,有什么想法吗?
答案1
我最终发现答案很简单。为了使用外部功能,我只需要将其明确地放在 tikzpicture 环境中。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfgantt}
\usepgfplotslibrary{external}
\tikzexternalize
\begin{document}
\begin{tikzpicture}
\begin{ganttchart}{1}{12}
\gantttitle{2011}{12} \\
\gantttitlelist{1,...,12}{1} \\
\ganttgroup{Group 1}{1}{7} \\
\ganttbar{Task 1}{1}{2} \\
\ganttlinkedbar{Task 2}{3}{7} \ganttnewline
\ganttmilestone{Milestone}{7} \ganttnewline
\ganttbar{Final Task}{8}{12}
\ganttlink{elem2}{elem3}
\ganttlink{elem3}{elem4}
\end{ganttchart}
\end{tikzpicture}
\end{document}
现在我的问题看起来有点愚蠢。抱歉。