1\def\@ifitem{\ifmath\ifdisplay\@itemdisplay\fi\fi}
2\newcommand{\@mop}[1]{
3  \@ifitem%
4  \@print{<mo> &}\@subst{#1}\@print{; </mo>}%
5  \@ifitem}
6\newcommand{\@mopop}[1]{\@print{<mo> &}\@subst{#1}\@print{; </mo>}}
7\newcommand{\@mid}[1]{
8  \@ifitem%
9  \@print{<mi> &}\@subst{#1}\@print{; </mi>}%
10  \@ifitem}
11\newcommand{\@mfun}[1]{\@print{<mo> }\@subst{#1}\@print{ </mo>}}
12
13%% Symboles mathematiques
14%% classes dans le meme ordre que
15%% dans le livre LaTeX, de Leslie Lamport.
16
17
18%% overline, underline et Cie
19
20\renewcommand{\stackrel}[2]{\ifdisplay
21\@print{
22<mover>}%
23\@open{display}{}#2\@close{display}{}
24
25\@open{display}{}#1\@close{display}{}%
26\@print{
27</mover>}
28\else
29\textstackrel{#1}{#2}\fi}
30
31\renewcommand\overline[1]{\ifdisplay
32\@print{
33<mover accent="true">}%
34\@open{display}{}#1\@close{display}{}%
35\@print{<mo> &horbar; </mo>
36</mover>}
37\else\textoverline{#1}\fi}
38
39\renewcommand\underline[1]{\ifdisplay
40\@print{
41<munder accentunder="true">}%
42\@open{display}{}#1\@close{display}{}%
43\@print{<mo> &horbar; </mo>
44</munder>}
45\else\textunderline{#1}\fi}
46
47
48% Roots
49\newcommand{\sqrt}[2][!*!]{\ifthenelse{\equal{#1}{!*!}}%
50{\@print{<msqrt>
51}%
52#2\@print{
53</msqrt>}%
54}{\@print{<mroot>
55}\@open{display}{}%
56#2
57\@close{display}{}%
58\@open{display}{}%
59#1%
60\@close{display}{}%
61\@print{
62</mroot>
63}}}
64
65% Ellipsis
66\renewcommand{\ldots}{\ifmath\@mop{TripleDot}\else{...}\fi}
67\renewcommand{\cdots}{\@mop{ctdot}}
68\renewcommand{\ddots}{\@mop{dtdot}}
69\renewcommand{\vdots}{\@mop{ratio}}
70%vdots is not the true symbol, but i didn't
71%find a better one..
72
73%% Greek Letters
74\newcommand{\alpha}{\@mid{alpha}}
75\newcommand{\beta}{\@mid{beta}}
76\newcommand{\gamma}{\@mid{gamma}}
77\newcommand{\delta}{\@mid{delta}}
78\newcommand{\epsilon}{\@mid{epsi}}
79\newcommand{\varepsilon}{\@mid{epsiv}}
80\newcommand{\zeta}{\@mid{zeta}}
81\newcommand{\eta}{\@mid{eta}}
82\newcommand{\theta}{\@mid{theta}}
83\newcommand{\vartheta}{\@mid{vartheta}}
84\newcommand{\iota}{\@mid{iota}}
85\newcommand{\kappa}{\@mid{kappa}}
86\newcommand{\lambda}{\@mid{lambda}}
87\renewcommand{\mu}{\@mid{mu}}
88\newcommand{\nu}{\@mid{nu}}
89\newcommand{\xi}{\@mid{xi}}
90\newcommand{\pi}{\@mid{pi}}
91\newcommand{\varpi}{\@mid{piv}}
92\newcommand{\rho}{\@mid{rho}}
93\newcommand{\varrho}{\@mid{rhov}}
94\newcommand{\sigma}{\@mid{sigma}}
95\newcommand{\varsigma}{\@mid{sigmav}}
96\newcommand{\tau}{\@mid{tau}}
97\newcommand{\upsilon}{\@mid{upsi}}
98\newcommand{\phi}{\@mid{phi}}
99\newcommand{\varphi}{\@mid{phiv}}
100\newcommand{\chi}{\@mid{chi}}
101\newcommand{\psi}{\@mid{psi}}
102\newcommand{\omega}{\@mid{omega}}
103
104\newcommand{\Gamma}{\@mid{Gamma}}
105\newcommand{\Delta}{\@mid{Delta}}
106\newcommand{\Theta}{\@mid{Theta}}
107\newcommand{\Lambda}{\@mid{Lambda}}
108\newcommand{\Xi}{\@mid{Xi}}
109\newcommand{\Pi}{\@mid{Pi}}
110\newcommand{\Sigma}{\@mid{Sigma}}
111\newcommand{\Upsilon}{\@mid{Upsi}}
112\newcommand{\Phi}{\@mid{Phi}}
113\newcommand{\Psi}{\@mid{Psi}}
114\newcommand{\Omega}{\@mid{Omega}}
115
116%% Binary Operation Symbols
117\renewcommand{\pm}{\@mop{PlusMinus}}
118\newcommand{\mp}{\@mop{mp}}
119\renewcommand{\times}{\@mop{times}}
120\renewcommand{\div}{\@mop{div}}
121\renewcommand{\ast}{\@mop{ast}}
122\renewcommand{\star}{\@mop{star}}
123\newcommand{\circ}{\@mop{circ}}
124\newcommand{\bullet}{\@mop{Bull}}
125\renewcommand{\cdot}{\@mop{cdot}}
126\newcommand{\cap}{\@mop{cap}}
127\newcommand{\cup}{\@mop{Cup}}
128\newcommand{\uplus}{\@mop{UnionPlus}}
129\newcommand{\sqcap}{\@mop{SquareIntersection}}
130\newcommand{\sqcup}{\@mop{SquareUnion}}
131\newcommand{\vee}{\@mop{Or}}
132\newcommand{\wedge}{\@mop{And}}
133\renewcommand{\setminus}{\@mop{setminus}}
134\newcommand{\wr}{\@mop{wr}}
135\newcommand{\diamond}{\@mop{diamond}}
136\newcommand{\bigtriangleup}{\@mop{bigtriangleup}}
137\newcommand{\bigtriangledown}{\@mop{dtri}}   %bigtriangledown}}
138\newcommand{\triangleleft}{\@mop{triangleleft}}
139\newcommand{\triangleright}{\@mop{triangleright}}
140\newcommand{\lhd}{\@mop{LeftTriangle}}
141\newcommand{\rhd}{\@mop{RightTriangle}}
142\newcommand{\unlhd}{\@mop{LeftTriangleEqual}}
143\newcommand{\unrhd}{\@mop{RightTriangleEqual}}
144\newcommand{\oplus}{\@mop{CirclePlus}}
145\newcommand{\ominus}{\@mop{CircleMinus}}
146\newcommand{\otimes}{\@mop{CircleTimes}}
147\newcommand{\oslash}{\@mop{oslash}}
148\newcommand{\odot}{\@mop{CircleDot}}
149\renewcommand{\bigcirc}{\@mop{bigcirc}}
150\newcommand{\dagger}{\@mop{dagger}}
151\newcommand{\ddagger}{\@mop{ddagger}}
152\newcommand{\amalg}{\@mop{amalg}}
153
154% Relation Symbols
155\newcommand{\leq}{\@mop{leq}}
156\newcommand{\prec}{\@mop{prec}}
157\newcommand{\preceq}{\@mop{preceq}}
158\renewcommand{\ll}{\@mop{ll}}
159\newcommand{\subset}{\@mop{SubSet}}
160\newcommand{\subseteq}{\@mop{SubSetEqual}}
161\newcommand{\sqsubset}{\@mop{sqsubset}}
162\newcommand{\sqsubseteq}{\@mop{sqsubseteq}}
163\newcommand{\in}{\@mop{Element}}
164\renewcommand{\vdash}{\@mop{RightTee}}
165\newcommand{\geq}{\@mop{geq}}
166\newcommand{\succ}{\@mop{succ}}
167\renewcommand{\gg}{\@mop{gg}}
168\newcommand{\supset}{\@mop{SuperSet}}
169\newcommand{\supseteq}{\@mop{SuperSetEqual}}
170\newcommand{\sqsupset}{\@mop{sqsupset}}
171\newcommand{\sqsupseteq}{\@mop{sqsupseteq}}
172\newcommand{\ni}{\@mop{SuchThat}}
173\renewcommand{\dashv}{\@mop{LeftTee}}
174\newcommand{\equiv}{\@mop{equiv}}
175\renewcommand{\sim}{\@mop{Tilde}}
176\renewcommand{\simeq}{\@mop{simeq}}
177\newcommand{\asymp}{\@mop{CupCap}}
178\newcommand{\approx}{\@mop{ap}}
179\newcommand{\cong}{\@mop{TildeFullEqual}}
180\newcommand{\neq}{\@mop{NotEqual}}
181\newcommand{\doteq}{\@mop{doteq}}
182\newcommand{\notin}{\@mop{NotElement}}
183\renewcommand{\models}{\@mop{DoubleRightTee}}
184\newcommand{\perp}{\@mop{UpTee}}
185\renewcommand{\mid}{\@mop{VerticalBar}}
186\newcommand{\parallel}{\@mop{parallel}}
187\newcommand{\bowtie}{\@mop{bowtie}}
188%\newcommand{\Join}{\@mop{}}
189\newcommand{\smile}{\@mop{smile}}
190\newcommand{\frown}{\@mop{frown}}
191\newcommand{\propto}{\@mop{Proportional}}
192
193% Arrow Symbols
194\newcommand{\leftarrow}{\@mop{LeftArrow}}
195\newcommand{\Leftarrow}{\@mop{DoubleLeftArrow}}
196\newcommand{\rightarrow}{\@mop{RightArrow}}
197\newcommand{\Rightarrow}{\@mop{DoubleRightArrow}}
198\newcommand{\leftrightarrow}{\@mop{LeftRightArrow}}
199\newcommand{\Leftrightarrow}{\@mop{DoubleLeftRightArrow}}
200\renewcommand{\mapsto}{\@mop{mapsto}}
201\newcommand{\hookleftarrow}{\@mop{hookleftarrow}}
202\newcommand{\leftharpoonup}{\@mop{leftharpoonup}}
203\newcommand{\leftharpoondown}{\@mop{leftharpoondown}}
204\newcommand{\rightleftharpoons}{\@mop{rightleftharpoons}}
205\newcommand{\longleftarrow}{\@mop{longleftarrow}}
206\newcommand{\Longleftarrow}{\@mop{Longleftarrow}}
207\newcommand{\longrightarrow}{\@mop{longrightarrow}}
208\newcommand{\Longrightarrow}{\@mop{Longrightarrow}}
209\newcommand{\longleftrightarrow}{\@mop{longleftrightarrow}}
210\newcommand{\Longleftrightarrow}{\@mop{Longleftrightarrow}}
211\newcommand{\longmapsto}{\@mop{longmapsto}}
212\newcommand{\hookrightarrow}{\@mop{hookrightarrow}}
213\newcommand{\rightharpoonup}{\@mop{rightharpoonup}}
214\newcommand{\rightharpoondown}{\@mop{rightharpoondown}}
215\newcommand{\leadsto}{\@mop{zigrarr}}
216\newcommand{\uparrow}{\@mop{UpArrow}}
217\newcommand{\Uparrow}{\@mop{DoubleUpArrow}}
218\newcommand{\downarrow}{\@mop{DownArrow}}
219\newcommand{\Downarrow}{\@mop{DoubleDownArrow}}
220\newcommand{\updownarrow}{\@mop{UpDownArrow}}
221\newcommand{\Updownarrow}{\@mop{DoubleUpDownArrow}}
222\newcommand{\nearrow}{\@mop{UpperRightArrow}}
223\newcommand{\searrow}{\@mop{LowerRightArrow}}
224\newcommand{\swarrow}{\@mop{LowerLeftArrow}}
225\newcommand{\nwarrow}{\@mop{UpperLeftArrow}}
226
227% Miscellaneous symbols
228\newcommand{\aleph}{\@mop{aleph}}
229\newcommand{\hbar}{\@mop{hbar}}
230\newcommand{\imath}{\@mop{imath}}
231\newcommand{\jmath}{\@mop{jmath}}
232\newcommand{\ell}{\@mop{ell}}
233\newcommand{\wp}{\@mop{weierp}}
234\newcommand{\Re}{\@mop{Re}}
235\newcommand{\Im}{\@mop{Im}}
236\newcommand{\mho}{\@mop{mho}}
237\newcommand{\prime}{\@mop{prime}}
238\renewcommand{\emptyset}{\@mop{empty}}
239\newcommand{\nabla}{\@mop{nabla}}
240\newcommand{\surd}{\@mop{Sqrt}}
241\newcommand{\top}{\@mop{top}}
242\renewcommand{\bot}{\@mop{bot}}
243\renewcommand{\|}{\@mop{DoubleVerticalBar}}
244\newcommand{\angle}{\@mop{angle}}
245\newcommand{\forall}{\@mop{ForAll}}
246\newcommand{\exists}{\@mop{Exist}}
247\renewcommand{\neg}{\@mop{Not}}
248\newcommand{\flat}{\@mop{flat}}
249\newcommand{\natural}{\@mop{natural}}
250\newcommand{\sharp}{\@mop{sharp}}
251\renewcommand{\backslash}{\@mop{Backslash}}
252\newcommand{\partial}{\@mop{PartialD}}
253\newcommand{\infty}{\@mop{infin}}
254\newcommand{\Box}{\@mop{square}}
255\newcommand{\Diamond}{\@mop{loz}}
256\newcommand{\triangle}{\@mop{triangle}}
257\newcommand{\clubsuit}{\@mop{clubs}}
258\newcommand{\diamondsuit}{\@mop{Diamond}}
259\newcommand{\heartsuit}{\@mop{hearts}}
260\newcommand{\spadesuit}{\@mop{spades}}
261
262% Variable-sized Symbols
263\newcommand{\sum}{\@mopop{sum}}
264\newcommand{\prod}{\@mopop{PI}}
265\newcommand{\coprod}{\@mopop{Coproduct}}
266\newcommand{\int}{\@mopop{int}}
267\newcommand{\oint}{\@mopop{oint}}
268\newcommand{\bigcap}{\@mopop{bigcap}}
269\newcommand{\bigcup}{\@mopop{bigcup}}
270\newcommand{\bigsqcup}{\@mopop{bigsqcup}}
271\newcommand{\bigvee}{\@mopop{bigvee}}
272\newcommand{\bigwedge}{\@mopop{bigwedge}}
273\newcommand{\bigodot}{\@mopop{bigodot}}
274\newcommand{\bigotimes}{\@mopop{bigotimes}}
275\newcommand{\bigoplus}{\@mopop{bigoplus}}
276\newcommand{\biguplus}{\@mopop{biguplus}}
277
278
279
280%% Functions
281
282\renewcommand{\arccos}{\@mfun{arccos}}
283\renewcommand{\arcsin}{\@mfun{arcsin}}
284\renewcommand{\arctan}{\@mfun{arctan}}
285\renewcommand{\arg}{\@mfun{arg}}
286\renewcommand{\cos}{\@mfun{cos}}
287\renewcommand{\cosh}{\@mfun{cosh}}
288\renewcommand{\cot}{\@mfun{cot}}
289\renewcommand{\coth}{\@mfun{coth}}
290\renewcommand{\csc}{\@mfun{csc}}
291\renewcommand{\deg}{\@mfun{deg}}
292\renewcommand{\det}{\@mfun{det}}
293\renewcommand{\dim}{\@mfun{dim}}
294\renewcommand{\exp}{\@mfun{exp}}
295\renewcommand{\gcd}{\@mfun{gcd}}
296\renewcommand{\hom}{\@mfun{hom}}
297\renewcommand{\inf}{\@mfun{inf}}
298\renewcommand{\ker}{\@mfun{ker}}
299\renewcommand{\lg}{\@mfun{lg}}
300\renewcommand{\lim}{\@mfun{lim}}
301\renewcommand{\liminf}{\@mfun{liminf}}
302\renewcommand{\limsup}{\@mfun{limsup}}
303\renewcommand{\ln}{\@mfun{ln}}
304\renewcommand{\log}{\@mfun{log}}
305\renewcommand{\max}{\@mfun{max}}
306\renewcommand{\min}{\@mfun{min}}
307\renewcommand{\Pr}{\@mfun{Pr}}
308\renewcommand{\sec}{\@mfun{sec}}
309\renewcommand{\sin}{\@mfun{sin}}
310\renewcommand{\sinh}{\@mfun{sinh}}
311\renewcommand{\sup}{\@mfun{sup}}
312\renewcommand{\tan}{\@mfun{tan}}
313\renewcommand{\tanh}{\@mfun{tanh}}
314\renewcommand{\bmod}{\@mfun{mod}}
315