使用 eps2pdf 嵌入位图的质量

使用 eps2pdf 嵌入位图的质量

我正在使用 REVTEX 4.1 编译单个文件。我的图像文件是 .eps 文件,epstopdf 正在编译时转换它们。我加载了以下软件包,

\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{epstopdf}

一切都很好,除了嵌入图像的位图质量太差。它们似乎被严重压缩了。我怀疑我需要为 epstopdf 设置一个选项,但我不知道该设置什么。我试过了

\epstopdfsetup{quality=100}

并得到错误包 keyval 错误:质量未定义。这;

http://ctan.mirrorcatalogs.com/macros/latex/contrib/oberdiek/epstopdf.pdf

没有提到质量。

我无法使用基于矢量的格式来渲染它。此外,eps 是此特定期刊的首选格式。有人能帮忙吗?

编辑后添加:我使用 CorelDraw,并导出 .eps。如果我通过将 .eps 重新加载到 CorelDraw 中来检查,它看起来不错。如果我以类似的方式检查 eps-converted-to.pdf,它看起来非常糟糕。见下文 - 左边是 epstopdf 之前,右边是之后。

不同质量的图表

进一步编辑并添加:

以下链接:http://www.latex-community.org/forum/viewtopic.php?f=5&t=3025建议以下内容;

\DeclareGraphicsExtensions{.eps,.pdf}
\DeclareGraphicsRule{.eps}{pdf}{.pdf}{`epstopdf --gsopt="-dPDFSETTINGS=/prepress -dAutoFilterColorImages=false -dAutoFilterGrayImages=false -sColorImageFilter=FlateEncode -sGrayImageFilter=FlateEncode -sCompressPages=false -dPreserveHalftoneInfo=true" #1}

这不是我完全理解的解决方案,而且无论如何,它不起作用 - epstopdf 根本无法运行。解决方案在页面下方:

\epstopdfsetup{update,prepend,verbose,suffix=-generated} % use suffix because you don't want to accidentally overwrite a file that might have been a pdf source. The epstopdf package manual has more on that.

\DeclareGraphicsExtensions{.eps,.pdf}
\epstopdfDeclareGraphicsRule{.eps}{pdf}{.pdf}{epstopdf --gsopt="-dPDFSETTINGS=/prepress -dAutoFilterColorImages=false -dAutoFilterGrayImages=false -sColorImageFilter=FlateEncode -sGrayImageFilter=FlateEncode -sCompressPages=false -dPreserveHalftoneInfo=true" #1 --outfile=\OutputFile}

将编译送入某种不可中断的循环。我正在使用 TeXnicCenter,如果这有任何区别的话。

答案1

好的,我解决了。我问题中引用的链接实际上解释了这一点,我花了不少功夫仔细阅读了它。

以下内容添加到 \include{epstopdf} 之后的序言中;

\epstopdfsetup{update,prepend,verbose,suffix=-generated} % use suffix because you don't want to accidentally overwrite a file that might have been a pdf source. The epstopdf package manual has more on that.
\DeclareGraphicsExtensions{.eps,.pdf}
\epstopdfDeclareGraphicsRule{.eps}{pdf}{.pdf}{epstopdf --gsopt="-dPDFSETTINGS=/prepress -dAutoFilterColorImages=false -dAutoFilterGrayImages=false -sColorImageFilter=FlateEncode -sGrayImageFilter=FlateEncode -sCompressPages=false -dPreserveHalftoneInfo=true" #1 --outfile=\OutputFile}

运行 latex 时,必须将以下内容添加到输出配置文件/命令行。

"--enable-write18"

希望这对其他人有用。

答案2

作为一个新手,我花了几个小时尝试解决这个问题,然后才意识到我不需要 EPS 这个中间步骤,正如我曾经想象的那样(Inkscape 中的 SVG 导出为 > EPS 自动转换为 > PDF)。

我现在在 Inkscape 中制作所有图形,并直接导出为 PDF。为了快速克服过去的这个错误,可以按照 Windows 批处理文件说明将文件夹从 svg 转换为 pdfhttps://gist.github.com/JohannesDeml/779b29128cdd7f216ab5000466404f11

相关内容