summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/stex/example/paper/paper.omdoc
blob: 02d7d7466498112a7a64538e17d8f0035538159f (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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
<?xml version="1.0"?>
<!--This OMDoc document is generated from an sTeX-encoded one via LaTeXML, you may want to reconsider editing it.-->
<omdoc xmlns="http://omdoc.org/ns" xmlns:stex="http://kwarc.info/ns/sTeX" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:om="http://www.openmath.org/OpenMath" xmlns:omdoc="http://omdoc.org/ns" xmlns:m="http://www.w3.org/1998/Math/MathML" stex:srcref="paper.tex#textrange(from=15;1,to=15;17)" xml:id="paper.omdoc">
  <metadata xml:id="paper.omdoc.p1" about="#paper.omdoc.p1" stex:srcref="paper.tex#textrange(from=18;0,to=25;16)">
    <dc:creator xml:id="paper.omdoc.p1.p1" about="#paper.omdoc.p1.p1" stex:srcref="paper.tex#textrange(from=19;0,to=19;20)">MichaelKohlhase</dc:creator>
    <dc:rights xml:id="paper.omdoc.p1.p2" about="#paper.omdoc.p1.p2" stex:srcref="paper.tex#textrange(from=20;0,to=20;49)">Copyright (c) 2009 Michael Kohlhase</dc:rights>
    <dc:title xml:id="paper.omdoc.p1.p3" about="#paper.omdoc.p1.p3" stex:srcref="paper.tex#textrange(from=21;0,to=21;53)">An example of semantic Markup in <phrase xml:id="paper.omdoc.p1.p3.p1" about="#paper.omdoc.p1.p3.p1" stex:srcref="paper.tex#textrange(from=21;0,to=21;53)">sTeX</phrase></dc:title>
    <dc:description xml:id="paper.omdoc.p1.p4" about="#paper.omdoc.p1.p4" stex:srcref="paper.tex#textrange(from=24;0,to=24;40)">In this note we give an example of semantic markup in <phrase xml:id="paper.omdoc.p1.p4.p1" about="#paper.omdoc.p1.p4.p1" stex:srcref="paper.tex#textrange(from=24;0,to=24;40)">sTeX</phrase>:
Continuous and differentiable functions are introduced using real numbers, sets and
functions as an assumed background.</dc:description>
  </metadata>
  <omgroup layout="sectioning" xml:id="intro" about="#intro" stex:srcref="paper.tex#textrange(from=27;0,to=110;13)">
    <metadata xml:id="intro.p1" about="#intro.p1" stex:srcref="paper.tex#textrange(from=27;0,to=27;39)">
      <dc:title stex:srcref="paper.tex#textrange(from=27;0,to=110;13)" xml:id="intro.p1.p1" about="#intro.p1.p1">Introduction</dc:title>
    </metadata>
    <omtext xml:id="intro.p2" about="#intro.p2" stex:srcref="paper.tex#textrange(from=27;0,to=63;13)">
      <CMP xml:id="intro.p2.p1" about="#intro.p2.p1" stex:srcref="paper.tex#textrange(from=27;0,to=63;13)">We will show how to semantically mark up mathematics in the <phrase xml:id="intro.p2.p1.p1" about="#intro.p2.p1.p1" stex:srcref="paper.tex#textrange(from=27;1,to=28;68)">sTeX</phrase>
format&#xA0;<citation xmlns:mcd="http://www.w3.org/ns/mathml-cd" bibrefs="kohlhase:ulsmf08"/> and how to convert it into
OMDoc&#xA0;<citation xmlns:mcd="http://www.w3.org/ns/mathml-cd" bibrefs="kohlhase:omdoc1.3"/>.
We have some mathematical material in Section <ref type="cite" xref="sec.math" xml:id="intro.p2.p1.p2" about="#intro.p2.p1.p2" stex:srcref="paper.tex#textrange(from=31;29,to=32;56)"/> which will serve as example
content. In the rest of this section we will explain the setup of the example and
present an approach to automation of the OMDoc conversion via Unix Makefiles.
</CMP>
    </omtext>
    <omgroup layout="sectioning" xml:id="intro.p3" about="#intro.p3" stex:srcref="paper.tex#textrange(from=35;0,to=63;13)">
      <metadata xml:id="intro.p3.p1" about="#intro.p3.p1" stex:srcref="paper.tex#textrange(from=35;0,to=62;13)">
        <dc:title stex:srcref="paper.tex#textrange(from=35;0,to=63;13)" xml:id="intro.p3.p1.p1" about="#intro.p3.p1.p1">The Setup</dc:title>
      </metadata>
      <theory xmlns:mcd="http://www.w3.org/ns/mathml-cd" xml:id="setup" about="#setup" stex:srcref="paper.tex#textrange(from=36;0,to=62;13)">
        <imports from="../../../slides/extcds/omstd/arith1.omdoc#arith1"/>
        <imports from="../../../slides/extcds/omstd/relation1.omdoc#relation1"/>
        <symbol name="target" xml:id="target.def.sym" about="#target.def.sym" stex:srcref="paper.tex#textrange(from=37;0,to=44;20)"/>
        <symbol name="module" xml:id="module.def.sym" about="#module.def.sym" stex:srcref="paper.tex#textrange(from=37;0,to=44;20)"/>
        <definition for="target module" xml:id="setup.p3" about="#setup.p3" stex:srcref="paper.tex#textrange(from=37;0,to=44;20)">
          <CMP xml:id="setup.p3.p1" about="#setup.p3.p1" stex:srcref="paper.tex#textrange(from=37;0,to=44;20)">
            <p xml:id="setup.p3.p1.p1" about="#setup.p3.p1.p1" stex:srcref="paper.tex#textrange(from=37;0,to=44;20)">
The source of this note is contained in the file <phrase class="code" xml:id="setup.p3.p1.p1.p1" about="#setup.p3.p1.p1.p1" stex:srcref="paper.tex#textrange(from=37;13,to=38;74)">paper.tex</phrase>. We call it
the <idx xml:id="setup.p3.p1.p1.p2" about="#setup.p3.p1.p1.p2" stex:srcref="paper.tex#textrange(from=38;59,to=39;25)"><idt><term cd="setup" name="target" role="definiendum" xml:id="setup.p3.p1.p1.p2.p1" about="#setup.p3.p1.p1.p2.p1" stex:srcref="paper.tex#textrange(from=38;59,to=39;25)">target</term></idt><ide index="default"><idp>target</idp></ide></idx>, since formatting it with LaTeX will generate the main
document. The content in Section <ref type="cite" xref="sec.contfuncs" xml:id="setup.p3.p1.p1.p3" about="#setup.p3.p1.p1.p3" stex:srcref="paper.tex#textrange(from=39;33,to=40;52)"/> and Section <ref type="cite" xref="sec.differentiable" xml:id="setup.p3.p1.p1.p4" about="#setup.p3.p1.p1.p4" stex:srcref="paper.tex#textrange(from=39;1,to=40;84)"/>
comes from included files <phrase class="code" xml:id="setup.p3.p1.p1.p5" about="#setup.p3.p1.p1.p5" stex:srcref="paper.tex#textrange(from=40;5,to=41;56)">continuous.tex</phrase> and
<phrase class="code" xml:id="setup.p3.p1.p1.p6" about="#setup.p3.p1.p1.p6" stex:srcref="paper.tex#textrange(from=41;54,to=42;34)">differentiable.tex</phrase>, we will call them <idx xml:id="setup.p3.p1.p1.p7" about="#setup.p3.p1.p1.p7" stex:srcref="paper.tex#textrange(from=41;18,to=42;70)"><idt><term cd="setup" name="module" role="definiendum" xml:id="setup.p3.p1.p1.p7.p1" about="#setup.p3.p1.p1.p7.p1" stex:srcref="paper.tex#textrange(from=41;18,to=42;70)">module</term></idt><ide index="default"><idp>module</idp></ide></idx>s, since they may
be used (i.e. included) by other target documents as well.
</p>
          </CMP>
        </definition>
        <omtext xml:id="setup.p4" about="#setup.p4" stex:srcref="paper.tex#textrange(from=36;0,to=54;19)">
          <CMP xml:id="setup.p4.p1" about="#setup.p4.p1" stex:srcref="paper.tex#textrange(from=36;0,to=54;19)">As the modules are built for inclusion into other documents, they are not
self-contained:
</CMP>
        </omtext>
        <omgroup layout="enumerate" xml:id="I1" about="#I1" stex:srcref="paper.tex#textrange(from=47;0,to=54;19)">
          <omtext xml:id="I1.p1" about="#I1.p1" stex:srcref="paper.tex#textrange(from=47;42,to=48;11)">
            <CMP xml:id="I1.p1.p1" about="#I1.p1.p1" stex:srcref="paper.tex#textrange(from=47;42,to=48;11)">
              <p xml:id="I1.p1.p1.p1" about="#I1.p1.p1.p1" stex:srcref="paper.tex#textrange(from=47;42,to=48;11)">they do not contain a LaTeX preamble and
<phrase><omlet action="display" data="#id36156444" show="embed" style="" font="typewriter"/>/<omlet action="display" data="#id36151430" show="embed" style="" font="typewriter"/>, and
</phrase></p>
            </CMP>
          </omtext>
          <omtext xml:id="I1.p2" about="#I1.p2" stex:srcref="paper.tex#textrange(from=49;76,to=50;11)">
            <CMP xml:id="I1.p2.p1" about="#I1.p2.p1" stex:srcref="paper.tex#textrange(from=49;76,to=50;11)">
              <p xml:id="I1.p2.p1.p1" about="#I1.p2.p1.p1" stex:srcref="paper.tex#textrange(from=49;76,to=50;11)">they may depend on other modules, whose semantic macros they need to include,
</p>
            </CMP>
          </omtext>
          <omtext xml:id="I1.p3" about="#I1.p3" stex:srcref="paper.tex#textrange(from=50;75,to=51;11)">
            <CMP xml:id="I1.p3.p1" about="#I1.p3.p1" stex:srcref="paper.tex#textrange(from=50;75,to=51;11)">
              <p xml:id="I1.p3.p1.p1" about="#I1.p3.p1.p1" stex:srcref="paper.tex#textrange(from=50;75,to=51;11)">to facilitate this a module file <phrase class="code" xml:id="I1.p3.p1.p1.p1" about="#I1.p3.p1.p1.p1" stex:srcref="paper.tex#textrange(from=50;25,to=51;61)">modf.tex</phrase> comes with a &#x201C;semantic
macro short form&#x201D; <phrase class="code" xml:id="I1.p3.p1.p1.p2" about="#I1.p3.p1.p1.p2" stex:srcref="paper.tex#textrange(from=51;41,to=52;43)">modf.sms</phrase> that can be included without generating
output in the PDF.
</p>
            </CMP>
          </omtext>
        </omgroup>
        <symbol name="background-module" xml:id="background-module.def.sym"/>
        <omtext xml:id="setup.p6" about="#setup.p6" stex:srcref="paper.tex#textrange(from=36;0,to=62;13)">
          <CMP xml:id="setup.p6.p1" about="#setup.p6.p1" stex:srcref="paper.tex#textrange(from=36;0,to=62;13)">this will have consequences for the automation. Concretely, the module on
differentiable functions in Section <ref type="cite" xref="sec.differentiable" xml:id="setup.p6.p1.p1" about="#setup.p6.p1.p1" stex:srcref="paper.tex#textrange(from=55;32,to=56;58)"/> depends on that for continuous
functions in Section <ref type="cite" xref="sec.contfuncs" xml:id="setup.p6.p1.p2" about="#setup.p6.p1.p2" stex:srcref="paper.tex#textrange(from=56;51,to=57;38)"/>. Both of them depend on modules for real numbers,
sets and functions that we do not want to cover in this note. <phrase for="background-module" type="inlinedef" xml:id="setup.p6.p1.p3" about="#setup.p6.p1.p3" stex:srcref="paper.tex#textrange(from=59;17,to=60;69)">We assume that
they have already been marked up with the same methods as we describe here and are
accessible to us and call them <idx xml:id="setup.p6.p1.p3.p1" about="#setup.p6.p1.p3.p1" stex:srcref="paper.tex#textrange(from=59;17,to=60;69)"><idt><term cd="setup" name="background-module" role="definiendum" xml:id="setup.p6.p1.p3.p1.p1" about="#setup.p6.p1.p3.p1.p1" stex:srcref="paper.tex#textrange(from=59;17,to=60;69)">background module</term></idt><ide index="default"><idp>background</idp><idp>module</idp></ide></idx>s</phrase>. In our setup we
keep them in the subdirectory <phrase class="code" xml:id="setup.p6.p1.p4" about="#setup.p6.p1.p4" stex:srcref="paper.tex#textrange(from=60;2,to=61;54)">background</phrase>.
</CMP>
        </omtext>
      </theory>
    </omgroup>
    <omgroup layout="sectioning" xml:id="intro.p4" about="#intro.p4" stex:srcref="paper.tex#textrange(from=65;0,to=73;13)">
      <metadata xml:id="intro.p4.p1" about="#intro.p4.p1" stex:srcref="paper.tex#textrange(from=65;0,to=65;51)">
        <dc:title stex:srcref="paper.tex#textrange(from=65;0,to=73;13)" xml:id="intro.p4.p1.p1" about="#intro.p4.p1.p1">Formatting and OMDoc conversion</dc:title>
      </metadata>
      <omtext xml:id="intro.p4.p2" about="#intro.p4.p2" stex:srcref="paper.tex#textrange(from=65;0,to=73;13)">
        <CMP xml:id="intro.p4.p2.p1" about="#intro.p4.p2.p1" stex:srcref="paper.tex#textrange(from=65;0,to=73;13)">To format an <phrase xml:id="intro.p4.p2.p1.p1" about="#intro.p4.p2.p1.p1" stex:srcref="paper.tex#textrange(from=65;68,to=66;21)">sTeX</phrase> document &#x2014; i.e. to produce a PDF file from the <phrase xml:id="intro.p4.p2.p1.p2" about="#intro.p4.p2.p1.p2" stex:srcref="paper.tex#textrange(from=65;11,to=66;78)">sTeX</phrase> marked-up
sources &#x2014; we only need to run the <phrase class="code" xml:id="intro.p4.p2.p1.p3" about="#intro.p4.p2.p1.p3" stex:srcref="paper.tex#textrange(from=66;34,to=67;56)">pdflatex</phrase> program over the target document
&#x2014; assuming that all modules (regular or background) have semantic macro short forms.
To convert an <phrase xml:id="intro.p4.p2.p1.p4" about="#intro.p4.p2.p1.p4" stex:srcref="paper.tex#textrange(from=69;66,to=70;22)">sTeX</phrase> document to OMDoc, we need to run <phrase class="code" xml:id="intro.p4.p2.p1.p5" about="#intro.p4.p2.p1.p5" stex:srcref="paper.tex#textrange(from=69;10,to=70;78)">latexml</phrase> over it,
post-process the result by <phrase class="code" xml:id="intro.p4.p2.p1.p6" about="#intro.p4.p2.p1.p6" stex:srcref="paper.tex#textrange(from=70;41,to=71;50)">latexmlpost</phrase>, and finally massage away all remaining
LaTeXML islands with a stylesheet, see &#xA0;<citation xmlns:mcd="http://www.w3.org/ns/mathml-cd" bibrefs="kohlhase:ssmtl*"/> for details.
</CMP>
      </omtext>
    </omgroup>
    <omgroup layout="sectioning" xml:id="intro.p5" about="#intro.p5" stex:srcref="paper.tex#textrange(from=75;0,to=108;13)">
      <metadata xml:id="intro.p5.p1" about="#intro.p5.p1" stex:srcref="paper.tex#textrange(from=75;0,to=75;42)">
        <dc:title stex:srcref="paper.tex#textrange(from=75;0,to=108;13)" xml:id="intro.p5.p1.p1" about="#intro.p5.p1.p1">Makefile-based Automation</dc:title>
      </metadata>
      <omtext xml:id="intro.p5.p2" about="#intro.p5.p2" stex:srcref="paper.tex#textrange(from=75;0,to=87;19)">
        <CMP xml:id="intro.p5.p2.p1" about="#intro.p5.p2.p1" stex:srcref="paper.tex#textrange(from=75;0,to=87;19)">As the conversion to OMDoc is rather complex (the programs in the three steps take a
variety of options), we support an automation by Unix Makefiles. There are three main
<phrase class="code" xml:id="intro.p5.p2.p1.p1" about="#intro.p5.p2.p1.p1" stex:srcref="paper.tex#textrange(from=77;10,to=78;16)">make</phrase> targets.
</CMP>
      </omtext>
      <omgroup layout="description" xml:id="I2" about="#I2" stex:srcref="paper.tex#textrange(from=79;0,to=87;19)">
        <omtext xml:id="I2.p1" about="#I2.p1" stex:srcref="paper.tex#textrange(from=79;53,to=80;31)">
          <metadata xml:id="I2.p1.p1" about="#I2.p1.p1" stex:srcref="paper.tex#textrange(from=79;53,to=80;31)">
            <dc:title xml:id="I2.p1.p1.p1" about="#I2.p1.p1.p1" stex:srcref="paper.tex#textrange(from=79;53,to=80;31)">
              <phrase class="code" xml:id="I2.p1.p1.p1.p1" about="#I2.p1.p1.p1.p1" stex:srcref="paper.tex#textrange(from=79;53,to=80;31)">make omdoc</phrase>
            </dc:title>
          </metadata>
          <CMP xml:id="I2.p1.p2" about="#I2.p1.p2" stex:srcref="paper.tex#textrange(from=79;53,to=80;31)">
            <p xml:id="I2.p1.p2.p1" about="#I2.p1.p2.p1" stex:srcref="paper.tex#textrange(from=79;53,to=80;31)">will trigger the OMDoc transformation of the target
document.
</p>
          </CMP>
        </omtext>
        <omtext xml:id="I2.p2" about="#I2.p2" stex:srcref="paper.tex#textrange(from=81;55,to=82;31)">
          <metadata xml:id="I2.p2.p1" about="#I2.p2.p1" stex:srcref="paper.tex#textrange(from=81;55,to=82;31)">
            <dc:title xml:id="I2.p2.p1.p1" about="#I2.p2.p1.p1" stex:srcref="paper.tex#textrange(from=81;55,to=82;31)">
              <phrase class="code" xml:id="I2.p2.p1.p1.p1" about="#I2.p2.p1.p1.p1" stex:srcref="paper.tex#textrange(from=81;55,to=82;31)">make mods</phrase>
            </dc:title>
          </metadata>
          <CMP xml:id="I2.p2.p2" about="#I2.p2.p2" stex:srcref="paper.tex#textrange(from=81;55,to=82;31)">
            <p xml:id="I2.p2.p2.p1" about="#I2.p2.p2.p1" stex:srcref="paper.tex#textrange(from=81;55,to=82;31)">will trigger the OMDoc transformation of the modules.
</p>
          </CMP>
        </omtext>
        <omtext xml:id="I2.p3" about="#I2.p3" stex:srcref="paper.tex#textrange(from=82;46,to=83;30)">
          <metadata xml:id="I2.p3.p1" about="#I2.p3.p1" stex:srcref="paper.tex#textrange(from=82;46,to=83;30)">
            <dc:title xml:id="I2.p3.p1.p1" about="#I2.p3.p1.p1" stex:srcref="paper.tex#textrange(from=82;46,to=83;30)">
              <phrase class="code" xml:id="I2.p3.p1.p1.p1" about="#I2.p3.p1.p1.p1" stex:srcref="paper.tex#textrange(from=82;46,to=83;30)">make pdf</phrase>
            </dc:title>
          </metadata>
          <CMP xml:id="I2.p3.p2" about="#I2.p3.p2" stex:srcref="paper.tex#textrange(from=82;46,to=83;30)">
            <p xml:id="I2.p3.p2.p1" about="#I2.p3.p2.p1" stex:srcref="paper.tex#textrange(from=82;46,to=83;30)">will trigger the LaTeX formatting the target
</p>
          </CMP>
        </omtext>
        <omtext xml:id="I2.p4" about="#I2.p4" stex:srcref="paper.tex#textrange(from=83;47,to=84;31)">
          <metadata xml:id="I2.p4.p1" about="#I2.p4.p1" stex:srcref="paper.tex#textrange(from=83;47,to=84;31)">
            <dc:title xml:id="I2.p4.p1.p1" about="#I2.p4.p1.p1" stex:srcref="paper.tex#textrange(from=83;47,to=84;31)">
              <phrase class="code" xml:id="I2.p4.p1.p1.p1" about="#I2.p4.p1.p1.p1" stex:srcref="paper.tex#textrange(from=83;47,to=84;31)">make mpdf</phrase>
            </dc:title>
          </metadata>
          <CMP xml:id="I2.p4.p2" about="#I2.p4.p2" stex:srcref="paper.tex#textrange(from=83;47,to=84;31)">
            <p xml:id="I2.p4.p2.p1" about="#I2.p4.p2.p1" stex:srcref="paper.tex#textrange(from=83;47,to=84;31)">will trigger the LaTeX formatting the modules
</p>
          </CMP>
        </omtext>
        <omtext xml:id="I2.p5" about="#I2.p5" stex:srcref="paper.tex#textrange(from=84;57,to=85;30)">
          <metadata xml:id="I2.p5.p1" about="#I2.p5.p1" stex:srcref="paper.tex#textrange(from=84;57,to=85;30)">
            <dc:title xml:id="I2.p5.p1.p1" about="#I2.p5.p1.p1" stex:srcref="paper.tex#textrange(from=84;57,to=85;30)">
              <phrase class="code" xml:id="I2.p5.p1.p1.p1" about="#I2.p5.p1.p1.p1" stex:srcref="paper.tex#textrange(from=84;57,to=85;30)">make sms</phrase>
            </dc:title>
          </metadata>
          <CMP xml:id="I2.p5.p2" about="#I2.p5.p2" stex:srcref="paper.tex#textrange(from=84;57,to=85;30)">
            <p xml:id="I2.p5.p2.p1" about="#I2.p5.p2.p1" stex:srcref="paper.tex#textrange(from=84;57,to=85;30)">will trigger the re-generation of all semantic macro short
forms of modules (this is implicitly called in all the other <phrase class="code" xml:id="I2.p5.p2.p1.p1" about="#I2.p5.p2.p1.p1" stex:srcref="paper.tex#textrange(from=85;10,to=86;79)">make</phrase> targets)
</p>
          </CMP>
        </omtext>
      </omgroup>
      <omtext xml:id="intro.p5.p4" about="#intro.p5.p4" stex:srcref="paper.tex#textrange(from=75;0,to=108;13)">
        <CMP xml:id="intro.p5.p4.p1" about="#intro.p5.p4.p1" stex:srcref="paper.tex#textrange(from=75;0,to=108;13)">To use this, we need to set up a <phrase class="code" xml:id="intro.p5.p4.p1.p1" about="#intro.p5.p4.p1.p1" stex:srcref="paper.tex#textrange(from=87;24,to=88;55)">Makefile</phrase> of the following form:

<omlet xmlns:mcd="http://www.w3.org/ns/mathml-cd" action="display" show="embed" style="display:block" class="language_make" xml:id="LSTx1"><code><data format="listingblock"><table class="listing"><tr><td/><td>STEXDIR&#xA0;=&#xA0;../..</td></tr><tr><td>2</td><td>TARGET&#xA0;=&#xA0;paper.tex</td></tr><tr><td/><td>MODSLIBDIR&#xA0;=&#xA0;../background</td></tr><tr><td>4</td><td/></tr><tr><td/><td>include&#xA0;$(STEXDIR)/make/Makefile.vars</td></tr><tr><td>6</td><td>all:&#xA0;omdoc&#xA0;mods&#xA0;pdf</td></tr><tr><td/><td>include&#xA0;$(STEXDIR)/make/Makefile.in</td></tr></table></data></code></omlet>
The variable <phrase xmlns:mcd="http://www.w3.org/ns/mathml-cd" class="listing ">STEXDIR</phrase> has to be set to the main directory of the <phrase xml:id="intro.p5.p4.p1.p3" about="#intro.p5.p4.p1.p3" stex:srcref="paper.tex#textrange(from=92;1,to=93;86)">sTeX</phrase>
distribution. The variable <phrase xmlns:mcd="http://www.w3.org/ns/mathml-cd" class="listing ">TARGET</phrase> specifies the target document (all other
<phrase class="code" xml:id="intro.p5.p4.p1.p4" about="#intro.p5.p4.p1.p4" stex:srcref="paper.tex#textrange(from=94;73,to=95;17)">*.tex</phrase> files that are not excluded in the <phrase xmlns:mcd="http://www.w3.org/ns/mathml-cd" class="listing ">BUTFILES</phrase> variables are
considered as modules). Here, the <phrase class="code" xml:id="intro.p5.p4.p1.p5" about="#intro.p5.p4.p1.p5" stex:srcref="paper.tex#textrange(from=95;32,to=96;56)">background</phrase> directory for convenience. The
<phrase xmlns:mcd="http://www.w3.org/ns/mathml-cd" class="listing ">MODSLIBDIR</phrase> specifies the location of the prefix and postfix files
<phrase class="code" xml:id="intro.p5.p4.p1.p6" about="#intro.p5.p4.p1.p6" stex:srcref="paper.tex#textrange(from=97;68,to=98;19)">pre.tex</phrase> and <phrase class="code" xml:id="intro.p5.p4.p1.p7" about="#intro.p5.p4.p1.p7" stex:srcref="paper.tex#textrange(from=97;44,to=98;43)">post.tex</phrase> that will be prepended and appended to the
modules to make them into complete files TeX files that can be converted. The last
three lines just include the Makefiles from the <phrase xml:id="intro.p5.p4.p1.p8" about="#intro.p5.p4.p1.p8" stex:srcref="paper.tex#textrange(from=99;32,to=100;56)">sTeX</phrase> distribution and configure the
default make target (<phrase class="code" xml:id="intro.p5.p4.p1.p9" about="#intro.p5.p4.p1.p9" stex:srcref="paper.tex#textrange(from=100;31,to=101;40)">make all</phrase>) to be produce the pdf version
Note that in the directory <phrase class="code" xml:id="intro.p5.p4.p1.p10" about="#intro.p5.p4.p1.p10" stex:srcref="paper.tex#textrange(from=102;36,to=103;49)">background</phrase> we have a very similar Makefile as
above. The only differences are that the variable <phrase xmlns:mcd="http://www.w3.org/ns/mathml-cd" class="listing ">STEXDIR</phrase> is adapted and
that the <phrase xmlns:mcd="http://www.w3.org/ns/mathml-cd" class="listing ">BUTFILE</phrase> variable is set to <phrase class="code" xml:id="intro.p5.p4.p1.p11" about="#intro.p5.p4.p1.p11" stex:srcref="paper.tex#textrange(from=104;5,to=105;69)">pre.tex</phrase> and
<phrase class="code" xml:id="intro.p5.p4.p1.p12" about="#intro.p5.p4.p1.p12" stex:srcref="paper.tex#textrange(from=105;51,to=106;20)">post.tex</phrase>, so that they are not converted. In the directory
<phrase class="code" xml:id="intro.p5.p4.p1.p13" about="#intro.p5.p4.p1.p13" stex:srcref="paper.tex#textrange(from=106;56,to=107;22)">background</phrase> we have followed good practice by establishing a phony
</CMP>
      </omtext>
    </omgroup>
  </omgroup>
  <omgroup layout="sectioning" xml:id="sec.math" about="#sec.math" stex:srcref="paper.tex#textrange(from=112;0,to=116;13)">
    <metadata xml:id="sec.math.p1" about="#sec.math.p1" stex:srcref="paper.tex#textrange(from=112;0,to=112;50)">
      <dc:title stex:srcref="paper.tex#textrange(from=112;0,to=116;13)" xml:id="sec.math.p1.p1" about="#sec.math.p1.p1">Mathematical Content</dc:title>
    </metadata>
    <omtext xml:id="sec.math.p2" about="#sec.math.p2" stex:srcref="paper.tex#textrange(from=112;0,to=13;13)">
      <CMP xml:id="sec.math.p2.p1" about="#sec.math.p2.p1" stex:srcref="paper.tex#textrange(from=112;0,to=13;13)">We present some standard mathematical definitions, here from calculus.
</CMP>
    </omtext>
    <omgroup layout="sectioning" xml:id="sec.contfuncs" about="#sec.contfuncs" stex:srcref="continuous.tex#textrange(from=1;0,to=13;13)">
      <metadata xml:id="sec.contfuncs.p1" about="#sec.contfuncs.p1" stex:srcref="continuous.tex#textrange(from=1;0,to=12;12)">
        <dc:title stex:srcref="continuous.tex#textrange(from=1;0,to=13;13)" xml:id="sec.contfuncs.p1.p1" about="#sec.contfuncs.p1.p1">Continuous Functions</dc:title>
      </metadata>
      <theory xmlns:mcd="http://www.w3.org/ns/mathml-cd" xml:id="continuous" about="#continuous" stex:srcref="continuous.tex#textrange(from=2;0,to=12;12)">
        <imports from="../../../slides/extcds/omstd/arith1.omdoc#arith1"/>
        <imports from="../../../slides/extcds/omstd/relation1.omdoc#relation1"/>
        <imports from="../background/functions.omdoc#functions" xml:id="continuous.p1" about="#continuous.p1" stex:srcref="continuous.tex#textrange(from=3;0,to=3;46)"/>
        <imports from="../background/reals.omdoc#reals" xml:id="continuous.p2" about="#continuous.p2" stex:srcref="continuous.tex#textrange(from=4;0,to=4;38)"/>
        <symbol name="continuousfunctions" xml:id="continuousfunctions.sym" about="#continuousfunctions.sym" stex:srcref="continuous.tex#textrange(from=5;1,to=5;54)"/>
        <notation cd="continuous" name="continuousfunctions">
          <prototype>
            <om:OMA>
              <om:OMS cd="continuous" cr="fun" name="continuousfunctions"/>
              <expr name="arg1"/>
              <expr name="arg2"/>
            </om:OMA>
          </prototype>
          <rendering>
            <m:mrow>
              <m:msup>
                <m:mi mathvariant="script">C</m:mi>
                <m:mn>0</m:mn>
              </m:msup>
              <m:mo>&#x2062;</m:mo>
              <m:mfenced open="(" close=")">
                <m:mrow>
                  <render name="arg1"/>
                  <m:mo>,</m:mo>
                  <render name="arg2"/>
                </m:mrow>
              </m:mfenced>
            </m:mrow>
          </rendering>
        </notation>
        <symbol name="continuous" xml:id="continuous.def.sym" about="#continuous.def.sym" stex:srcref="continuous.tex#textrange(from=7;1,to=11;16)"/>
        <definition for="continuous" xml:id="continuous.p5" about="#continuous.p5" stex:srcref="continuous.tex#textrange(from=7;1,to=11;16)">
          <CMP xml:id="continuous.p5.p1" about="#continuous.p5.p1" stex:srcref="continuous.tex#textrange(from=7;1,to=11;16)">
            <p xml:id="continuous.p5.p1.p1" about="#continuous.p5.p1.p1" stex:srcref="continuous.tex#textrange(from=7;1,to=11;16)">
A function <om:OMOBJ><om:OMA><om:OMS cd="functions" name="fun"/><om:OMV name="f"/><om:OMS cd="reals" name="RealNumbers"/><om:OMS cd="reals" name="RealNumbers"/></om:OMA></om:OMOBJ> is called <idx xml:id="continuous.p5.p1.p1.p2" about="#continuous.p5.p1.p1.p2" stex:srcref="continuous.tex#textrange(from=7;4,to=8;76)"><idt><term cd="continuous" name="continuous" role="definiendum" xml:id="continuous.p5.p1.p1.p2.p1" about="#continuous.p5.p1.p1.p2.p1" stex:srcref="continuous.tex#textrange(from=7;4,to=8;76)">continuous</term></idt><ide index="default"><idp>continuous</idp></ide></idx> at
<om:OMOBJ><om:OMA><om:OMS cd="functions" name="inset"/><om:OMV name="x"/><om:OMS cd="reals" name="RealNumbers"/></om:OMA></om:OMOBJ>, iff for all <om:OMOBJ><om:OMA><om:OMS cd="relation1" name="gt"/><om:OMV name="&#x3F5;"/><om:OMI>0</om:OMI></om:OMA></om:OMOBJ> there is a <om:OMOBJ><om:OMA><om:OMS cd="relation1" name="gt"/><om:OMV name="&#x3B4;"/><om:OMI>0</om:OMI></om:OMA></om:OMOBJ>, such that
<om:OMOBJ><om:OMA><om:OMS cd="relation1" name="lt"/><om:OMA><om:OMS cd="reals" name="absval"/><om:OMA><om:OMS cd="arith1" name="minus"/><om:OMA><om:OMS cd="arith1" name="times"/><om:OMV name="f"/><om:OMV name="x"/></om:OMA><om:OMA><om:OMS cd="arith1" name="times"/><om:OMV name="f"/><om:OMV name="y"/></om:OMA></om:OMA></om:OMA><om:OMV name="&#x3F5;"/></om:OMA></om:OMOBJ> for all <om:OMOBJ><om:OMA><om:OMS cd="relation1" name="lt"/><om:OMA><om:OMS cd="reals" name="absval"/><om:OMA><om:OMS cd="arith1" name="minus"/><om:OMV name="x"/><om:OMV name="y"/></om:OMA></om:OMA><om:OMV name="&#x3B4;"/></om:OMA></om:OMOBJ></p>
          </CMP>
        </definition>
      </theory>
    </omgroup>
    <omgroup layout="sectioning" xml:id="sec.differentiable" about="#sec.differentiable" stex:srcref="differentiable.tex#textrange(from=1;0,to=12;13)">
      <metadata xml:id="sec.differentiable.p1" about="#sec.differentiable.p1" stex:srcref="differentiable.tex#textrange(from=1;0,to=11;12)">
        <dc:title stex:srcref="differentiable.tex#textrange(from=1;0,to=12;13)" xml:id="sec.differentiable.p1.p1" about="#sec.differentiable.p1.p1">Differentiable Functions</dc:title>
      </metadata>
      <theory xmlns:mcd="http://www.w3.org/ns/mathml-cd" xml:id="differentiable" about="#differentiable" stex:srcref="differentiable.tex#textrange(from=2;0,to=11;12)">
        <imports from="../../../slides/extcds/omstd/arith1.omdoc#arith1"/>
        <imports from="../../../slides/extcds/omstd/relation1.omdoc#relation1"/>
        <imports from="./continuous.omdoc#continuous" xml:id="differentiable.p1" about="#differentiable.p1" stex:srcref="differentiable.tex#textrange(from=3;0,to=3;37)"/>
        <symbol name="difffunctions" xml:id="difffunctions.sym" about="#difffunctions.sym" stex:srcref="differentiable.tex#textrange(from=4;1,to=4;48)"/>
        <notation cd="differentiable" name="difffunctions">
          <prototype>
            <om:OMA>
              <om:OMS cd="differentiable" cr="fun" name="difffunctions"/>
              <expr name="arg1"/>
              <expr name="arg2"/>
            </om:OMA>
          </prototype>
          <rendering>
            <m:mrow>
              <m:msup>
                <m:mi mathvariant="script">C</m:mi>
                <m:mn>1</m:mn>
              </m:msup>
              <m:mo>&#x2062;</m:mo>
              <m:mfenced open="(" close=")">
                <m:mrow>
                  <render name="arg1"/>
                  <m:mo>,</m:mo>
                  <render name="arg2"/>
                </m:mrow>
              </m:mfenced>
            </m:mrow>
          </rendering>
        </notation>
        <symbol name="differentiable" xml:id="differentiable.def.sym" about="#differentiable.def.sym" stex:srcref="differentiable.tex#textrange(from=6;1,to=10;16)"/>
        <definition for="differentiable continuous" xml:id="differentiable.p4" about="#differentiable.p4" stex:srcref="differentiable.tex#textrange(from=6;1,to=10;16)">
          <CMP xml:id="differentiable.p4.p1" about="#differentiable.p4.p1" stex:srcref="differentiable.tex#textrange(from=6;1,to=10;16)">
            <p xml:id="differentiable.p4.p1.p1" about="#differentiable.p4.p1.p1" stex:srcref="differentiable.tex#textrange(from=6;1,to=10;16)">
A function <om:OMOBJ><om:OMA><om:OMS cd="functions" name="fun"/><om:OMV name="f"/><om:OMS cd="reals" name="RealNumbers"/><om:OMS cd="reals" name="RealNumbers"/></om:OMA></om:OMOBJ> is called <idx xml:id="differentiable.p4.p1.p1.p2" about="#differentiable.p4.p1.p1.p2" stex:srcref="differentiable.tex#textrange(from=6;4,to=7;80)"><idt><term cd="differentiable" name="differentiable" role="definiendum" xml:id="differentiable.p4.p1.p1.p2.p1" about="#differentiable.p4.p1.p1.p2.p1" stex:srcref="differentiable.tex#textrange(from=6;4,to=7;80)">differentiable</term></idt><ide index="default"><idp>differentiable</idp></ide></idx> at
<om:OMOBJ><om:OMA><om:OMS cd="functions" name="inset"/><om:OMV name="x"/><om:OMS cd="reals" name="RealNumbers"/></om:OMA></om:OMOBJ>, iff for all <om:OMOBJ><om:OMA><om:OMS cd="relation1" name="gt"/><om:OMV name="&#x3F5;"/><om:OMI>0</om:OMI></om:OMA></om:OMOBJ> there is a <om:OMOBJ><om:OMA><om:OMS cd="relation1" name="gt"/><om:OMV name="&#x3B4;"/><om:OMI>0</om:OMI></om:OMA></om:OMOBJ>, such that
<om:OMOBJ><om:OMA><om:OMS cd="relation1" name="lt"/><om:OMA><om:OMS cd="reals" name="rfrac"/><om:OMA><om:OMS cd="reals" name="absval"/><om:OMA><om:OMS cd="arith1" name="minus"/><om:OMA><om:OMS cd="arith1" name="times"/><om:OMV name="f"/><om:OMV name="x"/></om:OMA><om:OMA><om:OMS cd="arith1" name="times"/><om:OMV name="f"/><om:OMV name="y"/></om:OMA></om:OMA></om:OMA><om:OMA><om:OMS cd="reals" name="absval"/><om:OMA><om:OMS cd="arith1" name="minus"/><om:OMV name="x"/><om:OMV name="y"/></om:OMA></om:OMA></om:OMA><om:OMV name="&#x3F5;"/></om:OMA></om:OMOBJ> for all <om:OMOBJ><om:OMA><om:OMS cd="relation1" name="lt"/><om:OMA><om:OMS cd="reals" name="absval"/><om:OMA><om:OMS cd="arith1" name="minus"/><om:OMV name="x"/><om:OMV name="y"/></om:OMA></om:OMA><om:OMV name="&#x3B4;"/></om:OMA></om:OMOBJ>.
</p>
          </CMP>
        </definition>
      </theory>
    </omgroup>
  </omgroup>
  <omgroup layout="sectioning" xml:id="concl" about="#concl" stex:srcref="paper.tex#textrange(from=118;0,to=121;13)">
    <metadata xml:id="concl.p1" about="#concl.p1" stex:srcref="paper.tex#textrange(from=118;0,to=118;37)">
      <dc:title stex:srcref="paper.tex#textrange(from=118;0,to=121;13)" xml:id="concl.p1.p1" about="#concl.p1.p1">Conclusion</dc:title>
    </metadata>
    <omtext xml:id="concl.p2" about="#concl.p2" stex:srcref="paper.tex#textrange(from=118;0,to=121;13)">
      <CMP xml:id="concl.p2.p1" about="#concl.p2.p1" stex:srcref="paper.tex#textrange(from=118;0,to=121;13)">In this note we have given an example of standard mathematical markup and shown how a a
<phrase xml:id="concl.p2.p1.p1" about="#concl.p2.p1.p1" stex:srcref="paper.tex#textrange(from=119;42,to=120;8)">sTeX</phrase> collection can be set up for automation.
</CMP>
    </omtext>
  </omgroup>
  <bibliography files="kwarc"/>
  <!--The data elements-->
  <private xmlns:mcd="http://www.w3.org/ns/mathml-cd" xml:id="id36156444">
    <data format="text"><![CDATA[\begin]]></data>
  </private>
  <private xmlns:mcd="http://www.w3.org/ns/mathml-cd" xml:id="id36151430">
    <data format="text"><![CDATA[\end{document}]]></data>
  </private>
</omdoc>