外部化 pgfplots 时,Tikzexternal 会捕获裁切标记吗?

外部化 pgfplots 时,Tikzexternal 会捕获裁切标记吗?

考虑一下这个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 查看器中选择该区域;单击可获得完整分辨率):

测试-sel-pdf.png 测试.png

... 事实证明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}

相关内容