我必须从大型 png 制作一个 .eps 文件,以便在 PRL 上发布。在 ghostscript/inkscape/illustrator/... 中查看 .eps 时,它看起来不错,但是当我在 TexnicCenter/TexMaker 中使用 latex -> DVI -> PDF 将其构建为 pdf 时,它的右侧出现了一个大白块。
我使用 LyX 导出生成了 latex,并一直试图让它像在 LyX 中一样编译。在 LyX 中使用 pdflatex 编译时,图形看起来很完美,所以我的构建配置文件一定有什么不同,导致我的图形模糊不清?有什么建议吗?
编辑:下面的最小示例使用 pdfLaTeX 为图形文件生成“文件未找到”信息,并在使用 latex -> DVI -> PDF 编译时使用右侧的图形截断进行编译。我的其他一些 .eps 图形在放置在该浮动中时显示完美,而其他一些则根本不显示。但是,.eps 在单独查看时看起来都很好,并且在 ghostview 中似乎有很好的边界框。
\documentclass{paper}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{float}
\usepackage{amsmath}
\usepackage{graphicx}
\makeatletter
\makeatother
\usepackage{babel}
\begin{document}
\title{Blah}
\author{Bleh}
\begin{abstract}
Abstract goes here.
\end{abstract}
\maketitle
\begin{figure*}[t!]
\begin{centering}
\includegraphics[width=0.75\textwidth]{phasediagramstogether2}
\end{centering}
\caption{This figure is cutoff on the right, with a big white box}%
\label{RDFsandSamples}
\end{figure*}
\end{document}
使用pdfLaTeX生成的错误日志:http://pastebin.com/MRGtUsQJ
latex -> DVI -> PDF 的错误日志:http://pastebin.com/QA4tVuzY
答案1
pdflatex
无法直接处理 EPS 文件,并且您会从日志文件中注意到它.eps
不属于它考虑的文件类型:
l.38 ...hics[width=0.75\textwidth]{paperfractalds}
I could not locate the file with any of these extensions:
.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2
因此,文件必须转换为其他格式,通常是 PDF。该软件包epstopdf
会帮您完成此操作,因此只需添加
\usepackage{epstopdf}
到序言部分并启用编译shell-escape
(参见例如如何在 TeXworks 中启用 shell-escape?) 应该可以解决这个问题。您可能需要使用标志--enable-write18
而不是--shell-escape
(它们的作用相同,但前者由 MikTeX 使用)。
请注意,至少在较新版本的 TeX Live 中,此转换是自动处理的,因此无需添加该包或启用shell-escape
。我不知道 MikTeX 2.9 是否也是如此。
我认为 LyX 可能自己处理这些转换,因此不需要该包,但我可能完全错了。在邮件lyx-users
列表可能是解决这个问题的最佳方法。另外,我认为 EPS 文件在通过 DVI 编译时可以正常工作,所以我不知道为什么它不起作用。
日志还会显示错误babel
,例如,如果您编译一次,然后从\documentclass
或中删除语言选项babel
并再次编译,则可能会发生这种情况(请参阅https://tex.stackexchange.com/a/82673/586)\usepackage[english]{babel}
我想应该修复该部分。
答案2
这可能是 EPS 图形在由 dvi2pdf 处理时边界框出现的问题。Torbjørn 的建议很好,但如果您更愿意使用 EPS 文件,请尝试 Latex->dvi2ps->ps2pdf,这种方法效果会更好。
答案3
dvi2ps
我也遇到了同样的问题。通过 LaTeX-> ->进行的偏差ps2pdf
工作做得很好。
谢谢汤姆