summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty')
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty176
1 files changed, 176 insertions, 0 deletions
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty
new file mode 100644
index 0000000000..cd4af0f75a
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty
@@ -0,0 +1,176 @@
+%=====================================================================================================================================
+% Package akkmathproof by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting mathematical proofs.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathproof}[2005/04/30 1.2.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting mathematical proofs]
+%=====================================================================================================================================
+
+\RequirePackage{ifthen}
+
+\makeatletter
+
+%------------------------------------------------------------------------------
+% Universal proof utilities
+%------------------------------------------------------------------------------
+\newcommand \akk@prooflabel {Proof}
+
+\newcommand \prooflabel[1] {\renewcommand \akk@prooflabel {#1}}
+
+\newcommand \proofendsymbol {\ensuremath{\Box}}
+
+\newboolean{proofended}
+
+\newcommand \proofend {%
+ \ifbool{mmode}{%
+ \tag*{\proofendsymbol}%
+ }{%
+ \hspace*{\fill}\proofendsymbol%
+ }%
+ \global\proofendedtrue%
+}
+
+\newenvironment{proof}{%
+ \unskip\par%
+ \textit{\textbf{\akk@prooflabel:}}\\%
+ \begin{proof*}%
+}{%
+ \end{proof*}%
+ \par%
+}
+
+\newenvironment{Proof}{%
+ \unskip\par%
+ \textit{\textbf{\akk@prooflabel:}}%
+ \begin{proof*}%
+}{%
+ \end{proof*}%
+ \par%
+}
+
+\newenvironment{proof*}{%
+ \setboolean{proofended}{false}%
+}{
+ \ifboolfalse{proofended}{%
+ \proofend%
+ }%
+}
+
+\prooflabel{Beweis}
+
+\newenvironment {beweis} {%
+ \begin{proof}%
+}{%
+ \end{proof}%
+}
+
+\newenvironment {Beweis} {%
+ \begin{Proof}%
+}{%
+ \end{Proof}%
+}
+
+%------------------------------------------------------------------------------
+% Induction environments
+%------------------------------------------------------------------------------
+\newcommand \vind[2]{\textit{Beweis mittels vollständiger Induktion über $#1$:}\\}
+\newcommand \vindende {\indende{vollständige}}
+
+\newcommand \sind {\textit{Beweis durch strukturelle Induktion:\\}}
+\newcommand \sindende {\indende{strukturelle}}
+
+\newcommand{\indanf}[2]
+{Induktionsanfang ($#1=#2$):}
+
+\newcommand{\indanfs}
+{Induktionsanfang:}
+
+\newcommand{\indvor}
+{Induktionsvoraussetzung:}
+
+\newcommand{\indschritt}
+{Induktionsschritt:}
+
+\newcommand{\indende}[1]
+{Nach dem Prinzip der #1n Induktion folgt die Behauptung.\proofend}
+
+%------------------------------------------------------------------------------
+% equivalence and set equality proofs
+%------------------------------------------------------------------------------
+\newcommand \hinsymb {\glqq$\mathbf{\Rightarrow}$\grqq}
+\newcommand \ruecksymb {\glqq$\mathbf{\Leftarrow}$\grqq}
+\newcommand \sethinsymb {\glqq$\mathbf{\subseteq}$\grqq}
+\newcommand \setruecksymb {\glqq$\mathbf{\supseteq}$\grqq}
+\newcommand \ssethinsymb {\glqq$\mathbf{\subset}$\grqq}
+\newcommand \ssetruecksymb {\glqq$\mathbf{\supset}$\grqq}
+\newcommand \hin {\hinsymb \\*[2pt]}
+\newcommand \rueck {\ruecksymb \\*[2pt]}
+\newcommand \sethin {\sethinsymb \\*[2pt]}
+\newcommand \setrueck {\setruecksymb \\*[2pt]}
+\newcommand \ssethin {\ssethinsymb \\*[2pt]}
+\newcommand \ssetrueck {\ssetruecksymb \\*[2pt]}
+
+\newenvironment{equivproof}{%
+ \begin{proof}%
+ \begin{equivproof**}%
+}{%
+ \proofend%
+ \end{equivproof**}%
+ \end{proof}%
+}
+
+\newenvironment{equivproof*}{%
+ \begin{proof*}%
+ \begin{equivproof**}%
+}{%
+ \proofend%
+ \end{equivproof**}%
+ \end{proof*}%
+}
+
+\newenvironment{equivproof**}{%
+ \renewcommand \hin {\item[\hinsymb]}%
+ \renewcommand \rueck {\item[\ruecksymb]}%
+ \begin{itemize}%
+}{%
+ \end{itemize}%
+}
+
+\newenvironment{setequalproof}{%
+ \begin{proof}%
+ \begin{setequalproof**}%
+}{%
+ \proofend%
+ \end{setequalproof**}%
+ \end{proof}%
+}
+
+\newenvironment{setequalproof*}{%
+ \begin{proof*}%
+ \begin{setequalproof**}%
+}{%
+ \proofend%
+ \end{setequalproof**}%
+ \end{proof*}%
+}
+
+\newenvironment{setequalproof**}{%
+ \renewcommand \sethin {\item[\sethinsymb]}%
+ \renewcommand \setrueck {\item[\setruecksymb]}%
+ \begin{itemize}%
+}{%
+ \end{itemize}%
+}
+
+% infer
+\newcommand \dinfer[2] {\text{$\displaystyle\infer{#1}{#2}$}}
+
+\makeatother