You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
920 lines
33 KiB
920 lines
33 KiB
%%
|
|
%% This is file `ntheorem.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% ntheorem.dtx (with options: `package')
|
|
%%
|
|
%%
|
|
%% ### WARNING: =============================================================
|
|
%%
|
|
%% This file is a patched version that works (it seems) with hyperref.
|
|
%% Hyperref's \contentsline version breaks with ntheorem because it puts 3
|
|
%% arguments in the text field (e.g.: \contentsline{def}{{def}{1}{foo}}{21})
|
|
%%
|
|
%% To work around the problem, the following steps are implemented:
|
|
%% 1/ Don't use hyperref's contentsline: restore the normal definition at the
|
|
%% beginning of \thm@processlist.
|
|
%% 2/ Let the different versions of \thm@@thmline take a 5th argument, the one
|
|
%% provided by hyperref.
|
|
%% 3/ Let \thm@lgobble take a 3rd argument, the one provided by hyperref.
|
|
%% 4/ Do the hyperlinks manually in the different versions of \thm@@thmline
|
|
%%
|
|
%% You'll find comments starting with `%%DV' around my changes in the code.
|
|
%%
|
|
%%
|
|
%% Didier Verna <verna@inf.enst.fr>
|
|
%%
|
|
%% ==========================================================================
|
|
%%
|
|
%% IMPORTANT NOTICE:
|
|
%%
|
|
%% For the copyright see the source file.
|
|
%%
|
|
%% Any modified versions of this file must be renamed
|
|
%% with new filenames distinct from ntheorem.sty.
|
|
%%
|
|
%% For distribution of the original source see the terms
|
|
%% for copying and modification in the file ntheorem.dtx.
|
|
%%
|
|
%% This generated file may be distributed as long as the
|
|
%% original source files, as listed above, are part of the
|
|
%% same distribution. (The sources need not necessarily be
|
|
%% in the same archive or directory.)
|
|
\def\filedate{1998/12/03}
|
|
\def\docdate{1998/12/03}
|
|
\def\fileversion{1.14}
|
|
\def\basename{ntheorem-hyper}
|
|
%% \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 \~}
|
|
\typeout{Style `\basename', Version \fileversion\space <\filedate>}
|
|
\ProvidesPackage{ntheorem-hyper}[\filedate \space\fileversion]
|
|
\newif\if@thmmarks\@thmmarksfalse
|
|
\newif\ifthm@tempif
|
|
\DeclareOption{thmmarks}{%*********************************
|
|
\PackageInfo{\basename}{Option `thmmarks' loaded}%
|
|
\@thmmarkstrue
|
|
\newcounter{endNonectr}
|
|
\newcounter{currNonectr}
|
|
\newif\ifsetendmark\setendmarktrue
|
|
\gdef\endtrivlist{%
|
|
\@endtrivlist{\PotEndMark{\hbox{}\nobreak\hfill\nobreak}}}
|
|
\gdef\@endtrivlist#1{% % from \endtrivlist
|
|
\if@inlabel \indent\fi
|
|
\if@newlist \@noitemerr\fi
|
|
\ifhmode
|
|
\ifdim\lastskip >\z@ #1\unskip \par %<<<<<<<<<<<<<<<<<<<<<<
|
|
\else \unskip \par \fi
|
|
\fi
|
|
\if@noparlist \else
|
|
\ifdim\lastskip >\z@
|
|
\@tempskipa\lastskip \vskip -\lastskip
|
|
\advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
|
|
\vskip\@tempskipa
|
|
\fi
|
|
\@endparenv
|
|
\fi}
|
|
\gdef\SetMark@endeqn{\quad}% as default, cf. option leqno
|
|
\gdef\endequation{\eqno \hbox{\@eqnnum \PotEndMark{\SetMark@endeqn}}%
|
|
$$\global\@ignoretrue}
|
|
\gdef\[{%
|
|
\relax\ifmmode
|
|
\@badmath
|
|
\else
|
|
\ifvmode
|
|
\nointerlineskip
|
|
\makebox[.6\linewidth]%
|
|
\fi
|
|
$$\stepcounter{end\InTheoType ctr}%
|
|
\@ifundefined{mark\roman{curr\InTheoType ctr}%
|
|
\InTheoType\roman{end\InTheoType ctr}}{\relax}%
|
|
{\ifx\csname\InTheoType Symbol\endcsname\@empty\else
|
|
\boxmaxdepth=.5ex\begin{array}[b]{l}%
|
|
\boxmaxdepth=\maxdimen\displaystyle\fi}%
|
|
\addtocounter{end\InTheoType ctr}{-1}%
|
|
%%$$ BRACE MATCH HACK
|
|
\fi}
|
|
\gdef\]{%
|
|
\stepcounter{end\InTheoType ctr}%
|
|
\@ifundefined{mark\roman{curr\InTheoType ctr}%
|
|
\InTheoType\roman{end\InTheoType ctr}}{\relax}%
|
|
{\ifx\csname\InTheoType Symbol\endcsname\@empty\else
|
|
\end{array}\fi}%
|
|
\addtocounter{end\InTheoType ctr}{-1}%
|
|
\relax\ifmmode
|
|
\ifinner
|
|
\@badmath
|
|
\else
|
|
\PotEndMark{\eqno}\global\@ignoretrue$$%%$$ BRACE MATCH HACK
|
|
\fi
|
|
\else
|
|
\@badmath
|
|
\fi
|
|
\ignorespaces}
|
|
\gdef\SetMark@endeqnarray#1{\llap{\raisebox{-1.3em}{#1}}}
|
|
\gdef\endeqnarray{%
|
|
\global\let\Oldeqnnum=\@eqnnum
|
|
\gdef\@eqnnum{\Oldeqnnum\PotEndMark{\SetMark@endeqnarray}}%
|
|
\@@eqncr
|
|
\egroup
|
|
\global\advance\c@equation\m@ne
|
|
$$\global\@ignoretrue
|
|
\global\let\@eqnnum\Oldeqnnum}
|
|
\@namedef{endeqnarray*}{%
|
|
% from \@@eqncr:
|
|
\let\reserved@a\relax
|
|
\ifcase\@eqcnt \def\reserved@a{& & &}\or \def\reserved@a{& &}%
|
|
\or \def\reserved@a{&}\else
|
|
\let\reserved@a\@empty
|
|
\@latex@error{Too many columns in eqnarray environment}\@ehc\fi
|
|
\reserved@a {\normalfont \normalcolor \PotEndMark{}}%
|
|
\global\@eqnswtrue\global\@eqcnt\z@\cr
|
|
%
|
|
\egroup
|
|
\global\advance\c@equation\m@ne
|
|
$$\global\@ignoretrue}
|
|
\gdef\endtabbing{%
|
|
\PotEndMark{\`}\@stopline\ifnum\@tabpush >\z@ \@badpoptabs
|
|
\fi\endtrivlist}
|
|
\gdef\endcenter{%
|
|
\@endtrivlist
|
|
{\PotEndMark{\rightskip0pt%
|
|
\settowidth{\leftskip}%
|
|
{ \csname mark\roman{curr\InTheoType ctr}\InTheoType
|
|
\roman{end\InTheoType ctr}\endcsname}%
|
|
\advance\leftskip\@flushglue\hskip\@flushglue}}}
|
|
\gdef\@empty{}
|
|
\gdef\@endtheorem{%
|
|
\expandafter
|
|
\ifx\csname\InTheoType Symbol\endcsname\@empty\setendmarkfalse\fi
|
|
\@endtrivlist
|
|
{\ifsetendmark
|
|
\hbox{}\nobreak\hfill\nobreak\csname\InTheoType Symbol\endcsname
|
|
\setendmarkfalse \fi}%
|
|
\ifsetendmark\OrganizeTheoremSymbol\else\global\setendmarktrue\fi}
|
|
\gdef\NoEndMark{\global\setendmarkfalse}
|
|
\gdef\qed{\expandafter\def\csname \InTheoType Symbol\endcsname
|
|
{\the\qedsymbol}}%
|
|
\gdef\PotEndMark#1{\SetEndMark{\InTheoType}{#1}}%
|
|
\gdef\SetEndMark#1#2{%
|
|
\stepcounter{end#1ctr}%
|
|
\@ifundefined{mark\roman{curr#1ctr}#1\roman{end#1ctr}}%
|
|
{\relax}%
|
|
{#2{\csname mark\roman{curr#1ctr}#1\roman{end#1ctr}\endcsname}}}%
|
|
\newskip\mysavskip
|
|
\gdef\@bbsphack{%
|
|
\mysavskip\lastskip
|
|
\unskip}
|
|
\gdef\@eesphack{%
|
|
\ifdim\mysavskip>\z@
|
|
\vskip\mysavskip \else\fi}
|
|
%% \begin{macrocode}
|
|
\gdef\OrganizeTheoremSymbol{%
|
|
\@bbsphack
|
|
\edef\thm@tmp{\expandafter\expandafter\expandafter\thm@meaning
|
|
\expandafter\meaning\csname\InTheoType Symbol\endcsname\relax}%
|
|
\protected@write\@auxout{}%
|
|
{\string\global\string\def\string\mark%
|
|
\roman{curr\InTheoType ctr}\InTheoType \roman{end\InTheoType ctr}%
|
|
{\thm@tmp}}%
|
|
\@eesphack}
|
|
} % end of option [thmmarks]
|
|
\DeclareOption{leqno}{%
|
|
\if@thmmarks
|
|
\PackageInfo{\basename}{Option `leqno' loaded}%
|
|
\gdef\SetMark@endeqn#1{\hss\llap{#1}}
|
|
\gdef\SetMark@endeqnarray#1{\hss\llap{#1}}
|
|
\fi}%
|
|
\DeclareOption{fleqn}{%
|
|
\if@thmmarks
|
|
\PackageInfo{\basename}{Option `fleqn' loaded}%
|
|
\renewcommand\[{\relax
|
|
\ifmmode\@badmath
|
|
\else
|
|
\begin{trivlist}%
|
|
\@beginparpenalty\predisplaypenalty
|
|
\@endparpenalty\postdisplaypenalty
|
|
\item[]\leavevmode
|
|
\hb@xt@\linewidth\bgroup $\m@th\displaystyle %$
|
|
\hskip\mathindent\bgroup
|
|
\stepcounter{end\InTheoType ctr}%
|
|
\@ifundefined{mark\roman{curr\InTheoType ctr}%
|
|
\InTheoType\roman{end\InTheoType ctr}}{\relax}%
|
|
{\ifx\csname\InTheoType Symbol\endcsname\@empty\else
|
|
\boxmaxdepth=.5ex\begin{array}[b]{l}%
|
|
\boxmaxdepth=\maxdimen\displaystyle\fi}%
|
|
\addtocounter{end\InTheoType ctr}{-1}%
|
|
\fi}
|
|
\renewcommand\]{%
|
|
\stepcounter{end\InTheoType ctr}%
|
|
\@ifundefined{mark\roman{curr\InTheoType ctr}%
|
|
\InTheoType\roman{end\InTheoType ctr}}{\relax}%
|
|
{\ifx\csname\InTheoType Symbol\endcsname\@empty\else
|
|
\end{array}\fi}%
|
|
\addtocounter{end\InTheoType ctr}{-1}%
|
|
\relax\ifmmode
|
|
\egroup $\hfil\PotEndMark{}% $
|
|
\egroup
|
|
\end{trivlist}%
|
|
\else \@badmath
|
|
\fi}
|
|
\gdef\endequation{%
|
|
$\hfil % $
|
|
\displaywidth\linewidth\hbox{\@eqnnum \PotEndMark{\SetMark@endeqn}}%
|
|
\egroup
|
|
\endtrivlist}
|
|
\gdef\endeqnarray{%
|
|
\global\let\Oldeqnnum=\@eqnnum
|
|
\gdef\@eqnnum{\Oldeqnnum\PotEndMark{\SetMark@endeqnarray}}%
|
|
\@@eqncr
|
|
\egroup
|
|
\global\advance\c@equation\m@ne$$% $$
|
|
\global\@ignoretrue
|
|
\global\let\@eqnnum\Oldeqnnum}
|
|
\fi}% end of option fleqn
|
|
\DeclareOption{amsmath}{%
|
|
\if@thmmarks
|
|
\PackageInfo{\basename}{Option `amsmath' loaded}%
|
|
\newdimen\thm@amstmpdepth
|
|
\gdef\TagsPlusEndmarks{%
|
|
\global\let\Old@maketag@@@=\maketag@@@
|
|
\global\let\Old@df@tag=\df@tag
|
|
\if@eqnsw\SetTagPlusEndMark\else
|
|
\iftag@\SetTagPlusEndMark
|
|
\else\SetOnlyEndMark
|
|
\fi\fi}
|
|
\gdef\SetOnlyEndMark{%
|
|
\global\tag@true
|
|
\iftagsleft@
|
|
\gdef\df@tag{\hbox
|
|
to \displaywidth{\hss\PotEndMark{\maketag@@@}}}%
|
|
\else
|
|
\gdef\df@tag{\PotEndMark{\maketag@@@}}%
|
|
\fi}
|
|
\gdef\SetTagPlusEndMark{%
|
|
\iftagsleft@
|
|
\gdef\maketag@@@##1{%
|
|
\hbox to \displaywidth{\m@th\normalfont##1%
|
|
\PotEndMark{\hss}}}%
|
|
\else
|
|
\gdef\maketag@@@##1{\hbox{\m@th\normalfont##1%
|
|
\llap{\hss\PotEndMark{\raisebox{-1.3em}}}}}%
|
|
\fi}
|
|
\gdef\RestoreTags{%
|
|
\global\let\maketag@@@=\Old@maketag@@@
|
|
\global\let\df@tag=\Old@df@tag}
|
|
\gdef\endgather{%
|
|
\TagsPlusEndmarks % <<<<<<<<<
|
|
\math@cr
|
|
\black@\totwidth@
|
|
\egroup
|
|
$$%
|
|
\RestoreTags % <<<<<<<<<
|
|
\global\@ignoretrue}
|
|
\expandafter\let\csname endgather*\endcsname\endgather
|
|
\def\endalign{%
|
|
\ifingather@\else % <<<<<<<<<
|
|
\TagsPlusEndmarks\fi % <<<<<<<<<
|
|
\math@cr
|
|
\black@\totwidth@
|
|
\egroup
|
|
\ifingather@
|
|
\restorealignstate@
|
|
\egroup
|
|
\nonumber
|
|
\ifnum0=`{\fi}%
|
|
\else
|
|
$$%
|
|
\RestoreTags % <<<<<<<<<
|
|
\fi
|
|
\global\@ignoretrue}
|
|
\expandafter\let\csname endalign*\endcsname\endalign
|
|
\let\endxalignat\endalign
|
|
\expandafter\let\csname endxalignat*\endcsname\endalign
|
|
\let\endxxalignat\endalign
|
|
\let\endalignat\endalign
|
|
\expandafter\let\csname endalignat*\endcsname\endalign
|
|
\let\endflalign\endalign
|
|
\expandafter\let\csname endflalign*\endcsname\endalign
|
|
\def\lendmultline@{%
|
|
\@eqnswfalse\tag@true\tagsleft@false
|
|
\rendmultline@}
|
|
\def\rendmultline@{%
|
|
\TagsPlusEndmarks % <<<<<<<<<
|
|
\iftag@
|
|
\begingroup
|
|
\ifshifttag@
|
|
\hskip\multlinegap
|
|
\llap{\vtop{%
|
|
\raise@tag
|
|
\normalbaselines
|
|
\setbox\@ne\null
|
|
\dp\@ne\lineht@
|
|
\box\@ne
|
|
\hbox{\strut@\make@display@tag}%
|
|
}}%
|
|
\else
|
|
\hskip\multlinetaggap
|
|
\make@display@tag
|
|
\fi
|
|
\endgroup
|
|
\else
|
|
\hskip\multlinegap
|
|
\fi
|
|
\hfilneg
|
|
\math@cr
|
|
\egroup$$%
|
|
\RestoreTags} % <<<<<<<<<
|
|
\def\[{%
|
|
\relax\ifmmode% \RIfM@ <<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
|
\@badmath
|
|
\else
|
|
\DN@{%
|
|
$$%
|
|
\ingather@true
|
|
\inany@true
|
|
\def\\{\@amsmath@err{\Invalid@@\\}\@eha}%
|
|
\tabskip\@mathmargin
|
|
\halign to \displaywidth\bgroup
|
|
\if@fleqn\else\hfil\fi
|
|
\setboxz@h{$\m@th\displaystyle{####}$}%
|
|
\global\totwidth@\wdz@
|
|
\global\thm@amstmpdepth\dp0% <<<<<<<<<<<<
|
|
\boxz@
|
|
\tabskip 0pt plus 1000pt%<<<<<<<<<<<<<<
|
|
& ####% <<<<<<<<<<<<<<<<<<<<<<<<
|
|
\tabskip 0pt%
|
|
\cr
|
|
}%
|
|
\@xp\next@
|
|
\fi}
|
|
\def\]{%
|
|
\relax\ifmmode% \RIfM@ <<<<<<<<<<
|
|
\DN@{%
|
|
\PotEndMark{&\raisebox{-\thm@amstmpdepth}}% <<<<<<<<<
|
|
\crcr
|
|
\black@\totwidth@
|
|
\egroup
|
|
$$%
|
|
}%
|
|
\@xp\next@
|
|
\else
|
|
\@badmath
|
|
\fi}
|
|
\def\equation{\gather\def\\{\@amsmath@err{\Invalid@@\\}\@eha}}
|
|
\def\endequation{\endgather}
|
|
\renewenvironment{equation*}{\equation}{\nonumber\endequation}
|
|
\else\PackageError{\basename}{Option amsmath cannot be used without
|
|
option thmmarks.}\@eha
|
|
\fi
|
|
}% end of option amsmath
|
|
\let\thm@usestd\@undefined
|
|
\DeclareOption{standard}{\let\thm@usestd\relax}
|
|
\let\thm@noconfig\@undefined
|
|
\DeclareOption{noconfig}{\let\thm@noconfig\relax}
|
|
\gdef\InTheoType{None}
|
|
\def\output@None{None}
|
|
\def\None{None}
|
|
\gdef\newtheoremstyle#1#2#3{%
|
|
\expandafter\@ifundefined{th@#1}%
|
|
{\expandafter\gdef\csname th@#1\endcsname{%
|
|
\def\@begintheorem####1####2{#2}%
|
|
\def\@opargbegintheorem####1####2####3{#3}}}%
|
|
{\PackageError{\basename}{Theorem style #1 already defined}\@eha}}
|
|
\gdef\renewtheoremstyle#1#2#3{%
|
|
\expandafter\@ifundefined{th@#1}%
|
|
{\PackageError{\basename}{Theorem style #1 undefined}\@ehc}%
|
|
{}%
|
|
\expandafter\let\csname th@#1\endcsname\relax
|
|
\newtheoremstyle{#1}{#2}{#3}}
|
|
\newtheoremstyle{plain}%
|
|
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
|
|
{\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3)\theorem@separator]}
|
|
\newtheoremstyle{break}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont ##1\
|
|
##2\theorem@separator\hfill}}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont ##1\ ##2\
|
|
(##3)\theorem@separator\hfill}}
|
|
\newtheoremstyle{change}%
|
|
{\item[\hskip\labelsep \theorem@headerfont ##2\ ##1\theorem@separator]}%
|
|
{\item[\hskip\labelsep \theorem@headerfont ##2\ ##1\ (##3)\theorem@separator]}
|
|
\newtheoremstyle{changebreak}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont ##2\
|
|
##1\theorem@separator\hfill}}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont ##2\ ##1\
|
|
(##3)\theorem@separator\hfill}}
|
|
\newtheoremstyle{margin}%
|
|
{\item[\theorem@headerfont \llap{##2}\hskip\labelsep ##1\theorem@separator]}%
|
|
{\item[\theorem@headerfont \llap{##2}\hskip\labelsep ##1\ (##3)\theorem@separator]}
|
|
\newtheoremstyle{marginbreak}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont \llap{##2}\hskip\labelsep
|
|
##1\theorem@separator\hfill}}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont
|
|
\llap{##2}\hskip\labelsep
|
|
##1\ (##3)\theorem@separator\hfill}}
|
|
\newtheoremstyle{nonumberplain}%
|
|
{\item[\theorem@headerfont\hskip\labelsep ##1\theorem@separator]}%
|
|
{\item[\theorem@headerfont\hskip \labelsep ##1\ (##3)\theorem@separator]}
|
|
\newtheoremstyle{nonumberbreak}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont\hskip\labelsep
|
|
##1\theorem@separator\hfill}}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont\hskip\labelsep
|
|
##1\ (##3)\theorem@separator\hfill}}
|
|
\newtheoremstyle{empty}%
|
|
{\item~\hfill}%
|
|
{\item\hbox to \textwidth{\theorem@headerfont##3\hfill}}
|
|
\@namedef{th@nonumbermargin}{\th@nonumberplain}
|
|
\@namedef{th@nonumberchange}{\th@nonumberplain}
|
|
\@namedef{th@nonumbermarginbreak}{\th@nonumberbreak}
|
|
\@namedef{th@nonumberchangebreak}{\th@nonumberbreak}
|
|
\@namedef{th@plainNo}{\th@nonumberplain}
|
|
\@namedef{th@breakNo}{\th@nonumberplain}
|
|
\@namedef{th@marginNo}{\th@nonumberplain}
|
|
\@namedef{th@changeNo}{\th@nonumberplain}
|
|
\@namedef{th@marginbreakNo}{\th@nonumberbreak}
|
|
\@namedef{th@changebreakNo}{\th@nonumberbreak}
|
|
\gdef\theoremstyle#1{%
|
|
\@ifundefined{th@#1}{\@warning
|
|
{Unknown theoremstyle `#1'. Using `plain'}%
|
|
\theorem@style{plain}}%
|
|
{\theorem@style{#1}}}
|
|
\newtoks\theorem@style
|
|
\newtoks\theorem@@style
|
|
\global\theoremstyle{plain}
|
|
\newtoks\theorembodyfont
|
|
\global\theorembodyfont{\itshape}
|
|
\newtoks\theoremnumbering
|
|
\global\theoremnumbering{arabic}
|
|
\newskip\theorempreskipamount
|
|
\newskip\theorempostskipamount
|
|
\global\theorempreskipamount\topsep
|
|
\global\theorempostskipamount\topsep
|
|
\newdimen\theoremindent
|
|
\global\theoremindent0cm
|
|
\newdimen\theorem@indent
|
|
\newtoks\theoremheaderfont
|
|
\global\theoremheaderfont{\normalfont\bfseries}
|
|
\def\theorem@headerfont{\normalfont\bfseries}
|
|
\newtoks\theoremseparator
|
|
\global\theoremseparator{}
|
|
\def\theorem@separator{}
|
|
\newtoks\theoremsymbol
|
|
\global\theoremsymbol{}
|
|
\newtoks\qedsymbol
|
|
\global\qedsymbol{}
|
|
\DeclareOption{amsthm}{%
|
|
\PackageInfo{\basename}{Option `amsthm' loaded}%
|
|
\def\swapnumbers{\PackageError{\basename}{swapnumbers not implemented.
|
|
Use theoremstyle change instead.}\@eha}
|
|
|
|
\gdef\th@plain{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\itshape%
|
|
\def\@begintheorem##1##2{%
|
|
\item[\hskip\labelsep \theorem@headerfont ##1\ ##2.]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3).]}}
|
|
\gdef\th@nonumberplain{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\itshape%
|
|
\def\@begintheorem##1##2{%
|
|
\item[\hskip\labelsep \theorem@headerfont ##1.]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\item[\hskip\labelsep \theorem@headerfont ##1\ (##3).]}}
|
|
\gdef\th@definition{%
|
|
\th@plain\def\theorem@headerfont{\normalfont\bfseries}\itshape}
|
|
\gdef\th@nonumberdefinition{%
|
|
\th@nonumberplain\def\theorem@headerfont{\normalfont\bfseries}\itshape}
|
|
\gdef\th@remark{%
|
|
\th@plain\def\theorem@headerfont{\itshape}\normalfont}
|
|
\gdef\th@nonumberremark{%
|
|
\th@nonumberplain\def\theorem@headerfont{\itshape}\normalfont}
|
|
\newcounter{proof}%
|
|
\if@thmmarks
|
|
\newcounter{currproofctr}%
|
|
\newcounter{endproofctr}%
|
|
\fi
|
|
\newcommand{\openbox}{\leavevmode
|
|
\hbox to.77778em{%
|
|
\hfil\vrule
|
|
\vbox to.675em{\hrule width.6em\vfil\hrule}%
|
|
\vrule\hfil}}
|
|
\gdef\proofSymbol{\openbox}
|
|
\newcommand{\proofname}{Proof}
|
|
\newenvironment{proof}[1][\proofname]{
|
|
\th@nonumberplain
|
|
\def\theorem@headerfont{\itshape}%
|
|
\normalfont
|
|
\theoremsymbol{\ensuremath{_\blacksquare}}
|
|
\@thm{proof}{proof}{#1}}%
|
|
{\@endtheorem}
|
|
}% end of option amsthm
|
|
\newskip\thm@topsepadd
|
|
\gdef\newtheorem{%
|
|
\@ifstar
|
|
{\edef\@tempa{{nonumber\the\theorem@style}}%
|
|
\expandafter\theorem@@style\@tempa}%
|
|
{\edef\@tempa{{\the\theorem@style}}%
|
|
\expandafter\theorem@@style\@tempa}%
|
|
\@newtheorem}
|
|
|
|
\gdef\renewtheorem{%
|
|
\@ifstar
|
|
{\edef\@tempa{{nonumber\the\theorem@style}}%
|
|
\expandafter\theorem@@style\@tempa}%
|
|
{\edef\@tempa{{\the\theorem@style}}%
|
|
\expandafter\theorem@@style\@tempa}%
|
|
\@renewtheorem}
|
|
\gdef\@newtheorem#1{%
|
|
\thm@tempiffalse
|
|
\expandafter\@ifdefinable\csname #1\endcsname
|
|
{\expandafter\@ifdefinable\csname #1*\endcsname
|
|
{\thm@tempiftrue
|
|
\thm@definelthm{#1}% for lists
|
|
\if@thmmarks
|
|
\expandafter\@ifundefined{c@curr#1ctr}%
|
|
{\newcounter{curr#1ctr}}{}%
|
|
\expandafter\@ifundefined{c@end#1ctr}%
|
|
{\newcounter{end#1ctr}}{}%
|
|
\fi
|
|
\expandafter\xdef\csname #1Symbol\endcsname{\the\theoremsymbol}%
|
|
\expandafter\gdef\csname#1\endcsname{%
|
|
\let\thm@starredenv\@undefined
|
|
\csname mkheader@#1\endcsname}%
|
|
\expandafter\gdef\csname#1*\endcsname{%
|
|
\let\thm@starredenv\relax
|
|
\csname mkheader@#1\endcsname}%
|
|
\def\@tempa{\expandafter\noexpand\csname end#1\endcsname}%
|
|
\expandafter\xdef\csname end#1*\endcsname{\@tempa}%
|
|
\expandafter\xdef\csname setparms@#1\endcsname
|
|
{\noexpand \def \noexpand \theorem@headerfont
|
|
{\the\theoremheaderfont\noexpand\theorem@checkbold}%
|
|
\noexpand \def \noexpand \theorem@separator
|
|
{\the\theoremseparator}%
|
|
\noexpand \def \noexpand \theorem@indent
|
|
{\the\theoremindent}%
|
|
\the \theorembodyfont
|
|
\noexpand\csname th@\the \theorem@@style \endcsname}}}%
|
|
\@ifnextchar[{\@othm{#1}}{\@nthm{#1}}}% MUST NOT BE IN ANY IF !!!
|
|
\gdef\@renewtheorem#1{%
|
|
\expandafter\@ifundefined{#1}%
|
|
{\PackageError{\basename}{Theorem style #1 undefined}\@ehc}%
|
|
{}%
|
|
\expandafter\let\csname #1\endcsname\relax
|
|
\expandafter\let\csname #1*\endcsname\relax
|
|
\newtheorem{#1}}
|
|
\gdef\@nthm#1#2{%
|
|
\expandafter\xdef\csname num@addtheoremline#1\endcsname{%
|
|
\noexpand\@num@addtheoremline{#1}{#2}}%
|
|
\expandafter\xdef\csname nonum@addtheoremline#1\endcsname{%
|
|
\noexpand\@nonum@addtheoremline{#1}{#2}}%
|
|
\expandafter\xdef\csname output@#1\endcsname{#2}%
|
|
\@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}}
|
|
\gdef\@othm#1[#2]#3{%
|
|
\@ifundefined{c@#2}{\@nocounterr{#2}}%
|
|
{\ifthm@tempif
|
|
\global\@namedef{the#1}{\@nameuse{the#2}}%
|
|
\expandafter\xdef\csname num@addtheoremline#1\endcsname{%
|
|
\noexpand\@num@addtheoremline{#1}{#3}}%
|
|
\expandafter\xdef\csname nonum@addtheoremline#1\endcsname{%
|
|
\noexpand\@nonum@addtheoremline{#1}{#3}}%
|
|
\expandafter\xdef\csname output@#1\endcsname{#3}%
|
|
\expandafter\gdef\csname mkheader@#1\endcsname
|
|
{\csname setparms@#1\endcsname
|
|
\@thm{#1}{#2}{#3}}%
|
|
\global\@namedef{end#1}{\@endtheorem}\fi}}
|
|
\gdef\@xnthm#1#2[#3]{%
|
|
\ifthm@tempif
|
|
\expandafter\@ifundefined{c@#1}%
|
|
{\@definecounter{#1}}{}%
|
|
\@newctr{#1}[#3]%
|
|
\expandafter\xdef\csname the#1\endcsname{%
|
|
\expandafter\noexpand\csname the#3\endcsname \@thmcountersep
|
|
{\noexpand\csname\the\theoremnumbering\endcsname{#1}}}%
|
|
\expandafter\gdef\csname mkheader@#1\endcsname
|
|
{\csname setparms@#1\endcsname
|
|
\@thm{#1}{#1}{#2}}%
|
|
\global\@namedef{end#1}{\@endtheorem}\fi}
|
|
\gdef\@ynthm#1#2{%
|
|
\ifthm@tempif
|
|
\expandafter\@ifundefined{c@#1}%
|
|
{\@definecounter{#1}}{}%
|
|
\expandafter\xdef\csname the#1\endcsname
|
|
{\noexpand\csname\the\theoremnumbering\endcsname{#1}}%
|
|
\expandafter\gdef\csname mkheader@#1\endcsname
|
|
{\csname setparms@#1\endcsname
|
|
\@thm{#1}{#1}{#2}}%
|
|
\global\@namedef{end#1}{\@endtheorem}\fi}
|
|
\gdef\@thm#1#2#3{%
|
|
\if@thmmarks
|
|
\stepcounter{end\InTheoType ctr}%
|
|
\fi
|
|
\renewcommand{\InTheoType}{#1}%
|
|
\if@thmmarks
|
|
\stepcounter{curr#1ctr}%
|
|
\setcounter{end#1ctr}{0}%
|
|
\fi
|
|
\refstepcounter{#2}%
|
|
\thm@topsepadd \theorempostskipamount % cf. latex.ltx: \@trivlist
|
|
\ifvmode \advance\thm@topsepadd\partopsep\fi
|
|
\trivlist
|
|
\@topsep \theorempreskipamount
|
|
\@topsepadd \thm@topsepadd % used by \@endparenv
|
|
\advance\linewidth -\theorem@indent
|
|
\advance\@totalleftmargin \theorem@indent
|
|
\parshape \@ne \@totalleftmargin \linewidth
|
|
\@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}}
|
|
\def\@xthm#1#2#3{%
|
|
\@begintheorem{#3}{\csname the#2\endcsname}%
|
|
\ifx\thm@starredenv\@undefined
|
|
\thm@thmcaption{#1}{{#3}{\csname the#2\endcsname}{}}\fi
|
|
\ignorespaces}
|
|
\def\@ythm#1#2#3[#4]{%
|
|
\expandafter\global\expandafter\def\csname#1name\endcsname{#4}%
|
|
\@opargbegintheorem{#3}{\csname the#2\endcsname}{#4}%
|
|
\ifx\thm@starredenv\@undefined
|
|
\thm@thmcaption{#1}{{#3}{\csname the#2\endcsname}{#4}}\fi%
|
|
\ignorespaces}
|
|
\DeclareOption{thref}{%*********************************
|
|
\PackageInfo{\basename}{Option `thref' loaded}%
|
|
\def\label#1{
|
|
\@ifnextchar[%]
|
|
{\label@optarg{#1}}%
|
|
{\label@optarg{#1}%
|
|
[\csname output@\InTheoType\endcsname]}}
|
|
\def\label@optarg#1[#2]{\@bsphack
|
|
\protected@write\@auxout{}%
|
|
{\string\newlabel{#1}{{\@currentlabel}{\thepage}}[#2]}%
|
|
\@esphack}
|
|
\def\@newl@bel#1#2#3{%
|
|
\@ifundefined{#1@#2}%
|
|
\relax
|
|
{\gdef \@multiplelabels {%
|
|
\@latex@warning@no@line{There were multiply-defined labels}}%
|
|
\@latex@warning@no@line{Label `#2' multiply defined}}%
|
|
\global\@namedef{#1@#2}{#3}%
|
|
\@ifnextchar[{\set@labeltype#1#2}{\relax}%]
|
|
}
|
|
\def\set@labeltype#1#2[#3]{\global\@namedef{#1@#2@type}{#3}}
|
|
\@ifpackageloaded{babel}%
|
|
{\message{ntheorem-babel adapation loaded}%
|
|
\def\newlabel#1#2{%
|
|
\@ifnextchar[{\nth@bbl@newlabel{#1}{#2}}%]
|
|
{\nth@bbl@newlabel{#1}{#2}[None]}}%
|
|
\def\nth@bbl@newlabel#1#2[#3]{%
|
|
\@safe@activestrue\bbl@newlabel{#1}{#2}[#3]\@safe@activesfalse}}%
|
|
\relax
|
|
\def\thref#1{%
|
|
\expandafter\ifx\csname r@#1@type\endcsname\None
|
|
\PackageWarning{\basename}{thref: Reference Type of `#1' on page
|
|
\thepage \space undefined}\G@refundefinedtrue
|
|
\else\csname r@#1@type\endcsname~\fi%
|
|
\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
|
|
}% end of option thref
|
|
\def\thm@thmcaption#1#2{\thm@@thmcaption{#1}#2}
|
|
\def\thm@@thmcaption#1#2#3#4{%
|
|
\thm@parseforwriting{#4}%
|
|
\edef\thm@t{{#2}{#3}{\thm@tmp}}%
|
|
\addcontentsline{thm}{#1}{\thm@t}}
|
|
\def\theoremlistall{%
|
|
\let\thm@@thmlstart=\relax
|
|
\let\thm@@thmlend=\relax
|
|
%%DV Use a fith argument (supplied by hyperref) and do the links manually
|
|
\def\thm@@thmline##1##2##3##4##5{%
|
|
\ifx\\##5\\%
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\protect\numberline{##2}##3}%
|
|
{##4}
|
|
\else
|
|
\ifhy@linktocpage
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\protect\numberline{##2}##3}%
|
|
{\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
|
|
\else
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\hyper@linkstart{link}{##5}{\protect\numberline{##2}##3}%
|
|
\hyper@linkend}%
|
|
{##4}
|
|
\fi
|
|
\fi}}
|
|
%%DV \def\thm@@thmline##1##2##3##4{%
|
|
%%DV \@dottedtocline{-2}{0em}{2.3em}%
|
|
%%DV {\protect\numberline{##2}##3}%
|
|
%%DV {##4}}}
|
|
\def\theoremlistallname{%
|
|
\let\thm@@thmlstart=\relax
|
|
\let\thm@@thmlend=\relax
|
|
%%DV Use a fith argument (supplied by hyperref) and do the links manually
|
|
\def\thm@@thmline##1##2##3##4##5{%
|
|
\ifx\\##5\\%
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{##1 \protect\numberline{##2}##3}%
|
|
{##4}
|
|
\else
|
|
\ifhy@linktocpage
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{##1 \protect\numberline{##2}##3}%
|
|
{\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
|
|
\else
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\hyper@linkstart{link}{##5}%
|
|
{##1 \protect\numberline{##2}##3}\hyper@linkend}%
|
|
{##4}
|
|
\fi
|
|
\fi}}
|
|
%%DV \def\thm@@thmline##1##2##3##4{%
|
|
%%DV \@dottedtocline{-2}{0em}{2.3em}%
|
|
%%DV {##1 \protect\numberline{##2}##3}%
|
|
%%DV {##4}}}
|
|
\def\theoremlistoptional{%
|
|
\let\thm@@thmlstart=\relax
|
|
\let\thm@@thmlend=\relax
|
|
%%DV Use a fith argument (supplied by hyperref) and do the links manually
|
|
\def\thm@@thmline##1##2##3##4##5{%
|
|
\ifx\empty ##3%
|
|
\else%
|
|
\ifx\\##5\\%
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\protect\numberline{##2}##3}%
|
|
{##4}
|
|
\else
|
|
\ifhy@linktocpage
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\protect\numberline{##2}##3}%
|
|
{\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
|
|
\else
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\hyper@linkstart{link}{##5}{\protect\numberline{##2}##3}%
|
|
\hyper@linkend}%
|
|
{##4}
|
|
\fi
|
|
\fi
|
|
\fi}}
|
|
%%DV \def\thm@@thmline##1##2##3##4{%
|
|
%%DV \ifx\empty ##3%
|
|
%%DV \else%
|
|
%%DV \@dottedtocline{-2}{0em}{2.3em}%
|
|
%%DV {\protect\numberline{##2}##3}%
|
|
%%DV {##4}%
|
|
%%DV \fi}}
|
|
\def\theoremlistoptname{%
|
|
\let\thm@@thmlstart=\relax
|
|
\let\thm@@thmlend=\relax
|
|
%%DV Use a fith argument (supplied by hyperref) and do the links manually
|
|
\def\thm@@thmline##1##2##3##4##5{%
|
|
\ifx\empty ##3%
|
|
\else
|
|
\ifx\\##5\\%
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{##1 \protect\numberline{##2}##3}%
|
|
{##4}
|
|
\else
|
|
\ifhy@linktocpage
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{##1 \protect\numberline{##2}##3}%
|
|
{\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
|
|
\else
|
|
\@dottedtocline{-2}{0em}{2.3em}%
|
|
{\hyper@linkstart{link}{##5}%
|
|
{##1 \protect\numberline{##2}##3}\hyper@linkend}%
|
|
{##4}
|
|
\fi
|
|
\fi
|
|
\fi}}
|
|
%%DV \def\thm@@thmline##1##2##3##4{%
|
|
%%DV \ifx\empty ##3%
|
|
%%DV \else%
|
|
%%DV \@dottedtocline{-2}{0em}{2.3em}%
|
|
%%DV {##1 \protect\numberline{##2}##3}%
|
|
%%DV {##4}%
|
|
%%DV \fi}}
|
|
\theoremlistall
|
|
\def\theoremlisttype#1{%
|
|
\@ifundefined{thm@thml@#1}%
|
|
{\PackageError{\basename}{Listtype #1 not defined}\@eha}
|
|
{\csname thm@thml@#1\endcsname}}
|
|
\def\thm@thml@all{\theoremlistall}
|
|
\def\thm@thml@opt{\theoremlistoptional}
|
|
\def\thm@thml@optname{\theoremlistoptname}
|
|
\def\thm@thml@allname{\theoremlistallname}
|
|
\def\newtheoremlisttype#1#2#3#4{%
|
|
\@ifundefined{thm@thml@#1}%
|
|
{\expandafter\gdef\csname thm@thml@#1\endcsname{%
|
|
\def\thm@@thmlstart{#2}%
|
|
\def\thm@@thmline####1####2####3####4{#3}%
|
|
\def\thm@@thmlend{#4}}%
|
|
}{\PackageError{\basename}{list type #1 already defined}\@eha}}
|
|
\def\renewtheoremlisttype#1#2#3#4{%
|
|
\@ifundefined{thm@thml@#1}%
|
|
{\PackageError{\basename}{List type #1 not defined}\@ehc}{}%
|
|
\expandafter\let\csname thm@thml@#1\endcsname\relax
|
|
\newtheoremlisttype{#1}{#2}{#3}{#4}}
|
|
%%DV Use a third argument (supplied by hyperref)
|
|
\def\thm@thmline#1#2#3{\thm@@thmline#1{#2}{#3}}
|
|
%%DV\def\thm@thmline#1#2{\thm@@thmline#1{#2}}
|
|
%%DV Use a third argument (supplied by hyperref)
|
|
\long\def\thm@lgobble#1#2#3{\ignorespaces}
|
|
%%DV\long\def\thm@lgobble#1#2{\ignorespaces}
|
|
\def\thm@definelthm#1{%
|
|
\expandafter\gdef\csname l@#1\endcsname{\thm@lgobble}%
|
|
\expandafter\gdef\csname thm@listdo#1\endcsname{\thm@lgobble}}
|
|
\long\def\thm@inlistdo#1#2{#2}%
|
|
\def\listtheorems#1{\begingroup%
|
|
\c@tocdepth=-2%
|
|
\def\thm@list{#1}\thm@processlist%
|
|
\endgroup}
|
|
\def\thm@processlist{%
|
|
\begingroup%
|
|
\typeout{** Generating table of \thm@list}%
|
|
%%DV: don't use hyperref's \contentsline !! Use the normal definition.
|
|
\def\contentsline##1{\csname l@##1\endcsname}
|
|
\thm@@thmlstart
|
|
\@for\thm@currentlist:=\thm@list\do{%
|
|
\ifx\thm@currentlist\@empty\else%
|
|
\expandafter\gdef\csname l@\thm@currentlist\endcsname{\thm@thmline}%
|
|
\expandafter\gdef\csname thm@listdo\thm@currentlist\endcsname{\thm@inlistdo}%
|
|
\fi%
|
|
}%
|
|
\@input{\jobname .thm}%
|
|
\thm@@thmlend%
|
|
\@for\thm@currentlist:=\thm@list\do{%
|
|
\ifx\thm@currentlist\@empty\else%
|
|
\expandafter\gdef\csname l@\thm@currentlist\endcsname{\thm@lgobble}%
|
|
\expandafter\gdef\csname thm@listdo\thm@currentlist\endcsname{\thm@lgobble}%
|
|
\fi%
|
|
}%
|
|
\endgroup}
|
|
\def\thm@enablelistoftheorems{%
|
|
\begingroup%
|
|
\makeatletter%
|
|
\if@filesw%
|
|
\expandafter\newwrite\csname tf@thm\endcsname%
|
|
\immediate\openout \csname tf@thm\endcsname \jobname.thm\relax%
|
|
\fi%
|
|
\@nobreakfalse%
|
|
\endgroup}
|
|
\def\addtheoremline{\@ifstar{\nonum@addtheoremline}{\num@addtheoremline}}
|
|
\def\nonum@addtheoremline#1{\csname nonum@addtheoremline#1\endcsname}%
|
|
\def\num@addtheoremline#1{\csname num@addtheoremline#1\endcsname}%
|
|
\def\@nonum@addtheoremline#1#2#3{%
|
|
\thm@parseforwriting{#3}%
|
|
\edef\thm@t{{#2}{}{\thm@tmp}}%
|
|
\addcontentsline{thm}{#1}{\thm@t}}
|
|
\def\@num@addtheoremline#1#2#3{%
|
|
\thm@parseforwriting{#3}%
|
|
\edef\thm@t{{#2}{\csname the#1\endcsname}{\thm@tmp}}%
|
|
\addcontentsline{thm}{#1}{\thm@t}}
|
|
\long\def\addtotheoremfile{%
|
|
\@ifnextchar[{\@@addtotheoremfile}{\@addtotheoremfile}}
|
|
\long\def\@addtotheoremfile#1{%
|
|
\thm@parseforwriting{#1}%
|
|
\protected@write\@auxout%
|
|
{}{\string\@writefile{thm}{\thm@tmp}}}
|
|
\long\def\@@addtotheoremfile[#1]#2{%
|
|
\thm@parseforwriting{#2}%
|
|
\protected@write\@auxout%
|
|
{}{\string\@writefile{thm}{\string\theoremlistdo{#1}{\thm@tmp}}}}
|
|
\long\def\theoremlistdo#1#2{\csname thm@listdo#1\endcsname{#1}{#2}}
|
|
\AtEndDocument{\thm@enablelistoftheorems}
|
|
\def\thm@meaning#1->#2\relax{#2}% remove "macro:->"
|
|
\long\def\thm@parseforwriting#1{%
|
|
\def\thm@tmp{#1}%
|
|
\edef\thm@tmp{\expandafter\thm@meaning\meaning\thm@tmp\relax}}
|
|
\def\theorem@checkbold{\if b\expandafter\@car\f@series\@nil\boldmath\fi}
|
|
\def\@greek#1{\theorem@checkbold%
|
|
\ifcase#1\or$\alpha$\or$\beta$\or$\gamma$\or$\delta$\or$\varepsilon$%
|
|
\or$\zeta$\or$\eta$\or$\vartheta$\or$\iota$\or$\kappa$\or$\lambda$\or$%
|
|
\mu$\or$\nu$\or$\xi$\or$ o$\or$\varpi$\or$\varrho$\or$\varsigma$\or$\tau$%
|
|
\or$\upsilon$\or$\varphi$\or$\chi$\or$\psi$\or$\omega$\else\@ctrerr\fi}
|
|
\def\@Greek#1{\theorem@checkbold%
|
|
\ifcase#1\or A\or B\or$\Gamma$\or$\Delta$\or E%
|
|
\or Z\or H\or$\Theta$\or I\or K\or$\Lambda$\or M%
|
|
\or N\or$\Xi$\or O\or$\Pi$\or P\or$\Sigma$\or T%
|
|
\or$\Upsilon$\or$\Phi$\or X\or$\Psi$\or$\Omega$\else\@ctrerr\fi}
|
|
\def\greek#1{\@greek{\csname c@#1\endcsname}}
|
|
\def\Greek#1{\@Greek{\csname c@#1\endcsname}}
|
|
\ProcessOptions\relax
|
|
\ifx\thm@noconfig\@undefined
|
|
\InputIfFileExists{ntheorem.cfg}%
|
|
{\PackageInfo{\basename}{Local config file ntheorem.cfg used}}%
|
|
{\ifx\thm@usestd\@undefined%
|
|
\else%
|
|
\InputIfFileExists{ntheorem.std}%
|
|
{\PackageInfo{\basename}{Standard config file ntheorem.std used}}{}
|
|
\fi}
|
|
\fi
|
|
\endinput
|
|
%%
|
|
%% End of file `ntheorem.sty'.
|
|
|