From 37692430a0ed6d4bc09b544c26cbc8ba41255965 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 19 May 2010 23:24:59 +0000 Subject: thmtools 24 (18may10) git-svn-id: svn://tug.org/texlive/trunk@18359 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/thmtools/aliasctr.sty | 7 +- Master/texmf-dist/tex/latex/thmtools/parseargs.sty | 7 +- .../texmf-dist/tex/latex/thmtools/thm-amsthm.sty | 141 +++++++++++++ .../texmf-dist/tex/latex/thmtools/thm-autoref.sty | 67 ++++++- .../texmf-dist/tex/latex/thmtools/thm-beamer.sty | 54 +++++ Master/texmf-dist/tex/latex/thmtools/thm-kv.sty | 217 ++++++++++++++++----- .../texmf-dist/tex/latex/thmtools/thm-listof.sty | 96 ++++++--- .../texmf-dist/tex/latex/thmtools/thm-ntheorem.sty | 127 ++++++++++++ Master/texmf-dist/tex/latex/thmtools/thm-patch.sty | 100 +++++----- .../texmf-dist/tex/latex/thmtools/thm-restate.sty | 26 ++- .../tex/latex/thmtools/thmdef-shaded.sty | 63 ++++++ .../tex/latex/thmtools/thmdef-thmbox.sty | 38 ++++ Master/texmf-dist/tex/latex/thmtools/thmtools.sty | 56 +++++- Master/texmf-dist/tex/latex/thmtools/unique.sty | 24 ++- 14 files changed, 862 insertions(+), 161 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/thmtools/thm-amsthm.sty create mode 100644 Master/texmf-dist/tex/latex/thmtools/thm-beamer.sty create mode 100644 Master/texmf-dist/tex/latex/thmtools/thm-ntheorem.sty create mode 100644 Master/texmf-dist/tex/latex/thmtools/thmdef-shaded.sty create mode 100644 Master/texmf-dist/tex/latex/thmtools/thmdef-thmbox.sty (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/thmtools/aliasctr.sty b/Master/texmf-dist/tex/latex/thmtools/aliasctr.sty index e8e4f1aec61..76b8d150a11 100644 --- a/Master/texmf-dist/tex/latex/thmtools/aliasctr.sty +++ b/Master/texmf-dist/tex/latex/thmtools/aliasctr.sty @@ -11,15 +11,16 @@ %% 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{aliasctr}[2006/01/22 v0.1 counter aliasing (ulmi)] +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {aliasctr}[2010/05/18 v24] \def\aliasctr@f@llow#1#2\@nil#3{% \ifx#1\@elt \noexpand #3% diff --git a/Master/texmf-dist/tex/latex/thmtools/parseargs.sty b/Master/texmf-dist/tex/latex/thmtools/parseargs.sty index b08ac01f3ed..1216cebb1ad 100644 --- a/Master/texmf-dist/tex/latex/thmtools/parseargs.sty +++ b/Master/texmf-dist/tex/latex/thmtools/parseargs.sty @@ -11,15 +11,16 @@ %% 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{parseargs}[2008/05/12 v0.1alpha1 generic argument parser (ulmi)] +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {parseargs}[2010/05/18 v24] \newtoks\@parsespec \def\parse@endquark{\parse@endquark} diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-amsthm.sty b/Master/texmf-dist/tex/latex/thmtools/thm-amsthm.sty new file mode 100644 index 00000000000..a96470cc88b --- /dev/null +++ b/Master/texmf-dist/tex/latex/thmtools/thm-amsthm.sty @@ -0,0 +1,141 @@ +%% +%% This is file `thm-amsthm.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% thm-amsthm.dtx (with options: `amsthm') +%% 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-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-amsthm}[2010/05/18 v24] +\define@key{thmstyle}{spaceabove}{% + \def\thmt@style@spaceabove{#1}% +} +\define@key{thmstyle}{spacebelow}{% + \def\thmt@style@spacebelow{#1}% +} +\define@key{thmstyle}{headfont}{% + \def\thmt@style@headfont{#1}% +} +\define@key{thmstyle}{bodyfont}{% + \def\thmt@style@bodyfont{#1}% +} +\define@key{thmstyle}{notefont}{% + \def\thmt@style@notefont{#1}% +} +\define@key{thmstyle}{headpunct}{% + \def\thmt@style@headpunct{#1}% +} +\define@key{thmstyle}{notebraces}{% + \def\thmt@style@notebraces{\thmt@embrace#1}% +} +\define@key{thmstyle}{break}[]{% + \def\thmt@style@postheadspace{\newline}% +} +\define@key{thmstyle}{postheadspace}{% + \def\thmt@style@postheadspace{#1}% +} +\define@key{thmstyle}{headindent}{% + \def\thmt@style@headindent{#1}% +} + +\newtoks\thmt@style@headstyle +\define@key{thmstyle}{headformat}[]{% + \thmt@style@headstyle{% + \def\NAME{\the\thm@headfont ##1}% + \def\NUMBER{\bgroup\@upn{##2}\egroup}% + \def\NOTE{\if=##3=\else\bgroup\ \the\thm@notefont(##3)\egroup\fi}% + }% + \def\thmt@tmp{#1}% + \@onelevel@sanitize\thmt@tmp + %\tracingall + \ifcsname thmt@headstyle@\thmt@tmp\endcsname + \thmt@style@headstyle\@xa{% + \the\thmt@style@headstyle + \csname thmt@headstyle@#1\endcsname + }% + \else + \thmt@style@headstyle\@xa{% + \the\thmt@style@headstyle + #1 + }% + \fi + %\showthe\thmt@style@headstyle +} +\def\thmt@headstyle@margin{% + \makebox[0pt][r]{\NUMBER\ }\NAME\NOTE +} +\def\thmt@headstyle@swapnumber{% + \NUMBER\ \NAME\NOTE +} + +\def\thmt@embrace#1#2(#3){#1#3#2} + +\def\thmt@declaretheoremstyle@setup{% + \let\thmt@style@notebraces\@empty% + \thmt@style@headstyle{}% + \kvsetkeys{thmstyle}{% + spaceabove=3pt, + spacebelow=3pt, + headfont=\bfseries, + bodyfont=\normalfont, + headpunct={.}, + postheadspace={ }, + headindent={}, + notefont={\fontseries\mddefault\upshape} + }% +} +\def\thmt@declaretheoremstyle#1{% + %\show\thmt@style@spaceabove + \thmt@toks{\newtheoremstyle{#1}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@spaceabove}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@spacebelow}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@bodyfont}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@headindent}}% indent1 FIXME + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@headfont}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@headpunct}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\thmt@style@postheadspace}}% + \thmt@toks\@xa\@xa\@xa{\@xa\the\@xa\thmt@toks\@xa{\the\thmt@style@headstyle}}% headspec FIXME + \the\thmt@toks + %1 Indent amount: empty = no indent, \parindent = normal paragraph indent + %2 Space after theorem head: { } = normal interword space; \newline = linebreak + %% BUGFIX: amsthm ignores notefont setting altogether: + \thmt@toks\@xa\@xa\@xa{\csname th@#1\endcsname}% + \thmt@toks + \@xa\@xa\@xa\@xa\@xa\@xa\@xa{% + \@xa\@xa\@xa\@xa\@xa\@xa\@xa\thm@notefont + \@xa\@xa\@xa\@xa\@xa\@xa\@xa{% + \@xa\@xa\@xa\thmt@style@notefont + \@xa\thmt@style@notebraces + \@xa}\the\thmt@toks}% + \@xa\def\csname th@#1\@xa\endcsname\@xa{\the\thmt@toks}% +} + +\define@key{thmdef}{qed}[\qedsymbol]{% + \thmt@trytwice{}{% + \addtotheorempostheadhook[\thmt@envname]{% + \pushQED{\qed}% + }% + \addtotheoremprefoothook[\thmt@envname]{% + \protected@edef\qedsymbol{#1}% + \popQED + }% + }% +} + +\endinput +%% +%% End of file `thm-amsthm.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-autoref.sty b/Master/texmf-dist/tex/latex/thmtools/thm-autoref.sty index 663fd9001b9..73a682d4e39 100644 --- a/Master/texmf-dist/tex/latex/thmtools/thm-autoref.sty +++ b/Master/texmf-dist/tex/latex/thmtools/thm-autoref.sty @@ -11,17 +11,18 @@ %% 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-autoref}[2008/03/09 v0.1beta2 thm-autoref (ulmi)] +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {thm-autoref}[2010/05/18 v24] -\RequirePackage{thm-patch, aliasctr} +\RequirePackage{thm-patch, aliasctr, parseargs, keyval} \let\@xa=\expandafter \let\@nx=\noexpand @@ -40,6 +41,64 @@ } \g@addto@macro\thmt@newtheorem@predefinition{\thmt@autorefsetup}% \g@addto@macro\thmt@newtheorem@postdefinition{\csname thmt@autoreffix\endcsname}% + +\def\thmt@refnamewithcomma #1#2#3,#4,#5\@nil{% + \@xa\def\csname\thmt@envname #1utorefname\endcsname{#3}% + \ifcsname #2refname\endcsname + \csname #2refname\endcsname{\thmt@envname}{#3}{#4}% + \fi +} +\define@key{thmdef}{refname}{\thmt@trytwice{}{% + \thmt@refnamewithcomma{a}{c}#1,\textbf{?? (pl. #1)},\@nil +}} +\define@key{thmdef}{Refname}{\thmt@trytwice{}{% + \thmt@refnamewithcomma{A}{C}#1,\textbf{?? (pl. #1)},\@nil +}} + +\ifcsname Autoref\endcsname\else +\let\thmt@HyRef@testreftype\HyRef@testreftype +\def\HyRef@Testreftype#1.#2\\{% + \ltx@IfUndefined{#1Autorefname}{% + \thmt@HyRef@testreftype#1.#2\\% + }{% + \edef\HyRef@currentHtag{% + \expandafter\noexpand\csname#1Autorefname\endcsname + \noexpand~% + }% + }% +} + +\let\thmt@HyPsd@@autorefname\HyPsd@@autorefname +\def\HyPsd@@Autorefname#1.#2\@nil{% + \tracingall + \ltx@IfUndefined{#1Autorefname}{% + \thmt@HyPsd@@autorefname#1.#2\@nil + }{% + \csname#1Autorefname\endcsname\space + }% +}% +\def\Autoref{% + \parse{% + {\parseFlag*{\def\thmt@autorefstar{*}}{\let\thmt@autorefstar\@empty}}% + {\parseMand{% + \bgroup + \let\HyRef@testreftype\HyRef@Testreftype + \let\HyPsd@@autorefname\HyPsd@@Autorefname + \@xa\autoref\thmt@autorefstar{##1}% + \egroup + \let\@parsecmd\@empty + }}% + }% +} +\fi % ifcsname Autoref + +\AtBeginDocument{% + \@ifpackageloaded{nameref}{% + \addtotheorempostheadhook{% + \expandafter\NR@gettitle\expandafter{\thmt@optarg}% + }}{} +} + \endinput %% %% End of file `thm-autoref.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-beamer.sty b/Master/texmf-dist/tex/latex/thmtools/thm-beamer.sty new file mode 100644 index 00000000000..c690a3c6027 --- /dev/null +++ b/Master/texmf-dist/tex/latex/thmtools/thm-beamer.sty @@ -0,0 +1,54 @@ +%% +%% This is file `thm-beamer.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% thm-beamer.dtx (with options: `beamer') +%% 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-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-beamer}[2010/05/18 v24] +\newif\ifthmt@hasoverlay +\def\thmt@parsetheoremargs#1{% + \parse{% + {\parseOpt<>{\thmt@hasoverlaytrue\def\thmt@overlay{##1}}{}}% + {\parseOpt[]{\def\thmt@optarg{##1}}{\let\thmt@optarg\@empty}}% + {\ifthmt@hasoverlay\expandafter\@gobble\else\expandafter\@firstofone\fi + {\parseOpt<>{\thmt@hasoverlaytrue\def\thmt@overlay{##1}}{}}% + }% + {% + \def\thmt@local@preheadhook{}% + \def\thmt@local@postheadhook{}% + \def\thmt@local@prefoothook{}% + \def\thmt@local@postfoothook{}% + \thmt@local@preheadhook + \csname thmt@#1@preheadhook\endcsname + \thmt@generic@preheadhook + \protected@edef\tmp@args{% + \ifthmt@hasoverlay <\thmt@overlay>\fi + \ifx\@empty\thmt@optarg\else [{\thmt@optarg}]\fi + }% + \csname thmt@original@#1\@xa\endcsname\tmp@args + \thmt@local@postheadhook + \csname thmt@#1@postheadhook\endcsname + \thmt@generic@postheadhook + \let\@parsecmd\@empty + }% + } +}% +\endinput +%% +%% End of file `thm-beamer.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-kv.sty b/Master/texmf-dist/tex/latex/thmtools/thm-kv.sty index fec5a0051ba..d984ebdee4c 100644 --- a/Master/texmf-dist/tex/latex/thmtools/thm-kv.sty +++ b/Master/texmf-dist/tex/latex/thmtools/thm-kv.sty @@ -11,48 +11,111 @@ %% 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-kv}[2009/07/30 v0.1beta11 thm-kv interface (ulmi)] +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {thm-kv}[2010/05/18 v24] + \let\@xa\expandafter \let\@nx\noexpand -\RequirePackage{keyval} +\RequirePackage{keyval,kvsetkeys,thm-patch} + +\newif\if@thmt@firstkeyset + +\def\thmt@trytwice{% + \if@thmt@firstkeyset + \@xa\@firstoftwo + \else + \@xa\@secondoftwo + \fi +} + +\@for\keyname:=parent,numberwithin,within\do{% +\define@key{thmdef}{\keyname}{\thmt@trytwice{\thmt@setparent{#1}}{}}% +} + +\@for\keyname:=sibling,numberlike,sharenumber\do{% +\define@key{thmdef}{\keyname}{\thmt@trytwice{\thmt@setsibling{#1}}{}}% +} -\define@key{thmt}{parent}{\thmt@setparent{#1}} -\define@key{thmt}{numberwithin}{\thmt@setparent{#1}} -\define@key{thmt}{within}{\thmt@setparent{#1}} +\@for\keyname:=title,name,heading\do{% +\define@key{thmdef}{\keyname}{\thmt@trytwice{\thmt@setthmname{#1}}{}}% +} -\define@key{thmt}{sibling}{\thmt@setsibling{#1}} -\define@key{thmt}{numberlike}{\thmt@setsibling{#1}} -\define@key{thmt}{sharenumber}{\thmt@setsibling{#1}} +\@for\keyname:=unnumbered,starred\do{% +\define@key{thmdef}{\keyname}[]{\thmt@trytwice{\thmt@isnumberedfalse}{}}% +} -\define@key{thmt}{title}{\thmt@setthmname{#1}} -\define@key{thmt}{name}{\thmt@setthmname{#1}} -\define@key{thmt}{heading}{\thmt@setthmname{#1}} +\def\thmt@YES{yes} +\def\thmt@NO{no} +\def\thmt@UNIQUE{unless unique} +\define@key{thmdef}{numbered}[\thmt@YES]{ + \def\thmt@tmp{#1}% + \thmt@trytwice{% + \ifx\thmt@tmp\thmt@YES + \thmt@isnumberedtrue + \else\ifx\thmt@tmp\thmt@NO + \thmt@isnumberedfalse + \else\ifx\thmt@tmp\thmt@UNIQUE + \RequirePackage[unq]{unique} + \ifuniq{\thmt@envname}{% + \thmt@isnumberedfalse + }{% + \thmt@isnumberedtrue + }% + \else + \PackageError{thmtools}{Unknown value `#1' to key numbered}{}% + \fi\fi\fi + }{% trytwice: after definition + \ifx\thmt@tmp\thmt@UNIQUE + \addtotheorempreheadhook[\thmt@envname]{\setuniqmark{\thmt@envname}}% + \addtotheorempreheadhook[\thmt@envname]{\def\thmt@dummyctrautorefname{\thmt@thmname\@gobble}} + \fi + }% +} -\define@key{thmt}{unnumbered}[]{\thmt@isnumberedfalse} -\define@key{thmt}{starred}[]{\thmt@isnumberedfalse} +\define@key{thmdef}{preheadhook}{\thmt@trytwice{}{\addtotheorempreheadhook[\thmt@envname]{#1}}} +\define@key{thmdef}{postheadhook}{\thmt@trytwice{}{\addtotheorempostheadhook[\thmt@envname]{#1}}} +\define@key{thmdef}{prefoothook}{\thmt@trytwice{}{\addtotheoremprefoothook[\thmt@envname]{#1}}} +\define@key{thmdef}{postfoothook}{\thmt@trytwice{}{\addtotheorempostfoothook[\thmt@envname]{#1}}} -\define@key{thmt}{preheadhook}{\addtotheorempreheadhook[\thmt@envname]{#1}} -\define@key{thmt}{postheadhook}{\addtotheorempostheadhook[\thmt@envname]{#1}} -\define@key{thmt}{prefoothook}{\addtotheoremprefoothook[\thmt@envname]{#1}} -\define@key{thmt}{postfoothook}{\addtotheorempostfoothook[\thmt@envname]{#1}} +\define@key{thmdef}{style}{\thmt@trytwice{\thmt@setstyle{#1}}{}} -\define@key{thmt}{style}{\thmt@setstyle{#1}} +\define@key{thmdef0}{style}{% + \ifcsname thmt@style #1@defaultkeys\endcsname + \thmt@toks{\kvsetkeys{thmdef}}% + \@xa\@xa\@xa\the\@xa\@xa\@xa\thmt@toks\@xa\@xa\@xa{% + \csname thmt@style #1@defaultkeys\endcsname}% + \fi +} +\kv@set@family@handler{thmdef0}{}% ignore everything else. -\providecommand\theoremstyle[1]{% +\def\thmt@setstyle#1{% \PackageWarning{thm-kv}{% - Your backend doesn't have a `\string\theoremstyle' command.\MessageBreak - Your style request `#1' was ignored + Your backend doesn't have a `\string\theoremstyle' command. }% } -\let\thmt@setstyle\theoremstyle + +\ifcsname theoremstyle\endcsname + \let\thmt@originalthmstyle\theoremstyle + \def\thmt@outerstyle{plain} + \renewcommand\theoremstyle[1]{% + \def\thmt@outerstyle{#1}% + \thmt@originalthmstyle{#1}% + } + \def\thmt@setstyle#1{% + \thmt@originalthmstyle{#1}% + } + \g@addto@macro\thmt@newtheorem@postdefinition{% + \thmt@originalthmstyle{\thmt@outerstyle}% + } +\fi \newif\ifthmt@isnumbered \newcommand\thmt@setparent[1]{% @@ -65,6 +128,8 @@ \def\thmt@thmname } +\thmt@mkextendingkeyhandler{thmdef}{thmdef}{\string\declaretheorem\space key} + \newcommand\declaretheorem[2][]{% \let\thmt@theoremdefiner\thmt@original@newtheorem \def\thmt@envname{#2}% @@ -72,7 +137,9 @@ \thmt@setparent{}% \thmt@setsibling{}% \thmt@isnumberedtrue% - \setkeys{thmt}{#1}% + \@thmt@firstkeysettrue% + \kvsetkeys{thmdef0}{#1}% + \kvsetkeys{thmdef}{#1}% \protected@edef\thmt@tmp{% \@nx\newtheorem \ifthmt@isnumbered\else *\fi @@ -84,33 +151,81 @@ \thmt@tmp % uniquely ugly kludge: some keys make only sense % afterwards. - \setkeys{thmt}{#1}% -} - \define@key{thmt}{shaded}[{}]{% - \RequirePackage{shadethm}% - \RequirePackage{thm-patch}% - \addtotheorempreheadhook[\thmt@envname]{% - \setlength\shadedtextwidth{\linewidth}% - \setkeys{thmt@shade}{#1}\begin{shadebox}}% - \addtotheorempostfoothook[\thmt@envname]{\end{shadebox}}% - } -\define@key{thmt@shade}{textwidth}{\setlength\shadedtextwidth{#1}} -\define@key{thmt@shade}{bgcolor}{\definecolor{shadethmcolor}#1} -\define@key{thmt@shade}{rulecolor}{\definecolor{shaderulecolor}#1} -\define@key{thmt@shade}{rulewidth}{\setlength\shadeboxrule{#1}} -\define@key{thmt@shade}{margin}{\setlength\shadeboxsep{#1}} - \define@key{thmt}{thmbox}[L]{% - \let\oldproof=\proof - \let\oldendproof=\endproof - \let\oldexample=\example - \let\oldendexample=\endexample - \RequirePackage[nothm]{thmbox} - \let\proof=\oldproof - \let\endproof=\oldendproof - \let\example=\oldexample - \let\endexample=\oldendexample - \def\thmt@theoremdefiner{\newboxtheorem[#1]}% + % and it gets kludgier: again, the default-inherited + % keys need to have a go at it. + \@thmt@firstkeysetfalse% + \kvsetkeys{thmdef0}{#1}% + \kvsetkeys{thmdef}{#1}% +} + +\providecommand\thmt@quark{\thmt@quark} + + +\thmt@mkextendingkeyhandler{thmuse}{thmuse}{\thmt@envname\space optarg key} + +\addtotheorempreheadhook{% + \ifx\thmt@optarg\@empty\else + \@xa\thmt@garbleoptarg\@xa{\thmt@optarg}\fi +}% +\providecommand\thmt@garbleoptarg[1]{% + \thmt@splitopt#1=\thmt@quark + \ifcsname KV@thmuse@\thmt@tmpkey\endcsname + % looks like a keyval-style argument + \PackageInfo{thmtools}{kv-style argument to `\thmt@envname'} + %\typeout{dbg: new-style arg `#1'}% + \let\thmt@newoptarg\@empty + \kvsetkeys{thmuse}{#1}% + \let\thmt@optarg\thmt@newoptarg + %\else + % \typeout{dbg: old-style arg `#1'}% + \fi +} +\def\thmt@splitopt#1=#2\thmt@quark{% + \def\thmt@tmpkey{#1}% + \ifx\thmt@tmpkey\@empty + \def\thmt@tmpkey{\thmt@quark}% + \fi + \@onelevel@sanitize\thmt@tmpkey +} + +\define@key{thmuse}{label}{% + %\typeout{setting label: #1}% + \addtotheorempostheadhook[local]{\label{#1}}% +} +\define@key{thmuse}{name}{% + %\typeout{optarg: #1}% + \def\thmt@newoptarg{#1}% +} + +\def\thmt@declaretheoremstyle@setup{} +\def\thmt@declaretheoremstyle#1{% + \PackageWarning{thmtools}{Your backend doesn't allow styling theorems}{} +} +\newcommand\declaretheoremstyle[2][]{% + \def\thmt@style{#2}% + \@xa\def\csname thmt@style \thmt@style @defaultkeys\endcsname{}% + \thmt@declaretheoremstyle@setup + \kvsetkeys{thmstyle}{#1}% + \thmt@declaretheoremstyle{#2}% +} + +\kv@set@family@handler{thmstyle}{% + \PackageInfo{thmtools}{% + Key `#1' (with value `#2')\MessageBreak + is not a known style key.\MessageBreak + Will pass this to every \string\declaretheorem\MessageBreak + that uses `style=\thmt@style'% }% + \ifx\kv@value\relax% no value given, don't pass on {}! + \@xa\g@addto@macro\csname thmt@style \thmt@style @defaultkeys\endcsname{% + #1,% + }% + \else + \@xa\g@addto@macro\csname thmt@style \thmt@style @defaultkeys\endcsname{% + #1={#2},% + }% + \fi +} \endinput %% %% End of file `thm-kv.sty'. 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'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-ntheorem.sty b/Master/texmf-dist/tex/latex/thmtools/thm-ntheorem.sty new file mode 100644 index 00000000000..8c5e6e80607 --- /dev/null +++ b/Master/texmf-dist/tex/latex/thmtools/thm-ntheorem.sty @@ -0,0 +1,127 @@ +%% +%% This is file `thm-ntheorem.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% thm-ntheorem.dtx (with options: `ntheorem') +%% 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-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-ntheorem}[2010/05/18 v24] + +\def\thmt@declaretheoremstyle@setup{} +\def\thmt@declaretheoremstyle#1{% + \ifcsname th@#1\endcsname\else + \@xa\let\csname th@#1\endcsname\th@plain + \fi +} + +\def\thmt@notsupported#1#2{% + \PackageWarning{thmtools}{Key `#2' not supported by #1}{}% +} + +\define@key{thmstyle}{spaceabove}{% + \setlength\theorempreskipamount{#1}% +} +\define@key{thmstyle}{spacebelow}{% + \setlength\theorempostskipamount{#1}% +} +\define@key{thmstyle}{headfont}{% + \theoremheaderfont{#1}% +} +\define@key{thmstyle}{bodyfont}{% + \theorembodyfont{#1}% +} +\define@key{thmstyle}{notefont}{% + \thmt@notsupported{ntheorem}{notefont}% +} +\define@key{thmstyle}{headpunct}{% + \theoremseparator{#1}% +} +\define@key{thmstyle}{notebraces}{% + \thmt@notsupported{ntheorem}{notebraces}% +} +\define@key{thmstyle}{break}{% + \theoremstyle{break}% +} +\define@key{thmstyle}{postheadspace}{% + %\def\thmt@style@postheadspace{#1}% + \@xa\g@addto@macro\csname thmt@style \thmt@style @defaultkeys\endcsname{% + postheadhook={\hspace{-\labelsep}\hspace*{#1}},% + }% +} + +\define@key{thmstyle}{headindent}{% + \thmt@notsupported{ntheorem}{headindent}% +} +\define@key{thmstyle}{qed}[\qedsymbol]{% + \theoremsymbol{#1}% +} + +\let\@upn=\textup +\define@key{thmstyle}{headformat}[]{% + \def\thmt@tmp{#1}% + \@onelevel@sanitize\thmt@tmp + %\tracingall + \ifcsname thmt@headstyle@\thmt@tmp\endcsname + \newtheoremstyle{\thmt@style}{% + \item[\hskip\labelsep\theorem@headerfont% + \def\NAME{\theorem@headerfont ####1}% + \def\NUMBER{\bgroup\@upn{####2}\egroup}% + \def\NOTE{}% + \csname thmt@headstyle@#1\endcsname + \theorem@separator + ] + }{% + \item[\hskip\labelsep\theorem@headerfont% + \def\NAME{\theorem@headerfont ####1}% + \def\NUMBER{\bgroup\@upn{####2}\egroup}% + \def\NOTE{\if=####3=\else\bgroup\ (####3)\egroup\fi}% + \csname thmt@headstyle@#1\endcsname + \theorem@separator + ] + } + \else + \newtheoremstyle{\thmt@style}{% + \item[\hskip\labelsep\theorem@headerfont% + \def\NAME{\the\thm@headfont ####1}% + \def\NUMBER{\bgroup\@upn{####2}\egroup}% + \def\NOTE{}% + #1% + \theorem@separator + ] + }{% + \item[\hskip\labelsep\theorem@headerfont% + \def\NAME{\the\thm@headfont ####1}% + \def\NUMBER{\bgroup\@upn{####2}\egroup}% + \def\NOTE{\if=####3=\else\bgroup\ (####3)\egroup\fi}% + #1% + \theorem@separator + ] + } + \fi +} + +\def\thmt@headstyle@margin{% + \makebox[0pt][r]{\NUMBER\ }\NAME\NOTE +} +\def\thmt@headstyle@swapnumber{% + \NUMBER\ \NAME\NOTE +} + +\endinput +%% +%% End of file `thm-ntheorem.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-patch.sty b/Master/texmf-dist/tex/latex/thmtools/thm-patch.sty index d46a47a97d0..4d883956bb4 100644 --- a/Master/texmf-dist/tex/latex/thmtools/thm-patch.sty +++ b/Master/texmf-dist/tex/latex/thmtools/thm-patch.sty @@ -11,70 +11,44 @@ %% 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-patch}[2008/09/02 v0.1beta6b thm-patch (ulmi)] -\let\@xa=\expandafter -\let\@nx=\noexpand +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {thm-patch}[2010/05/18 v24] \RequirePackage{parseargs} -\@ifundefined{c@thmt@dummyctr}{% - \newcounter{thmt@dummyctr}% -}{}% -\gdef\theHthmt@dummyctr{dummy.\arabic{thmt@dummyctr}}% -\gdef\thethmt@dummyctr{}% - \newif\ifthmt@isstarred \newif\ifthmt@hassibling \newif\ifthmt@hasparent -\@ifundefined{beamer@version}{% - \def\thmt@parsetheoremargs#1{% - \parse{% - {\parseOpt[]{\def\thmt@optarg{##1}}{\let\thmt@optarg\@empty}}% - {% - \csname thmt@#1@preheadhook\endcsname - \thmt@generic@preheadhook - \protected@edef\tmp@args{% - \ifx\@empty\thmt@optarg\else [\thmt@optarg]\fi - }% - \csname thmt@original@#1\@xa\endcsname\tmp@args - \csname thmt@#1@postheadhook\endcsname - \thmt@generic@postheadhook - \let\@parsecmd\@empty +\def\thmt@parsetheoremargs#1{% + \parse{% + {\parseOpt[]{\def\thmt@optarg{##1}}{\let\thmt@optarg\@empty}}% + {% + \def\thmt@local@preheadhook{}% + \def\thmt@local@postheadhook{}% + \def\thmt@local@prefoothook{}% + \def\thmt@local@postfoothook{}% + \thmt@local@preheadhook + \csname thmt@#1@preheadhook\endcsname + \thmt@generic@preheadhook + \protected@edef\tmp@args{% + \ifx\@empty\thmt@optarg\else [{\thmt@optarg}]\fi }% + \csname thmt@original@#1\@xa\endcsname\tmp@args + \thmt@local@postheadhook + \csname thmt@#1@postheadhook\endcsname + \thmt@generic@postheadhook + \let\@parsecmd\@empty }% }% -}{% - \newif\ifthmt@hasoverlay - \def\thmt@parsetheoremargs#1{% - \parse{% - {\parseOpt<>{\thmt@hasoverlaytrue\def\thmt@overlay{##1}}{}}% - {\parseOpt[]{\def\thmt@optarg{##1}}{\let\thmt@optarg\@empty}}% - {\ifthmt@hasoverlay\expandafter\@gobble\else\expandafter\@firstofone\fi - {\parseOpt<>{\thmt@hasoverlaytrue\def\thmt@overlay{##1}}{}}% - }% - {% - \csname thmt@#1@preheadhook\endcsname - \thmt@generic@preheadhook - \protected@edef\tmp@args{% - \ifthmt@hasoverlay <\thmt@overlay>\fi - \ifx\@empty\thmt@optarg\else [\thmt@optarg]\fi - }% - \csname thmt@original@#1\@xa\endcsname\tmp@args - \csname thmt@#1@postheadhook\endcsname - \thmt@generic@postheadhook - \let\@parsecmd\@empty - }% - } - }% -} +}% \let\thmt@original@newtheorem\newtheorem \let\thmt@theoremdefiner\thmt@original@newtheorem @@ -95,7 +69,7 @@ \newcommand\thmt@newtheoremiv{% \thmt@newtheorem@predefinition - % whee, now reassemble the whole shit. + % whee, now reassemble the whole shebang. \protected@edef\thmt@args{% \@nx\thmt@theoremdefiner% \ifthmt@isstarred *\fi @@ -111,6 +85,9 @@ \newcommand\thmt@newtheorem@predefinition{} \newcommand\thmt@newtheorem@postdefinition{} +\g@addto@macro\thmt@newtheorem@predefinition{% + \@xa\thmt@providetheoremhooks\@xa{\thmt@envname}% +} \g@addto@macro\thmt@newtheorem@postdefinition{% \@xa\thmt@addtheoremhook\@xa{\thmt@envname}% \ifthmt@isstarred\@namedef{the\thmt@envname}{}\fi @@ -122,6 +99,16 @@ \thmt@tmp }% } +\newcommand\thmt@providetheoremhooks[1]{% + \@namedef{thmt@#1@preheadhook}{}% + \@namedef{thmt@#1@postheadhook}{}% + \@namedef{thmt@#1@prefoothook}{}% + \@namedef{thmt@#1@postfoothook}{}% + \def\thmt@local@preheadhook{}% + \def\thmt@local@postheadhook{}% + \def\thmt@local@prefoothook{}% + \def\thmt@local@postfoothook{}% +} \newcommand\thmt@addtheoremhook[1]{% % this adds two command calls to the newly-defined theorem. \@xa\let\csname thmt@original@#1\@xa\endcsname @@ -134,17 +121,22 @@ % these need to be in opposite order of headhooks. \csname thmtgeneric@prefoothook\endcsname \csname thmt@#1@prefoothook\endcsname + \csname thmt@local@prefoothook\endcsname \csname thmt@original@end#1\endcsname \csname thmt@generic@postfoothook\endcsname \csname thmt@#1@postfoothook\endcsname + \csname thmt@local@postfoothook\endcsname }% - \@namedef{thmt@#1@preheadhook}{}% - \@namedef{thmt@#1@postheadhook}{}% - \@namedef{thmt@#1@prefoothook}{}% - \@namedef{thmt@#1@postfoothook}{}% } \newcommand\thmt@generic@preheadhook{\refstepcounter{thmt@dummyctr}} \newcommand\thmt@generic@postheadhook{} +\newcommand\thmt@generic@prefoothook{} +\newcommand\thmt@generic@postfoothook{} + +\def\thmt@local@preheadhook{} +\def\thmt@local@postheadhook{} +\def\thmt@local@prefoothook{} +\def\thmt@local@postfoothook{} \providecommand\g@prependto@macro[2]{% \begingroup diff --git a/Master/texmf-dist/tex/latex/thmtools/thm-restate.sty b/Master/texmf-dist/tex/latex/thmtools/thm-restate.sty index a66e063ee1e..bac42e29184 100644 --- a/Master/texmf-dist/tex/latex/thmtools/thm-restate.sty +++ b/Master/texmf-dist/tex/latex/thmtools/thm-restate.sty @@ -11,15 +11,16 @@ %% 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-restate}[2010/04/05 v0.1beta13 thm-restate (ulmi)] +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {thm-restate}[2010/05/18 v24] \let\@xa\expandafter \let\@nx\noexpand @@ -28,7 +29,6 @@ }{} \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}% @@ -44,8 +44,10 @@ }% } -\def\thmt@trivialref#1{% - \@xa\@xa\@xa\thmt@trivi@lr@f\csname r@#1\endcsname\@nil +\def\thmt@trivialref#1#2{% + \ifcsname r@#1\endcsname + \@xa\@xa\@xa\thmt@trivi@lr@f\csname r@#1\endcsname\relax\@nil + \else #2\fi } \def\thmt@trivi@lr@f#1#2\@nil{#1} @@ -75,6 +77,8 @@ \newif\ifthmt@thisistheone \newenvironment{thmt@restatable}[3][]{% + \thmt@toks{}% + \stepcounter{thmt@dummyctr}% \long\def\thmrst@store##1{% \@xa\gdef\csname #3\endcsname{% \@ifstar{% @@ -97,7 +101,8 @@ \@currentlabel \protect\def\@xa\protect\csname the\ctr\endcsname{\csname the\ctr\endcsname}% \ifcsname theH\ctr\endcsname - \protect\def\@xa\protect\csname theH\ctr\endcsname{\csname theH\ctr\endcsname}% + \protect\def\@xa\protect\csname theH\ctr\endcsname{% + (restate \protect\theHthmt@dummyctr)\csname theH\ctr\endcsname}% \fi \protect\setcounter{\ctr}{\number\csname c@\ctr\endcsname}% }% @@ -106,7 +111,10 @@ \egroup \else \@xa\protected@edef\csname the#2\endcsname{% - \thmt@trivialref{thmt@@#3}}% + \thmt@trivialref{thmt@@#3}{??}}% + \ifcsname r@thmt@@#3\endcsname\else + \G@refundefinedtrue + \fi \@xa\let\csname c@#2\endcsname=\c@thmt@dummyctr \@xa\let\csname theH#2\endcsname=\theHthmt@dummyctr \let\label=\@gobble @@ -118,7 +126,7 @@ \protect\setcounter{equation}{\arabic{equation}}% }% } - \thmt@trivialref{thmt@@#3@data}% + \thmt@trivialref{thmt@@#3@data}{}% \fi %\def\@currenvir{#2}% \csname #2\@xa\endcsname\ifx\@nx#1\@nx\else[#1]\fi diff --git a/Master/texmf-dist/tex/latex/thmtools/thmdef-shaded.sty b/Master/texmf-dist/tex/latex/thmtools/thmdef-shaded.sty new file mode 100644 index 00000000000..c20579eac50 --- /dev/null +++ b/Master/texmf-dist/tex/latex/thmtools/thmdef-shaded.sty @@ -0,0 +1,63 @@ +%% +%% This is file `thmdef-shaded.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% thmdef-shaded.dtx (with options: `shaded') +%% 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-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 {thmdef-shaded}[2010/05/18 v24] + \define@key{thmdef}{shaded}[{}]{% + \thmt@trytwice{}{% + \RequirePackage{shadethm}% + \RequirePackage{thm-patch}% + \addtotheorempreheadhook[\thmt@envname]{% + \setlength\shadedtextwidth{\linewidth}% + \kvsetkeys{thmt@shade}{#1}\begin{shadebox}}% + \addtotheorempostfoothook[\thmt@envname]{\end{shadebox}}% + }% + } +\define@key{thmt@shade}{textwidth}{\setlength\shadedtextwidth{#1}} +\define@key{thmt@shade}{bgcolor}{\thmt@definecolor{shadethmcolor}{#1}} +\define@key{thmt@shade}{rulecolor}{\thmt@definecolor{shaderulecolor}{#1}} +\define@key{thmt@shade}{rulewidth}{\setlength\shadeboxrule{#1}} +\define@key{thmt@shade}{margin}{\setlength\shadeboxsep{#1}} + +\def\thmt@colorlet#1#2{% + %\typeout{don't know how to let color `#1' be like color `#2'!}% + \@xa\let\csname\string\color@#1\@xa\endcsname + \csname\string\color@#2\endcsname + % this is dubious at best, we don't know what a backend does. +} +\AtBeginDocument{% + \ifcsname colorlet\endcsname + \let\thmt@colorlet\colorlet + \fi +} + +\def\thmt@drop@relax#1\relax{} +\def\thmt@definecolor#1#2{% + \thmt@def@color{#1}#2\thmt@drop@relax + {gray}{0.5}% + \thmt@colorlet{#1}{#2}% + \relax +} +\def\thmt@def@color#1#2#{% + \definecolor{#1}} +\endinput +%% +%% End of file `thmdef-shaded.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thmdef-thmbox.sty b/Master/texmf-dist/tex/latex/thmtools/thmdef-thmbox.sty new file mode 100644 index 00000000000..cc2e82cd1af --- /dev/null +++ b/Master/texmf-dist/tex/latex/thmtools/thmdef-thmbox.sty @@ -0,0 +1,38 @@ +%% +%% This is file `thmdef-thmbox.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% thmdef-thmbox.dtx (with options: `thmbox') +%% 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-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 {thmdef-thmbox}[2010/05/18 v24] +\define@key{thmdef}{thmbox}[L]{% + \let\oldproof=\proof + \let\oldendproof=\endproof + \let\oldexample=\example + \let\oldendexample=\endexample + \RequirePackage[nothm]{thmbox} + \let\proof=\oldproof + \let\endproof=\oldendproof + \let\example=\oldexample + \let\endexample=\oldendexample + \def\thmt@theoremdefiner{\newboxtheorem[#1]}% +}% +\endinput +%% +%% End of file `thmdef-thmbox.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/thmtools.sty b/Master/texmf-dist/tex/latex/thmtools/thmtools.sty index d62d9ad86dc..e0c56a950bf 100644 --- a/Master/texmf-dist/tex/latex/thmtools/thmtools.sty +++ b/Master/texmf-dist/tex/latex/thmtools/thmtools.sty @@ -11,16 +11,64 @@ %% 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{thmtools}[2008/07/05 v0.1beta7 Tools for theorem typesetting (ulmi)] -\RequirePackage{thm-kv, thm-autoref, thm-listof} +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {thmtools}[2010/05/18 v24] +\let\@xa\expandafter +\let\@nx\noexpand +\def\thmt@quark{\thmt@quark} +\newtoks\thmt@toks + +\newcounter{thmt@dummyctr}% +\def\theHthmt@dummyctr{dummy.\arabic{thmt@dummyctr}}% +\def\thethmt@dummyctr{}% + +\newcommand\thmt@mkextendingkeyhandler[3]{% + \kv@set@family@handler{#1}{% + \IfFileExists{#2-##1.sty}{% + \PackageInfo{thmtools}% + {Automatically pulling in `#2-##1'}% + \RequirePackage{#2-##1}% + \ifcsname KV@#1@##1\endcsname + \csname KV@#1@##1\endcsname{##2}% + \else + \PackageError{thmtools}% + {#3 `##1' not known} + {I don't know what that key does.\MessageBreak + I've even loaded the file `#2-##1.sty', but that didn't help. + }% + \fi + }{% + \PackageError{thmtools}% + {#3 `##1' not known} + {I don't know what that key does by myself,\MessageBreak + and no file `#2-##1.sty' to tell me seems to exist. + }% + }% + } +} + +\RequirePackage{thm-patch, thm-kv, + thm-autoref, thm-listof, + thm-restate} + +\@ifpackageloaded{amsthm}{% + \RequirePackage{thm-amsthm} +}{} +\@ifpackageloaded{ntheorem}{% + \RequirePackage{thm-ntheorem} +}{} +\@ifclassloaded{beamer}{% + \RequirePackage{thm-beamer} +}{} + \endinput %% %% End of file `thmtools.sty'. diff --git a/Master/texmf-dist/tex/latex/thmtools/unique.sty b/Master/texmf-dist/tex/latex/thmtools/unique.sty index 2c607807cc3..fa804ce6602 100644 --- a/Master/texmf-dist/tex/latex/thmtools/unique.sty +++ b/Master/texmf-dist/tex/latex/thmtools/unique.sty @@ -11,21 +11,35 @@ %% 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{unique}[2007/07/29 v0.1 test for uniqueness (ulmi)] +%% +\NeedsTeXFormat {LaTeX2e} +\ProvidesPackage {unique}[2010/05/18 v24] + +\DeclareOption{unq}{% + \newwrite\uniq@channel + \InputIfFileExists{\jobname.unq}{}{}% + \immediate\openout\uniq@channel=\jobname.unq + \AtEndDocument{% + \immediate\closeout\uniq@channel% + } +} +\DeclareOption{aux}{% + \let\uniq@channel\@auxout +} + \newcommand\setuniqmark[1]{% \expandafter\ifx\csname uniq@now@#1\endcsname\relax \global\@namedef{uniq@now@#1}{\uniq@ONE}% \else \expandafter\ifx\csname uniq@now@#1\endcsname\uniq@MANY\else - \immediate\write\@auxout{% + \immediate\write\uniq@channel{% \string\uniq@setmany{#1}% }% \ifuniq{#1}{% @@ -78,6 +92,8 @@ \AtEndDocument{% \immediate\write\@auxout{\string\uniq@maybesuggestrerun}% } +\ExecuteOptions{aux} +\ProcessOptions\relax \endinput %% %% End of file `unique.sty'. -- cgit v1.2.3