以下代码片段在 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。