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.
510 lines
15 KiB
510 lines
15 KiB
%%
|
|
%% This is file `lwarp-ntheorem.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% lwarp.dtx (with options: `ntheorem')
|
|
%% This is a generated file.
|
|
%% Copyright 2016-2020 Brian Dunn
|
|
%%
|
|
%% This work may be distributed and/or modified under the
|
|
%% conditions of the LaTeX Project Public License, either version 1.3
|
|
%% of this license or (at your option) any later version.
|
|
%% The latest version of this license is in
|
|
%% http://www.latex-project.org/lppl.txt
|
|
%% and version 1.3 or later is part of all distributions of LaTeX
|
|
%% version 2005/12/01 or later.
|
|
|
|
\DeclareOption{thref}{
|
|
\AtEndDocument{
|
|
\PackageWarningNoLine{lwarp}{%
|
|
Lwarp uses cleveref, which takes over ntheorem's\MessageBreak
|
|
referencing, including
|
|
\protect\label \space and \protect\thref.\MessageBreak
|
|
Cleveref does not accept ntheorem's optional\MessageBreak
|
|
argument for \protect\label, so it will appear\MessageBreak
|
|
in the text. It is recommended to remove the\MessageBreak
|
|
thref option, \protect\usepackage{cleveref} instead,\MessageBreak
|
|
and remove any trailing optional arguments for \protect\label%
|
|
}%
|
|
}
|
|
}
|
|
|
|
\newbool{LWR@ntheoremmarks}
|
|
\boolfalse{LWR@ntheoremmarks}
|
|
|
|
\DeclareOption{thmmarks}{
|
|
\booltrue{LWR@ntheoremmarks}
|
|
\newif\ifsetendmark\setendmarktrue
|
|
}
|
|
|
|
\newbool{LWR@ntheoremamsthm}
|
|
\boolfalse{LWR@ntheoremamsthm}
|
|
|
|
\DeclareOption{amsthm}{\booltrue{LWR@ntheoremamsthm}}
|
|
|
|
\DeclareOption{amsmath}{}
|
|
\DeclareOption{hyperref}{}
|
|
|
|
\LWR@ProvidesPackagePass{ntheorem}[2011/08/15]
|
|
\newcommand{\LWR@newtheoremstyle}{plain}
|
|
\AtBeginDocument{
|
|
\@ifpackageloaded{cleveref}{
|
|
\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[#1]{#2}% <<< cleveref modification
|
|
\theorem@prework
|
|
\LWR@forcenewpage% lwarp
|
|
\BlockClass{theorembody#1}%\LWR@thisthmstyle% lwarp
|
|
\trivlist % latex's \trivlist, calling latex's \@trivlist unchanged
|
|
\ifuse@newframeskips % cf. latex.ltx for topsepadd: \@trivlist
|
|
\ifthm@inframe
|
|
\thm@topsep\theoreminframepreskipamount
|
|
\thm@topsepadd\theoreminframepostskipamount
|
|
\else
|
|
\thm@topsep\theorempreskipamount
|
|
\thm@topsepadd\theorempostskipamount
|
|
\fi
|
|
\else% oldframeskips
|
|
\thm@topsep\theorempreskipamount
|
|
\thm@topsepadd \theorempostskipamount
|
|
\ifvmode\advance\thm@topsepadd\partopsep\fi
|
|
\fi
|
|
\@topsep\thm@topsep
|
|
\@topsepadd\thm@topsepadd
|
|
\advance\linewidth -\theorem@indent
|
|
\advance\linewidth -\theorem@rightindent
|
|
\advance\@totalleftmargin \theorem@indent
|
|
\parshape \@ne \@totalleftmargin \linewidth
|
|
\@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}
|
|
}
|
|
}{% not @ifpackageloaded{cleveref}
|
|
\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}%
|
|
\theorem@prework
|
|
\LWR@forcenewpage% lwarp
|
|
\BlockClass{theorembody#1}%\LWR@thisthmstyle% lwarp
|
|
\trivlist % latex's \trivlist, calling latex's \@trivlist unchanged
|
|
\ifuse@newframeskips % cf. latex.ltx for topsepadd: \@trivlist
|
|
\ifthm@inframe
|
|
\thm@topsep\theoreminframepreskipamount
|
|
\thm@topsepadd\theoreminframepostskipamount
|
|
\else
|
|
\thm@topsep\theorempreskipamount
|
|
\thm@topsepadd\theorempostskipamount
|
|
\fi
|
|
\else% oldframeskips
|
|
\thm@topsep\theorempreskipamount
|
|
\thm@topsepadd \theorempostskipamount
|
|
\ifvmode\advance\thm@topsepadd\partopsep\fi
|
|
\fi
|
|
\@topsep\thm@topsep
|
|
\@topsepadd\thm@topsepadd
|
|
\advance\linewidth -\theorem@indent
|
|
\advance\linewidth -\theorem@rightindent
|
|
\advance\@totalleftmargin \theorem@indent
|
|
\parshape \@ne \@totalleftmargin \linewidth
|
|
\@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}
|
|
}
|
|
}
|
|
}% AtBeginDocument
|
|
\gdef\theoremstyle#1{%
|
|
\@ifundefined{th@#1}{\@warning
|
|
{Unknown theoremstyle `#1'. Using `plain'}%
|
|
\theorem@style{plain}
|
|
\renewcommand{\LWR@newtheoremstyle}{plain}% lwarp
|
|
}%
|
|
{
|
|
\theorem@style{#1}
|
|
\renewcommand{\LWR@newtheoremstyle}{#1}% lwarp
|
|
}
|
|
}
|
|
|
|
\gdef\@xnthm#1#2[#3]{%
|
|
\ifthm@tempif
|
|
\csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% lwarp
|
|
\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}
|
|
\AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#1}}}% lwarp
|
|
\fi
|
|
}
|
|
|
|
\gdef\@ynthm#1#2{%
|
|
\ifthm@tempif
|
|
\csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% lwarp
|
|
\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}
|
|
\AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#1}}}% lwarp
|
|
\fi
|
|
}
|
|
|
|
\gdef\@othm#1[#2]#3{%
|
|
\@ifundefined{c@#2}{\@nocounterr{#2}}%
|
|
{\ifthm@tempif
|
|
\csedef{LWR@thmstyle#1}{\LWR@newtheoremstyle}% lwarp
|
|
\global\@namedef{the#1}{\@nameuse{the#2}}%
|
|
\expandafter\protected@xdef\csname num@addtheoremline#1\endcsname{%
|
|
\noexpand\@num@addtheoremline{#1}{#3}}%
|
|
\expandafter\protected@xdef\csname nonum@addtheoremline#1\endcsname{%
|
|
\noexpand\@nonum@addtheoremline{#1}{#3}}%
|
|
\theoremkeyword{#3}%
|
|
\expandafter\protected@xdef\csname #1Keyword\endcsname
|
|
{\the\theoremkeyword}%
|
|
\expandafter\gdef\csname mkheader@#1\endcsname
|
|
{\csname setparms@#1\endcsname
|
|
\@thm{#1}{#2}{#3}
|
|
}%
|
|
\global\@namedef{end#1}{\@endtheorem}
|
|
\AtBeginEnvironment{#1}{\edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#1}}}% lwarp
|
|
\fi}
|
|
}
|
|
\newcommand{\LWR@inctheorem}{%
|
|
\addtocounter{LWR@thisautoid}{1}%
|
|
\LWR@stoppars%
|
|
\LWR@htmltag{a id="\LWR@print@mbox{autoid-\arabic{LWR@thisautoid}}"}\LWR@htmltag{/a}%
|
|
\LWR@startpars%
|
|
}
|
|
\gdef\newtheoremstyle#1#2#3{%
|
|
\expandafter\@ifundefined{th@#1}%
|
|
{\expandafter\gdef\csname th@#1\endcsname{%
|
|
\def\@begintheorem####1####2{%
|
|
\LWR@inctheorem% lwarp
|
|
#2}%
|
|
\def\@opargbegintheorem####1####2####3{%
|
|
\LWR@inctheorem% lwarp
|
|
#3}%
|
|
}%
|
|
}%
|
|
{\PackageError{\basename}{Theorem style #1 already defined}\@eha}
|
|
}
|
|
\renewtheoremstyle{plain}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##1\ ##2\theorem@separator}]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##1\ ##2\ (##3)\theorem@separator}]}
|
|
|
|
\renewtheoremstyle{break}%
|
|
{\item[
|
|
\InlineClass{theoremheaderbreak}{##1\ ##2\theorem@separator}\newline
|
|
]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderbreak}%
|
|
{##1\ ##2\ (##3)\theorem@separator}\newline
|
|
]}
|
|
|
|
\renewtheoremstyle{change}%
|
|
{\item[
|
|
\InlineClass{theoremheaderchange}{##2\ ##1\theorem@separator}]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderchange}{##2\ ##1\ (##3)\theorem@separator}]}
|
|
|
|
\renewtheoremstyle{changebreak}%
|
|
{\item[
|
|
\InlineClass{theoremheaderchangebreak}%
|
|
{##2\ ##1\theorem@separator}\newline
|
|
]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderchangebreak}%
|
|
{##2\ ##1\ (##3)\theorem@separator}\newline
|
|
]}
|
|
|
|
\renewtheoremstyle{margin}%
|
|
{\item[
|
|
\InlineClass{theoremheadermargin}{##2 \qquad ##1\theorem@separator}
|
|
]}%
|
|
{\item[
|
|
\InlineClass{theoremheadermargin}{##2 \qquad ##1\ (##3)\theorem@separator}
|
|
]}
|
|
|
|
\renewtheoremstyle{marginbreak}%
|
|
{\item[
|
|
\InlineClass{theoremheadermarginbreak}%
|
|
{##2 \qquad ##1\theorem@separator}\newline
|
|
]}%
|
|
{\item[
|
|
\InlineClass{theoremheadermarginbreak}%
|
|
{##2 \qquad ##1\ (##3)\theorem@separator}\newline
|
|
]}
|
|
|
|
\renewtheoremstyle{nonumberplain}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##1\theorem@separator}]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##1\ (##3)\theorem@separator}]}
|
|
|
|
\renewtheoremstyle{nonumberbreak}%
|
|
{\item[
|
|
\InlineClass{theoremheaderbreak}{##1\theorem@separator}\newline
|
|
]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderbreak}{##1\ (##3)\theorem@separator}\newline
|
|
]}
|
|
|
|
\renewtheoremstyle{empty}%
|
|
{\item[]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##3}]}
|
|
|
|
\renewtheoremstyle{emptybreak}%
|
|
{\item[]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##3}] \ \newline}
|
|
\ifbool{LWR@ntheoremamsthm}{}{%
|
|
\newtheoremstyle{plainupright}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##1\ ##2\theorem@separator}]}%
|
|
{\item[
|
|
\InlineClass{theoremheaderplain}{##1\ ##2\ (##3)\theorem@separator}]}
|
|
\newtheoremstyle{nonumberplainuprightsc}%
|
|
{\item[
|
|
\InlineClass{theoremheadersc}{##1\theorem@separator}]}%
|
|
{\item[
|
|
\InlineClass{theoremheadersc}{##1\ (##3)\theorem@separator}]}
|
|
}% not amsthm
|
|
\ifbool{LWR@ntheoremamsthm}{}{%
|
|
\ifx\thm@usestd\@undefined
|
|
\else
|
|
\theoremnumbering{arabic}
|
|
\theoremstyle{plain}
|
|
\RequirePackage{latexsym}
|
|
\theoremsymbol{\Box}
|
|
\theorembodyfont{\itshape}
|
|
\theoremheaderfont{\normalfont\bfseries}
|
|
\theoremseparator{}
|
|
\renewtheorem{Theorem}{Theorem}
|
|
\renewtheorem{theorem}{Theorem}
|
|
\renewtheorem{Satz}{Satz}
|
|
\renewtheorem{satz}{Satz}
|
|
\renewtheorem{Proposition}{Proposition}
|
|
\renewtheorem{proposition}{Proposition}
|
|
\renewtheorem{Lemma}{Lemma}
|
|
\renewtheorem{lemma}{Lemma}
|
|
\renewtheorem{Korollar}{Korollar}
|
|
\renewtheorem{korollar}{Korollar}
|
|
\renewtheorem{Corollary}{Corollary}
|
|
\renewtheorem{corollary}{Corollary}
|
|
|
|
\theoremstyle{plainupright}
|
|
\theorembodyfont{\upshape}
|
|
\theoremsymbol{\HTMLunicode{25A1}}% UTF-8 white box
|
|
\renewtheorem{Example}{Example}
|
|
\renewtheorem{example}{Example}
|
|
\renewtheorem{Beispiel}{Beispiel}
|
|
\renewtheorem{beispiel}{Beispiel}
|
|
\renewtheorem{Bemerkung}{Bemerkung}
|
|
\renewtheorem{bemerkung}{Bemerkung}
|
|
\renewtheorem{Anmerkung}{Anmerkung}
|
|
\renewtheorem{anmerkung}{Anmerkung}
|
|
\renewtheorem{Remark}{Remark}
|
|
\renewtheorem{remark}{Remark}
|
|
\renewtheorem{Definition}{Definition}
|
|
\renewtheorem{definition}{Definition}
|
|
|
|
\theoremstyle{nonumberplainuprightsc}
|
|
\theoremsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
|
|
\renewtheorem{Proof}{Proof}
|
|
\renewtheorem{proof}{Proof}
|
|
\renewtheorem{Beweis}{Beweis}
|
|
\renewtheorem{beweis}{Beweis}
|
|
\qedsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
|
|
|
|
\theoremsymbol{}
|
|
\fi
|
|
}% not amsthm
|
|
\ifbool{LWR@ntheoremamsthm}{
|
|
|
|
\gdef\th@plain{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\itshape%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderplain}{##1\ ##2.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderplain}{##1\ ##2\ (##3).}
|
|
]}}
|
|
|
|
\gdef\th@nonumberplain{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\itshape%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderplain}{##1.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderplain}{##1\ (##3).}
|
|
]}}
|
|
|
|
\gdef\th@definition{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\normalfont%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderdefinition}{##1\ ##2.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderdefinition}{##1\ ##2\ (##3).}
|
|
]}}
|
|
|
|
\gdef\th@nonumberdefinition{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\normalfont%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderdefinition}{##1.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderdefinition}{##1\ (##3).}
|
|
]}}
|
|
|
|
\gdef\th@remark{%
|
|
\def\theorem@headerfont{\itshape}\normalfont%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderremark}{##1\ ##2.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderremark}{##1\ ##2\ (##3).}
|
|
]}}
|
|
|
|
\gdef\th@nonumberremark{%
|
|
\def\theorem@headerfont{\itshape}\normalfont%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderremark}{##1.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderremark}{##1\ (##3).}
|
|
]}}
|
|
|
|
\gdef\th@proof{%
|
|
\def\theorem@headerfont{\normalfont\bfseries}\itshape%
|
|
\def\@begintheorem##1##2{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderproof}{##1.}
|
|
]}%
|
|
\def\@opargbegintheorem##1##2##3{%
|
|
\LWR@inctheorem% lwarp
|
|
\item[
|
|
\InlineClass{theoremheaderproof}{##1\ (##3).}
|
|
]}}
|
|
|
|
\newcounter{proof}%
|
|
\if@thmmarks
|
|
\newcounter{currproofctr}%
|
|
\newcounter{endproofctr}%
|
|
\fi
|
|
|
|
\gdef\proofSymbol{\openbox}
|
|
|
|
\newcommand{\proofname}{Proof}
|
|
|
|
\newenvironment{proof}[1][\proofname]{
|
|
\th@proof
|
|
\def\theorem@headerfont{\itshape}%
|
|
\normalfont
|
|
\theoremsymbol{\HTMLunicode{220E}}% UTF-8 end-of-proof
|
|
\@thm{proof}{proof}{#1}
|
|
}%
|
|
{\@endtheorem}
|
|
|
|
}{}% amsthm option
|
|
\let\LWR@origendtheorem\@endtheorem
|
|
\renewcommand{\@endtheorem}{%
|
|
\ifbool{LWR@ntheoremmarks}{%
|
|
\ifsetendmark%
|
|
\InlineClass{theoremendmark}{\csname\InTheoType Symbol\endcsname}%
|
|
\setendmarkfalse%
|
|
\fi%
|
|
}{}%
|
|
\LWR@origendtheorem% also does \@endtrivlist
|
|
\ifbool{LWR@ntheoremmarks}{\global\setendmarktrue}{}%
|
|
\endBlockClass%
|
|
}
|
|
\gdef\NoEndMark{\global\setendmarkfalse}
|
|
\renewcommand{\thm@@thmline@noname}[4]{%
|
|
\hypertocfloat{1}{theorem}{thm}{#2 #3}{}%
|
|
}
|
|
|
|
\renewcommand{\thm@@thmline@name}[4]{%
|
|
\hypertocfloat{1}{theorem}{thm}{#1 #2 #3}{}%
|
|
}
|
|
\def\thm@@thmline{\thm@@thmline@name}
|
|
\def\listtheorems#1{
|
|
\LWR@htmlelementclass{nav}{lothm}%
|
|
\begingroup
|
|
\c@tocdepth=-2%
|
|
\def\thm@list{#1}\thm@processlist
|
|
\endgroup
|
|
\LWR@htmlelementclassend{nav}{lothm}%
|
|
}
|
|
\newcommand{\qed}{\qquad\the\qedsymbol}
|
|
|
|
\AtBeginDocument{
|
|
\@ifundefined{LWR@orig@openbox}{
|
|
\LetLtxMacro\LWR@orig@openbox\openbox
|
|
\LetLtxMacro\LWR@orig@blacksquare\blacksquare
|
|
\LetLtxMacro\LWR@orig@Box\Box
|
|
|
|
\def\openbox{\text{\HTMLunicode{25A1}}}% UTF-8 white box
|
|
\def\blacksquare{\text{\HTMLunicode{220E}}}% UTF-8 end-of-proof
|
|
\def\Box{\text{\HTMLunicode{25A1}}}% UTF-8 white box
|
|
|
|
\appto\LWR@restoreorigformatting{%
|
|
\LetLtxMacro\openbox\LWR@orig@openbox%
|
|
\LetLtxMacro\blacksquare\LWR@orig@blacksquare%
|
|
\LetLtxMacro\Box\LWR@orig@Box%
|
|
}% appto
|
|
}{}% @ifundefined
|
|
}% AtBeginDocument
|
|
\newcommand*{\thref}[1]{\cref{#1}}%
|
|
\endinput
|
|
%%
|
|
%% End of file `lwarp-ntheorem.sty'.
|
|
|