summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/oberdiek/grffile.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/oberdiek/grffile.dtx')
-rw-r--r--Master/texmf-dist/source/latex/oberdiek/grffile.dtx87
1 files changed, 66 insertions, 21 deletions
diff --git a/Master/texmf-dist/source/latex/oberdiek/grffile.dtx b/Master/texmf-dist/source/latex/oberdiek/grffile.dtx
index 91949e5c5f0..f2cc5de1fe2 100644
--- a/Master/texmf-dist/source/latex/oberdiek/grffile.dtx
+++ b/Master/texmf-dist/source/latex/oberdiek/grffile.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2006-2008 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+% Copyright (C) 2006-2009 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -68,7 +68,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: grffile 2008/10/13 v1.9 Extended file name support for graphics (HO)}
+\Msg{* Package: grffile 2009/09/25 v1.10 Extended file name support for graphics (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -79,7 +79,7 @@
This is a generated file.
-Copyright (C) 2006-2008 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+Copyright (C) 2006-2009 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -137,7 +137,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{grffile.drv}%
- [2008/10/13 v1.9 Extended file name support for graphics (HO)]%
+ [2009/09/25 v1.10 Extended file name support for graphics (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2008/08/11]
\begin{document}
@@ -146,7 +146,7 @@ and the derived files
%</driver>
% \fi
%
-% \CheckSum{474}
+% \CheckSum{561}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -167,7 +167,7 @@ and the derived files
% \GetFileInfo{grffile.drv}
%
% \title{The \xpackage{grffile} package}
-% \date{2008/10/13 v1.9}
+% \date{2009/09/25 v1.10}
% \author{Heiko Oberdiek\\\xemail{oberdiek@uni-freiburg.de}}
%
% \maketitle
@@ -375,7 +375,7 @@ and the derived files
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{grffile}%
- [2008/10/13 v1.9 Extended file name support for graphics (HO)]%
+ [2009/09/25 v1.10 Extended file name support for graphics (HO)]%
% \end{macrocode}
%
% \subsection{Catcode stuff}
@@ -612,26 +612,66 @@ and the derived files
\def\grffile@filename@simple#1.#2\\{%
\ifx\\#2\\%
- \ifx\filename@base\@empty
- \let\filename@ext\relax
+ \def\filename@base{#1}%
+ \let\filename@ext\relax
+ \else
+ \def\filename@base{}%
+ \grffile@analyze@ext{#1}.{#2}\\%
+ \fi
+}
+
+\def\grffile@analyze@ext#1.#2\\{%
+ \let\grffile@next\relax
+ \ifx\\#2\\%
+ \edef\filename@base{\filename@base#1}%
+ \let\filename@ext\relax
+ \def\grffile@next{\grffile@try@extlist}%
+ \else
+ \edef\filename@base{\filename@base #1}%
+ \edef\filename@ext{\filename@dot#2\\}%
+ \expandafter\ifx\csname Gin@rule@.\filename@ext\endcsname\relax
+ \edef\filename@base{\filename@base.}%
+ \def\grffile@next{\grffile@analyze@ext#2\\}%
\else
- \grffile@ReturnAfterFiFiBase{%
- \edef\filename@base{\expandafter\filename@dot\filename@base\\}%
- \edef\filename@ext{#1}%
+ \grffile@IfFileExists{\filename@area\filename@base.\filename@ext}{%
+ % success
+ }{%
+ \edef\filename@base{\filename@base.\filename@ext}%
+ \let\filename@ext\relax
+ \def\grffile@next{\grffile@try@extlist}%
}%
\fi
+ \fi
+ \grffile@next
+}
+
+\def\grffile@try@extlist{%
+ \@for\grffile@temp:=\Gin@extensions\do{%
+ \grffile@IfFileExists{\filename@area\filename@base\grffile@temp}{%
+ \ifx\filename@ext\relax
+ \edef\filename@ext{\expandafter\@gobble\grffile@temp\@empty}%
+ \fi
+ }{}%
+ }%
+ \ifx\filename@ext\relax
+ \expandafter\let\expandafter\filename@base\expandafter\@empty
+ \expandafter\grffile@use@last@ext\filename@base.\\%
+ \fi
+}
+
+\def\grffile@use@last@ext#1.#2\\{%
+ \ifx\\#2\\%
+ \edef\filename@base{\expandafter\filename@dot\filename@base\\}%
+ \def\filename@ext{#1}%
+ \expandafter\@gobble
\else
- \expandafter\ifx\csname
- Gin@rule@.\filename@dot #2\\\endcsname\relax
- \edef\filename@base{\filename@base #1.}%
- \grffile@ReturnAfterFiFiBase{\grffile@filename@simple #2\\}%
- \else
- \edef\filename@ext{\filename@dot #2\\}%
- \fi
+ \edef\filename@base{\filename@base#1.}%
+ \expandafter\@firstofone
\fi
- \edef\filename@base{\filename@base #1}%
+ {%
+ \grffile@use@last@ext#2\\%
+ }%
}
-\def\grffile@ReturnAfterFiFiBase#1#2\fi\edef\filename@base#3{\fi\fi#1}
% \end{macrocode}
%
% Print current option setting
@@ -964,6 +1004,11 @@ showpage
% \item
% Fix for option `multidot' with default rule.
% \end{Version}
+% \begin{Version}{2009/09/25 v1.10}
+% \item
+% Rewrite of `multidot' algorithm to fix a problem
+% (`multidot' with \cs{graphicspath}).
+% \end{Version}
% \end{History}
%
% \PrintIndex