Initial revision
[xmldoc.git] / doc.dtd
1 <!ENTITY % inline "#PCDATA | emph | strong | code | remark | sub | sup | label | ref | page | reference | LaTeX">
2
3 <!ENTITY % block "para | quote | itemize | enumerate | verbatim | footnote | picture | include | table">
4
5 <!ELEMENT doc (book | article | report)>
6 <!ATTLIST doc
7     style  CDATA  #IMPLIED
8 >
9
10 <!ELEMENT book (titlepage?, toc?, (chapter|include)*)>
11 <!ELEMENT article (titlepage?, toc?, (section|include)*)>
12 <!ELEMENT report (titlepage?, toc?, (chapter|include)*)>
13
14 <!ELEMENT titlepage (title, subtitle*, author+, date?, docinfo?, abstract?)>
15
16 <!ELEMENT title (%inline;)*>
17 <!ELEMENT subtitle (%inline;)*>
18 <!ELEMENT author (%inline;)*>
19 <!ELEMENT date (%inline;)*>
20 <!ELEMENT docinfo (infoitem)+>
21 <!ELEMENT infoitem (%inline;)*>
22 <!ATTLIST infoitem
23        label    CDATA    #IMPLIED
24 >
25
26 <!ELEMENT abstract (%inline;)*>
27
28 <!ELEMENT toc EMPTY>
29
30 <!--  Document structure: chapters and sections -->
31
32 <!ELEMENT chapter (heading, (%block;)*, section*)>
33 <!ELEMENT section (heading, (%block;)*, subsection*)>
34 <!ELEMENT subsection (heading, (%block;)*, subsubsection*)>
35 <!ELEMENT subsubsection (heading, (%block;)*, paragraph*)>
36 <!ELEMENT paragraph (heading, (%block;)*, subparagraph*)>
37 <!ELEMENT subparagraph (heading, (%block;)*)>
38 <!ELEMENT heading (%inline;)*>
39
40 <!--  Block level content  -->
41
42 <!ELEMENT para (%inline;|%block;)*>
43 <!ELEMENT quote (%inline;|%block;)*>
44 <!ELEMENT itemize (item)*>
45 <!ELEMENT enumerate (item)*>
46 <!ELEMENT item (%inline;|%block;)*>
47 <!ELEMENT verbatim (#PCDATA)>
48 <!ELEMENT footnote (%inline;)*>
49
50 <!--  Inline content: type styles -->
51
52 <!ELEMENT emph (%inline;)*>
53 <!ELEMENT strong (%inline;)*>
54 <!ELEMENT code (%inline;)*>
55 <!ELEMENT remark (%inline;)*>
56 <!ELEMENT sub (%inline;)*>
57 <!ELEMENT sup (%inline;)*>
58
59
60 <!--   Internal and external references -->
61
62 <!ELEMENT label EMPTY>
63 <!ATTLIST label
64    name   ID     #REQUIRED
65 >
66
67 <!ELEMENT ref (%inline;)*>
68 <!ATTLIST ref
69    to     IDREF  #REQUIRED
70 >
71
72 <!ELEMENT page (%inline;)*>
73 <!ATTLIST page
74    to     IDREF  #REQUIRED
75 >
76
77 <!ELEMENT reference (%inline;)*>
78 <!ATTLIST reference
79       href    CDATA   #REQUIRED
80       xml:link  CDATA   #IMPLIED
81 >
82
83 <!--  Tables  -->
84
85 <!ELEMENT table (thead?,row)+>
86 <!ELEMENT row (col)+>
87 <!ELEMENT thead (col)+>
88 <!ELEMENT col (%inline;|%block;)*>
89
90 <!ATTLIST table
91    cpos   CDATA  #REQUIRED
92 >
93
94 <!ELEMENT picture EMPTY>
95 <!ATTLIST picture
96    src    CDATA    #IMPLIED
97    eps    CDATA    #IMPLIED
98    scale  CDATA    "1.0"
99 >
100
101 <!ELEMENT include EMPTY>
102 <!ATTLIST include
103       href    CDATA   #REQUIRED
104 >
105
106 <!ELEMENT LaTeX EMPTY>
107 <!ATTLIST LaTeX
108       command   CDATA   #REQUIRED
109 >
110
111
112 <!--
113
114    The entities define most of the well known unicode characters
115
116 -->
117
118 <!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
119                                   U+00A0 ISOnum -->
120 <!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
121 <!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
122 <!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
123 <!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
124 <!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
125 <!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
126                                   U+00A6 ISOnum -->
127 <!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
128 <!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
129                                   U+00A8 ISOdia -->
130 <!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
131 <!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
132 <!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
133                                   = left pointing guillemet, U+00AB ISOnum -->
134 <!ENTITY not    "&#172;"> <!-- not sign, U+00AC ISOnum -->
135 <!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
136                                   U+00AD ISOnum -->
137 <!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
138                                   U+00AE ISOnum -->
139 <!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
140                                   = APL overbar, U+00AF ISOdia -->
141 <!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
142 <!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
143                                   U+00B1 ISOnum -->
144 <!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
145                                   = squared, U+00B2 ISOnum -->
146 <!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
147                                   = cubed, U+00B3 ISOnum -->
148 <!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
149                                   U+00B4 ISOdia -->
150 <!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
151 <!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
152                                   U+00B6 ISOnum -->
153 <!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
154                                   = Greek middle dot, U+00B7 ISOnum -->
155 <!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
156 <!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
157                                   U+00B9 ISOnum -->
158 <!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
159                                   U+00BA ISOnum -->
160 <!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
161                                   = right pointing guillemet, U+00BB ISOnum -->
162 <!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
163                                   = fraction one quarter, U+00BC ISOnum -->
164 <!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
165                                   = fraction one half, U+00BD ISOnum -->
166 <!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
167                                   = fraction three quarters, U+00BE ISOnum -->
168 <!ENTITY iquest "&#191;"> <!-- inverted question mark
169                                   = turned question mark, U+00BF ISOnum -->
170 <!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
171                                   = latin capital letter A grave,
172                                   U+00C0 ISOlat1 -->
173 <!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
174                                   U+00C1 ISOlat1 -->
175 <!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
176                                   U+00C2 ISOlat1 -->
177 <!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
178                                   U+00C3 ISOlat1 -->
179 <!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
180                                   U+00C4 ISOlat1 -->
181 <!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
182                                   = latin capital letter A ring,
183                                   U+00C5 ISOlat1 -->
184 <!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
185                                   = latin capital ligature AE,
186                                   U+00C6 ISOlat1 -->
187 <!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
188                                   U+00C7 ISOlat1 -->
189 <!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
190                                   U+00C8 ISOlat1 -->
191 <!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
192                                   U+00C9 ISOlat1 -->
193 <!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
194                                   U+00CA ISOlat1 -->
195 <!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
196                                   U+00CB ISOlat1 -->
197 <!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
198                                   U+00CC ISOlat1 -->
199 <!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
200                                   U+00CD ISOlat1 -->
201 <!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
202                                   U+00CE ISOlat1 -->
203 <!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
204                                   U+00CF ISOlat1 -->
205 <!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
206 <!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
207                                   U+00D1 ISOlat1 -->
208 <!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
209                                   U+00D2 ISOlat1 -->
210 <!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
211                                   U+00D3 ISOlat1 -->
212 <!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
213                                   U+00D4 ISOlat1 -->
214 <!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
215                                   U+00D5 ISOlat1 -->
216 <!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
217                                   U+00D6 ISOlat1 -->
218 <!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
219 <!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
220                                   = latin capital letter O slash,
221                                   U+00D8 ISOlat1 -->
222 <!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
223                                   U+00D9 ISOlat1 -->
224 <!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
225                                   U+00DA ISOlat1 -->
226 <!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
227                                   U+00DB ISOlat1 -->
228 <!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
229                                   U+00DC ISOlat1 -->
230 <!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
231                                   U+00DD ISOlat1 -->
232 <!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
233                                   U+00DE ISOlat1 -->
234 <!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
235                                   U+00DF ISOlat1 -->
236 <!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
237                                   = latin small letter a grave,
238                                   U+00E0 ISOlat1 -->
239 <!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
240                                   U+00E1 ISOlat1 -->
241 <!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
242                                   U+00E2 ISOlat1 -->
243 <!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
244                                   U+00E3 ISOlat1 -->
245 <!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
246                                   U+00E4 ISOlat1 -->
247 <!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
248                                   = latin small letter a ring,
249                                   U+00E5 ISOlat1 -->
250 <!ENTITY aelig  "&#230;"> <!-- latin small letter ae
251                                   = latin small ligature ae, U+00E6 ISOlat1 -->
252 <!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
253                                   U+00E7 ISOlat1 -->
254 <!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
255                                   U+00E8 ISOlat1 -->
256 <!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
257                                   U+00E9 ISOlat1 -->
258 <!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
259                                   U+00EA ISOlat1 -->
260 <!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
261                                   U+00EB ISOlat1 -->
262 <!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
263                                   U+00EC ISOlat1 -->
264 <!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
265                                   U+00ED ISOlat1 -->
266 <!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
267                                   U+00EE ISOlat1 -->
268 <!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
269                                   U+00EF ISOlat1 -->
270 <!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
271 <!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
272                                   U+00F1 ISOlat1 -->
273 <!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
274                                   U+00F2 ISOlat1 -->
275 <!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
276                                   U+00F3 ISOlat1 -->
277 <!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
278                                   U+00F4 ISOlat1 -->
279 <!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
280                                   U+00F5 ISOlat1 -->
281 <!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
282                                   U+00F6 ISOlat1 -->
283 <!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
284 <!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
285                                   = latin small letter o slash,
286                                   U+00F8 ISOlat1 -->
287 <!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
288                                   U+00F9 ISOlat1 -->
289 <!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
290                                   U+00FA ISOlat1 -->
291 <!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
292                                   U+00FB ISOlat1 -->
293 <!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
294                                   U+00FC ISOlat1 -->
295 <!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
296                                   U+00FD ISOlat1 -->
297 <!ENTITY thorn  "&#254;"> <!-- latin small letter thorn with,
298                                   U+00FE ISOlat1 -->
299 <!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
300                                   U+00FF ISOlat1 -->
301
302 <!-- Latin Extended-A -->
303 <!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
304                                     U+0152 ISOlat2 -->
305 <!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
306 <!-- ligature is a misnomer, this is a separate character in some languages -->
307 <!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
308                                     U+0160 ISOlat2 -->
309 <!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
310                                     U+0161 ISOlat2 -->
311 <!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
312                                     U+0178 ISOlat2 -->
313
314 <!-- Greek -->
315 <!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
316 <!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
317 <!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
318                                     U+0393 ISOgrk3 -->
319 <!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
320                                     U+0394 ISOgrk3 -->
321 <!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
322 <!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
323 <!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
324 <!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
325                                     U+0398 ISOgrk3 -->
326 <!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
327 <!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
328 <!ENTITY Lambda   "&#923;"> <!-- greek capital letter lambda,
329                                     U+039B ISOgrk3 -->
330 <!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
331 <!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
332 <!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
333 <!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
334 <!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
335 <!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
336 <!-- there is no Sigmaf, and no U+03A2 character either -->
337 <!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
338                                     U+03A3 ISOgrk3 -->
339 <!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
340 <!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
341                                     U+03A5 ISOgrk3 -->
342 <!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
343                                     U+03A6 ISOgrk3 -->
344 <!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
345 <!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
346                                     U+03A8 ISOgrk3 -->
347 <!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
348                                     U+03A9 ISOgrk3 -->
349
350 <!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
351                                     U+03B1 ISOgrk3 -->
352 <!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
353 <!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
354                                     U+03B3 ISOgrk3 -->
355 <!ENTITY delta    "&#948;"> <!-- greek small letter delta,
356                                     U+03B4 ISOgrk3 -->
357 <!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
358                                     U+03B5 ISOgrk3 -->
359 <!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
360 <!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
361 <!ENTITY theta    "&#952;"> <!-- greek small letter theta,
362                                     U+03B8 ISOgrk3 -->
363 <!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
364 <!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
365                                     U+03BA ISOgrk3 -->
366 <!ENTITY lambda   "&#955;"> <!-- greek small letter lambda,
367                                     U+03BB ISOgrk3 -->
368 <!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
369 <!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
370 <!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
371 <!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
372 <!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
373 <!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
374 <!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
375                                     U+03C2 ISOgrk3 -->
376 <!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
377                                     U+03C3 ISOgrk3 -->
378 <!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
379 <!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
380                                     U+03C5 ISOgrk3 -->
381 <!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
382 <!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
383 <!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
384 <!ENTITY omega    "&#969;"> <!-- greek small letter omega,
385                                     U+03C9 ISOgrk3 -->
386
387 <!--  special symbols -->
388
389 <!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
390 <!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
391
392 <!-- General Punctuation -->
393 <!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
394                                      U+2022 ISOpub  -->
395 <!-- bullet is NOT the same as bullet operator, U+2219 -->
396 <!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
397                                      U+2026 ISOpub  -->
398 <!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
399 <!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
400                                      U+2033 ISOtech -->
401 <!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
402                                      U+203E NEW -->
403
404 <!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->
405
406 <!-- Letterlike Symbols -->
407 <!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
408                                      = Weierstrass p, U+2118 ISOamso -->
409 <!ENTITY image    "&#8465;"> <!-- blackletter capital I = imaginary part,
410                                      U+2111 ISOamso -->
411 <!ENTITY real     "&#8476;"> <!-- blackletter capital R = real part symbol,
412                                      U+211C ISOamso -->
413 <!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
414 <!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
415                                      U+2135 NEW -->
416 <!-- alef symbol is NOT the same as hebrew letter alef,
417      U+05D0 although the same glyph could be used to depict both characters -->
418
419 <!-- Arrows -->
420 <!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
421 <!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
422 <!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
423 <!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
424 <!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
425 <!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
426                                      = carriage return, U+21B5 NEW -->
427 <!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
428 <!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
429     but also does not have any other character for that function. So ? lArr can
430     be used for 'is implied by' as ISOtech suggests -->
431 <!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
432 <!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
433                                      U+21D2 ISOtech -->
434 <!-- Unicode does not say this is the 'implies' character but does not have 
435      another character with this function so ?
436      rArr can be used for 'implies' as ISOtech suggests -->
437 <!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
438 <!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
439                                      U+21D4 ISOamsa -->
440
441 <!-- Mathematical Operators -->
442 <!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
443 <!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
444 <!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
445 <!ENTITY empty    "&#8709;"> <!-- empty set = null set = diameter,
446                                      U+2205 ISOamso -->
447 <!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
448                                      U+2207 ISOtech -->
449 <!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
450 <!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
451 <!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
452 <!-- should there be a more memorable name than 'ni'? -->
453 <!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
454                                      U+220F ISOamsb -->
455 <!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
456      the same glyph might be used for both -->
457 <!ENTITY sum      "&#8721;"> <!-- n-ary sumation, U+2211 ISOamsb -->
458 <!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
459      though the same glyph might be used for both -->
460 <!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
461 <!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
462 <!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
463                                      U+221A ISOtech -->
464 <!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
465 <!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
466 <!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
467 <!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
468 <!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
469 <!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
470 <!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
471 <!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
472 <!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
473 <!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
474                                      U+223C ISOtech -->
475 <!-- tilde operator is NOT the same character as the tilde, U+007E,
476      although the same glyph might be used to represent both  -->
477 <!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
478 <!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
479                                      U+2248 ISOamsr -->
480 <!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
481 <!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
482 <!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
483 <!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
484                                      U+2265 ISOtech -->
485 <!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
486 <!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
487 <!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol 
488      font encoding and is not included. Should it be, for symmetry?
489      It is in ISOamsn  --> 
490 <!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
491 <!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
492 <!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
493                                      U+2287 ISOtech -->
494 <!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
495                                      U+2295 ISOamsb -->
496 <!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
497                                      U+2297 ISOamsb -->
498 <!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
499                                      U+22A5 ISOtech -->
500 <!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
501 <!-- dot operator is NOT the same character as U+00B7 middle dot -->
502
503 <!-- Miscellaneous Technical -->
504 <!ENTITY lceil    "&#8968;"> <!-- left ceiling = apl upstile,
505                                      U+2308 ISOamsc  -->
506 <!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
507 <!ENTITY lfloor   "&#8970;"> <!-- left floor = apl downstile,
508                                      U+230A ISOamsc  -->
509 <!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
510 <!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
511                                      U+2329 ISOtech -->
512 <!-- lang is NOT the same character as U+003C 'less than' 
513      or U+2039 'single left-pointing angle quotation mark' -->
514 <!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
515                                      U+232A ISOtech -->
516 <!-- rang is NOT the same character as U+003E 'greater than' 
517      or U+203A 'single right-pointing angle quotation mark' -->
518
519 <!-- Geometric Shapes -->
520 <!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
521
522 <!-- Miscellaneous Symbols -->
523 <!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
524 <!-- black here seems to mean filled as opposed to hollow -->
525 <!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
526                                      U+2663 ISOpub -->
527 <!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
528                                      U+2665 ISOpub -->
529 <!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->