考虑一下这个MWE:
% to rebuild:
% rm test-testplot.pdf ; pdflatex -shell-escape test.tex
\RequirePackage{filecontents}
\begin{filecontents*}{testplot.tikz}
\begin{tikzpicture}
\begin{axis}[
width=500pt,
height=195pt,
clip=true,
axis x line=middle,
axis y line=middle,
]
\end{axis}
\end{tikzpicture}
\end{filecontents*}
\documentclass[11pt]{book}
\usepackage[
paperwidth=15cm,
paperheight=20cm,
outer=2.5cm,
inner=2.5cm,
top=2.5cm,
bottom=2.5cm
]{geometry}
\usepackage[a4,cam,center]{crop}
\usepackage{tikz,pgfplots,adjustbox,lipsum}
\usetikzlibrary{external}
\tikzexternalize[] %activate!
\begin{document}
\lipsum[1]
\tikzsetnextfilename{\tikzexternalrealjob-testplot}
\begin{figure}[!ht]
\begin{adjustbox}{width=\textwidth}%
\input{./testplot.tikz}
\end{adjustbox}
\caption{Just trying to insert a plot picture here}
\label{fig:test}
\end{figure}
\end{document}
结果有点奇怪,因为实际页面顶部的裁切标记被捕获在tikz
包含 的图像的 PDF 上pgfplots
!仔细看看(通过在 PDF 查看器中选择该区域;单击可获得完整分辨率):
... 事实证明crop
,尽管隐藏了,但包签名也被捕获了。整个页面(包括外部化的 pdf)显示在右侧。
这次我做错了什么,我怎样才能在不捕获裁切标记的情况下外部化这个 tikz pgfplot?(不用说,我希望从主文档完成外部化,因此所有页面大小,字体等更改都会被考虑在内)。
编辑:我一直在使用 tikz 外部化同一文档中的其他几个 tikz 图像(但是没有使用pgfplots
),据我所知,它们没有任何问题...但也许我应该重新检查
答案1
使用以下命令创建图像时抑制裁剪加载\tikzifexternalizing
:(不要忘记删除旧图片或强制重新创建)
\documentclass[11pt]{book}
\usepackage[
paperwidth=15cm,
paperheight=20cm,
outer=2.5cm,
inner=2.5cm,
top=2.5cm,
bottom=2.5cm
]{geometry}
\usepackage{tikz,pgfplots,adjustbox,lipsum}
\usetikzlibrary{external}
\tikzexternalize[] %activate!
\tikzifexternalizing{}{\usepackage[a4,cam,center]{crop}}
\begin{document}
\lipsum[1]
\tikzsetnextfilename{\tikzexternalrealjob-testplot}
\begin{figure}[!ht]
\begin{adjustbox}{width=\textwidth}%
\input{./testplot.tikz}
\end{adjustbox}
\caption{Just trying to insert a plot picture here}
\label{fig:test}
\end{figure}
\end{document}