blob: 8edc5a0f0d7c5d4cbdb845e5903caa13eb278d60 (
plain)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
%%
%% This is file `srctex.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% srcltx.dtx (with options: `package,tex')
%%
%% This package is in the public domain. It comes with no guarantees
%% and no reserved rights. You can use or modify this package at your
%% own risk.
%% Originally written by: Aleksander Simonic
%% Current maintainer: Stefan Ulrich <stefanulrich@users.sourceforge.net>
%%
\catcode`\@=11
\newif\ifSRCOK \SRCOKtrue
\newif\ifsrc@debug@
\newif\ifsrc@dviwin@
\newif\ifsrc@winedt@\src@winedt@true
\newif\ifsrc@everypar@\src@everypar@true
\newif\ifsrc@everymath@\src@everymath@true
\def\SRCdebug{\src@debug@true}
\def\SRCnopar{\src@everypar@false}
\def\SRCnomath{\src@everymath@false}
\def\typeout#1{{\newlinechar`\^^J\message{#1^^J}}}
\def\AtBeginDocument#1{#1}
\let\src@maybe@space\space
\newcount\src@lastline
\global\src@lastline=-1
\def\src@debug#1{\ifsrc@debug@\typeout{DBG: |#1|}\fi}
\def\MainFile{\jobname.tex}
\gdef\CurrentInput{\MainFile}
\def\WinEdt#1{\ifsrc@winedt@\typeout{:#1}\fi}
\def\src@AfterFi#1\fi{\fi#1}
\AtBeginDocument{%
\ifx\SOUL@\relax
\else
\let\src@SOUL@\SOUL@
\def\SOUL@#1{%
\ifSRCOK
\SRCOKfalse\src@SOUL@{#1}\SRCOKtrue
\else
\src@AfterFi\src@SOUL@{#1}%
\fi
}%
\fi
}
\def\srcIncludeHook#1{\xdef\CurrentInput{#1.tex}}
\def\srcInputHook#1{%
\src@getfilename@with@ext{#1}%
}
\def\src@spec{%
\ifSRCOK
\ifnum\inputlineno>\src@lastline
\global\src@lastline=\inputlineno
\src@debug{%
src:\the\inputlineno\src@maybe@space\CurrentInput}%
\special{src:\the\inputlineno\src@maybe@space\CurrentInput}%
\fi
\fi
}
\def\src@before@file@hook{%
\WinEdt{<+ \CurrentInput}%
\global\src@lastline=0
\ifSRCOK\special{src:1\src@maybe@space\CurrentInput}\fi
}
\def\src@after@file@hook#1{%
\WinEdt{<-}%
\global\src@lastline=\inputlineno
\global\advance\src@lastline by -1%
\gdef\CurrentInput{#1}%
\src@spec
}
\def\src@tempa{}%
\def\src@extensions@path#1.#2\end{%
\ifx\\#2\\
\edef\src@extensions@last{#1}%
\let\src@tempa\relax
\else
\def\src@tempa{\src@extensions@path#2\end}%
\fi
\src@tempa
}
\def\src@getfilename@with@ext#1{%
\expandafter\src@extensions@path#1.\end
\def\src@tempa{tex}%
\ifx\src@extensions@last\src@tempa
\xdef\CurrentInput{#1}%
\else
\xdef\CurrentInput{#1.tex}%
\fi
}
\let\src@input\input
\def\Input#1{%
\expandafter\src@Input\expandafter{\CurrentInput}{#1}%
}
\def\src@Input#1#2{%
\srcInputHook{#2}%
\src@before@file@hook
\src@input #2
\src@after@file@hook{#1}%
}
\ifsrc@everypar@
\let\src@old@everypar\everypar
\newtoks\src@new@everypar
\let\everypar\src@new@everypar
\everypar\expandafter{\the\src@old@everypar}
\src@old@everypar{\the\src@new@everypar\src@spec}
\fi
\ifsrc@everymath@
\everymath\expandafter{\the\everymath\src@spec}
\fi
\let\src@old@output\output
\newtoks\src@new@output
\let\output\src@new@output
\output\expandafter{\the\src@old@output}
\src@old@output{\SRCOKfalse\the\src@new@output}
\catcode`\@=12
\endinput
%%
%% End of file `srctex.sty'.
|