diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/stex/sproof.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/stex/sproof.sty | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/stex/sproof.sty b/Master/texmf-dist/tex/latex/stex/sproof.sty new file mode 100644 index 00000000000..b2501b45948 --- /dev/null +++ b/Master/texmf-dist/tex/latex/stex/sproof.sty @@ -0,0 +1,112 @@ +%% +%% This is file `sproof.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% sproof.dtx (with options: `package') +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{sproof}[2006/01/13 v0.9a Semantic Markup for Proofs] +\RequirePackage{omdoc}[2007/09/09] +\newif\ifjust@method\just@methodfalse +\DeclareOption{method}{\just@methodtrue} +\newif\ifspf@env\spf@envfalse +\newif\ifspf@id\spf@idfalse +\newif\ifspf@display\spf@displayfalse +\DeclareOption{id}{\spf@idtrue\spf@envtrue} +\DeclareOption{env}{\spf@envtrue} +\DeclareOption{display}{\spf@displaytrue\spf@envtrue} +\newif\ifspf@for\spf@forfalse +\newif\ifspf@from\spf@forfalse +\newif\ifspf@type\spf@typefalse +\newif\ifspf@title\spf@titlefalse +\newif\ifspf@proofend\spf@proofendtrue +\newif\ifspf@continues\spf@continuesfalse +\DeclareOption{for}{\spf@fortrue\spf@envtrue} +\DeclareOption{from}{\spf@fromtrue\spf@envtrue} +\DeclareOption{type}{\spf@typetrue\spf@envtrue} +\DeclareOption{title}{\spf@titletrue\spf@envtrue} +\DeclareOption{continues}{\spf@continuepfrue\spf@envtrue} +\DeclareOption{noproofend}{\spf@proofendfalse\spf@envtrue} +\def\spftrue{\spf@fortrue\spf@fromtrue\spf@typetrue\spf@continuepfrue} +\DeclareOption{draft}{\spf@envtrue\just@methodtrue} +\DeclareOption{all}{\spf@envtrue\just@medhodtrue} +\ProcessOptions +\define@key{spf}{id}{\def\spf@id{#1}} +\define@key{spf}{display}{\def\spf@display{#1}} +\define@key{spf}{for}{\def\spf@for{#1}} +\define@key{spf}{from}{\def\spf@from{#1}} +\define@key{spf}{sproofend}{\spf@proofendtrue\def\sproof@box{#1}} +\define@key{spf}{noproofend}[imeanit]{\spf@proofendfalse} +\define@key{spf}{type}{\def\spf@type{#1}} +\define@key{spf}{title}{\def\spf@title{#1}} +\define@key{spf}{continues}{\def\spf@continues{#1}} +\def\show@st@keys@aux{% +\@ifundefined{spf@id}{}{\ifspf@id{id=\spf@id},\fi}% +\@ifundefined{spf@display}{}{\ifspf@display{display=\spf@display}\fi}} +\def\clear@pf@keys{\let\spf@id=\relax\let\spf@display=\relax} +\def\show@pf@keys@aux{% +\@ifundefined{spf@for}{}{\ifspf@for{for=\spf@for},\fi}% +\@ifundefined{spf@from}{}{\ifspf@from{from=\spf@from},\fi}% +\@ifundefined{spf@prefix}{}{\ifspf@prefix{prefix=\spf@prefix},\fi}% +\@ifundefined{spf@type}{}{\ifspf@type{type=\spf@type},\fi}% +\@ifundefined{spf@title}{}{\ifspf@title{title=\spf@title},\fi}% +\@ifundefined{spf@continues}{}{\ifspf@continues{continues=\spf@continues}\fi}} +\def\show@pf@keys#1{\footnote{#1[\show@pf@keys@aux\show@pf@keys@aux]}% +\clear@pf@keys\clear@pf@keys} +\def\clear@pf@keys{\let\spf@for=\relax\let\spf@from=\relax\let\spf@prefix=\relax% +\let\spf@type=\relax\let\spf@title=\relax\let\spf@continues=\relax} +\def\spf@flow{flow} +\newenvironment{pst@with@label}[1]{\edef\pst@label{#1}\advance\count10 by 1\count\count10=1} +{\advance\count10 by -1} +\def\the@pst@label{\pst@label.\number\count\count10} +\def\next@pst@label{\global\advance\count\count10 by 1} +\def\sproof@box{\hbox{\vrule\vbox{\hrule width 6 pt\vskip 6pt\hrule}\vrule}} +\def\sproofend{\ifspf@proofend\hfil\null\nobreak\hfill\sproof@box\par\smallskip\fi} +\def\sProofEndSymbol#1{\def\sproof@box{#1}} +\newenvironment{@proof}[2][]{\setkeys{spf}{#1} +\count10=10\ifx\spf@display\spf@flow\else{\stDMemph{Proof}:}\fi% +\ifspf@env\show@pf@keys{sproof}\fi{ #2}% +\def\pst@label{}\newcount\pst@count% initialize the labeling mechanism +\begin{description}\begin{pst@with@label}{P}} +{\end{pst@with@label}\end{description}} +\newenvironment{sproof}[2][]{\begin{@proof}[#1]{#2}}{\sproofend\end{@proof}} +\newcommand{\sproofidea}[2][]{{\stDMemph{Proof Idea}:} #2\sproofend} +\newenvironment{spfstep}[1][]{\setkeys{spf}{#1} +\ifx\spf@display\spf@flow\else\item[\the@pst@label]\fi +\@ifundefined{spf@title}{}{(\stDMemph{\spf@title})}% +\ifspf@env\show@pf@keys{spfstep}\fi} +{\next@pst@label} +\newenvironment{sproofcomment}[1][]{\setkeys{spf}{#1} +\ifx\spf@display\spf@flow\else\item[\the@pst@label]\fi +\ifspf@env\show@pf@keys{sproofcomment}\fi} +{\next@pst@label} +\newenvironment{spfcases}[2][]{\setkeys{spf}{#1} +\def\@test{#2}\ifx\@test\empty\else +\ifx\spf@display\spf@flow {#2}\else\item[\the@pst@label]{#2} \fi\fi +\ifspf@env\show@pf@keys{spfcases}\fi +\begin{pst@with@label}{\pst@label.\number\count\count10}} +{\end{pst@with@label}\next@pst@label} +\newenvironment{spfcase}[2][]{\setkeys{spf}{#1} +\ifx\spf@display\spf@flow\else\item[\the@pst@label]\fi +\def\@test{#2}\ifx\@test\empty\else{\stDMemph{#2}:}\fi +\ifspf@env\show@pf@keys{spfcase}\fi +\begin{pst@with@label}{\pst@label.\number\count\count10}} +{\ifx\spf@display\spf@flow\else\sproofend\fi\end{pst@with@label}\next@pst@label} +\newenvironment{subproof}{\begin{pst@with@label}{\pst@label.\number\count\count10}} +{\ifx\spf@display\spf@flow\else\sproofend\fi\end{pst@with@label}} +\define@key{just}{id}{\def\just@id{#1}} +\define@key{just}{method}{\def\just@method{#1}} +\def\show@just@keys#1{\footnote{#1[\show@pf@keys@aux\show@just@keys@aux]}}% +\def\show@just@keys@aux{% +\@ifundefined{just@method}{\relax}{\ifjust@method{method=\just@method},\fi}% +\clear@pf@keys\clear@just@keys} +\def\clear@just@keys{\let\just@method=\relax} +\newenvironment{justification}[1][]{\ifspf@env\setkeys{just}{#1} + \show@just@keys{justification}\fi}{} +\newcommand{\premise}[2][]{#2} +\newcommand{\justarg}[2][]{#2} +\endinput +%% +%% End of file `sproof.sty'. |