summaryrefslogtreecommitdiff
path: root/macros/latex/exptl/thmtools/thm-patch.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/exptl/thmtools/thm-patch.dtx')
-rw-r--r--macros/latex/exptl/thmtools/thm-patch.dtx252
1 files changed, 0 insertions, 252 deletions
diff --git a/macros/latex/exptl/thmtools/thm-patch.dtx b/macros/latex/exptl/thmtools/thm-patch.dtx
deleted file mode 100644
index b1e28b6fe4..0000000000
--- a/macros/latex/exptl/thmtools/thm-patch.dtx
+++ /dev/null
@@ -1,252 +0,0 @@
-% \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)
-%<*patch>
-%\fi
-%
-% This package is maybe not very suitable for the end user. It redefines
-% |\newtheorem| in a way that lets other packages (or the user) add code
-% to the newly-defined theorems, in a reasonably cross-compatible (with
-% the kernel, \pkg{theorem} and \pkg{amsthm}) way.
-%
-% \textbf{Warning:} the new |\newtheorem| is a superset of the allowed
-% syntax. For example, you can give a star and both optional arguments,
-% even though you cannot have an unnumbered theorem that shares a counter
-% and yet has a different reset-regimen. At some point, your command is
-% re-assembled and passed on to the original |\newtheorem|. This might
-% complain, or give you the usual ``Missing |\begin{document}|'' that
-% marks too many arguments in the preamble.
-%
-% \DescribeMacro{\addtotheorem(pre/post)(head/foot)hook}
-% A call to |\addtotheorempreheadhook|\oarg{kind}\marg{code} will
-% insert the code to be executed whenever a kind theorem is opened, before
-% the actual call takes place. (I.e., before the header ``Kind 1.3 (Foo)''
-% is typeset.) There are also posthooks that are executed after this header,
-% and the same for the end of the environment, even though nothing
-% interesting ever happens there. These are useful to put
-% |\begin{shaded}|\dots |\end{shaded}| around your theorems.
-% Note that foothooks are executed LIFO (last addition first) and headhooks
-% are executed FIFO (first addition first). There is a special kind called
-% generic that is called for all theorems. This is the default if no kind
-% is given.
-%
-% The added code may examine |\thmt@thmname| to get the title,
-% |\thmt@envname| to get the environment's name, and |\thmt@optarg| to get
-% the extra optional title, if any.
-%
-%\StopEventually{}
-% \begin{macrocode}
-\RequirePackage{parseargs}
-
-\newif\ifthmt@isstarred
-\newif\ifthmt@hassibling
-\newif\ifthmt@hasparent
-
-\def\thmt@parsetheoremargs#1{%
- \parse{%
- {\parseOpt[]{\def\thmt@optarg{##1}}{%
- \let\thmt@shortoptarg\@empty
- \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
- % change following to \@xa-orgy at some point?
- % forex, might have keyvals involving commands.
- %\protected@edef\tmp@args{%
- % \ifx\@empty\thmt@optarg\else [{\thmt@optarg}]\fi
- %}%
- \ifx\@empty\thmt@optarg
- \def\tmp@args{}%
- \else
- \@xa\def\@xa\tmp@args\@xa{\@xa[\@xa{\thmt@optarg}]}%
- \fi
- \csname thmt@original@#1\@xa\endcsname\tmp@args
- %%moved down: \thmt@local@postheadhook
- %% (give postheadhooks a chance to re-set nameref data)
- \csname thmt@#1@postheadhook\endcsname
- \thmt@generic@postheadhook
- \thmt@local@postheadhook
-%FMi 2019-07-31
-% \let\@parsecmd\@empty
- \let\@parsecmd\ignorespaces
-%FMi ---
- }%
- }%
-}%
-
-\let\thmt@original@newtheorem\newtheorem
-\let\thmt@theoremdefiner\thmt@original@newtheorem
-
-\def\newtheorem{%
- \thmt@isstarredfalse
- \thmt@hassiblingfalse
- \thmt@hasparentfalse
- \parse{%
- {\parseFlag*{\thmt@isstarredtrue}{}}%
- {\parseMand{\def\thmt@envname{##1}}}%
- {\parseOpt[]{\thmt@hassiblingtrue\def\thmt@sibling{##1}}{}}%
- {\parseMand{\def\thmt@thmname{##1}}}%
- {\parseOpt[]{\thmt@hasparenttrue\def\thmt@parent{##1}}{}}%
- {\let\@parsecmd\thmt@newtheoremiv}%
- }%
-}
-
-\newcommand\thmt@newtheoremiv{%
- \thmt@newtheorem@predefinition
- % whee, now reassemble the whole shebang.
- \protected@edef\thmt@args{%
- \@nx\thmt@theoremdefiner%
- \ifthmt@isstarred *\fi
- {\thmt@envname}%
- \ifthmt@hassibling [\thmt@sibling]\fi
- {\thmt@thmname}%
- \ifthmt@hasparent [\thmt@parent]\fi
- }
- \thmt@args
- \thmt@newtheorem@postdefinition
-}
-
-\newcommand\thmt@newtheorem@predefinition{}
-\newcommand\thmt@newtheorem@postdefinition{%
- \let\thmt@theoremdefiner\thmt@original@newtheorem
-}
-
-\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
- \protected@edef\thmt@tmp{%
- \def\@nx\thmt@envname{\thmt@envname}%
- \def\@nx\thmt@thmname{\thmt@thmname}%
- }%
- \@xa\addtotheorempreheadhook\@xa[\@xa\thmt@envname\@xa]\@xa{%
- \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
- \csname#1\endcsname
- \@xa\renewcommand\csname #1\endcsname{%
- \thmt@parsetheoremargs{#1}%
- }%
- \@xa\let\csname thmt@original@end#1\@xa\endcsname\csname end#1\endcsname
- \@xa\def\csname end#1\endcsname{%
- % these need to be in opposite order of headhooks.
- \csname thmt@generic@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
- }%
-}
-\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
- \toks@\@xa{\@xa{#1}{#2}}%
- \def\tmp@a##1##2{##2##1}%
- \@xa\@xa\@xa\gdef\@xa\@xa\@xa#1\@xa\@xa\@xa{\@xa\tmp@a\the\toks@}%
- \endgroup
-}
-
-\newcommand\addtotheorempreheadhook[1][generic]{%
- \expandafter\g@addto@macro\csname thmt@#1@preheadhook\endcsname%
-}
-\newcommand\addtotheorempostheadhook[1][generic]{%
- \expandafter\g@addto@macro\csname thmt@#1@postheadhook\endcsname%
-}
-
-\newcommand\addtotheoremprefoothook[1][generic]{%
- \expandafter\g@prependto@macro\csname thmt@#1@prefoothook\endcsname%
-}
-\newcommand\addtotheorempostfoothook[1][generic]{%
- \expandafter\g@prependto@macro\csname thmt@#1@postfoothook\endcsname%
-}
-
-% \end{macrocode}
-% Since rev1.16, we add hooks to the proof environment as well, if it exists.
-% If it doesn't exist at this point, we're probably using ntheorem as
-% backend, where it goes through the regular theorem mechanism anyway.
-% \begin{macrocode}
-\ifx\proof\endproof\else% yup, that's a quaint way of doing it :)
- % FIXME: this assumes proof has the syntax of theorems, which
- % usually happens to be true (optarg overrides "Proof" string).
- % FIXME: refactor into thmt@addtheoremhook, but we really don't want to
- % call the generic-hook...
- \let\thmt@original@proof=\proof
- \renewcommand\proof{%
- \thmt@parseproofargs%
- }%
- \def\thmt@parseproofargs{%
- \parse{%
- {\parseOpt[]{\def\thmt@optarg{##1}}{\let\thmt@optarg\@empty}}%
- {%
- \thmt@proof@preheadhook
- %\thmt@generic@preheadhook
- \protected@edef\tmp@args{%
- \ifx\@empty\thmt@optarg\else [\thmt@optarg]\fi
- }%
- \csname thmt@original@proof\@xa\endcsname\tmp@args
- \thmt@proof@postheadhook
- %\thmt@generic@postheadhook
- \let\@parsecmd\@empty
- }%
- }%
- }%
-
- \let\thmt@original@endproof=\endproof
- \def\endproof{%
- % these need to be in opposite order of headhooks.
- %\csname thmtgeneric@prefoothook\endcsname
- \thmt@proof@prefoothook
- \thmt@original@endproof
- %\csname thmt@generic@postfoothook\endcsname
- \thmt@proof@postfoothook
- }%
- \@namedef{thmt@proof@preheadhook}{}%
- \@namedef{thmt@proof@postheadhook}{}%
- \@namedef{thmt@proof@prefoothook}{}%
- \@namedef{thmt@proof@postfoothook}{}%
-\fi
-% \end{macrocode}
-%\iffalse
-%</patch>
-%\fi