我正在尝试提取/转换tikzpicture
为适合 powerpoint 的格式,而不会损失质量。我找到并调整的代码如下:
\documentclass[a4paper]{scrartcl}
\usepackage{pgfplots, tikz}
\pgfrealjobname{mytikzpicture}
\begin{document}
\beginpgfgraphicnamed{outputpicture}%
\begin{tikzpicture}
\begin{axis} [height=7cm, width=10cm, title=\textbf{Title}, xlabel= XYZ, ylabel = ABC]
\addplot coordinates {(0,-30) (30,-30) (60, 0) (90, 30) (120, 60) (150, 90) (200, 140)} node[pos=0.115,pin=-360:{A}] {};
\addplot coordinates {(0, -40) (30, -40) (30, 60) (60, 60) (90, 60)(120, 60) (150, 60) (200, 60)} node[pos=0.734,pin=-90:{B}] {};
\legend {{XYZ}, {ABC}}
\end{axis}
\end{tikzpicture}
\endpgfgraphicnamed
\end{document}
mytikzpicutre
是包含初始图表的文件的名称。我将输出命名为outputpicture
;整个代码都保存在名称 output 下。但是我收到一个错误:
pgf: Sorry, image externalization failed: the resulting image wdpgfgraphicnamed'.
有人能帮我解决这个问题吗?
答案1
您可以使用 Python 脚本“tikz2pdf”(http://kogs-www.informatik.uni-hamburg.de/~meine/software/scripts/tikz2pdf): 将 tikz 图像保存在单独的文件中(例如 foo.tex):
\begin{tikzpicture}
\begin{axis} [height=7cm, width=10cm, title=\textbf{Title}, xlabel= XYZ, ylabel = ABC]
\addplot coordinates {(0,-30) (30,-30) (60, 0) (90, 30) (120, 60) (150, 90) (200, 140)} node[pos=0.115,pin=-360:{A}] {};
\addplot coordinates {(0, -40) (30, -40) (30, 60) (60, 60) (90, 60)(120, 60) (150, 60) (200, 60)} node[pos=0.734,pin=-90:{B}] {};
\legend {{XYZ}, {ABC}}
\end{axis}
\end{tikzpicture}
运行“tikz2pdf foo.tex”。
请注意,如果您之前没有运行该脚本,它将生成一个名为 .tikz2pdf.tex 的模板文件,并且它不包括“pgfplots”包默认值。
如果您不想使用 tikz2pdf 脚本,您可以复制它提供的模板文件:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage[graphics,tightpage,active]{preview}
\PreviewEnvironment{tikzpicture}
\newlength{\imagewidth}
\newlength{\imagescale}
\begin{document}
\begin{tikzpicture}
\begin{axis} [height=7cm, width=10cm, title=\textbf{Title}, xlabel= XYZ, ylabel = ABC]
\addplot coordinates {(0,-30) (30,-30) (60, 0) (90, 30) (120, 60) (150, 90) (200, 140)} node[pos=0.115,pin=-360:{A}] {};
\addplot coordinates {(0, -40) (30, -40) (30, 60) (60, 60) (90, 60)(120, 60) (150, 60) (200, 60)} node[pos=0.734,pin=-90:{B}] {};
\legend {{XYZ}, {ABC}}
\end{axis}
\end{tikzpicture}
\end{document}
使用 pdflatex 编译它,您将获得一个紧密裁剪图像的 pdf 文件。
我希望这有帮助!