如何在其他 tex 文件中正确包含 tikz 图片?

如何在其他 tex 文件中正确包含 tikz 图片?

我发现我的 Latex 文档有一种奇怪的行为,但无法解释。以下代码说明了这一点。我有文本,想用复杂的 tikz 图片来说明它,我将其转移到另一个文件,因为它需要很大的空间。现在,如果我用它创建一个 pdf,我会得到三页,即使所有内容都适合一页。我无法解释为什么会发生这种情况。你们有人知道吗?

主文件:

\documentclass{book}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{shapes,external}
\tikzexternalize
\usepackage{lipsum}
\tikzset{naming/.style={align=center,font=\footnotesize}}
\tikzset{area/.style = {draw, shape = regular polygon, regular polygon sides = 6, thick, minimum width = 5cm}}
\begin{document}
\lipsum[2]

\include{tikzcode}

\lipsum[2]
\end{document}

简化的 tikz 文件:

\begin{figure}[htb]
\centering
\begin{tikzpicture}[font=\footnotesize]
\node [area] at (0,0) (cell1) {};
\end{tikzpicture}
\caption{test}
\label{fig:test}
\end{figure}

如果我将 tikz 图片添加到主文件中,我就会得到我想要的单面 pdf。但由于图片非常多,这会导致文档非常混乱,因为我想以这种方式包含几张图片,但总是发生同样的情况。

非常感谢你的帮助。马丁

答案1

因此,答案应该很简单:\include改为\input

\documentclass{book}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{shapes,external}
\tikzexternalize
\usepackage{lipsum}
\tikzset{naming/.style={align=center,font=\footnotesize}}
\tikzset{area/.style = {draw, shape = regular polygon, regular polygon sides = 6, thick, minimum width = 5cm}}
\begin{document}
\lipsum[2]

\input{tikzcode} % that does not insert page breaks

\lipsum[2]
\end{document}

相关内容