diff options
Diffstat (limited to 'macros/latex/contrib/import/import.sty')
-rw-r--r-- | macros/latex/contrib/import/import.sty | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/macros/latex/contrib/import/import.sty b/macros/latex/contrib/import/import.sty index e22e32a790..69bc86215e 100644 --- a/macros/latex/contrib/import/import.sty +++ b/macros/latex/contrib/import/import.sty @@ -1,4 +1,4 @@ -% import.sty Ver 6.0 22-Jan-2020 Donald Arseneau (asnd@triumf.ca) +% import.sty Ver 6.2 01-Apr-2020 Donald Arseneau (asnd@triumf.ca) % % This software is in the public domain; free of any restrictions. % @@ -38,11 +38,11 @@ % definition ensures paths end with "/" on most systems, but removes % "][" from within sub-import directory paths on VMS systems. % -% Presently, the paths are defined ``locally'' so input files must have -% balanced grouping. +% Presently, the paths are defined `locally' (not globally) so input +% files must have balanced grouping. %====================== END INSTRUCTIONS =========================== -\ProvidesPackage{import}[2020/01/22 \space v 6.0] +\ProvidesPackage{import}[2020/04/01 \space v 6.2] \ProcessOptions \@ifundefined{import}{% @@ -84,7 +84,7 @@ \protected@edef\input@path{{\import@path}#2}% \protected@edef\Ginput@path{{\import@path}#3}% \protected@edef\import@path@file{% use full path/file for non-* - \ifx\IfFileExists\@iffileonpath\else \import@path\fi #7}% + \import@path #7}% % \expandafter#1\expandafter{\import@path@file}% % @@ -96,6 +96,8 @@ % Our version of \IfFileExists that gives priority to files on \input@path, % #1 = file name, #2 = action when exists, #3 = action when not exists +% In 2020 LaTeX redefines \IfFileExists, so I need two variants. +\@ifundefined{IfFileExists@}{% pre-2020 \long\def \im@iffileexists#1#2#3{% \let\@filef@und\@undefined \ifx\input@path\@undefined\else @@ -112,10 +114,31 @@ \edef\@filef@und{#1 }% \def\reserved@a{#2}% \fi\fi - \reserved@a -} + \reserved@a} +}{% ca 2020 +\DeclareRobustCommand\im@iffileexists[1]{% + \set@curr@file{#1}% + \expandafter\im@iffileexists@\expandafter{\@curr@file}} +\long\def \im@iffileexists@#1#2#3{% + \let\@filef@und\@undefined + \ifx\input@path\@undefined\else + \@iffileonpath{#1}{% (also defines \@filef@und) + \def\reserved@a{#2}% + }{}% no action yet for not found + \fi + \ifx\@filef@und\@undefined % not found on \input@path + \openin\@inputcheck"#1" % + \ifeof\@inputcheck + \def\reserved@a{#3}% + \else + \closein\@inputcheck + \edef\@filef@und{"#1" }% + \def\reserved@a{#2}% + \fi\fi + \reserved@a} + } -\let\im@@IfFileExists\IfFileExists +\let\im@@IfFileExists\IfFileExists % remember original \gdef\import@path{} \let\import@path@fix\@firstofone % default @@ -129,6 +152,7 @@ \fi % Check for "[]" currdir (VMS file names) and set \import@path@fix appropriately +% \subimport{[.subdir]}{file} \gdef\@gtempa{[]} \ifx\@gtempa\@currdir % VMS directory syntax \gdef\import@path@fix#1{\@gobbleVMSbrack#1][>} |