我有一个 TeX 文件,它是用 排版的XeLaTeX
。
该文件位于\includegraphics{coverimage.eps}
第一页,与coverimage.eps
TeX 文件位于同一目录中。操作系统: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 包的错误。我尝试做的是:
正如我所说,
xelatex doc.tex
从控制台可以工作。TextMate 使用的确切命令行是:xelatex -interaction=nonstopmode -file-line-error-style -synctex=1
但它也可以通过控制台运行。
如果我将图像转换为 pdf(并相应地修复 .tex 文件),那么 TextMate 的排版也可以正常工作。
我尝试
rungs
使用错误消息中指定的参数运行,结果得到了带有图像的有效 .pdf 文件。我比较了在 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
。)
并根据终端检查结果。如果确实是这个问题,那么您可以通过手动将PATH
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/bin
到PATH
TextMate 中的变量并修复了该问题。