-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfilehook-scrlfile.sty
101 lines (101 loc) · 3.56 KB
/
filehook-scrlfile.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
%% Modified version of filehook-scrlfile as a workaround.
%% See https://tex.stackexchange.com/a/515183/48973.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{filehook-scrlfile}[2011/01/03 v0.1 filehook patch for scrlfile package]
\RequirePackage{filehook}
\begingroup
\long\def\scrlfile@InputIfFileExists#1#2{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1-@alias\endcsname\relax
\expandafter\@secondoftwo
\else
\scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}%
\expandafter\@firstoftwo
\fi
{%
\expandafter\InputIfFileExists\expandafter{\csname
#1-@alias\endcsname}{#2}%
}%
{\IfFileExists{#1}{%
\expandafter\scr@input@withhook\expandafter{\@filef@und}{#1}{#2}%
}}%
}
\long\def\filehook@scrlfile@InputIfFileExists#1#2{%
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1-@alias\endcsname\relax
\expandafter\@secondoftwo
\else
\scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}%
\expandafter\@firstoftwo
\fi
{%
\expandafter\InputIfFileExists\expandafter{\csname
#1-@alias\endcsname}{#2}%
}%
{\IfFileExists{#1}{%
\expandafter\filehook@swap
\expandafter{\@filef@und}%
{\scr@load@hook{before}{#1}%
#2\@addtofilelist{#1}%
\filehook@every@atbegin{#1}%
\filehook@atbegin{#1}%
\@@input}%
\filehook@atend{#1}%
\filehook@every@atend{#1}%
\scr@load@hook{after}{#1}%
}}%
}
\long\def\filehook@@scrlfile@InputIfFileExists#1#2{%
\let\InputIfFileExists\filehook@InputIfFileExists
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname #1-@alias\endcsname\relax
\expandafter\@secondoftwo
\else
\scr@replacefile@msg{\csname #1-@alias\endcsname}{#1}%
\expandafter\@firstoftwo
\fi
{%
\expandafter\InputIfFileExists\expandafter{\csname
#1-@alias\endcsname}{#2}%
}%
{\IfFileExists{#1}{%
\expandafter\filehook@swap
\expandafter{\@filef@und}%
{\scr@load@hook{before}{#1}%
#2\@addtofilelist{#1}%
\filehook@atbegin{#1}%
\@@input}%
\filehook@atend{#1}%
\scr@load@hook{after}{#1}%
}}%
}
\ifcase
\expandafter\ifx\csname InputIfFileExists \endcsname\latex@InputIfFileExists 0\else
\expandafter\ifx\csname InputIfFileExists \endcsname\scrlfile@InputIfFileExists 0\else
1%
\fi\fi
\relax
\global\let\filehook@InputIfFileExists\filehook@scrlfile@InputIfFileExists
\global\let\filehook@@InputIfFileExists\filehook@@scrlfile@InputIfFileExists
\global\expandafter\let\csname InputIfFileExists \endcsname\filehook@InputIfFileExists
\PackageInfo{filehook}{Package 'scrlfile' detected and compensated for}%
\else
\iffilehook@force
\global\let\filehook@InputIfFileExists\filehook@default@InputIfFileExists
\global\let\filehook@@InputIfFileExists\filehook@@default@InputIfFileExists
\global\expandafter\let\csname InputIfFileExists \endcsname\filehook@InputIfFileExists
\PackageWarning{filehook}{Detected 'scrlfile' package with unknown definition of \string\InputIfFileExists.^^J%
The 'force' option of 'filehook' is in effect. Macro is overwritten with default!}%
\else
\show\InputIfFileExists
\expandafter\show\csname InputIfFileExists \endcsname
\show\scrlfile@InputIfFileExists
\PackageError{filehook}{Detected 'scrlfile' package with unknown definition of \string\InputIfFileExists.^^J%
Use the 'force' option of 'filehook' to overwrite it.}{}%
\fi
\fi
\endgroup
\endinput
%%
%% End of file `filehook-scrlfile.sty'.