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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
% \iffalse meta-comment
%
% 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.
% The license can be obtained from
% http://www.latex-project.org/lppl/lppl-1-3a.txt
%
% \fi
%
%\iffalse (hide this from DocInput)
%<*driver>
\documentclass{ltxdoc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage[scaled=0.8]{helvet}
\usepackage{luximono}
\usepackage{amsmath, amsthm}
\usepackage{thm-patch}
\newtheorem{lemma}{Lemma}
\GetFileInfo{thm-listof.sty}
\providecommand\pkg{\textsf}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
\begin{document}
\newcommand\thmlistof{\textsf{thm-listof}}
\title{The \thmlistof\ package\thanks{%
This file documents version~\fileversion\ of~\filedate,
RCS ${}$Id: thm-listof.dtx,v 1.8 2008/05/10 15:34:06 ulmi Exp ${}$.
}}
\author{Ulrich M. Schwarz\thanks{ulmi@absatzen.de}}
\maketitle
\begin{abstract}
\end{abstract}
\DocInput{thm-listof.dtx}
\end{document}
%</driver>
%<*listof>
%\fi
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
% Digits \0\1\2\3\4\5\6\7\8\9
% Exclamation \! Double quote \" Hash (number) \#
% Dollar \$ Percent \% Ampersand \&
% Acute accent \' Left paren \( Right paren \)
% Asterisk \* Plus \+ Comma \,
% Minus \- Point \. Solidus \/
% Colon \: Semicolon \; Less than \<
% Equals \= Greater than \> Question mark \?
% Commercial at \@ Left bracket \[ Backslash \\
% Right bracket \] Circumflex \^ Underscore \_
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
% \CheckSum{160}
%
% \DoNotIndex{\@for,\addtocounter,\arabic,\csname,\endcsname,\cup,\CurrentOption}
% \DoNotIndex{\{,\},\do,\define@key,\def,\DeclareOption,\else,\ensuremath,\expandafter}
% \DoNotIndex{\hspace,\fi,\rule,\ifcase,\ifx,\in,\InputIfFileExists,\leq,\let,\mathpalette}
% \DoNotIndex{\NeedsTeXFormat,\ldots,\ldotp,\newcommand,\newcounter,\or}
% \DoNotIndex{\PackageInfo,\PackageWarning,\parm,\ProcessOptions,\protected@edef}
% \DoNotIndex{\providecommand,\ProvidesPackage,\relax,\renewcommand,\RequirePackage}
% \DoNotIndex{\setcounter,\setkeys,\rlap,\setminus,\widthof,\mathrm}
%
%\section{Usage}
% This package provides two main commands:
% \DescribeMacro{\listoftheorems}
% |\listoftheorems| will generate, well, a list of all theorems, lemmas,
% etc. in your document. This list is hyperlinked if you use \pkg{hyperref},
% and it will list the optional argument to the theorem.
% \DescribeMacro{\listtheoremname}
% The heading name is stored in the macro |\listtheoremname| and is
% ``List of Theorems'' by default. All other formatting aspects are taken
% from |\listoffigures|. (As a matter of fact, |\listoffigures| is called
% internally.)
%
% \DescribeMacro{\ignoretheorems}
% |\ignoretheorems|\marg{remark,example,...} can be used to suppress some
% types of theorem from the LoTh. Be careful not to have spaces in the list,
% those are currently \emph{not} filtered out.
%
% There's currently no interface to change the look of the list. If you're
% daring, the code for the theorem type ``lemma'' is in |\l@lemma| and so on.
%
%\StopEventually{}
%\section{Implementation}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{thm-listof}[2008/05/10 v0.1beta3 thm-listof (ulmi)]
\let\@xa=\expandafter
\let\@nx=\noexpand
\RequirePackage{thm-patch}
\def\thmtlo@oldchapter{0}%
\newcommand\thmtlo@chaptervspacehack{}
\@ifundefined{chapter}{}{%
\def\thmtlo@chaptervspacehack{%
\ifnum \arabic{chapter}>\thmtlo@oldchapter\relax
% new chapter, add vspace to loe.
\addtocontents{loe}{\protect\addvspace{10\p@}}%
\edef\thmtlo@oldchapter{\arabic{chapter}}%
\fi
}%
}
\providecommand\listtheoremname{List of Theorems}
\newcommand\listoftheorems{%
%% much hacking here to pick up the definition from the class
%% without oodles of conditionals.
\bgroup
\let\listfigurename\listtheoremname
\let\thref@starttoc\@starttoc
\def\@starttoc##1{\thref@starttoc{loe}}%
\expandafter\listoffigures
\egroup
}
\newcommand\thmt@mklistcmd{%
\@xa\protected@edef\csname l@\thmt@envname\endcsname{%
\@nx\@dottedtocline{1}{1.5em}{2.3em}%
}%
}
\g@addto@macro\thmt@newtheorem@predefinition{%
\thmt@mklistcmd
}
\addtotheorempostheadhook{%
\thmtlo@chaptervspacehack
\addcontentsline{loe}{\thmt@envname}{%
\numberline{\csname the\thmt@envname\endcsname}%
\thmt@thmname
\ifx\@empty\thmt@optarg\else\protect\space(\thmt@optarg)\fi
}%
}
\newcommand\ignoretheorems[1]{%
\@for\thm:=#1\do{%
\@xa\let\csname l@\thm\endcsname=\@gobbletwo
}%
}
% \end{macrocode}
%\iffalse
%</listof>
%\fi
|