无法使用 TikZ 生成的外部 PostScript 图片

无法使用 TikZ 生成的外部 PostScript 图片

我正在使用 TikZ 图形中的外部 EPS,遵循“从 TikZ 导出 eps 图形”。图像已正确创建,但当我使用 PS 获取主文档时,dvips我看不到任何图片。这看起来像是图像大小或分辨率的问题,因为我放置图片的页面只显示为白色,带有图片的标题。页面的文本也被覆盖。我没有收到任何错误消息。

我还有其他选择吗dvips

我的代码是:

\hyphenation{Post-Script}
\usepackage{epsfig,import,graphicx,tikz,pgfplots}
\usepgfplotslibrary{external}
\tikzexternalize[prefix=tikzFigures/,shell escape=-enable-write18]
\tikzset{external/system call={latex \tikzexternalcheckshellescape -halt-on-error
-interaction=batchmode -jobname "\image" "\texsource" &&
dvips -o "\image".ps "\image".dvi}} 

\begin{document}

    \begin{figure}[thb]
        \input{images/fig1.tikz}
        \caption{caption}
        \label{fig:label}
    \end{figure}

\end{document}

并运行

latex --src -interaction=nonstopmode -enable-write18

进而

dvips -P pdf

以下是代码images/fig1.tikz

\begin{tikzpicture}

    \begin{axis}[
        name=plot1,
        scale only axis,
        xlabel={$x [m]$},
        ylabel={$y [m]$},
        title={image},
        view={0}{90},
        colormap={bw}{gray(0cm)=(0);gray(1cm)=(1)},
        colorbar
        ]

        \addplot3[surf]file{images/matrix.dat} ;

    \end{axis}

\end{tikzpicture}

我在 Windows XP 系统上使用 MikTeX 2.9。

答案1

一个简单的解决方法是将图表保存为 .pdf 并使用 导入它们graphicx。答案这个问题强烈推荐 .pdf 而不是 .eps,但也许最实用的是 .pdf 查看器和生成器相当普遍。此外,如果您使用pdflatex或,xelatex您可以直接编译为 .pdf,而无需 .dvi 中间件。

不幸的是,正如亨德里克指出的那样,我最初的建议非常过时。

答案2

您说“图像创建正确”……这是否包括正确的边界框?也许最终的图形包含方式是“啊,它是一个 .ps 文件——这意味着它没有边界框,所以我不检查它”。如果这是问题所在,将生成的图像文件重命名为“.eps”可能会有所帮助(通过更新系统调用键)。

如果生成的图像是正确的,包括其边界框:您是否尝试调用\includegraphics{tikzFigures/<main>-figure0}

据我所知,dvips -P pdf应该生成一个有效的 .ps 文件,然后将其发送到名为 pdf 的打印机。您是否尝试过使用,dvips -o test.ps test.dvi然后手动转换为 pdf?也许dvips -P pdfmiktex 中的除了转换为 ps 然后转换为 pdf 之外还做了一些聪明的事情?

这个例子似乎是有效的;我可以在我的 Ubuntu Tex-Live 发行版上成功处理它,使用

latex -shell-escape P && dvips -o P.ps P.dvi && ps2pdf P.ps

祝你好运...

相关内容