在 TextMate 中排版 TeX 文件时出现“pdf_open:不是 PDF 1.[1-5] 文件。”

在 TextMate 中排版 TeX 文件时出现“pdf_open:不是 PDF 1.[1-5] 文件。”

我有一个 TeX 文件,它是用 排版的XeLaTeX

该文件位于\includegraphics{coverimage.eps}第一页,与coverimage.epsTeX 文件位于同一目录中。操作系统:MacOS 10.6.5、TextMate 1.5.10、xelatex 3.1415926-2.2-0.9997.4(TeX Live 2010)

如果我xelatex doc.tex在控制台中运行,文件编译时不会出错,并且包含 eps 文件。如果我在 TextMate 中排版(在首选项中选择了 xelatex 引擎),我会收到以下错误:

** WARNING ** pdf_open: Not a PDF 1.[1-5] file.
** WARNING ** Failed to include image file "./coverimage.eps"
** WARNING ** >> Please check if
** WARNING ** >> rungs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile=%o %i -c quit
** WARNING ** >> %o = output filename, %i = input filename, %b = input filename without suffix
** WARNING ** >> can really convert "./coverimage.eps" to PDF format image.
** WARNING ** pdf: image inclusion failed for "coverimage.eps".
** WARNING ** Failed to read image file: coverimage.eps
** WARNING ** Interpreting special command PSfile (ps:) failed.
** WARNING ** >> at page="1" position="(107.149, 124.566)" (in PDF)
** WARNING ** >> xxx "PSfile="coverimage.eps" llx=0 lly=0 urx=408 ury=526 rwi=3809 

并且生成的文件中不包含任何图像(但文本看起来正常)。

我不确定这是 xelatex 还是 TextMate LaTeX 包的错误。我尝试做的是:

  1. 正如我所说,xelatex doc.tex从控制台可以工作。TextMate 使用的确切命令行是:

    xelatex -interaction=nonstopmode -file-line-error-style -synctex=1
    

    但它也可以通过控制台运行。

  2. 如果我将图像转换为 pdf(并相应地修复 .tex 文件),那么 TextMate 的排版也可以正常工作。

  3. 我尝试rungs使用错误消息中指定的参数运行,结果得到了带有图像的有效 .pdf 文件。

  4. 我比较了在 TextMate 和控制台中排版的 .log 文件,除了这个错误信息之外,它们完全相同(特别是,版本是xelatex相同的)。

有人知道这是什么原因造成的吗?如果您需要任何其他信息,请告诉我。

先感谢您。

答案1

Ghostscript也rungs提供了此功能,我猜想您的计算机上安装了较旧的 Ghostscript。由于某种原因,TextMate 中的 PATH 与终端中的路径不同,因此仅在 TextMate 中调用较旧的版本。

要测试这一点,您可以使用 TextMate 的“执行行插入结果”(绑定到 ^R)。在新的 TextMate 文档中,尝试以下命令:

which rungs

rungs -v

echo $PATH(请注意,TextMate 将其自己的资源添加到$PATH,因此这会有所不同。关注系统目录的顺序,如/usr/texbin/usr/local/bin。)

并根据终端检查结果。如果确实是这个问题,那么您可以通过手动将PATHTextMate 高级首选项窗口中的变量设置为与终端中的变量相同来解决此问题。

TextMate 的高级偏好设置


编辑:这个最小示例可以用 XeLaTeX 或 pdfLaTeX 来编译吗?我使用demo.eps/usr/local/texlive/2010/texmf-dist/doc/latex/guide-to-latex/demo.eps

\documentclass{minimal}
\usepackage{graphicx}
\begin{document}
  \includegraphics{demo.eps}
\end{document}

答案2

我终于找到了解决方案。我尝试搜索Cannot open Ghostscript for piped input我在评论中提到的短语,结果发现这条信息。添加/usr/local/binPATHTextMate 中的变量并修复了该问题。

相关内容