正如标题所述,我在将 eps 文件转换为 pdf 时遇到了问题。
最小示例:
\documentclass[letterpaper, 10pt, twoside]{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
\includegraphics{images/USArmy.eps}
\end{document}
结果是:
! Package pdftex.def Error: File `images/USArmy-eps-converted-to.pdf' not foun
.
See the pdftex.def package documentation for explanation.
Type H <return> for immediate help.
...
l.7 \includegraphics{images/USArmy.eps}
奇怪的是:日志表明它已成功生成所有内容:
Package epstopdf Info: Source file: <images/USArmy.eps>
(epstopdf) date: 2016-06-01 16:08:39
(epstopdf) size: 6728 bytes
(epstopdf) Output file: <images/USArmy-eps-converted-to.pdf>
(epstopdf) Command: <repstopdf --outfile=images/USArmy-eps-converte
d-to.pdf images/USArmy.eps>
(epstopdf) \includegraphics on input line 7.
runsystem(repstopdf --outfile=images/USArmy-eps-converted-to.pdf images/USArmy.
eps)...executed safely (allowed).
Package epstopdf Info: Result file: <images/USArmy-eps-converted-to.pdf>.
! Package pdftex.def Error: File `images/USArmy-eps-converted-to.pdf' not found
.
果然,我在 images 目录中没有该.pdf
文件。更令人困惑的是,如果我repstopdf
手动运行,pdf 文件可以正常工作:
repstopdf --outfile=images/USArmy-eps-converted-to.pdf images/USArmy.eps
有什么建议吗?我也尝试将[outdir=./]
和添加[outdir=./images/]
到包中epstopdf
作为包选项,结果相同。我正在使用昨天安装的最新 texlive 便携式版本。
编辑:复制步骤:
安装最小的 texlive 便携版
c:\tex
并epstopdf
支持图形将示例与任意
eps
文件复制到c:\work
并打开命令提示符cd /d "c:\work"
set PATH="C:\tex\bin\win32"
pdflatex sample.tex
请注意,完整安装的 texlive 和 miktex 都可以正常工作,无需设置路径。这更奇怪了。
答案1
这里最大的问题是你提到的第四点!这是 Windows 的问题,不是 LaTeX 的问题!
正确安装 MiKTeX 后,您应该在命令行中C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;
输入以下内容。MS-DOS 命令显示 Windows 环境变量的值。TeX Live 也是如此,但我不知道它需要的路径(我使用的是 MiKTeX)。对于您的问题,使用哪个 tex 发行版并不重要...path
path
path
如果您想更改变量的设置,您必须使用set path=
并添加所需的路径,以便 Windows 能够启动所需的程序,因为它可以找到二进制文件的路径...
但是您的命令set PATH=C:\tex\bin\win32
会将旧设置全部重置为新设置。换句话说:所有旧路径设置都被删除了!
为了避免这种情况,您必须使用一个特殊的环境变量%PATH%
,其中包含旧设置。请注意,多个路径以 分隔;
。因此命令set PATH="C:\tex\bin\win32;%PATH%
添加最先被找到的新路径!考虑一下你需要的顺序:应该最先找到它(这样就行了)还是最后找到它(然后使用set PATH="%PATH%;C:\tex\bin\win32;
)。
这样,您的 MiKTeX 系统就能够找到所有需要的文件(因为它可以遵循给定的路径),并且 Windows 能够启动所需的程序(因为它也可以遵循给定的路径)。
答案2
当我改变时,一切都开始正常工作:
set PATH=C:\tex\bin\win32
到
set PATH=C:\tex\bin\win32;%PATH%
不确定它试图调用 texlive 的哪些外部部分,但是它修复了这个问题。