diff options
author | Karl Berry <karl@freefriends.org> | 2010-05-19 23:24:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-05-19 23:24:59 +0000 |
commit | 37692430a0ed6d4bc09b544c26cbc8ba41255965 (patch) | |
tree | fce78f8c376af10afb0d10fd1ffcd90f8b2d39bc /Master/texmf-dist/tex/latex/thmtools/thm-listof.sty | |
parent | fb8881a67bb8f860de4fed71bbdb2b2b7c39ac89 (diff) |
thmtools 24 (18may10)
git-svn-id: svn://tug.org/texlive/trunk@18359 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/thmtools/thm-listof.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/thmtools/thm-listof.sty | 96 |
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'. |