未指定时图形文件扩展名及其包含顺序

未指定时图形文件扩展名及其包含顺序

使用时graphicx's\includegraphics可以指定文件扩展名或不指定。出于通用用途和可移植性考虑,通常会删除扩展名。“批准”包含的类型及其优先顺序取决于所使用的驱动程序/编译器。这些驱动程序默认值是什么?

有关的:latex或处理的文档中可以包含哪些图形格式pdflatex

答案1

pdftex.def

版本 2011/05/28 v0.06e

该列表取决于

  • 的版本pdftex.def
  • pdfTeX 的版本(暂时提供 TIFF,最新添加的是 JBIG2),
  • 生成的 PDF 的版本(JBIG2 需要 PDF 1.4)。

对于当前版本 (2012) 和 PDF ≥ 1.4,列表如下:

.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2

列表的顺序不是最佳的,它是兼容性的牺牲品。

epstopdf可以通过添加.eps到列表的包来扩展该列表,并提供支持更多图像格式的方法。

dvips.def

版本:1999/02/16 v3.01i

.eps,.ps,.eps.gz,.ps.gz,.eps.Z

其他支持的扩展:

.pcx,.bmp,.msp,.pict,.pntg

dvipdfm.def

版本:1999/9/6 vx.x(Bug:应为 1999/09/06)

.jpg,.jpeg,.pdf,.png

还支持 EPS 文件。

dvipdfmx.def

版本:1999/02/16 v3.0i

.pdf,.jpg,.jpeg,.png,.bmp,.ps,.eps,.pz,.eps.Z,.ps.Z,.ps.gz,.eps.gz

xetex.def

版本:2009/11/22 v0.94

.pdf,.eps,.ps,.png,.jpg,.bmp,.pict,.tif,.psd,.mac,.sga,.tga,.gif

vtex.def

版本 2001/10/02 v7.45

.gif,.png,.jpg,.tif,.bmp,.tga,.pcx,.eps,.ps,.mps,.emf,.wmf
(also .tiff, .targa, .jpeg)

显卡套件中的其他驱动程序

版本:1999/02/16 v3.0i

dvipdf.def:  .eps,.ps,.eps.gz,.ps.gz,.eps.Z
dvipson.def: .eps,.ps,.pcx,.bmp (also .tif)
dviwin.def:  .eps,.ps,.wmf,.tif
emtex.def:   .eps,.ps,.pcx,.bmp
pctex32.def: .eps,.ps,.wmf,.bmp
pctexhp.def: .pcl
pctexps.def: .eps.ps
pctexwin.def: .eps,.ps,.wmf,.bmp
tcidvi.def:   <empty> (also .ps,.eps,.PS,.EPS and BMP)
truetex.def:  .eps,.ps (also .tif,.bmp)

列表操作

我推荐套餐grfext用于操作图形扩展列表。

  • 可添加扩展:\AppendGraphicsExtensions\PrependGraphicsExtensions
  • 可以删除扩展:\RemoveGraphicsExtensions

例如,与位图图形相比,优先选择矢量图形,与驱动程序无关:

\documentclass{article}
\usepackage{graphicx}
\usepackage{grfext}

\AtBeginDocument{%
  \PrependGraphicsExtensions*{
    .mps,.MPS,.pdf,.PDF,.eps,.EPS,.ps,.PS,
    .png,.PNG,.jpg,.jpeg,.JPG,.JPEG,
    .funny,.foobar
  }%
  \PrintGraphicsExtensions % see .log file
}

\begin{document}
\end{document}

grfext打印文件中的列表.log(以 pdflatex/TL2011 为例):

Package grfext Info: Graphics extension search list:
(grfext)             [.mps,.pdf,.PDF,.eps,.png,.PNG,.jpg,.jpeg,.JPG,.JPEG,.jbig2,.jb2,.JBIG2,.JB2]

星号形式\PrependGraphicsExtensions仅添加显卡驱动程序支持的扩展。

答案2

默认值在驱动程序文件中定义,而不是单独定义graphicx。查看默认值的简单方法是使用texdef,例如texdef -t pdflatex -p graphicx Gin@extensions

对于latexDVI 模式,默认扩展列表是.eps,.ps,.eps.gz,.ps.gz,.eps.Z,对于pdflatex是,对于lualatex.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPEG,.JBIG2,.JB2,.eps,对于xelatex.pdf,.eps,.ps,.png,.jpg,.bmp,.pict,.tif,.psd,.mac,.sga,.tga,.gif

答案3

如果有人来这里是因为他/她试图将 eg .pngs 而不是.pdfs 作为选秀,请将其放在你的序言中:

\DeclareGraphicsExtensions{.png,.pdf}

请随意调整以满足您的需要。

答案4

截至 ~2021 (MiKTeX 21.7),似乎顺序已更新。(安装目录例如 MiKTeX)\tex\latex\graphics-def\pdftex.def,第 586 行:

\def\Gin@extensions{%
  .pdf,.png,.jpg,.mps,.jpeg,.jbig2,.jb2,%
  .PDF,.PNG,.JPG,.JPEG,.JBIG2,.JB2%
}

相关内容