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
175
176
177
178
179
|
<!-- minilatex.dtd: XML version of a subset of LaTeX -->
<!-- Most elements have the following attributes -->
<!ENTITY % all "id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED">
<!-- Most non-empty elements have this language attribute -->
<!ENTITY % i18n "xml:lang NMTOKEN #IMPLIED">
<!ENTITY % basic "%all; %i18n;">
<!-- Declaration of parameter entities for structuring the DTD -->
<!ENTITY % fontchange.new "">
<!ENTITY % fontchange "emph|textbf|textsc|textsf|textsl|texttt %fontchange.new;">
<!ENTITY % misc.new "">
<!ENTITY % misc "url|quad|hspace|vspace|includegraphics|tag|ent %misc.new;">
<!ENTITY % xref.new "">
<!ENTITY % xref "cite|pageref|ref %xref.new;">
<!ENTITY % mathobj.new "">
<!ENTITY % mathobj "displaymath|inlinemath|equation|eqnarray" >
<!ENTITY % inline.new "">
<!ENTITY % inline "%fontchange;|quote|tabular|%misc;|%xref;|%mathobj; %inline.new;">
<!ENTITY % list.new "">
<!ENTITY % list "lalist|description|enumerate|itemize|bibliography %list.new;">
<!ENTITY % preformat.new "">
<!ENTITY % preformat "verbatim|verse %preformat.new;">
<!ENTITY % likepara.new "">
<!ENTITY % likepara "%list;|quotation|align|%preformat; %likepara.new;">
<!ENTITY % floats.new "">
<!ENTITY % floats "figure|table %floats.new;">
<!-- The top level document declarations -->
<!ELEMENT document (frontmatter?,bodymatter,backmatter?)>
<!ATTLIST document %i18n;
class CDATA "article">
<!ELEMENT frontmatter (title,author?,date?,abstract?)>
<!ELEMENT bodymatter ((par|%likepara;|%floats;|part|chapter|section)*,appendix*)>
<!ELEMENT backmatter (index|glossary)*>
<!-- fontchanges -->
<!ELEMENT emph (#PCDATA|%inline;)*>
<!ELEMENT textbf (#PCDATA|%inline;)*>
<!ELEMENT textsc (#PCDATA|%inline;)*>
<!ELEMENT textsf (#PCDATA|%inline;)*>
<!ELEMENT textsl (#PCDATA|%inline;)*>
<!ELEMENT texttt (#PCDATA|%inline;)*>
<!-- cross-references -->
<!ENTITY % idref "refid IDREF #REQUIRED">
<!ELEMENT cite EMPTY>
<!ATTLIST cite %idref;>
<!ELEMENT pageref EMPTY>
<!ATTLIST pageref %idref;>
<!ELEMENT ref EMPTY>
<!ATTLIST ref %idref;>
<!-- quoted material inline and displayed -->
<!ELEMENT quote (#PCDATA|%inline;|par)*>
<!ATTLIST quote %basic;>
<!ELEMENT quotation (#PCDATA|%inline;|par)*>
<!ATTLIST quotation %basic;>
<!-- lists -->
<!ELEMENT description ((term*,item*)+)>
<!ATTLIST description %basic;>
<!ELEMENT enumerate ((term*,item*)+)>
<!ATTLIST enumerate %basic;>
<!ELEMENT itemize ((term*,item*)+)>
<!ATTLIST itemize %basic;>
<!ELEMENT lalist ((term*,item*)+)>
<!ATTLIST lalist %basic;>
<!ELEMENT term (#PCDATA|%inline;)*>
<!ATTLIST term %basic;>
<!ELEMENT item (#PCDATA|%inline;|par|%likepara;)*>
<!ATTLIST item %basic;>
<!ELEMENT bibliography (bibitem)*>
<!ATTLIST bibliography %basic;>
<!ELEMENT bibitem (#PCDATA|%inline;|par|%likepara;)*>
<!ATTLIST bibitem %basic;>
<!-- low-level bits and pieces -->
<!ELEMENT url EMPTY>
<!ATTLIST url name CDATA #REQUIRED>
<!ELEMENT quad EMPTY>
<!ELEMENT hspace EMPTY>
<!ATTLIST hspace dim CDATA #REQUIRED>
<!ELEMENT vspace EMPTY>
<!ATTLIST vspace dim CDATA #REQUIRED>
<!ELEMENT tag (#PCDATA)>
<!ELEMENT ent EMPTY>
<!ATTLIST ent value CDATA #REQUIRED
name CDATA #REQUIRED>
<!-- everything that can go into a paragraph -->
<!ELEMENT par (#PCDATA|%inline;|%likepara;)*>
<!ATTLIST par %basic;>
<!-- "floats" and their contents -->
<!ELEMENT figure (#PCDATA|par|%inline;|%likepara;|caption)*>
<!ATTLIST figure %basic;>
<!ELEMENT table (#PCDATA|par|%inline;|%likepara;|caption)*>
<!ATTLIST table %basic;>
<!ELEMENT includegraphics EMPTY>
<!ATTLIST includegraphics %basic;
file CDATA #REQUIRED
width CDATA #IMPLIED
height CDATA #IMPLIED
bb CDATA #IMPLIED
scale CDATA ".5"
angle CDATA #IMPLIED>
<!ELEMENT caption (#PCDATA|par|%inline;)*>
<!ATTLIST caption %basic;>
<!-- tabular material -->
<!ELEMENT tabular (hline|row)*>
<!ATTLIST tabular %basic;
preamble CDATA #REQUIRED
width CDATA #IMPLIED
border CDATA #IMPLIED>
<!ELEMENT row (cell)*>
<!ATTLIST row %basic;>
<!ELEMENT hline EMPTY>
<!ELEMENT cell (#PCDATA|%inline;)*>
<!ATTLIST cell %basic;
rowspan CDATA "1"
colspan CDATA "1"
align (left|center|right) "center">
<!-- verbatim material -->
<!ELEMENT verbatim (#PCDATA)>
<!ATTLIST verbatim %basic;
xml:space (default|preserve) 'preserve'>
<!ELEMENT verse (#PCDATA|%inline;)*>
<!ATTLIST verse %basic;
xml:space (default|preserve) 'preserve'>
<!-- things that go in the frontmatter -->
<!ELEMENT newline EMPTY>
<!ELEMENT title (#PCDATA|%inline;|thanks|newline)*>
<!ATTLIST title %basic;>
<!ELEMENT author (#PCDATA|%inline;|name|thanks|inst)*>
<!ELEMENT name (#PCDATA|%inline;)*>
<!ATTLIST name %basic;>
<!ELEMENT thanks (#PCDATA|%inline;|newline)*>
<!ATTLIST thanks %basic;>
<!ELEMENT inst (#PCDATA|%inline;|newline)*>
<!ATTLIST inst %basic;>
<!ELEMENT date (#PCDATA)>
<!ATTLIST date %basic;>
<!ELEMENT abstract (par+)>
<!ATTLIST abstract %basic;>
<!-- structuring -->
<!ENTITY % sect "stitle, (par|%likepara;|%floats;)* ">
<!ELEMENT stitle (#PCDATA|%inline;)*>
<!ATTLIST stitle %basic;>
<!ELEMENT part (%sect;, (chapter|section|subsection|subsubsection)*)>
<!ATTLIST part %basic;>
<!ELEMENT chapter (%sect;, section*)>
<!ATTLIST chapter %basic;>
<!ELEMENT section (%sect;, subsection*)>
<!ATTLIST section %basic;>
<!ELEMENT subsection (%sect;, subsubsection*)>
<!ATTLIST subsection %basic;>
<!ELEMENT subsubsection (%sect;, paragraph*)>
<!ATTLIST subsubsection %basic;>
<!ELEMENT paragraph (%sect;, subparagraph*)>
<!ATTLIST paragraph %basic;>
<!ELEMENT subparagraph (%sect;)>
<!ATTLIST subparagraph %basic;>
<!ELEMENT appendix EMPTY>
<!-- backmatter: index and glossary -->
<!ELEMENT index (par|%likepara;)*>
<!ATTLIST index %basic;>
<!ELEMENT glossary (par|%likepara;)*>
<!ATTLIST glossagry %basic;>
<!-- LaTeX math constructs -->
<!ENTITY % LaTeXmath "INCLUDE">
<!ENTITY % latexmath.dtd SYSTEM "latexmath.dtd">
<![ %LaTeXmath; [
%latexmath.dtd;
]]>
<!ENTITY % MathML "IGNORE">
<!ENTITY % latexmml.dtd SYSTEM "latexmml.dtd">
<![ %MathML; [
%latexmml.dtd;
]]>
<!-- Basic XML entities -->
<!ENTITY lt "<"> <!-- "<" -->
<!ENTITY gt ">"> <!-- ">" -->
<!ENTITY amp "&"> <!-- "&" -->
<!ENTITY apos "'"> <!-- "'" -->
<!ENTITY quot """> <!-- '"' -->
|