% \subsubsection{Theorem and theorem-like environments}
% On the web, a theorem is emitted as a special |
|.
% \begin{macrocode}
%<*htXimera>
\newcommand{\ConfigureTheoremEnv}[1]{%
\renewenvironment{#1}[1][]{\refstepcounter{problem}%
\ifthenelse{\equal{##1}{}}{}{%
\HCode{
}##1\HCode{}%
}}{}
\ConfigureEnv{#1}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{
}}{\HCode{
}\IgnoreIndent}{}{}%
}
%
%
\theoremstyle{definition} % No italic (because this makes also text in TikZ italic !!!)
% \end{macrocode}
% The key is to make sure that the theorem environments are defined in
% a corresponding fashion on the web and on paper.
% \DescribeEnv{theorem}{Theorem}
% \begin{macrocode}
% \newtheorem{theorem}{Theorem}
% \ConfigureTheoremEnv{theorem}
% \end{macrocode}
% \DescribeEnv{algorithm}{Algorithm}
% \begin{macrocode}
% \newtheorem{algorithm}{Algorithm}
% \ConfigureTheoremEnv{algorithm}
% \end{macrocode}
% \DescribeEnv{axiom}{Axiom}
% \begin{macrocode}
% \newtheorem{axiom}{Axiom}
% \ConfigureTheoremEnv{axiom}
% \end{macrocode}
% \DescribeEnv{claim}{Claim}
% \begin{macrocode}
% \newtheorem{claim}{Claim}
% \ConfigureTheoremEnv{claim}
% \end{macrocode}
% \DescribeEnv{conclusion}{Conclusion}
% \begin{macrocode}
% \newtheorem{conclusion}{Conclusion}
% \ConfigureTheoremEnv{conclusion}
% \end{macrocode}
% \DescribeEnv{condition}{Condition}
% \begin{macrocode}
% \newtheorem{condition}{Condition}
% \ConfigureTheoremEnv{condition}
% \end{macrocode}
% \DescribeEnv{conjecture}{Conjecture}
% \begin{macrocode}
% \newtheorem{conjecture}{Conjecture}
% \ConfigureTheoremEnv{conjecture}
% \end{macrocode}
% \DescribeEnv{corollary}{Corollary}
% \begin{macrocode}
% \newtheorem{corollary}{Corollary}
% \ConfigureTheoremEnv{corollary}
% \end{macrocode}
% \DescribeEnv{criterion}{Criterion}
% \begin{macrocode}
% \newtheorem{criterion}{Criterion}
% \ConfigureTheoremEnv{criterion}
% \end{macrocode}
% \DescribeEnv{definition}{Definition}
% \begin{macrocode}
% \newtheorem{definition}{Definition}
% \ConfigureTheoremEnv{definition}
% \end{macrocode}
% \DescribeEnv{example}{Example}
% \begin{macrocode}
% \newtheorem{example}{Example}
% \ConfigureTheoremEnv{example}
% \end{macrocode}
% \DescribeEnv{explanation}{Explanation}
% \begin{macrocode}
% \newtheorem*{explanation}{Explanation}
% \ConfigureTheoremEnv{explanation}
% \end{macrocode}
% \DescribeEnv{fact}{Fact}
% \begin{macrocode}
% \newtheorem{fact}{Fact}
% \ConfigureTheoremEnv{fact}
% \end{macrocode}
% \DescribeEnv{lemma}{Lemma}
% \begin{macrocode}
% \newtheorem{lemma}{Lemma}
% \ConfigureTheoremEnv{lemma}
% \end{macrocode}
% \DescribeEnv{formula}{Formula}
% \begin{macrocode}
% \newtheorem{formula}{Formula}
% \ConfigureTheoremEnv{formula}
% \end{macrocode}
% \DescribeEnv{idea}{Idea}
% \begin{macrocode}
% \newtheorem{idea}{Idea}
% \ConfigureTheoremEnv{idea}
% \end{macrocode}
% \DescribeEnv{notation}{Notation}
% \begin{macrocode}
% \newtheorem{notation}{Notation}
% \ConfigureTheoremEnv{notation}
% \end{macrocode}
% \DescribeEnv{model}{Model}
% \begin{macrocode}
% \newtheorem{model}{Model}
% \ConfigureTheoremEnv{model}
% \end{macrocode}
% \DescribeEnv{observation}{Observation}
% \begin{macrocode}
% \newtheorem{observation}{Observation}
% \ConfigureTheoremEnv{observation}
% \end{macrocode}
% \DescribeEnv{proposition}{Proposition}
% \begin{macrocode}
% \newtheorem{proposition}{Proposition}
% \ConfigureTheoremEnv{proposition}
% \end{macrocode}
% \DescribeEnv{paradox}{Paradox}
% \begin{macrocode}
% \newtheorem{paradox}{Paradox}
% \ConfigureTheoremEnv{paradox}
% \end{macrocode}
% \DescribeEnv{procedure}{Procedure}
% \begin{macrocode}
% \newtheorem{procedure}{Procedure}
% \ConfigureTheoremEnv{procedure}
% \end{macrocode}
% \DescribeEnv{remark}{Remark}
% \begin{macrocode}
% \newtheorem{remark}{Remark}
% \ConfigureTheoremEnv{remark}
% \end{macrocode}
% \DescribeEnv{summary}{Summary}
% \begin{macrocode}
% \newtheorem{summary}{Summary}
% \ConfigureTheoremEnv{summary}
% \end{macrocode}
% \DescribeEnv{template}{Template}
% \begin{macrocode}
% \newtheorem{template}{Template}
% \ConfigureTheoremEnv{template}
% \end{macrocode}
% \DescribeEnv{warning}{Warning}
% \begin{macrocode}
% \newtheorem{warning}{Warning}
% \ConfigureTheoremEnv{warning}
% \end{macrocode}