使用时graphicx
's\includegraphics
可以指定文件扩展名或不指定。出于通用用途和可移植性考虑,通常会删除扩展名。“批准”包含的类型及其优先顺序取决于所使用的驱动程序/编译器。这些驱动程序默认值是什么?
答案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
。
对于latex
DVI 模式,默认扩展列表是.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 .png
s 而不是.pdf
s 作为选秀,请将其放在你的序言中:
\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%
}