带有“eps.gz”扩展名的图像不再可收录

带有“eps.gz”扩展名的图像不再可收录

以下代码片段在 Linux Mint 19 下可以运行,但在 Linux Mint 20 下失败:

\documentclass{article}
\usepackage{graphicx}

\begin{document}
    \includegraphics{test.eps.gz}
\end{document}

命令:

latex test.tex

日志输出:

This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=latex)
 restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2020-02-02> patch level 2
L3 programming layer <2020-02-14>
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/12/20 v1.4l Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/dvips.def)))
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-dvips.def)
No file test.aux.
! TeX capacity exceeded, sorry [input stack size=5000].
\Gin@ext ->\Gin@ext 
                    .gz
l.6 \includegraphics{test.eps.gz}
                                 
No pages of output.
Transcript written on test.log.

在以前的 LaTeX 版本中,图像会被正确包含或正确报告为丢失,即:

...
! LaTeX Error: File `test.eps' not found.
...

我是否一直在做错事?或者这是一个应该向开发团队正确报告的新错误?

答案1

这应该有效,如果你使用

\documentclass{article}

\usepackage{graphicx}

\begin{document}

x

\special{PSfile="test.eps.gz"}

y
\end{document}

使用 latex、dvips、ps2pdf 你会发现 dvips 确实解压了图像。但不起作用的是 latex 不会留下正确的空间。

最简单的解决方法是解压缩 eps(如果您使用的是 pdflatex 而不是 latex+dvips,那么最好先转换为 PDF)

原始的有些古老的文档在这里具有误导性,因为 DeclareGraphicsRule 示例是在 dvips 允许您通过反引号语法运行任何命令时编写的。这已经不允许多年了(可能几十年了),但它确实有一个针对 .gz 文件的内置规则,并且会自行解压缩它们。

此功能可以正常工作,但似乎已损坏,可能与允许文件名中出现空格和重音字母的更改有关。我稍后会查看是否有更正确的修复方法。

dvips.def当前for中的图形规则.eps.gz不使用`gunzip解压缩步骤,它只是将文件名直接传递给 dvips。

\@namedef{Gin@[email protected]}#1{{eps}{.eps.bb}{#1}}

答案2

这是一个 LaTeX 错误,据称几天前(2021 年 5 月)已经修复,请参阅此处弗兰克·米特尔巴赫的答案,在 TeX Live 2021 中。

这个 [修复] 版本可能要过一段时间才能进入我们的 Linux 发行版。例如,它甚至还没有进入不稳定的 Debian Sid。

相关内容