summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ximera/src/theorems.dtx
blob: 292d7a89b26f52e49b4be16718abe8aa7fdd1d6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
% \subsubsection{Theorem and theorem-like environments}
% On the web, a theorem is emitted as a special |<div>|.
%    \begin{macrocode}
%<*htXimera>
\newcommand{\ConfigureTheoremEnv}[1]{%
\renewenvironment{#1}[1][]{\refstepcounter{problem}%
\ifthenelse{\equal{##1}{}}{}{%
  \HCode{<span class="theorem-like-title">}##1\HCode{</span>}%
}}{}
\ConfigureEnv{#1}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="theorem-like problem-environment #1" id="problem\arabic{identification}">}}{\HCode{</div>}\IgnoreIndent}{}{}%
}
%</htXimera>
%<classXimera>\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}
%<classXimera>      \newtheorem{theorem}{Theorem}
%<htXimera>      \ConfigureTheoremEnv{theorem}
%    \end{macrocode}

% \DescribeEnv{algorithm}{Algorithm}
%    \begin{macrocode}
%<classXimera>      \newtheorem{algorithm}{Algorithm}
%<htXimera>      \ConfigureTheoremEnv{algorithm}
%    \end{macrocode}

% \DescribeEnv{axiom}{Axiom}
%    \begin{macrocode}
%<classXimera>      \newtheorem{axiom}{Axiom}
%<htXimera>      \ConfigureTheoremEnv{axiom}
%    \end{macrocode}

% \DescribeEnv{claim}{Claim}
%    \begin{macrocode}
%<classXimera>      \newtheorem{claim}{Claim}
%<htXimera>      \ConfigureTheoremEnv{claim}
%    \end{macrocode}

% \DescribeEnv{conclusion}{Conclusion}
%    \begin{macrocode}
%<classXimera>      \newtheorem{conclusion}{Conclusion}
%<htXimera>      \ConfigureTheoremEnv{conclusion}
%    \end{macrocode}

% \DescribeEnv{condition}{Condition}
%    \begin{macrocode}
%<classXimera>      \newtheorem{condition}{Condition}
%<htXimera>      \ConfigureTheoremEnv{condition}
%    \end{macrocode}

% \DescribeEnv{conjecture}{Conjecture}
%    \begin{macrocode}
%<classXimera>      \newtheorem{conjecture}{Conjecture}
%<htXimera>      \ConfigureTheoremEnv{conjecture}
%    \end{macrocode}

% \DescribeEnv{corollary}{Corollary}
%    \begin{macrocode}
%<classXimera>      \newtheorem{corollary}{Corollary}
%<htXimera>      \ConfigureTheoremEnv{corollary}
%    \end{macrocode}

% \DescribeEnv{criterion}{Criterion}
%    \begin{macrocode}
%<classXimera>      \newtheorem{criterion}{Criterion}
%<htXimera>      \ConfigureTheoremEnv{criterion}
%    \end{macrocode}

% \DescribeEnv{definition}{Definition}
%    \begin{macrocode}
%<classXimera>      \newtheorem{definition}{Definition}
%<htXimera>      \ConfigureTheoremEnv{definition}
%    \end{macrocode}

% \DescribeEnv{example}{Example}
%    \begin{macrocode}
%<classXimera>      \newtheorem{example}{Example}
%<htXimera>      \ConfigureTheoremEnv{example}
%    \end{macrocode}

% \DescribeEnv{explanation}{Explanation}
%    \begin{macrocode}
%<classXimera>      \newtheorem*{explanation}{Explanation}
%<htXimera>      \ConfigureTheoremEnv{explanation}
%    \end{macrocode}

% \DescribeEnv{fact}{Fact}
%    \begin{macrocode}
%<classXimera>      \newtheorem{fact}{Fact}
%<htXimera>      \ConfigureTheoremEnv{fact}
%    \end{macrocode}

% \DescribeEnv{lemma}{Lemma}
%    \begin{macrocode}
%<classXimera>      \newtheorem{lemma}{Lemma}
%<htXimera>      \ConfigureTheoremEnv{lemma}
%    \end{macrocode}

% \DescribeEnv{formula}{Formula}
%    \begin{macrocode}
%<classXimera>      \newtheorem{formula}{Formula}
%<htXimera>      \ConfigureTheoremEnv{formula}
%    \end{macrocode}

% \DescribeEnv{idea}{Idea}
%    \begin{macrocode}
%<classXimera>      \newtheorem{idea}{Idea}
%<htXimera>      \ConfigureTheoremEnv{idea}
%    \end{macrocode}

% \DescribeEnv{notation}{Notation}
%    \begin{macrocode}
%<classXimera>      \newtheorem{notation}{Notation}
%<htXimera>      \ConfigureTheoremEnv{notation}
%    \end{macrocode}

% \DescribeEnv{model}{Model}
%    \begin{macrocode}
%<classXimera>      \newtheorem{model}{Model}
%<htXimera>      \ConfigureTheoremEnv{model}
%    \end{macrocode}

% \DescribeEnv{observation}{Observation}
%    \begin{macrocode}
%<classXimera>      \newtheorem{observation}{Observation}
%<htXimera>      \ConfigureTheoremEnv{observation}
%    \end{macrocode}

% \DescribeEnv{proposition}{Proposition}
%    \begin{macrocode}
%<classXimera>      \newtheorem{proposition}{Proposition}
%<htXimera>      \ConfigureTheoremEnv{proposition}
%    \end{macrocode}

% \DescribeEnv{paradox}{Paradox}
%    \begin{macrocode}
%<classXimera>      \newtheorem{paradox}{Paradox}
%<htXimera>      \ConfigureTheoremEnv{paradox}
%    \end{macrocode}

% \DescribeEnv{procedure}{Procedure}
%    \begin{macrocode}
%<classXimera>      \newtheorem{procedure}{Procedure}
%<htXimera>      \ConfigureTheoremEnv{procedure}
%    \end{macrocode}

% \DescribeEnv{remark}{Remark}
%    \begin{macrocode}
%<classXimera>      \newtheorem{remark}{Remark}
%<htXimera>      \ConfigureTheoremEnv{remark}
%    \end{macrocode}

% \DescribeEnv{summary}{Summary}
%    \begin{macrocode}
%<classXimera>      \newtheorem{summary}{Summary}
%<htXimera>      \ConfigureTheoremEnv{summary}
%    \end{macrocode}

% \DescribeEnv{template}{Template}
%    \begin{macrocode}
%<classXimera>      \newtheorem{template}{Template}
%<htXimera>      \ConfigureTheoremEnv{template}
%    \end{macrocode}

% \DescribeEnv{warning}{Warning}
%    \begin{macrocode}
%<classXimera>      \newtheorem{warning}{Warning}
%<htXimera>      \ConfigureTheoremEnv{warning}
%    \end{macrocode}