PDFlatex 不再将 eps 转换为 pdf

PDFlatex 不再将 eps 转换为 pdf

我观察到一种非常奇怪的行为PDFlatex

我最近使用 beamer 创建了一个演示文稿。最后一次编译(使用PDFlatex)是在 2015 年 4 月 9 日完成的。今天(2015 年 7 月),我想重复使用同一个演示文稿,但当我尝试编译它时,却无法正常工作。

问题出在我拥有的 .eps 格式的图像不再转换为 .pdf 格式(就像之前自动完成的那样)。我使用 Ubuntu 和 kile 作为 Tex 软件。在 ​​kile 中,我已恢复编译的默认选项,但没有成功。我知道我可以添加选项,例如--shell-escape,也许它有效,我没有尝试。但是,由于它之前没有任何选项就可以工作,所以我想了解为什么我现在遇到问题。我还想补充一点,我的图像与我的文件位于同一个文件夹中.tex

也许它来自 ubuntu 的更新???有没有人遇到过同样的问题?

答案1

也许下面的列表有助于确定问题所在。

转换 EPS 文件的先决条件pdflatex

  • EPS 文件必须存在并且必须被图形包找到。
  • 有效的 ghostscript 安装,尤其是 ghostscript 必须能够成功地将 EPS 文件转换为 PDF。
  • 程序epstopdf/repstopdf是用于调用 ghostscript 的包装器,用于处理边界框。
  • graphics.cfg,用于加载软件包epstopdf-base(当 shell escape 已打开时)。现在 TeX Live 和 MiKTeX 都是这种情况。
  • 必须打开受限 shell 逃逸(或不受限 shell 逃逸)。可以通过命令行选项启用。在 TeX Live 中,可以在配置文件中进行配置texmf.cnf

    % Enable system commands via \write18{...}.  When enabled fully (set to
    % t), obviously insecure.  When enabled partially (set to p), only the
    % commands listed in shell_escape_commands are allowed.  Although this
    % is not fully secure either, it is much better, and so useful that we
    % enable it for everything but bare tex.
    shell_escape = p
    

    受限 shell 逃逸通常是默认设置。

  • 当使用受限 shell 转义时,则repstopdf需要位于允许运行的程序列表中。示例来自texmf.cnf

    % The programs listed here are as safe as any we know: they either do
    % not write any output files, respect openout_any, or have hard-coded
    % restrictions similar or higher to openout_any=p.  They also have no
    % features to invoke arbitrary other programs, and no known exploitable
    % bugs.  All to the best of our knowledge.  They also have practical use
    % for being called from TeX.
    %
    shell_escape_commands = \
    bibtex,bibtex8,\
    extractbb,\
    kpsewhich,\
    makeindex,\
    mpost,\
    repstopdf,\
    

答案2

看来现在我必须添加 \usepackage{epstopdf}从 eps 到 pdf 的转换。

此外,我必须使用--shell-escape本文中解释的选项进行编译TeXLive 2011:pdfLaTeX 不会将子目录中的 eps 文件的 eps 转换为 pdf

有人知道为什么我现在需要添加这些包吗?以前(3 个月前)没有它们也可以正常工作。

相关内容