summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/thmtools/thm-listof.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/thmtools/thm-listof.sty')
-rw-r--r--Master/texmf-dist/tex/latex/thmtools/thm-listof.sty96
1 files changed, 67 insertions, 29 deletions
diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-listof.sty b/Master/texmf-dist/tex/latex/thmtools/thm-listof.sty
index b97353af4da..e5e62bfb163 100644
--- a/Master/texmf-dist/tex/latex/thmtools/thm-listof.sty
+++ b/Master/texmf-dist/tex/latex/thmtools/thm-listof.sty
@@ -11,30 +11,31 @@
%% 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.
+%% Copyright (C) 2008-2010 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-listof}[2010/04/05 v0.1beta13 thm-listof (ulmi)]
+%%
+\NeedsTeXFormat {LaTeX2e}
+\ProvidesPackage {thm-listof}[2010/05/18 v24]
\let\@xa=\expandafter
\let\@nx=\noexpand
-\RequirePackage{thm-patch}
+\RequirePackage{thm-patch,keyval,kvsetkeys}
\def\thmtlo@oldchapter{0}%
\newcommand\thmtlo@chaptervspacehack{}
-\@ifundefined{chapter}{}{%
+\ifcsname chapter\endcsname
\def\thmtlo@chaptervspacehack{%
- \ifnum \arabic{chapter}>\thmtlo@oldchapter\relax
+ \ifnum \value{chapter}>\thmtlo@oldchapter\relax
% new chapter, add vspace to loe.
\addtocontents{loe}{\protect\addvspace{10\p@}}%
- \edef\thmtlo@oldchapter{\arabic{chapter}}%
+ \xdef\thmtlo@oldchapter{\arabic{chapter}}%
\fi
}%
-}
+\fi
\providecommand\listtheoremname{List of Theorems}
\newcommand\listoftheorems[1][]{%
@@ -43,6 +44,9 @@
\bgroup
\setlisttheoremstyle{#1}%
\let\listfigurename\listtheoremname
+ \def\contentsline##1{%
+ \csname thmt@contentsline@##1\endcsname{##1}%
+ }%
\let\thref@starttoc\@starttoc
\def\@starttoc##1{\thref@starttoc{loe}}%
% new hack: to allow multiple calls, we defer the opening of the
@@ -63,7 +67,7 @@
}
\newcommand\setlisttheoremstyle[1]{%
- \setkeys{thmt-listof}{#1}%
+ \kvsetkeys{thmt-listof}{#1}%
}
\define@key{thmt-listof}{numwidth}{\def\thmt@listnumwidth{#1}}
\define@key{thmt-listof}{ignore}[\thmt@allenvs]{\ignoretheorems{#1}}
@@ -80,10 +84,21 @@
\@xa\protected@edef\csname l@\thmt@envname\endcsname{% CHECK: why p@edef?
\@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
}%
- \@xa\def\csname ll@\thmt@envname\endcsname{%
- \protect\numberline{\csname the\thmt@envname\endcsname}%
- \thmt@thmname
- \ifx\@empty\thmt@optarg\else\protect\thmtformatoptarg{\thmt@optarg}\fi
+ \ifthmt@isstarred
+ \@xa\def\csname ll@\thmt@envname\endcsname{%
+ \protect\numberline{\protect\let\protect\autodot\protect\@empty}%
+ \thmt@thmname
+ \ifx\@empty\thmt@optarg\else\protect\thmtformatoptarg{\thmt@optarg}\fi
+ }%
+ \else
+ \@xa\def\csname ll@\thmt@envname\endcsname{%
+ \protect\numberline{\csname the\thmt@envname\endcsname}%
+ \thmt@thmname
+ \ifx\@empty\thmt@optarg\else\protect\thmtformatoptarg{\thmt@optarg}\fi
+ }%
+ \fi
+ \@xa\gdef\csname thmt@contentsline@\thmt@envname\endcsname{%
+ \thmt@contentslineShow% default:show
}%
}
\def\thmt@allenvs{\@gobble}
@@ -101,37 +116,60 @@
\csname ll@\thmt@envname\endcsname
}%
}
+
+\newcommand\showtheorems[1]{%
+ \@for\thm:=#1\do{%
+ \typeout{showing \thm}%
+ \@xa\let\csname thmt@contentsline@\thm\endcsname
+ =\thmt@contentslineShow
+ }%
+}
+
\newcommand\ignoretheorems[1]{%
\@for\thm:=#1\do{%
- \@xa\let\csname l@\thm\endcsname=\@gobbletwo
+ \@xa\let\csname thmt@contentsline@\thm\endcsname
+ =\thmt@contentslineIgnore
}%
}
\newcommand\onlynamedtheorems[1]{%
\@for\thm:=#1\do{%
- \@xa\let\csname l@\thm\endcsname=\thmt@showifnamedtheorem
+ \global\@xa\let\csname thmt@contentsline@\thm\endcsname
+ =\thmt@contentslineIfNamed
}%
}
-\def\thmt@showifnamedtheorem#1#2{%
- % check for \thmtformatoptarg on top level of first argument.
- \thmt@sh@wifnamedtheorem#1\thmtformatoptarg\@nil{%
- \@dottedtocline{1}{1.5em}{\thmt@listnumwidth}{#1}{#2}%
- }{}%
+
+\AtBeginDocument{%
+\@ifpackageloaded{hyperref}{%
+ \let\thmt@hygobble\@gobble
+}{%
+ \let\thmt@hygobble\@empty
}
-\def\thmt@sh@wifnamedtheorem#1\thmtformatoptarg#2\@nil{%
+\let\thmt@contentsline\contentsline
+}
+
+\def\thmt@contentslineIgnore#1#2#3{%
+ \thmt@hygobble
+}
+\def\thmt@contentslineShow{%
+ \thmt@contentsline
+}
+
+\def\thmt@contentslineIfNamed#1#2#3{%
+ \thmt@ifhasoptname #2\thmtformatoptarg\@nil{%
+ \thmt@contentslineShow{#1}{#2}{#3}%
+ }{%
+ \thmt@contentslineIgnore{#1}{#2}{#3}%
+ %\thmt@contentsline{#1}{#2}{#3}%
+ }
+}
+
+\def\thmt@ifhasoptname #1\thmtformatoptarg#2\@nil{%
\ifx\@nil#2\@nil
\@xa\@secondoftwo
\else
\@xa\@firstoftwo
\fi
}
-
-\newcommand\showtheorems[1]{%
- \@for\thm:=#1\do{%
- \@xa\protected@edef\csname l@\thm\endcsname{% CHECK: why p@edef?
- \@nx\@dottedtocline{1}{1.5em}{\@nx\thmt@listnumwidth}%
- }%
- }%
-}
\endinput
%%
%% End of file `thm-listof.sty'.