我一直在尝试在我的文档上全局设置draft
模式,但我仍然想\includegraphics
正常工作,因此该graphicx
包应该接收该final
选项。我也在使用该grffile
包。
我发现grffile
,使用 时,final
的选项graphicx
不起作用,具体取决于软件包的加载方式,因此尽管设置了 ,但只会打印带有文件名的框final
。以下是我通过实验发现的:
% result: DRAFT
\documentclass[draft]{scrartcl}
\usepackage[final]{graphicx}
\usepackage{grffile}
\begin{document}
\includegraphics{alertmessage-success.png}
\end{document}
% result: DRAFT
\documentclass[draft]{scrartcl}
\usepackage{graphicx}
\usepackage[final]{grffile}
\begin{document}
\includegraphics{alertmessage-success.png}
\end{document}
% result: DRAFT
\documentclass[draft]{scrartcl}
\usepackage[final]{graphicx}
\usepackage[final]{grffile}
\begin{document}
\includegraphics{alertmessage-success.png}
\end{document}
% result: DRAFT
\documentclass[draft]{scrartcl}
\usepackage{grffile}
\usepackage[final]{graphicx}
\begin{document}
\includegraphics{alertmessage-success.png}
\end{document}
% result: FINAL
\documentclass[draft]{scrartcl}
\usepackage[final]{grffile}
\usepackage{graphicx}
\begin{document}
\includegraphics{alertmessage-success.png}
\end{document}
% result: FINAL
\documentclass[draft]{scrartcl}
\usepackage[final]{grffile}
\usepackage[final]{graphicx}
\begin{document}
\includegraphics{alertmessage-success.png}
\end{document}
所以grffile
必须加载第一的,和选项final
。为什么会这样?如果整个过程不依赖于软件包的顺序,那么出错的可能性就会小得多(普通用户该如何弄清楚这一点?尤其是因为grffile
文档中的示例使用了“错误的”[在这种情况下]顺序:
\usepackage[latin1]{inputenc}[2006/02/22] % \usepackage[latin1]{inputenx} \usepackage{graphicx} \usepackage[encoding,filenameencoding=utf8]{grffile}
grffile
文档,第 1.4.3 节)。
grffile
我认为它与实际加载graphics
而不是graphicx
(中没有提及该graphicx
包)有关grffile
:
grffile.sty
v1.17 第 76-78 行:
\DeclareDefaultOption{%
\PassOptionsToPackage\CurrentOption{graphics}%
}
grffile.sty
v1.17 第 105 行:
\RequirePackage{graphics}
使用 TeX Live 2016。