summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-23 00:23:51 +0000
committerKarl Berry <karl@freefriends.org>2009-05-23 00:23:51 +0000
commita683c3d7e9fac38ec713f23fb6b9d2c7143aea82 (patch)
tree424ab223921f85fd3f167a4ccd0e2d37d05c2927 /Master/texmf-dist/doc/latex/latex-web-companion/latex2xml
parent5beb5368a684995153c8566797ba054f21c666af (diff)
move english latex doc out of texmf-doc
git-svn-id: svn://tug.org/texlive/trunk@13412 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/latex-web-companion/latex2xml')
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/amaya.mml104
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsae.dtd259
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsbe.dtd183
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsce.dtd43
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsne.dtd187
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsoe.dtd77
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsre.dtd304
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isogrk3e.dtd55
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomfrke.dtd63
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomopfe.dtd37
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomscre.dtd63
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isonume.dtd86
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoteche.dtd238
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.cfg41
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.tex29
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.xml40
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xmath.cfg31
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dsl1346
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dtd924
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmltools.dsl97
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmlx.dsl181
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmaliase.dtd78
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmlent.dtd114
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mtdemo.tex10
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/stix.mml66
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/techexpl.mml100
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.dtd62
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.xml16
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/tmp.tmp2
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try.cfg11
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try2.cfg18
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try3.cfg8
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try4.cfg14
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try5.cfg16
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/webeq.mml111
-rw-r--r--Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/xml.dcl179
36 files changed, 5193 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/amaya.mml b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/amaya.mml
new file mode 100644
index 00000000000..d03219b9ab5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/amaya.mml
@@ -0,0 +1,104 @@
+ <!-- MathType@Translator@5@5@MathML (Amaya).tdl@MathML -- Amaya compatible@ -->
+<math displaystyle='true'>
+ <mtable columnalign='left'>
+ <mtr>
+ <mtd>
+ <mi>f</mi><mo stretchy='false'>(</mo><mo>&isin;</mo><mo>,</mo><mi>&delta;</mi><mi>s</mi><mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mi>&xi;</mi>
+ </mfrac>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mn>2</mn><mi>&pi;</mi><mi>i</mi>
+ </mrow>
+ </mfrac>
+ <msubsup>
+ <mo>&int;</mo>
+ <mrow>
+ <mi>c</mi><mo>-</mo><mi>i</mi><mi>&infin;</mi>
+ </mrow>
+ <mrow>
+ <mi>c</mi><mo>+</mo><mi>i</mi><mi>&infin;</mi>
+ </mrow>
+ </msubsup>
+ <mrow>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><msup>
+ <mi>e</mi>
+ <mrow>
+ <mi>&lambda;</mi><mi>s</mi>
+ </mrow>
+ </msup>
+ <mi>d</mi><mi>s</mi>
+ </mrow>
+
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><mo>=</mo><mtext>exp </mtext><mo stretchy='false'>[</mo><mi>k</mi><mo stretchy='false'>(</mo><mn>1</mn><mo>+</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&gamma;</mi><mo stretchy='false'>)</mo><mo stretchy='false'>]</mo><mtext> exp </mtext><mo stretchy='false'>[</mo><mi>&psi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><mo stretchy='false'>]</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&lambda;</mi>
+ <mi>u</mi>
+ </msub>
+ <mo>=</mo><mi>k</mi><mrow><mo>[</mo> <mrow>
+ <mfrac>
+ <mrow>
+ <mo>&isin;</mo><mo>-</mo><mover accent='true'>
+ <mo>&isin;</mo>
+ <mo>&horbar;</mo>
+ </mover>
+
+ </mrow>
+ <mi>&xi;</mi>
+ </mfrac>
+ <mo>-</mo><mo>-</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+
+ </mrow> <mo>]</mo></mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+
+</math>
+<!-- MathType@End@5@5@ -->
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsae.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsae.dtd
new file mode 100644
index 00000000000..b91f9642403
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsae.dtd
@@ -0,0 +1,259 @@
+
+<!--
+ ISOAMSA Characters alphabetically
+ Added Math Symbols: Arrow Relations Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOAMSAe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY angzarr "&#57928;"><!-- u+E248 angle with down zig-zag arrow ISOAMSA -->
+<!ENTITY bkarow "&#58373;"><!-- u+E405 right broken arrow MMALIAS rbarr-->
+<!ENTITY circlearrowleft "&#8634;"><!-- u+21BA left arr in circle MMALIAS olarr-->
+<!ENTITY circlearrowright "&#8635;"><!-- u+21BB right arr in circle MMALIAS orarr-->
+<!ENTITY cirmid "&#57936;"><!-- u+E250 circle, mid below ISOAMSA -->
+<!ENTITY cudarrl "&#57918;"><!-- u+E23E left, curved, down arrow ISOAMSA -->
+<!ENTITY cudarrr "&#58368;"><!-- u+E400 right, curved, down arrow ISOAMSA -->
+<!ENTITY cularr "&#8630;"><!-- u+21B6 left curved arrow ISOAMSA -->
+<!ENTITY cularrp "&#57930;"><!-- u+E24A curved left arrow with plus ISOAMSA -->
+<!ENTITY curarr "&#8631;"><!-- u+21B7 right curved arrow ISOAMSA -->
+<!ENTITY curarrm "&#57929;"><!-- u+E249 curved right arrow with minus ISOAMSA -->
+<!ENTITY curvearrowleft "&#8630;"><!-- u+21B6 left curved arrow MMALIAS cularr-->
+<!ENTITY curvearrowright "&#8631;"><!-- u+21B7 right curved arrow MMALIAS curarr-->
+<!ENTITY Darr "&#8609;"><!-- u+21A1 down two-headed arrow ISOAMSA -->
+<!ENTITY dArr "&#8659;"><!-- u+21D3 down double arrow ISOAMSA -->
+<!ENTITY dbkarow "&#57863;"><!-- u+E207 right doubly broken arrow MMALIAS rBarr-->
+<!ENTITY ddarr "&#8650;"><!-- u+21CA two down arrows ISOAMSA -->
+<!ENTITY DDotrahd "&#57912;"><!-- u+E238 right arrow with dotted stem ISOAMSA -->
+<!ENTITY dfisht "&#57932;"><!-- u+E24C down fish tail ISOAMSA -->
+<!ENTITY dHar "&#57895;"><!-- u+E227 down harpoon-left, down harpoon-right ISOAMSA -->
+<!ENTITY dharl "&#8643;"><!-- u+21C3 down harpoon-left ISOAMSA -->
+<!ENTITY dharr "&#8642;"><!-- u+21C2 down harpoon-rt ISOAMSA -->
+<!ENTITY DoubleDownArrow "&#8659;"><!-- u+21D3 down double arrow MMALIAS dArr-->
+<!ENTITY DoubleLeftRightArrow "&#8660;"><!-- u+21D4 left and right double arrow MMALIAS hArr-->
+<!ENTITY DoubleLongLeftArrow "&#57856;"><!-- u+E200 long left double arrow MMALIAS xlArr-->
+<!ENTITY DoubleLongLeftRightArrow "&#57858;"><!-- u+E202 long left and right double arr MMALIAS xhArr-->
+<!ENTITY DoubleLongRightArrow "&#57860;"><!-- u+E204 long right double arr MMALIAS xrArr-->
+<!ENTITY DoubleUpArrow "&#8657;"><!-- u+21D1 up double arrow MMALIAS uArr-->
+<!ENTITY DoubleUpDownArrow "&#8661;"><!-- u+21D5 up&down double arrow MMALIAS vArr-->
+<!ENTITY Downarrow "&#8659;"><!-- u+21D3 down double arrow MMALIAS dArr-->
+<!ENTITY DownArrowUpArrow "&#57878;"><!-- u+E216 down arrow, up arrow MMALIAS duarr-->
+<!ENTITY downdownarrows "&#8650;"><!-- u+21CA two down arrows MMALIAS ddarr-->
+<!ENTITY downharpoonleft "&#8643;"><!-- u+21C3 down harpoon-left MMALIAS dharl-->
+<!ENTITY downharpoonright "&#8642;"><!-- u+21C2 down harpoon-rt MMALIAS dharr-->
+<!ENTITY DownLeftVector "&#8637;"><!-- u+21BD left harpoon-down MMALIAS lhard-->
+<!ENTITY DownRightVector "&#8641;"><!-- u+21C1 right harpoon-down MMALIAS rhard-->
+<!ENTITY drbkarow "&#57865;"><!-- u+E209 twoheaded right broken arrow MMALIAS RBarr-->
+<!ENTITY duarr "&#57878;"><!-- u+E216 down arrow, up arrow ISOAMSA -->
+<!ENTITY duhar "&#57879;"><!-- u+E217 down harp, up harp ISOAMSA -->
+<!ENTITY dzigrarr "&#8669;"><!-- u+21DD right long zig-zag arrow ISOAMSA -->
+<!ENTITY Equilibrium "&#8652;"><!-- u+21CC right harp over l MMALIAS rlhar-->
+<!ENTITY erarr "&#57910;"><!-- u+E236 equal, right arrow below ISOAMSA -->
+<!ENTITY hArr "&#8660;"><!-- u+21D4 left and right double arrow ISOAMSA -->
+<!ENTITY harr "&#8596;"><!-- u+2194 left and right arrow ISOAMSA -->
+<!ENTITY harrcir "&#57920;"><!-- u+E240 left and right arrow with a circle ISOAMSA -->
+<!ENTITY harrw "&#8621;"><!-- u+21AD left and right arr-wavy ISOAMSA -->
+<!ENTITY hksearow "&#57867;"><!-- u+E20B SE arrow-hooked MMALIAS searhk-->
+<!ENTITY hkswarow "&#57866;"><!-- u+E20A SW arrow-hooked MMALIAS swarhk-->
+<!ENTITY hoarr "&#57923;"><!-- u+E243 horizontal open arrow ISOAMSA -->
+<!ENTITY hookleftarrow "&#8617;"><!-- u+21A9 left arrow-hooked MMALIAS larrhk-->
+<!ENTITY hookrightarrow "&#8618;"><!-- u+21AA right arrow-hooked MMALIAS rarrhk-->
+<!ENTITY imof "&#8887;"><!-- u+22B7 image of ISOAMSA -->
+<!ENTITY lAarr "&#8666;"><!-- u+21DA left triple arrow ISOAMSA -->
+<!ENTITY Larr "&#8606;"><!-- u+219E twoheadleftarrow ISOAMSA -->
+<!ENTITY larrbfs "&#57888;"><!-- u+E220 left arrow-bar, filled square ISOAMSA -->
+<!ENTITY larrfs "&#57890;"><!-- u+E222 left arrow, filled square ISOAMSA -->
+<!ENTITY larrhk "&#8617;"><!-- u+21A9 left arrow-hooked ISOAMSA -->
+<!ENTITY larrlp "&#8619;"><!-- u+21AB left arrow-looped ISOAMSA -->
+<!ENTITY larrpl "&#57919;"><!-- u+E23F left arrow, plus ISOAMSA -->
+<!ENTITY larrsim "&#57934;"><!-- u+E24E left arrow, similar ISOAMSA -->
+<!ENTITY larrtl "&#8610;"><!-- u+21A2 left arrow-tailed ISOAMSA -->
+<!ENTITY lAtail "&#57917;"><!-- u+E23D left double arrow-tail ISOAMSA -->
+<!ENTITY latail "&#57916;"><!-- u+E23C left arrow-tail ISOAMSA -->
+<!ENTITY lBarr "&#57862;"><!-- u+E206 left doubly broken arrow ISOAMSA -->
+<!ENTITY lbarr "&#58370;"><!-- u+E402 left broken arrow ISOAMSA -->
+<!ENTITY ldca "&#57882;"><!-- u+E21A left down curved arrow ISOAMSA -->
+<!ENTITY ldrdhar "&#57900;"><!-- u+E22C left harpoon-down over right harpoon-down ISOAMSA -->
+<!ENTITY ldrushar "&#57896;"><!-- u+E228 left-down-right-up harpoon ISOAMSA -->
+<!ENTITY ldsh "&#8626;"><!-- u+21B2 left down angled arrow ISOAMSA -->
+<!ENTITY LeftArrowRightArrow "&#8646;"><!-- u+21C6 left arr over right arr MMALIAS lrarr-->
+<!ENTITY leftarrowtail "&#8610;"><!-- u+21A2 left arrow-tailed MMALIAS larrtl-->
+<!ENTITY LeftDownVector "&#8643;"><!-- u+21C3 down harpoon-left MMALIAS dharl-->
+<!ENTITY leftharpoondown "&#8637;"><!-- u+21BD left harpoon-down MMALIAS lhard-->
+<!ENTITY leftharpoonup "&#8636;"><!-- u+21BC left harpoon-up MMALIAS lharu-->
+<!ENTITY leftleftarrows "&#8647;"><!-- u+21C7 two left arrows MMALIAS llarr-->
+<!ENTITY LeftRightArrow "&#8596;"><!-- u+2194 left and right arrow MMALIAS harr-->
+<!ENTITY Leftrightarrow "&#8660;"><!-- u+21D4 left and right double arrow MMALIAS hArr-->
+<!ENTITY leftrightarrow "&#8596;"><!-- u+2194 left and right arrow MMALIAS harr-->
+<!ENTITY leftrightarrows "&#8646;"><!-- u+21C6 left arr over right arr MMALIAS lrarr-->
+<!ENTITY leftrightharpoons "&#8651;"><!-- u+21CB left harp over r MMALIAS lrhar-->
+<!ENTITY leftrightsquigarrow "&#8621;"><!-- u+21AD left and right arr-wavy MMALIAS harrw-->
+<!ENTITY LeftUpVector "&#8639;"><!-- u+21BF up harpoon-left MMALIAS uharl-->
+<!ENTITY LeftVector "&#8636;"><!-- u+21BC left harpoon-up MMALIAS lharu-->
+<!ENTITY lfisht "&#57876;"><!-- u+E214 left fish tail ISOAMSA -->
+<!ENTITY lHar "&#57893;"><!-- u+E225 left harpoon-up over left harpoon-down ISOAMSA -->
+<!ENTITY lhard "&#8637;"><!-- u+21BD left harpoon-down ISOAMSA -->
+<!ENTITY lharu "&#8636;"><!-- u+21BC left harpoon-up ISOAMSA -->
+<!ENTITY lharul "&#57902;"><!-- u+E22E left harpoon-up over long dash ISOAMSA -->
+<!ENTITY llarr "&#8647;"><!-- u+21C7 two left arrows ISOAMSA -->
+<!ENTITY Lleftarrow "&#8666;"><!-- u+21DA left triple arrow MMALIAS lAarr-->
+<!ENTITY llhard "&#57905;"><!-- u+E231 left harpoon-down below long dash ISOAMSA -->
+<!ENTITY loarr "&#57922;"><!-- u+E242 left open arrow ISOAMSA -->
+<!ENTITY LongLeftArrow "&#57857;"><!-- u+E201 long left arrow MMALIAS xlarr-->
+<!ENTITY Longleftarrow "&#57856;"><!-- u+E200 long left double arrow MMALIAS xlArr-->
+<!ENTITY longleftarrow "&#57857;"><!-- u+E201 long left arrow MMALIAS xlarr-->
+<!ENTITY LongLeftRightArrow "&#57859;"><!-- u+E203 long left and right arr MMALIAS xharr-->
+<!ENTITY Longleftrightarrow "&#57858;"><!-- u+E202 long left and right double arr MMALIAS xhArr-->
+<!ENTITY longleftrightarrow "&#57859;"><!-- u+E203 long left and right arr MMALIAS xharr-->
+<!ENTITY longmapsto "&#57864;"><!-- u+E208 longmapsto MMALIAS xmap-->
+<!ENTITY LongRightArrow "&#57861;"><!-- u+E205 long right arrow MMALIAS xrarr-->
+<!ENTITY Longrightarrow "&#57860;"><!-- u+E204 long right double arr MMALIAS xrArr-->
+<!ENTITY longrightarrow "&#57861;"><!-- u+E205 long right arrow MMALIAS xrarr-->
+<!ENTITY looparrowleft "&#8619;"><!-- u+21AB left arrow-looped MMALIAS larrlp-->
+<!ENTITY looparrowright "&#8620;"><!-- u+21AC right arrow-looped MMALIAS rarrlp-->
+<!ENTITY LowerLeftArrow "&#8601;"><!-- u+2199 SW pointing arrow MMALIAS swarr-->
+<!ENTITY LowerRightArrow "&#8600;"><!-- u+2198 SE pointing arrow MMALIAS searr-->
+<!ENTITY lrarr "&#8646;"><!-- u+21C6 left arr over right arr ISOAMSA -->
+<!ENTITY lrhar "&#8651;"><!-- u+21CB left harp over r ISOAMSA -->
+<!ENTITY lrhard "&#57903;"><!-- u+E22F right harpoon-down below long dash ISOAMSA -->
+<!ENTITY Lsh "&#8624;"><!-- u+21B0 Lsh MMALIAS lsh-->
+<!ENTITY lsh "&#8624;"><!-- u+21B0 Lsh ISOAMSA -->
+<!ENTITY lurdshar "&#57897;"><!-- u+E229 left-up-right-down harpoon ISOAMSA -->
+<!ENTITY luruhar "&#57899;"><!-- u+E22B left harpoon-up over right harpoon-up ISOAMSA -->
+<!ENTITY Map "&#57874;"><!-- u+E212 twoheaded mapsto ISOAMSA -->
+<!ENTITY map "&#8614;"><!-- u+21A6 mapsto ISOAMSA -->
+<!ENTITY mapsto "&#8614;"><!-- u+21A6 mapsto MMALIAS map-->
+<!ENTITY midcir "&#57871;"><!-- u+E20F mid, circle below ISOAMSA -->
+<!ENTITY multimap "&#8888;"><!-- u+22B8 multimap MMALIAS mumap-->
+<!ENTITY mumap "&#8888;"><!-- u+22B8 multimap ISOAMSA -->
+<!ENTITY nearhk "&#57869;"><!-- u+E20D NE arrow-hooked ISOAMSA -->
+<!ENTITY neArr "&#8663;"><!-- u+21D7 NE pointing double arrow ISOAMSA -->
+<!ENTITY nearr "&#8599;"><!-- u+2197 NE pointing arrow ISOAMSA -->
+<!ENTITY nearrow "&#8599;"><!-- u+2197 NE pointing arrow MMALIAS nearr-->
+<!ENTITY nesear "&#57870;"><!-- u+E20E NE & SE arrows ISOAMSA -->
+<!ENTITY nhArr "&#8654;"><!-- u+21CE not left and right double arr ISOAMSA -->
+<!ENTITY nharr "&#8622;"><!-- u+21AE not left and right arrow ISOAMSA -->
+<!ENTITY nlArr "&#8653;"><!-- u+21CD not implied by ISOAMSA -->
+<!ENTITY nlarr "&#8602;"><!-- u+219A not left arrow ISOAMSA -->
+<!ENTITY nLeftarrow "&#8653;"><!-- u+21CD not implied by MMALIAS nlArr-->
+<!ENTITY nleftarrow "&#8602;"><!-- u+219A not left arrow MMALIAS nlarr-->
+<!ENTITY nLeftrightarrow "&#8654;"><!-- u+21CE not left and right double arr MMALIAS nhArr-->
+<!ENTITY nleftrightarrow "&#8622;"><!-- u+21AE not left and right arrow MMALIAS nharr-->
+<!ENTITY nrArr "&#8655;"><!-- u+21CF not implies ISOAMSA -->
+<!ENTITY nrarr "&#8603;"><!-- u+219B not right arrow ISOAMSA -->
+<!ENTITY nrarrc "&#57885;"><!-- u+E21D not right arrow-curved ISOAMSA -->
+<!ENTITY nrarrw "&#57883;"><!-- u+E21B not right arrow-wavy ISOAMSA -->
+<!ENTITY nRightarrow "&#8655;"><!-- u+21CF not implies MMALIAS nrArr-->
+<!ENTITY nrightarrow "&#8603;"><!-- u+219B not right arrow MMALIAS nrarr-->
+<!-- nvhArr* removed * here (DPC) -->
+<!ENTITY nvhArr "&#8654;"><!-- u+21CE not, vert, left and right double arrow ISOAMSA -->
+<!ENTITY nvlArr "&#8653;"><!-- u+21CD not, vert, left double arrow ISOAMSA -->
+<!ENTITY nvrArr "&#8655;"><!-- u+21CF not, vert, right double arrow ISOAMSA -->
+<!ENTITY nwarhk "&#57868;"><!-- u+E20C NW arrow-hooked ISOAMSA -->
+<!ENTITY nwArr "&#8662;"><!-- u+21D6 NW pointing double arrow ISOAMSA -->
+<!ENTITY nwarr "&#8598;"><!-- u+2196 NW pointing arrow ISOAMSA -->
+<!ENTITY nwarrow "&#8598;"><!-- u+2196 NW pointing arrow MMALIAS nwarr-->
+<!ENTITY nwnear "&#57873;"><!-- u+E211 NW & NE arrows ISOAMSA -->
+<!ENTITY olarr "&#8634;"><!-- u+21BA left arr in circle ISOAMSA -->
+<!ENTITY orarr "&#8635;"><!-- u+21BB right arr in circle ISOAMSA -->
+<!ENTITY origof "&#8886;"><!-- u+22B6 original of ISOAMSA -->
+<!ENTITY rAarr "&#8667;"><!-- u+21DB right triple arrow ISOAMSA -->
+<!ENTITY Rarr "&#8608;"><!-- u+21A0 twoheadrightarrow ISOAMSA -->
+<!ENTITY rarrap "&#57909;"><!-- u+E235 approximate, right arrow above ISOAMSA -->
+<!ENTITY rarrbfs "&#57889;"><!-- u+E221 right arrow-bar, filled square ISOAMSA -->
+<!ENTITY rarrc "&#57884;"><!-- u+E21C right arrow-curved ISOAMSA -->
+<!ENTITY rarrfs "&#57891;"><!-- u+E223 right arrow, filled square ISOAMSA -->
+<!ENTITY rarrhk "&#8618;"><!-- u+21AA right arrow-hooked ISOAMSA -->
+<!ENTITY rarrlp "&#8620;"><!-- u+21AC right arrow-looped ISOAMSA -->
+<!ENTITY rarrpl "&#57886;"><!-- u+E21E right arrow, plus ISOAMSA -->
+<!ENTITY rarrsim "&#57933;"><!-- u+E24D right arrow, similar ISOAMSA -->
+<!ENTITY Rarrtl "&#57913;"><!-- u+E239 right two-headed arrow with tail ISOAMSA -->
+<!ENTITY rarrtl "&#8611;"><!-- u+21A3 right arrow-tailed ISOAMSA -->
+<!ENTITY rarrw "&#8605;"><!-- u+219D right arrow-wavy ISOAMSA -->
+<!ENTITY rAtail "&#57915;"><!-- u+E23B right double arrow-tail ISOAMSA -->
+<!ENTITY ratail "&#8611;"><!-- u+21A3 right arrow-tail ISOAMSA -->
+<!ENTITY RBarr "&#57865;"><!-- u+E209 twoheaded right broken arrow ISOAMSA -->
+<!ENTITY rBarr "&#57863;"><!-- u+E207 right doubly broken arrow ISOAMSA -->
+<!ENTITY rbarr "&#58373;"><!-- u+E405 right broken arrow ISOAMSA -->
+<!ENTITY rdca "&#57881;"><!-- u+E219 right down curved arrow ISOAMSA -->
+<!ENTITY rdldhar "&#57901;"><!-- u+E22D right harpoon-down over left harpoon-down ISOAMSA -->
+<!ENTITY rdsh "&#8627;"><!-- u+21B3 right down angled arrow ISOAMSA -->
+<!ENTITY ReverseEquilibrium "&#8651;"><!-- u+21CB left harp over r MMALIAS lrhar-->
+<!ENTITY ReverseUpEquilibrium "&#57879;"><!-- u+E217 down harp, up harp MMALIAS duhar-->
+<!ENTITY rfisht "&#57877;"><!-- u+E215 right fish tail ISOAMSA -->
+<!ENTITY rHar "&#57892;"><!-- u+E224 right harpoon-up over right harpoon-down ISOAMSA -->
+<!ENTITY rhard "&#8641;"><!-- u+21C1 right harpoon-down ISOAMSA -->
+<!ENTITY rharu "&#8640;"><!-- u+21C0 right harpoon-up ISOAMSA -->
+<!ENTITY rharul "&#57904;"><!-- u+E230 right harpoon-up over long dash ISOAMSA -->
+<!ENTITY RightArrowLeftArrow "&#8644;"><!-- u+21C4 right arr over left arr MMALIAS rlarr-->
+<!ENTITY rightarrowtail "&#8611;"><!-- u+21A3 right arrow-tailed MMALIAS rarrtl-->
+<!ENTITY RightDownVector "&#8642;"><!-- u+21C2 down harpoon-rt MMALIAS dharr-->
+<!ENTITY rightharpoondown "&#8641;"><!-- u+21C1 right harpoon-down MMALIAS rhard-->
+<!ENTITY rightharpoonup "&#8640;"><!-- u+21C0 right harpoon-up MMALIAS rharu-->
+<!ENTITY rightleftarrows "&#8644;"><!-- u+21C4 right arr over left arr MMALIAS rlarr-->
+<!ENTITY rightleftharpoons "&#8652;"><!-- u+21CC right harp over l MMALIAS rlhar-->
+<!ENTITY rightrightarrows "&#8649;"><!-- u+21C9 two right arrows MMALIAS rrarr-->
+<!ENTITY rightsquigarrow "&#8605;"><!-- u+219D right arrow-wavy MMALIAS rarrw-->
+<!ENTITY RightTeeArrow "&#8614;"><!-- u+21A6 mapsto MMALIAS map-->
+<!ENTITY RightUpVector "&#8638;"><!-- u+21BE up harp-r MMALIAS uharr-->
+<!ENTITY RightVector "&#8640;"><!-- u+21C0 right harpoon-up MMALIAS rharu-->
+<!ENTITY rlarr "&#8644;"><!-- u+21C4 right arr over left arr ISOAMSA -->
+<!ENTITY rlhar "&#8652;"><!-- u+21CC right harp over l ISOAMSA -->
+<!ENTITY roarr "&#57921;"><!-- u+E241 right open arrow ISOAMSA -->
+<!ENTITY rrarr "&#8649;"><!-- u+21C9 two right arrows ISOAMSA -->
+<!ENTITY Rrightarrow "&#8667;"><!-- u+21DB right triple arrow MMALIAS rAarr-->
+<!ENTITY Rsh "&#8625;"><!-- u+21B1 Rsh MMALIAS rsh-->
+<!ENTITY rsh "&#8625;"><!-- u+21B1 Rsh ISOAMSA -->
+<!ENTITY ruluhar "&#57898;"><!-- u+E22A right harpoon-up over left harpoon-up ISOAMSA -->
+<!ENTITY searhk "&#57867;"><!-- u+E20B SE arrow-hooked ISOAMSA -->
+<!ENTITY seArr "&#8664;"><!-- u+21D8 SE pointing double arrow ISOAMSA -->
+<!ENTITY searr "&#8600;"><!-- u+2198 SE pointing arrow ISOAMSA -->
+<!ENTITY searrow "&#8600;"><!-- u+2198 SE pointing arrow MMALIAS searr-->
+<!ENTITY seswar "&#58374;"><!-- u+E406 SE & SW arrows ISOAMSA -->
+<!ENTITY ShortLeftArrow "&#57907;"><!-- u+E233 short left arrow MMALIAS slarr-->
+<!ENTITY ShortRightArrow "&#57906;"><!-- u+E232 short right arrow MMALIAS srarr-->
+<!ENTITY simrarr "&#57908;"><!-- u+E234 similar, right arrow below ISOAMSA -->
+<!ENTITY slarr "&#57907;"><!-- u+E233 short left arrow ISOAMSA -->
+<!ENTITY srarr "&#57906;"><!-- u+E232 short right arrow ISOAMSA -->
+<!ENTITY swarhk "&#57866;"><!-- u+E20A SW arrow-hooked ISOAMSA -->
+<!ENTITY swArr "&#8665;"><!-- u+21D9 SW pointing double arrow ISOAMSA -->
+<!ENTITY swarr "&#8601;"><!-- u+2199 SW pointing arrow ISOAMSA -->
+<!ENTITY swarrow "&#8601;"><!-- u+2199 SW pointing arrow MMALIAS swarr-->
+<!ENTITY swnwar "&#57872;"><!-- u+E210 SW & NW arrows ISOAMSA -->
+<!ENTITY toea "&#57870;"><!-- u+E20E NE & SE arrows MMALIAS nesear-->
+<!ENTITY tosa "&#58374;"><!-- u+E406 SE & SW arrows MMALIAS seswar-->
+<!ENTITY twoheadleftarrow "&#8606;"><!-- u+219E twoheadleftarrow MMALIAS Larr-->
+<!ENTITY twoheadrightarrow "&#8608;"><!-- u+21A0 twoheadrightarrow MMALIAS Rarr-->
+<!ENTITY Uarr "&#8607;"><!-- u+219F up two-headed arrow ISOAMSA -->
+<!ENTITY uArr "&#8657;"><!-- u+21D1 up double arrow ISOAMSA -->
+<!ENTITY Uarrocir "&#57911;"><!-- u+E237 up two-headed arrow above circle ISOAMSA -->
+<!ENTITY udarr "&#8645;"><!-- u+21C5 up arrow, down arrow ISOAMSA -->
+<!ENTITY udhar "&#57880;"><!-- u+E218 up harp, down harp ISOAMSA -->
+<!ENTITY ufisht "&#57931;"><!-- u+E24B up fish tail ISOAMSA -->
+<!ENTITY uHar "&#57894;"><!-- u+E226 up harpoon-left, up harpoon-right ISOAMSA -->
+<!ENTITY uharl "&#8639;"><!-- u+21BF up harpoon-left ISOAMSA -->
+<!ENTITY uharr "&#8638;"><!-- u+21BE up harp-r ISOAMSA -->
+<!ENTITY Uparrow "&#8657;"><!-- u+21D1 up double arrow MMALIAS uArr-->
+<!ENTITY UpArrowDownArrow "&#8645;"><!-- u+21C5 up arrow, down arrow MMALIAS udarr-->
+<!ENTITY UpDownArrow "&#8597;"><!-- u+2195 up&down arrow MMALIAS varr-->
+<!ENTITY Updownarrow "&#8661;"><!-- u+21D5 up&down double arrow MMALIAS vArr-->
+<!ENTITY updownarrow "&#8597;"><!-- u+2195 up&down arrow MMALIAS varr-->
+<!ENTITY UpEquilibrium "&#57880;"><!-- u+E218 up harp, down harp MMALIAS udhar-->
+<!ENTITY upharpoonleft "&#8639;"><!-- u+21BF up harpoon-left MMALIAS uharl-->
+<!ENTITY upharpoonright "&#8638;"><!-- u+21BE up harp-r MMALIAS uharr-->
+<!ENTITY UpperLeftArrow "&#8598;"><!-- u+2196 NW pointing arrow MMALIAS nwarr-->
+<!ENTITY UpperRightArrow "&#8599;"><!-- u+2197 NE pointing arrow MMALIAS nearr-->
+<!ENTITY upuparrows "&#8648;"><!-- u+21C8 two up arrows MMALIAS uuarr-->
+<!ENTITY uuarr "&#8648;"><!-- u+21C8 two up arrows ISOAMSA -->
+<!ENTITY vArr "&#8661;"><!-- u+21D5 up&down double arrow ISOAMSA -->
+<!ENTITY varr "&#8597;"><!-- u+2195 up&down arrow ISOAMSA -->
+<!ENTITY xhArr "&#57858;"><!-- u+E202 long left and right double arr ISOAMSA -->
+<!ENTITY xharr "&#57859;"><!-- u+E203 long left and right arr ISOAMSA -->
+<!ENTITY xlArr "&#57856;"><!-- u+E200 long left double arrow ISOAMSA -->
+<!ENTITY xlarr "&#57857;"><!-- u+E201 long left arrow ISOAMSA -->
+<!ENTITY xmap "&#57864;"><!-- u+E208 longmapsto ISOAMSA -->
+<!ENTITY xrArr "&#57860;"><!-- u+E204 long right double arr ISOAMSA -->
+<!ENTITY xrarr "&#57861;"><!-- u+E205 long right arrow ISOAMSA -->
+<!ENTITY zigrarr "&#57924;"><!-- u+E244 right zig-zag arrow ISOAMSA -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsbe.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsbe.dtd
new file mode 100644
index 00000000000..06a3a32437f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsbe.dtd
@@ -0,0 +1,183 @@
+
+<!--
+ ISOAMSB Characters alphabetically
+ Added Math Symbols: Binary Operators Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOAMSBe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY ac "&#57863;"><!-- u+E207 most positive ISOAMSB -->
+<!ENTITY acE "&#58000;"><!-- u+E290 most positive, two lines below ISOAMSB -->
+<!ENTITY amalg "&#57937;"><!-- u+E251 amalgamation or coproduct ISOAMSB -->
+<!ENTITY ast "&#0042;"><!-- u+002A centered asterisk MMALIAS midast-->
+<!ENTITY Backslash "&#8726;"><!-- u+2216 reverse solidus MMALIAS setmn-->
+<!ENTITY barvee "&#8893;"><!-- u+22BD bar, vee ISOAMSB -->
+<!ENTITY Barwed "&#8966;"><!-- u+2306 logical and, double bar above ISOAMSB -->
+<!ENTITY barwed "&#8892;"><!-- u+22BC logical and, bar above ISOAMSB -->
+<!ENTITY barwedge "&#8892;"><!-- u+22BC logical and, bar above MMALIAS barwed-->
+<!ENTITY bigcap "&#8898;"><!-- u+22C2 intersection operator MMALIAS xcap-->
+<!ENTITY bigcirc "&#9943;"><!-- u+25EF large circle MMALIAS xcirc-->
+<!ENTITY bigcup "&#8899;"><!-- u+22C3 union operator MMALIAS xcup-->
+<!ENTITY bigodot "&#8857;"><!-- u+2299 circle dot operator MMALIAS xodot-->
+<!ENTITY bigoplus "&#8853;"><!-- u+2295 circle plus operator MMALIAS xoplus-->
+<!ENTITY bigotimes "&#8855;"><!-- u+2297 circle times operator MMALIAS xotime-->
+<!ENTITY bigsqcup "&#8852;"><!-- u+2294 square union operator MMALIAS xsqcup-->
+<!ENTITY bigtriangledown "&#9661;"><!-- u+25BD big down triangle, open MMALIAS xdtri-->
+<!ENTITY bigtriangleup "&#9651;"><!-- u+25B3 big up triangle, open MMALIAS xutri-->
+<!ENTITY biguplus "&#8846;"><!-- u+228E biguplus MMALIAS xuplus-->
+<!ENTITY bigvee "&#8897;"><!-- u+22C1 logical and operator MMALIAS xvee-->
+<!ENTITY bigwedge "&#8896;"><!-- u+22C0 logical or operator MMALIAS xwedge-->
+<!ENTITY boxminus "&#8863;"><!-- u+229F minus sign in box MMALIAS minusb-->
+<!ENTITY boxplus "&#8862;"><!-- u+229E plus sign in box MMALIAS plusb-->
+<!ENTITY boxtimes "&#8864;"><!-- u+22A0 multiply sign in box MMALIAS timesb-->
+<!ENTITY bsolb "&#57984;"><!-- u+E280 reverse solidus in square ISOAMSB -->
+<!ENTITY Cap "&#8914;"><!-- u+22D2 double intersection ISOAMSB -->
+<!ENTITY capand "&#57985;"><!-- u+E281 intersection, and ISOAMSB -->
+<!ENTITY capbrcup "&#57969;"><!-- u+E271 intersection, bar, union ISOAMSB -->
+<!ENTITY capcap "&#57971;"><!-- u+E273 intersection, intersection, joined ISOAMSB -->
+<!ENTITY capcup "&#57967;"><!-- u+E26F intersection above union ISOAMSB -->
+<!ENTITY capdot "&#57953;"><!-- u+E261 intersection, with dot ISOAMSB -->
+<!ENTITY caps "&#57973;"><!-- u+E275 intersection, serifs ISOAMSB -->
+<!ENTITY ccaps "&#57977;"><!-- u+E279 closed intersection, serifs ISOAMSB -->
+<!ENTITY ccups "&#57976;"><!-- u+E278 closed union, serifs ISOAMSB -->
+<!ENTITY ccupssm "&#57978;"><!-- u+E27A closed union, serifs, smash product ISOAMSB -->
+<!ENTITY circledast "&#8859;"><!-- u+229B asterisk in circle MMALIAS oast-->
+<!ENTITY circledcirc "&#8858;"><!-- u+229A small circle in circle MMALIAS ocir-->
+<!ENTITY circleddash "&#8861;"><!-- u+229D hyphen in circle MMALIAS odash-->
+<!ENTITY CircleDot "&#8857;"><!-- u+2299 middle dot in circle MMALIAS odot-->
+<!ENTITY CircleMinus "&#8854;"><!-- u+2296 minus sign in circle MMALIAS ominus-->
+<!ENTITY CirclePlus "&#8853;"><!-- u+2295 plus sign in circle MMALIAS oplus-->
+<!ENTITY CircleTimes "&#8855;"><!-- u+2297 multiply sign in circle MMALIAS otimes-->
+<!ENTITY coprod "&#8720;"><!-- u+2210 coproduct operator ISOAMSB -->
+<!ENTITY Coproduct "&#8720;"><!-- u+2210 coproduct operator MMALIAS coprod-->
+<!ENTITY Cup "&#8915;"><!-- u+22D3 double union ISOAMSB -->
+<!ENTITY cupbrcap "&#57968;"><!-- u+E270 union, bar, intersection ISOAMSB -->
+<!ENTITY cupcap "&#57966;"><!-- u+E26E union above intersection ISOAMSB -->
+<!ENTITY cupcup "&#57970;"><!-- u+E272 union, union, joined ISOAMSB -->
+<!ENTITY cupdot "&#8845;"><!-- u+228D union, with dot ISOAMSB -->
+<!ENTITY cupor "&#57986;"><!-- u+E282 union, or ISOAMSB -->
+<!ENTITY cups "&#57972;"><!-- u+E274 union, serifs ISOAMSB -->
+<!ENTITY curlyvee "&#8910;"><!-- u+22CE curly logical or MMALIAS cuvee-->
+<!ENTITY curlywedge "&#8911;"><!-- u+22CF curly logical and MMALIAS cuwed-->
+<!ENTITY cuvee "&#8910;"><!-- u+22CE curly logical or ISOAMSB -->
+<!ENTITY cuwed "&#8911;"><!-- u+22CF curly logical and ISOAMSB -->
+<!ENTITY Dagger "&#8225;"><!-- u+2021 double dagger relation ISOAMSB -->
+<!ENTITY dagger "&#8224;"><!-- u+2020 dagger relation ISOAMSB -->
+<!ENTITY ddagger "&#8225;"><!-- u+2021 double dagger relation MMALIAS Dagger-->
+<!ENTITY diam "&#8900;"><!-- u+22C4 open diamond ISOAMSB -->
+<!ENTITY diamond "&#8900;"><!-- u+22C4 open diamond MMALIAS diam-->
+<!ENTITY divideontimes "&#8903;"><!-- u+22C7 division on times MMALIAS divonx-->
+<!ENTITY divonx "&#8903;"><!-- u+22C7 division on times ISOAMSB -->
+<!ENTITY dotminus "&#8760;"><!-- u+2238 minus sign, dot above MMALIAS minusd-->
+<!ENTITY dotplus "&#8724;"><!-- u+2214 plus sign, dot above MMALIAS plusdo-->
+<!ENTITY dotsquare "&#8865;"><!-- u+22A1 small dot in box MMALIAS sdotb-->
+<!ENTITY doublebarwedge "&#8966;"><!-- u+2306 logical and, double bar above MMALIAS Barwed-->
+<!ENTITY eplus "&#57960;"><!-- u+E268 equal, plus ISOAMSB -->
+<!ENTITY hercon "&#8889;"><!-- u+22B9 hermitian conjugate matrix ISOAMSB -->
+<!ENTITY intcal "&#8890;"><!-- u+22BA intercal ISOAMSB -->
+<!ENTITY intercal "&#8890;"><!-- u+22BA intercal MMALIAS intcal-->
+<!ENTITY Intersection "&#8898;"><!-- u+22C2 intersection operator MMALIAS xcap-->
+<!ENTITY intprod "&#57945;"><!-- u+E259 interior product MMALIAS iprod-->
+<!ENTITY iprod "&#57945;"><!-- u+E259 interior product ISOAMSB -->
+<!ENTITY leftthreetimes "&#8907;"><!-- u+22CB leftthreetimes MMALIAS lthree-->
+<!ENTITY loplus "&#57948;"><!-- u+E25C plus sign in left half circle ISOAMSB -->
+<!ENTITY lotimes "&#57950;"><!-- u+E25E multiply sign in left half circle ISOAMSB -->
+<!ENTITY lthree "&#8907;"><!-- u+22CB leftthreetimes ISOAMSB -->
+<!ENTITY ltimes "&#8905;"><!-- u+22C9 times sign, left closed ISOAMSB -->
+<!ENTITY midast "&#8727;"><!-- u+2217 centered asterisk ISOAMSB -->
+<!ENTITY minusb "&#8863;"><!-- u+229F minus sign in box ISOAMSB -->
+<!ENTITY minusd "&#8760;"><!-- u+2238 minus sign, dot above ISOAMSB -->
+<!ENTITY minusdu "&#57947;"><!-- u+E25B minus sign, dot below ISOAMSB -->
+<!ENTITY ncap "&#57988;"><!-- u+E284 bar, intersection ISOAMSB -->
+<!ENTITY ncup "&#57987;"><!-- u+E283 bar, union ISOAMSB -->
+<!ENTITY oast "&#8859;"><!-- u+229B asterisk in circle ISOAMSB -->
+<!ENTITY ocir "&#8858;"><!-- u+229A small circle in circle ISOAMSB -->
+<!ENTITY odash "&#8861;"><!-- u+229D hyphen in circle ISOAMSB -->
+<!ENTITY odiv "&#57989;"><!-- u+E285 divide in circle ISOAMSB -->
+<!ENTITY odot "&#8857;"><!-- u+2299 middle dot in circle ISOAMSB -->
+<!ENTITY odsold "&#57990;"><!-- u+E286 dot, solidus, dot in circle ISOAMSB -->
+<!ENTITY ofcir "&#57991;"><!-- u+E287 filled circle in circle ISOAMSB -->
+<!ENTITY ogt "&#57993;"><!-- u+E289 greater-than in circle ISOAMSB -->
+<!ENTITY ohbar "&#57952;"><!-- u+E260 circle with horizontal bar ISOAMSB -->
+<!ENTITY olcir "&#58377;"><!-- u+E409 large circle in circle ISOAMSB -->
+<!ENTITY olt "&#57992;"><!-- u+E288 less-than in circle ISOAMSB -->
+<!ENTITY omid "&#58378;"><!-- u+E40A vertical bar in circle ISOAMSB -->
+<!ENTITY ominus "&#8854;"><!-- u+2296 minus sign in circle ISOAMSB -->
+<!ENTITY opar "&#57994;"><!-- u+E28A parallel in circle ISOAMSB -->
+<!ENTITY operp "&#57995;"><!-- u+E28B perpendicular in circle ISOAMSB -->
+<!ENTITY oplus "&#8853;"><!-- u+2295 plus sign in circle ISOAMSB -->
+<!ENTITY oslash "&#8856;"><!-- u+2298 solidus in circle MMALIAS osol-->
+<!ENTITY osol "&#8856;"><!-- u+2298 solidus in circle ISOAMSB -->
+<!ENTITY Otimes "&#57996;"><!-- u+E28C multiply sign in double circle ISOAMSB -->
+<!ENTITY otimes "&#8855;"><!-- u+2297 multiply sign in circle ISOAMSB -->
+<!ENTITY otimesas "&#57997;"><!-- u+E28D multiply sign in circle, circumflex accent ISOAMSB -->
+<!ENTITY ovbar "&#58379;"><!-- u+E40B circle with vertical bar ISOAMSB -->
+<!ENTITY plusacir "&#57962;"><!-- u+E26A plus, circumflex accent above ISOAMSB -->
+<!ENTITY plusb "&#8862;"><!-- u+229E plus sign in box ISOAMSB -->
+<!ENTITY pluscir "&#57958;"><!-- u+E266 plus, small circle above ISOAMSB -->
+<!ENTITY plusdo "&#8724;"><!-- u+2214 plus sign, dot above ISOAMSB -->
+<!ENTITY plusdu "&#57946;"><!-- u+E25A plus sign, dot below ISOAMSB -->
+<!ENTITY pluse "&#57959;"><!-- u+E267 plus, equals ISOAMSB -->
+<!ENTITY plussim "&#57964;"><!-- u+E26C plus, similar below ISOAMSB -->
+<!ENTITY plustwo "&#57961;"><!-- u+E269 plus, two; Nim-addition ISOAMSB -->
+<!ENTITY race "&#58380;"><!-- u+E40C reverse most positive, line below ISOAMSB -->
+<!ENTITY rightthreetimes "&#8908;"><!-- u+22CC rightthreetimes MMALIAS rthree-->
+<!ENTITY roplus "&#57949;"><!-- u+E25D plus sign in right half circle ISOAMSB -->
+<!ENTITY rotimes "&#58381;"><!-- u+E40D multiply sign in right half circle ISOAMSB -->
+<!ENTITY rthree "&#8908;"><!-- u+22CC rightthreetimes ISOAMSB -->
+<!ENTITY rtimes "&#8906;"><!-- u+22CA times sign, right closed ISOAMSB -->
+<!ENTITY sdot "&#8901;"><!-- u+22C5 small middle dot ISOAMSB -->
+<!ENTITY sdotb "&#8865;"><!-- u+22A1 small dot in box ISOAMSB -->
+<!ENTITY setminus "&#8726;"><!-- u+2216 reverse solidus MMALIAS setmn-->
+<!ENTITY setmn "&#8726;"><!-- u+2216 reverse solidus ISOAMSB -->
+<!ENTITY simplus "&#57963;"><!-- u+E26B plus, similar above ISOAMSB -->
+<!ENTITY smallsetminus "&#59460;"><!-- u+E844 sm reverse solidus MMALIAS ssetmn-->
+<!ENTITY smashp "&#57956;"><!-- u+E264 smash product ISOAMSB -->
+<!ENTITY solb "&#57983;"><!-- u+E27F solidus in square ISOAMSB -->
+<!ENTITY sqcap "&#8851;"><!-- u+2293 square intersection ISOAMSB -->
+<!ENTITY sqcaps "&#57975;"><!-- u+E277 square intersection, serifs ISOAMSB -->
+<!ENTITY sqcup "&#8852;"><!-- u+2294 square union ISOAMSB -->
+<!ENTITY sqcups "&#57974;"><!-- u+E276 square union, serifs ISOAMSB -->
+<!ENTITY SquareIntersection "&#8851;"><!-- u+2293 square intersection MMALIAS sqcap-->
+<!ENTITY SquareUnion "&#8852;"><!-- u+2294 square union MMALIAS sqcup-->
+<!ENTITY ssetmn "&#59460;"><!-- u+E844 sm reverse solidus ISOAMSB -->
+<!ENTITY sstarf "&#8902;"><!-- u+22C6 small star, filled, low ISOAMSB -->
+<!ENTITY Star "&#8902;"><!-- u+22C6 small star, filled, low MMALIAS sstarf-->
+<!ENTITY star "&#8902;"><!-- u+22C6 small star, filled, low MMALIAS sstarf-->
+<!ENTITY subdot "&#57954;"><!-- u+E262 subset, with dot ISOAMSB -->
+<!ENTITY Sum "&#8721;"><!-- u+2211 summation operator MMALIAS sum-->
+<!ENTITY sum "&#8721;"><!-- u+2211 summation operator ISOAMSB -->
+<!ENTITY supdot "&#57955;"><!-- u+E263 superset, with dot ISOAMSB -->
+<!ENTITY timesb "&#8864;"><!-- u+22A0 multiply sign in box ISOAMSB -->
+<!ENTITY timesbar "&#57998;"><!-- u+E28E multiply sign, bar below ISOAMSB -->
+<!ENTITY timesd "&#57965;"><!-- u+E26D times, dot ISOAMSB -->
+<!ENTITY tridot "&#9708;"><!-- u+25EC dot in triangle ISOAMSB -->
+<!ENTITY triminus "&#57980;"><!-- u+E27C minus in triangle ISOAMSB -->
+<!ENTITY triplus "&#57979;"><!-- u+E27B plus in triangle ISOAMSB -->
+<!ENTITY trisb "&#57982;"><!-- u+E27E triangle, serifs at bottom ISOAMSB -->
+<!ENTITY tritime "&#57981;"><!-- u+E27D multiply in triangle ISOAMSB -->
+<!ENTITY Union "&#8899;"><!-- u+22C3 union operator MMALIAS xcup-->
+<!ENTITY UnionPlus "&#8846;"><!-- u+228E plus sign in union MMALIAS uplus-->
+<!ENTITY uplus "&#8846;"><!-- u+228E plus sign in union ISOAMSB -->
+<!ENTITY Vee "&#8897;"><!-- u+22C1 logical and operator MMALIAS xvee-->
+<!ENTITY veebar "&#8891;"><!-- u+22BB logical or, bar below ISOAMSB -->
+<!ENTITY VerticalTilde "&#8768;"><!-- u+2240 wreath product MMALIAS wreath-->
+<!ENTITY wedbar "&#57957;"><!-- u+E265 wedge, bar below ISOAMSB -->
+<!ENTITY Wedge "&#8896;"><!-- u+22C0 logical or operator MMALIAS xwedge-->
+<!ENTITY wr "&#8768;"><!-- u+2240 wreath product MMALIAS wreath-->
+<!ENTITY wreath "&#8768;"><!-- u+2240 wreath product ISOAMSB -->
+<!ENTITY xcap "&#8898;"><!-- u+22C2 intersection operator ISOAMSB -->
+<!ENTITY xcirc "&#9943;"><!-- u+25EF large circle ISOAMSB -->
+<!ENTITY xcup "&#8899;"><!-- u+22C3 union operator ISOAMSB -->
+<!ENTITY xdtri "&#9661;"><!-- u+25BD big down triangle, open ISOAMSB -->
+<!ENTITY xodot "&#8857;"><!-- u+2299 circle dot operator ISOAMSB -->
+<!ENTITY xoplus "&#8853;"><!-- u+2295 circle plus operator ISOAMSB -->
+<!ENTITY xotime "&#8855;"><!-- u+2297 circle times operator ISOAMSB -->
+<!ENTITY xsqcup "&#8852;"><!-- u+2294 square union operator ISOAMSB -->
+<!ENTITY xuplus "&#8846;"><!-- u+228E biguplus ISOAMSB -->
+<!ENTITY xutri "&#9651;"><!-- u+25B3 big up triangle, open ISOAMSB -->
+<!ENTITY xvee "&#8897;"><!-- u+22C1 logical and operator ISOAMSB -->
+<!ENTITY xwedge "&#8896;"><!-- u+22C0 logical or operator ISOAMSB -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsce.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsce.dtd
new file mode 100644
index 00000000000..d9e80b6d1f8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsce.dtd
@@ -0,0 +1,43 @@
+
+<!--
+ ISOAMSC Characters alphabetically
+ Added Math Symbols: Delimiters Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOAMSCe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY dlcorn "&#8990;"><!-- u+231E lower left corner ISOAMSC -->
+<!ENTITY drcorn "&#8991;"><!-- u+231F lower right corner ISOAMSC -->
+<!ENTITY gtlPar "&#58006;"><!-- u+E296 double left parenthesis, greater ISOAMSC -->
+<!ENTITY langd "&#58007;"><!-- u+E297 left angle, dot ISOAMSC -->
+<!ENTITY lbrke "&#58009;"><!-- u+E299 left bracket, equal ISOAMSC -->
+<!ENTITY lbrksld "&#58013;"><!-- u+E29D left bracket, solidus bottom corner ISOAMSC -->
+<!ENTITY lbrkslu "&#58011;"><!-- u+E29B left bracket, solidus top corner ISOAMSC -->
+<!ENTITY lceil "&#8968;"><!-- u+2308 left ceiling ISOAMSC -->
+<!ENTITY LeftCeiling "&#8968;"><!-- u+2308 left ceiling MMALIAS lceil-->
+<!ENTITY LeftFloor "&#8970;"><!-- u+230A left floor MMALIAS lfloor-->
+<!ENTITY lfloor "&#8970;"><!-- u+230A left floor ISOAMSC -->
+<!ENTITY llcorner "&#8990;"><!-- u+231E lower left corner MMALIAS dlcorn-->
+<!ENTITY lmoust "&#58004;"><!-- u+E294 left moustache ISOAMSC -->
+<!ENTITY lmoustache "&#58004;"><!-- u+E294 left moustache MMALIAS lmoust-->
+<!ENTITY lparlt "&#58002;"><!-- u+E292 left parenthesis, lt ISOAMSC -->
+<!ENTITY lrcorner "&#8991;"><!-- u+231F lower right corner MMALIAS drcorn-->
+<!ENTITY ltrPar "&#58005;"><!-- u+E295 double right parenthesis, less ISOAMSC -->
+<!ENTITY rangd "&#58008;"><!-- u+E298 right angle, dot ISOAMSC -->
+<!ENTITY rbrke "&#58010;"><!-- u+E29A right bracket, equal ISOAMSC -->
+<!ENTITY rbrksld "&#58012;"><!-- u+E29C right bracket, solidus bottom corner ISOAMSC -->
+<!ENTITY rbrkslu "&#58014;"><!-- u+E29E right bracket, solidus top corner ISOAMSC -->
+<!ENTITY rceil "&#8969;"><!-- u+2309 right ceiling ISOAMSC -->
+<!ENTITY rfloor "&#8971;"><!-- u+230B right floor ISOAMSC -->
+<!ENTITY RightCeiling "&#8969;"><!-- u+2309 right ceiling MMALIAS rceil-->
+<!ENTITY RightFloor "&#8971;"><!-- u+230B right floor MMALIAS rfloor-->
+<!ENTITY rmoust "&#58003;"><!-- u+E293 right moustache ISOAMSC -->
+<!ENTITY rmoustache "&#58003;"><!-- u+E293 right moustache MMALIAS rmoust-->
+<!ENTITY rpargt "&#58001;"><!-- u+E291 right paren, gt ISOAMSC -->
+<!ENTITY ulcorn "&#8988;"><!-- u+231C upper left corner ISOAMSC -->
+<!ENTITY ulcorner "&#8988;"><!-- u+231C upper left corner MMALIAS ulcorn-->
+<!ENTITY urcorn "&#8989;"><!-- u+231D upper right corner ISOAMSC -->
+<!ENTITY urcorner "&#8989;"><!-- u+231D upper right corner MMALIAS urcorn-->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsne.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsne.dtd
new file mode 100644
index 00000000000..2994a67477e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsne.dtd
@@ -0,0 +1,187 @@
+
+<!--
+ ISOAMSN Characters alphabetically
+ Added Math Symbols: Negated Relations Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOAMSNe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY gnap "&#58385;"><!-- u+E411 greater, not approximate ISOAMSN -->
+<!ENTITY gnapprox "&#58385;"><!-- u+E411 greater, not approximate MMALIAS gnap-->
+<!ENTITY gnE "&#8809;"><!-- u+2269 greater, not double equals ISOAMSN -->
+<!ENTITY gne "&#8809;"><!-- u+2269 greater, not equals ISOAMSN -->
+<!ENTITY gneq "&#8809;"><!-- u+2269 greater, not equals MMALIAS gne-->
+<!ENTITY gneqq "&#8809;"><!-- u+2269 greater, not double equals MMALIAS gnE-->
+<!ENTITY gnsim "&#8935;"><!-- u+22E7 greater, not similar ISOAMSN -->
+<!ENTITY gvertneqq "&#58017;"><!-- u+E2A1 gt, vert, not double equals MMALIAS gvnE-->
+<!ENTITY gvnE "&#58017;"><!-- u+E2A1 gt, vert, not double equals ISOAMSN -->
+<!ENTITY lnap "&#58018;"><!-- u+E2A2 less, not approximate ISOAMSN -->
+<!ENTITY lnapprox "&#58018;"><!-- u+E2A2 less, not approximate MMALIAS lnap-->
+<!ENTITY lnE "&#8808;"><!-- u+2268 less, not double equals ISOAMSN -->
+<!ENTITY lne "&#8808;"><!-- u+2268 less, not equals ISOAMSN -->
+<!ENTITY lneq "&#8808;"><!-- u+2268 less, not equals MMALIAS lne-->
+<!ENTITY lneqq "&#8808;"><!-- u+2268 less, not double equals MMALIAS lnE-->
+<!ENTITY lnsim "&#8934;"><!-- u+22E6 less, not similar ISOAMSN -->
+<!ENTITY lvertneqq "&#58020;"><!-- u+E2A4 less, vert, not double equals MMALIAS lvnE-->
+<!ENTITY lvnE "&#58020;"><!-- u+E2A4 less, vert, not double equals ISOAMSN -->
+<!ENTITY nap "&#8777;"><!-- u+2249 not approximate ISOAMSN -->
+<!ENTITY napE "&#58055;"><!-- u+E2C7 not approximately equal or equal to ISOAMSN -->
+<!ENTITY napid "&#58044;"><!-- u+E2BC not approximately identical to ISOAMSN -->
+<!ENTITY napprox "&#8777;"><!-- u+2249 not approximate MMALIAS nap-->
+<!ENTITY ncong "&#8775;"><!-- u+2247 not congruent with ISOAMSN -->
+<!ENTITY ncongdot "&#58053;"><!-- u+E2C5 not congruent, dot ISOAMSN -->
+<!ENTITY nequiv "&#8802;"><!-- u+2262 not identical with ISOAMSN -->
+<!ENTITY ngE "&#8817;"><!-- u+2271 not greater, double equals ISOAMSN -->
+<!ENTITY nge "&#58022;"><!-- u+E2A6 not greater-than-or-equal ISOAMSN -->
+<!ENTITY ngeq "&#58022;"><!-- u+E2A6 not greater-than-or-equal MMALIAS nge-->
+<!ENTITY ngeqq "&#8817;"><!-- u+2271 not greater, double equals MMALIAS ngE-->
+<!ENTITY ngeqslant "&#8817;"><!-- u+2271 not gt-or-equals, slanted MMALIAS nges-->
+<!ENTITY nges "&#8817;"><!-- u+2271 not gt-or-equals, slanted ISOAMSN -->
+<!ENTITY nGg "&#58062;"><!-- u+E2CE not triple greater than ISOAMSN -->
+<!ENTITY ngsim "&#8821;"><!-- u+2275 not greater, similar ISOAMSN -->
+<!ENTITY nGt "&#58058;"><!-- u+E2CA not, vert, much greater than ISOAMSN -->
+<!ENTITY ngt "&#8815;"><!-- u+226F not greater-than ISOAMSN -->
+<!ENTITY ngtr "&#8815;"><!-- u+226F not greater-than MMALIAS ngt-->
+<!ENTITY nGtv "&#58060;"><!-- u+E2CC not much greater than, variant ISOAMSN -->
+<!ENTITY nlE "&#8816;"><!-- u+2270 not less, double equals ISOAMSN -->
+<!ENTITY nle "&#58023;"><!-- u+E2A7 not less-than-or-equal ISOAMSN -->
+<!ENTITY nleq "&#58023;"><!-- u+E2A7 not less-than-or-equal MMALIAS nle-->
+<!ENTITY nleqq "&#8816;"><!-- u+2270 not less, double equals MMALIAS nlE-->
+<!ENTITY nleqslant "&#8816;"><!-- u+2270 not less-or-equals, slant MMALIAS nles-->
+<!ENTITY nles "&#8816;"><!-- u+2270 not less-or-equals, slant ISOAMSN -->
+<!ENTITY nless "&#8814;"><!-- u+226E not less-than MMALIAS nlt-->
+<!ENTITY nLl "&#58061;"><!-- u+E2CD not triple less than ISOAMSN -->
+<!ENTITY nlsim "&#8820;"><!-- u+2274 not less, similar ISOAMSN -->
+<!ENTITY nLt "&#58057;"><!-- u+E2C9 not, vert, much less than ISOAMSN -->
+<!ENTITY nlt "&#8814;"><!-- u+226E not less-than ISOAMSN -->
+<!ENTITY nltri "&#8938;"><!-- u+22EA not left triangle ISOAMSN -->
+<!ENTITY nltrie "&#8940;"><!-- u+22EC not left triangle, equals ISOAMSN -->
+<!ENTITY nLtv "&#58059;"><!-- u+E2CB not much less than, variant ISOAMSN -->
+<!ENTITY nmid "&#8740;"><!-- u+2224 negated mid ISOAMSN -->
+<!ENTITY NotCongruent "&#8802;"><!-- u+2262 not identical with MMALIAS nequiv-->
+<!ENTITY NotDoubleVerticalBar "&#8742;"><!-- u+2226 not parallel MMALIAS npar-->
+<!ENTITY NotGreater "&#8815;"><!-- u+226F not greater-than MMALIAS ngt-->
+<!ENTITY NotGreaterEqual "&#58022;"><!-- u+E2A6 not greater-than-or-equal MMALIAS nge-->
+<!ENTITY NotGreaterFullEqual "&#8817;"><!-- u+2271 not greater, double equals MMALIAS ngE-->
+<!ENTITY NotGreaterGreater "&#58060;"><!-- u+E2CC not much greater than, variant MMALIAS nGtv-->
+<!ENTITY NotGreaterLess "&#8825;"><!-- u+2279 not, vert, greater, less MMALIAS ntvgl-->
+<!ENTITY NotGreaterSlantEqual "&#8817;"><!-- u+2271 not gt-or-equals, slanted MMALIAS nges-->
+<!ENTITY NotGreaterTilde "&#8821;"><!-- u+2275 not greater, similar MMALIAS ngsim-->
+<!ENTITY NotLeftTriangle "&#8938;"><!-- u+22EA not left triangle MMALIAS nltri-->
+<!ENTITY NotLeftTriangleEqual "&#8940;"><!-- u+22EC not left triangle, equals MMALIAS nltrie-->
+<!ENTITY NotLess "&#8814;"><!-- u+226E not less-than MMALIAS nlt-->
+<!ENTITY NotLessEqual "&#58023;"><!-- u+E2A7 not less-than-or-equal MMALIAS nle-->
+<!ENTITY NotLessFullEqual "&#8816;"><!-- u+2270 not less, double equals MMALIAS nlE-->
+<!ENTITY NotLessGreater "&#8824;"><!-- u+2278 not, vert, less, greater MMALIAS ntvlg-->
+<!ENTITY NotLessLess "&#58059;"><!-- u+E2CB not much less than, variant MMALIAS nLtv-->
+<!ENTITY NotLessSlantEqual "&#8816;"><!-- u+2270 not less-or-equals, slant MMALIAS nles-->
+<!ENTITY NotLessTilde "&#8820;"><!-- u+2274 not less, similar MMALIAS nlsim-->
+<!ENTITY NotPrecedes "&#8832;"><!-- u+2280 not precedes MMALIAS npr-->
+<!ENTITY NotPrecedesEqual "&#58386;"><!-- u+E412 not precedes, equals MMALIAS npre-->
+<!ENTITY NotPrecedesSlantEqual "&#8928;"><!-- u+22E0 not curly precedes, equals MMALIAS nprcue-->
+<!ENTITY NotRightTriangle "&#8939;"><!-- u+22EB not right triangle MMALIAS nrtri-->
+<!ENTITY NotRightTriangleEqual "&#8941;"><!-- u+22ED not right triangle, equals MMALIAS nrtrie-->
+<!ENTITY NotSquareSubsetEqual "&#8930;"><!-- u+22E2 not, square subset, equals MMALIAS nsqsube-->
+<!ENTITY NotSquareSupersetEqual "&#8931;"><!-- u+22E3 not, square superset, equals MMALIAS nsqsupe-->
+<!ENTITY NotSubset "&#8836;"><!-- u+2284 not subset, variant MMALIAS vnsub-->
+<!ENTITY NotSucceeds "&#8833;"><!-- u+2281 not succeeds MMALIAS nsc-->
+<!ENTITY NotSucceedsEqual "&#58387;"><!-- u+E413 not succeeds, equals MMALIAS nsce-->
+<!ENTITY NotSucceedsSlantEqual "&#8929;"><!-- u+22E1 not succeeds, curly equals MMALIAS nsccue-->
+<!ENTITY NotSuperset "&#8837;"><!-- u+2285 not superset, variant MMALIAS vnsup-->
+<!ENTITY NotTilde "&#8769;"><!-- u+2241 not similar MMALIAS nsim-->
+<!ENTITY NotTildeEqual "&#8772;"><!-- u+2244 not similar, equals MMALIAS nsime-->
+<!ENTITY NotTildeFullEqual "&#8775;"><!-- u+2247 not congruent with MMALIAS ncong-->
+<!ENTITY NotTildeTilde "&#8777;"><!-- u+2249 not approximate MMALIAS nap-->
+<!ENTITY NotVerticalBar "&#8740;"><!-- u+2224 negated mid MMALIAS nmid-->
+<!ENTITY npar "&#8742;"><!-- u+2226 not parallel ISOAMSN -->
+<!ENTITY nparallel "&#8742;"><!-- u+2226 not parallel MMALIAS npar-->
+<!ENTITY npr "&#8832;"><!-- u+2280 not precedes ISOAMSN -->
+<!ENTITY nprcue "&#8928;"><!-- u+22E0 not curly precedes, equals ISOAMSN -->
+<!ENTITY npre "&#58386;"><!-- u+E412 not precedes, equals ISOAMSN -->
+<!ENTITY nprec "&#8832;"><!-- u+2280 not precedes MMALIAS npr-->
+<!ENTITY npreceq "&#58386;"><!-- u+E412 not precedes, equals MMALIAS npre-->
+<!ENTITY nrtri "&#8939;"><!-- u+22EB not right triangle ISOAMSN -->
+<!ENTITY nrtrie "&#8941;"><!-- u+22ED not right triangle, equals ISOAMSN -->
+<!ENTITY nsc "&#8833;"><!-- u+2281 not succeeds ISOAMSN -->
+<!ENTITY nsccue "&#8929;"><!-- u+22E1 not succeeds, curly equals ISOAMSN -->
+<!ENTITY nsce "&#58387;"><!-- u+E413 not succeeds, equals ISOAMSN -->
+<!ENTITY nshortmid "&#58026;"><!-- u+E2AA negated short mid MMALIAS nsmid-->
+<!ENTITY nshortparallel "&#58027;"><!-- u+E2AB not short par MMALIAS nspar-->
+<!ENTITY nsim "&#8769;"><!-- u+2241 not similar ISOAMSN -->
+<!ENTITY nsime "&#8772;"><!-- u+2244 not similar, equals ISOAMSN -->
+<!ENTITY nsimeq "&#8772;"><!-- u+2244 not similar, equals MMALIAS nsime-->
+<!ENTITY nsmid "&#58026;"><!-- u+E2AA negated short mid ISOAMSN -->
+<!ENTITY nspar "&#58027;"><!-- u+E2AB not short par ISOAMSN -->
+<!ENTITY nsqsube "&#8930;"><!-- u+22E2 not, square subset, equals ISOAMSN -->
+<!ENTITY nsqsupe "&#8931;"><!-- u+22E3 not, square superset, equals ISOAMSN -->
+<!ENTITY nsub "&#8836;"><!-- u+2284 not subset ISOAMSN -->
+<!ENTITY nsubE "&#8840;"><!-- u+2288 not subset, double equals ISOAMSN -->
+<!ENTITY nsube "&#8840;"><!-- u+2288 not subset, equals ISOAMSN -->
+<!ENTITY nsubset "&#8836;"><!-- u+2284 not subset, variant MMALIAS vnsub-->
+<!ENTITY nsubseteq "&#8840;"><!-- u+2288 not subset, equals MMALIAS nsube-->
+<!ENTITY nsubseteqq "&#8840;"><!-- u+2288 not subset, double equals MMALIAS nsubE-->
+<!ENTITY nsucc "&#8833;"><!-- u+2281 not succeeds MMALIAS nsc-->
+<!ENTITY nsucceq "&#58387;"><!-- u+E413 not succeeds, equals MMALIAS nsce-->
+<!ENTITY nsup "&#8837;"><!-- u+2285 not superset ISOAMSN -->
+<!ENTITY nsupE "&#8841;"><!-- u+2289 not superset, double equals ISOAMSN -->
+<!ENTITY nsupe "&#8841;"><!-- u+2289 not superset, equals ISOAMSN -->
+<!ENTITY nsupset "&#8837;"><!-- u+2285 not superset, variant MMALIAS vnsup-->
+<!ENTITY nsupseteq "&#8841;"><!-- u+2289 not superset, equals MMALIAS nsupe-->
+<!ENTITY nsupseteqq "&#8841;"><!-- u+2289 not superset, double equals MMALIAS nsupE-->
+<!ENTITY ntgl "&#8825;"><!-- u+2279 not greater, less ISOAMSN -->
+<!ENTITY ntlg "&#8824;"><!-- u+2278 not less, greater ISOAMSN -->
+<!ENTITY ntriangleleft "&#8938;"><!-- u+22EA not left triangle MMALIAS nltri-->
+<!ENTITY ntrianglelefteq "&#8940;"><!-- u+22EC not left triangle, equals MMALIAS nltrie-->
+<!ENTITY ntriangleright "&#8939;"><!-- u+22EB not right triangle MMALIAS nrtri-->
+<!ENTITY ntrianglerighteq "&#8941;"><!-- u+22ED not right triangle, equals MMALIAS nrtrie-->
+<!ENTITY ntvgl "&#8825;"><!-- u+2279 not, vert, greater, less ISOAMSN -->
+<!ENTITY ntvlg "&#8824;"><!-- u+2278 not, vert, less, greater ISOAMSN -->
+<!ENTITY nvap "&#58054;"><!-- u+E2C6 not, vert, approximate ISOAMSN -->
+<!ENTITY nVDash "&#8879;"><!-- u+22AF not double vert, double dash ISOAMSN -->
+<!ENTITY nVdash "&#8878;"><!-- u+22AE not double vertical, dash ISOAMSN -->
+<!ENTITY nvDash "&#8877;"><!-- u+22AD not vertical, double dash ISOAMSN -->
+<!ENTITY nvdash "&#8876;"><!-- u+22AC not vertical, dash ISOAMSN -->
+<!ENTITY nvge "&#8817;"><!-- u+2271 not, vert, greater-than-or-equal ISOAMSN -->
+<!ENTITY nvgt "&#8815;"><!-- u+226F not, vert, greater-than ISOAMSN -->
+<!ENTITY nvle "&#8816;"><!-- u+2270 not, vert, less-than-or-equal ISOAMSN -->
+<!ENTITY nvlt "&#8814;"><!-- u+226E not, vert, less-than ISOAMSN -->
+<!ENTITY nvltrie "&#58064;"><!-- u+E2D0 not, vert, left triangle, equals ISOAMSN -->
+<!ENTITY nvrtrie "&#58063;"><!-- u+E2CF not, vert, right triangle, equals ISOAMSN -->
+<!ENTITY nvsim "&#58389;"><!-- u+E415 not, vert, similar ISOAMSN -->
+<!ENTITY parsim "&#58056;"><!-- u+E2C8 parallel, similar ISOAMSN -->
+<!ENTITY precnapprox "&#8936;"><!-- u+22E8 precedes, not approx MMALIAS prnap-->
+<!ENTITY precneqq "&#58035;"><!-- u+E2B3 precedes, not double equals MMALIAS prnE-->
+<!ENTITY precnsim "&#8936;"><!-- u+22E8 precedes, not similar MMALIAS prnsim-->
+<!ENTITY prnap "&#8936;"><!-- u+22E8 precedes, not approx ISOAMSN -->
+<!ENTITY prnE "&#58035;"><!-- u+E2B3 precedes, not double equals ISOAMSN -->
+<!ENTITY prnsim "&#8936;"><!-- u+22E8 precedes, not similar ISOAMSN -->
+<!ENTITY rnmid "&#58065;"><!-- u+E2D1 reverse nmid ISOAMSN -->
+<!ENTITY scnap "&#8937;"><!-- u+22E9 succeeds, not approx ISOAMSN -->
+<!ENTITY scnE "&#58037;"><!-- u+E2B5 succeeds, not double equals ISOAMSN -->
+<!ENTITY scnsim "&#8937;"><!-- u+22E9 succeeds, not similar ISOAMSN -->
+<!ENTITY simne "&#8774;"><!-- u+2246 similar, not equals ISOAMSN -->
+<!ENTITY solbar "&#58390;"><!-- u+E416 solidus, bar through ISOAMSN -->
+<!ENTITY subnE "&#8842;"><!-- u+228A subset, not double equals ISOAMSN -->
+<!ENTITY subne "&#8842;"><!-- u+228A subset, not equals ISOAMSN -->
+<!ENTITY subsetneq "&#8842;"><!-- u+228A subset, not equals MMALIAS subne-->
+<!ENTITY subsetneqq "&#8842;"><!-- u+228A subset, not double equals MMALIAS subnE-->
+<!ENTITY succnapprox "&#8937;"><!-- u+22E9 succeeds, not approx MMALIAS scnap-->
+<!ENTITY succneqq "&#58037;"><!-- u+E2B5 succeeds, not double equals MMALIAS scnE-->
+<!ENTITY succnsim "&#8937;"><!-- u+22E9 succeeds, not similar MMALIAS scnsim-->
+<!ENTITY supnE "&#8843;"><!-- u+228B superset, not double equals ISOAMSN -->
+<!ENTITY supne "&#8843;"><!-- u+228B superset, not equals ISOAMSN -->
+<!ENTITY supsetneq "&#8843;"><!-- u+228B superset, not equals MMALIAS supne-->
+<!ENTITY supsetneqq "&#8843;"><!-- u+228B superset, not double equals MMALIAS supnE-->
+<!ENTITY varsubsetneq "&#58041;"><!-- u+E2B9 subset, not equals, variant MMALIAS vsubne-->
+<!ENTITY varsubsetneqq "&#58040;"><!-- u+E2B8 subset not double equals, variant MMALIAS vsubnE-->
+<!ENTITY varsupsetneq "&#58042;"><!-- u+E2BA superset, not equals, variant MMALIAS vsupne-->
+<!ENTITY varsupsetneqq "&#58043;"><!-- u+E2BB super not double equals, variant MMALIAS vsupnE-->
+<!ENTITY vnsub "&#8836;"><!-- u+2284 not subset, variant ISOAMSN -->
+<!ENTITY vnsup "&#8837;"><!-- u+2285 not superset, variant ISOAMSN -->
+<!ENTITY vsubnE "&#58040;"><!-- u+E2B8 subset not double equals, variant ISOAMSN -->
+<!ENTITY vsubne "&#58041;"><!-- u+E2B9 subset, not equals, variant ISOAMSN -->
+<!ENTITY vsupnE "&#58043;"><!-- u+E2BB super not double equals, variant ISOAMSN -->
+<!ENTITY vsupne "&#58042;"><!-- u+E2BA superset, not equals, variant ISOAMSN -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsoe.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsoe.dtd
new file mode 100644
index 00000000000..1521b88697b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsoe.dtd
@@ -0,0 +1,77 @@
+
+<!--
+ ISOAMSO Characters alphabetically
+ Added Math Symbols: Ordinary Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOAMSOe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY ang "&#8736;"><!-- u+2220 angle ISOAMSO -->
+<!ENTITY ange "&#58070;"><!-- u+E2D6 angle, equal ISOAMSO -->
+<!ENTITY angle "&#8736;"><!-- u+2220 angle MMALIAS ang-->
+<!ENTITY angmsd "&#8737;"><!-- u+2221 angle-measured ISOAMSO -->
+<!ENTITY angmsdaa "&#58073;"><!-- u+E2D9 angle-measured, arrow, up, right ISOAMSO -->
+<!ENTITY angmsdab "&#58074;"><!-- u+E2DA angle-measured, arrow, up, left ISOAMSO -->
+<!ENTITY angmsdac "&#58075;"><!-- u+E2DB angle-measured, arrow, down, right ISOAMSO -->
+<!ENTITY angmsdad "&#58076;"><!-- u+E2DC angle-measured, arrow, down, left ISOAMSO -->
+<!ENTITY angmsdae "&#58077;"><!-- u+E2DD angle-measured, arrow, right, up ISOAMSO -->
+<!ENTITY angmsdaf "&#58078;"><!-- u+E2DE angle-measured, arrow, left, up ISOAMSO -->
+<!ENTITY angmsdag "&#58079;"><!-- u+E2DF angle-measured, arrow, right, down ISOAMSO -->
+<!ENTITY angmsdah "&#58080;"><!-- u+E2E0 angle-measured, arrow, left, down ISOAMSO -->
+<!ENTITY angrtvb "&#58392;"><!-- u+E418 right angle-measured ISOAMSO -->
+<!ENTITY angrtvbd "&#58081;"><!-- u+E2E1 right angle-measured, dot ISOAMSO -->
+<!ENTITY backprime "&#8245;"><!-- u+2035 reverse prime MMALIAS bprime-->
+<!ENTITY bbrk "&#58094;"><!-- u+E2EE bottom square bracket ISOAMSO -->
+<!ENTITY bbrktbrk "&#58393;"><!-- u+E419 bottom above top square bracket ISOAMSO -->
+<!ENTITY bemptyv "&#58394;"><!-- u+E41A reversed circle, slash ISOAMSO -->
+<!ENTITY beth "&#8502;"><!-- u+2136 beth, Hebrew ISOAMSO -->
+<!ENTITY boxbox "&#58086;"><!-- u+E2E6 two joined squares ISOAMSO -->
+<!ENTITY bprime "&#8245;"><!-- u+2035 reverse prime ISOAMSO -->
+<!ENTITY bsemi "&#58093;"><!-- u+E2ED reverse semi-colon ISOAMSO -->
+<!ENTITY cemptyv "&#58088;"><!-- u+E2E8 circle, slash, small circle above ISOAMSO -->
+<!ENTITY circledS "&#58397;"><!-- u+E41D capital S in circle MMALIAS oS-->
+<!ENTITY cirE "&#58395;"><!-- u+E41B circle, two horizontal stroked to the right ISOAMSO -->
+<!ENTITY cirscir "&#58396;"><!-- u+E41C circle, small circle to the right ISOAMSO -->
+<!ENTITY comp "&#8705;"><!-- u+2201 complement sign ISOAMSO -->
+<!ENTITY complement "&#8705;"><!-- u+2201 complement sign MMALIAS comp-->
+<!ENTITY daleth "&#8504;"><!-- u+2138 daleth, Hebrew ISOAMSO -->
+<!ENTITY demptyv "&#58087;"><!-- u+E2E7 circle, slash, bar above ISOAMSO -->
+<!ENTITY ell "&#8467;"><!-- u+2113 cursive small l ISOAMSO -->
+<!ENTITY empty "&#58067;"><!-- u+E2D3 letter O slashed ISOAMSO -->
+<!ENTITY emptyset "&#58067;"><!-- u+E2D3 letter O slashed MMALIAS empty-->
+<!ENTITY emptyv "&#8709;"><!-- u+2205 circle, slash ISOAMSO -->
+<!ENTITY gimel "&#8503;"><!-- u+2137 gimel, Hebrew ISOAMSO -->
+<!ENTITY hbar "&#58069;"><!-- u+E2D5 Planck's over 2pi MMALIAS plank-->
+<!ENTITY hslash "&#8463;"><!-- u+210F variant Planck's over 2pi MMALIAS plankv-->
+<!ENTITY iiota "&#8489;"><!-- u+2129 inverted iota ISOAMSO -->
+<!ENTITY Im "&#8465;"><!-- u+2111 imaginary MMALIAS image-->
+<!ENTITY image "&#8465;"><!-- u+2111 imaginary ISOAMSO -->
+<!ENTITY imath "&#305;"><!-- u+0131 small i, no dot ISOAMSO -->
+<!ENTITY jmath "&#58068;"><!-- u+E2D4 small j, no dot ISOAMSO -->
+<!ENTITY laemptyv "&#58090;"><!-- u+E2EA circle, slash, left arrow above ISOAMSO -->
+<!ENTITY lltri "&#58085;"><!-- u+E2E5 lower left triangle ISOAMSO -->
+<!ENTITY lrtri "&#58083;"><!-- u+E2E3 lower right triangle ISOAMSO -->
+<!ENTITY measuredangle "&#8737;"><!-- u+2221 angle-measured MMALIAS angmsd-->
+<!ENTITY mho "&#8487;"><!-- u+2127 conductance ISOAMSO -->
+<!ENTITY nang "&#58072;"><!-- u+E2D8 not, vert, angle ISOAMSO -->
+<!ENTITY nexist "&#8708;"><!-- u+2204 negated exists ISOAMSO -->
+<!ENTITY nexists "&#8708;"><!-- u+2204 negated exists MMALIAS nexist-->
+<!ENTITY NotExists "&#8708;"><!-- u+2204 negated exists MMALIAS nexist-->
+<!ENTITY oS "&#58397;"><!-- u+E41D capital S in circle ISOAMSO -->
+<!ENTITY plank "&#58069;"><!-- u+E2D5 Planck's over 2pi ISOAMSO -->
+<!ENTITY plankv "&#8463;"><!-- u+210F variant Planck's over 2pi ISOAMSO -->
+<!ENTITY raemptyv "&#58089;"><!-- u+E2E9 circle, slash, right arrow above ISOAMSO -->
+<!ENTITY range "&#58071;"><!-- u+E2D7 reverse angle, equal ISOAMSO -->
+<!ENTITY Re "&#8476;"><!-- u+211C real MMALIAS real-->
+<!ENTITY real "&#8476;"><!-- u+211C real ISOAMSO -->
+<!ENTITY tbrk "&#58095;"><!-- u+E2EF top square bracket ISOAMSO -->
+<!ENTITY trpezium "&#58092;"><!-- u+E2EC trapezium ISOAMSO -->
+<!ENTITY ultri "&#58084;"><!-- u+E2E4 upper left triangle ISOAMSO -->
+<!ENTITY urtri "&#58082;"><!-- u+E2E2 upper right triangle ISOAMSO -->
+<!ENTITY varnothing "&#8709;"><!-- u+2205 circle, slash MMALIAS emptyv-->
+<!ENTITY vzigzag "&#58091;"><!-- u+E2EB vertical zig-zag line ISOAMSO -->
+<!ENTITY weierp "&#8472;"><!-- u+2118 Weierstrass p ISOAMSO -->
+<!ENTITY wp "&#8472;"><!-- u+2118 Weierstrass p MMALIAS weierp-->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsre.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsre.dtd
new file mode 100644
index 00000000000..d250baf518a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoamsre.dtd
@@ -0,0 +1,304 @@
+
+<!--
+ ISOAMSR Characters alphabetically
+ Added Math Symbols: Relations Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOAMSRe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY apE "&#58133;"><!-- u+E315 approximately equal or equal to ISOAMSR -->
+<!ENTITY ape "&#8778;"><!-- u+224A approximate, equals ISOAMSR -->
+<!ENTITY apid "&#8779;"><!-- u+224B approximately identical to ISOAMSR -->
+<!ENTITY approxeq "&#8778;"><!-- u+224A approximate, equals MMALIAS ape-->
+<!ENTITY asymp "&#8781;"><!-- u+224D asymptotically equal to ISOAMSR -->
+<!ENTITY backcong "&#8780;"><!-- u+224C reverse congruent MMALIAS bcong-->
+<!ENTITY backepsilon "&#58400;"><!-- u+E420 such that MMALIAS bepsi-->
+<!ENTITY backsim "&#8765;"><!-- u+223D reverse similar MMALIAS bsim-->
+<!ENTITY backsimeq "&#8909;"><!-- u+22CD reverse similar, equals MMALIAS bsime-->
+<!ENTITY Barv "&#58129;"><!-- u+E311 vert, double bar (over) ISOAMSR -->
+<!ENTITY bcong "&#8780;"><!-- u+224C reverse congruent ISOAMSR -->
+<!ENTITY bepsi "&#58400;"><!-- u+E420 such that ISOAMSR -->
+<!ENTITY between "&#8812;"><!-- u+226C between MMALIAS twixt-->
+<!ENTITY bowtie "&#8904;"><!-- u+22C8 bowtie ISOAMSR -->
+<!ENTITY bsim "&#8765;"><!-- u+223D reverse similar ISOAMSR -->
+<!ENTITY bsime "&#8909;"><!-- u+22CD reverse similar, equals ISOAMSR -->
+<!ENTITY bsolhsub "&#58189;"><!-- u+E34D reverse solidus, subset ISOAMSR -->
+<!ENTITY bump "&#8782;"><!-- u+224E bumpy equals ISOAMSR -->
+<!ENTITY bumpe "&#8783;"><!-- u+224F bumpy equals, equals ISOAMSR -->
+<!ENTITY Bumpeq "&#8782;"><!-- u+224E bumpy equals MMALIAS bump-->
+<!ENTITY bumpeq "&#8783;"><!-- u+224F bumpy equals, equals MMALIAS bumpe-->
+<!ENTITY circeq "&#8791;"><!-- u+2257 circle, equals MMALIAS cire-->
+<!ENTITY cire "&#8791;"><!-- u+2257 circle, equals ISOAMSR -->
+<!ENTITY Colon "&#8759;"><!-- u+2237 /Colon, two colons ISOAMSR -->
+<!ENTITY Colone "&#58126;"><!-- u+E30E double colon, equals ISOAMSR -->
+<!ENTITY colone "&#8788;"><!-- u+2254 colon, equals ISOAMSR -->
+<!ENTITY coloneq "&#8788;"><!-- u+2254 colon, equals MMALIAS colone-->
+<!ENTITY congdot "&#58132;"><!-- u+E314 congruent, dot ISOAMSR -->
+<!ENTITY csub "&#58193;"><!-- u+E351 subset, closed ISOAMSR -->
+<!ENTITY csube "&#58195;"><!-- u+E353 subset, closed, equals ISOAMSR -->
+<!ENTITY csup "&#58194;"><!-- u+E352 superset, closed ISOAMSR -->
+<!ENTITY csupe "&#58196;"><!-- u+E354 superset, closed, equals ISOAMSR -->
+<!ENTITY cuepr "&#8926;"><!-- u+22DE curly equals, precedes ISOAMSR -->
+<!ENTITY cuesc "&#8927;"><!-- u+22DF curly equals, succeeds ISOAMSR -->
+<!--<!ENTITY Cup "&#8995;">-->
+<!-- u+2323 up curve MMALIAS smile-->
+<!ENTITY CupCap "&#8781;"><!-- u+224D asymptotically equal to MMALIAS asymp-->
+<!ENTITY curlyeqprec "&#8926;"><!-- u+22DE curly equals, precedes MMALIAS cuepr-->
+<!ENTITY curlyeqsucc "&#8927;"><!-- u+22DF curly equals, succeeds MMALIAS cuesc-->
+<!ENTITY Dashv "&#58127;"><!-- u+E30F double dash, vertical ISOAMSR -->
+<!ENTITY dashv "&#8867;"><!-- u+22A3 dash, vertical ISOAMSR -->
+<!ENTITY ddotseq "&#58121;"><!-- u+E309 equal with four dots MMALIAS eDDot-->
+<!ENTITY doteq "&#8784;"><!-- u+2250 equals, single dot above MMALIAS esdot-->
+<!ENTITY doteqdot "&#8785;"><!-- u+2251 equals, even dots MMALIAS eDot-->
+<!ENTITY DotEqual "&#8784;"><!-- u+2250 equals, single dot above MMALIAS esdot-->
+<!ENTITY DoubleRightTee "&#8872;"><!-- u+22A8 vertical, double dash MMALIAS vDash-->
+<!ENTITY easter "&#8795;"><!-- u+225B equal, asterisk above ISOAMSR -->
+<!ENTITY ecir "&#8790;"><!-- u+2256 circle on equals sign ISOAMSR -->
+<!ENTITY ecolon "&#8789;"><!-- u+2255 equals, colon ISOAMSR -->
+<!ENTITY eDDot "&#58121;"><!-- u+E309 equal with four dots ISOAMSR -->
+<!ENTITY eDot "&#8785;"><!-- u+2251 equals, even dots ISOAMSR -->
+<!ENTITY efDot "&#8786;"><!-- u+2252 equals, falling dots ISOAMSR -->
+<!ENTITY eg "&#58152;"><!-- u+E328 equal-or-greater ISOAMSR -->
+<!ENTITY egs "&#8925;"><!-- u+22DD equal-or-gtr, slanted ISOAMSR -->
+<!ENTITY egsdot "&#58148;"><!-- u+E324 equal-or-greater, slanted, dot inside ISOAMSR -->
+<!ENTITY el "&#58151;"><!-- u+E327 equal-or-less ISOAMSR -->
+<!ENTITY els "&#8924;"><!-- u+22DC eq-or-less, slanted ISOAMSR -->
+<!ENTITY elsdot "&#58147;"><!-- u+E323 equal-or-less, slanted, dot inside ISOAMSR -->
+<!ENTITY eqcirc "&#8790;"><!-- u+2256 circle on equals sign MMALIAS ecir-->
+<!ENTITY eqcolon "&#8789;"><!-- u+2255 equals, colon MMALIAS ecolon-->
+<!ENTITY eqsim "&#8770;"><!-- u+2242 equals, similar MMALIAS esim-->
+<!ENTITY eqslantgtr "&#8925;"><!-- u+22DD equal-or-gtr, slanted MMALIAS egs-->
+<!ENTITY eqslantless "&#8924;"><!-- u+22DC eq-or-less, slanted MMALIAS els-->
+<!ENTITY EqualTilde "&#8770;"><!-- u+2242 equals, similar MMALIAS esim-->
+<!ENTITY equest "&#8799;"><!-- u+225F equal with questionmark ISOAMSR -->
+<!ENTITY equivDD "&#58136;"><!-- u+E318 equivalent, four dots above ISOAMSR -->
+<!ENTITY erDot "&#8787;"><!-- u+2253 equals, rising dots ISOAMSR -->
+<!ENTITY esdot "&#8784;"><!-- u+2250 equals, single dot above ISOAMSR -->
+<!ENTITY Esim "&#58135;"><!-- u+E317 equal, similar ISOAMSR -->
+<!ENTITY esim "&#8770;"><!-- u+2242 equals, similar ISOAMSR -->
+<!ENTITY fallingdotseq "&#8786;"><!-- u+2252 equals, falling dots MMALIAS efDot-->
+<!ENTITY fork "&#8916;"><!-- u+22D4 pitchfork ISOAMSR -->
+<!ENTITY forkv "&#58139;"><!-- u+E31B fork, variant ISOAMSR -->
+<!ENTITY frown "&#8994;"><!-- u+2322 down curve ISOAMSR -->
+<!ENTITY gap "&#8819;"><!-- u+2273 greater, approximate ISOAMSR -->
+<!ENTITY gE "&#8807;"><!-- u+2267 greater, double equals ISOAMSR -->
+<!ENTITY gEl "&#8923;"><!-- u+22DB gt, double equals, less ISOAMSR -->
+<!ENTITY gel "&#8923;"><!-- u+22DB greater, equals, less ISOAMSR -->
+<!ENTITY geqq "&#8807;"><!-- u+2267 greater, double equals MMALIAS gE-->
+<!ENTITY geqslant "&#58401;"><!-- u+E421 gt-or-equal, slanted MMALIAS ges-->
+<!ENTITY ges "&#58401;"><!-- u+E421 gt-or-equal, slanted ISOAMSR -->
+<!ENTITY gescc "&#58200;"><!-- u+E358 greater than, closed by curve, equal, slanted ISOAMSR -->
+<!ENTITY gesdot "&#58142;"><!-- u+E31E greater-than-or-equal, slanted, dot inside ISOAMSR -->
+<!ENTITY gesdoto "&#58144;"><!-- u+E320 greater-than-or-equal, slanted, dot above ISOAMSR -->
+<!ENTITY gesdotol "&#58146;"><!-- u+E322 greater-than-or-equal, slanted, dot above left ISOAMSR -->
+<!ENTITY gesl "&#58156;"><!-- u+E32C greater, equal, slanted, less ISOAMSR -->
+<!ENTITY gesles "&#58162;"><!-- u+E332 greater, equal, slanted, less, equal, slanted ISOAMSR -->
+<!ENTITY Gg "&#8921;"><!-- u+22D9 triple gtr-than ISOAMSR -->
+<!ENTITY gg "&#8811;"><!-- u+226B double greater-than sign MMALIAS Gt-->
+<!ENTITY ggg "&#8921;"><!-- u+22D9 triple gtr-than MMALIAS Gg-->
+<!ENTITY gl "&#8823;"><!-- u+2277 greater, less ISOAMSR -->
+<!ENTITY gla "&#58160;"><!-- u+E330 greater, less, apart ISOAMSR -->
+<!ENTITY glE "&#58158;"><!-- u+E32E greater, less, equal ISOAMSR -->
+<!ENTITY glj "&#58159;"><!-- u+E32F greater, less, overlapping ISOAMSR -->
+<!ENTITY GreaterEqualLess "&#8923;"><!-- u+22DB greater, equals, less MMALIAS gel-->
+<!ENTITY GreaterFullEqual "&#8807;"><!-- u+2267 greater, double equals MMALIAS gE-->
+<!ENTITY GreaterLess "&#8823;"><!-- u+2277 greater, less MMALIAS gl-->
+<!ENTITY GreaterSlantEqual "&#58401;"><!-- u+E421 gt-or-equal, slanted MMALIAS ges-->
+<!ENTITY GreaterTilde "&#8819;"><!-- u+2273 greater, similar MMALIAS gsim-->
+<!ENTITY gsim "&#8819;"><!-- u+2273 greater, similar ISOAMSR -->
+<!ENTITY gsime "&#58164;"><!-- u+E334 greater, similar, equal ISOAMSR -->
+<!ENTITY gsiml "&#58166;"><!-- u+E336 greater, similar, less ISOAMSR -->
+<!ENTITY Gt "&#8811;"><!-- u+226B double greater-than sign ISOAMSR -->
+<!ENTITY gtcc "&#58198;"><!-- u+E356 greater than, closed by curve ISOAMSR -->
+<!ENTITY gtcir "&#58150;"><!-- u+E326 greater than, circle inside ISOAMSR -->
+<!ENTITY gtdot "&#8919;"><!-- u+22D7 greater than, with dot ISOAMSR -->
+<!ENTITY gtquest "&#58154;"><!-- u+E32A greater than, questionmark above ISOAMSR -->
+<!ENTITY gtrapprox "&#8819;"><!-- u+2273 greater, approximate MMALIAS gap-->
+<!ENTITY gtrarr "&#58207;"><!-- u+E35F greater than, right arrow ISOAMSR -->
+<!ENTITY gtrdot "&#8919;"><!-- u+22D7 greater than, with dot MMALIAS gtdot-->
+<!ENTITY gtreqless "&#8923;"><!-- u+22DB greater, equals, less MMALIAS gel-->
+<!ENTITY gtreqqless "&#8923;"><!-- u+22DB gt, double equals, less MMALIAS gEl-->
+<!ENTITY gtrless "&#8823;"><!-- u+2277 greater, less MMALIAS gl-->
+<!ENTITY gtrsim "&#8819;"><!-- u+2273 greater, similar MMALIAS gsim-->
+<!ENTITY homtht "&#8763;"><!-- u+223B homothetic ISOAMSR -->
+<!ENTITY HumpDownHump "&#8782;"><!-- u+224E bumpy equals MMALIAS bump-->
+<!ENTITY HumpEqual "&#8783;"><!-- u+224F bumpy equals, equals MMALIAS bumpe-->
+<!ENTITY lap "&#8818;"><!-- u+2272 less, approximate ISOAMSR -->
+<!ENTITY lat "&#58170;"><!-- u+E33A larger than ISOAMSR -->
+<!ENTITY late "&#58172;"><!-- u+E33C larger than or equal ISOAMSR -->
+<!ENTITY lates "&#58174;"><!-- u+E33E larger than or equal, slanted ISOAMSR -->
+<!ENTITY lE "&#8806;"><!-- u+2266 less, double equals ISOAMSR -->
+<!ENTITY LeftTee "&#8867;"><!-- u+22A3 dash, vertical MMALIAS dashv-->
+<!ENTITY LeftTriangle "&#8882;"><!-- u+22B2 left triangle, open, variant MMALIAS vltri-->
+<!ENTITY LeftTriangleEqual "&#8884;"><!-- u+22B4 left triangle, equals MMALIAS ltrie-->
+<!ENTITY lEg "&#8922;"><!-- u+22DA less, double equals, greater ISOAMSR -->
+<!ENTITY leg "&#8922;"><!-- u+22DA less, equals, greater ISOAMSR -->
+<!ENTITY leqq "&#8806;"><!-- u+2266 less, double equals MMALIAS lE-->
+<!ENTITY leqslant "&#58405;"><!-- u+E425 less-than-or-equals, slant MMALIAS les-->
+<!ENTITY les "&#58405;"><!-- u+E425 less-than-or-equals, slant ISOAMSR -->
+<!ENTITY lescc "&#58199;"><!-- u+E357 less than, closed by curve, equal, slanted ISOAMSR -->
+<!ENTITY lesdot "&#58141;"><!-- u+E31D less-than-or-equal, slanted, dot inside ISOAMSR -->
+<!ENTITY lesdoto "&#58143;"><!-- u+E31F less-than-or-equal, slanted, dot above ISOAMSR -->
+<!ENTITY lesdotor "&#58145;"><!-- u+E321 less-than-or-equal, slanted, dot above right ISOAMSR -->
+<!ENTITY lesg "&#58155;"><!-- u+E32B less, equal, slanted, greater ISOAMSR -->
+<!ENTITY lesges "&#58161;"><!-- u+E331 less, equal, slanted, greater, equal, slanted ISOAMSR -->
+<!ENTITY lessapprox "&#8818;"><!-- u+2272 less, approximate MMALIAS lap-->
+<!ENTITY lessdot "&#8918;"><!-- u+22D6 less than, with dot MMALIAS ltdot-->
+<!ENTITY lesseqgtr "&#8922;"><!-- u+22DA less, equals, greater MMALIAS leg-->
+<!ENTITY lesseqqgtr "&#8922;"><!-- u+22DA less, double equals, greater MMALIAS lEg-->
+<!ENTITY LessEqualGreater "&#8922;"><!-- u+22DA less, equals, greater MMALIAS leg-->
+<!ENTITY LessFullEqual "&#8806;"><!-- u+2266 less, double equals MMALIAS lE-->
+<!ENTITY LessGreater "&#8822;"><!-- u+2276 less, greater MMALIAS lg-->
+<!ENTITY lessgtr "&#8822;"><!-- u+2276 less, greater MMALIAS lg-->
+<!ENTITY lesssim "&#8818;"><!-- u+2272 less, similar MMALIAS lsim-->
+<!ENTITY LessSlantEqual "&#58405;"><!-- u+E425 less-than-or-equals, slant MMALIAS les-->
+<!ENTITY LessTilde "&#8818;"><!-- u+2272 less, similar MMALIAS lsim-->
+<!ENTITY lg "&#8822;"><!-- u+2276 less, greater ISOAMSR -->
+<!ENTITY lgE "&#58157;"><!-- u+E32D less, greater, equal ISOAMSR -->
+<!ENTITY Ll "&#8920;"><!-- u+22D8 triple less-than ISOAMSR -->
+<!ENTITY ll "&#8810;"><!-- u+226A double less-than sign MMALIAS Lt-->
+<!ENTITY lsim "&#8818;"><!-- u+2272 less, similar ISOAMSR -->
+<!ENTITY lsime "&#58163;"><!-- u+E333 less, similar, equal ISOAMSR -->
+<!ENTITY lsimg "&#58165;"><!-- u+E335 less, similar, greater ISOAMSR -->
+<!ENTITY Lt "&#8810;"><!-- u+226A double less-than sign ISOAMSR -->
+<!ENTITY ltcc "&#58197;"><!-- u+E355 less than, closed by curve ISOAMSR -->
+<!ENTITY ltcir "&#58149;"><!-- u+E325 less than, circle inside ISOAMSR -->
+<!ENTITY ltdot "&#8918;"><!-- u+22D6 less than, with dot ISOAMSR -->
+<!ENTITY ltlarr "&#58206;"><!-- u+E35E less than, left arrow ISOAMSR -->
+<!ENTITY ltquest "&#58153;"><!-- u+E329 less than, questionmark above ISOAMSR -->
+<!ENTITY ltrie "&#8884;"><!-- u+22B4 left triangle, equals ISOAMSR -->
+<!ENTITY mcomma "&#58138;"><!-- u+E31A minus, comma above ISOAMSR -->
+<!ENTITY mDDot "&#8762;"><!-- u+223A minus with four dots, geometric properties ISOAMSR -->
+<!ENTITY mid "&#8739;"><!-- u+2223 mid ISOAMSR -->
+<!ENTITY mlcp "&#58122;"><!-- u+E30A transversal intersection ISOAMSR -->
+<!ENTITY models "&#8871;"><!-- u+22A7 models ISOAMSR -->
+<!ENTITY mstpos "&#8766;"><!-- u+223E most positive ISOAMSR -->
+<!ENTITY NestedGreaterGreater "&#8811;"><!-- u+226B double greater-than sign MMALIAS Gt-->
+<!ENTITY NestedLessLess "&#8810;"><!-- u+226A double less-than sign MMALIAS Lt-->
+<!ENTITY pitchfork "&#8916;"><!-- u+22D4 pitchfork MMALIAS fork-->
+<!ENTITY Pr "&#58204;"><!-- u+E35C double precedes ISOAMSR -->
+<!ENTITY pr "&#8826;"><!-- u+227A precedes ISOAMSR -->
+<!ENTITY prap "&#8830;"><!-- u+227E precedes, approximate ISOAMSR -->
+<!ENTITY prcue "&#8828;"><!-- u+227C precedes, curly equals ISOAMSR -->
+<!ENTITY prE "&#8828;"><!-- u+227C precedes, double equals ISOAMSR -->
+<!ENTITY pre "&#8828;"><!-- u+227C precedes, equals ISOAMSR -->
+<!ENTITY prec "&#8826;"><!-- u+227A precedes MMALIAS pr-->
+<!ENTITY precapprox "&#8830;"><!-- u+227E precedes, approximate MMALIAS prap-->
+<!ENTITY preccurlyeq "&#8828;"><!-- u+227C precedes, curly equals MMALIAS prcue-->
+<!ENTITY Precedes "&#8826;"><!-- u+227A precedes MMALIAS pr-->
+<!ENTITY PrecedesEqual "&#8828;"><!-- u+227C precedes, equals MMALIAS pre-->
+<!ENTITY PrecedesSlantEqual "&#8828;"><!-- u+227C precedes, curly equals MMALIAS prcue-->
+<!ENTITY PrecedesTilde "&#8830;"><!-- u+227E precedes, similar MMALIAS prsim-->
+<!ENTITY preceq "&#8828;"><!-- u+227C precedes, equals MMALIAS pre-->
+<!ENTITY precsim "&#8830;"><!-- u+227E precedes, similar MMALIAS prsim-->
+<!ENTITY Proportion "&#8759;"><!-- u+2237 /Colon, two colons MMALIAS Colon-->
+<!ENTITY prsim "&#8830;"><!-- u+227E precedes, similar ISOAMSR -->
+<!ENTITY prurel "&#8880;"><!-- u+22B0 element precedes under relation ISOAMSR -->
+<!ENTITY questeq "&#8799;"><!-- u+225F equal with questionmark MMALIAS equest-->
+<!ENTITY ratio "&#8758;"><!-- u+2236 ratio ISOAMSR -->
+<!ENTITY RightTee "&#8866;"><!-- u+22A2 vertical, dash MMALIAS vdash-->
+<!ENTITY RightTriangle "&#8883;"><!-- u+22B3 right triangle, open, variant MMALIAS vrtri-->
+<!ENTITY RightTriangleEqual "&#8885;"><!-- u+22B5 right triangle, equals MMALIAS rtrie-->
+<!ENTITY risingdotseq "&#8787;"><!-- u+2253 equals, rising dots MMALIAS erDot-->
+<!ENTITY rtrie "&#8885;"><!-- u+22B5 right triangle, equals ISOAMSR -->
+<!ENTITY rtriltri "&#58201;"><!-- u+E359 right triangle above left triangle ISOAMSR -->
+<!ENTITY Sc "&#58205;"><!-- u+E35D double succeeds ISOAMSR -->
+<!ENTITY sc "&#8827;"><!-- u+227B succeeds ISOAMSR -->
+<!ENTITY scap "&#8831;"><!-- u+227F succeeds, approximate ISOAMSR -->
+<!ENTITY sccue "&#8829;"><!-- u+227D succeeds, curly equals ISOAMSR -->
+<!ENTITY scE "&#8830;"><!-- u+227E succeeds, double equals ISOAMSR -->
+<!ENTITY sce "&#8829;"><!-- u+227D succeeds, equals ISOAMSR -->
+<!ENTITY scsim "&#8831;"><!-- u+227F succeeds, similar ISOAMSR -->
+<!ENTITY sdote "&#58137;"><!-- u+E319 equal, dot below ISOAMSR -->
+<!ENTITY sfrown "&#58406;"><!-- u+E426 small down curve ISOAMSR -->
+<!ENTITY shortmid "&#58113;"><!-- u+E301 shortmid MMALIAS smid-->
+<!ENTITY shortparallel "&#58114;"><!-- u+E302 short parallel MMALIAS spar-->
+<!ENTITY simg "&#58124;"><!-- u+E30C similar, greater ISOAMSR -->
+<!ENTITY simgE "&#58168;"><!-- u+E338 similar, greater, equal ISOAMSR -->
+<!ENTITY siml "&#58123;"><!-- u+E30B similar, less ISOAMSR -->
+<!ENTITY simlE "&#58167;"><!-- u+E337 similar, less, equal ISOAMSR -->
+<!ENTITY smallfrown "&#58406;"><!-- u+E426 small down curve MMALIAS sfrown-->
+<!ENTITY smallsmile "&#58115;"><!-- u+E303 small up curve MMALIAS ssmile-->
+<!ENTITY smid "&#58113;"><!-- u+E301 shortmid ISOAMSR -->
+<!ENTITY smile "&#8995;"><!-- u+2323 up curve ISOAMSR -->
+<!ENTITY smt "&#58169;"><!-- u+E339 smaller than ISOAMSR -->
+<!ENTITY smte "&#58171;"><!-- u+E33B smaller than or equal ISOAMSR -->
+<!ENTITY smtes "&#58173;"><!-- u+E33D smaller than or equal, slanted ISOAMSR -->
+<!ENTITY spar "&#58114;"><!-- u+E302 short parallel ISOAMSR -->
+<!ENTITY sqsub "&#8847;"><!-- u+228F square subset ISOAMSR -->
+<!ENTITY sqsube "&#8849;"><!-- u+2291 square subset, equals ISOAMSR -->
+<!ENTITY sqsubset "&#8847;"><!-- u+228F square subset MMALIAS sqsub-->
+<!ENTITY sqsubseteq "&#8849;"><!-- u+2291 square subset, equals MMALIAS sqsube-->
+<!ENTITY sqsup "&#8848;"><!-- u+2290 square superset ISOAMSR -->
+<!ENTITY sqsupe "&#8850;"><!-- u+2292 square superset, equals ISOAMSR -->
+<!ENTITY sqsupset "&#8848;"><!-- u+2290 square superset MMALIAS sqsup-->
+<!ENTITY sqsupseteq "&#8850;"><!-- u+2292 square superset, equals MMALIAS sqsupe-->
+<!ENTITY SquareSubset "&#8847;"><!-- u+228F square subset MMALIAS sqsub-->
+<!ENTITY SquareSubsetEqual "&#8849;"><!-- u+2291 square subset, equals MMALIAS sqsube-->
+<!ENTITY SquareSuperset "&#8848;"><!-- u+2290 square superset MMALIAS sqsup-->
+<!ENTITY SquareSupersetEqual "&#8850;"><!-- u+2292 square superset, equals MMALIAS sqsupe-->
+<!ENTITY ssmile "&#58115;"><!-- u+E303 small up curve ISOAMSR -->
+<!ENTITY Sub "&#8912;"><!-- u+22D0 double subset ISOAMSR -->
+<!ENTITY subE "&#8838;"><!-- u+2286 subset, double equals ISOAMSR -->
+<!ENTITY subedot "&#58191;"><!-- u+E34F subset, equals, dot ISOAMSR -->
+<!ENTITY submult "&#58179;"><!-- u+E343 subset, multiply ISOAMSR -->
+<!ENTITY subplus "&#58177;"><!-- u+E341 subset, plus ISOAMSR -->
+<!ENTITY subrarr "&#58175;"><!-- u+E33F subset, right arrow ISOAMSR -->
+<!--<!ENTITY Subset "&#8912;">-->
+<!-- u+22D0 double subset MMALIAS Sub-->
+<!ENTITY subseteqq "&#8838;"><!-- u+2286 subset, double equals MMALIAS subE-->
+<!ENTITY subsim "&#58181;"><!-- u+E345 subset, similar ISOAMSR -->
+<!ENTITY subsub "&#58185;"><!-- u+E349 subset above subset ISOAMSR -->
+<!ENTITY subsup "&#58183;"><!-- u+E347 subset above superset ISOAMSR -->
+<!ENTITY succ "&#8827;"><!-- u+227B succeeds MMALIAS sc-->
+<!ENTITY succapprox "&#8831;"><!-- u+227F succeeds, approximate MMALIAS scap-->
+<!ENTITY succcurlyeq "&#8829;"><!-- u+227D succeeds, curly equals MMALIAS sccue-->
+<!ENTITY Succeeds "&#8827;"><!-- u+227B succeeds MMALIAS sc-->
+<!ENTITY SucceedsEqual "&#8829;"><!-- u+227D succeeds, equals MMALIAS sce-->
+<!ENTITY SucceedsSlantEqual "&#8829;"><!-- u+227D succeeds, curly equals MMALIAS sccue-->
+<!ENTITY SucceedsTilde "&#8831;"><!-- u+227F succeeds, similar MMALIAS scsim-->
+<!ENTITY succeq "&#8829;"><!-- u+227D succeeds, equals MMALIAS sce-->
+<!ENTITY succsim "&#8831;"><!-- u+227F succeeds, similar MMALIAS scsim-->
+<!ENTITY Sup "&#8913;"><!-- u+22D1 double superset ISOAMSR -->
+<!ENTITY supdsub "&#58188;"><!-- u+E34C superset, subset, dash joining them ISOAMSR -->
+<!ENTITY supE "&#8839;"><!-- u+2287 superset, double equals ISOAMSR -->
+<!ENTITY supedot "&#58192;"><!-- u+E350 superset, equals, dot ISOAMSR -->
+<!ENTITY suphsol "&#58190;"><!-- u+E34E superset, solidus ISOAMSR -->
+<!ENTITY suphsub "&#58187;"><!-- u+E34B superset, subset ISOAMSR -->
+<!ENTITY suplarr "&#58176;"><!-- u+E340 superset, left arrow ISOAMSR -->
+<!ENTITY supmult "&#58180;"><!-- u+E344 superset, multiply ISOAMSR -->
+<!ENTITY supplus "&#58178;"><!-- u+E342 superset, plus ISOAMSR -->
+<!ENTITY Supset "&#8913;"><!-- u+22D1 double superset MMALIAS Sup-->
+<!ENTITY supseteqq "&#8839;"><!-- u+2287 superset, double equals MMALIAS supE-->
+<!ENTITY supsim "&#58182;"><!-- u+E346 superset, similar ISOAMSR -->
+<!ENTITY supsub "&#58184;"><!-- u+E348 superset above subset ISOAMSR -->
+<!ENTITY supsup "&#58186;"><!-- u+E34A superset above superset ISOAMSR -->
+<!ENTITY thickapprox "&#58118;"><!-- u+E306 thick approximate MMALIAS thkap-->
+<!ENTITY thicksim "&#58409;"><!-- u+E429 thick similar MMALIAS thksim-->
+<!ENTITY thkap "&#58118;"><!-- u+E306 thick approximate ISOAMSR -->
+<!ENTITY thksim "&#58409;"><!-- u+E429 thick similar ISOAMSR -->
+<!ENTITY topfork "&#58140;"><!-- u+E31C fork with top ISOAMSR -->
+<!ENTITY trianglelefteq "&#8884;"><!-- u+22B4 left triangle, equals MMALIAS ltrie-->
+<!ENTITY triangleq "&#8796;"><!-- u+225C triangle, equals MMALIAS trie-->
+<!ENTITY trianglerighteq "&#8885;"><!-- u+22B5 right triangle, equals MMALIAS rtrie-->
+<!ENTITY trie "&#8796;"><!-- u+225C triangle, equals ISOAMSR -->
+<!ENTITY twixt "&#8812;"><!-- u+226C between ISOAMSR -->
+<!ENTITY varpropto "&#8733;"><!-- u+221D proportional, variant MMALIAS vprop-->
+<!ENTITY vartriangleleft "&#8882;"><!-- u+22B2 left triangle, open, variant MMALIAS vltri-->
+<!ENTITY vartriangleright "&#8883;"><!-- u+22B3 right triangle, open, variant MMALIAS vrtri-->
+<!ENTITY Vbar "&#58125;"><!-- u+E30D double vert, bar (under) ISOAMSR -->
+<!ENTITY vBar "&#58128;"><!-- u+E310 vert, double bar (under) ISOAMSR -->
+<!ENTITY vBarv "&#58130;"><!-- u+E312 double bar, vert over and under ISOAMSR -->
+<!ENTITY VDash "&#8875;"><!-- u+22AB double vert, double dash ISOAMSR -->
+<!ENTITY Vdash "&#8873;"><!-- u+22A9 double vertical, dash ISOAMSR -->
+<!ENTITY vDash "&#8872;"><!-- u+22A8 vertical, double dash ISOAMSR -->
+<!ENTITY vdash "&#8866;"><!-- u+22A2 vertical, dash ISOAMSR -->
+<!ENTITY Vdashl "&#58131;"><!-- u+E313 vertical, dash (long) ISOAMSR -->
+<!ENTITY VerticalBar "&#8739;"><!-- u+2223 mid MMALIAS mid-->
+<!ENTITY vltri "&#8882;"><!-- u+22B2 left triangle, open, variant ISOAMSR -->
+<!ENTITY vprop "&#8733;"><!-- u+221D proportional, variant ISOAMSR -->
+<!ENTITY vrtri "&#8883;"><!-- u+22B3 right triangle, open, variant ISOAMSR -->
+<!ENTITY Vvdash "&#8874;"><!-- u+22AA triple vertical, dash ISOAMSR -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isogrk3e.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isogrk3e.dtd
new file mode 100644
index 00000000000..7c3c77c7a0c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isogrk3e.dtd
@@ -0,0 +1,55 @@
+
+<!--
+ ISOGRK3 Characters alphabetically
+ Greek Letter Symbols
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOGRK31.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY alpha "&#945;"><!-- u+03B1 small alpha, Greek ISOGRK3 -->
+<!ENTITY beta "&#946;"><!-- u+03B2 small beta, Greek ISOGRK3 -->
+<!ENTITY chi "&#967;"><!-- u+03C7 small chi, Greek ISOGRK3 -->
+<!ENTITY Delta "&#916;"><!-- u+0394 capital Delta, Greek ISOGRK3 -->
+<!ENTITY delta "&#948;"><!-- u+03B4 small delta, Greek ISOGRK3 -->
+<!ENTITY epsi "&#8714;"><!-- u+220A small epsilon, Greek ISOGRK3 -->
+<!ENTITY epsiv "&#949;"><!-- u+03B5 rounded small epsilon, Greek ISOGRK3 -->
+<!ENTITY eta "&#951;"><!-- u+03B7 small eta, Greek ISOGRK3 -->
+<!ENTITY Gamma "&#915;"><!-- u+0393 capital Gamma, Greek ISOGRK3 -->
+<!ENTITY gamma "&#947;"><!-- u+03B3 small gamma, Greek ISOGRK3 -->
+<!ENTITY Gammad "&#988;"><!-- u+03DC capital digamma ISOGRK3 -->
+<!ENTITY gammad "&#988;"><!-- u+03DC digamma, old Greek ISOGRK3 -->
+<!ENTITY iota "&#953;"><!-- u+03B9 small iota, Greek ISOGRK3 -->
+<!ENTITY kappa "&#954;"><!-- u+03BA small kappa, Greek ISOGRK3 -->
+<!ENTITY kappav "&#1008;"><!-- u+03F0 rounded small kappa , Greek ISOGRK3 -->
+<!ENTITY Lambda "&#923;"><!-- u+039B capital Lambda, Greek ISOGRK3 -->
+<!ENTITY lambda "&#955;"><!-- u+03BB small lambda, Greek ISOGRK3 -->
+<!ENTITY mu "&#956;"><!-- u+03BC small mu, Greek ISOGRK3 -->
+<!ENTITY nu "&#957;"><!-- u+03BD small nu, Greek ISOGRK3 -->
+<!ENTITY Omega "&#937;"><!-- u+03A9 capital Omega, Greek ISOGRK3 -->
+<!ENTITY omega "&#969;"><!-- u+03C9 small omega, Greek ISOGRK3 -->
+<!ENTITY omicron "&#959;"><!-- u+03BF small omicron, Greek ISOGRK3 -->
+<!ENTITY Phi "&#934;"><!-- u+03A6 capital Phi, Greek ISOGRK3 -->
+<!ENTITY phi "&#966;"><!-- u+03C6 small phi, Greek ISOGRK3 -->
+<!ENTITY phiv "&#981;"><!-- u+03D5 curly or open small phi, Greek ISOGRK3 -->
+<!ENTITY Pi "&#928;"><!-- u+03A0 capital Pi, Greek ISOGRK3 -->
+<!ENTITY pi "&#960;"><!-- u+03C0 small pi, Greek ISOGRK3 -->
+<!ENTITY piv "&#982;"><!-- u+03D6 rounded small pi (pomega), Greek ISOGRK3 -->
+<!ENTITY Psi "&#936;"><!-- u+03A8 capital Psi, Greek ISOGRK3 -->
+<!ENTITY psi "&#968;"><!-- u+03C8 small psi, Greek ISOGRK3 -->
+<!ENTITY rho "&#961;"><!-- u+03C1 small rho, Greek ISOGRK3 -->
+<!ENTITY rhov "&#1009;"><!-- u+03F1 rounded small rho, Greek ISOGRK3 -->
+<!ENTITY Sigma "&#931;"><!-- u+03A3 capital Sigma, Greek ISOGRK3 -->
+<!ENTITY sigma "&#963;"><!-- u+03C3 small sigma, Greek ISOGRK3 -->
+<!ENTITY sigmav "&#962;"><!-- u+03C2 terminal sigma, Greek ISOGRK3 -->
+<!ENTITY tau "&#964;"><!-- u+03C4 small tau, Greek ISOGRK3 -->
+<!ENTITY Theta "&#920;"><!-- u+0398 capital Theta, Greek ISOGRK3 -->
+<!ENTITY theta "&#952;"><!-- u+03B8 straight theta, small theta, Greek ISOGRK3 -->
+<!ENTITY thetav "&#977;"><!-- u+03D1 curly or open theta ISOGRK3 -->
+<!ENTITY Upsi "&#978;"><!-- u+03D2 capital Upsilon, Greek ISOGRK3 -->
+<!ENTITY upsi "&#965;"><!-- u+03C5 small upsilon, Greek ISOGRK3 -->
+<!ENTITY Xi "&#926;"><!-- u+039E capital Xi, Greek ISOGRK3 -->
+<!ENTITY xi "&#958;"><!-- u+03BE small xi, Greek ISOGRK3 -->
+<!ENTITY zeta "&#950;"><!-- u+03B6 small zeta, Greek ISOGRK3 -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomfrke.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomfrke.dtd
new file mode 100644
index 00000000000..72a22d8098a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomfrke.dtd
@@ -0,0 +1,63 @@
+
+<!--
+ ISOMFRK Characters alphabetically
+ Mathematical Fraktur
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOMFRK1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY Afr "&#58492;"><!-- u+E47C fraktur letter A ISOMFRK -->
+<!ENTITY afr "&#58517;"><!-- u+E495 fraktur letter a ISOMFRK -->
+<!ENTITY Bfr "&#58493;"><!-- u+E47D fraktur letter B ISOMFRK -->
+<!ENTITY bfr "&#58518;"><!-- u+E496 fraktur letter b ISOMFRK -->
+<!ENTITY Cfr "&#58494;"><!-- u+E47E fraktur letter C ISOMFRK -->
+<!ENTITY cfr "&#58519;"><!-- u+E497 fraktur letter c ISOMFRK -->
+<!ENTITY Dfr "&#58495;"><!-- u+E47F fraktur letter D ISOMFRK -->
+<!ENTITY dfr "&#58520;"><!-- u+E498 fraktur letter d ISOMFRK -->
+<!ENTITY Efr "&#58496;"><!-- u+E480 fraktur letter E ISOMFRK -->
+<!ENTITY efr "&#58521;"><!-- u+E499 fraktur letter e ISOMFRK -->
+<!ENTITY Ffr "&#58497;"><!-- u+E481 fraktur letter F ISOMFRK -->
+<!ENTITY ffr "&#58522;"><!-- u+E49A fraktur letter f ISOMFRK -->
+<!ENTITY Gfr "&#58498;"><!-- u+E482 fraktur letter G ISOMFRK -->
+<!ENTITY gfr "&#58523;"><!-- u+E49B fraktur letter g ISOMFRK -->
+<!ENTITY Hfr "&#58499;"><!-- u+E483 fraktur letter H ISOMFRK -->
+<!ENTITY hfr "&#58524;"><!-- u+E49C fraktur letter h ISOMFRK -->
+<!ENTITY Ifr "&#58500;"><!-- u+E484 fraktur letter I ISOMFRK -->
+<!ENTITY ifr "&#58525;"><!-- u+E49D fraktur letter i ISOMFRK -->
+<!ENTITY Jfr "&#58501;"><!-- u+E485 fraktur letter J ISOMFRK -->
+<!ENTITY jfr "&#58526;"><!-- u+E49E fraktur letter j ISOMFRK -->
+<!ENTITY Kfr "&#58502;"><!-- u+E486 fraktur letter K ISOMFRK -->
+<!ENTITY kfr "&#58527;"><!-- u+E49F fraktur letter k ISOMFRK -->
+<!ENTITY Lfr "&#58503;"><!-- u+E487 fraktur letter L ISOMFRK -->
+<!ENTITY lfr "&#58528;"><!-- u+E4A0 fraktur letter l ISOMFRK -->
+<!ENTITY Mfr "&#58504;"><!-- u+E488 fraktur letter M ISOMFRK -->
+<!ENTITY mfr "&#58529;"><!-- u+E4A1 fraktur letter m ISOMFRK -->
+<!ENTITY Nfr "&#58505;"><!-- u+E489 fraktur letter N ISOMFRK -->
+<!ENTITY nfr "&#58530;"><!-- u+E4A2 fraktur letter n ISOMFRK -->
+<!ENTITY Ofr "&#58506;"><!-- u+E48A fraktur letter O ISOMFRK -->
+<!ENTITY ofr "&#58531;"><!-- u+E4A3 fraktur letter o ISOMFRK -->
+<!ENTITY Pfr "&#58507;"><!-- u+E48B fraktur letter P ISOMFRK -->
+<!ENTITY pfr "&#58532;"><!-- u+E4A4 fraktur letter p ISOMFRK -->
+<!ENTITY Qfr "&#58508;"><!-- u+E48C fraktur letter Q ISOMFRK -->
+<!ENTITY qfr "&#58533;"><!-- u+E4A5 fraktur letter q ISOMFRK -->
+<!ENTITY Rfr "&#58509;"><!-- u+E48D fraktur letter R ISOMFRK -->
+<!ENTITY rfr "&#58534;"><!-- u+E4A6 fraktur letter r ISOMFRK -->
+<!ENTITY Sfr "&#58510;"><!-- u+E48E fraktur letter S ISOMFRK -->
+<!ENTITY sfr "&#58535;"><!-- u+E4A7 fraktur letter s ISOMFRK -->
+<!ENTITY Tfr "&#58511;"><!-- u+E48F fraktur letter T ISOMFRK -->
+<!ENTITY tfr "&#58536;"><!-- u+E4A8 fraktur letter t ISOMFRK -->
+<!ENTITY Ufr "&#58512;"><!-- u+E490 fraktur letter U ISOMFRK -->
+<!ENTITY ufr "&#58537;"><!-- u+E4A9 fraktur letter u ISOMFRK -->
+<!ENTITY Vfr "&#58513;"><!-- u+E491 fraktur letter V ISOMFRK -->
+<!ENTITY vfr "&#58538;"><!-- u+E4AA fraktur letter v ISOMFRK -->
+<!ENTITY Wfr "&#58514;"><!-- u+E492 fraktur letter W ISOMFRK -->
+<!ENTITY wfr "&#58539;"><!-- u+E4AB fraktur letter w ISOMFRK -->
+<!ENTITY Xfr "&#58515;"><!-- u+E493 fraktur letter X ISOMFRK -->
+<!ENTITY xfr "&#58540;"><!-- u+E4AC fraktur letter x ISOMFRK -->
+<!ENTITY Yfr "&#58516;"><!-- u+E494 fraktur letter Y ISOMFRK -->
+<!ENTITY yfr "&#58541;"><!-- u+E4AD fraktur letter y ISOMFRK -->
+<!ENTITY Zfr "&#8484;"><!-- u+2124 fraktur letter Z ISOMFRK -->
+<!ENTITY zfr "&#58542;"><!-- u+E4AE fraktur letter z ISOMFRK -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomopfe.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomopfe.dtd
new file mode 100644
index 00000000000..095e4aa0dde
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomopfe.dtd
@@ -0,0 +1,37 @@
+
+<!--
+ ISOMOPF Characters alphabetically
+ Mathematical Open Face
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOMOPF1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY Aopf "&#58543;"><!-- u+E4AF open face letter A ISOMOPF -->
+<!ENTITY Bopf "&#58544;"><!-- u+E4B0 open face letter B ISOMOPF -->
+<!ENTITY Copf "&#8450;"><!-- u+2102 open face letter C ISOMOPF -->
+<!ENTITY Dopf "&#58545;"><!-- u+E4B1 open face letter D ISOMOPF -->
+<!ENTITY Eopf "&#58546;"><!-- u+E4B2 open face letter E ISOMOPF -->
+<!ENTITY Fopf "&#58547;"><!-- u+E4B3 open face letter F ISOMOPF -->
+<!ENTITY Gopf "&#58548;"><!-- u+E4B4 open face letter G ISOMOPF -->
+<!ENTITY Hopf "&#58549;"><!-- u+E4B5 open face letter H ISOMOPF -->
+<!ENTITY Iopf "&#58550;"><!-- u+E4B6 open face letter I ISOMOPF -->
+<!ENTITY Jopf "&#58551;"><!-- u+E4B7 open face letter J ISOMOPF -->
+<!ENTITY Kopf "&#58552;"><!-- u+E4B8 open face letter K ISOMOPF -->
+<!ENTITY Lopf "&#58553;"><!-- u+E4B9 open face letter L ISOMOPF -->
+<!ENTITY Mopf "&#58554;"><!-- u+E4BA open face letter M ISOMOPF -->
+<!ENTITY Nopf "&#58555;"><!-- u+E4BB open face letter N ISOMOPF -->
+<!ENTITY Oopf "&#58556;"><!-- u+E4BC open face letter O ISOMOPF -->
+<!ENTITY Popf "&#8473;"><!-- u+2119 open face letter P ISOMOPF -->
+<!ENTITY Qopf "&#8474;"><!-- u+211A open face letter Q ISOMOPF -->
+<!ENTITY Ropf "&#8477;"><!-- u+211D open face letter R ISOMOPF -->
+<!ENTITY Sopf "&#58557;"><!-- u+E4BD open face letter S ISOMOPF -->
+<!ENTITY Topf "&#58558;"><!-- u+E4BE open face letter T ISOMOPF -->
+<!ENTITY Uopf "&#58559;"><!-- u+E4BF open face letter U ISOMOPF -->
+<!ENTITY Vopf "&#58560;"><!-- u+E4C0 open face letter V ISOMOPF -->
+<!ENTITY Wopf "&#58561;"><!-- u+E4C1 open face letter W ISOMOPF -->
+<!ENTITY Xopf "&#58562;"><!-- u+E4C2 open face letter X ISOMOPF -->
+<!ENTITY Yopf "&#58563;"><!-- u+E4C3 open face letter Y ISOMOPF -->
+<!ENTITY Zopf "&#58564;"><!-- u+E4C4 open face letter Z ISOMOPF -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomscre.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomscre.dtd
new file mode 100644
index 00000000000..bdd7bfd07f6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isomscre.dtd
@@ -0,0 +1,63 @@
+
+<!--
+ ISOMSCR Characters alphabetically
+ Mathematical Script Font
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOMSCR1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY Ascr "&#58565;"><!-- u+E4C5 script letter A ISOMSCR -->
+<!ENTITY ascr "&#58591;"><!-- u+E4DF script letter a ISOMSCR -->
+<!ENTITY Bscr "&#58566;"><!-- u+E4C6 script letter B ISOMSCR -->
+<!ENTITY bscr "&#58592;"><!-- u+E4E0 script letter b ISOMSCR -->
+<!ENTITY Cscr "&#58567;"><!-- u+E4C7 script letter C ISOMSCR -->
+<!ENTITY cscr "&#58593;"><!-- u+E4E1 script letter c ISOMSCR -->
+<!ENTITY Dscr "&#58568;"><!-- u+E4C8 script letter D ISOMSCR -->
+<!ENTITY dscr "&#58594;"><!-- u+E4E2 script letter d ISOMSCR -->
+<!ENTITY Escr "&#58569;"><!-- u+E4C9 script letter E ISOMSCR -->
+<!ENTITY escr "&#58595;"><!-- u+E4E3 script letter e ISOMSCR -->
+<!ENTITY Fscr "&#58570;"><!-- u+E4CA script letter F ISOMSCR -->
+<!ENTITY fscr "&#58596;"><!-- u+E4E4 script letter f ISOMSCR -->
+<!ENTITY Gscr "&#58571;"><!-- u+E4CB script letter G ISOMSCR -->
+<!ENTITY gscr "&#58597;"><!-- u+E4E5 script letter g ISOMSCR -->
+<!ENTITY Hscr "&#58572;"><!-- u+E4CC script letter H ISOMSCR -->
+<!ENTITY hscr "&#58598;"><!-- u+E4E6 script letter h ISOMSCR -->
+<!ENTITY Iscr "&#58573;"><!-- u+E4CD script letter I ISOMSCR -->
+<!ENTITY iscr "&#58599;"><!-- u+E4E7 script letter i ISOMSCR -->
+<!ENTITY Jscr "&#58574;"><!-- u+E4CE script letter J ISOMSCR -->
+<!ENTITY jscr "&#58600;"><!-- u+E4E8 script letter j ISOMSCR -->
+<!ENTITY Kscr "&#58575;"><!-- u+E4CF script letter K ISOMSCR -->
+<!ENTITY kscr "&#58601;"><!-- u+E4E9 script letter k ISOMSCR -->
+<!ENTITY Lscr "&#58576;"><!-- u+E4D0 script letter L ISOMSCR -->
+<!ENTITY lscr "&#58602;"><!-- u+E4EA script letter l ISOMSCR -->
+<!ENTITY Mscr "&#58577;"><!-- u+E4D1 script letter M ISOMSCR -->
+<!ENTITY mscr "&#58603;"><!-- u+E4EB script letter m ISOMSCR -->
+<!ENTITY Nscr "&#58578;"><!-- u+E4D2 script letter N ISOMSCR -->
+<!ENTITY nscr "&#58604;"><!-- u+E4EC script letter n ISOMSCR -->
+<!ENTITY Oscr "&#58579;"><!-- u+E4D3 script letter O ISOMSCR -->
+<!ENTITY oscr "&#58605;"><!-- u+E4ED script letter o ISOMSCR -->
+<!ENTITY Pscr "&#58580;"><!-- u+E4D4 script letter P ISOMSCR -->
+<!ENTITY pscr "&#58606;"><!-- u+E4EE script letter p ISOMSCR -->
+<!ENTITY Qscr "&#58581;"><!-- u+E4D5 script letter Q ISOMSCR -->
+<!ENTITY qscr "&#58607;"><!-- u+E4EF script letter q ISOMSCR -->
+<!ENTITY Rscr "&#58582;"><!-- u+E4D6 script letter R ISOMSCR -->
+<!ENTITY rscr "&#8475;"><!-- u+211B script letter r ISOMSCR -->
+<!ENTITY Sscr "&#58583;"><!-- u+E4D7 script letter S ISOMSCR -->
+<!ENTITY sscr "&#58608;"><!-- u+E4F0 script letter s ISOMSCR -->
+<!ENTITY Tscr "&#58584;"><!-- u+E4D8 script letter T ISOMSCR -->
+<!ENTITY tscr "&#58609;"><!-- u+E4F1 script letter t ISOMSCR -->
+<!ENTITY Uscr "&#58585;"><!-- u+E4D9 script letter U ISOMSCR -->
+<!ENTITY uscr "&#58610;"><!-- u+E4F2 script letter u ISOMSCR -->
+<!ENTITY Vscr "&#58586;"><!-- u+E4DA script letter V ISOMSCR -->
+<!ENTITY vscr "&#58611;"><!-- u+E4F3 script letter v ISOMSCR -->
+<!ENTITY Wscr "&#58587;"><!-- u+E4DB script letter W ISOMSCR -->
+<!ENTITY wscr "&#58612;"><!-- u+E4F4 script letter w ISOMSCR -->
+<!ENTITY Xscr "&#58588;"><!-- u+E4DC script letter X ISOMSCR -->
+<!ENTITY xscr "&#58613;"><!-- u+E4F5 script letter x ISOMSCR -->
+<!ENTITY Yscr "&#58589;"><!-- u+E4DD script letter Y ISOMSCR -->
+<!ENTITY yscr "&#58614;"><!-- u+E4F6 script letter y ISOMSCR -->
+<!ENTITY Zscr "&#58590;"><!-- u+E4DE script letter Z ISOMSCR -->
+<!ENTITY zscr "&#58615;"><!-- u+E4F7 script letter z ISOMSCR -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isonume.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isonume.dtd
new file mode 100644
index 00000000000..b737ad5c78f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isonume.dtd
@@ -0,0 +1,86 @@
+
+<!--
+ Printing MathML Character Entities alphabetically
+ Based on ISO 9573-13 extended with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/byalpha.dtd
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY amp "&#38;"><!-- u+0026 ampersand-->
+<!ENTITY apos "&#39;"><!-- u+0027 apostrophe-->
+<!ENTITY brvbar "&#166;"><!-- u+00A6 broken (vertical) bar-->
+<!ENTITY bsol "&#92;"><!-- u+005C /backslash reverse solidus-->
+<!ENTITY cent "&#162;"><!-- u+00A2 cent sign-->
+<!ENTITY colon "&#58;"><!-- u+003A colon-->
+<!ENTITY comma "&#44;"><!-- u+002C comma-->
+<!ENTITY commat "&#64;"><!-- u+0040 commercial at-->
+<!ENTITY copy "&#169;"><!-- u+00A9 copyright sign-->
+<!ENTITY curren "&#164;"><!-- u+00A4 general currency sign-->
+<!ENTITY darr "&#8595;"><!-- u+2193 downward arrow-->
+<!ENTITY deg "&#176;"><!-- u+00B0 degree sign-->
+<!ENTITY divide "&#247;"><!-- u+00F7 divide sign-->
+<!ENTITY dollar "&#36;"><!-- u+0024 dollar sign-->
+<!ENTITY equals "&#61;"><!-- u+003D equals sign-->
+<!ENTITY excl "&#33;"><!-- u+0021 exclamation mark-->
+<!ENTITY frac12 "&#189;"><!-- u+00BD fraction one-half-->
+<!ENTITY frac14 "&#188;"><!-- u+00BC fraction one-quarter-->
+<!ENTITY frac18 "&#8539;"><!-- u+215B fraction one-eighth-->
+<!ENTITY frac34 "&#190;"><!-- u+00BE fraction three-quarters-->
+<!ENTITY frac38 "&#8540;"><!-- u+215C fraction three-eighths-->
+<!ENTITY frac58 "&#8541;"><!-- u+215D fraction five-eighths-->
+<!ENTITY frac78 "&#8542;"><!-- u+215E fraction seven-eighths-->
+<!ENTITY gt "&#62;"><!-- u+003E greater-than sign-->
+<!ENTITY half "&#189;"><!-- u+00BD fraction one-half-->
+<!ENTITY horbar "&#8213;"><!-- u+2015 horizontal bar-->
+<!ENTITY hyphen "&#58616;"><!-- u+E4F8 hyphen-->
+<!ENTITY iexcl "&#161;"><!-- u+00A1 inverted exclamation mark-->
+<!ENTITY iquest "&#191;"><!-- u+00BF inverted question mark-->
+<!ENTITY laquo "&#171;"><!-- u+00AB angle quotation mark, left-->
+<!ENTITY larr "&#8592;"><!-- u+2190 leftward arrow-->
+<!ENTITY lcub "&#123;"><!-- u+007B left curly bracket-->
+<!ENTITY ldquo "&#8220;"><!-- u+201C double quotation mark, left-->
+<!ENTITY lowbar "&#95;"><!-- u+005F low line-->
+<!ENTITY lpar "&#40;"><!-- u+0028 left parenthesis-->
+<!ENTITY lsqb "&#91;"><!-- u+005B left square bracket-->
+<!ENTITY lsquo "&#8216;"><!-- u+2018 single quotation mark, left-->
+<!ENTITY lt "&#60;"><!-- u+003C less-than sign-->
+<!ENTITY micro "&#181;"><!-- u+00B5 micro sign-->
+<!ENTITY middot "&#183;"><!-- u+00B7 middle dot-->
+<!ENTITY nbsp "&#160;"><!-- u+00A0 no break (required) space-->
+<!ENTITY not "&#172;"><!-- u+00AC /neg /lnot not sign-->
+<!ENTITY num "&#35;"><!-- u+0023 number sign-->
+<!ENTITY ohm "&#8486;"><!-- u+2126 ohm sign-->
+<!ENTITY ordf "&#170;"><!-- u+00AA ordinal indicator, feminine-->
+<!ENTITY ordm "&#186;"><!-- u+00BA ordinal indicator, masculine-->
+<!ENTITY para "&#182;"><!-- u+00B6 pilcrow (paragraph sign)-->
+<!ENTITY percnt "&#37;"><!-- u+0025 percent sign-->
+<!ENTITY period "&#46;"><!-- u+002E full stop, period-->
+<!ENTITY plus "&#43;"><!-- u+002B plus sign-->
+<!ENTITY plusmn "&#177;"><!-- u+00B1 plus-or-minus sign-->
+<!ENTITY pound "&#163;"><!-- u+00A3 pound sign-->
+<!ENTITY quest "&#63;"><!-- u+003F question mark-->
+<!ENTITY quot "&#34;"><!-- u+0022 quotation mark-->
+<!ENTITY raquo "&#187;"><!-- u+00BB angle quotation mark, right-->
+<!ENTITY rarr "&#8594;"><!-- u+2192 rightward arrow-->
+<!ENTITY rcub "&#125;"><!-- u+007D right curly bracket-->
+<!ENTITY rdquo "&#8221;"><!-- u+201D double quotation mark, right-->
+<!ENTITY reg "&#175;"><!-- u+00AE registered sign-->
+<!ENTITY rpar "&#41;"><!-- u+0029 right parenthesis-->
+<!ENTITY rsqb "&#93;"><!-- u+005D right square bracket-->
+<!ENTITY rsquo "&#8217;"><!-- u+2019 single quotation mark, right-->
+<!ENTITY sect "&#167;"><!-- u+00A7 section sign-->
+<!ENTITY semi "&#59;"><!-- u+003B semicolon-->
+<!ENTITY shy "&#173;"><!-- u+00AD soft hyphen-->
+<!ENTITY sol "&#47;"><!-- u+002F solidus-->
+<!ENTITY sung "&#9833;"><!-- u+2669 music note (sung text sign)-->
+<!ENTITY sup1 "&#185;"><!-- u+00B9 superscript one-->
+<!ENTITY sup2 "&#178;"><!-- u+00B2 superscript two-->
+<!ENTITY sup3 "&#179;"><!-- u+00B3 superscript three-->
+<!ENTITY times "&#215;"><!-- u+00D7 multiply sign-->
+<!ENTITY trade "&#8482;"><!-- u+2122 trade mark sign-->
+<!ENTITY uarr "&#8593;"><!-- u+2191 upward arrow-->
+<!ENTITY verbar "&#124;"><!-- u+007C vertical bar-->
+<!ENTITY yen "&#165;"><!-- u+00A5 yen sign-->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoteche.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoteche.dtd
new file mode 100644
index 00000000000..f9e7f25fb30
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/isoteche.dtd
@@ -0,0 +1,238 @@
+
+<!--
+ ISOTECH Characters alphabetically
+ General Technical Extended by MathML with aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/ISOTECHe1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY acd "&#58278;"><!-- u+E3A6 ac current ISOTECH -->
+<!ENTITY aleph "&#8501;"><!-- u+2135 /aleph aleph, Hebrew ISOTECH -->
+<!ENTITY And "&#58228;"><!-- u+E374 double logical and ISOTECH -->
+<!ENTITY and "&#8743;"><!-- u+2227 logical and ISOTECH -->
+<!ENTITY andand "&#58222;"><!-- u+E36E two logical and ISOTECH -->
+<!ENTITY andd "&#58260;"><!-- u+E394 and, horizontal dash ISOTECH -->
+<!ENTITY andslope "&#58634;"><!-- u+E50A sloping large and ISOTECH -->
+<!ENTITY andv "&#58257;"><!-- u+E391 and with middle stem ISOTECH -->
+<!ENTITY angrt "&#8735;"><!-- u+221F right (90 degree) angle ISOTECH -->
+<!ENTITY angsph "&#8738;"><!-- u+2222 /sphericalangle angle-spherical ISOTECH -->
+<!ENTITY angst "&#8491;"><!-- u+212B Angstrom capital A, ring ISOTECH -->
+<!ENTITY ap "&#8776;"><!-- u+2248 approximate ISOTECH -->
+<!ENTITY apacir "&#58252;"><!-- u+E38C approximate, circumflex accent ISOTECH -->
+<!ENTITY approx "&#8776;"><!-- u+2248 approximate MMALIAS ap-->
+<!ENTITY awconint "&#8755;"><!-- u+2233 contour integral, anti-clockwise ISOTECH -->
+<!ENTITY awint "&#58267;"><!-- u+E39B anti clock-wise integration ISOTECH -->
+<!ENTITY becaus "&#8757;"><!-- u+2235 because ISOTECH -->
+<!ENTITY Because "&#8757;"><!-- u+2235 because MMALIAS becaus-->
+<!ENTITY because "&#8757;"><!-- u+2235 because MMALIAS becaus-->
+<!ENTITY bernou "&#8492;"><!-- u+212C Bernoulli function (script capital B) ISOTECH -->
+<!ENTITY blacksquare "&#9632;"><!-- u+25A0 square, filled MMALIAS squarf-->
+<!ENTITY bne "&#58248;"><!-- u+E388 reverse not equal ISOTECH -->
+<!ENTITY bnequiv "&#58247;"><!-- u+E387 reverse not equivalent ISOTECH -->
+<!ENTITY bNot "&#58285;"><!-- u+E3AD reverse not with two horizontal strokes ISOTECH -->
+<!ENTITY bnot "&#8976;"><!-- u+2310 reverse not ISOTECH -->
+<!ENTITY bot "&#8869;"><!-- u+22A5 bottom MMALIAS bottom-->
+<!ENTITY bottom "&#8869;"><!-- u+22A5 bottom ISOTECH -->
+<!ENTITY cap "&#8745;"><!-- u+2229 intersection ISOTECH -->
+<!ENTITY Cconint "&#8752;"><!-- u+2230 triple contour integral operator ISOTECH -->
+<!ENTITY circ "&#8728;"><!-- u+2218 composite function (small circle) MMALIAS compfn-->
+<!ENTITY cirfnint "&#58261;"><!-- u+E395 circulation function ISOTECH -->
+<!ENTITY ClockwiseContourIntegral "&#8754;"><!-- u+2232 contour integral, clockwise MMALIAS cwconint-->
+<!ENTITY compfn "&#8728;"><!-- u+2218 composite function (small circle) ISOTECH -->
+<!ENTITY cong "&#8773;"><!-- u+2245 congruent with ISOTECH -->
+<!ENTITY Congruent "&#8801;"><!-- u+2261 identical with MMALIAS equiv-->
+<!ENTITY Conint "&#8751;"><!-- u+222F double contour integral operator ISOTECH -->
+<!ENTITY conint "&#8750;"><!-- u+222E contour integral operator ISOTECH -->
+<!ENTITY ContourIntegral "&#8750;"><!-- u+222E contour integral operator MMALIAS conint-->
+<!ENTITY CounterClockwiseContourIntegral "&#8755;"><!-- u+2233 contour integral, anti-clockwise MMALIAS awconint-->
+<!ENTITY ctdot "&#8943;"><!-- u+22EF /cdots, three dots, centered ISOTECH -->
+<!ENTITY cup "&#8746;"><!-- u+222A union or logical sum ISOTECH -->
+<!ENTITY cwconint "&#8754;"><!-- u+2232 contour integral, clockwise ISOTECH -->
+<!ENTITY cwint "&#8753;"><!-- u+2231 clockwise integral ISOTECH -->
+<!ENTITY cylcty "&#9005;"><!-- u+232D cylindricity ISOTECH -->
+<!ENTITY Del "&#8711;"><!-- u+2207 del, Hamilton operator MMALIAS nabla-->
+<!ENTITY disin "&#58272;"><!-- u+E3A0 set membership, long horizontal stroke ISOTECH -->
+<!ENTITY Dot "&#776;"><!-- u+0308 dieresis or umlaut mark ISOTECH -->
+<!ENTITY DotDot "&#8412;"><!-- u+20DC four dots above ISOTECH -->
+<!ENTITY DoubleContourIntegral "&#8751;"><!-- u+222F double contour integral operator MMALIAS Conint-->
+<!ENTITY DoubleLeftArrow "&#8656;"><!-- u+21D0 is implied by MMALIAS lArr-->
+<!ENTITY DoubleRightArrow "&#8658;"><!-- u+21D2 implies MMALIAS rArr-->
+<!ENTITY DoubleVerticalBar "&#8741;"><!-- u+2225 parallel MMALIAS par-->
+<!ENTITY DownTee "&#8868;"><!-- u+22A4 top MMALIAS top-->
+<!ENTITY dsol "&#58281;"><!-- u+E3A9 solidus, bar above ISOTECH -->
+<!ENTITY dtdot "&#8945;"><!-- u+22F1 /ddots, three dots, descending ISOTECH -->
+<!ENTITY dwangle "&#58282;"><!-- u+E3AA large downward pointing angle ISOTECH -->
+<!ENTITY Element "&#8712;"><!-- u+2208 set membership, variant MMALIAS isinv-->
+<!ENTITY elinters "&#58279;"><!-- u+E3A7 electrical intersection ISOTECH -->
+<!ENTITY epar "&#8917;"><!-- u+22D5 parallel, equal; equal or parallel ISOTECH -->
+<!ENTITY eparsl "&#58244;"><!-- u+E384 parallel, slanted, equal; homothetically congruent to ISOTECH -->
+<!ENTITY equiv "&#8801;"><!-- u+2261 identical with ISOTECH -->
+<!ENTITY eqvparsl "&#58246;"><!-- u+E386 equivalent, equal; congruent and parallel ISOTECH -->
+<!ENTITY exist "&#8707;"><!-- u+2203 /exists at least one exists ISOTECH -->
+<!ENTITY Exists "&#8707;"><!-- u+2203 /exists at least one exists MMALIAS exist-->
+<!ENTITY fltns "&#58241;"><!-- u+E381 flatness ISOTECH -->
+<!ENTITY ForAll "&#8704;"><!-- u+2200 /forall for all MMALIAS forall-->
+<!ENTITY forall "&#8704;"><!-- u+2200 /forall for all ISOTECH -->
+<!ENTITY fpartint "&#58262;"><!-- u+E396 finite part integral ISOTECH -->
+<!ENTITY ge "&#8805;"><!-- u+2265 greater-than-or-equal ISOTECH -->
+<!ENTITY geq "&#8805;"><!-- u+2265 greater-than-or-equal MMALIAS ge-->
+<!ENTITY GreaterEqual "&#8805;"><!-- u+2265 greater-than-or-equal MMALIAS ge-->
+<!ENTITY hamilt "&#8459;"><!-- u+210B Hamiltonian (script capital H) ISOTECH -->
+<!ENTITY iff "&#58213;"><!-- u+E365 /iff if and only if ISOTECH -->
+<!ENTITY iiiint "&#58232;"><!-- u+E378 quadruple integral operator MMALIAS qint-->
+<!ENTITY iiint "&#8749;"><!-- u+222D triple integral operator MMALIAS tint-->
+<!ENTITY iinfin "&#58226;"><!-- u+E372 infinity sign, incomplete ISOTECH -->
+<!ENTITY imped "&#58635;"><!-- u+E50B impedance ISOTECH -->
+<!ENTITY Implies "&#8658;"><!-- u+21D2 implies MMALIAS rArr-->
+<!ENTITY in "&#8714;"><!-- u+220A set membership MMALIAS isin-->
+<!ENTITY infin "&#8734;"><!-- u+221E /infty infinity ISOTECH -->
+<!ENTITY infintie "&#58636;"><!-- u+E50C tie, infinity ISOTECH -->
+<!ENTITY Int "&#8748;"><!-- u+222C double integral operator ISOTECH -->
+<!ENTITY int "&#8747;"><!-- u+222B integral operator ISOTECH -->
+<!ENTITY Integral "&#8747;"><!-- u+222B integral operator MMALIAS int-->
+<!ENTITY intlarhk "&#58266;"><!-- u+E39A integral, left arrow with hook ISOTECH -->
+<!ENTITY isin "&#8714;"><!-- u+220A set membership ISOTECH -->
+<!ENTITY isindot "&#58268;"><!-- u+E39C set membership, dot above ISOTECH -->
+<!ENTITY isinE "&#58270;"><!-- u+E39E set membership, two horizontal strokes ISOTECH -->
+<!ENTITY isins "&#58276;"><!-- u+E3A4 set membership, vertical bar on horizontal stroke ISOTECH -->
+<!ENTITY isinsv "&#58274;"><!-- u+E3A2 large set membership, vertical bar on horizontal stroke ISOTECH -->
+<!ENTITY isinv "&#8712;"><!-- u+2208 set membership, variant ISOTECH -->
+<!ENTITY lagran "&#8466;"><!-- u+2112 Lagrangian (script capital L) ISOTECH -->
+<!ENTITY Lang "&#12298;"><!-- u+300A left angle bracket, double ISOTECH -->
+<!ENTITY lang "&#12296;"><!-- u+3008 left angle bracket ISOTECH -->
+<!ENTITY langle "&#12296;"><!-- u+3008 left angle bracket MMALIAS lang-->
+<!ENTITY lArr "&#8656;"><!-- u+21D0 is implied by ISOTECH -->
+<!ENTITY lbbrk "&#12308;"><!-- u+3014 left broken bracket ISOTECH -->
+<!ENTITY le "&#8804;"><!-- u+2264 less-than-or-equal ISOTECH -->
+<!ENTITY LeftAngleBracket "&#12296;"><!-- u+3008 left angle bracket MMALIAS lang-->
+<!ENTITY Leftarrow "&#8656;"><!-- u+21D0 is implied by MMALIAS lArr-->
+<!ENTITY leq "&#8804;"><!-- u+2264 less-than-or-equal MMALIAS le-->
+<!ENTITY loang "&#12312;"><!-- u+3018 left open angular bracket ISOTECH -->
+<!ENTITY lobrk "&#12314;"><!-- u+301A left open bracket ISOTECH -->
+<!ENTITY lopar "&#58233;"><!-- u+E379 left open parenthesis ISOTECH -->
+<!ENTITY lowast "&#8727;"><!-- u+2217 low asterisk ISOTECH -->
+<!ENTITY minus "&#8722;"><!-- u+2212 minus sign ISOTECH -->
+<!ENTITY MinusPlus "&#8723;"><!-- u+2213 minus-or-plus sign MMALIAS mnplus-->
+<!ENTITY mnplus "&#8723;"><!-- u+2213 minus-or-plus sign ISOTECH -->
+<!ENTITY mp "&#8723;"><!-- u+2213 minus-or-plus sign MMALIAS mnplus-->
+<!ENTITY nabla "&#8711;"><!-- u+2207 del, Hamilton operator ISOTECH -->
+<!ENTITY ne "&#8800;"><!-- u+2260 not equal ISOTECH -->
+<!ENTITY nedot "&#58250;"><!-- u+E38A not equal, dot ISOTECH -->
+<!ENTITY nhpar "&#58253;"><!-- u+E38D not, horizontal, parallel ISOTECH -->
+<!ENTITY ni "&#8717;"><!-- u+220D contains ISOTECH -->
+<!ENTITY nis "&#58277;"><!-- u+E3A5 contains, vertical bar on horizontal stroke ISOTECH -->
+<!ENTITY nisd "&#58273;"><!-- u+E3A1 contains, long horizontal stroke ISOTECH -->
+<!ENTITY niv "&#8715;"><!-- u+220B contains, variant ISOTECH -->
+<!ENTITY Not "&#58284;"><!-- u+E3AC not with two horizontal strokes ISOTECH -->
+<!ENTITY NotElement "&#8713;"><!-- u+2209 negated set membership MMALIAS notin-->
+<!ENTITY NotEqual "&#8800;"><!-- u+2260 not equal MMALIAS ne-->
+<!ENTITY notin "&#8713;"><!-- u+2209 negated set membership ISOTECH -->
+<!ENTITY notindot "&#58269;"><!-- u+E39D negated set membership, dot above ISOTECH -->
+<!ENTITY notinE "&#58637;"><!-- u+E50D negated set membership, two horizontal strokes ISOTECH -->
+<!ENTITY notinva "&#58224;"><!-- u+E370 negated set membership, variant ISOTECH -->
+<!ENTITY notinvb "&#58235;"><!-- u+E37B negated set membership, variant ISOTECH -->
+<!ENTITY notinvc "&#58236;"><!-- u+E37C negated set membership, variant ISOTECH -->
+<!ENTITY notni "&#8716;"><!-- u+220C negated contains ISOTECH -->
+<!ENTITY notniva "&#8716;"><!-- u+220C negated contains, variant ISOTECH -->
+<!ENTITY notnivb "&#58237;"><!-- u+E37D contains, variant ISOTECH -->
+<!ENTITY notnivc "&#58238;"><!-- u+E37E contains, variant ISOTECH -->
+<!ENTITY NotReverseElement "&#8716;"><!-- u+220C negated contains, variant MMALIAS notniva-->
+<!ENTITY nparsl "&#58249;"><!-- u+E389 not parallel, slanted ISOTECH -->
+<!ENTITY npart "&#58256;"><!-- u+E390 not partial differential ISOTECH -->
+<!ENTITY npolint "&#58265;"><!-- u+E399 line integration, not including the pole ISOTECH -->
+<!ENTITY nvinfin "&#58254;"><!-- u+E38E not, vert, infinity ISOTECH -->
+<!ENTITY oint "&#8750;"><!-- u+222E contour integral operator MMALIAS conint-->
+<!ENTITY olcross "&#58280;"><!-- u+E3A8 circle, cross ISOTECH -->
+<!ENTITY Or "&#58229;"><!-- u+E375 double logical or ISOTECH -->
+<!ENTITY or "&#8744;"><!-- u+2228 logical or ISOTECH -->
+<!ENTITY ord "&#58259;"><!-- u+E393 or, horizontal dash ISOTECH -->
+<!ENTITY order "&#8500;"><!-- u+2134 order of (script small o) ISOTECH -->
+<!ENTITY oror "&#58638;"><!-- u+E50E two logical or ISOTECH -->
+<!ENTITY orslope "&#58286;"><!-- u+E3AE sloping large or ISOTECH -->
+<!ENTITY orv "&#58258;"><!-- u+E392 or with middle stem ISOTECH -->
+<!ENTITY par "&#8741;"><!-- u+2225 parallel ISOTECH -->
+<!ENTITY parallel "&#8741;"><!-- u+2225 parallel MMALIAS par-->
+<!ENTITY parsl "&#58242;"><!-- u+E382 parallel, slanted ISOTECH -->
+<!ENTITY part "&#8706;"><!-- u+2202 /partial partial differential ISOTECH -->
+<!ENTITY PartialD "&#8706;"><!-- u+2202 /partial partial differential MMALIAS part-->
+<!ENTITY permil "&#8240;"><!-- u+2030 per thousand ISOTECH -->
+<!ENTITY perp "&#8869;"><!-- u+22A5 perpendicular ISOTECH -->
+<!ENTITY pertenk "&#8241;"><!-- u+2031 per 10 thousand ISOTECH -->
+<!ENTITY phmmat "&#8499;"><!-- u+2133 physics M-matrix (script capital M) ISOTECH -->
+<!ENTITY pointint "&#58230;"><!-- u+E376 integral around a point operator ISOTECH -->
+<!ENTITY Prime "&#8243;"><!-- u+2033 double prime or second ISOTECH -->
+<!ENTITY prime "&#8242;"><!-- u+2032 /prime prime or minute ISOTECH -->
+<!ENTITY profalar "&#9006;"><!-- u+232E all-around profile ISOTECH -->
+<!ENTITY profline "&#8978;"><!-- u+2312 profile of a line ISOTECH -->
+<!ENTITY profsurf "&#8979;"><!-- u+2313 profile of a surface ISOTECH -->
+<!ENTITY prop "&#8733;"><!-- u+221D is proportional to ISOTECH -->
+<!ENTITY Proportional "&#8733;"><!-- u+221D is proportional to MMALIAS prop-->
+<!ENTITY propto "&#8733;"><!-- u+221D is proportional to MMALIAS prop-->
+<!ENTITY qint "&#58232;"><!-- u+E378 quadruple integral operator ISOTECH -->
+<!ENTITY qprime "&#58225;"><!-- u+E371 quadruple prime ISOTECH -->
+<!ENTITY quatint "&#58231;"><!-- u+E377 quaternion integral operator ISOTECH -->
+<!ENTITY radic "&#8730;"><!-- u+221A /surd radical ISOTECH -->
+<!ENTITY Rang "&#12299;"><!-- u+300B right angle bracket, double ISOTECH -->
+<!ENTITY rang "&#12297;"><!-- u+3009 right angle bracket ISOTECH -->
+<!ENTITY rangle "&#12297;"><!-- u+3009 right angle bracket MMALIAS rang-->
+<!ENTITY rArr "&#8658;"><!-- u+21D2 implies ISOTECH -->
+<!ENTITY rbbrk "&#12309;"><!-- u+3015 right broken bracket ISOTECH -->
+<!ENTITY ReverseElement "&#8715;"><!-- u+220B contains, variant MMALIAS niv-->
+<!ENTITY RightAngleBracket "&#12297;"><!-- u+3009 right angle bracket MMALIAS rang-->
+<!ENTITY Rightarrow "&#8658;"><!-- u+21D2 implies MMALIAS rArr-->
+<!ENTITY roang "&#12313;"><!-- u+3019 right open angular bracket ISOTECH -->
+<!ENTITY robrk "&#12315;"><!-- u+301B right open bracket ISOTECH -->
+<!ENTITY ropar "&#58234;"><!-- u+E37A right open parenthesis ISOTECH -->
+<!ENTITY rppolint "&#58263;"><!-- u+E397 line integration, rectangular path around pole ISOTECH -->
+<!ENTITY scpolint "&#58264;"><!-- u+E398 line integration, semi-circular path around pole ISOTECH -->
+<!ENTITY sim "&#8764;"><!-- u+223C similar ISOTECH -->
+<!ENTITY simdot "&#58251;"><!-- u+E38B similar, dot ISOTECH -->
+<!ENTITY sime "&#8771;"><!-- u+2243 similar, equals ISOTECH -->
+<!ENTITY simeq "&#8771;"><!-- u+2243 similar, equals MMALIAS sime-->
+<!ENTITY SmallCircle "&#8728;"><!-- u+2218 composite function (small circle) MMALIAS compfn-->
+<!ENTITY smeparsl "&#58245;"><!-- u+E385 similar, parallel, slanted, equal ISOTECH -->
+<!ENTITY Sqrt "&#8730;"><!-- u+221A /surd radical MMALIAS radic-->
+<!ENTITY square "&#9633;"><!-- u+25A1 square ISOTECH -->
+<!ENTITY squarf "&#9632;"><!-- u+25A0 square, filled ISOTECH -->
+<!ENTITY strns "&#58240;"><!-- u+E380 straightness ISOTECH -->
+<!ENTITY sub "&#8834;"><!-- u+2282 subset or is implied by ISOTECH -->
+<!ENTITY sube "&#8838;"><!-- u+2286 subset, equals ISOTECH -->
+<!ENTITY Subset "&#8834;"><!-- u+2282 subset or is implied by MMALIAS sub-->
+<!ENTITY subset "&#8834;"><!-- u+2282 subset or is implied by MMALIAS sub-->
+<!ENTITY subseteq "&#8838;"><!-- u+2286 subset, equals MMALIAS sube-->
+<!ENTITY SubsetEqual "&#8838;"><!-- u+2286 subset, equals MMALIAS sube-->
+<!ENTITY SuchThat "&#8717;"><!-- u+220D contains MMALIAS ni-->
+<!ENTITY sup "&#8835;"><!-- u+2283 superset or implies ISOTECH -->
+<!ENTITY supe "&#8839;"><!-- u+2287 superset, equals ISOTECH -->
+<!ENTITY Superset "&#8835;"><!-- u+2283 superset or implies MMALIAS sup-->
+<!ENTITY SupersetEqual "&#8839;"><!-- u+2287 superset, equals MMALIAS supe-->
+<!ENTITY supset "&#8835;"><!-- u+2283 superset or implies MMALIAS sup-->
+<!ENTITY supseteq "&#8839;"><!-- u+2287 superset, equals MMALIAS supe-->
+<!ENTITY tdot "&#8411;"><!-- u+20DB three dots above ISOTECH -->
+<!ENTITY there4 "&#8756;"><!-- u+2234 therefore ISOTECH -->
+<!ENTITY Therefore "&#8756;"><!-- u+2234 therefore MMALIAS there4-->
+<!ENTITY therefore "&#8756;"><!-- u+2234 therefore MMALIAS there4-->
+<!ENTITY Tilde "&#8764;"><!-- u+223C similar MMALIAS sim-->
+<!ENTITY TildeEqual "&#8771;"><!-- u+2243 similar, equals MMALIAS sime-->
+<!ENTITY TildeFullEqual "&#8773;"><!-- u+2245 congruent with MMALIAS cong-->
+<!ENTITY TildeTilde "&#8776;"><!-- u+2248 approximate MMALIAS ap-->
+<!ENTITY tint "&#8749;"><!-- u+222D triple integral operator ISOTECH -->
+<!ENTITY top "&#8868;"><!-- u+22A4 top ISOTECH -->
+<!ENTITY topbot "&#9014;"><!-- u+2336 top and bottom ISOTECH -->
+<!ENTITY topcir "&#58243;"><!-- u+E383 top, circle below ISOTECH -->
+<!ENTITY tprime "&#8244;"><!-- u+2034 triple prime ISOTECH -->
+<!ENTITY TripleDot "&#8411;"><!-- u+20DB three dots above MMALIAS tdot-->
+<!ENTITY UpTee "&#8869;"><!-- u+22A5 perpendicular MMALIAS perp-->
+<!ENTITY utdot "&#8944;"><!-- u+22F0 three dots, ascending ISOTECH -->
+<!ENTITY uwangle "&#58283;"><!-- u+E3AB large upward pointing angle ISOTECH -->
+<!ENTITY vangrt "&#8894;"><!-- u+22BE right angle, variant (with arc) ISOTECH -->
+<!ENTITY vee "&#8744;"><!-- u+2228 logical or MMALIAS or-->
+<!ENTITY veeeq "&#8794;"><!-- u+225A logical or, equals ISOTECH -->
+<!ENTITY Verbar "&#8214;"><!-- u+2016 double vertical bar ISOTECH -->
+<!ENTITY Vert "&#8214;"><!-- u+2016 double vertical bar MMALIAS Verbar-->
+<!ENTITY wedge "&#8743;"><!-- u+2227 logical and MMALIAS and-->
+<!ENTITY wedgeq "&#8793;"><!-- u+2259 corresponds to (wedge, equals) ISOTECH -->
+<!ENTITY xnis "&#58275;"><!-- u+E3A3 large contains, vertical bar on horizontal stroke ISOTECH -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.cfg
new file mode 100644
index 00000000000..d79791f2047
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.cfg
@@ -0,0 +1,41 @@
+\Configure{html}{xml}
+\Preamble{html,0.0,ref-,fonts}
+\Configure{HTML} {\IgnorePar\Tg<?xml version="1.0"?>
+ \Tg<document>}
+ {\Tg</document>}
+\Configure{section}
+ {\EndP \IgnorePar\par \GetLabel \Tg<section \PutLabel>}
+ {\EndP \IgnorePar \Tg</section>}
+ {\Tg<stitle>}{\Tg</stitle>}
+\Configure{subsection}
+ {\EndP \IgnorePar\par \GetLabel \Tg<subsection \PutLabel>}
+ {\EndP \IgnorePar \Tg</subsection>}
+ {\Tg<stitle>}{\Tg</stitle>}
+\Configure{likesection}
+ {\EndP \IgnorePar\par\GetLabel \Tg<section \PutLabel class="star">}
+ {\EndP \Tg</section>}
+ {\Tg<stitle>}{\Tg</stitle>}
+\ConfigureList{thebibliography}
+ {\EndP \GetLabel \Tg<bibliography \PutLabel>
+ \def\EndItem{\def\EndItem{\EndP \Tg</bibitem>}}}
+ {\EndItem \Tg</bibliography>}
+ {\EndItem \DeleteMark}
+ {\Tg<bibitem id="\AnchorLabel">\par}
+\ConfigureList{enumerate}
+ {\EndP \GetLabel \Tg<lalist \PutLabel class="enumerate">
+ \def\EndItem{\def\EndItem{\EndP\Tg</item>}}} {\EndItem \Tg</lalist>}
+ {\EndItem \DeleteMark} {\Tg<item>\par}
+\Configure{tabular}
+ {\Tg<tabular preamble="\Clr">} {\Tg</tabular>}
+ {\Tg<row>}{\Tg</row>} {\Tg<cell \Hnewline>}{\Tg</cell>}
+\Configure{maketitle} {}{} {\Tg<title>}{\Tg</title>}
+\Configure{thanks author date and}
+ {}{} {\Tg<author>}{\Tg</author>} {\Tg<date>}{\Tg</date>} {} {}
+\Configure{emph}{\Tg<emph>}{\Tg</emph>}
+\Configure{label}{id="#1"}{\Tg<pagelabel id="#1"/>}
+\Configure{pageref}{\Tg<pageref refid="#1"/>}
+\Configure{ref}{\Tg<ref refid="#1"/>}
+\Configure{cite}{\Tg<cite refid="#1"/>}
+\begin{document}
+\EndPreamble
+\Configure{HtmlPar} {\EndP\Tg<P>} {\EndP\Tg<P>} {\Tg</P>} {\Tg</P>}
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.tex b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.tex
new file mode 100644
index 00000000000..c902f390ed3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.tex
@@ -0,0 +1,29 @@
+\documentclass{article}
+ \usepackage[x2ldemo]{tex4ht}
+ \title{Simulation of Energy Loss Straggling}
+ \author{Maria Physicist}
+\begin{document}
+\maketitle
+\section{Landau theory}\label{sec:phys332-1}
+The Landau probability distribution may be written in
+terms of the universal Landau function \cite{bib-LAND}.
+\subsection{Restrictions}
+The Landau formalism makes two restrictive assumptions:
+\begin{enumerate}
+\item The typical energy loss is small.
+\item The typical energy loss in the absorber should be
+ large (see section \ref{urban}).
+\end{enumerate}
+\section{Urb\'an model}\label{urban}
+The following values are obtained:
+
+\begin{tabular}{llcrr}
+16 & 16 & & 2000 & 29.63\\
+100 & 27.59 & & 100 & 32.00
+\end{tabular}
+
+\begin{thebibliography}{10}
+\bibitem{bib-LAND} L.Landau. On the Energy Loss of Fast Particles by
+Ionisation. Originally published in \emph{J. Phys.}, 8:201, 1944.
+\end{thebibliography}
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.xml b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.xml
new file mode 100644
index 00000000000..c1de03fd509
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xdemo.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<document>
+<title>Simulation of Energy Loss Straggling</title>
+<author>Maria Physicist</author>
+<date>November 9, 1998</date>
+<section id="sec:phys332-1">
+<stitle>Landau theory</stitle>
+<p> The Landau probability distribution may be written in
+terms of the universal Landau function <cite refid="bib-LAND"/> .
+</p>
+<subsection>
+<stitle>Restrictions</stitle>
+<p>The Landau formalism makes two restrictive assumptions:</p>
+<lalist class="enumerate">
+ <item><p>The typical energy loss is small.</p></item>
+ <item><p>The typical energy loss in the absorber should be
+ large (see section <ref refid="urban"/> ).</p></item>
+</lalist>
+</subsection>
+</section>
+<section id="urban">
+<stitle>Urb&aacute;n model</stitle>
+<p> The following values are obtained:
+</p><p> <tabular preamble="llcrr"><row>
+<cell>16</cell><cell>16</cell><cell></cell><cell>2000</cell>
+<cell>29.63</cell></row><row><cell>100</cell>
+<cell>27.59</cell><cell></cell><cell>100</cell><cell>32.00</cell>
+ </row></tabular></p>
+</section>
+<section class="star">
+<stitle>References</stitle>
+<bibliography >
+<bibitem id="bib-LAND">
+ <p>L.Landau. On the Energy Loss of Fast Particles by Ionisation.
+ Originally published in <emph>J. Phys.</emph>, 8:201, 1944.</p>
+</bibitem>
+</bibliography>
+</section>
+</document>
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xmath.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xmath.cfg
new file mode 100644
index 00000000000..389a4509ee5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/l2xmath.cfg
@@ -0,0 +1,31 @@
+\Preamble{html,0.0,ref-,fonts,math}
+\Configure{$$}{\DviMath}{\EndDviMath}{}
+\Configure{eqnarray}
+ {\GetLabel \Tg<eqnarray \PutLabel>}
+ {\GetLabel \Tg</eqnarray>}
+ {\GetLabel \Tg<subeqn \PutLabel>\Tg<math>}
+ {\Tg</math>\Tg</subeqn>}
+ {\ifnum \Col=4 \Tg<mtext>\PauseMathClass \fi}
+ {\ifnum \Col=4 \EndPauseMathClass\Tg</mtext>\fi}
+\Configure{label}{id="#1"}{\Tg<pagelabel id="#1"/>}
+\Configure{SUBSUP}
+ {\Send{BACK}{<msubsup>}\Tg<mrow>}
+ {\Tg</mrow>\Tg<mrow>}
+ {\Tg</mrow>\TG</msubsup>}
+\Configure{frac}
+ {\Tg<mfrac>\Tg<mrow>} {\Tg</mrow>\HCode{<!--}}
+ {\HCode{-->}\Tg<mrow>}{\Tg</mrow>\Tg</mfrac>}
+\Configure{mathrm}{\Tg<mi>\PauseMathClass}
+ {\EndPauseMathClass\Tg</mi>}
+\Configure{accent}\=\bar{{}{}}
+ {}{\Tg<mover accent="true">#2\Tg<mo>\HCode{&OverBar;}\Tg</mo>\Tg</mover>}
+\Configure{MathClass}{0}{*}{<mi>}{</mi>}{}
+\Configure{MathClass}{1}{*}{<mo>}{</mo>}{}
+\Configure{MathClass}{2}{*}{<mo>}{</mo>}{}
+\Configure{MathClass}{3}{*}{<mo>}{</mo>}{}
+\Configure{MathClass}{4}{*}{<mrow><mo>}{</mo>}{}
+\Configure{MathClass}{5}{*}{<mo>}{</mo></mrow>}{}
+\Configure{MathClass}{6}{*}{<mo>}{</mo>}{}
+\Configure{MathClass}{7}{*}{<mn>}{</mn>}{0123456789}
+\begin{document}
+\EndPreamble
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dsl
new file mode 100644
index 00000000000..595531b3057
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dsl
@@ -0,0 +1,1346 @@
+
+<!-- DSSSL Stylesheet fragment mathml.dsl
+ (included as an entity into mathmlx.dsl)
+ -->
+
+;;;
+;;; David Carlisle
+;;; davidc@nag.co.uk
+;;;
+;;; Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+;;;
+
+
+
+
+;;; COLOUR
+;;;
+;;; Just RGB colour supported currentlly
+
+(define (rgb-color r g b)
+ (color (color-space
+ "ISO/IEC 10179:1996//Color-Space Family::Device RGB") r g b))
+
+
+
+;;; CONTENT MathML
+;;;
+;;; Content MathML is mainly implemented directly with element
+;;; declarations, and process-children. there is not too much
+;;; need for node list processing.
+;;;
+;;; Currently many attributes for font changes and spacing are silently
+;;; ignored.
+;;;
+;;; The mo element goes to some trouble to get its attributes as specified
+;;; in the MathML recomendation, but currently doesn't do much with them.
+
+
+;;; mrow
+;;; should check attributes (this comment applies to most elements
+;;; but won't be repeated
+
+(element mrow
+ (process-children-trim))
+
+
+;;; mi
+;;; Math Identifier Defaults to italic.
+;;; Ought to switch between math italic and text italic
+;;; for multi letter identifiers (or just in tex backend?)
+
+(element mi
+ (make math-sequence
+ font-posture:
+ (let ((fnt
+ (if(attribute-string "fontstyle")
+ (attribute-string "fontstyle")
+ "italic")))
+ (if (equal? "normal" fnt)
+ 'upright
+ (if (equal? "italic" fnt)
+ 'italic
+ #f)))
+ (process-children-trim)))
+
+
+
+;;; mn
+;;; Same for numbers.
+
+(element mn
+ (make math-sequence
+ font-posture:
+ (let ((fnt
+ (if(attribute-string "fontstyle")
+ (attribute-string "fontstyle")
+ "normal")))
+ (if (equal? "normal" fnt)
+ 'upright
+ (if (equal? "italic" fnt)
+ 'italic
+ #f)))
+ (process-children-trim)))
+
+;;; mtext
+;;; Bits of non-math
+
+(element mtext
+ (make unmath
+ (process-children-trim)))
+
+;;; mspace
+;;; Grumble grumble it seems extraordinarily complicated to copy
+;;; a length from an attribute on the element to a keyword to a make
+;;; function. Also the rtf backend doesn't really support line-field
+;;; I couldn't get inline-space characters to work either.
+
+(element mspace
+ (make line-field field-width:
+ (let ((x (attribute-value "width" (current-node))))
+ (measurement-to-length (if (attribute-string "width")
+ (attribute-string "width")
+ "0pt")))))
+
+;;; ms
+;;; Doesn't work right in tex backend: How do you specify mono space font
+;;; without specifying what font to use.
+
+(element ms
+ (make unmath
+ font-posture: 'upright
+ font-family-name: "iso-monospace"
+ (literal "\"")
+ (process-children-trim)
+ (literal "\"")))
+
+
+;;; mfrac
+;;; fractions.
+
+(element mfrac
+ (make fraction
+ (let ((nl (children(current-node))))
+ (sosofo-append
+ (make math-sequence
+ label: 'numerator
+ (process-node-list (node-list-first nl)))
+ (make math-sequence
+ label: 'denominator
+ (process-node-list (node-list-rest nl)))))))
+
+;;; msqrt mroot
+;;; Radicals
+
+(element msqrt
+ (make radical
+ (process-children-trim)))
+
+
+(element mroot
+ (make radical
+ (let ((nl (children(current-node))))
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (node-list-first nl)))
+ (make math-sequence
+ label: 'degree
+ (process-node-list (node-list-rest nl)))))))
+
+
+;;; mstyle
+;;; Style, what style?
+
+(element mstyle
+ (make math-sequence
+ (process-children-trim)))
+
+;;; merror
+;;; Ignore this, for now
+
+(element merror
+ (make math-sequence
+ (process-children-trim)))
+
+;;; mpadded
+;;; Hmmm
+(element mpadded
+ (make math-sequence
+ (process-children-trim)))
+
+
+;;; mphantom
+;; do it in white: not really the same as invisible
+;; but not sure if there is an easy general way to access
+;; background colour.
+
+(element mphantom
+ (make math-sequence
+ color: (rgb-color 1 1 1)
+ (process-children-trim)))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; mfenced
+;;; Doesn't do separators for now.
+
+(element mfenced
+ (make fence
+ (if (attribute-string "open")
+ (make math-sequence
+ label: 'open
+ (literal (attribute-string "open")))
+ (empty-sosofo))
+ (if (attribute-string "close")
+ (make math-sequence
+ label: 'close
+ (literal (attribute-string "close")))
+ (empty-sosofo))
+ (make math-sequence
+ (process-children-trim))))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Superscripts and subscripts
+
+;;; msup
+
+(element msup
+ (make script
+ (let ((nl (children(current-node))))
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (node-list-first nl)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list (node-list-rest nl)))))))
+
+;;; msub
+
+(element msub
+ (make script
+ (let ((nl (children(current-node))))
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (node-list-first nl)))
+ (make math-sequence
+ label: 'post-sub
+ (process-node-list (node-list-rest nl)))))))
+
+;;; msubsup
+
+(element msubsup
+ (make script
+ (let* ((nl (children(current-node)))
+ (nlr (node-list-rest nl)))
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (node-list-first nl)))
+ (make math-sequence
+ label: 'post-sub
+ (process-node-list (node-list-first nlr)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list (node-list-rest nlr)))))))
+
+;;; mmultiscripts
+;;; In order to get the scripts aligning with each other
+;;; they all script an empty element (so ignore th esize of the base
+;;; I wish I could measure things in DSSSL....
+
+(element mmultiscripts
+ (let* ((nl (children(current-node)))
+ (base (node-list-first nl))
+ (nlr (node-list-rest nl)))
+ (process-multi-scripts base nlr #t (empty-sosofo) (empty-sosofo))))
+
+
+;;; while flag is true scoop up the scripts into the fourth argument
+;;; then when you see multiscripts switch the flag so then start collecting
+;;; in the third argument. Finally when rest is empty, stuff the scripts
+;;; around the base.
+
+(define (process-multi-scripts base rest flag left right )
+ (if (node-list-empty? rest)
+ (sosofo-append
+ left
+ (make math-sequence
+ (process-node-list base))
+ right)
+; else
+ (if (equal? "mprescripts" (gi (node-list-first rest)))
+ (process-multi-scripts base (node-list-rest rest) #f left right)
+ (if flag
+ (process-multi-scripts
+ base
+ (node-list-rest (node-list-rest rest))
+ flag
+ left
+ (sosofo-append
+ right
+ (make script
+ (make math-sequence
+ label: 'post-sub
+ (process-node-list (node-list-first rest)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list (node-list-first (node-list-rest rest)))))))
+ ; else
+ (process-multi-scripts
+ base
+ (node-list-rest (node-list-rest rest))
+ flag
+ (sosofo-append
+ left
+ (make script
+ (make math-sequence
+ label: 'post-sub
+ (process-node-list (node-list-first rest)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list (node-list-first (node-list-rest rest))))))
+ right)))))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; none/
+;;; Not the hardest thing to implement
+
+(element none
+ (empty-sosofo))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Under and over bars.
+;;; These don't work yet.
+
+(element munder
+ (make math-sequence
+ (process-children-trim)))
+
+(element mover
+ (make math-sequence
+ (process-children-trim)))
+
+(element munderover
+ (make math-sequence
+ (process-children-trim)))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Operator dictionary
+
+;;; This is just a small version, while I test various implementations.
+
+
+;;; First put back the indirection that TeX as but that MathML omitted.
+;;; Need the default lengths to refer to variables rather than explicit
+;;; lengths, so that you can change them all together.
+;;; Apart from the fact that it isn't implemented, there arelots of other
+;;; problems with this operator dictionay concept.
+
+;;; (mathml problem) As noted above the recommendation gives explicit lengths.
+;;; (mathml problem) As the recommendation gives fixed (as opposed to
+;;; variable/stretchy) lengths.
+;;; (dsssl problem) Full support of stretch operators would require an
+;;; extended dsssl flow object (or extended semantics
+;;; for the stretchy character characteristic) to support
+;;; `mid' fences.
+;;;
+(define %zskip 0em)
+(define %smallskip .05555em)
+(define %medskip .16666em)
+(define %bigskip .16666em)
+
+(define mathml-op-dict
+'(
+ ("+"
+ ("prefix". ((lspace . %zskip) (rspace . %bigskip)))
+ ("infix" . ((lspace . %medskip) (rspace . %medskip))))
+ ("*="
+ ("infix" . ((lspace . %bigskip)(rspace . %bigskip))))
+ ("("
+ ("prefix" . ((fence . #t )(stretchy . #t)(lspace . %zskip)(rspace . %zskip))))
+ (")"
+ ("postfix" .((fence . #t )(stretchy . #t)(lspace . %zskip)(rspace . %zskip))))
+
+))
+
+
+;;; Helper function, just trims spaces from strings, actually
+;;; zaps all space. needed as mo doesn't use process-children-trim.
+
+(define (string-nospace s)
+ (let ((l (string-length s)))
+ (let loop ((i 0))
+ (if (= i l)
+ ""
+ (let (( x (string-ref s i)))
+ (if (equal? #\space x)
+ (loop (+ i 1))
+ (string-append (string x)
+ (loop (+ i 1)))))))))
+
+;;; mo
+;;; This current version tries to implement the defaulting
+;;; of the various attributes. Although currently
+;;; It doesn't actually use th eattributes once it has got the
+;;; values.
+
+(element mo
+ (let*
+;; First get the name of the operator
+;; and the surrounding node list which will be dealt with specially
+;; if it is mrow (or more correctly should be mrow-like)
+ ((nm (string-append(string-nospace (data (current-node)))))
+ (pnt (parent))
+;; An explicit form attribute (or #f)
+ (form1 (attribute-string "form"))
+;; Look up the name in the operator dictionary, which will return
+;; another association list, for looking up the form [if the operator
+;; is in the dictionary].
+ (p (assoc nm mathml-op-dict))
+ (form
+ (if form1
+ (if p
+;; If a form was specified, and the operator is in the dictionary
+;; look up the list of defaults. If it isn't in the dictionary
+;; with this form just make up a list just consisting of the form.
+ (or (assoc form1 (cdr p))
+ (list form1))
+ (list form1 ))
+;; Otherwise if a form was not specified, look up how many entries
+;; in the operator dictionary for this operator.
+ (let* ((dict-entries (if p
+ (length (cdr p))
+ 0)))
+ (if (= 0 dict-entries)
+;; If there are none, the operator is infix.
+ (list "infix" )
+ (if (= 1 dict-entries)
+;; If there is one, return that.
+ (car (cdr p))
+;; If there is more than one, look where we are in the parent list
+;; to decide which one to use.
+ (let ((d (assoc (if (string=? "mrow" (gi pnt))
+ (let ((l (node-list-length (children pnt)))
+ (n (absolute-child-number (current-node))))
+ (if (> l 1)
+ (if (= n 1)
+ "prefix"
+ (if (= n l)
+ "postfix"
+ "infix"))
+ "infix"))
+ "infix")
+ (cdr p))))
+ (if d
+ d
+ (car (cdr p))))
+ ))) ; let*
+ )) ; form
+;; Fence, from an attribute or out of the dictionary
+ (fence1 (attribute-string "fence"))
+ (fence (&my-debug(if fence1
+ (string=? fence1 "true")
+ (cdr (or (assoc 'fence (cdr form))
+ '( #t . #f))))))
+ ) ; end of let* settings
+;; Having done all that work, ignore all the attributes and just process
+;; the children.
+ (make math-sequence
+ (process-children-trim))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Helper function that just sticks a number of copies of a sosofo
+;;; on to the current sosofo. Used to pad out grids.
+
+(define (repeat-sosofo n sos)
+ (if (equal? n 0)
+ (empty-sosofo)
+ (sosofo-append sos (repeat-sosofo (- n 1) sos))))
+
+;;; mtable
+;;; Spanning cells not supported as I need to use dsssl grid flow objects
+;;; which don't span. Dsssl table flow objects do support spanning but they
+;;; are display objects and can't be inlined so are no good for this.
+
+(element mtable
+;; Preliminary pass through the table to count the number of columns
+ (let ((cols (&my-debug(node-list-reduce
+ (children(current-node))
+ (lambda (a b)
+ (if (string=? "mtr" (gi b))
+ (max a (node-list-length (children b)))
+ a))
+ 0))))
+ (make grid
+ grid-n-columns: cols
+;; Now main pass, making grid-cell flow object specifications.
+ (node-list-reduce
+ (children(current-node))
+ (lambda (a b)
+ (if (string=? "mtr" (gi b))
+ (sosofo-append
+ a
+ (node-list-reduce
+ (children b)
+ (lambda (x y)
+ (sosofo-append
+ x
+ (make grid-cell (process-node-list y))))
+ (empty-sosofo))
+ (repeat-sosofo
+ (- cols (node-list-length (children b)))
+ (make grid-cell (empty-sosofo))))
+ (sosofo-append
+ a
+ (make grid-cell (process-node-list b))
+ (repeat-sosofo (- cols 1) (make grid-cell (empty-sosofo))))))
+ (empty-sosofo)))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; semantics
+
+;;; Helper function to dig out a MathML-Presentation child
+;;; if it exists.
+
+(define (get-presentation nl)
+ (if (node-list-empty? nl)
+ #f
+ (if (and
+ (string=? "annotation-xml" (gi (node-list-first nl)))
+ (string=? "MathML-Presentation"
+ (or (attribute-string "encoding" (node-list-first nl)) "")))
+ (children (node-list-first nl))
+ (get-presentation (node-list-rest nl)))))
+
+;;; Typeset the body and ignore all annotations, unless there
+;;; is an annotation-xml giving MathML-Presentation
+;;; in which case use that and ignore everything else.
+
+(element semantics
+ (let* ((nl (children (current-node))))
+ (process-node-list (or
+ (get-presentation (node-list-rest nl))
+ (node-list-first nl)))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+
+;;; Content MathML
+
+;;; In contrast to Presentation forms, Content MathML has vary few
+;;; elements defined in the dsssl, instead the apply element explitly
+;;; processes its children and calls [allegedly] suitable functions.
+
+;;; It would be nice to use the dsssl transformation language to explicitly
+;;; map content forms to presentation,
+;;; but the style language isn't available, so...
+
+
+;;; Helper function dealing with bound variables on sums and products
+;;; Checks for lowlimit child.
+
+(define (dobvar product-char-sosofo equal-char-sosofo b r)
+ (let ((first (gi (node-list-first r))))
+ (cond ((string=? "lowlimit" first)
+ (bvarl product-char-sosofo
+ (sosofo-append
+ b
+ equal-char-sosofo
+ (process-node-list (node-list-first r)))
+ (node-list-rest r)))
+ ((string=? "condition" first)
+ (bvarl
+ product-char-sosofo
+ (process-node-list (node-list-first r))
+ (node-list-rest r)))
+ (else (bvarl product-char-sosofo (empty-sosofo) r)))))
+
+
+;; Second function, checks for uplimit
+
+(define (bvarl product-char-sosofo low r)
+ (if (string=? "uplimit" (gi (node-list-first r)))
+ (bvaru
+ product-char-sosofo
+ low
+ (process-node-list (node-list-first r))
+ (node-list-rest r))
+ (bvaru
+ product-char-sosofo
+ low
+ (empty-sosofo)
+ r)))
+
+;; third function, add the found limits to the sum or product character
+
+(define (bvaru product-char-sosofo low high r)
+ (sosofo-append
+ (make script
+ (make math-sequence label: 'post-sub low)
+ (make math-sequence label: 'post-sup high)
+ product-char-sosofo)
+ (process-node-list r)))
+
+;;; General function to typeset a function with braced arguments.
+
+(define (apply-braced-fn fn args)
+ (make math-sequence
+ (sosofo-append
+ (literal fn)
+ (make fence
+ (make math-sequence label: 'open
+ (literal "("))
+ (make math-sequence label: 'close
+ (literal ")"))
+ (make math-sequence
+ (process-node-list args))))))
+
+
+;;; product/ sum/
+;;; Look for bound vars, then call above helper function.
+
+(define (apply-product product-char-sosofo equal-char-sosofo args)
+ (make math-sequence
+ (let ((b (node-list-first args)))
+ (if (string=? (gi b) "bvar")
+ (dobvar
+ product-char-sosofo
+ equal-char-sosofo
+ (process-node-list b)
+ (node-list-rest args))
+ (sosofo-append
+ product-char-sosofo
+ (process-node-list b))))))
+
+;;; log/
+;;; Just needs to check for logbase/
+
+(define (apply-log args)
+ (make math-sequence
+ (if (equal? "logbase" (gi (node-list-first args)))
+ (sosofo-append
+ (make script
+ (sosofo-append
+ (literal "log")
+ (make math-sequence
+ label: 'post-sub
+ (process-node-list (node-list-first args)))))
+ (apply-braced-fn "" (node-list-rest args)))
+ (apply-braced-fn "log" args))))
+
+;;; root/ sqrt/
+;;; Checks for degree/
+
+(define (apply-root args)
+ (make radical
+ (if (equal? "degree" (gi (node-list-first args)))
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (node-list-rest args)))
+ (make math-sequence
+ label: 'degree
+ (process-node-list (node-list-first args))))
+ (make math-sequence
+ (process-node-list args)))))
+
+
+;;; forall/ exists/
+;;; Typeset any bound variables and conditions,
+;;; separated by commas, then do a full stop and finally
+;;; the body.
+
+(define (apply-forall op c)
+(make math-sequence
+ (sosofo-append
+ op
+ (process-node-list (node-list-first c))
+ (node-list-reduce
+ (node-list-rest c)
+ (lambda (result n)
+ (sosofo-append
+ result
+ (literal
+ (if (or (equal? "bvar" (gi n)) (equal? "condition" (gi n)))
+ ","
+ "."))
+ (process-node-list n)))
+ (empty-sosofo)))))
+
+
+;;; int/
+
+(define (apply-int args)
+ (make math-sequence
+ (let ((b (node-list-first args)))
+ (if (string=? (gi b) "bvar")
+ (dobvar
+ (literal "\integral")
+ (empty-sosofo)
+ (empty-sosofo)
+ (node-list-rest args))
+ (sosofo-append
+ (literal "\integral")
+ (process-node-list b))))))
+
+;;; power/
+
+(define (apply-power args)
+ (make script
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (node-list-first args)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list (node-list-rest args))))))
+
+;;; inverse/
+
+(define (apply-inverse fname args)
+ (make script
+ (sosofo-append
+ (make math-sequence
+ (process-node-list args))
+ (make math-sequence
+ label: 'post-sup
+ (case fname
+ (("inverse") (literal "-1"))
+ (("transpose") (literal "t")))))))
+
+;;; over bars (don't work)
+(define (apply-over args)
+ (make math-sequence
+ (process-node-list args))) ;; fix!
+
+;;; max/ and min/
+
+(define (apply-max fname args)
+ (make math-sequence
+ (sosofo-append
+ (make unmath (literal fname))
+ (do-set "{" "}" args))))
+
+;;; gcd/
+
+(define (apply-gcd fname args)
+ (make math-sequence
+ (sosofo-append
+ (make unmath (literal fname))
+ (do-set "(" ")" args))))
+
+;;; abs/
+
+(define (apply-abs args)
+ (make fence
+ (make math-sequence label: 'open
+ (literal "|"))
+ (make math-sequence label: 'close
+ (literal "|"))
+ (make math-sequence
+ (process-node-list args))))
+
+;;; diff/
+;;; Trick is to get hold of the degree.
+;;; Recommendation is for
+;;; d f
+;;; --- (x)
+;;; d x
+;;;
+;;; but I don't currently test for special functions which are
+;;; just a single identifier like that, so currently you get
+;;; d d^3
+;;; --- f(x) and --- f(x)
+;;; d x d x^3
+
+(define (apply-diff args)
+ (sosofo-append
+ (let* ((f (node-list-first (&my-debug2 args))))
+ (if (equal? "bvar" (gi f))
+ (let ((d (&my-debug2 (node-list-filter
+ (lambda (n) (equal? "degree" (gi n)))
+ (children f)))))
+ (make fraction
+ (sosofo-append
+ (make math-sequence
+ label: 'numerator
+ (make script
+ (sosofo-append
+ (literal "d")
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list d))))))
+ (make math-sequence
+ label: 'denominator
+ (sosofo-append
+ (literal "d")
+ (make script
+ (sosofo-append
+ (process-node-list
+ (node-list-filter
+ (lambda (n) (not (equal? "degree" (gi n))))
+ (children f)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list d))))))))
+ (make fraction
+ (sosofo-append
+ (make math-sequence
+ label: 'numerator
+ (literal "d"))
+ (make math-sequence
+ label: 'denominator
+ (sosofo-append
+ (literal "d")
+ (process-node-list f)))))))
+ (process-node-list (node-list-rest args))))
+
+
+;;; partial differentiation
+;;;
+;;; Trick here is to amalgamate the degrees
+;;; in the numerator:
+;;; d^3
+;;; ---------- f(x)
+;;; d^2 x d y
+;;;
+
+;; helper function that sets the bit of the denominator
+;; corresponding to one bound variable.
+
+(define (do-one-partial nl)
+ (let ((d (&my-debug2 (node-list-filter
+ (lambda (n) (equal? "degree" (gi n)))
+ (children nl)))))
+ (make math-sequence
+ label: 'denominator
+ (sosofo-append
+ (literal "d")
+ (make script
+ (sosofo-append
+ (process-node-list
+ (node-list-filter
+ (lambda (n) (not (equal? "degree" (gi n))))
+ (children nl)))
+ (make math-sequence
+ label: 'post-sup
+ (process-node-list d))))))))
+
+
+;;; partialdiff
+;;; I suspect that I could make use of node-list-filter-by-gi
+;;; from dblib here, but I only just noticed that function...
+
+(define (apply-partialdiff args)
+ (sosofo-append
+ (let* ((bvars
+ (node-list-filter
+ (lambda (n) (equal? "bvar" (gi n)))
+ args))
+;; totald is the sum of all the degrees [with 1 being supplied
+;; as a default in each case] There may be an easier way to get that.
+ (totald
+ (node-list-reduce
+ bvars
+ (lambda (result n)
+ (+ result
+ (or
+ (string->number
+ (string-nospace
+ (data
+ (node-list-filter
+ (lambda (nn) (equal? "degree" (gi nn)))
+ (children n)))))
+ 1)))
+ 0)))
+;; Now it is easy, set a fraction with the partial and the bound vars
+;; then put out the body.
+ (make fraction
+ (sosofo-append
+ (make math-sequence
+ label: 'numerator
+ (make script
+ (sosofo-append
+ (literal "\partial-differential")
+ (make math-sequence
+ label: 'post-sup
+ (literal (number->string totald))))))
+ (make math-sequence
+ label: 'denominator
+ (node-list-reduce
+ bvars
+ (lambda (result n)
+ (sosofo-append
+;; something is reversing the args, so I'll reverse them back
+ (do-one-partial n)
+ result))
+ (empty-sosofo))))))
+ (process-node-list (node-list-filter
+ (lambda (n) (not (equal? "bvar" (gi n))))
+ args))))
+
+
+
+
+
+;;; apply
+;;; This is the main switch for Content MathNL
+;;; Mainly just a case statement on th egi of the first child
+;;; with some fall back code in case the function argument isn't known.
+(element apply
+ (let* ((nl (children (current-node)))
+ (f (node-list-first nl))
+ (fname (&my-debug (gi f)))
+ (args (&my-debug (node-list-rest nl))))
+ (case fname
+ (("product")
+ (apply-product (literal "\n-ary-product") (literal "=") args))
+ (("sum")
+ (apply-product (literal "\n-ary-summation") (literal "=") args))
+ (("limit")
+ (apply-product (literal "lim") (literal "\rightwards-arrow") args))
+ (("int")
+ (apply-int args))
+ (("inverse" "transpose")
+ (apply-inverse fname args))
+ (("power")
+ (apply-power args))
+ (("forall")
+ (apply-forall (literal "\for-all") args))
+ (("exists")
+ (apply-forall (literal "\there-exists") args))
+ (("plus" "times" "minus" "union" "intersect" "compose" "divide" "rem")
+ (do-nary-binop fname args))
+ (("mean" "conjugate")
+ (apply-over args))
+ (("factorial")
+ (sosofo-append (process-node-list args) (literal "!")))
+ (("root")
+ (apply-root args))
+ (("sdev")
+ (apply-braced-fn "\greek-small-letter-sigma" args))
+ (("median" "mode")
+ (apply-braced-fn fname args))
+ (("max" "min")
+ (apply-max fname args))
+ (("gcd")
+ (apply-gcd fname args))
+ (("log")
+ (apply-log args))
+ (("abs")
+ (apply-abs args))
+ (("diff")
+ (apply-diff args))
+ (("partialdiff")
+ (apply-partialdiff args))
+ (("var")
+ (make script
+ (make math-sequence
+ label: 'post-sup (literal "2"))
+ (apply-braced-fn "\greek-small-letter-sigma" args)))
+ (("transpose")
+ (make script
+ (make math-sequence
+ label: 'post-sup (literal "t"))
+ (process-node-list args)))
+ (else
+ (make math-sequence
+ (sosofo-append
+ (process-node-list f)
+ (if (and (equal?
+ 1 (&my-debug (node-list-length args)))
+ (equal? "ci" (gi args)))
+ (make math-sequence (process-node-list args))
+ (make fence
+ (make math-sequence label: 'open
+ (literal "("))
+ (make math-sequence label: 'close
+ (literal ")"))
+ (make math-sequence
+ (process-node-list args))))))))))
+
+
+;;; reln
+;;; relations are similar to apply.
+;;; Currently there is a double test as this top level
+;;; function bunches all binops together, then do-binary-reln
+;;; tests again to separate them, perhaps not the best idea.
+
+(element reln
+ (let* ((r (gi (node-list-first (children (current-node)))))
+ (c(&my-debug (node-list-rest(children (current-node))))))
+ (case r
+ (("neq" "implies" "in" "notin" "notsubset" "notprsubset" "tendsto")
+ (do-binary-reln r c))
+ (("eq" "leq" "lt" "geq" "gt" "subset" "prsubset")
+ (do-nary-reln r c)))))
+
+
+;;; Typeset a binary infix relation
+
+(define (do-binary-reln r c)
+ (sosofo-append
+ (process-node-list (node-list-first c))
+ (literal (case r
+ (("neq") "\not-equal-to")
+ (("implies") "\leftwards-double-arrow")
+ (("in") "\element-of")
+ (("notin") "\not-an-element-of")
+ (("notsubset") "\not-a-subset-of")
+ (("notprsubset") "PR\not-a-subset-of"); fix!
+ (("tendsto") "\rightwards-arrow"))); fix for type attribute
+ (process-node-list (node-list-rest c))))
+
+;;; Typeset a nary infix relation
+;;; repeating the operator as many times as needed.
+
+(define (do-nary-reln r c)
+ (let ((rs (literal
+ (case r
+ (("eq") "\equals-sign")
+ (("leq") "\less-than-or-equal-to")
+ (("lt") "\less-than-sign")
+ (("geq") "\greater-than-or-equal-to")
+ (("gt") "\greater-than-sign")
+ (("subset") "\subset-of")
+ (("prsubset") "PR\subset-of")))));fix!
+ (sosofo-append
+ (process-node-list (node-list-first c))
+ (node-list-reduce
+ (node-list-rest c)
+ (lambda (result n)
+ (sosofo-append
+ result
+ rs
+ (process-node-list n)))
+ (empty-sosofo)))))
+
+;;; typeset an nary operator, as for relations.
+
+(define (do-nary-binop op c)
+ (let ((ops (literal
+ (case op
+ ((",") ",")
+ (("plus") "\plus-sign")
+ (("times") "")
+ (("union") "\union")
+ (("intersect") "\intersection")
+ (("minus") "\minus-sign")
+ (("divide") "\division-slash")
+ (("rem") "mod") ;fix
+ (("compose") "\U-2218") ))))
+ (sosofo-append
+ (process-node-list (node-list-first c))
+ (node-list-reduce
+ (node-list-rest c)
+ (lambda (result n)
+ (sosofo-append
+ result
+ ops
+ (process-node-list n)))
+ (empty-sosofo)))))
+
+
+;;;;;;;;;;;;;;;;
+
+;;;; ident
+
+(element ident
+ (make math-sequence
+ (literal "id")))
+
+
+
+;;; trig
+;;; Currently these done with th eelement declarations
+;;; and the fallback case of apply typesetting the arguments.
+;;; may need to change that.
+
+(define (do-sin sin)
+ (make unmath
+ font-posture: 'upright
+ (literal sin)))
+
+(element sin
+ (do-sin "sin"))
+
+(element cos
+ (do-sin "cos"))
+
+(element tan
+ (do-sin "tan"))
+
+(element sec
+ (do-sin "sec"))
+
+(element csc
+ (do-sin "csc"))
+
+(element cot
+ (do-sin "cot"))
+
+(element sinh
+ (do-sin "sinh"))
+
+(element cosh
+ (do-sin "cosh"))
+
+(element tanh
+ (do-sin "tanh"))
+
+(element sech
+ (do-sin "sech"))
+
+(element csch
+ (do-sin "csch"))
+
+(element coth
+ (do-sin "coth"))
+
+(element arcsin
+ (do-sin "arcsin"))
+
+(element arccos
+ (do-sin "arccos"))
+
+(element arctan
+ (do-sin "arctan"))
+
+;;;;
+
+;;; natural log and determinant are honourary trig functions.
+;;; I should make det applied to an explicit table use | | rather
+;;; than det ( ) I think.
+
+(element ln
+ (do-sin "ln"))
+
+
+(element determinant
+ (do-sin "det"))
+
+;;;;;;;;;;;
+
+;;; sets and lists
+
+(element set
+ (do-set "{" "}" (children (current-node))))
+
+(element list
+ (do-set "[" "]" (children (current-node))))
+
+(element vector
+ (do-set "(" ")" (children (current-node))))
+
+(element interval
+ (case (attribute-string "closure" (current-node))
+ (("closed")
+ (do-set "[" "]" (children (current-node))))
+ (("open")
+ (do-set "(" ")" (children (current-node))))
+ (("open-closed")
+ (do-set "(" "]" (children (current-node))))
+ (("closed-open")
+ (do-set "[" ")" (children (current-node))))))
+
+
+;;; helper function for sets.
+;;; Checks for two styles, comma separated explicit,
+;;; or via conditions and bound vars.
+
+(define (do-set left right args)
+ (make fence
+ (make math-sequence label: 'open
+ (literal left))
+ (make math-sequence label: 'close
+ (literal right))
+ (make math-sequence
+ (if (equal? "bvar" (gi (node-list-first (&my-debug2 args))))
+ (if (equal? 2 (node-list-length args))
+;; typeset bvar
+ (sosofo-append
+ (process-node-list (children (node-list-first args)))
+ (literal "|")
+ (process-node-list (children (node-list-rest args))))
+;; else dont
+ (sosofo-append
+ (process-node-list (node-list-rest(node-list-rest args)))
+ (literal "|")
+ (process-node-list (children (node-list-first (node-list-rest args))))))
+;; else stick in some commas
+ (do-nary-binop "," args) ))))
+
+
+;;;;;;;
+
+;;; lambda [lamda according to Jade ?]
+
+(element lambda
+ (sosofo-append
+ (make math-sequence (literal "\greek-small-letter-lamda"))
+ (do-nary-binop ","
+ (node-list-filter
+ (lambda (n) (equal? "bvar" (gi n)))
+ (children (current-node))))
+ (literal ".")
+ (process-node-list
+ (&my-debug2(node-list-filter
+ (lambda (n) (not (equal? "bvar" (gi n))))
+ (children (current-node)))))))
+
+
+;;;;;;;;;;;;;;;
+
+;;; cn
+
+;;; what to do if you see a sep element for rationals..
+
+(define (sep-rational top bottom)
+ (make fraction
+ (sosofo-append
+ (make math-sequence
+ label: 'numerator
+ (process-node-list top))
+ (make math-sequence
+ label: 'denominator
+ (process-node-list bottom)))))
+
+
+;;; and for complex cartesian
+
+(define (sep-complex-cartesian top bottom)
+ (make math-sequence
+ (sosofo-append
+ (make math-sequence
+ (process-node-list top))
+ (make math-sequence (literal "+"))
+ (make math-sequence
+ (process-node-list bottom))
+ (make math-sequence (literal "i")))))
+
+
+;;; and polar
+
+(define (sep-complex-polar top bottom)
+ (make math-sequence
+ (sosofo-append
+ (make math-sequence (literal "Polar"))
+ (make fence
+ (sosofo-append
+ (make math-sequence
+ label: 'open
+ (literal "("))
+ (make math-sequence
+ label: 'close
+ (literal ")"))
+ (sosofo-append
+ (make math-sequence
+ (process-node-list top))
+ (make math-sequence (literal ","))
+ (make math-sequence
+ (process-node-list bottom))))))))
+
+;;; Function to collect node list before and after sep element
+;;; then finally call one of the above functions to typeset the
+;;; two halves of the number.
+
+(define (do-sep fn flag top bottom args)
+ (if (equal? 0 (node-list-length args)); why can't I use null
+ (fn top bottom)
+ (if (equal? "sep" (gi (node-list-first args)))
+ (do-sep fn #f top bottom (node-list-rest args))
+ (if flag
+ (do-sep fn flag
+ (node-list
+ top
+ (node-list-first args))
+ bottom
+ (node-list-rest args))
+ (do-sep fn flag
+ top
+ (node-list
+ bottom
+ (node-list-first args))
+ (node-list-rest args))))))
+
+
+;;; cn
+;;; subscript with the base unless it is 10, or call one of the above functions
+;;; to start looking for sep element.
+
+(element cn
+ (case (or (attribute-string "type" (current-node))
+ "real")
+ (("real" "constant")
+ (make math-sequence (process-node-list (children (current-node)))))
+ (("integer")
+ (if (equal? "10" (attribute-string "base" (current-node)))
+ (make math-sequence
+ (process-node-list (children (current-node))))
+ (make script
+ (sosofo-append
+ (make math-sequence
+ (process-node-list (children (current-node))))
+ (make math-sequence
+ label: 'post-sub
+ (literal
+ (attribute-string "base" (current-node))))))))
+ (("rational")
+ (do-sep sep-rational
+ #t
+ (empty-node-list)
+ (empty-node-list)
+ (children (current-node))))
+ (("complex-cartesian")
+ (do-sep sep-complex-cartesian
+ #t
+ (empty-node-list)
+ (empty-node-list)
+ (children
+ (current-node))))
+ (("complex-polar")
+ (do-sep sep-complex-polar
+ #t
+ (empty-node-list)
+ (empty-node-list)
+ (children (current-node))))))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; ought to share code with mtable, probably
+
+(element matrix
+ (let* ((c (&my-debug (children (current-node))))
+ (n (&my-debug (node-list-length (children (node-list-first c))))))
+ (make fence
+ (make math-sequence label: 'open
+ (literal "("))
+ (make math-sequence label: 'close
+ (literal ")"))
+ (make grid
+ grid-n-columns: n
+ (node-list-reduce
+ c
+ (lambda (a b)
+ (sosofo-append
+ a
+ (node-list-reduce
+ (children b)
+ (lambda (x y)
+ (sosofo-append
+ x
+ (make grid-cell
+ (process-node-list y))))
+ (empty-sosofo))))
+ (empty-sosofo))))))
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dtd
new file mode 100644
index 00000000000..33ad7f6dd55
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathml.dtd
@@ -0,0 +1,924 @@
+<!-- Content model for content and presentation -->
+<!-- and browser interface tags in MathML -->
+<!-- initial draft 9.May.1997 syntax = XML -->
+<!-- author = s.buswell sb@stilo.demon.co.uk -->
+<!-- -->
+<!-- revised 14.May.1997 by Robert Miner -->
+<!-- revised 29.June.1997 and 2.July.1997 by s.buswell -->
+<!-- -->
+<!-- revised 15.December.1997 by s.buswell -->
+<!-- revised 8.February.1998 by s.buswell -->
+<!-- revised 4.april.1998 by s.buswell -->
+<!-- -->
+<!-- W3C Recommendation 7 April 1998 -->
+<!-- ************************************************* -->
+
+<!-- general attribute definitions for class & style & id & other -->
+<!-- : attributes shared by all mathml elements -->
+
+<!ENTITY % att-globalatts 'class CDATA #IMPLIED
+ style CDATA #IMPLIED
+ id ID #IMPLIED
+ other CDATA #IMPLIED' >
+
+<!-- ************************************************* -->
+<!-- Presentation element set -->
+
+<!-- presentation attribute definitions -->
+
+<!ENTITY % att-fontsize 'fontsize CDATA #IMPLIED' >
+<!ENTITY % att-fontweight 'fontweight (normal | bold) #IMPLIED' >
+<!ENTITY % att-fontstyle 'fontstyle (normal | italic) #IMPLIED' >
+<!ENTITY % att-fontfamily 'fontfamily CDATA #IMPLIED' >
+<!ENTITY % att-color 'color CDATA #IMPLIED' >
+
+<!ENTITY % att-fontinfo '%att-fontsize;
+ %att-fontweight;
+ %att-fontstyle;
+ %att-fontfamily;
+ %att-color;' >
+
+<!ENTITY % att-form 'form (prefix | infix | postfix) #IMPLIED' >
+<!ENTITY % att-fence 'fence (true | false ) #IMPLIED' >
+<!ENTITY % att-separator 'separator (true | false ) #IMPLIED' >
+<!ENTITY % att-lspace 'lspace CDATA #IMPLIED' >
+<!ENTITY % att-rspace 'rspace CDATA #IMPLIED' >
+<!ENTITY % att-stretchy 'stretchy (true | false ) #IMPLIED' >
+<!ENTITY % att-symmetric 'symmetric (true | false ) #IMPLIED' >
+<!ENTITY % att-maxsize 'maxsize CDATA #IMPLIED' >
+<!ENTITY % att-minsize 'minsize CDATA #IMPLIED' >
+<!ENTITY % att-largeop 'largeop (true | false ) #IMPLIED' >
+<!ENTITY % att-movablelimits 'movablelimits (true | false )
+#IMPLIED' >
+<!ENTITY % att-accent 'accent (true | false) #IMPLIED'>
+
+<!ENTITY % att-opinfo '%att-form;
+ %att-fence;
+ %att-separator;
+ %att-lspace;
+ %att-rspace;
+ %att-stretchy;
+ %att-symmetric;
+ %att-maxsize;
+ %att-minsize;
+ %att-largeop;
+ %att-movablelimits;
+ %att-accent;' >
+
+<!ENTITY % att-width 'width CDATA #IMPLIED' >
+<!ENTITY % att-height 'height CDATA #IMPLIED' >
+<!ENTITY % att-depth 'depth CDATA #IMPLIED' >
+
+<!ENTITY % att-sizeinfo '%att-width;
+ %att-height;
+ %att-depth;' >
+
+<!ENTITY % att-lquote 'lquote CDATA #IMPLIED' >
+<!ENTITY % att-rquote 'rquote CDATA #IMPLIED' >
+
+<!ENTITY % att-linethickness 'linethickness CDATA #IMPLIED' >
+
+<!ENTITY % att-scriptlevel 'scriptlevel CDATA #IMPLIED'>
+<!ENTITY % att-displaystyle 'displaystyle (true | false)
+#IMPLIED'>
+<!ENTITY % att-scriptsizemultiplier 'scriptsizemultiplier CDATA
+#IMPLIED' >
+<!ENTITY % att-scriptminsize 'scriptminsize CDATA #IMPLIED'>
+<!ENTITY % att-background 'background CDATA #IMPLIED' >
+
+<!ENTITY % att-open 'open CDATA #IMPLIED' >
+<!ENTITY % att-close 'close CDATA #IMPLIED' >
+<!ENTITY % att-separators 'separators CDATA #IMPLIED' >
+
+<!ENTITY % att-subscriptshift 'subscriptshift CDATA #IMPLIED'>
+<!ENTITY % att-superscriptshift 'superscriptshift CDATA #IMPLIED' >
+
+<!ENTITY % att-accentunder 'accentunder (true | false)
+#IMPLIED'>
+
+<!ENTITY % att-align 'align CDATA #IMPLIED' >
+<!ENTITY % att-rowalign 'rowalign CDATA #IMPLIED' >
+<!ENTITY % att-columnalign 'columnalign CDATA #IMPLIED' >
+<!ENTITY % att-groupalign 'groupalign CDATA #IMPLIED' >
+<!ENTITY % att-alignmentscope 'alignmentscope CDATA #IMPLIED' >
+
+<!ENTITY % att-rowspacing 'rowspacing CDATA #IMPLIED' >
+<!ENTITY % att-columnspacing 'columnspacing CDATA #IMPLIED' >
+<!ENTITY % att-rowlines 'rowlines CDATA #IMPLIED' >
+<!ENTITY % att-columnlines 'columnlines CDATA #IMPLIED' >
+<!ENTITY % att-frame 'frame (none | solid | dashed)
+#IMPLIED' >
+<!ENTITY % att-framespacing 'framespacing CDATA #IMPLIED' >
+<!ENTITY % att-equalrows 'equalrows CDATA #IMPLIED' >
+<!ENTITY % att-equalcolumns 'equalcolumns CDATA #IMPLIED' >
+
+<!ENTITY % att-tableinfo '%att-align;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-alignmentscope;
+ %att-rowspacing;
+ %att-columnspacing;
+ %att-rowlines;
+ %att-columnlines;
+ %att-frame;
+ %att-framespacing;
+ %att-equalrows;
+ %att-equalcolumns;
+ %att-displaystyle;' >
+
+<!ENTITY % att-rowspan 'rowspan CDATA #IMPLIED' >
+<!ENTITY % att-columnspan 'columnspan CDATA #IMPLIED' >
+
+<!ENTITY % att-edge 'edge (left | right) #IMPLIED ' >
+
+<!ENTITY % att-actiontype 'actiontype CDATA #IMPLIED' >
+<!ENTITY % att-selection 'selection CDATA #IMPLIED ' >
+
+<!-- presentation token schemata with content-->
+
+<!ENTITY % ptoken "mi | mn | mo | mtext | ms" >
+
+<!ATTLIST mi %att-fontinfo;
+ %att-globalatts; >
+
+<!ATTLIST mn %att-fontinfo;
+ %att-globalatts; >
+
+<!ATTLIST mo %att-fontinfo;
+ %att-opinfo;
+ %att-globalatts; >
+
+<!ATTLIST mtext %att-fontinfo;
+ %att-globalatts; >
+
+<!ATTLIST ms %att-fontinfo;
+ %att-lquote;
+ %att-rquote;
+ %att-globalatts; >
+
+<!-- empty presentation token schemata -->
+
+<!ENTITY % petoken "mspace" >
+<!ELEMENT mspace EMPTY >
+
+<!ATTLIST mspace %att-sizeinfo;
+ %att-globalatts; >
+
+<!-- presentation general layout schemata -->
+
+<!ENTITY % pgenschema "mrow|mfrac|msqrt|mroot|
+ mstyle|merror|mpadded| mphantom|mfenced" >
+
+<!ATTLIST mrow %att-globalatts; >
+
+<!ATTLIST mfrac %att-linethickness;
+ %att-globalatts; >
+
+<!ATTLIST msqrt %att-globalatts; >
+
+<!ATTLIST mroot %att-globalatts; >
+
+<!ATTLIST mstyle %att-fontinfo;
+ %att-opinfo;
+ %att-lquote;
+ %att-rquote;
+ %att-linethickness;
+ %att-scriptlevel;
+ %att-scriptsizemultiplier;
+ %att-scriptminsize;
+ %att-background;
+ %att-open;
+ %att-close;
+ %att-separators;
+ %att-subscriptshift;
+ %att-superscriptshift;
+ %att-accentunder;
+ %att-tableinfo;
+ %att-rowspan;
+ %att-columnspan;
+ %att-edge;
+ %att-actiontype;
+ %att-selection;
+ %att-globalatts; >
+
+<!ATTLIST merror %att-globalatts; >
+
+<!ATTLIST mpadded %att-sizeinfo;
+ %att-lspace;
+ %att-globalatts; >
+
+<!ATTLIST mphantom %att-globalatts; >
+
+<!ATTLIST mfenced %att-open;
+ %att-close;
+ %att-separators;
+ %att-globalatts; >
+
+<!-- presentation layout schemata : scripts and limits -->
+
+<!ENTITY % pscrschema "msub|msup|msubsup|
+ munder|mover|munderover|mmultiscripts" >
+
+<!ATTLIST msub %att-subscriptshift;
+ %att-globalatts; >
+
+<!ATTLIST msup %att-superscriptshift;
+ %att-globalatts; >
+
+<!ATTLIST msubsup %att-subscriptshift;
+ %att-superscriptshift;
+ %att-globalatts; >
+
+<!ATTLIST munder %att-accentunder;
+ %att-globalatts; >
+
+<!ATTLIST mover %att-accent;
+ %att-globalatts; >
+
+<!ATTLIST munderover %att-accent;
+ %att-accentunder;
+ %att-globalatts; >
+
+<!ATTLIST mmultiscripts
+ %att-subscriptshift;
+ %att-superscriptshift;
+ %att-globalatts; >
+
+<!-- presentation layout schemata: script empty elements -->
+
+<!ENTITY % pscreschema "mprescripts|none" >
+
+<!ELEMENT mprescripts EMPTY >
+<!ATTLIST mprescripts %att-globalatts; >
+
+<!ELEMENT none EMPTY >
+<!ATTLIST none %att-globalatts; >
+
+<!-- presentation layout schemata: tables -->
+
+<!ENTITY % ptabschema "mtable|mtr|mtd" >
+
+<!ATTLIST mtable %att-tableinfo;
+ %att-globalatts; >
+
+<!ATTLIST mtr %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-globalatts; >
+
+<!ATTLIST mtd %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-rowspan;
+ %att-columnspan;
+ %att-globalatts; >
+
+<!ENTITY % plschema "%pgenschema;|%pscrschema;|%ptabschema;" >
+
+<!-- empty presentation layout schemata -->
+
+<!ENTITY % peschema "maligngroup | malignmark" >
+
+<!ELEMENT malignmark EMPTY >
+
+<!ATTLIST malignmark %att-edge;
+ %att-globalatts; >
+
+<!ELEMENT maligngroup EMPTY >
+<!ATTLIST maligngroup %att-groupalign;
+ %att-globalatts; >
+
+<!-- presentation action schemata -->
+
+<!ENTITY % pactions "maction" >
+<!ATTLIST maction %att-actiontype;
+ %att-selection;
+ %att-globalatts; >
+
+<!-- Presentation entity for substitution into content tag constructs -->
+<!-- excludes elements which are not valid as expressions -->
+
+<!ENTITY % PresInCont "%ptoken; | %petoken; |
+ %plschema; | %peschema; | %pactions;">
+
+<!-- Presentation entity - all presentation constructs -->
+
+<!ENTITY % Presentation "%ptoken; | %petoken; | %pscreschema; |
+ %plschema; | %peschema; | %pactions;">
+
+<!-- ************************************************* -->
+<!-- Content element set -->
+<!-- attribute definitions -->
+
+<!ENTITY % att-base 'base CDATA "10"' >
+<!ENTITY % att-closure 'closure CDATA "closed"' >
+<!ENTITY % att-definition 'definitionURL CDATA ""' >
+<!ENTITY % att-encoding 'encoding CDATA ""' >
+<!ENTITY % att-nargs 'nargs CDATA "1"' >
+<!ENTITY % att-occurence 'occurence CDATA "function-model"' >
+<!ENTITY % att-order 'order CDATA "numeric"' >
+<!ENTITY % att-scope 'scope CDATA "local"' >
+<!ENTITY % att-type 'type CDATA #IMPLIED' >
+
+<!-- content leaf token elements -->
+
+<!ENTITY % ctoken "ci | cn" >
+
+<!ATTLIST ci %att-type;
+ %att-globalatts; >
+
+<!ATTLIST cn %att-type;
+ %att-base;
+ %att-globalatts; >
+
+<!-- content elements - specials -->
+
+<!ENTITY % cspecial "apply | reln | lambda" >
+
+<!ATTLIST apply %att-globalatts; >
+
+<!ATTLIST reln %att-globalatts; >
+
+<!ATTLIST lambda %att-globalatts; >
+
+<!-- content elements - others -->
+
+<!ENTITY % cother "condition | declare | sep" >
+
+<!ATTLIST condition %att-globalatts; >
+
+<!ATTLIST declare %att-type;
+ %att-scope;
+ %att-nargs;
+ %att-occurence;
+ %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sep EMPTY >
+<!ATTLIST sep %att-globalatts; >
+
+<!-- content elements - semantic mapping -->
+
+<!ENTITY % csemantics "semantics | annotation | annotation-xml" >
+
+<!ATTLIST semantics %att-definition;
+ %att-globalatts; >
+
+<!ATTLIST annotation %att-encoding;
+ %att-globalatts; >
+
+<!ATTLIST annotation-xml %att-encoding;
+ %att-globalatts; >
+
+<!-- content elements - constructors -->
+
+<!ENTITY % cconstructor "interval | list | matrix | matrixrow | set |
+vector" >
+
+<!ATTLIST interval %att-closure;
+ %att-globalatts; >
+
+<!ATTLIST set %att-globalatts; >
+
+<!ATTLIST list %att-order;
+ %att-globalatts; >
+
+<!ATTLIST vector %att-globalatts; >
+
+<!ATTLIST matrix %att-globalatts; >
+
+<!ATTLIST matrixrow %att-globalatts; >
+
+<!-- content elements - operators -->
+
+<!ENTITY % cfuncop1ary "inverse | ident " >
+
+<!ELEMENT inverse EMPTY >
+<!ATTLIST inverse %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cfuncopnary "fn | compose" >
+
+<!ATTLIST fn %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT ident EMPTY >
+<!ATTLIST ident %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT compose EMPTY >
+<!ATTLIST compose %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithop1ary "abs | conjugate | exp | factorial" >
+
+<!ELEMENT exp EMPTY >
+<!ATTLIST exp %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT abs EMPTY >
+<!ATTLIST abs %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT conjugate EMPTY >
+<!ATTLIST conjugate %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT factorial EMPTY >
+<!ATTLIST factorial %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithop1or2ary "minus" >
+
+<!ELEMENT minus EMPTY >
+<!ATTLIST minus %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithop2ary "quotient | divide | power | rem" >
+
+<!ELEMENT quotient EMPTY >
+<!ATTLIST quotient %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT divide EMPTY >
+<!ATTLIST divide %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT power EMPTY >
+<!ATTLIST power %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT rem EMPTY >
+<!ATTLIST rem %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithopnary "plus | times | max | min | gcd" >
+
+<!ELEMENT plus EMPTY >
+<!ATTLIST plus %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT max EMPTY >
+<!ATTLIST max %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT min EMPTY >
+<!ATTLIST min %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT times EMPTY >
+<!ATTLIST times %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT gcd EMPTY >
+<!ATTLIST gcd %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % carithoproot "root" >
+
+<!ELEMENT root EMPTY >
+<!ATTLIST root %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicopquant "exists | forall" >
+
+<!ELEMENT exists EMPTY >
+<!ATTLIST exists %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT forall EMPTY >
+<!ATTLIST forall %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicopnary "and | or | xor" >
+
+<!ELEMENT and EMPTY >
+<!ATTLIST and %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT or EMPTY >
+<!ATTLIST or %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT xor EMPTY >
+<!ATTLIST xor %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicop1ary "not" >
+
+<!ELEMENT not EMPTY >
+<!ATTLIST not %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clogicop2ary "implies" >
+
+<!ELEMENT implies EMPTY >
+<!ATTLIST implies %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % ccalcop "log | int | diff | partialdiff" >
+
+<!ELEMENT log EMPTY >
+<!ATTLIST log %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT int EMPTY >
+<!ATTLIST int %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT diff EMPTY >
+<!ATTLIST diff %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT partialdiff EMPTY >
+<!ATTLIST partialdiff %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % ccalcop1ary "ln" >
+
+<!ELEMENT ln EMPTY >
+<!ATTLIST ln %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetop2ary "setdiff" >
+
+<!ELEMENT setdiff EMPTY >
+<!ATTLIST setdiff %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetopnary "union | intersect" >
+
+<!ELEMENT union EMPTY >
+<!ATTLIST union %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT intersect EMPTY >
+<!ATTLIST intersect %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cseqop "sum | product | limit" >
+
+<!ELEMENT sum EMPTY >
+<!ATTLIST sum %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT product EMPTY >
+<!ATTLIST product %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT limit EMPTY >
+<!ATTLIST limit %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % ctrigop "sin | cos | tan | sec | csc | cot | sinh
+ | cosh | tanh | sech | csch | coth
+ | arcsin | arccos | arctan" >
+
+<!ELEMENT sin EMPTY >
+<!ATTLIST sin %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT cos EMPTY >
+<!ATTLIST cos %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT tan EMPTY >
+<!ATTLIST tan %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sec EMPTY >
+<!ATTLIST sec %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT csc EMPTY >
+<!ATTLIST csc %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT cot EMPTY >
+<!ATTLIST cot %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sinh EMPTY >
+<!ATTLIST sinh %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT cosh EMPTY >
+<!ATTLIST cosh %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT tanh EMPTY >
+<!ATTLIST tanh %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sech EMPTY >
+<!ATTLIST sech %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT csch EMPTY >
+<!ATTLIST csch %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT coth EMPTY >
+<!ATTLIST coth %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT arcsin EMPTY >
+<!ATTLIST arcsin %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT arccos EMPTY >
+<!ATTLIST arccos %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT arctan EMPTY >
+<!ATTLIST arctan %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cstatopnary "mean | sdev | var | median | mode" >
+
+<!ELEMENT mean EMPTY >
+<!ATTLIST mean %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT sdev EMPTY >
+<!ATTLIST sdev %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT var EMPTY >
+<!ATTLIST var %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT median EMPTY >
+<!ATTLIST median %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT mode EMPTY >
+<!ATTLIST mode %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cstatopmoment "moment" >
+
+<!ELEMENT moment EMPTY >
+<!ATTLIST moment %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clalgop1ary "determinant | transpose" >
+
+<!ELEMENT determinant EMPTY >
+<!ATTLIST determinant %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT transpose EMPTY >
+<!ATTLIST transpose %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % clalgopnary "select" >
+
+<!ELEMENT select EMPTY >
+<!ATTLIST select %att-definition;
+ %att-globalatts; >
+
+<!-- content elements - relations -->
+
+<!ENTITY % cgenrel2ary "neq" >
+
+<!ELEMENT neq EMPTY >
+<!ATTLIST neq %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cgenrelnary "eq | leq | lt | geq | gt" >
+
+<!ELEMENT eq EMPTY >
+<!ATTLIST eq %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT gt EMPTY >
+<!ATTLIST gt %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT lt EMPTY >
+<!ATTLIST lt %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT geq EMPTY >
+<!ATTLIST geq %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT leq EMPTY >
+<!ATTLIST leq %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetrel2ary "in | notin | notsubset | notprsubset" >
+
+<!ELEMENT in EMPTY >
+<!ATTLIST in %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT notin EMPTY >
+<!ATTLIST notin %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT notsubset EMPTY >
+<!ATTLIST notsubset %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT notprsubset EMPTY >
+<!ATTLIST notprsubset %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % csetrelnary "subset | prsubset" >
+
+<!ELEMENT subset EMPTY >
+<!ATTLIST subset %att-definition;
+ %att-globalatts; >
+
+<!ELEMENT prsubset EMPTY >
+<!ATTLIST prsubset %att-definition;
+ %att-globalatts; >
+
+<!ENTITY % cseqrel2ary "tendsto" >
+
+<!ELEMENT tendsto EMPTY >
+<!ATTLIST tendsto %att-definition;
+ %att-type;
+ %att-globalatts; >
+
+<!-- content elements - quantifiers -->
+
+<!ENTITY % cquantifier "lowlimit | uplimit | bvar | degree | logbase" >
+
+<!ATTLIST lowlimit %att-globalatts; >
+
+<!ATTLIST uplimit %att-globalatts; >
+
+<!ATTLIST bvar %att-globalatts; >
+
+<!ATTLIST degree %att-globalatts; >
+
+<!ATTLIST logbase %att-globalatts; >
+
+<!-- operator groups -->
+
+<!ENTITY % cop1ary "%cfuncop1ary; | %carithop1ary; | %clogicop1ary;
+ | %ccalcop1ary; | %ctrigop; | %clalgop1ary; " >
+
+<!ENTITY % cop2ary "%carithop2ary; | %clogicop2ary;| %csetop2ary; " >
+
+<!ENTITY % copnary "%cfuncopnary; | %carithopnary; | %clogicopnary;
+ | %csetopnary; | %cstatopnary; | %clalgopnary; " >
+
+<!ENTITY % copmisc "%carithoproot; | %carithop1or2ary; | %ccalcop;
+ | %cseqop; | %cstatopmoment; | %clogicopquant;" >
+
+<!-- relation groups -->
+
+<!ENTITY % crel2ary "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary; " >
+
+<!ENTITY % crelnary "%cgenrelnary; | %csetrelnary;" >
+
+<!-- content constructs - all -->
+
+<!ENTITY % Content "%ctoken; | %cspecial; | %cother; | %csemantics;
+ |%cconstructor; | %cquantifier;
+ |%cop1ary; |%cop2ary; |%copnary; |%copmisc;
+ |%crel2ary; |%crelnary;" >
+
+<!-- content constructs for substitution in presentation structures -->
+
+<!ENTITY % ContInPres "ci | cn | apply | fn | lambda | reln
+ | interval | list | matrix |matrixrow
+ | set | vector | semantics" > <!--dpc-->
+
+<!-- ************************************************* -->
+
+<!-- recursive definition for content of expressions -->
+<!-- include presentation tag constructs at lowest level -->
+<!-- so presentation layout schemata hold presentation or Content -->
+<!-- include Content tag constructs at lowest level -->
+<!-- so Content tokens hold PCDATA or Presentation at leaf level -->
+<!-- (for permitted substitutable elements in context) -->
+
+<!ENTITY % ContentExpression "(%Content; | %PresInCont;)* " >
+<!ENTITY % PresExpression "(%Presentation; | %ContInPres;)* " >
+<!ENTITY % MathExpression "(%PresInCont; | %ContInPres;)* " >
+
+<!-- content token elements (may hold embedded presentation constructs)
+-->
+
+<!ELEMENT ci (#PCDATA | %PresInCont;)* >
+<!ELEMENT cn (#PCDATA | sep | %PresInCont;)* >
+
+<!-- content special elements -->
+
+<!ELEMENT apply (%ContentExpression;) >
+<!ELEMENT reln (%ContentExpression;) >
+<!ELEMENT lambda (%ContentExpression;) >
+
+<!-- content other elements -->
+
+<!ELEMENT condition (%ContentExpression;) >
+<!ELEMENT declare (%ContentExpression;) >
+
+<!-- content semantics elements -->
+
+<!ELEMENT semantics (%ContentExpression;) >
+<!ELEMENT annotation (#PCDATA) >
+<!ELEMENT annotation-xml (%ContentExpression;) >
+
+<!-- content constructor elements -->
+
+<!ELEMENT interval (%ContentExpression;) >
+<!ELEMENT set (%ContentExpression;) >
+<!ELEMENT list (%ContentExpression;) >
+<!ELEMENT vector (%ContentExpression;) >
+<!ELEMENT matrix (%ContentExpression;) >
+<!ELEMENT matrixrow (%ContentExpression;) >
+
+<!-- content operator element (user-defined) -->
+
+<!ELEMENT fn (%ContentExpression;) >
+
+<!-- content quantifier elements -->
+
+<!ELEMENT lowlimit (%ContentExpression;) >
+<!ELEMENT uplimit (%ContentExpression;) >
+<!ELEMENT bvar (%ContentExpression;) >
+<!ELEMENT degree (%ContentExpression;) >
+<!ELEMENT logbase (%ContentExpression;) >
+
+<!-- ************************************************* -->
+<!-- presentation layout schema contain tokens, layout and content
+schema -->
+
+<!ELEMENT mstyle (%PresExpression;) >
+<!ELEMENT merror (%PresExpression;) >
+<!ELEMENT mphantom (%PresExpression;) >
+<!ELEMENT mrow (%PresExpression;) >
+<!ELEMENT mfrac (%PresExpression;) >
+<!ELEMENT msqrt (%PresExpression;) >
+<!ELEMENT mroot (%PresExpression;) >
+<!ELEMENT msub (%PresExpression;) >
+<!ELEMENT msup (%PresExpression;) >
+<!ELEMENT msubsup (%PresExpression;) >
+<!ELEMENT mmultiscripts (%PresExpression;) >
+<!ELEMENT munder (%PresExpression;) >
+<!ELEMENT mover (%PresExpression;) >
+<!ELEMENT munderover (%PresExpression;) >
+<!ELEMENT mtable (%PresExpression;) >
+<!ELEMENT mtr (%PresExpression;) >
+<!ELEMENT mtd (%PresExpression;) >
+<!ELEMENT maction (%PresExpression;) >
+<!ELEMENT mfenced (%PresExpression;) >
+<!ELEMENT mpadded (%PresExpression;) >
+
+<!-- presentation tokens contain PCDATA or malignmark constructs -->
+
+<!ELEMENT mi (#PCDATA | malignmark )* >
+<!ELEMENT mn (#PCDATA | malignmark )* >
+<!ELEMENT mo (#PCDATA | malignmark )* >
+<!ELEMENT mtext (#PCDATA | malignmark )* >
+<!ELEMENT ms (#PCDATA | malignmark )* >
+
+<!-- ************************************************* -->
+<!-- browser interface definition -->
+
+<!-- attributes for top level math element -->
+
+<!ENTITY % att-macros 'macros CDATA #IMPLIED' >
+<!ENTITY % att-mode 'mode CDATA #IMPLIED' >
+
+<!ENTITY % att-topinfo '%att-globalatts;
+ %att-macros;
+ %att-mode;' >
+
+<!-- attributes for browser interface element element -->
+
+<!ENTITY % att-name 'name CDATA #IMPLIED' >
+<!ENTITY % att-baseline 'baseline CDATA #IMPLIED' >
+<!ENTITY % att-overflow 'overflow
+(scroll|elide|truncate|scale) "scroll"' >
+<!ENTITY % att-altimg 'altimg CDATA #IMPLIED' >
+<!ENTITY % att-alttext 'alttext CDATA #IMPLIED' >
+
+<!ENTITY % att-browif '%att-type;
+ %att-name;
+ %att-height;
+ %att-width;
+ %att-baseline;
+ %att-overflow;
+ %att-altimg;
+ %att-alttext; ' >
+
+<!-- the top level math element -->
+<!-- math contains MathML encoded mathematics -->
+<!-- math has the browser info attributes iff it is the
+ browser interface element also -->
+
+<!ELEMENT math (%MathExpression;) >
+
+<!ATTLIST math %att-topinfo;
+ %att-browif; >
+
+<!-- end of DTD fragment -->
+<!-- ************************************************* --> \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmltools.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmltools.dsl
new file mode 100644
index 00000000000..5d90a64234a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmltools.dsl
@@ -0,0 +1,97 @@
+(define debug
+ (external-procedure "UNREGISTERED::James Clark//Procedure::debug"))
+
+(define max-node-list-debug-length 5)
+
+(define (debug-body x)
+ `(,(cond ((node-list? x)
+ (if (node-list-empty? x)
+ 'empty-node-list
+ `( ,(if (named-node-list? x)
+ 'named-node-list
+ 'node-list)
+ ,(node-list-length x)
+ ,(node-list-reduce
+ (node-list-head x max-node-list-debug-length)
+ (lambda (result n)
+ (string-append result
+ (cond ((gi n) (string-append "<" (gi n) ">" ))
+ ((equal? 'data-char (node-property 'class-name n)) (data n))
+ (else "<?>"))))
+ "" ))))
+ ((sosofo? x) 'sosofo)
+ ((procedure? x) 'procedure)
+ ((style? x) 'style)
+ ((address? x) 'address)
+ ((color? x) 'color)
+ ((color-space? x) 'color-space)
+ ((display-space? x) 'display-space)
+ ((inline-space? x) 'inline-space)
+ ((glyph-id? x) 'glyph-id)
+ ((glyph-subst-table? x) 'glyph-subst-table)
+ ((boolean? x) 'boolean)
+ ((symbol? x) 'symbol)
+ ((list? x) 'list)
+ ((pair? x) 'pair)
+ ((char? x) 'char)
+ ((string? x) 'string)
+ ((quantity? x) 'quantity)
+ ((keyword? x) 'keyword)
+ (else 'other))
+ ,x))
+
+
+
+
+<!-- Some bits from the dsssl report, mainly from the
+ Mulberry site
+ -->
+
+(define (node-list-filter proc nl)
+ (node-list-reduce nl
+ (lambda (result snl)
+ (if (proc snl)
+ (node-list snl result)
+ result))
+ (empty-node-list)))
+
+
+(define (map f #!rest xs)
+ (let ((map1 (lambda (f xs) ; bootstrap version for unary F
+ (let loop ((xs xs))
+ (if (null? xs)
+ '()
+ (cons (f (car xs))
+ (loop (cdr xs))))))))
+ (cond ((null? xs)
+ '())
+ ((null? (cdr xs))
+ (map1 f (car xs)))
+ (else
+ (let loop ((xs xs))
+ (if (null? (car xs))
+ '()
+ (cons (apply f (map1 car xs))
+ (loop (map1 cdr xs)))))))))
+
+
+(define (node-list-head nl i)
+ (if (zero? i)
+ (empty-node-list)
+ (node-list (node-list-first nl)
+;;; page 136 of dsssl spec appears to be wrong...
+ (node-list-head (node-list-rest nl)
+ (- i 1)))))
+
+(define (zero? x) (equal? x 0))
+
+(define (attribute name nl)
+ (node-list-map (lambda (snl) (named-node name (attributes snl))) nl))
+
+(define (attribute-value name nl)
+ (node-list-property 'value (attribute name nl)))
+
+(define (node-list-property prop nl) (node-list-map (lambda (snl)
+ (node-property prop snl default: (empty-node-list))) nl))
+
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmlx.dsl b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmlx.dsl
new file mode 100644
index 00000000000..1684ae55db1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mathmlx.dsl
@@ -0,0 +1,181 @@
+<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
+
+<!--
+ David Carlisle
+ davidc@nag.co.uk
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+ -->
+
+
+<!ENTITY dblib.dsl SYSTEM "dblib.dsl">
+
+<!ENTITY mathml.dsl SYSTEM "mathml.dsl">
+
+
+<!--
+<!ENTITY my-debug CDATA
+ "(lambda (x)
+ ((lambda (a b) b)
+ (debug (debug-body x))
+ x))" >
+
+-->
+
+<!ENTITY my-debug CDATA "(lambda (x) x)" >
+
+<!ENTITY my-debug2 CDATA
+ "(lambda (x)
+ ((lambda (a b) b)
+ (debug (debug-body x))
+ x))" >
+
+
+<!--
+<!ENTITY my-debug CDATA "(lambda (x) x)" >
+-->
+
+
+
+]>
+
+&dblib.dsl;
+
+&mathml.dsl;
+
+
+<!-- Debugging.
+ Extended version of my-debug, from Mulberry and also dblib.
+ This version shows more information about node lists, and more
+ type information for some types.
+ Also it is called via an SGML entity rather than a DSSSL function
+ So that the jade-primitive debug function reports a useful line
+ number, rather than just the line of the file in which the
+ my-debug function is defined.
+ -->
+
+
+(define debug
+ (external-procedure "UNREGISTERED::James Clark//Procedure::debug"))
+
+(define max-node-list-debug-length 5)
+
+(define (debug-body x)
+ `(,(cond ((node-list? x)
+ (if (node-list-empty? x)
+ 'empty-node-list
+ `( ,(if (named-node-list? x)
+ 'named-node-list
+ 'node-list)
+ ,(node-list-length x)
+ ,(node-list-reduce
+ (node-list-head x max-node-list-debug-length)
+ (lambda (result n)
+ (string-append result
+ (cond ((gi n) (string-append "<" (gi n) ">" ))
+ ((equal? 'data-char (node-property 'class-name n)) (data n))
+ (else "<?>"))))
+ "" ))))
+ ((sosofo? x) 'sosofo)
+ ((procedure? x) 'procedure)
+ ((style? x) 'style)
+ ((address? x) 'address)
+ ((color? x) 'color)
+ ((color-space? x) 'color-space)
+ ((display-space? x) 'display-space)
+ ((inline-space? x) 'inline-space)
+ ((glyph-id? x) 'glyph-id)
+ ((glyph-subst-table? x) 'glyph-subst-table)
+ ((boolean? x) 'boolean)
+ ((symbol? x) 'symbol)
+ ((list? x) 'list)
+ ((pair? x) 'pair)
+ ((char? x) 'char)
+ ((string? x) 'string)
+ ((quantity? x) 'quantity)
+ ((keyword? x) 'keyword)
+ (else 'other))
+ ,x))
+
+
+
+
+<!-- Some bits from the dsssl report, mainly from the
+ Mulberry site
+ -->
+
+(define (node-list-filter proc nl)
+ (node-list-reduce nl
+ (lambda (result snl)
+ (if (proc snl)
+ (node-list snl result)
+ result))
+ (empty-node-list)))
+
+
+(define (map f #!rest xs)
+ (let ((map1 (lambda (f xs) ; bootstrap version for unary F
+ (let loop ((xs xs))
+ (if (null? xs)
+ '()
+ (cons (f (car xs))
+ (loop (cdr xs))))))))
+ (cond ((null? xs)
+ '())
+ ((null? (cdr xs))
+ (map1 f (car xs)))
+ (else
+ (let loop ((xs xs))
+ (if (null? (car xs))
+ '()
+ (cons (apply f (map1 car xs))
+ (loop (map1 cdr xs)))))))))
+
+
+(define (node-list-head nl i)
+ (if (zero? i)
+ (empty-node-list)
+ (node-list (node-list-first nl)
+;;; page 136 of dsssl spec appears to be wrong...
+ (node-list-head (node-list-rest nl)
+ (- i 1)))))
+
+(define (zero? x) (equal? x 0))
+
+(define (attribute name nl)
+ (node-list-map (lambda (snl) (named-node name (attributes snl))) nl))
+
+(define (attribute-value name nl)
+ (node-list-property 'value (attribute name nl)))
+
+(define (node-list-property prop nl) (node-list-map (lambda (snl)
+ (node-property prop snl default: (empty-node-list))) nl))
+
+
+
+<!-- Style for the elements of the mathmlx DTD
+ Well there isn't much to do here.
+ -->
+
+
+(element mathx
+ (make paragraph
+ (make simple-page-sequence
+ page-height: 9in
+ page-width: 7in
+ min-leading: 2pt
+ top-margin: 1in
+ bottom-margin: 1in
+ left-margin: 1in
+ right-margin: 1in
+ (process-children-trim))))
+
+(element p
+ (make paragraph
+ space-before: (display-space 12pt)
+ space-after: (display-space 2pt)
+ (process-children-trim)))
+
+
+
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmaliase.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmaliase.dtd
new file mode 100644
index 00000000000..f1625ef7af2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmaliase.dtd
@@ -0,0 +1,78 @@
+
+<!--
+ MMALIAS Characters alphabetically
+ MathML Aliases
+
+ Converted from HTML table at
+ http://www.w3.org/TR/REC-MathML-19980407/chap6/MMALIAS1.html
+
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!ENTITY bigstar "&#9733;"><!-- u+2605 star, filled ISOPUB starf-->
+<!ENTITY blacklozenge "&#58625;"><!-- u+E501 lozenge, filled ISOPUB lozf-->
+<!ENTITY blacktriangle "&#9652;"><!-- u+25B4 up triangle, filled ISOPUB utrif-->
+<!ENTITY blacktriangledown "&#9662;"><!-- u+25BE down triangle, filled ISOPUB dtrif-->
+<!ENTITY blacktriangleleft "&#9666;"><!-- u+25C2 left triangle, filled ISOPUB ltrif-->
+<!ENTITY blacktriangleright "&#9656;"><!-- u+25B8 right triangle, filled ISOPUB rtrif-->
+<!ENTITY Breve "&#774;"><!-- u+0306 breve ISODIA breve-->
+<!ENTITY bullet "&#8226;"><!-- u+2022 round bullet, filled ISOPUB bull-->
+<!ENTITY Cedilla "&#807;"><!-- u+0327 cedilla ISODIA cedil-->
+<!ENTITY CenterDot "&#183;"><!-- u+00B7 middle dot ISONUM middot-->
+<!ENTITY centerdot "&#183;"><!-- u+00B7 middle dot ISONUM middot-->
+<!ENTITY checkmark "&#10003;"><!-- u+2713 tick, check mark ISOPUB check-->
+<!ENTITY circledR "&#175;"><!-- u+00AE registered sign ISONUM reg-->
+<!ENTITY CloseCurlyDoubleQuote "&#8221;"><!-- u+201D double quotation mark, right ISONUM rdquo-->
+<!ENTITY CloseCurlyQuote "&#8217;"><!-- u+2019 single quotation mark, right ISONUM rsquo-->
+<!ENTITY clubsuit "&#9827;"><!-- u+2663 club suit symbol ISOPUB clubs-->
+<!--<!ENTITY ddagger "&#8225;">-->
+<!-- u+2021 double dagger ISOPUB Dagger-->
+<!ENTITY DiacriticalAcute "&#769;"><!-- u+0301 acute accent ISODIA acute-->
+<!ENTITY DiacriticalDot "&#775;"><!-- u+0307 dot above ISODIA dot-->
+<!ENTITY DiacriticalDoubleAcute "&#779;"><!-- u+030B double acute accent ISODIA dblac-->
+<!ENTITY DiacriticalGrave "&#768;"><!-- u+0300 grave accent ISODIA grave-->
+<!ENTITY DiacriticalTilde "&#771;"><!-- u+0303 tilde ISODIA tilde-->
+<!ENTITY diamondsuit "&#9826;"><!-- u+2662 diamond suit symbol ISOPUB diams-->
+<!ENTITY div "&#247;"><!-- u+00F7 divide sign ISONUM divide-->
+<!ENTITY DoubleDot "&#776;"><!-- u+0308 dieresis ISODIA die-->
+<!ENTITY DownArrow "&#8595;"><!-- u+2193 downward arrow ISONUM darr-->
+<!ENTITY downarrow "&#8595;"><!-- u+2193 downward arrow ISONUM darr-->
+<!--
+<!ENTITY DownTeeArrow >
+-->
+<!ENTITY Hacek "&#780;"><!-- u+030C caron ISODIA caron-->
+<!ENTITY Hat "&#770;"><!-- u+0302 circumflex accent ISODIA circ-->
+<!ENTITY heartsuit "&#9825;"><!-- u+2661 heart suit symbol ISOPUB hearts-->
+<!ENTITY lbrace "&#123;"><!-- u+007B left curly bracket ISONUM lcub-->
+<!ENTITY lbrack "&#91;"><!-- u+005B left square bracket ISONUM lsqb-->
+<!ENTITY LeftArrow "&#8592;"><!-- u+2190 leftward arrow ISONUM larr-->
+<!ENTITY leftarrow "&#8592;"><!-- u+2190 leftward arrow ISONUM larr-->
+<!--
+<!ENTITY LeftTeeArrow >
+-->
+<!ENTITY lozenge "&#9674;"><!-- u+25CA lozenge or total mark ISOPUB loz-->
+<!ENTITY maltese "&#10016;"><!-- u+2720 maltese cross ISOPUB malt-->
+<!ENTITY natural "&#9838;"><!-- u+266E music natural ISOPUB natur-->
+<!--
+<!ENTITY NotCupCap >
+<!ENTITY NotEqualTilde >
+<!ENTITY NotHumpDownHump >
+<!ENTITY NotHumpEqual >
+<!ENTITY NotSquareSuperset >
+-->
+<!ENTITY OpenCurlyDoubleQuote "&#8220;"><!-- u+201C double quotation mark, left ISONUM ldquo-->
+<!ENTITY OpenCurlyQuote "&#8216;"><!-- u+2018 single quotation mark, left ISONUM lsquo-->
+<!ENTITY PlusMinus "&#177;"><!-- u+00B1 plus-or-minus sign ISONUM plusmn-->
+<!ENTITY pm "&#177;"><!-- u+00B1 plus-or-minus sign ISONUM plusmn-->
+<!ENTITY rbrace "&#125;"><!-- u+007D right curly bracket ISONUM rcub-->
+<!ENTITY rbrack "&#93;"><!-- u+005D right square bracket ISONUM rsqb-->
+<!ENTITY RightArrow "&#8594;"><!-- u+2192 rightward arrow ISONUM rarr-->
+<!ENTITY rightarrow "&#8594;"><!-- u+2192 rightward arrow ISONUM rarr-->
+<!ENTITY spadesuit "&#9824;"><!-- u+2660 spades suit symbol ISOPUB spades-->
+<!ENTITY triangle "&#9653;"><!-- u+25B5 up triangle, open ISOPUB utri-->
+<!ENTITY triangledown "&#9663;"><!-- u+25BF down triangle, open ISOPUB dtri-->
+<!ENTITY triangleleft "&#9667;"><!-- u+25C3 left triangle, open ISOPUB ltri-->
+<!ENTITY triangleright "&#9657;"><!-- u+25B9 right triangle, open ISOPUB rtri-->
+<!ENTITY UpArrow "&#8593;"><!-- u+2191 upward arrow ISONUM uarr-->
+<!ENTITY uparrow "&#8593;"><!-- u+2191 upward arrow ISONUM uarr-->
+<!ENTITY vert "&#124;"><!-- u+007C vertical bar ISONUM verbar-->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmlent.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmlent.dtd
new file mode 100644
index 00000000000..d943407a78c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mmlent.dtd
@@ -0,0 +1,114 @@
+<!--
+ MathML Entitites PROVISIONAL
+ David Carlisle
+ Copyright 1998 Nag Ltd, The OpenMath Consortium. Esprit Project 24.969.
+-->
+
+<!-- Section 6.2.1 -->
+
+<!ENTITY tab "&#9;"><!-- tabulator stop -->
+
+<!ENTITY NewLine "[NewLine]"><!-- force a line break -->
+
+<!ENTITY IndentingNewLine "[IndentingNewLine]"><!--
+ force a line break and indent appropriately on next line -->
+
+<!ENTITY NoBreak "[NoBreak]"><!--
+ never break line here -->
+
+<!ENTITY GoodBreak "[GoodBreak]"><!--
+ if a linebreak is needed, here is a good spot -->
+<!ENTITY BadBreak "[BadBreak]"><!--
+ if a linebreak is needed, try to avoid breaking here -->
+
+
+<!ENTITY Space " "><!-- Space -->
+
+<!ENTITY NonBreakingSpace "[NonBreakingSpace]"><!--
+ space that is not a legal breakpoint -->
+
+<!ENTITY ZeroWidthSpace "[ZeroWidthSpace]"><!--
+ space of no width at all -->
+
+
+<!ENTITY VeryThinSpace "[VeryThinSpace]"><!--
+ space of width 1/18 em -->
+
+
+<!ENTITY ThinSpace "[ThinSpace]"><!--
+ space of width 3/18 em -->
+
+
+<!ENTITY MediumSpace "[MediumSpace]"><!--
+ space of width 4/18 em -->
+
+
+<!ENTITY ThickSpace "[ThickSpace]"><!--
+ space of width 5/18 em -->
+
+
+<!ENTITY NegativeVeryThinSpace "[NegativeVeryThinSpace]"><!--
+ space of width -1/18 em -->
+
+
+<!ENTITY NegativeThinSpace "[NegativeThinSpace]"><!--
+ space of width -3/18 em -->
+
+
+<!ENTITY NegativeMediumSpace "[NegativeMediumSpace]"><!--
+ space of width -4/18 em -->
+
+
+<!ENTITY NegativeThickSpace "[NegativeThickSpace]"><!--
+ space of width -5/18 em -->
+
+
+
+
+<!ENTITY InvisibleComma ""><!--
+ used as a separator, e.g., in indices (Section 3.2.4) -->
+<!ENTITY ic "" ><!--
+ short form of &InvisibleComma; -->
+
+<!ENTITY InvisibleTimes ""><!--
+ marks multiplication when it is understood without a mark (Section 3.2.4 -->
+<!ENTITY it ""><!--
+ short form of &InvisibleTimes; -->
+
+<!ENTITY ApplyFunction "" ><!--
+ character showing function application in presentation tagging (Section 3.2.4) -->
+<!ENTITY af "" ><!--
+ short form of &ApplyFunction; -->
+
+
+<!-- Section 6.2.3 -->
+
+<!ENTITY CapitalDifferentialD "D"><!--
+ D for use in differentials, e.g., within integrals -->
+<!ENTITY DD "D" ><!--
+ short form of &CapitalDifferentialD; -->
+
+<!ENTITY DifferentialD "d"><!--
+ d for use in differentials, e.g., within integral -->
+<!ENTITY dd "d" ><!--
+ short form of &DifferentialD; -->
+
+<!ENTITY ExponentialE "e"><!--
+ e for use for the exponential base of the natural logarithms -->
+<!ENTITY ee "e" ><!--
+ short form of &ExponentialE; -->
+
+<!ENTITY false "F" ><!--
+ logical constant false -->
+
+<!ENTITY ImaginaryI "i"><!--
+ i for use as a square root of -1 -->
+<!ENTITY ii "i" ><!--
+ short form of &ImaginaryI; -->
+
+
+<!ENTITY NotANumber "NaN"><!--
+ used in 4.3.2.9 -->
+
+<!ENTITY true "T" ><!--
+ logical constant true -->
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mtdemo.tex b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mtdemo.tex
new file mode 100644
index 00000000000..adf247ff73b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/mtdemo.tex
@@ -0,0 +1,10 @@
+\[
+\begin{gathered}
+ f( \in ,\delta s) = \frac{1}{\xi }\phi _{v} (\lambda _{v} ,k,\beta ^{2} ) \hfill \\
+ \phi _{v} (\lambda _{v} ,k,\beta ^{2} ) = \frac{1}{{2\pi i}}\int_{{c - i\infty }}^{{c + i\infty }} {\phi (s)e^{{\lambda s}} ds} \hfill \\
+ \phi (s) = \text{exp }[\kappa(1 + \beta ^{2} \gamma )]\text{ exp }[\psi (s)] \hfill \\
+ \lambda _{u} = k\left[ {\frac{{ \in - \bar \in }}{\xi } - \gamma ' - \beta ^{2} } \right] \hfill \\
+\end{gathered}
+\]
+
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/stix.mml b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/stix.mml
new file mode 100644
index 00000000000..21346de9a83
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/stix.mml
@@ -0,0 +1,66 @@
+<math displaystyle='true'>
+ <semantics>
+ <mtable columnalign='left'>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mn>2</mn><mi>&pi;</mi><mi>i</mi>
+ </mrow>
+ </mfrac>
+ <msubsup>
+ <mo>&int;</mo>
+ <mrow>
+ <mi>c</mi><mo>-</mo><mi>i</mi><mo>&infin;</mo>
+ </mrow>
+ <mrow>
+ <mi>c</mi><mo>+</mo><mi>i</mi><mo>&infin;</mo>
+ </mrow>
+ </msubsup>
+ <mrow>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo>
+ <mi>s</mi><mo stretchy='false'>)</mo>
+ <msup>
+ <mi>e</mi>
+ <mrow>
+ <mi>&lambda;</mi><mi>s</mi>
+ </mrow>
+ </msup>
+ <mi>d</mi><mi>s</mi>
+ </mrow>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo>
+ <mi>s</mi><mo stretchy='false'>)</mo>
+ <mo>=</mo><mtext>exp </mtext>
+ <mo stretchy='false'>[</mo><mi>k</mi>
+ <mo stretchy='false'>(</mo><mn>1</mn><mo>+</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&gamma;</mi>
+ <mo stretchy='false'>)</mo>
+ <mo stretchy='false'>]</mo><mtext> exp </mtext>
+ <mo stretchy='false'>[</mo><mi>&psi;</mi>
+ <mo stretchy='false'>(</mo><mi>s</mi>
+ <mo stretchy='false'>)</mo><mo stretchy='false'>]</mo>
+ </mtd>
+ </mtr>
+ </mtable>
+ </semantics>
+</math>
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/techexpl.mml b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/techexpl.mml
new file mode 100644
index 00000000000..04b4dd9396e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/techexpl.mml
@@ -0,0 +1,100 @@
+<!-- MathType@Translator@5@5@MathML (Techexplorer).tdl@MathML -- Techexplorer compatible@ -->
+<math displaystyle='true'>
+ <mtable columnalign='left'>
+ <mtr>
+ <mtd>
+ <mi>f</mi><mo stretchy='false'>(</mo><mo>,</mo><mi>&delta;</mi><mi>s</mi><mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mi>&xi;</mi>
+ </mfrac>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mn>2</mn><mi>&pi;</mi><mi>i</mi>
+ </mrow>
+ </mfrac>
+ <msubsup>
+ <mo>&int;</mo>
+ <mrow>
+ <mi>c</mi><mi>i</mi>
+ </mrow>
+ <mrow>
+ <mi>c</mi><mo>+</mo><mi>i</mi>
+ </mrow>
+ </msubsup>
+ <mrow>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><msup>
+ <mi>e</mi>
+ <mrow>
+ <mi>&lambda;</mi><mi>s</mi>
+ </mrow>
+ </msup>
+ <mi>d</mi><mi>s</mi>
+ </mrow>
+
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><mo>=</mo><mtext>exp </mtext><mo stretchy='false'>[</mo><mi>k</mi><mo stretchy='false'>(</mo><mn>1</mn><mo>+</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&gamma;</mi><mo stretchy='false'>)</mo><mo stretchy='false'>]</mo><mtext> exp </mtext><mo stretchy='false'>[</mo><mi>&psi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><mo stretchy='false'>]</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&lambda;</mi>
+ <mi>u</mi>
+ </msub>
+ <mo>=</mo><mi>k</mi><mrow><mo>[</mo> <mrow>
+ <mfrac>
+ <mrow>
+
+ </mrow>
+ <mi>&xi;</mi>
+ </mfrac>
+ <msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+
+ </mrow> <mo>]</mo></mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+
+</math>
+<!-- MathType@End@5@5@ -->
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.dtd b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.dtd
new file mode 100644
index 00000000000..8a57713d8fe
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.dtd
@@ -0,0 +1,62 @@
+<!ELEMENT document (math*)>
+<!--Added Math Symbols: Arrows-->
+<!ENTITY % isoamsae.dtd SYSTEM "isoamsae.dtd">
+
+<!--Added Math Symbols: Binary Operators-->
+<!ENTITY % isoamsbe.dtd SYSTEM "isoamsbe.dtd">
+
+<!--Added Math Symbols: Delimiters-->
+<!ENTITY % isoamsce.dtd SYSTEM "isoamsce.dtd">
+
+<!--Added Math Symbols: Negated Relations-->
+<!ENTITY % isoamsne.dtd SYSTEM "isoamsne.dtd">
+
+<!--Added Math Symbols: Ordinary-->
+<!ENTITY % isoamsoe.dtd SYSTEM "isoamsoe.dtd">
+
+<!--Added Math Symbols: Relations-->
+<!ENTITY % isoamsre.dtd SYSTEM "isoamsre.dtd">
+
+<!--General Technical-->
+<!ENTITY % isoteche.dtd SYSTEM "isoteche.dtd">
+
+<!--Numbers and Currency symbols-->
+<!ENTITY % isonume.dtd SYSTEM "isonume.dtd">
+
+<!--MathML Aliases (From ISO PUB,DIA,NUM)-->
+<!ENTITY % mmaliase.dtd SYSTEM "mmaliase.dtd">
+
+<!--Greek Symbols-->
+<!ENTITY % isogrk3e.dtd SYSTEM "isogrk3e.dtd">
+
+<!--Math Script Font-->
+<!ENTITY % isomscre.dtd SYSTEM "isomscre.dtd">
+
+<!--Math Open Face Font-->
+<!ENTITY % isomopfe.dtd SYSTEM "isomopfe.dtd">
+
+<!--MathML Entities-->
+<!ENTITY % mmlent.dtd SYSTEM "mmlent.dtd">
+
+<!ENTITY % mathml.dtd SYSTEM "mathml.dtd">
+
+%mathml.dtd;
+%isoamsae.dtd;
+%isoamsbe.dtd;
+%isoamsce.dtd;
+%isoamsne.dtd;
+%isoamsoe.dtd;
+%isoamsre.dtd;
+%isoteche.dtd;
+%isonume.dtd;
+%mmaliase.dtd;
+%isogrk3e.dtd;
+%isomscre.dtd;
+%isomopfe.dtd;
+%mmlent.dtd;
+<!ENTITY aacute "&#x00E1;">
+<!ENTITY OverBar "[OverBar]">
+<!ENTITY negationslash "/">
+
+
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.xml b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.xml
new file mode 100644
index 00000000000..206126b456e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/test.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE document SYSTEM "test.dtd"
+[
+<!ENTITY stix SYSTEM "stix.mml">
+<!ENTITY amaya SYSTEM "amaya.mml">
+<!ENTITY techexpl SYSTEM "techexpl.mml">
+<!ENTITY webeq SYSTEM "webeq.mml">
+]>
+<document>
+&webeq;
+&techexpl;
+&stix;
+&amaya;
+</document>
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/tmp.tmp b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/tmp.tmp
new file mode 100644
index 00000000000..3168dffd88a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/tmp.tmp
@@ -0,0 +1,2 @@
+
+xx \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try.cfg
new file mode 100644
index 00000000000..7b306317997
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try.cfg
@@ -0,0 +1,11 @@
+\Configure{HTML}{\StartHtml}{\EndHtml}
+\newcommand\StartHtml{\IgnorePar\HCode{<!DOCTYPE HTML PUBLIC
+ "-//W3C//DTD HTML 4.0 Transitional//EN">\Hnewline
+ <HTML><HEAD><LINK REL="stylesheet"
+ TYPE="text/css" HREF="\jobname.css">\Hnewline
+ <TITLE>\jobname</TITLE></HEAD>\Hnewline <BODY>}
+ \Css{.hooks{color:green;}}}
+\newcommand\EndHtml{\HCode{</BODY></HTML>}}
+\Preamble{}
+\begin{document}
+\EndPreamble
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try2.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try2.cfg
new file mode 100644
index 00000000000..850fb8aea93
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try2.cfg
@@ -0,0 +1,18 @@
+\Configure{HEAD}{\empty}{\empty}
+\Configure{HTML}
+ {\IgnorePar\HCode{<HTML><HEAD> <TITLE></TITLE></HEAD><BODY>}[DOC]}
+ {[/DOC]\HCode{</BODY></HTML>}}
+\Preamble{}
+ \Configure{BODY}{\empty}{\empty}
+ \Configure{TITLE}{\empty}{\empty}
+ \Configure{TITLE+}{\empty}
+ \Configure{TocAt}{\empty}{\empty}
+ \Configure{TocAt*}{\empty}{\empty}
+ \Configure{toc}{\empty}
+ \ConfigureEnv{description} {[DLIST]}{[/DLIST]}{}{}
+ \ConfigureList{description}{}{}{[MARK]}{[/MARK]}
+ \Configure{section} {[SECTION]}{[/SECTION]}
+ {[NUM]\arabic{section}[/NUM][TITLE]}{[/TITLE]}
+\begin{document}
+\EndPreamble
+\Configure{HtmlPar}{}{\empty}{}{}
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try3.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try3.cfg
new file mode 100644
index 00000000000..16ec5677ed2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try3.cfg
@@ -0,0 +1,8 @@
+\Configure{HTML} {\Tg<DOC>}{\Tg</DOC>}
+\Preamble{}
+ \ConfigureEnv{description} {\Tg<DLIST>}{\Tg</DLIST>}{}{}
+ \ConfigureList{description}{}{}{\Tg<MARK>}{\Tg</MARK>}
+ \Configure{section} {\Tg<SECTION>}{\Tg</SECTION>}
+ {\Tg<NUM>\arabic{section}\Tg</NUM>\Tg<TITLE>}{\Tg</TITLE>}
+\begin{document}
+\EndPreamble
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try4.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try4.cfg
new file mode 100644
index 00000000000..7addb8df342
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try4.cfg
@@ -0,0 +1,14 @@
+\Configure{HTML}
+ {\IgnorePar\HCode{<HTML><HEAD> <TITLE></TITLE></HEAD><BODY>}\Tg<DOC>}
+ {\Tg</DOC>\HCode{</BODY></HTML>}}
+\Preamble{}
+ \ConfigureEnv{description} {\Tg<DLIST>}{\Tg</DLIST>}{}{}
+ \ConfigureList{description}{}{}{\Tg<MARK>}{\Tg</MARK>}
+ \Configure{section} {\Tg<SECTION>}{\Tg</SECTION>}
+ {\Tg<NUM>\arabic{section}\Tg</NUM>\Tg<TITLE>}{\Tg</TITLE>}
+\Configure<NUM>{\HCode{<DIV ALIGN="CENTER">}}{}
+\Configure</TITLE>{}{\HCode{</DIV>}}
+\Configure<DLIST>{\HCode{<BR>}}{}
+\Configure</DLIST>{}{\HCode{<BR>}}
+\begin{document}
+\EndPreamble
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try5.cfg b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try5.cfg
new file mode 100644
index 00000000000..57a7f4493b8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/try5.cfg
@@ -0,0 +1,16 @@
+\Configure{HTML}
+ {\IgnorePar\HCode{<HTML><HEAD> <TITLE></TITLE></HEAD><BODY>}\Tg<DOC>}
+ {\Tg</DOC>\HCode{</BODY></HTML>}}
+\Preamble{}
+ \ConfigureEnv{description} {\Tg<DLIST>}{\Tg</DLIST>}{}{}
+ \ConfigureList{description}{}{}{\Tg<MARK>}{\Tg</MARK>}
+ \Configure{section} {\Tg<SECTION>}{\Tg</SECTION>}
+ {\Tg<NUM>\arabic{section}\Tg</NUM>\Tg<TITLE>}{\Tg</TITLE>}
+\Configure<NUM>-{\HCode{<DIV ALIGN="CENTER">}}
+\Configure</NUM>-{ }
+\Configure<TITLE>-{}
+\Configure</TITLE>-{\HCode{</DIV>}}
+\Configure<DLIST>{\HCode{<BR>}}{}
+\Configure</DLIST>{}{\HCode{<BR>}}
+\begin{document}
+\EndPreamble
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/webeq.mml b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/webeq.mml
new file mode 100644
index 00000000000..487da18c321
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/webeq.mml
@@ -0,0 +1,111 @@
+<!-- MathType@Translator@5@5@MathML (WebEQ).tdl@MathML -- WebEQ compatible@ -->
+<math displaystyle='true'>
+ <semantics>
+ <mtable columnalign='left'>
+ <mtr>
+ <mtd>
+ <mi>f</mi><mo stretchy='false'>(</mo><mo>&isinv;</mo><mo>,</mo><mi>&delta;</mi><mi>s</mi><mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mi>&xi;</mi>
+ </mfrac>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&phi;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo stretchy='false'>(</mo><msub>
+ <mi>&lambda;</mi>
+ <mi>v</mi>
+ </msub>
+ <mo>,</mo><mi>k</mi><mo>,</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mo stretchy='false'>)</mo><mo>=</mo><mfrac>
+ <mn>1</mn>
+ <mrow>
+ <mn>2</mn><mi>&pi;</mi><mi>i</mi>
+ </mrow>
+ </mfrac>
+ <msubsup>
+ <mo>&int;</mo>
+ <mrow>
+ <mi>c</mi><mo>-</mo><mi>i</mi><mi>&infin;</mi>
+ </mrow>
+ <mrow>
+ <mi>c</mi><mo>+</mo><mi>i</mi><mi>&infin;</mi>
+ </mrow>
+ </msubsup>
+ <mrow>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><msup>
+ <mi>e</mi>
+ <mrow>
+ <mi>&lambda;</mi><mi>s</mi>
+ </mrow>
+ </msup>
+ <mi>d</mi><mi>s</mi>
+ </mrow>
+
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <mi>&phi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><mo>=</mo><mtext>exp </mtext><mo stretchy='false'>[</mo><mi>k</mi><mo stretchy='false'>(</mo><mn>1</mn><mo>+</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+ <mi>&gamma;</mi><mo stretchy='false'>)</mo><mo stretchy='false'>]</mo><mtext> exp </mtext><mo stretchy='false'>[</mo><mi>&psi;</mi><mo stretchy='false'>(</mo><mi>s</mi><mo stretchy='false'>)</mo><mo stretchy='false'>]</mo>
+ </mtd>
+ </mtr>
+ <mtr>
+ <mtd>
+ <msub>
+ <mi>&lambda;</mi>
+ <mi>u</mi>
+ </msub>
+ <mo>=</mo><mi>k</mi><mrow><mo>[</mo> <mrow>
+ <mfrac>
+ <mrow>
+ <mo>&isinv;</mo><mo>-</mo><mover accent='true'>
+ <mo>&isinv;</mo>
+ <mo>&amp;macr;</mo>
+ </mover>
+
+ </mrow>
+ <mi>&xi;</mi>
+ </mfrac>
+ <mo>-</mo><msup>
+ <mi>&gamma;</mi>
+ <mo>&prime;</mo>
+ </msup>
+ <mo>-</mo><msup>
+ <mi>&beta;</mi>
+ <mn>2</mn>
+ </msup>
+
+ </mrow> <mo>]</mo></mrow>
+ </mtd>
+ </mtr>
+ </mtable>
+
+
+ </semantics>
+</math>
+<!-- MathType@End@5@5@ -->
+
diff --git a/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/xml.dcl b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/xml.dcl
new file mode 100644
index 00000000000..fed21030921
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/latex-web-companion/latex2xml/xml.dcl
@@ -0,0 +1,179 @@
+<!SGML -- SGML Declaration for valid XML documents --
+ "ISO 8879:1986 (WWW)"
+
+ CHARSET
+ BASESET
+ "ISO Registration Number 176//CHARSET
+ ISO/IEC 10646-1:1993 UCS-4 with implementation
+ level 3//ESC 2/5 2/15 4/6"
+ DESCSET
+ 0 9 UNUSED
+ 9 2 9
+ 11 2 UNUSED
+ 13 1 13
+ 14 18 UNUSED
+ 32 95 32
+ 127 1 UNUSED
+ 128 32 UNUSED
+ -- use this instead of the official declaration because SP only
+ supports 16-bit characters --
+ 160 65374 160
+ 65534 2 UNUSED
+ -- 55296 2048 UNUSED
+ 57344 8190 57344
+ 65534 2 UNUSED
+ 65536 1048576 65536 --
+ CAPACITY NONE
+
+ SCOPE DOCUMENT
+
+ SYNTAX
+ SHUNCHAR NONE
+ BASESET "ISO Registration Number 176//CHARSET
+ ISO/IEC 10646-1:1993 UCS-4 with implementation
+ level 3//ESC 2/5 2/15 4/6"
+ DESCSET
+ 0 1114112 0
+ FUNCTION
+ RE 13
+ RS 10
+ SPACE 32
+ TAB SEPCHAR 9
+
+ NAMING
+ LCNMSTRT ""
+ UCNMSTRT ""
+ NAMESTRT
+ 58 95 192-214 216-246 248-305 308-318 321-328
+ 330-382 384-451 461-496 500-501 506-535 592-680
+ 699-705 902 904-906 908 910-929 931-974 976-982
+ 986 988 990 992 994-1011 1025-1036 1038-1103
+ 1105-1116 1118-1153 1168-1220 1223-1224
+ 1227-1228 1232-1259 1262-1269 1272-1273
+ 1329-1366 1369 1377-1414 1488-1514 1520-1522
+ 1569-1594 1601-1610 1649-1719 1722-1726
+ 1728-1742 1744-1747 1749 1765-1766 2309-2361
+ 2365 2392-2401 2437-2444 2447-2448 2451-2472
+ 2474-2480 2482 2486-2489 2524-2525 2527-2529
+ 2544-2545 2565-2570 2575-2576 2579-2600
+ 2602-2608 2610-2611 2613-2614 2616-2617
+ 2649-2652 2654 2674-2676 2693-2699 2701
+ 2703-2705 2707-2728 2730-2736 2738-2739
+ 2741-2745 2749 2784 2821-2828 2831-2832
+ 2835-2856 2858-2864 2866-2867 2870-2873 2877
+ 2908-2909 2911-2913 2949-2954 2958-2960
+ 2962-2965 2969-2970 2972 2974-2975 2979-2980
+ 2984-2986 2990-2997 2999-3001 3077-3084
+ 3086-3088 3090-3112 3114-3123 3125-3129
+ 3168-3169 3205-3212 3214-3216 3218-3240
+ 3242-3251 3253-3257 3294 3296-3297 3333-3340
+ 3342-3344 3346-3368 3370-3385 3424-3425
+ 3585-3630 3632 3634-3635 3648-3653 3713-3714
+ 3716 3719-3720 3722 3725 3732-3735 3737-3743
+ 3745-3747 3749 3751 3754-3755 3757-3758 3760
+ 3762-3763 3773 3776-3780 3904-3911 3913-3945
+ 4256-4293 4304-4342 4352 4354-4355 4357-4359
+ 4361 4363-4364 4366-4370 4412 4414 4416 4428
+ 4430 4432 4436-4437 4441 4447-4449 4451 4453
+ 4455 4457 4461-4462 4466-4467 4469 4510 4520
+ 4523 4526-4527 4535-4536 4538 4540-4546 4587
+ 4592 4601 7680-7835 7840-7929 7936-7957
+ 7960-7965 7968-8005 8008-8013 8016-8023 8025
+ 8027 8029 8031-8061 8064-8116 8118-8124 8126
+ 8130-8132 8134-8140 8144-8147 8150-8155
+ 8160-8172 8178-8180 8182-8188 8486 8490-8491
+ 8494 8576-8578 12295 12321-12329 12353-12436
+ 12449-12538 12549-12588 19968-40869 44032-55203
+
+ LCNMCHAR ""
+ UCNMCHAR ""
+ NAMECHAR
+ 45-46 183 720-721 768-837 864-865 903 1155-1158
+ 1425-1441 1443-1465 1467-1469 1471 1473-1474
+ 1476 1600 1611-1618 1632-1641 1648 1750-1764
+ 1767-1768 1770-1773 1776-1785 2305-2307 2364
+ 2366-2381 2385-2388 2402-2403 2406-2415
+ 2433-2435 2492 2494-2500 2503-2504 2507-2509
+ 2519 2530-2531 2534-2543 2562 2620 2622-2626
+ 2631-2632 2635-2637 2662-2673 2689-2691 2748
+ 2750-2757 2759-2761 2763-2765 2790-2799
+ 2817-2819 2876 2878-2883 2887-2888 2891-2893
+ 2902-2903 2918-2927 2946-2947 3006-3010
+ 3014-3016 3018-3021 3031 3047-3055 3073-3075
+ 3134-3140 3142-3144 3146-3149 3157-3158
+ 3174-3183 3202-3203 3262-3268 3270-3272
+ 3274-3277 3285-3286 3302-3311 3330-3331
+ 3390-3395 3398-3400 3402-3405 3415 3430-3439
+ 3633 3636-3642 3654-3662 3664-3673 3761
+ 3764-3769 3771-3772 3782 3784-3789 3792-3801
+ 3864-3865 3872-3881 3893 3895 3897 3902-3903
+ 3953-3972 3974-3979 3984-3989 3991 3993-4013
+ 4017-4023 4025 8400-8412 8417 12293 12330-12335
+ 12337-12341 12441-12442 12445-12446 12540-12542
+
+ NAMECASE
+ GENERAL NO
+ ENTITY NO
+
+ DELIM
+ GENERAL SGMLREF
+ HCRO "&#38;#x" -- 38 is the number for ampersand --
+ NESTC "/"
+ NET ">"
+ PIC "?>"
+ SHORTREF NONE
+
+ NAMES
+ SGMLREF
+
+ QUANTITY NONE
+
+ ENTITIES
+ "amp" 38
+ "lt" 60
+ "gt" 62
+ "quot" 34
+ "apos" 39
+
+ FEATURES
+ MINIMIZE
+ DATATAG NO
+ OMITTAG NO
+ RANK NO
+ SHORTTAG
+ STARTTAG
+ EMPTY NO
+ UNCLOSED NO
+ NETENABL IMMEDNET
+ ENDTAG
+ EMPTY NO
+ UNCLOSED NO
+ ATTRIB
+ DEFAULT YES
+ OMITNAME NO
+ VALUE NO
+ EMPTYNRM YES
+ IMPLYDEF
+ ATTLIST NO
+ DOCTYPE NO
+ ELEMENT NO
+ ENTITY NO
+ NOTATION NO
+ LINK
+ SIMPLE NO
+ IMPLICIT NO
+ EXPLICIT NO
+ OTHER
+ CONCUR NO
+ SUBDOC NO
+ FORMAL NO
+ URN NO
+ KEEPRSRE YES
+ VALIDITY TYPE
+ ENTITIES
+ REF ANY
+ INTEGRAL YES
+ APPINFO NONE
+ SEEALSO "ISO 8879:1986//NOTATION
+ Extensible Markup Language (XML) 1.0//EN"
+>