.eps 文件和 pdflatex

.eps 文件和 pdflatex

我正在尝试.eps在文档中包含一个图形并使用 pdflatex 构建:

\documentclass[12pt,a4paper]{report}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
\includegraphics{figure}    
\end{document}

我收到的错误是:

sh: epstopdf: command not found

Package pdftex.def Error: File `figure-eps-converted-to.pdf' not found. \includegraphics{figure}

添加-shell-escape之前帖子中提到的内容并不能解决问题。我已重新安装了epstopdfTeX Live。我在 Mac OS X 10.10.5 上使用 TeXstudio 2.10.2。

编辑:

显然,这是一个与编辑器相关的问题,因为如果从命令行调用,一切都可以正常工作。

答案1

使用 TeXLive 2015 时,使用 pdflatex 时eps文件应该会pdf自动转换为。无需加载包epstopdf。您收到的错误表明系统正在epstopdf错误的位置查找脚本。根据用户手册,TeXStudio 在查找此类命令时会使用各种设置。如果有设置epstopdf,则执行

which epstopdf

在终端中并将结果粘贴到其位置。如果失败,请在启用 shell escape 的情况下编译以下文档:

\documentclass{article}
\begin{document}
\immediate\write18{echo $PATH > tmp1}
\immediate\write18{which epstopdf > tmp2} 
\end{document}

(请注意,这将破坏当前目录中任何名为tmp1和的现有文件。)然后通过添加文件和tmp2的内容来编辑您的问题。tmp1tmp2

编辑

集成开发环境是撒旦的作品。我刚刚下载了 TeXStudio,并重现了完全相同的问题。使用上面的代码,我确定它正在不存在的 TeXLive2012 目录中搜索 epstopdf。在文件中

~/.config/texstudio/texstudio.ini

我发现了以下内容:

Tools\Search%20Paths=/usr/local/texlive/2012/bin/x86_64-darwin

我找不到在 TeXStudio 中更改此设置的选项(其他比我更了解该软件的人可能知道如何操作)。我尝试编辑该文件,因为我认为它应该是

Tools\Search%20Paths=/usr/texbin

但是当我重新启动 TeXStudio 时,.ini文件会自动变回原样。这里有一个解决方法(需要管理员权限)。在终端中:

sudo tsch

并输入密码以使自己成为 root。现在创建缺少的目录,如下所示:

cd /usr/local/texlive
mkdir 2012
cd 2012
mkdir bin
cd bin
mkdir x86_64-darwin
cd x86_64-darwin

最后,创建指向真实位置的符号链接epstopdf

ln -s `which epstopdf` ./epstopdf

现在,当 TeXStudio 查找 epstopdf 时,它会找到指向正确位置的符号链接。

答案2

对于遇到同样问题的任何 Linux 用户,可能是因为您没有安装该软件包texlive-font-utils

简单地:

sudo apt install texlive-font-utils

答案3

您基本上可以删除它\usepackage{epstopdf}并保留原来的代码。

因此你将拥有:

\documentclass[12pt,a4paper]{report}
\usepackage{graphicx}
\begin{document}
\includegraphics{figure}    
\end{document}

当然,您必须确保该文件与figure.eps您要编译的 .tex 文件位于同一文件夹中。

您需要使用 LaTex。我实际上使用的是:PdfLaTex。它工作正常。

如果有效请告诉我。

答案4

感谢@Ian Thompson

我遇到了同样的问题。此解决方案是更改搜索路径。

打开选项->配置->勾选Show Advanced Options,然后在Build设置中,您就可以找到Build Options

最后一行Build OptionsCommands($PATH),输入/usr/local/texlive/2018/bin/x86_64-linux(取决于你的 texstudio 版本和操作系统)

现在 texstudio 可以epstopdf自动找到

相关内容