diff options
author | Norbert Preining <norbert@preining.info> | 2019-11-19 03:02:21 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-11-19 03:02:21 +0000 |
commit | 025f7bfee79d7817a876831bb19f34a2dfb1b2e2 (patch) | |
tree | 76efc8c89514583aae7ddb55b59bfb879500a09d /macros/latex-dev/required/graphics/graphics.dtx | |
parent | 96f9362fc3e3bb70fa2411c62418c42d9acda4d7 (diff) |
CTAN sync 201911190302
Diffstat (limited to 'macros/latex-dev/required/graphics/graphics.dtx')
-rw-r--r-- | macros/latex-dev/required/graphics/graphics.dtx | 88 |
1 files changed, 83 insertions, 5 deletions
diff --git a/macros/latex-dev/required/graphics/graphics.dtx b/macros/latex-dev/required/graphics/graphics.dtx index f2471e94bb..ac570c0227 100644 --- a/macros/latex-dev/required/graphics/graphics.dtx +++ b/macros/latex-dev/required/graphics/graphics.dtx @@ -25,7 +25,7 @@ %<driver> \ProvidesFile{graphics.drv} % \fi % \ProvidesFile{graphics.dtx} - [2019/07/20 v1.3b Standard LaTeX Graphics (DPC,SPQR)] + [2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -1036,13 +1036,52 @@ % \begin{macro}{\Gin@sepdefault} % \changes{v0.6a}{1994/11/29} % {remove \cs{Gin@sep}} +% \begin{macro}{\Gin@gzext} +% \changes{v1.3d}{2019/11/01} +% {macro added} % This must match the token used by |\filename@parse| to delimit the % extension. % \begin{macrocode} \def\Gin@sepdefault{.} % \end{macrocode} +% +% \begin{macrocode} +\edef\Gin@gzext{\detokenize{gz}} +% \edef{macrocode} % \end{macro} % +% \begin{macro}{\set@curr@file} +% \begin{macro}{\quote@name} +% \changes{v1.3c}{2019/10/08} +% {Definitions added for old formats} +% \begin{macrocode} +\def\Gin@temp#1{% + \begingroup + \escapechar\m@ne + \xdef\@curr@file{\expandafter\string\csname #1\endcsname}% + \endgroup +} +\ifx\set@curr@file\@Gin@temp + \let\set@curr@file\@undefined +\fi +% \end{macrocode} +% +% \begin{macrocode} +\ifx\set@curr@file\@undefined +\def\set@curr@file#1{% + \begingroup + \escapechar\m@ne + \xdef\@curr@file{\expandafter\string\csname\@firstofone#1\@empty\endcsname}% + \endgroup +} +\def\quote@name#1{"\quote@@name#1\@gobble""} +\def\quote@@name#1"{#1\quote@@name} +\def\unquote@name#1{\quote@@name#1\@gobble"} +\fi +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\Ginclude@graphics} % The main internal function implementing graphics file inclusion. % |#1| is the file name. @@ -1069,12 +1108,23 @@ \let\input@path\Ginput@path % \end{macrocode} % A lot of quote juggling going on here (room for improvements). +% +% \changes{v1.3d}{2019/11/01} +% {\cs{curr@name} now unquoted} % \begin{macrocode} \set@curr@file{#1}% - \edef\uq@curr@file{\expandafter\unquote@name\expandafter{\@curr@file}}% - \expandafter\filename@parse\expandafter{\uq@curr@file}% - \edef\filename@area{\expandafter\quote@name\expandafter{\filename@area}}% - \edef\filename@base{\expandafter\quote@name\expandafter{\filename@base}}% + \expandafter\filename@parse\expandafter{\@curr@file}% +% \end{macrocode} +% If extension is |.gz| tack on to previous extension, eg |.eps.gz| if available. +% \begin{macrocode} + \ifx\filename@ext\Gin@gzext + \expandafter\filename@parse\expandafter{\filename@base}% + \ifx\filename@ext\relax + \let\filename@ext\Gin@gzext + \else + \edef\Gin@ext{\Gin@ext\Gin@sepdefault\Gin@gzext}% + \fi + \fi \ifx\filename@ext\relax \@for\Gin@temp:=\Gin@extensions\do{% \ifx\Gin@ext\relax @@ -1083,6 +1133,34 @@ \else \Gin@getbase{\Gin@sepdefault\filename@ext}% % \end{macrocode} +% At this point try adding an extension, even if the filename has one so +% that \verb|a.b| may find \verb|a.b.png| if no file is found then revert +% to the extension as given to get better error reporting. +% +% \changes{v1.3d}{2019/11/01} +% {Try adding an extension even if the filenam had a dot.} +% \begin{macrocode} +\ifx\Gin@ext\relax +\let\Gin@savedbase\filename@base +\let\Gin@savedext\filename@ext + \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}% + \let\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% +% \end{macrocode} +% Restore if no file found using theknown extensions. +% \begin{macrocode} + \ifx\Gin@ext\relax + \let\filename@base\Gin@savedbase + \let\filename@ext\Gin@savedext + \fi +\fi +% \end{macrocode} +% +% \begin{macrocode} +% \end{macrocode} % \changes{v0.4d}{1994/05/06} % {Make file not found a warning not an error} % \changes{v0.6a}{1994/11/29} |