maruku 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/bin/maruku +25 -0
  2. data/bin/marutex +29 -0
  3. data/docs/Makefile +25 -0
  4. data/docs/char_codes.xml +884 -0
  5. data/docs/color-package-demo.aux +1 -0
  6. data/docs/color-package-demo.log +127 -0
  7. data/docs/color-package-demo.tex +149 -0
  8. data/docs/index.html +74 -0
  9. data/docs/markdown_syntax.aux +13 -0
  10. data/docs/markdown_syntax.html +266 -0
  11. data/docs/markdown_syntax.log +287 -0
  12. data/docs/markdown_syntax.md +920 -0
  13. data/docs/markdown_syntax.out +0 -0
  14. data/docs/markdown_syntax.pdf +0 -0
  15. data/docs/markdown_syntax.tex +1203 -0
  16. data/docs/maruku.aux +13 -0
  17. data/docs/maruku.html +74 -0
  18. data/docs/maruku.log +294 -0
  19. data/docs/maruku.md +394 -0
  20. data/docs/maruku.out +0 -0
  21. data/docs/maruku.pdf +0 -0
  22. data/docs/maruku.tex +548 -0
  23. data/docs/style.css +65 -0
  24. data/docs/todo.md +12 -0
  25. data/lib/maruku.rb +20 -0
  26. data/lib/maruku/parse_block.rb +577 -0
  27. data/lib/maruku/parse_span.rb +336 -0
  28. data/lib/maruku/string_utils.rb +270 -0
  29. data/lib/maruku/structures.rb +31 -0
  30. data/lib/maruku/to_html.rb +430 -0
  31. data/lib/maruku/to_latex.rb +345 -0
  32. data/lib/maruku/to_latex_strings.rb +330 -0
  33. data/tests/abbreviations.md +11 -0
  34. data/tests/blank.md +4 -0
  35. data/tests/code.md +5 -0
  36. data/tests/code2.md +8 -0
  37. data/tests/code3.md +16 -0
  38. data/tests/email.md +4 -0
  39. data/tests/entities.md +19 -0
  40. data/tests/escaping.md +14 -0
  41. data/tests/extra_dl.md +101 -0
  42. data/tests/extra_header_id.md +13 -0
  43. data/tests/extra_table1.md +40 -0
  44. data/tests/footnotes.md +17 -0
  45. data/tests/headers.md +10 -0
  46. data/tests/hrule.md +10 -0
  47. data/tests/images.md +20 -0
  48. data/tests/inline_html.md +35 -0
  49. data/tests/links.md +31 -0
  50. data/tests/list1.md +4 -0
  51. data/tests/list2.md +5 -0
  52. data/tests/list3.md +8 -0
  53. data/tests/lists.md +32 -0
  54. data/tests/lists_ol.md +39 -0
  55. data/tests/misc_sw.md +105 -0
  56. data/tests/one.md +1 -0
  57. data/tests/paragraphs.md +13 -0
  58. data/tests/sss06.md +352 -0
  59. data/tests/test.md +4 -0
  60. metadata +113 -0
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'maruku'
4
+
5
+ if File.basename($0) =~ /^maruku/
6
+ # Convert each file
7
+ ARGV.each do |f|
8
+ puts "Opening #{f}"
9
+
10
+ # read file content
11
+ input = File.open(f,'r').read
12
+
13
+ # create Maruku
14
+ doc = Maruku.new(input)
15
+ # convert to a complete html document
16
+ html = doc.to_html_document
17
+
18
+ # write to file
19
+ dir = File.dirname(f)
20
+ filename = File.basename(f, File.extname(f)) + ".html"
21
+
22
+ out_xml = File.join(dir, filename)
23
+ File.open(out_xml,'w') do |f| f.puts html end
24
+ end
25
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'maruku'
4
+
5
+ if File.basename($0) =~ /^marutex/
6
+ # Convert each file
7
+ ARGV.each do |f|
8
+ puts "Opening #{f}"
9
+
10
+ # read file content
11
+ input = File.open(f,'r').read
12
+
13
+ # create Maruku
14
+ doc = Maruku.new(input)
15
+ # convert to a complete html document
16
+ latex = doc.to_latex_document
17
+
18
+ # write to file
19
+ dir = File.dirname(f)
20
+ job = File.join(dir, File.basename(f, File.extname(f)))
21
+ filename = job + ".tex"
22
+
23
+ File.open(filename,'w') do |f| f.puts latex end
24
+
25
+
26
+ system "pdflatex #{job}"
27
+ # system "open #{job}.pdf"
28
+ end
29
+ end
@@ -0,0 +1,25 @@
1
+
2
+ out=index.html maruku.pdf maruku.html markdown_syntax.pdf
3
+ others=maruku.md style.css
4
+
5
+ all: $(out)
6
+
7
+ index.html: maruku.html
8
+ cp $< $@
9
+
10
+ %.html: %.md
11
+ ruby -I../lib ../bin/maruku $<
12
+
13
+ %.pdf: %.md
14
+ ruby -I../lib ../bin/marutex $<
15
+
16
+ clean:
17
+ -rm -f $(out)
18
+
19
+
20
+ publish: $(out) $(others)
21
+ scp $^ andrea@rubyforge.org:/var/www/gforge-projects/maruku/
22
+
23
+ publish_tests:
24
+ scp -r ../tests/*.md ../tests/*.html ../tests/*.pdf andrea@rubyforge.org:/var/www/gforge-projects/maruku/tests/
25
+
@@ -0,0 +1,884 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--view-source:http://htmltolatex.sourceforge.net/config.xml-->
3
+ <!--
4
+ Document : config.xml
5
+ Created on : August 2005
6
+ Author : Michal Kebrt
7
+ Description: Configuration file for html2latex program
8
+
9
+ ============================================================================
10
+ 1/ "elements" element contains conversion mappings between
11
+ HTML elements and LaTeX commands. Each element must specify
12
+ commands used when start and end tags are reached in the
13
+ input document. Special constructions starting with "@" can
14
+ be used for inserting characters that have special meanings
15
+ in HTML. See 6/ for details.
16
+
17
+ "element" attributes:
18
+ - ignoreContent : "yes" if you want to ignore text content
19
+ of a particular HTML tag
20
+ (ie. <element name='script' ignoreContent='yes'>)
21
+ - leaveText : "yes" if element's text content should be left without
22
+ any changes (ie. for element <pre>)
23
+ - ignoreStyle : "yes" if CSS styled should be ignored
24
+ ============================================================================
25
+ 2/ "chars" element contains conversion mapping between
26
+ HTML entities and LaTeX commands. Each entity is described
27
+ with its entity name (ie. "Gamma") and its decimal number in
28
+ Universal Character Set (UCS) which is equivalent to Unicode.
29
+
30
+ Example: <char num='915' name='Gamma' convertTo='$\Gamma$' />
31
+ Note: Both decimal notation and hexadecimal can be used
32
+ in the input document (ie. "&#913;" or "#x391;" or "&Gamma;").
33
+ ============================================================================
34
+ 3/ Only a few of the characters specified in the UCS have their
35
+ named HTML equivalents. Characters that have no name can
36
+ be configured in the "charNum" elements using their decimal
37
+ number in the UCS.
38
+
39
+ Example: <charNum num='8356' convertTo='\textlira' />
40
+ ============================================================================
41
+ 4/ HTML links can be converted to hyperlinks using "hyperref"
42
+ package, to footnotes or bibliography or they can be ignored.
43
+
44
+ Possible options follows:
45
+ <links conversion='footnotes' />
46
+ <links conversion='hypertex' />
47
+ <links conversion='biblio' />
48
+ <links conversion='ignore' />
49
+ ============================================================================
50
+ 5/ Mappings between CSS properties and LaTeX commands can be
51
+ defined in "property" elements and their child elements
52
+ "value".
53
+
54
+ Example:
55
+ <property name='font-style'>
56
+ <value name='normal' start='\textnormal{' end='}' />
57
+ <value name='italic' start='\textit{' end='}' />
58
+ <value name='oblique' start='\textsl{' end='}' />
59
+ </property>
60
+
61
+ "cssStyles" element's attributes:
62
+ - makeCommands : "yes" if new commands should be made for every style
63
+ - commandsPrefix : prefix of new commands
64
+ ============================================================================
65
+ 6/ "@" constructions:
66
+ @NL new line
67
+ @TAB tabulator
68
+ @QUOT '
69
+ @DOUBLEQUOT "
70
+ @AMP &
71
+ @LT <
72
+ @GT >
73
+ ============================================================================
74
+ -->
75
+
76
+ <configuration xmlns='http://www.michalkebrt.cz/word2latex'
77
+ xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
78
+ xsi:schemaLocation='http://www.michalkebrt.cz/word2latex config.xsd'>
79
+
80
+ <elements>
81
+ <element name='html'>
82
+ <start>\documentclass[a4paper,11pt]{article}@NL\usepackage{ulem}@NL\usepackage{a4wide}@NL\usepackage[dvipsnames,svgnames]{xcolor}@NL\usepackage[pdftex]{graphicx}@NL</start>
83
+ <end>@NL</end>
84
+ </element>
85
+
86
+ <element name='a'>
87
+ <start></start>
88
+ <end></end>
89
+ </element>
90
+ <element name='abbr'>
91
+ <start>\texttt{</start>
92
+ <end>}</end>
93
+ </element>
94
+
95
+ <element name='p' ignoreStyle='no'>
96
+ <start>@NL@NL</start>
97
+ <end></end>
98
+ </element>
99
+ <element name='body'>
100
+ <start>@NL@NL\begin{document}</start>
101
+ <end>@NL@NL\end{document}</end>
102
+
103
+ </element>
104
+ <element name='acronym'>
105
+ <start>\texttt{</start>
106
+ <end>}</end>
107
+ </element>
108
+ <element name='address'>
109
+ <start></start>
110
+ <end></end>
111
+
112
+ </element>
113
+ <element name='applet' ignoreContent='yes'>
114
+ <start></start>
115
+ <end></end>
116
+ </element>
117
+ <element name='area'>
118
+ <start></start>
119
+ <end></end>
120
+ </element>
121
+
122
+ <element name='base'>
123
+ <start></start>
124
+ <end></end>
125
+ </element>
126
+ <element name='basefont'>
127
+ <start></start>
128
+ <end></end>
129
+ </element>
130
+ <element name='bdo'>
131
+
132
+ <start></start>
133
+ <end></end>
134
+ </element>
135
+ <element name='big'>
136
+ <start>\LARGE </start>
137
+ <end> \normalsize</end>
138
+ </element>
139
+
140
+ <element name='blockquote'>
141
+ <start>@NL\begin{quotation}</start>
142
+ <end>@NL\end{quotation}</end>
143
+ </element>
144
+ <element name='br'>
145
+ <start>@NL\\</start>
146
+ <end></end>
147
+
148
+ </element>
149
+ <element name='button'>
150
+ <start></start>
151
+ <end></end>
152
+ </element>
153
+ <element name='caption'>
154
+ <start>@NL% if you want to use \caption the tabular must be enclosed in
155
+ % table or figure environment@NL% \caption{</start>
156
+ <end>}@NL</end>
157
+
158
+ </element>
159
+ <element name='center'>
160
+ <start>@NL\begin{center}@NL</start>
161
+ <end>@NL\end{center}</end>
162
+ </element>
163
+ <element name='cite'>
164
+ <start>\textit{</start>
165
+ <end>}</end>
166
+
167
+ </element>
168
+ <element name='code'>
169
+ <start>@NL\texttt{</start>
170
+ <end>}</end>
171
+ </element>
172
+ <element name='dl'>
173
+ <start>@NL\begin{description}</start>
174
+ <end>@NL\end{description}</end>
175
+
176
+ </element>
177
+ <element name='dt'>
178
+ <start>@NL@TAB\item[</start>
179
+ <end>] </end>
180
+ </element>
181
+ <element name='dd'>
182
+ <start></start>
183
+ <end></end>
184
+
185
+ </element>
186
+ <element name='del'>
187
+ <start>\sout{</start>
188
+ <end>}</end>
189
+ </element>
190
+ <element name='dfn'>
191
+ <start>\textit{</start>
192
+
193
+ <end>}</end>
194
+ </element>
195
+ <element name='dir'>
196
+ <start>@NL\begin{itemize}</start>
197
+ <end>@NL\end{itemize}</end>
198
+ </element>
199
+ <element name='menu'>
200
+
201
+ <start>@NL\begin{itemize}</start>
202
+ <end>@NL\end{itemize}</end>
203
+ </element>
204
+ <element name='em'>
205
+ <start>\emph{</start>
206
+ <end>}</end>
207
+ </element>
208
+
209
+ <element name='form'>
210
+ <start></start>
211
+ <end></end>
212
+ </element>
213
+ <element name='fieldset'>
214
+ <start></start>
215
+ <end></end>
216
+ </element>
217
+ <element name='font'>
218
+
219
+ <start></start>
220
+ <end></end>
221
+ </element>
222
+ <element name='frame'>
223
+ <start></start>
224
+ <end></end>
225
+ </element>
226
+ <element name='frameset'>
227
+ <start></start>
228
+
229
+ <end></end>
230
+ </element>
231
+ <element name='h1'>
232
+ <start>@NL@NL\section{</start>
233
+ <end>}</end>
234
+ </element>
235
+ <element name='h2'>
236
+ <start>@NL@NL\subsection{</start>
237
+
238
+ <end>}</end>
239
+ </element>
240
+ <element name='h3'>
241
+ <start>@NL@NL\subsubsection{</start>
242
+ <end>}</end>
243
+ </element>
244
+ <element name='h4'>
245
+
246
+ <start>@NL@NL\paragraph{</start>
247
+ <end>}</end>
248
+ </element>
249
+ <element name='h5'>
250
+ <start>@NL@NL\subparagraph{</start>
251
+ <end>}</end>
252
+ </element>
253
+
254
+ <!-- subsubsub -->
255
+ <element name='h6'>
256
+ <start>@NL@NL\subparagraph{</start>
257
+ <end>}</end>
258
+ </element>
259
+ <element name='head'>
260
+ <start></start>
261
+ <end></end>
262
+
263
+ </element>
264
+ <element name='hr'>
265
+ <start>@NL@NL\line(1,0){300}@NL</start>
266
+ <end></end>
267
+ </element>
268
+ <element name='iframe'>
269
+ <start></start>
270
+ <end></end>
271
+
272
+ </element>
273
+ <element name='img'>
274
+ <start></start>
275
+ <end></end>
276
+ </element>
277
+ <element name='input'>
278
+ <start></start>
279
+ <end></end>
280
+ </element>
281
+
282
+ <element name='ins'>
283
+ <start>\textbf{</start>
284
+ <end>}</end>
285
+ </element>
286
+ <element name='isindex'>
287
+ <start></start>
288
+ <end></end>
289
+ </element>
290
+
291
+ <element name='kbd'>
292
+ <start>\texttt{</start>
293
+ <end>}</end>
294
+ </element>
295
+ <element name='label'>
296
+ <start></start>
297
+ <end></end>
298
+ </element>
299
+
300
+ <element name='legend'>
301
+ <start></start>
302
+ <end></end>
303
+ </element>
304
+ <element name='li'>
305
+ <start>@NL@TAB\item </start>
306
+ <end></end>
307
+ </element>
308
+
309
+ <element name='map'>
310
+ <start></start>
311
+ <end></end>
312
+ </element>
313
+ <element name='noframes'>
314
+ <start></start>
315
+ <end></end>
316
+ </element>
317
+ <element name='noscript'>
318
+
319
+ <start></start>
320
+ <end></end>
321
+ </element>
322
+ <element name='object' ignoreContent='yes'>
323
+ <start></start>
324
+ <end></end>
325
+ </element>
326
+ <element name='ol'>
327
+ <start>@NL\begin{enumerate}</start>
328
+
329
+ <end>@NL\end{enumerate}</end>
330
+ </element>
331
+ <element name='ul'>
332
+ <start>@NL\begin{itemize}</start>
333
+ <end>@NL\end{itemize}</end>
334
+ </element>
335
+ <element name='optgroup'>
336
+
337
+ <start></start>
338
+ <end></end>
339
+ </element>
340
+ <element name='option'>
341
+ <start></start>
342
+ <end></end>
343
+ </element>
344
+ <element name='param'>
345
+ <start></start>
346
+
347
+ <end></end>
348
+ </element>
349
+ <element name='pre' leaveText='yes'>
350
+ <start>@NL\begin{verbatim}@NL</start>
351
+ <end>\end{verbatim}</end>
352
+ </element>
353
+ <element name='q'>
354
+ <start>\begin{quote}</start>
355
+
356
+ <end>\end{quote}</end>
357
+ </element>
358
+ <element name='s'>
359
+ <start>\sout{</start>
360
+ <end>}</end>
361
+ </element>
362
+ <element name='samp'>
363
+
364
+ <start>@NL\texttt{</start>
365
+ <end>@NL}</end>
366
+ </element>
367
+ <element name='script' ignoreContent='yes'>
368
+ <start></start>
369
+ <end></end>
370
+ </element>
371
+ <element name='select'>
372
+
373
+ <start></start>
374
+ <end></end>
375
+ </element>
376
+ <element name='small'>
377
+ <start>\scriptsize </start>
378
+ <end> \normalsize</end>
379
+ </element>
380
+
381
+ <element name='strike'>
382
+ <start>\sout{</start>
383
+ <end>}</end>
384
+ </element>
385
+ <element name='style' ignoreContent='yes'>
386
+ <start></start>
387
+ <end></end>
388
+ </element>
389
+ <element name='sub'>
390
+
391
+ <start>$_</start>
392
+ <end>$</end>
393
+ </element>
394
+ <element name='sup'>
395
+ <start>$^</start>
396
+ <end>$</end>
397
+ </element>
398
+
399
+ <element name=''>
400
+ <start></start>
401
+ <end></end>
402
+ </element>
403
+ <element name='textarea'>
404
+ <start></start>
405
+ <end></end>
406
+ </element>
407
+ <element name='tt'>
408
+
409
+ <start>\texttt{</start>
410
+ <end>}</end>
411
+ </element>
412
+ <element name='u'>
413
+ <start>\underline{</start>
414
+ <end>}</end>
415
+ </element>
416
+
417
+ <element name='var'>
418
+ <start>\texttt{</start>
419
+ <end>}</end>
420
+ </element>
421
+ <element name='title'>
422
+ <start>\title{</start>
423
+ <end>}</end>
424
+
425
+ </element>
426
+ <element name='strong'>
427
+ <start>\textbf{</start>
428
+ <end>}</end>
429
+ </element>
430
+ <element name='i'>
431
+ <start>\textit{</start>
432
+
433
+ <end>}</end>
434
+ </element>
435
+ <element name='b'>
436
+ <start>\textbf{</start>
437
+ <end>}</end>
438
+ </element>
439
+ <element name='div'>
440
+
441
+ <start></start>
442
+ <end></end>
443
+ </element>
444
+ <element name='span'>
445
+ <start></start>
446
+ <end></end>
447
+ </element>
448
+ <element name='col'>
449
+ <start></start>
450
+
451
+ <end></end>
452
+ </element>
453
+ <element name='colgroup'>
454
+ <start></start>
455
+ <end></end>
456
+ </element>
457
+ <element name='table'>
458
+ <start>@NL\begin{tabular}</start>
459
+
460
+ <end>@NL\end{tabular}</end>
461
+ </element>
462
+ <element name='tr'>
463
+ <start></start>
464
+ <end></end>
465
+ </element>
466
+ <element name='td'>
467
+ <start></start>
468
+ <end></end>
469
+
470
+ </element>
471
+ <element name='th'>
472
+ <start>\textbf{</start>
473
+ <end>}</end>
474
+ </element>
475
+ <element name='thead'>
476
+ <start></start>
477
+ <end></end>
478
+
479
+ </element>
480
+ <element name='tfoot'>
481
+ <start></start>
482
+ <end></end>
483
+ </element>
484
+ <element name='tbody'>
485
+ <start></start>
486
+ <end></end>
487
+ </element>
488
+
489
+ <element name='img'>
490
+ <start></start>
491
+ <end></end>
492
+ </element>
493
+ <element name='meta'>
494
+ <start></start>
495
+ <end></end>
496
+ </element>
497
+ <element name='!doctype'>
498
+
499
+ <start></start>
500
+ <end></end>
501
+ </element>
502
+ <element name='link'>
503
+ <start></start>
504
+ <end></end>
505
+ </element>
506
+ </elements>
507
+
508
+ <chars>
509
+
510
+ <char num='913' name='Alpha' convertTo='$A$' />
511
+ <char num='914' name='Beta' convertTo='$B$' />
512
+ <char num='915' name='Gamma' convertTo='$\Gamma$' />
513
+ <char num='916' name='Delta' convertTo='$\Delta$' />
514
+ <char num='917' name='Epsilon' convertTo='$E$' />
515
+ <char num='918' name='Zeta' convertTo='$Z$' />
516
+ <char num='919' name='Eta' convertTo='$H$' />
517
+ <char num='920' name='Theta' convertTo='$\Theta$' />
518
+ <char num='921' name='Iota' convertTo='$I$' />
519
+
520
+ <char num='922' name='Kappa' convertTo='$K$' />
521
+ <char num='923' name='Lambda' convertTo='$\Lambda$' />
522
+ <char num='924' name='Mu' convertTo='$M$' />
523
+ <char num='925' name='Nu' convertTo='$N$' />
524
+ <char num='926' name='Xi' convertTo='$\Xi$' />
525
+ <char num='927' name='Omicron' convertTo='$O$' />
526
+ <char num='928' name='Pi' convertTo='$\Pi$' />
527
+ <char num='929' name='Rho' convertTo='$P$' />
528
+ <char num='931' name='Sigma' convertTo='$\Sigma$' />
529
+
530
+ <char num='932' name='Tau' convertTo='$T$' />
531
+ <char num='933' name='Upsilon' convertTo='$Y$' />
532
+ <char num='934' name='Phi' convertTo='$\Phi$' />
533
+ <char num='935' name='Chi' convertTo='$X$' />
534
+ <char num='936' name='Psi' convertTo='$\Psi$' />
535
+ <char num='937' name='Omega' convertTo='$\Omega$' />
536
+ <char num='945' name='alpha' convertTo='$\alpha$' />
537
+ <char num='946' name='beta' convertTo='$\beta$' />
538
+ <char num='947' name='gamma' convertTo='$\gamma$' />
539
+
540
+ <char num='948' name='delta' convertTo='$\delta$' />
541
+ <char num='949' name='epsilon' convertTo='$\epsilon$' />
542
+ <char num='950' name='zeta' convertTo='$\zeta$' />
543
+ <char num='951' name='eta' convertTo='$\eta$' />
544
+ <char num='952' name='theta' convertTo='$\theta$' />
545
+ <char num='953' name='iota' convertTo='$\iota$' />
546
+ <char num='954' name='kappa' convertTo='$\kappa$' />
547
+ <char num='955' name='lambda' convertTo='$\lambda$' />
548
+ <char num='956' name='mu' convertTo='$\mu$' />
549
+
550
+ <char num='957' name='nu' convertTo='$\nu$' />
551
+ <char num='958' name='xi' convertTo='$\xi$' />
552
+ <char num='959' name='omicron' convertTo='$o$' />
553
+ <char num='960' name='pi' convertTo='$\pi$' />
554
+ <char num='961' name='rho' convertTo='$\rho$' />
555
+ <char num='963' name='sigma' convertTo='$\sigma$' />
556
+ <char num='964' name='tau' convertTo='$\tau$' />
557
+ <char num='965' name='upsilon' convertTo='$\upsilon$' />
558
+ <char num='966' name='phi' convertTo='$\phi$' />
559
+
560
+ <char num='967' name='chi' convertTo='$\chi$' />
561
+ <char num='968' name='psi' convertTo='$\psi$' />
562
+ <char num='969' name='omega' convertTo='$\omega$' />
563
+ <char num='962' name='sigmaf' convertTo='$\varsigma$' />
564
+ <char num='977' name='thetasym' convertTo='$\vartheta$' />
565
+ <char num='982' name='piv' convertTo='$\varpi$' />
566
+ <char num='8230' name='hellip' convertTo='\ldots' />
567
+ <char num='8242' name='prime' convertTo='$\prime$' />
568
+ <char num='8254' name='oline' convertTo='-' />
569
+
570
+ <char num='8260' name='frasl' convertTo='/' />
571
+ <char num='8472' name='weierp' convertTo='$\wp$' />
572
+ <char num='8465' name='image' convertTo='$\Im$' />
573
+ <char num='8476' name='real' convertTo='$\Re$' />
574
+ <char num='8501' name='alefsym' convertTo='$\aleph$' />
575
+ <char num='8226' name='bull' convertTo='$\bullet$' />
576
+ <char num='8482' name='trade' convertTo='$^{\rm TM}$' /> <!-- \texttrademark -->
577
+ <char num='8592' name='larr' convertTo='$\leftarrow$' />
578
+
579
+ <char num='8594' name='rarr' convertTo='$\rightarrow$' />
580
+ <char num='8593' name='uarr' convertTo='$\uparrow$' />
581
+ <char num='8595' name='darr' convertTo='$\downarrow$' />
582
+ <char num='8596' name='harr' convertTo='$\leftrightarrow$' />
583
+ <char num='8629' name='crarr' convertTo='$\hookleftarrow$' />
584
+ <char num='8657' name='uArr' convertTo='$\Uparrow$' />
585
+ <char num='8659' name='dArr' convertTo='$\Downarrow$' />
586
+ <char num='8656' name='lArr' convertTo='$\Leftarrow$' />
587
+ <char num='8658' name='rArr' convertTo='$\Rightarrow$' />
588
+
589
+ <char num='8660' name='hArr' convertTo='$\Leftrightarrow$' />
590
+ <char num='8704' name='forall' convertTo='$\forall$' />
591
+ <char num='8706' name='part' convertTo='$\partial$' />
592
+ <char num='8707' name='exist' convertTo='$\exists$' />
593
+ <char num='8709' name='empty' convertTo='$\emptyset$' />
594
+ <char num='8711' name='nabla' convertTo='$\nabla$' />
595
+ <char num='8712' name='isin' convertTo='$\in$' />
596
+ <char num='8715' name='ni' convertTo='$\ni$' />
597
+ <char num='8713' name='notin' convertTo='$\notin$' />
598
+
599
+ <char num='8721' name='sum' convertTo='$\sum$' />
600
+ <char num='8719' name='prod' convertTo='$\prod$' />
601
+ <char num='8722' name='minus' convertTo='$-$' />
602
+ <char num='8727' name='lowast' convertTo='$\ast$' />
603
+ <char num='8730' name='radic' convertTo='$\surd$' />
604
+ <char num='8733' name='prop' convertTo='$\propto$' />
605
+ <char num='8734' name='infin' convertTo='$\infty$' />
606
+ <char num='8736' name='ang' convertTo='$\angle$' />
607
+ <char num='8743' name='and' convertTo='$\wedge$' />
608
+
609
+ <char num='8744' name='or' convertTo='$\vee$' />
610
+ <char num='8745' name='cup' convertTo='$\cup$' />
611
+ <char num='8746' name='cap' convertTo='$\cap$' />
612
+ <char num='8747' name='int' convertTo='$\int$' />
613
+ <char num='8756' name='there4' convertTo='$\therefore$' /> <!-- only AMS -->
614
+ <char num='8764' name='sim' convertTo='$\sim$' />
615
+ <char num='8776' name='asymp' convertTo='$\approx$' />
616
+ <char num='8773' name='cong' convertTo='$\cong$' />
617
+
618
+ <char num='8800' name='ne' convertTo='$\neq$' />
619
+ <char num='8801' name='equiv' convertTo='$\equiv$' />
620
+ <char num='8804' name='le' convertTo='$\leq$' />
621
+ <char num='8805' name='ge' convertTo='$\geq$' />
622
+ <char num='8834' name='sub' convertTo='$\subset$' />
623
+ <char num='8835' name='sup' convertTo='$\supset$' />
624
+ <char num='8838' name='sube' convertTo='$\subseteq$' />
625
+ <char num='8839' name='supe' convertTo='$\supseteq$' />
626
+ <char num='8836' name='nsub' convertTo='$\nsubset$' /> <!-- only AMS -->
627
+
628
+ <char num='8853' name='oplus' convertTo='$\oplus$' />
629
+ <char num='8855' name='otimes' convertTo='$\otimes$' />
630
+ <char num='8869' name='perp' convertTo='$\perp$' />
631
+ <char num='8901' name='sdot' convertTo='$\cdot$' />
632
+ <char num='8968' name='rceil' convertTo='$\rceil$' />
633
+ <char num='8969' name='lceil' convertTo='$\lceil$' />
634
+ <char num='8970' name='lfloor' convertTo='$\lfloor$' />
635
+ <char num='8971' name='rfloor' convertTo='$\rfloor$' />
636
+ <char num='9001' name='rang' convertTo='$\rangle$' />
637
+
638
+ <char num='9002' name='lang' convertTo='$\langle$' />
639
+ <char num='9674' name='loz' convertTo='$\lozenge$' /> <!-- only AMS -->
640
+ <char num='9824' name='spades' convertTo='$\spadesuit$' />
641
+ <char num='9827' name='clubs' convertTo='$\clubsuit$' />
642
+ <char num='9829' name='hearts' convertTo='$\heartsuit$' />
643
+ <char num='9830' name='diams' convertTo='$\diamondsuit$' />
644
+ <char num='38' name='amp' convertTo='\@AMP' />
645
+ <char num='34' name='quot' convertTo='@DOUBLEQUOT' />
646
+ <char num='169' name='copy' convertTo='\copyright' />
647
+
648
+ <char num='60' name='lt' convertTo='$@LT$' />
649
+ <char num='62' name='gt' convertTo='$@GT$' />
650
+ <char num='338' name='OElig' convertTo='\OE' />
651
+ <char num='339' name='oelig' convertTo='\oe' />
652
+ <char num='352' name='Scaron' convertTo='\v{S}' />
653
+ <char num='353' name='scaron' convertTo='\v{s}' />
654
+ <char num='376' name='Yuml' convertTo='\"Y' />
655
+ <char num='710' name='circ' convertTo='\textasciicircum' />
656
+ <char num='732' name='tilde' convertTo='\textasciitilde' />
657
+
658
+ <char num='8211' name='ndash' convertTo='--' />
659
+ <char num='8212' name='mdash' convertTo='---' />
660
+ <char num='8216' name='lsquo' convertTo='`' />
661
+ <char num='8217' name='rsquo' convertTo='@QUOT' />
662
+ <char num='8220' name='ldquo' convertTo='``' />
663
+ <char num='8221' name='rdquo' convertTo='@QUOT@QUOT' />
664
+ <char num='8224' name='dagger' convertTo='\dag' />
665
+ <char num='8225' name='Dagger' convertTo='\ddag' />
666
+ <char num='8240' name='permil' convertTo='\permil' /> <!-- wasysym package -->
667
+
668
+ <char num='8364' name='euro' convertTo='\euro' /> <!-- eurosym package -->
669
+ <char num='8249' name='lsaquo' convertTo='\guilsinglleft' />
670
+ <char num='8250' name='rsaquo' convertTo='\guilsinglright' />
671
+ <char num='160' name='nbsp' convertTo='\nolinebreak' />
672
+ <char num='161' name='iexcl' convertTo='\textexclamdown' />
673
+ <char num='163' name='pound' convertTo='\pounds' />
674
+ <char num='164' name='curren' convertTo='\currency' /> <!-- wasysym package -->
675
+ <char num='165' name='yen' convertTo='\textyen' /> <!-- textcomp -->
676
+
677
+ <char num='166' name='brvbar' convertTo='\brokenvert' /> <!-- wasysym -->
678
+ <char num='167' name='sect' convertTo='\S' />
679
+ <char num='171' name='laquo' convertTo='\guillemotleft' />
680
+ <char num='187' name='raquo' convertTo='\guillemotright' />
681
+ <char num='174' name='reg' convertTo='\textregistered' />
682
+ <char num='170' name='ordf' convertTo='\textordfeminine' />
683
+ <char num='172' name='not' convertTo='$\neg$' />
684
+ <char num='176' name='deg' convertTo='$\degree$' /> <!-- mathabx -->
685
+
686
+ <char num='177' name='plusmn' convertTo='$\pm$' />
687
+ <char num='180' name='acute' convertTo='@QUOT' />
688
+ <char num='181' name='micro' convertTo='$\mu$' />
689
+ <char num='182' name='para' convertTo='\P' />
690
+ <char num='183' name='middot' convertTo='$\cdot$' />
691
+ <char num='186' name='ordm' convertTo='\textordmasculine' />
692
+ <char num='162' name='cent' convertTo='\cent' /> <!-- wasysym -->
693
+ <char num='185' name='sup1' convertTo='$^1$' />
694
+
695
+ <char num='178' name='sup2' convertTo='$^2$' />
696
+ <char num='179' name='sup3' convertTo='$^3$' />
697
+ <char num='189' name='frac12' convertTo='$\frac{1}{2}$' />
698
+ <char num='188' name='frac14' convertTo='$\frac{1}{4}$' />
699
+ <char num='190' name='frac34' convertTo='$\frac{3}{4}' />
700
+ <char num='192' name='Agrave' convertTo='\`A' />
701
+ <char num='193' name='Aacute' convertTo='\@QUOTA' />
702
+ <char num='194' name='Acirc' convertTo='\^A' />
703
+ <char num='195' name='Atilde' convertTo='\~A' />
704
+
705
+ <char num='196' name='Auml' convertTo='\@DOUBLEQUOTA' />
706
+ <char num='197' name='Aring' convertTo='\AA' />
707
+ <char num='198' name='AElig' convertTo='\AE' />
708
+ <char num='199' name='Ccedil' convertTo='\cC' />
709
+ <char num='200' name='Egrave' convertTo='\`E' />
710
+ <char num='201' name='Eacute' convertTo='\@QUOTE' />
711
+ <char num='202' name='Ecirc' convertTo='\^E' />
712
+ <char num='203' name='Euml' convertTo='\@DOUBLEQUOTE' />
713
+ <char num='204' name='Igrave' convertTo='\`I' />
714
+
715
+ <char num='205' name='Iacute' convertTo='\@QUOTI' />
716
+ <char num='206' name='Icirc' convertTo='\^I' />
717
+ <char num='207' name='Iuml' convertTo='\"I' />
718
+ <char num='208' name='ETH' convertTo='$\eth$' /> <!-- AMS -->
719
+ <char num='209' name='Ntilde' convertTo='\~N' />
720
+ <char num='210' name='Ograve' convertTo='\`O' />
721
+ <char num='211' name='Oacute' convertTo='\@QUOTO' />
722
+ <char num='212' name='Ocirc' convertTo='\^O' />
723
+ <char num='213' name='Otilde' convertTo='\~O' />
724
+
725
+ <char num='214' name='Ouml' convertTo='\@DOUBLEQUOTO' />
726
+ <char num='215' name='times' convertTo='$\times$' />
727
+ <char num='216' name='Oslash' convertTo='\O' />
728
+ <char num='217' name='Ugrave' convertTo='\`U' />
729
+ <char num='218' name='Uacute' convertTo='\@QUOTU' />
730
+ <char num='219' name='Ucirc' convertTo='\^U' />
731
+ <char num='220' name='Uuml' convertTo='\@DOUBLEQUOTU' />
732
+ <char num='221' name='Yacute' convertTo='\@QUOTY' />
733
+ <char num='222' name='THORN' convertTo='\Thorn' /> <!-- wasysym -->
734
+
735
+ <char num='223' name='szlig' convertTo='\ss' />
736
+ <char num='224' name='agrave' convertTo='\`a' />
737
+ <char num='225' name='aacute' convertTo='\@QUOTa' />
738
+ <char num='226' name='acirc' convertTo='\^a' />
739
+ <char num='227' name='atilde' convertTo='\~a' />
740
+ <char num='228' name='auml' convertTo='\@DOUBLEQUOTa' />
741
+ <char num='229' name='aring' convertTo='\aa' />
742
+ <char num='230' name='aelig' convertTo='\ae' />
743
+ <char num='231' name='ccedil' convertTo='\cc' />
744
+
745
+ <char num='232' name='egrave' convertTo='\`e' />
746
+ <char num='233' name='eacute' convertTo='\@QUOTe' />
747
+ <char num='234' name='ecirc' convertTo='\^e' />
748
+ <char num='235' name='euml' convertTo='\@DOUBLEQUOTe' />
749
+ <char num='236' name='igrave' convertTo='\`i' />
750
+ <char num='237' name='iacute' convertTo='\@QUOTi' />
751
+ <char num='238' name='icirc' convertTo='\^i' />
752
+ <char num='239' name='iuml' convertTo='\@DOUBLEQUOTi' />
753
+ <char num='240' name='eth' convertTo='$\eth$' /> <!-- -->
754
+
755
+ <char num='241' name='ntilde' convertTo='\~n' />
756
+ <char num='242' name='ograve' convertTo='\`o' />
757
+ <char num='243' name='oacute' convertTo='\@QUOTo' />
758
+ <char num='244' name='ocirc' convertTo='\^o' />
759
+ <char num='245' name='otilde' convertTo='\~o' />
760
+ <char num='246' name='ouml' convertTo='\@DOUBLEQUOTo' />
761
+ <char num='247' name='divide' convertTo='$\divide$' />
762
+ <char num='248' name='oslash' convertTo='\o' />
763
+ <char num='249' name='ugrave' convertTo='\`u' />
764
+ <char num='250' name='uacute' convertTo='\@QUOTu' />
765
+
766
+ <char num='251' name='ucirc' convertTo='\^u' />
767
+ <char num='252' name='uuml' convertTo='\@DOUBLEQUOTu' />
768
+ <char num='253' name='yacute' convertTo='\@QUOTy' />
769
+ <char num='254' name='thorn' convertTo='\thorn' /> <!-- wasysym -->
770
+ <char num='255' name='yuml' convertTo='\@DOUBLEQUOTy' />
771
+ </chars>
772
+
773
+ <charsNum>
774
+ <charNum num='65' convertTo='A' />
775
+ <charNum num='66' convertTo='B' />
776
+
777
+ <charNum num='8356' convertTo='\textlira' /> <!-- textcomp -->
778
+ <charNum num='8358' convertTo='\textnaira' /> <!-- textcomp -->
779
+ <charNum num='8361' convertTo='\textwon' /> <!-- textcomp -->
780
+ <charNum num='8363' convertTo='\textdong' /> <!-- textcomp -->
781
+ <charNum num='9632' convertTo='\FilledSquare' /> <!-- ifsym -->
782
+ <charNum num='9633' convertTo='\Square' /> <!-- ifsym -->
783
+
784
+ <charNum num='8748' convertTo='$\iint$' />
785
+ <charNum num='8749' convertTo='$\iiint$' />
786
+ <charNum num='8750' convertTo='$\varoint$' />
787
+ </charsNum>
788
+
789
+ <cssStyles makeCommands='yes' commandsPrefix='MY'>
790
+ <property name='text-decoration'>
791
+ <value name='underline' start='\underline{' end='}' />
792
+ <value name='overline' start='$\overline{' end='}$' />
793
+ <value name='line-through' start='\sout{' end='}' />
794
+
795
+ </property>
796
+
797
+ <property name='text-transform'>
798
+ <value name='uppercase' start='\textsc{' end='}' />
799
+ </property>
800
+
801
+ <property name='font-style'>
802
+ <value name='normal' start='\textnormal{' end='}' />
803
+ <value name='italic' start='\textit{' end='}' />
804
+ <value name='oblique' start='\textsl{' end='}' />
805
+ </property>
806
+
807
+
808
+ <property name='font-variant'>
809
+ <value name='normal' start='\textnormal{' end='}' />
810
+ <value name='small-caps' start='\textsc{' end='}' />
811
+ </property>
812
+
813
+ <property name='font-weight'>
814
+ <value name='normal' start='\textnormal{' end='}' />
815
+ <value name='bold' start='\textbf{' end='}' />
816
+ <value name='bolder' start='\textbf{' end='}' />
817
+ <value name='lighter ' start='\textnormal{' end='}' />
818
+ <value name='100' start='\textnormal{' end='}' />
819
+
820
+ <value name='200' start='\textnormal{' end='}' />
821
+ <value name='300' start='\textnormal{' end='}' />
822
+ <value name='400' start='\textnormal{' end='}' />
823
+ <value name='500' start='\textbf{' end='}' />
824
+ <value name='600' start='\textbf{' end='}' />
825
+ <value name='700' start='\textbf{' end='}' />
826
+ <value name='800' start='\textbf{' end='}' />
827
+ <value name='900' start='\textbf{' end='}' />
828
+ </property>
829
+
830
+
831
+ <property name='color'>
832
+ <value name='red' start='{\color{red}' end='}' />
833
+ <value name='maroon' start='{\color{Maroon}' end='}' />
834
+ <value name='orange' start='{\color{orange}' end='}' />
835
+ <value name='yellow' start='{\color{yellow}' end='}' />
836
+ <value name='olive' start='{\color{Olive}' end='}' />
837
+ <value name='fuchsia' start='{\color{Fuchsia}' end='}' />
838
+ <value name='purple' start='{\color{purple}' end='}' />
839
+ <value name='white' start='{\color{white}' end='}' />
840
+
841
+ <value name='lime' start='{\color{Lime}' end='}' />
842
+ <value name='green' start='{\color{green}' end='}' />
843
+ <value name='navy' start='{\color{NavyBlue}' end='}' />
844
+ <value name='blue' start='{\color{blue}' end='}' />
845
+ <value name='aqua' start='{\color{Aqua}' end='}' />
846
+ <value name='black' start='{\color{black}' end='}' />
847
+ <value name='teal' start='{\color{Teal}' end='}' />
848
+ <value name='gray' start='{\color{gray}' end='}' />
849
+ <value name='silver' start='{\color{Silver}' end='}' />
850
+ </property>
851
+
852
+
853
+ <property name='font-size'>
854
+ <value name='xx-small' start='{\tiny' end='}' />
855
+ <value name='x-small' start='{\scriptsize' end='}' />
856
+ <value name='small' start='{\small' end='' />
857
+ <value name='medium' start='{\normalsize' end='}' />
858
+ <value name='large' start='{\large' end='}' />
859
+ <value name='x-large' start='{\LARGE' end='}' />
860
+ <value name='xx-large' start='{\Huge' end='}' />
861
+ </property>
862
+
863
+
864
+ <property name='text-align'>
865
+ <value name='center' start='@NL\begin{center}@NL' end='@NL\end{center}' />
866
+ <value name='left' start='@NL\begin{flushleft}@NL' end='@NL\end{flushleft}' />
867
+ <value name='right' start='@NL\begin{flushright}@NL' end='@NL\end{flushright}' />
868
+ <value name='justify' start='' end='' />
869
+ </property>
870
+
871
+ <property name='font-family'>
872
+ <value name='serif' start='\textrm{' end='}' />
873
+ <value name='sans-serif' start='\textsf{' end='}' />
874
+
875
+ <value name='cursive' start='\textit{' end='}' />
876
+ <value name='monospace' start='\texttt{' end='}' />
877
+ <value name='fantasy' start='' end='' />
878
+ </property>
879
+
880
+ </cssStyles>
881
+
882
+ <links conversion='hypertex' />
883
+
884
+ </configuration>