blob: 7d88dd8091a9e9d32c92923b054a1fc921410086 (
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
|
%%
%% This is file `thm-restate.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% thm-restate.dtx (with options: `restate')
%% This is a generated file.
%%
%% This file is part of the `thmtools' package.
%% The `thmtools' package has the LPPL maintenance status: maintained.
%% Current Maintainer is Ulrich M. Schwarz, ulmi@absatzen.de
%%
%% Copyright (C) 2008 by Ulrich M. Schwarz.
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, version 1.3a.
%% This version is obtainable at
%% http://www.latex-project.org/lppl/lppl-1-3a.txt
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{thm-restate}[2008/03/09 v0.1beta2 thm-restate (ulmi)]
\let\@xa\expandafter
\let\@nx\noexpand
\@ifundefined{c@thmt@dummyctr}{%
\newcounter{thmt@dummyctr}%
}{}
\gdef\theHthmt@dummyctr{dummy.\arabic{thmt@dummyctr}}%
\gdef\thethmt@dummyctr{}%
\newtoks\thmt@toks
\long\def\thmt@collect@body#1#2\end#3{%
\@xa\thmt@toks\@xa{\the\thmt@toks #2}%
\def\thmttmpa{#3}%\def\thmttmpb{restatable}%
\ifx\thmttmpa\@currenvir%thmttmpb
\@xa\@firstoftwo% this is the end of the environment.
\else
\@xa\@secondoftwo% go on collecting
\fi{%
\@xa#1\@xa{\the\thmt@toks}%
}{%
\@xa\thmt@toks\@xa{\the\thmt@toks\end{#3}}%
\thmt@collect@body{#1}%
}%
}
\newif\ifthmt@thisistheone
\newenvironment{thmt@restatable}[3][]{%
\long\def\thmrst@store##1{%
\@xa\gdef\csname #3\endcsname{%
\@ifstar{%
\thmt@thisistheonefalse\csname thmt@stored@#3\endcsname
}{%
\thmt@thisistheonetrue\csname thmt@stored@#3\endcsname
}%
}%
\@xa\long\@xa\gdef\csname thmt@stored@#3\@xa\endcsname\@xa{%
\begingroup
\ifthmt@thisistheone\else
\@xa\protected@edef\csname the#2\endcsname{%
\ifx\@refstar\@undefined\@xa\ref\else\@xa\@refstar\fi{thmt@@#3}}%
\@xa\let\csname c@#2\endcsname=\c@thmt@dummyctr
\@xa\let\csname theH#2\endcsname=\theHthmt@dummyctr
\let\label=\@gobble
\fi
%\def\@currenvir{#2}%
\csname #2\@xa\endcsname\ifx\@nx#1\@nx\else[#1]\fi
\ifthmt@thisistheone
\label{thmt@@#3}%
\fi
##1
\csname end#2\endcsname
\endgroup
}%
\csname #3\@xa\endcsname\ifthmt@thisistheone\else*\fi
\@xa\end\@xa{\@currenvir}
}%
\thmt@collect@body\thmrst@store
}{%
%% now empty, just used as a marker.
}
\newenvironment{restatable}{%
\thmt@thisistheonetrue\thmt@restatable
}{%
\endthmt@restatable
}
\newenvironment{restatable*}{%
\thmt@thisistheonefalse\thmt@restatable
}{%
\endthmt@restatable
}
\endinput
%%
%% End of file `thm-restate.sty'.
|