summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-02-26 03:00:34 +0000
committerNorbert Preining <norbert@preining.info>2022-02-26 03:00:34 +0000
commit740a11f29a3551babe3d7edbb57ac3baa2280a3f (patch)
tree5d6d449e762f5ab95042e3517d03c5ac3ddaf7c3 /macros
parent157cc9e776520d0b7d488317a69a10d4ae4d493b (diff)
CTAN sync 202202260300
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx8
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin578300 -> 578301 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex4
-rw-r--r--macros/latex/contrib/stex/Makefile5
-rw-r--r--macros/latex/contrib/stex/README22
-rw-r--r--macros/latex/contrib/stex/README.md54
-rw-r--r--macros/latex/contrib/stex/bin/Modparse.pm189
-rw-r--r--macros/latex/contrib/stex/bin/README50
-rwxr-xr-xmacros/latex/contrib/stex/bin/checksum71
-rwxr-xr-xmacros/latex/contrib/stex/bin/filedate45
-rwxr-xr-xmacros/latex/contrib/stex/bin/installFonts.sh8
-rwxr-xr-xmacros/latex/contrib/stex/bin/sms146
-rw-r--r--macros/latex/contrib/stex/doc/Makefile26
-rw-r--r--macros/latex/contrib/stex/doc/abstract.tex10
-rw-r--r--macros/latex/contrib/stex/doc/docheader.tex355
-rw-r--r--macros/latex/contrib/stex/doc/packages/basics.tex16
-rw-r--r--macros/latex/contrib/stex/doc/packages/document-structure.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/features.tex67
-rw-r--r--macros/latex/contrib/stex/doc/packages/hwexam.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/inheritance.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/mathhub.tex89
-rw-r--r--macros/latex/contrib/stex/doc/packages/metatheory.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/modules.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/problem.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/references.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/slides.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/sproofs.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/statements.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/symbols.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/terms.tex1
-rw-r--r--macros/latex/contrib/stex/doc/packages/tikzinput.tex1
-rw-r--r--macros/latex/contrib/stex/doc/stex-doc.pdfbin0 -> 1466792 bytes
-rw-r--r--macros/latex/contrib/stex/doc/stex-doc.tex210
-rw-r--r--macros/latex/contrib/stex/doc/stex-manual.pdfbin0 -> 670358 bytes
-rw-r--r--macros/latex/contrib/stex/doc/stex-manual.tex829
-rw-r--r--macros/latex/contrib/stex/doc/tests/Bar/Foo/meta-inf/MANIFEST.MF2
-rw-r--r--macros/latex/contrib/stex/doc/tests/Bar/Foo/source/circular2.tex15
-rw-r--r--macros/latex/contrib/stex/doc/tests/Foo/Bar/meta-inf/MANIFEST.MF2
-rw-r--r--macros/latex/contrib/stex/doc/tests/Foo/Bar/source/circular1.tex13
-rw-r--r--macros/latex/contrib/stex/doc/tests/sometest.tex3
-rw-r--r--macros/latex/contrib/stex/example/Makefile4
-rw-r--r--macros/latex/contrib/stex/example/README16
-rw-r--r--macros/latex/contrib/stex/example/background/Makefile9
-rw-r--r--macros/latex/contrib/stex/example/background/all.pdfbin57294 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/example/background/all.tex12
-rw-r--r--macros/latex/contrib/stex/example/background/functions.omdoc187
-rw-r--r--macros/latex/contrib/stex/example/background/functions.pdfbin48605 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/example/background/functions.tex22
-rw-r--r--macros/latex/contrib/stex/example/background/post.tex1
-rw-r--r--macros/latex/contrib/stex/example/background/pre.tex8
-rw-r--r--macros/latex/contrib/stex/example/background/reals.pdfbin53143 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/example/background/reals.tex20
-rw-r--r--macros/latex/contrib/stex/example/paper/Makefile8
-rw-r--r--macros/latex/contrib/stex/example/paper/continuous.pdfbin61902 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/example/paper/continuous.tex20
-rw-r--r--macros/latex/contrib/stex/example/paper/differentiable.pdfbin76785 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/example/paper/differentiable.tex16
-rw-r--r--macros/latex/contrib/stex/example/paper/intro.pdfbin96601 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/example/paper/intro.tex96
-rw-r--r--macros/latex/contrib/stex/example/paper/paper.tex148
-rw-r--r--macros/latex/contrib/stex/lib/bib/extcrossrefs.bib4181
-rw-r--r--macros/latex/contrib/stex/lib/bib/extpubs.bib40262
-rw-r--r--macros/latex/contrib/stex/lib/bib/kwarccrossrefs.bib467
-rw-r--r--macros/latex/contrib/stex/lib/bib/kwarcpubs.bib6937
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile3
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.base.in49
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.base.vars30
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.in3
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.latex.in33
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.latex.vars17
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.latexml.in43
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.latexml.vars48
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.subdirs6
-rw-r--r--macros/latex/contrib/stex/lib/make/Makefile.vars3
-rw-r--r--macros/latex/contrib/stex/lib/make/README23
-rw-r--r--macros/latex/contrib/stex/source/Makefile5
-rw-r--r--macros/latex/contrib/stex/source/extensions/Makefile24
-rw-r--r--macros/latex/contrib/stex/source/extensions/document-structure.dtx (renamed from macros/latex/contrib/stex/sty/omdoc/omdoc.dtx)846
-rw-r--r--macros/latex/contrib/stex/source/extensions/extensions.ins (renamed from macros/latex/contrib/stex/sty/modules/modules.ins)25
-rw-r--r--macros/latex/contrib/stex/source/extensions/hwexam.dtx (renamed from macros/latex/contrib/stex/sty/hwexam/hwexam.dtx)522
-rw-r--r--macros/latex/contrib/stex/source/extensions/notesslides.dtx1078
-rw-r--r--macros/latex/contrib/stex/source/extensions/problem.dtx (renamed from macros/latex/contrib/stex/sty/problem/problem.dtx)704
-rw-r--r--macros/latex/contrib/stex/source/extensions/tikzinput.dtx146
-rw-r--r--macros/latex/contrib/stex/source/stex/Makefile23
-rw-r--r--macros/latex/contrib/stex/source/stex/basics.dtx562
-rw-r--r--macros/latex/contrib/stex/source/stex/features.dtx784
-rw-r--r--macros/latex/contrib/stex/source/stex/inheritance.dtx575
-rw-r--r--macros/latex/contrib/stex/source/stex/mathhub.dtx916
-rw-r--r--macros/latex/contrib/stex/source/stex/metatheory.dtx179
-rw-r--r--macros/latex/contrib/stex/source/stex/modules.dtx824
-rw-r--r--macros/latex/contrib/stex/source/stex/others.dtx87
-rw-r--r--macros/latex/contrib/stex/source/stex/references.dtx525
-rw-r--r--macros/latex/contrib/stex/source/stex/sproof.dtx (renamed from macros/latex/contrib/stex/sty/sproof/sproof.dtx)872
-rw-r--r--macros/latex/contrib/stex/source/stex/statements.dtx908
-rw-r--r--macros/latex/contrib/stex/source/stex/stex.ins (renamed from macros/latex/contrib/stex/sty/structview/structview.ins)26
-rw-r--r--macros/latex/contrib/stex/source/stex/symbols.dtx1263
-rw-r--r--macros/latex/contrib/stex/source/stex/terms.dtx1037
-rw-r--r--macros/latex/contrib/stex/sty/cmath/README10
-rw-r--r--macros/latex/contrib/stex/sty/cmath/cmath.dtx330
-rw-r--r--macros/latex/contrib/stex/sty/cmath/cmath.ins32
-rw-r--r--macros/latex/contrib/stex/sty/cmath/cmath.pdfbin312989 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/dcm/README9
-rw-r--r--macros/latex/contrib/stex/sty/dcm/dcm.dtx505
-rw-r--r--macros/latex/contrib/stex/sty/dcm/dcm.ins33
-rw-r--r--macros/latex/contrib/stex/sty/dcm/dcm.pdfbin242319 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/hwexam/README10
-rw-r--r--macros/latex/contrib/stex/sty/hwexam/hwexam.ins35
-rw-r--r--macros/latex/contrib/stex/sty/hwexam/hwexam.pdfbin273393 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/metakeys/README9
-rw-r--r--macros/latex/contrib/stex/sty/metakeys/metakeys.dtx455
-rw-r--r--macros/latex/contrib/stex/sty/metakeys/metakeys.ins32
-rw-r--r--macros/latex/contrib/stex/sty/metakeys/metakeys.pdfbin285243 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/README9
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/beamerthemeJacobs.sty64
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/jacobs-logo.pngbin6260 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx810
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/mikoslides.ins35
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/mikoslides.pdfbin296266 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/mikoslides/shading-l2r.pngbin1732 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/modules/README19
-rw-r--r--macros/latex/contrib/stex/sty/modules/modules.dtx1674
-rw-r--r--macros/latex/contrib/stex/sty/modules/modules.pdfbin705509 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/omdoc/README11
-rw-r--r--macros/latex/contrib/stex/sty/omdoc/omdoc.ins31
-rw-r--r--macros/latex/contrib/stex/sty/omdoc/omdoc.pdfbin297847 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/omtext/README10
-rw-r--r--macros/latex/contrib/stex/sty/omtext/omtext.dtx707
-rw-r--r--macros/latex/contrib/stex/sty/omtext/omtext.ins31
-rw-r--r--macros/latex/contrib/stex/sty/omtext/omtext.pdfbin343743 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/presentation/README14
-rw-r--r--macros/latex/contrib/stex/sty/presentation/presentation.dtx1055
-rw-r--r--macros/latex/contrib/stex/sty/presentation/presentation.ins30
-rw-r--r--macros/latex/contrib/stex/sty/presentation/presentation.pdfbin379958 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/problem/README9
-rw-r--r--macros/latex/contrib/stex/sty/problem/problem.ins32
-rw-r--r--macros/latex/contrib/stex/sty/problem/problem.pdfbin252986 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/rfdmeta/README9
-rw-r--r--macros/latex/contrib/stex/sty/rfdmeta/certification.pdfbin45155 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/rfdmeta/certification.tex30
-rw-r--r--macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.dtx459
-rw-r--r--macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.ins32
-rw-r--r--macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.pdfbin309951 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/smglom/README11
-rw-r--r--macros/latex/contrib/stex/sty/smglom/smglom.dtx398
-rw-r--r--macros/latex/contrib/stex/sty/smglom/smglom.ins31
-rw-r--r--macros/latex/contrib/stex/sty/smglom/smglom.pdfbin226433 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/smultiling/README11
-rw-r--r--macros/latex/contrib/stex/sty/smultiling/smultiling.dtx599
-rw-r--r--macros/latex/contrib/stex/sty/smultiling/smultiling.ins30
-rw-r--r--macros/latex/contrib/stex/sty/smultiling/smultiling.pdfbin277487 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/sproof/README10
-rw-r--r--macros/latex/contrib/stex/sty/sproof/sproof.ins30
-rw-r--r--macros/latex/contrib/stex/sty/sproof/sproof.pdfbin331925 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/sref/README9
-rw-r--r--macros/latex/contrib/stex/sty/sref/book.pdfbin81225 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/sref/book.tex18
-rw-r--r--macros/latex/contrib/stex/sty/sref/idc.pdfbin61180 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/sref/idc.tex21
-rw-r--r--macros/latex/contrib/stex/sty/sref/idcmain.tex22
-rw-r--r--macros/latex/contrib/stex/sty/sref/scr.pdfbin71144 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/sref/scr.tex20
-rw-r--r--macros/latex/contrib/stex/sty/sref/scrmain.tex23
-rw-r--r--macros/latex/contrib/stex/sty/sref/sref.dtx869
-rw-r--r--macros/latex/contrib/stex/sty/sref/sref.ins30
-rw-r--r--macros/latex/contrib/stex/sty/sref/sref.pdfbin314040 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/statements/README9
-rw-r--r--macros/latex/contrib/stex/sty/statements/statements.dtx1304
-rw-r--r--macros/latex/contrib/stex/sty/statements/statements.ins30
-rw-r--r--macros/latex/contrib/stex/sty/statements/statements.pdfbin617858 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/stex/README6
-rw-r--r--macros/latex/contrib/stex/sty/stex/stex.dtx701
-rw-r--r--macros/latex/contrib/stex/sty/stex/stex.ins33
-rw-r--r--macros/latex/contrib/stex/sty/stex/stex.pdfbin292104 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/structview/README19
-rw-r--r--macros/latex/contrib/stex/sty/structview/structview.dtx426
-rw-r--r--macros/latex/contrib/stex/sty/structview/structview.pdfbin285941 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/tikzinput/README7
-rw-r--r--macros/latex/contrib/stex/sty/tikzinput/tikzinput.dtx223
-rw-r--r--macros/latex/contrib/stex/sty/tikzinput/tikzinput.ins32
-rw-r--r--macros/latex/contrib/stex/sty/tikzinput/tikzinput.pdfbin238100 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/sty/workaddress/README9
-rw-r--r--macros/latex/contrib/stex/sty/workaddress/workaddress.dtx478
-rw-r--r--macros/latex/contrib/stex/sty/workaddress/workaddress.ins32
-rw-r--r--macros/latex/contrib/stex/sty/workaddress/workaddress.pdfbin266119 -> 0 bytes
-rw-r--r--macros/latex/contrib/stex/tex/etc/beamernotesthemesTeX.sty14
-rw-r--r--macros/latex/contrib/stex/tex/etc/beamerthemesTeX.sty61
-rw-r--r--macros/latex/contrib/stex/tex/etc/hwexam-default.header30
-rw-r--r--macros/latex/contrib/stex/tex/etc/lststex.sty45
-rw-r--r--macros/latex/contrib/stex/tex/etc/rustex.sty67
-rw-r--r--macros/latex/contrib/stex/tex/etc/stexthm.sty45
-rw-r--r--macros/latex/contrib/stex/tex/img/cc-by-sa.png (renamed from macros/latex/contrib/stex/sty/mikoslides/cc-by-sa.png)bin5083 -> 5083 bytes
-rw-r--r--macros/latex/contrib/stex/tex/img/cc_somerights.png (renamed from macros/latex/contrib/stex/sty/mikoslides/cc_somerights.png)bin1082 -> 1082 bytes
-rw-r--r--macros/latex/contrib/stex/tex/img/dangerous-bend.png (renamed from macros/latex/contrib/stex/sty/mikoslides/dangerous-bend.png)bin2117 -> 2117 bytes
-rw-r--r--macros/latex/contrib/stex/tex/img/sTeX-logo.pngbin0 -> 26566 bytes
-rw-r--r--macros/latex/contrib/stex/tex/ldf/hwexam-finnish.ldf21
-rw-r--r--macros/latex/contrib/stex/tex/ldf/hwexam-french.ldf21
-rw-r--r--macros/latex/contrib/stex/tex/ldf/hwexam-ngerman.ldf21
-rw-r--r--macros/latex/contrib/stex/tex/ldf/hwexam-russian.ldf20
-rw-r--r--macros/latex/contrib/stex/tex/ldf/omdoc-ngerman.ldf17
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf13
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-french.ldf13
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf17
-rw-r--r--macros/latex/contrib/stex/tex/ldf/problem-russian.ldf16
-rw-r--r--macros/latex/contrib/stex/tex/ldf/sproof-finnish.ldf14
-rw-r--r--macros/latex/contrib/stex/tex/ldf/sproof-french.ldf14
-rw-r--r--macros/latex/contrib/stex/tex/ldf/sproof-ngerman.ldf13
-rw-r--r--macros/latex/contrib/stex/tex/ldf/sproof-russian.ldf13
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/README.md4
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty20
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex6
-rw-r--r--macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex6
-rw-r--r--macros/luatex/generic/luaotfload/NEWS15
-rw-r--r--macros/luatex/generic/luaotfload/README.md4
-rw-r--r--macros/luatex/generic/luaotfload/filegraph.pdfbin40024 -> 40019 bytes
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua (renamed from macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua)1955
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-basics-chr.lua234
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-basics-gen.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-basics-nod.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-cff.lua29
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-dsp.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-osd.lua636
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otc.lua353
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otl.lua32
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-oto.lua77
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-otr.lua73
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ots.lua121
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-oup.lua193
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-shp.lua4
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-font-ttf.lua276
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua10
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-l-file.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-l-io.lua10
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua12
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-l-math.lua2
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-reference.lua1836
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-util-fil.lua18
-rw-r--r--macros/luatex/generic/luaotfload/fontloader-util-str.lua59
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-colors.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-conf.pdfbin77497 -> 77690 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-configuration.lua8
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-database.lua579
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-dvi.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-embolden.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-fallback.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-features.lua101
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-filelist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-define.lua164
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua51
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua442
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua120
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua564
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-init.lua10
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-latex.pdfbin494977 -> 494376 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-letterspace.lua26
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-loaders.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-log.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-main.tex24
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-multiscript.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-notdef.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-parsers.lua6
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-resolvers.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-scripts.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-status.lua108
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-suppress.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-szss.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-t3.lua142
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.12
-rw-r--r--[-rwxr-xr-x]macros/luatex/generic/luaotfload/luaotfload-tool.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.pdfbin77067 -> 76959 bytes
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tool.rst4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-tounicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload-unicode.lua4
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.514
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.conf.rst10
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.lua13
-rw-r--r--macros/luatex/generic/luaotfload/luaotfload.sty2
-rw-r--r--macros/luatex/generic/luaotfload/scripts-demo.pdfbin21837 -> 22075 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo-graphite.pdfbin8559 -> 8560 bytes
-rw-r--r--macros/luatex/generic/luaotfload/shaper-demo.pdfbin8479 -> 8481 bytes
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.lua (renamed from macros/luatex/latex/yamlvars/YAMLvars.lua)12
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.pdf (renamed from macros/luatex/latex/yamlvars/YAMLvars.pdf)bin69229 -> 69483 bytes
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.sty (renamed from macros/luatex/latex/yamlvars/YAMLvars.sty)5
-rw-r--r--macros/luatex/latex/yamlvars/yamlvars.tex (renamed from macros/luatex/latex/yamlvars/YAMLvars.tex)10
316 files changed, 19341 insertions, 68627 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 37b1cb57a1..682a69138b 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/02/22}{1.631}
+\ProvidesExplClass{easybook}{2022/02/25}{1.632}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -303,7 +303,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/02/22}{1.631}
+\ProvidesExplPackage{easybase}{2022/02/25}{1.632}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -1038,7 +1038,7 @@
(
notbool {FN@abovefloats} and
bool {FN@fixskip} and
- test {\ifnumcomp{\FN@ORspacehandling}{=}{1}}
+ test {\ifnumcomp{\FN@bottomcases}{=}{1}}
)
}
{\msg_warning:nn { easybase } { footmisc }}{}
@@ -2272,7 +2272,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/22}{1.631}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/02/25}{1.632}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index c68e408509..77f9802048 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index d40797754d..26e858b92e 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v1.631,
- date = 2022/02/22,
+ version = v1.632,
+ date = 2022/02/25,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
diff --git a/macros/latex/contrib/stex/Makefile b/macros/latex/contrib/stex/Makefile
new file mode 100644
index 0000000000..ff0fca8451
--- /dev/null
+++ b/macros/latex/contrib/stex/Makefile
@@ -0,0 +1,5 @@
+# recurse into the directories.
+MAKEDIRS = source doc
+
+all package doc:
+ @for d in $(MAKEDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) $@) || exit $$?; done
diff --git a/macros/latex/contrib/stex/README b/macros/latex/contrib/stex/README
deleted file mode 100644
index 8e312a4a2e..0000000000
--- a/macros/latex/contrib/stex/README
+++ /dev/null
@@ -1,22 +0,0 @@
-sTeX: An Infrastructure for Semantic Preloading of LaTeX Documents
-
-This directory contains the sTeX package collection, a version of TeX/LaTeX that allows
-to markup TeX/LaTeX documents semantically without leaving the document format,
-essentially turning it into a document format for mathematical knowledge management
-(MKM).
-
-Copyright (c) 2016 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-See http://github.com/KWARC/sTeX for the project homepage and code repository.
-
-This directory organizes the sTeX packages into the following categories
-
-core: the core sTeX packages
-etc: packages and their LaTeXML bindings that are useful in the sTeX
- context and not supplied otherwise.
-experiments: experimental packages,
-obsolete: obsolete stuff, kept for backwards compatibility
-make: The makefile includes for administrating sTeX.
-
-
diff --git a/macros/latex/contrib/stex/README.md b/macros/latex/contrib/stex/README.md
new file mode 100644
index 0000000000..4d0b3afbe0
--- /dev/null
+++ b/macros/latex/contrib/stex/README.md
@@ -0,0 +1,54 @@
+sTeX: An Infrastructure for Semantic Preloading of LaTeX Documents
+====
+![CI Status](https://github.com/slatex/sTeX/workflows/CI/badge.svg)
+
+This repository contains the sTeX package collection, a version of TeX/LaTeX that allows
+to markup TeX/LaTeX documents semantically without leaving the document format,
+essentially turning it into a document format for mathematical knowledge management (MKM).
+
+## Copyright & License
+
+Copyright (c) 2022 Michael Kohlhase
+The package is distributed under the terms of the LaTeX Project Public License (LPPL)
+
+## Maintainers
+Michael Kohlhase, Dennis Müller, FAU Erlangen-Nürnberg.
+
+## Documentation
+See the
+[documentation of the sTeX package](https://github.com/slatex/sTeX/blob/main/doc/stex-manual.pdf)
+for details.
+
+## Setup
+
+The GIT version can just be cloned in a directory `<sTeXDIR>` of your choosing.
+```
+cd <sTeXDIR>
+git clone https://github.com/slatex/sTeX.git
+```
+Then update your `TEXINPUTS` environment variable, e.g. by placing the following line in your `.bashrc`:
+```
+export TEXINPUTS="$(TEXINPUTS):<sTeXDIR>//:
+```
+
+Similarly, set your `MATHHUB` environment variable to where you intend to keep your sTeX archives. For details, see the documentation linked above.
+
+For a LaTeX IDE, update the directory path where `pdflatex` looks for paths.
+For larger documents it may be necessary to enlarge the internal memory allocation of the TEX/LATEX executables. This can be done by adding the following configurations in `texmf.cnf` (or changing them, if they already exist).
+```
+param_size = 20000 % simultaneous macro parameters, also applies to MP
+nest_size = 1000 % simultaneous semantic levels (e.g., groups)
+stack_size = 10000 % simultaneous input sources
+main_memory = 12000000
+```
+Note that you will probably need `sudo` to do this. After that, you have to run the command
+```
+sudo fmtutil-sys --all
+```
+
+## Manifest
+The sTeX distribution contains the following directories (conformant with the CTAN organization
+* `source`: The [Documented LaTeX sources (dtx files)](https://texfaq.org/FAQ-dtx)
+* `tex`: packages and classes of the sTeX distribution
+* `lib`: bibTeX bibliography
+* `doc`: the sTeX manual and further documentation
diff --git a/macros/latex/contrib/stex/bin/Modparse.pm b/macros/latex/contrib/stex/bin/Modparse.pm
deleted file mode 100644
index 2fd732b063..0000000000
--- a/macros/latex/contrib/stex/bin/Modparse.pm
+++ /dev/null
@@ -1,189 +0,0 @@
-#######################################################################################
-# A module for loading .tex files and feeding the data to the various applications. #
-# Copyright (c) 2005, Ioan Sucan, released under the Gnu General Public License (GPL) #
-# see http://www.gnu.org/copyleft/gpl.html #
-# $URL: svn://kwarc.eecs.iu-bremen.de/repos/kwarc/projects/content/bin/Modparse.pm$ #
-# $Date: 2005-09-26 12:44:28 -0500 (Mon, 26 Sep 2005) $ $Rev: 4243 $ #
-#######################################################################################
-
-package Modparse;
-
-use File::Basename;
-use File::Path;
-
-# if both snippath and snippathList are specified,
-# snippathList is ignored !
-
-# if a default snippath definition file is found
-# (snippath.def) it is used if no snippath is given
-# as argument;
-sub new {
- my ($class, %options) = @_;
-
- $options{recursion} = 1 unless defined $options{recursion};
- $options{requireStatus} = 'include|exclude' unless defined $options{requireStatus};
- $options{loadInputs} = 1 unless defined $options{loadInputs};
- $options{onlyModuleLines} = 0 unless defined $options{onlyModuleLines};
-
- if ( !(%{$options{snippath}}) && (-e "snippath.def") ) {
- open(SNIPPATHDEF, 'snippath.def');
- my @snlist = <SNIPPATHDEF>;
- close(SNIPPATHDEF);
- for (my $i = 0 ; $i <= $#snlist; $i++) { chomp($snlist[$i]); }
- %{$options{snippath}} = @snlist; }
- @{$options{snippathList}} = keys(%{$options{snippath}})
- if ($options{snippath} && %{$options{snippath}});
- $options{debug} = 0;
-
- bless(\%options, $class); }
-
-sub execute{
- my ($self, $file) = @_;
-
- local *run_event = sub {
- my ($event, $arg) = @_;
- if ($self->{$event}) { $self->{$event}($arg); }
- };
-
- local *go = sub {
- my ($location, %param) = @_;
- my ($tex, $path, @tex_data) = $self->readLocation($location);
- return unless @tex_data;
- my $NL = $#tex_data+1;
-
- $param{filename} = $tex;
- $param{depth}++;
- $param{filecount}++;
- my $i = 0;
-
- $param{nextline} = sub { $tex_data[++$i]; };
- $param{prevline} = sub { $tex_data[--$i]; };
- $param{rewriteline}= sub { $tex_data[$i] = $_[0]; };
-
- print "Processing $tex...\n" if $self->{verbose};
- run_event('onBeginFile', \%param);
-
- while ($i<$NL){
- $param{original} = $tex_data[$i];
- $_ = $tex_data[$i]; chomp; /([^%]*)((%.*)?)/;
- ($param{tex}, $param{comment}) = ($1, $2); $_ = $1;
- s/\s+//g; $param{simple_tex} = $_;
-
- if (/\\begin\{module\}(\[([^\]]*)\])?/) {
- if ($param{in_module}) {
- push(@{$param{module_stack}}, [$param{module_id}, $param{module_arg}]); }
- $param{in_module} = 1;
- $param{module_args} = $1 ? $2 : undef;
- $param{module_id} = ($param{module_args} &&
- $param{module_args} =~ /id=([^\],]+)/) ? $1 : undef;
- $param{module_nesting}++;
- run_event('onBeginModule', \%param); }
-
- if (/\\end\{module\}/) {
- run_event('onEndModule', \%param);
- if ($#{$param{module_stack}} >= 0) {
- ($param{module_id}, $param{module_args}) = @{pop(@{$param{module_stack}})};
- } else {
- $param{in_module} = 0;
- ($param{module_id}, $param{module_args}) = (undef, undef); }
- $param{module_nesting}--;
- }
-
- foreach my $srch_snippath(@{$self->{snippathList}}){
- $self->{snippath}{$srch_snippath} = $1
- if (/\\def\\$srch_snippath\#1\{([^\#]+)\#1\}$/); }
-
- if ($self->{follow} && (/\\((requiremodules(\[($self->{requireStatus})\])?)|input|include)\{([^\}]+)\}/)){
- my $req_filename = $5; my $req_spath = ''; my $command = $1;
- my $is_require = ($command =~ /requiremodules/) ? 1 : 0;
- if ($is_require || $self->{loadInputs}) {
- foreach my $srch_snippath(@{$self->{snippathList}}){
- if ($req_filename =~ /\\$srch_snippath\{(.+)/){
- ($req_spath, $req_filename) = ($self->{snippath}{$srch_snippath}, $1);
- last; }}
- run_event('onRecurse', \%param);
- if ($self->{recursion} || !$is_require) {
- go($self->makeLocation($req_filename, $path, $req_spath), %param); }
- }
- }
- run_event('onEveryLine', \%param) if ($param{in_module} || !$self->{onlyModuleLines});
-
- last if (/\\end\{document\}/ && $self->{stopAtEnd});
- $i++;
- }
- run_event('onEndFile', \%param);
- $param{depth}--; return;
- };
-
- my %param = (pack=>$self, perm=>$self->{_AUX_DATA}, depth=>0, filecount=>0,
- in_module=>0, module_nesting=>0);
- run_event('onBegin', \%param);
- go($self->makeLocation($file), %param);
- run_event('onEnd', \%param);
- return;
-}
-
-
-# add a [.tex] extension to the filename
-sub add_ext{
- my ($self, $fn, $ext) = @_;
- $ext = '.tex' unless $ext;
- $fn.=$ext if $fn !~ /\Q$ext\E$/;
- $fn; }
-
-# as long as the extension is .tex, drop it
-sub drop_ext{
- my ($self, $filename) = @_;
- while ($filename =~ /\.tex$/){
- while ($filename !~ /\.$/ ) { chop($filename); }
- chop($filename); }
- $filename; }
-
-sub new_ext{
- my ($self, $filename, $ext) = @_;
- $self->add_ext($self->drop_ext($filename), $ext); }
-
-# location = pointer to array of strings
-# first element is filename; next are possible paths
-sub makeLocation{ my $self = shift; return \@_; }
-
-# read a location into an array of strings
-# aslo return filename and path to it (just in
-# case some changes were made to it, like adding
-# extension and/or relative paths)
-sub readLocation{
- my ($self, $location) = @_;
-
- my ($filename, @paths) = @{$location};
- # try to add proper extension;
- my $filename_ext = $self->new_ext($filename) unless -e $filename;
- $filename = $filename_ext if $filename_ext && -e $filename_ext;
-
- # try search paths
- if (! -e $filename){
- my $all_p = '';
- foreach my $p(@paths){
- $all_p .= $p;
- $filename = $all_p.$filename and last if -e $all_p.$filename;
- $filename = $p.$filename and last if -e $p.$filename;
- if ($filename_ext){
- $filename = $all_p.$filename_ext and last if -e $all_p.$filename_ext;
- $filename = $p.$filename_ext and last if -e $p.$filename_ext; }
- }}
- # don't do the same work too many times
- foreach my $file(@{$self->{loadedFiles}})
- { return undef if $file eq $filename; }
-
- push(@{$self->{loadedFiles}}, $filename);
- open(FIN, $filename) or die "Cannot open '$filename'\n";
- my @data = <FIN>;
- close(FIN);
-
- # find path of current file
- my $path = dirname($filename);
- $path.='/' if ($path ne '');
-
- return ($filename, $path, @data);
-}
-
-1;
diff --git a/macros/latex/contrib/stex/bin/README b/macros/latex/contrib/stex/bin/README
deleted file mode 100644
index d548decafc..0000000000
--- a/macros/latex/contrib/stex/bin/README
+++ /dev/null
@@ -1,50 +0,0 @@
-This directory contains the binaries for sTeX. We have four utilities and a perl libray.
-- sms generates sTeX module signatures
-- filedate and checksum are for managing metadata in the
- DTX files of the sTeX distribution
-- installFonts.sty is for chinese font support.
-
-============== Details =================
-
-sms
- "genreate sTeX Module Signatures"
-
-Usage:
- sms [options]
-
-Options:
- --input <filename> .tex file to split; default stdin
- --verbose verbose on
- --stop stop when \end{document} is found, not at EOF
- --help show help screen
-
-Generate .sms file from .tex file given at input; .sms files contain only the modules and
-the macros defined within, no other text.
-
-Example usage:
-./sms -i slides.tex -s
-
-Interpretation: "Generate the slides.sms file for slides.tex; Stop when \end{document} is found."
-
-
-checksum
- "enable, update, and disable checksums in DTX files"
-
-Usage:
- checksum [options]
-
-Options:
- -- disable disable the checksum by wrapping in \iffalse ... \fi
- -- enable remove those again
- -- update update to the correct checksum
-
-
-filedate <input filename> <newdate>
-
-Purpose:
- Update the dates for a \ProvidePackage invocation in a given .dtx source
-
-Example:
- filedate omdoc.dtx
-
-
diff --git a/macros/latex/contrib/stex/bin/checksum b/macros/latex/contrib/stex/bin/checksum
deleted file mode 100755
index 9f0e533a8d..0000000000
--- a/macros/latex/contrib/stex/bin/checksum
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/usr/bin/perl -w
-#######################################################################################
-# A tool for updating .dtx files with a correspodning checksum counter #
-# Copyright (c) 2010, Deyan Ginev, released under the Gnu General Public License (GPL)#
-# see http://www.gnu.org/copyleft/gpl.html #
-# $URL: https://svn.kwarc.info/repos/stex/trunk/bin/checksum$ #
-#######################################################################################
-
-use strict;
-
-use Getopt::Long;
-use Modparse;
-use Pod::Usage;
-use Cwd qw(abs_path);
-
-####### start of program #######
-my $mode = "update"; #Default is update
-my $action = { "update" => \&update, "disable" => \&disable, "enable"=>\&enable };
-GetOptions("disable" => sub { $mode="disable"; },
- "enable" => sub { $mode="enable"; },
- "update" => sub { $mode="update"; });
-
-
-my ($path) = @ARGV;
-$path = abs_path($path);
-my ($volume,$dir,$file) = File::Spec->splitpath( $path );
-my @lines = `cd $dir; pdflatex "\\nonstopmode\\input{$file}"` if ($mode eq "update");
-my ($checksum) = map {$_=~/^\* The checksum should be (\d+)!/; $1;} grep ($_ =~ /^\* The checksum should be (\d+)!/,@lines) if @lines;
-if (!$checksum) {
-#One more possible error message:
- ($checksum) = map {$_=~/^! Package doc Error: Checksum not passed \((\d+)<>(\d+)\)\./; $2;} grep ($_ =~ /^! Package doc Error: Checksum not passed \((\d+)<>(\d+)\)\./,@lines) if @lines;
-}
-open(IN,"<$path") or die "Cannot open DTX source: $path\n";
-@lines = ();
-while (<IN>) {
- push @lines, &{$$action{$mode}}($_,$checksum);
-}
-close(IN);
-open(OUT,">$path") or die "Cannot write to DTX target: $path\n";
-print OUT join("",@lines);
-close(OUT);
-######### Subroutines ############
-sub update {
- my $checksum=$_[1];
- $_[0]=~s/\\CheckSum\{\d*\}/\\CheckSum{$checksum}/ if $checksum;
- $_[0];
-}
-
-sub disable {
- $_[0]=~s/\\CheckSum\{(\d*)\}/\\iffalse\\CheckSum\{$1}\\fi/ unless $_[0]=~/\\iffalse\\CheckSum\{(\d*)\}\\fi/;
- $_[0];
-}
-
-sub enable {
- $_[0]=~s/\\iffalse\\CheckSum\{(\d*)\}\\fi/\\CheckSum{$1}/;
- $_[0];
-}
-
-
-__END__
-
-
-=head1 SYNOPSIS
-
-checksum <input filename> --update|enable|disable
-
-Purpose:
- Update, enable or disable the \CheckSum macro for a given .dtx source
-
-Example:
- checksum omd.dtx --update
diff --git a/macros/latex/contrib/stex/bin/filedate b/macros/latex/contrib/stex/bin/filedate
deleted file mode 100755
index af49b6550d..0000000000
--- a/macros/latex/contrib/stex/bin/filedate
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/perl -w
-#######################################################################################
-# A tool for updating .dtx files with a given package date. #
-# Copyright (c) 2010, Deyan Ginev, released under the Gnu General Public License (GPL)#
-# see http://www.gnu.org/copyleft/gpl.html #
-# $URL: https://svn.kwarc.info/repos/stex/trunk/bin/filedate$ #
-#######################################################################################
-
-use strict;
-
-use Getopt::Long;
-use Modparse;
-use Pod::Usage;
-use Cwd qw(abs_path);
-
-my ($file) = @ARGV;
-my $date = `git log --format='%ai' $file`;
-$date = substr($date, 0, index($date, ' '));
-$date =~ s/-/\//g;
-$file = abs_path($file);
-open(IN,"<$file");
-my @lines = ();
-while (<IN>) {
- if ($_ =~ /\\Provides(Package|Class)/) {
- $_ =~ s/\[(.*?)\s/\[$date /;
- }
- push @lines, $_;
-}
-close(IN);
-open(OUT,">$file");
-print OUT join("",@lines);
-close(OUT);
-
-__END__
-
-
-=head1 SYNOPSIS
-
-filedate <input filename> <newdate>
-
-Purpose:
- Update the dates for a \ProvidePackage invocation in a given .dtx source
-
-Example:
- filedate omdoc.dtx
diff --git a/macros/latex/contrib/stex/bin/installFonts.sh b/macros/latex/contrib/stex/bin/installFonts.sh
deleted file mode 100755
index a9a6b1bb30..0000000000
--- a/macros/latex/contrib/stex/bin/installFonts.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-# execute as root (via sudo)
-fontdir="$(dirname $0)/../lib/fonts"
-mkdir -p /usr/share/fonts/opentype/Fandol
-mkdir -p /usr/share/fonts/truetype/cwTeX
-cp "${fontdir}/FandolFang-Regular.otf" /usr/share/fonts/opentype/Fandol/
-cp "${fontdir}/cwTeXQKai-Medium.ttf" /usr/share/fonts/truetype/cwTeX/
-exec fc-cache
diff --git a/macros/latex/contrib/stex/bin/sms b/macros/latex/contrib/stex/bin/sms
deleted file mode 100755
index 5ea7a1afa9..0000000000
--- a/macros/latex/contrib/stex/bin/sms
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/perl -w
-#######################################################################################
-# A tool for creating STeX Module Signatures (SMS) files. #
-# Copyright (c) 2005, Ioan Sucan; (c) 2010, Deyan Ginev,
-# released under the Gnu General Public License (GPL) #
-# see http://www.gnu.org/copyleft/gpl.html #
-# $URL: svn://kwarc.eecs.iu-bremen.de/repos/kwarc/projects/content/bin/sms$ #
-# $Date: 2006-10-22 20:01:47 +0200 (Sun, 22 Oct 2006) $ $Rev: 10669 $ #
-#######################################################################################
-
-use strict;
-use File::Spec::Functions qw(rel2abs);
-use File::Basename;
-use lib dirname(rel2abs($0)); #Assumption: Modparse is in the same folder as the sms binary.
-use Getopt::Long;
-use Modparse;
-use Pod::Usage;
-
-my $input = "-", my $verbose=0, my $stop_at_end=0; my $follow=0;
-my %arg_snippath; my @snippathList;
-
-# match {,} brackets that are not comments or special characters
-sub match{
- my $data = shift;
- my $b = 0, my $i = 0, my $ignore = 0 ;
- foreach (split('',$data)){
- $i++;
- if ($ignore == 1){
- $ignore = 0;
- next;
- }
- if ($ignore == 2){
- next if $_ ne "\n";
- $ignore = 0;
- next;
- }
- if ($_ eq "\\"){
- $ignore = 1;
- next;
- }
- if ($_ eq '%'){
- $ignore = 2;
- next;
- }
- $b++ if $_ eq '{';
- $b-- if $_ eq '}';
- return (substr($data,0,$i),substr($data,$i,length($data)-$i+1)) if !$b;
- }
- return ('',$data);
-}
-
-
-####### start of program #######
-
-GetOptions("verbose" => sub { $verbose=1; },
- "stop" => sub { $stop_at_end=1; },
- "path=s" => \%arg_snippath,
- "defpath=s" => \@snippathList,
- "help" => sub { pod2usage(2)},
- "follow" => sub { $follow=1; });
-
-$input = $ARGV[0] if ($#ARGV>=0);
-
-my $mp = Modparse->new(snippathList=>\@snippathList,
- snippath=>\%arg_snippath,
- stopAtEnd=>$stop_at_end,
- verbose=>$verbose,
- follow=>$follow,
- recursion=>0,
- onBeginFile=>sub { @{$_[0]->{'sms'.$_[0]->{depth}}}=(); },
- onBeginModule=>sub { push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original});
- @{$_[0]->{'sms'.$_[0]->{depth}}}[-1] =~ s/\n$/%\n/; },
- onEndModule=>sub { push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original});
- @{$_[0]->{'sms'.$_[0]->{depth}}}[-1] =~ s/\n$/%\n/ },
- onRecurse=>sub {
- my $recurse = $_[0]->{original};
- $recurse =~ s/include/exclude/g;
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $recurse); },
- onEndFile=>sub {
- my $file = $_[0]->{pack}->new_ext($_[0]->{filename},'.sms');
- open(FOUT, ">$file") or die "Cannot write $file\n";
- print FOUT @{$_[0]->{'sms'.$_[0]->{depth}}};
- close(FOUT);
- `touch $file` unless @{$_[0]->{'sms'.$_[0]->{depth}}};
- print "Wrote $file\n" if $verbose; },
- onEveryLine=>sub {
- my @lines = @{$_[0]->{'sms'.$_[0]->{depth}}};
- if ($_[0]->{in_module}){
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original})
- if ($_[0]->{simple_tex} =~ /\\(symvariant|(sym|abbr|ell|key|listkey)def)\{([^\}]+)\}/ ||
- $_[0]->{simple_tex} =~ /\\symdef\[([^\]]+)\]/);
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original})
- if ($_[0]->{simple_tex} =~ /\\(importmodule|gimport|adoptmodule)/);
- if ($_[0]->{simple_tex} =~ /\\begin{importmodulevia}/) {
- my $impvia = $_[0]->{original};
- $impvia =~ s/\\begin\{importmodulevia\}/\\importmodule/g;
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $impvia);
- }
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original})
- if ($_[0]->{simple_tex} =~ /\\importOMDocmodule/);
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original})
- if ($_[0]->{simple_tex} =~ /\\requiremodules/);
- push(@{$_[0]->{'sms'.$_[0]->{depth}}}, $_[0]->{original})
- if ($_[0]->{simple_tex} =~ /\\requirepackage/);
- if ((/\\STRlabel\{([^\}]+)\}(\{.*)/) || (/\\STRsemantics\[([^\]]+)\](\{.*)/)){
- my ($label, $line) = ($1, "$2 $_[0]->{comment}");
- my ($matched, $rest) = (undef, undef);
- while (1) {
- ($matched, $rest) = match($line);
- last if $matched;
- $line.=$_[0]->{nextline}(); }
- $_[0]->{rewriteline}($rest) if $rest;
- $line = "\\STRlabeldef{$label}$matched"; chomp($line);
- map(push(@{$_[0]->{'sms'.$_[0]->{depth}}},"$_\n"),split("\n",$line));
- }
- @{$_[0]->{'sms'.$_[0]->{depth}}}[-1] =~ s/\n$/%\n/
- if (@lines < @{$_[0]->{'sms'.$_[0]->{depth}}});
- }} );
-
-$mp->execute($input);
-
-print "Done.\n" if $verbose;
-
-
-__END__
-
-
-=head1 SYNOPSIS
-
-sms <input filename> [options]
-
-Options:
-
- --verbose verbose on
- --stop stop when \end{document} is found; default is to go on
- --follow demands following \input|include|require statements (default:off)
- --path XXX=somePath specify the value of \XXX (some snippath) in case it is
- not defined in the processed .tex file
- --defpath XXX specify which \XXX (snippath definitions) to look for
- --help this screen
-
-Purpose:
- Generate .sms files (STeX Module Signatures) from .tex files
-
-Example:
- sms slides.tex -v
diff --git a/macros/latex/contrib/stex/doc/Makefile b/macros/latex/contrib/stex/doc/Makefile
new file mode 100644
index 0000000000..b727f2f94d
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/Makefile
@@ -0,0 +1,26 @@
+STY = stex extensions
+SPATH = $(STY:%=../source/%)
+DTX = $(shell ls $(SPATH:%=%/*.dtx))
+INS = $(shell ls $(SPATH:%=%/*.ins))
+DOC = stex-doc.pdf stex-manual.pdf
+TEXDIR = ../tex
+TEXINPUTS = $(TEXDIR)//:
+
+PDFLATEX = pdflatex -interaction=batchmode
+
+all: pack doc
+
+doc: $(DOC)
+
+package:
+
+pack: $(DTX) $(INS)
+ @for i in $(SPATH); do cd $$i; make package; done
+
+$(DOC): %.pdf: %.tex pack
+ $(PDFLATEX) $<
+ biber -q $(basename $<)
+ $(PDFLATEX) $<
+
+echo:
+ @echo $(SPATH)
diff --git a/macros/latex/contrib/stex/doc/abstract.tex b/macros/latex/contrib/stex/doc/abstract.tex
new file mode 100644
index 0000000000..445bbf064a
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/abstract.tex
@@ -0,0 +1,10 @@
+\begin{abstract}
+ \sTeX is a collection of {\LaTeX} package that allow to markup documents semantically without leaving the document format, essentially turning {\LaTeX} into a document format for mathematical knowledge management (MKM).
+
+ \sTeX augments {\LaTeX} with
+ \begin{itemize}
+ \item \emph{Semantic macros} that denote and distinguish between mathematical concepts, operators, etc. independent of their notational presentation,
+ \item A powerful \emph{module system} that allows for authoring and importing individual fragments containing document text and/or semantic macros, independent of -- and without hard coding -- directory paths relative to the current document,
+ \item A mechanism for exporting \sTeX documents to (modular) XHTML, preserving all the semantic information for semantically informed knowledge management services.
+ \end{itemize}
+\end{abstract}
diff --git a/macros/latex/contrib/stex/doc/docheader.tex b/macros/latex/contrib/stex/doc/docheader.tex
new file mode 100644
index 0000000000..d0f13e90b3
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/docheader.tex
@@ -0,0 +1,355 @@
+\RequirePackage{paralist}
+\documentclass[full,kernel]{l3doc}
+\usepackage[dvipsnames]{xcolor}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\RequirePackage{morewrites}
+\RequirePackage{tikzinput}
+\usetikzlibrary{fit}
+
+\usepackage[debug=all,lang=en, mathhub=./tests]{stex}
+\usepackage{url,array,float,textcomp}
+\usepackage[show]{ed}
+\usepackage[hyperref=auto,style=alphabetic]{biblatex}
+\addbibresource{\bibfolder/kwarcpubs.bib}
+\addbibresource{\bibfolder/extpubs.bib}
+\addbibresource{\bibfolder/kwarccrossrefs.bib}
+\addbibresource{\bibfolder/extcrossrefs.bib}
+\usepackage{amssymb}
+\usepackage{amsfonts}
+\usepackage{xspace}
+\usepackage{hyperref}
+
+\makeindex
+\floatstyle{boxed}
+\newfloat{exfig}{thp}{lop}
+\floatname{exfig}{Example}
+
+\usepackage{listings}
+
+\ExplSyntaxOn
+
+\keys_define:nn { stex-tests } {
+ do .bool_set:N = \stex_dtx_tests_bool
+}
+
+\ProcessKeysOptions { stex-tests }
+
+\prg_new_conditional:Nnn \stex_indtx: { T } {
+ \bool_if:NTF \stex_dtx_tests_bool
+ \prg_return_true: \prg_return_false:
+}
+
+\ExplSyntaxOff
+
+\lstdefinestyle{mylatex}{
+ keywordstyle=\color{BurntOrange}
+}
+\lstdefinelanguage{mylatex}{
+ emphstyle=\underbar,
+ alsodigit={:},
+ %alsoletter={_},
+ alsoletter={\\}
+ sensitive=true,
+ classoffset=0,keywordstyle=\bfseries,
+ morekeywords={\\begin,\\end,\\ExplSyntaxOn,\\ExplSyntaxOff},
+ classoffset=1,keywordstyle=\color{blue},
+ morekeywords={
+ \\symdecl,
+ \\symdef,
+ \\notation,
+ \\abbrdef,
+ \\importmodule,
+ \\usemodule,
+ \\STEXwithbrackets,
+ \\symref
+ },
+ classoffset=2,keywordstyle=\color{Purple},
+ morekeywords={
+ \\stex_path_from_string:Nn,
+ \\stex_path_to_string:NN,
+ \\stex_path_to_string:N,
+ \\stex_require_repository:n,
+ \\stex_modules_current_namespace:,
+ \\stex_debug:n,
+ \\stex_set_current_repository:n,
+ \\stex_file_in_smsmode:nn,
+ \\stex_get_symbol:n,
+ },
+ classoffset=3,keywordstyle=\color{SkyBlue},
+ morekeywords={
+ \\l_stex_modules_ns_str,
+ \\g_stex_currentfile_seq,
+ \\l_stex_current_module_prop,
+ \\l_stex_get_symbol_uri_str,
+ }
+ classoffset=0,
+%^^A morecomment=[l][\color{Gray}]{//},
+%^^A morecomment=[s][\color{Gray}]{/*}{*/},
+ morecomment=[s][\color{Green}]{$}{$},,
+ morecomment=[s][\color{OliveGreen}]{\\[}{\\]},
+%^^A morestring=[b][\color{Purple}]\$,
+}
+\lstnewenvironment{latexcode}[1][language=mylatex]{\lstset{language=mylatex,basicstyle=\tiny,inputencoding=utf8,#1,alsoletter={\\,*},alsoother={\$}}}{}
+
+
+
+\usepackage{mdframed,realboxes}
+\usepackage[most]{tcolorbox}
+\usepackage{caption}
+
+\newenvironment{framed}{\begin{mdframed}\begin{center}}{\end{center}\end{mdframed}}
+\newcommand{\scaled}[2][0.9\hsize]{\begin{center}\resizebox{#1}{!}{\begin{minipage}{\textwidth} #2 \end{minipage}}\end{center}}
+
+\newenvironment{stextest@output}
+{
+ \begin{mdframed}[linewidth=1pt,backgroundcolor=white]\tiny
+}
+{\end{mdframed}}
+
+\newenvironment{stextest@input}
+{
+ \begin{mdframed}[linewidth=1pt,backgroundcolor=lightgray]\tiny
+}
+{\end{mdframed}}
+
+\makeatletter
+
+\newcount\test@counter\test@counter=0
+\newcount\example@counter\example@counter=0
+
+\newenvironment{stextest@border}
+{
+ \global\advance\test@counter by 1
+ \newtcolorbox{stextestborderbox}{
+ empty,
+ title={Test \the\test@counter},
+ attach boxed title to top left,
+ minipage boxed title,
+ boxed title style={empty,size=minimal,toprule=0pt,top=4pt,left=3mm,overlay={}},
+ coltitle=red,fonttitle=\bfseries,
+ before=\par\medskip\noindent,parbox=false,boxsep=0pt,left=3mm,right=0mm,top=2pt,breakable,pad at break=0mm,
+ before upper=\csname @totalleftmargin\endcsname0pt,
+ overlay unbroken={\draw[red,line width=2pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
+ overlay first={\draw[red,line width=2pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
+ overlay middle={\draw[red,line width=2pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },
+ overlay last={\draw[red,line width=2pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },
+ }
+%^^A\refstepcounter{remark}
+\begin{stextestborderbox}\small
+}
+{\end{stextestborderbox}}
+
+\newenvironment{example@border}
+{
+ \global\advance\example@counter by 1
+ \newtcolorbox{exampleborderbox}{
+ empty,
+ title={Example \the\example@counter},
+ attach boxed title to top left,
+ minipage boxed title,
+ boxed title style={empty,size=minimal,toprule=0pt,top=1pt,left=3mm,overlay={}},
+ coltitle=blue,fonttitle=\bfseries,
+ parbox=false,boxsep=0pt,left=3mm,right=0mm,top=2pt,breakable,pad at break=0mm,
+ before upper=\csname @totalleftmargin\endcsname0pt,
+ overlay unbroken={\draw[blue,line width=2pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
+ overlay first={\draw[blue,line width=2pt] ([xshift=-0pt]title.north west) -- ([xshift=-0pt]frame.south west); },
+ overlay middle={\draw[blue,line width=2pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },
+ overlay last={\draw[blue,line width=2pt] ([xshift=-0pt]frame.north west) -- ([xshift=-0pt]frame.south west); },
+ }
+%^^A\refstepcounter{remark}
+\begin{exampleborderbox}\small
+}
+{\end{exampleborderbox}}
+
+ \makeatother
+
+\def\present#1{\texttt{>>\meaning#1<<}}
+\def\printltx#1{\texttt{\detokenize{#1}}}
+
+\newwrite\testoutfile
+\def\testfile{0}
+
+\ExplSyntaxOn
+
+\AddToHook{begindocument}{
+ \stex_indtx:T {
+ \newwrite\alltestsoutfile
+ \immediate\openout\alltestsoutfile=alltests.tst
+ }
+}
+
+ \def\stextest{
+ \begingroup
+ \catcode`\\=12\relax
+ \catcode`\#=12\relax
+ \catcode`\&=12\relax
+ \catcode`\$=12\relax
+ \catcode`\^=12\relax
+ \catcode`\_=12\relax
+ \catcode`^^J=12\relax
+ \endlinechar=`^^J
+ \newlinechar=-1
+%^^A \everyeof{\noexpand}
+ \test_a:n
+ }
+ \long\def \test_a:n #1 {
+ \endgroup
+ \stex_indtx:T {
+ \immediate\write\alltestsoutfile{%
+ ^^J\c_backslash_str stextest{\detokenize{^^J^^J#1^^J}}^^J
+ }
+ }
+ \begin{stextest@border}
+ \immediate\openout\testoutfile=stextest.tst
+ \immediate\write\testoutfile{
+ \c_backslash_str begin{latexcode}
+ \detokenize{^^J^^J#1^^J}
+ \c_backslash_str end{latexcode}
+ }
+ \immediate\closeout\testoutfile
+ \begin{stextest@input}
+ \catcode`\#=12\relax
+ \input{stextest.tst}
+ \end{stextest@input}
+ \immediate\openout\testoutfile=stextest.tst
+ \immediate\write\testoutfile{\detokenize{#1}}
+ \immediate\closeout\testoutfile
+ \stex_indtx:T {
+ \begin{stextest@output}
+ \input{stextest.tst}
+ \end{stextest@output}
+ }
+ \end{stextest@border}
+ }
+
+ \def\stexexample{
+ \begingroup
+ \catcode`\\=12\relax
+ \catcode`\#=12\relax
+ \catcode`\&=12\relax
+ \catcode`\$=12\relax
+ \catcode`\^=12\relax
+ \catcode`\_=12\relax
+ \catcode`^^J=12\relax
+ \endlinechar=`^^J
+ \newlinechar=-1
+%^^A \everyeof{\noexpand}
+ \example_a:n
+ }
+ \long\def \example_a:n #1 {
+ \endgroup
+ \begin{example@border}
+ \immediate\openout\testoutfile=stextest.tst
+ \immediate\write\testoutfile{
+ \c_backslash_str begin{latexcode}
+ \detokenize{^^J}#1
+ \c_backslash_str end{latexcode}
+ }
+ \immediate\closeout\testoutfile
+ \begin{stextest@input}
+ \catcode`\#=12\relax
+ \input{stextest.tst}
+ \end{stextest@input}
+ \immediate\openout\testoutfile=stextest.tst
+ \immediate\write\testoutfile{#1}
+ \immediate\closeout\testoutfile
+ \begin{stextest@output}
+ \input{stextest.tst}
+ \end{stextest@output}
+ \end{example@border}
+ }
+
+ \long\def\test#1{}
+
+\ExplSyntaxOff
+
+
+\MakeShortVerb{\|}
+
+\def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}\xspace}
+\def\mmt{\textsc{Mmt}\xspace}
+\def\xml{\scsys{Xml}}
+\def\mathml{\scsys{MathML}}
+\def\omdoc{\scsys{OMDoc}}
+\def\openmath{\scsys{OpenMath}}
+\def\latexml{\scsys{LaTeXML}}
+\def\perl{\scsys{Perl}}
+\def\cmathml{Content-{\sc MathML}\index{Content {\sc MathML}}\index{MathML@{\sc MathML}!content}}
+\def\activemath{\scsys{ActiveMath}}
+\def\twin#1#2{\index{#1!#2}\index{#2!#1}}
+\def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
+\def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
+\def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
+\def\cT{\mathcal{T}}\def\cD{\mathcal{D}}
+
+\def\fileversion{3.0}
+\def\filedate{\today}
+
+\RequirePackage{pdfcomment}
+
+\ExplSyntaxOn\makeatletter
+\cs_set_protected:Npn \@comp #1 #2 {
+ \pdftooltip {
+ \textcolor{blue}{#1}
+ } { #2 }
+}
+
+\cs_set_protected:Npn \@defemph #1 #2 {
+ \pdftooltip {
+ \textbf{\textcolor{magenta}{#1}}
+ } { #2 }
+}
+
+\def\__omtext_lec#1{#1}
+\cs_new_protected:Npn \lec #1 {
+ \strut\hfil\strut\null\hfill\__omtext_lec{#1}
+}
+\makeatother\ExplSyntaxOff
+
+\makeatletter
+\let\@stex@oldcomment\comment
+\let\@stex@oldendcomment\endcomment
+
+%\RequirePackage{comment}
+\RequirePackage{document-structure}
+\RequirePackage[hints,solutions,notes]{problem}
+\RequirePackage{hwexam}
+
+\let\comment\@stex@oldcomment
+\let\endcomment\@stex@oldendcomment
+
+\newif\ifinfulldoc\infulldocfalse
+\makeatother
+
+\def\basedocurl{https://github.com/slatex/sTeX/blob/latex3/doc}
+\newcounter{module}
+
+\NewDocumentEnvironment {module}{}{
+ \stepcounter{module}
+ \textbf{Module \themodule: \smoduletitle}
+}{
+
+}
+\stexpatchmodule{\begin{module}}{\end{module}}
+
+\def\compemph#1{\textcolor{blue}{#1}}
+\def\symrefemph#1{\textcolor{green}{#1}}
+
+\RequirePackage{pdfcomment}
+\makeatletter
+\protected\def\compemph@uri#1#2{%
+ \pdftooltip{%
+ \srefsymuri{#2}{\compemph{#1}}%
+ }{%
+ URI: \detokenize{#2}%
+ }%
+}
+\protected\def\symrefemph@uri#1#2{%
+ \pdftooltip{%
+ \srefsymuri{#2}{\symrefemph{#1}}%
+ }{%
+ URI: \detokenize{#2}%
+ }%
+}
+\makeatother \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/basics.tex b/macros/latex/contrib/stex/doc/packages/basics.tex
new file mode 100644
index 0000000000..daa6d6418d
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/basics.tex
@@ -0,0 +1,16 @@
+Both the \pkg{stex} package and document class offer the following
+options:
+
+\begin{description}
+ \item[\texttt{lang}] (\meta{language}$\ast$) Languages
+ to load with the \pkg{babel} package.
+ \item[\texttt{mathhub}] (\meta{directory}) MathHub folder
+ to search for repositories.
+ \item[\texttt{sms}] (\meta{boolean}) use \emph{persisted}
+ mode (not yet implemented).
+ \item[\texttt{image}] (\meta{boolean}) passed on to
+ \pkg{tikzinput}.
+ \item[\texttt{debug}] (\meta{log-prefix}$\ast$) Logs debugging
+ information with the given prefixes to the terminal,
+ or all if |all| is given.
+\end{description} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/document-structure.tex b/macros/latex/contrib/stex/doc/packages/document-structure.tex
new file mode 100644
index 0000000000..1c8fe97dac
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/document-structure.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: document-structure documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/features.tex b/macros/latex/contrib/stex/doc/packages/features.tex
new file mode 100644
index 0000000000..e70bbaa0e8
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/features.tex
@@ -0,0 +1,67 @@
+Given modules:
+
+\stexexample{
+ \begin{smodule}{magma}
+ \symdef{universe}{\comp{\mathcal U}}
+ \symdef{operation}[args=2,op=\circ]{#1 \comp\circ #2}
+ \end{smodule}
+ \begin{smodule}{monoid}
+ \importmodule{magma}
+ \symdef{unit}{\comp e}
+ \end{smodule}
+ \begin{smodule}{group}
+ \importmodule{monoid}
+ \symdef{inverse}[args=1]{{#1}^{\comp{-1}}}
+ \end{smodule}
+}
+
+We can form a module for \emph{rings} by ``cloning''
+an instance of |group| (for addition) and |monoid| (for multiplication),
+respectively, and ``glueing them together'' to ensure they share the
+same universe:
+
+\stexexample{
+ \begin{smodule}{ring}
+ \begin{copymodule}{group}{addition}
+ \renamedecl[name=universe]{universe}{runiverse}
+ \renamedecl[name=plus]{operation}{rplus}
+ \renamedecl[name=zero]{unit}{rzero}
+ \renamedecl[name=uminus]{inverse}{ruminus}
+ \end{copymodule}
+ \notation*{rplus}[plus,op=+,prec=60]{#1 \comp+ #2}
+ %\setnotation{rplus}{plus}
+ \notation*{rzero}[zero]{\comp0}
+ %\setnotation{rzero}{zero}
+ \notation*{ruminus}[uminus,op=-]{\comp- #1}
+ %\setnotation{ruminus}{uminus}
+ \begin{copymodule}{monoid}{multiplication}
+ \assign{universe}{\runiverse}
+ \renamedecl[name=times]{operation}{rtimes}
+ \renamedecl[name=one]{unit}{rone}
+ \end{copymodule}
+ \notation*{rtimes}[cdot,op=\cdot,prec=50]{#1 \comp\cdot #2}
+ %\setnotation{rtimes}{cdot}
+ \notation*{rone}[one]{\comp1}
+ %\setnotation{rone}{one}
+ Test: $\rtimes a{\rplus c{\rtimes de}}$
+ \end{smodule}
+}
+
+\textcolor{red}{TODO: explain donotclone}
+
+
+\stexexample{
+ \begin{smodule}{int}
+ \symdef{Integers}{\comp{\mathbb Z}}
+ \symdef{plus}[args=2,op=+]{#1 \comp+ #2}
+ \symdef{zero}{\comp0}
+ \symdef{uminus}[args=1,op=-]{\comp-#1}
+
+ \begin{interpretmodule}{group}{intisgroup}
+ \assign{universe}{\Integers}
+ \assign{operation}{\plus!}
+ \assign{unit}{\zero}
+ \assign{inverse}{\uminus!}
+ \end{interpretmodule}
+ \end{smodule}
+} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/hwexam.tex b/macros/latex/contrib/stex/doc/packages/hwexam.tex
new file mode 100644
index 0000000000..5f1758b015
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/hwexam.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: hwexam documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/inheritance.tex b/macros/latex/contrib/stex/doc/packages/inheritance.tex
new file mode 100644
index 0000000000..41631f94d2
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/inheritance.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: inheritance documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/mathhub.tex b/macros/latex/contrib/stex/doc/packages/mathhub.tex
new file mode 100644
index 0000000000..4b05134e70
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/mathhub.tex
@@ -0,0 +1,89 @@
+\begin{sfragment}{The Local MathHub-Directory}
+ |\usemodule|, |\importmodule|, |\inputref| etc. allow for
+ including content modularly without having to specify absolute
+ paths, which would differ between users and machines. Instead,
+ \sTeX uses \emph{archives} that determine the global
+ namespaces for symbols and statements and make it possible
+ for \sTeX to find content referenced via such URIs.
+
+ All \sTeX archives need to exist in the local |MathHub|-directory.
+ \sTeX knows where this folder is via one of three means:
+
+ \begin{enumerate}
+ \item If the \sTeX package is loaded with the option
+ |mathhub=/path/to/mathhub|, then \sTeX will consider
+ |/path/to/mathhub| as the local |MathHub|-directory.
+ \item If the |mathhub| package option is \emph{not}
+ set, but the macro |\mathhub| exists when the
+ \sTeX-package is loaded, then this macro is
+ assumed to point to the local |MathHub|-directory; i.e.
+ |\def\mathhub{/path/to/mathhub}\usepackage{stex}|
+ will set the |MathHub|-directory as |path/to/mathhub|.
+ \item Otherwise, \sTeX will attempt to retrieve the
+ system variable |MATHHUB|, assuming it will
+ point to the local |MathHub|-directory. Since this
+ variant needs setting up only \emph{once} and is
+ machine-specific (rather than defined in tex code),
+ it is compatible with collaborating and sharing tex
+ content, and hence recommended.
+ \end{enumerate}
+\end{sfragment}
+
+\begin{sfragment}{The Structure of \sTeX Archives}
+ An \sTeX archive |group/name| needs to be stored in the
+ directory |/path/to/mathhub/group/name|; e.g. assuming your
+ local |MathHub|-directory is set as |/user/foo/MathHub|, then
+ in order for the |smglom/calculus|-archive to be found by the
+ \sTeX system, it needs to be in |/user/foo/MathHub/smglom/calculus|.
+
+ Each such archive needs two subdirectories:
+ \begin{itemize}
+ \item |/source| -- this is where all your tex files go.
+ \item |/META-INF| -- a directory containing a single file
+ |MANIFEST.MF|, the content of which we will consider shortly
+ \end{itemize}
+ An additional |lib|-directory is optional, and is where \sTeX will
+ look for files included via |\libinput|.
+
+ Additionally a \emph{group} of archives |group/name| may have
+ an additional archive |group/meta-inf|. If this |meta-inf|-archive
+ has a |/lib|-subdirectory, it too will be searched by |\libinput|
+ from all tex files in any archive in the |group/*|-group.
+\end{sfragment}
+
+\begin{sfragment}{MANIFEST.MF-Files}
+ The |MANIFEST.MF| in the |META-INF|-directory consists of
+ key-value-pairs, instructing \sTeX (and associated software)
+ of various properties of an archive. For example,
+ the |MANIFEST.MF| of the |smglom/calculus|-archive looks like this:
+
+ \begin{framed}
+ \begin{verbatim}
+ id: smglom/calculus
+ source-base: http://mathhub.info/smglom/calculus
+ narration-base: http://mathhub.info/smglom/calculus
+ dependencies: smglom/arithmetics,smglom/sets,smglom/topology,
+ smglom/mv,smglom/linear-algebra,smglom/algebra
+ responsible: Michael.Kohlhase@FAU.de
+ title: Elementary Calculus
+ teaser: Terminology for the mathematical study of change.
+ description: desc.html
+ \end{verbatim}
+ \end{framed}
+
+ Many of these are in fact ignored by \sTeX, but some are important:
+ \begin{itemize}
+ \item[|id|:] The name of the archive, including its group (e.g. |smglom/calculus|),
+ \item[|source-base|] or
+ \item[|ns|:] The namespace from which all symbol and module URIs
+ in this repository are formed, see (\textcolor{red}{TODO}),
+ \item[|narration-base:|] The namespace from which all document
+ URIs in this repository are formed, see (\textcolor{red}{TODO}),
+ \item[|url-base|:] The URL that is formed as a basis for \emph{external references},
+ see (\textcolor{red}{TODO}),
+ \item[|dependencies|:] All archives that this archive depends on. \sTeX ignores
+ this field, but \mmt can pick up on them to resolve dependencies,
+ e.g. for |lmh install|.
+ \end{itemize}
+
+\end{sfragment} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/metatheory.tex b/macros/latex/contrib/stex/doc/packages/metatheory.tex
new file mode 100644
index 0000000000..1585ba504c
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/metatheory.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: metatheory documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/modules.tex b/macros/latex/contrib/stex/doc/packages/modules.tex
new file mode 100644
index 0000000000..c067f28a1c
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/modules.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: modules documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/problem.tex b/macros/latex/contrib/stex/doc/packages/problem.tex
new file mode 100644
index 0000000000..1ce5aaa3a2
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/problem.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: problem documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/references.tex b/macros/latex/contrib/stex/doc/packages/references.tex
new file mode 100644
index 0000000000..bf8a8ed66c
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/references.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: references documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/slides.tex b/macros/latex/contrib/stex/doc/packages/slides.tex
new file mode 100644
index 0000000000..1f9d0c989d
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/slides.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: notesslides documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/sproofs.tex b/macros/latex/contrib/stex/doc/packages/sproofs.tex
new file mode 100644
index 0000000000..0523c65948
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/sproofs.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: sproofs documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/statements.tex b/macros/latex/contrib/stex/doc/packages/statements.tex
new file mode 100644
index 0000000000..aa9f5f76ab
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/statements.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: statements documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/symbols.tex b/macros/latex/contrib/stex/doc/packages/symbols.tex
new file mode 100644
index 0000000000..50b450a248
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/symbols.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: symbols documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/terms.tex b/macros/latex/contrib/stex/doc/packages/terms.tex
new file mode 100644
index 0000000000..cc67ce0c7f
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/terms.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: terms documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/packages/tikzinput.tex b/macros/latex/contrib/stex/doc/packages/tikzinput.tex
new file mode 100644
index 0000000000..fb7d0c1e5b
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/packages/tikzinput.tex
@@ -0,0 +1 @@
+\textcolor{red}{TODO: tikzinput documentation} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/stex-doc.pdf b/macros/latex/contrib/stex/doc/stex-doc.pdf
new file mode 100644
index 0000000000..dbf89047e9
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/stex-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/stex/doc/stex-doc.tex b/macros/latex/contrib/stex/doc/stex-doc.tex
new file mode 100644
index 0000000000..8bd790dcb8
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/stex-doc.tex
@@ -0,0 +1,210 @@
+\def\bibfolder{../lib/bib}
+\input{docheader}
+\infulldoctrue
+
+\ExplSyntaxOn
+\def\OmitDocInput#1{
+\clist_gput_right:Nn \g_docinput_clist
+ { #1 }
+}
+\bool_set_true:N \stex_dtx_tests_bool
+\ExplSyntaxOff
+
+\expandafter\newif\csname if@infulldoc\expandafter\endcsname\csname @infulldoctrue\endcsname
+
+\begin{document}
+ \title{
+ The {\stex{3}} Package
+ \thanks{Version {\fileversion} (last revised {\filedate})}
+ }
+ \author{Michael Kohlhase, Dennis Müller\\
+ FAU Erlangen-Nürnberg\\
+ \url{http://kwarc.info/}
+ }
+ \pagenumbering{roman}
+ \maketitle
+
+ \input{abstract}\bigskip
+
+ This is the full documentation of \sTeX. It
+ consists of four parts:
+ \begin{itemize}
+ \item \autoref{part:manual} is a general manual
+ for the \sTeX package and associated software.
+ It is primarily directed at end-users who
+ want to use \sTeX to author semantically
+ enriched documents.
+ \item \autoref{part:documentation}
+ documents the macros provided
+ by the \sTeX package. It is primarily directed
+ at package authors who want to build on
+ \sTeX, but can also serve as a reference manual
+ for end-users.
+ \item \autoref{part:extensions} documents additional
+ packages that build on \sTeX, primarily its
+ module system. These are not part of the
+ \sTeX package itself, but useful additions
+ enabled by \sTeX package functionality.
+ \item \autoref{part:implementation} is the
+ detailled documentation of the \sTeX package
+ implementation.
+ \end{itemize}
+
+ \makeatletter
+ \renewcommand\part{%
+ \clearpage
+ \thispagestyle{plain}%
+ \@tempswafalse
+ \null\vfil
+ \secdef\@part\@spart%
+ }
+ \newcounter{chapter}
+ \numberwithin{section}{chapter}
+ \renewcommand\thechapter{\@arabic\c@chapter}
+ \renewcommand\thesection{\thechapter.\@arabic\c@section}
+ \newcommand*\chaptermark[1]{}
+ \setcounter{secnumdepth}{2}
+ \newcommand\@chapapp{\chaptername}
+ %\newcommand\chaptername{Chapter}
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ %
+ \fi
+ ##1}}%
+ }%
+ }
+ \newcommand\chapter{\clearpage
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter%
+ }
+ \def\@chapter[#1]#2{\refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makechapterhead{#2}%
+ \@afterheading%
+ }
+ \def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par\nobreak
+ \vskip 40\p@
+ }%
+ }
+\newcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil
+ \nobreak\hb@xt@\@pnumwidth{\hss #2%
+ \kern-\p@\kern\p@}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.8em}}
+\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\def\partname{Part}
+\def\toclevel@part{-1}
+\def\maketitle{\chapter{\@title}}
+\let\thanks\@gobble
+\let\DelayPrintIndex\PrintIndex
+\let\PrintIndex\@empty
+\providecommand*{\hexnum}[1]{\text{\texttt{\char`\"}#1}}
+\makeatother
+
+\ExplSyntaxOn
+\int_set:Nn \l_document_structure_section_level_int {1}
+\ExplSyntaxOff
+
+\clearpage
+
+{%
+ \def\\{:}% fix "newlines" in the ToC
+ \tableofcontents
+}
+
+\clearpage
+\pagenumbering{arabic}
+
+\part{Manual}\label{part:manual}
+
+%\let\oldsubsubsection\subsubsection
+%\let\subsubsection\section
+%\let\subsection\section
+%\let\section\chapter
+
+\input{stex-manual}
+
+%\let\section\subsection
+%\let\subsection\subsubsection
+%\let\subsubsection\oldsubsubsection
+
+\part{Documentation}\label{part:documentation}
+
+\ExplSyntaxOn
+\int_set:Nn \l_document_structure_section_level_int {2}
+\ExplSyntaxOff
+
+
+%\errmessage{\expandafter\meaning\csname comment \endcsname}
+\DisableImplementation
+
+
+\DocInput{../source/stex/basics.dtx}
+\DocInput{../source/stex/mathhub.dtx}
+\DocInput{../source/stex/references.dtx}
+\DocInput{../source/stex/modules.dtx}
+\DocInput{../source/stex/inheritance.dtx}
+\DocInput{../source/stex/symbols.dtx}
+\DocInput{../source/stex/terms.dtx}
+\DocInput{../source/stex/features.dtx}
+\DocInput{../source/stex/statements.dtx}
+\DocInput{../source/stex/sproof.dtx}
+
+\OmitDocInput{../source/stex/others.dtx}
+\DocInput{../source/stex/metatheory.dtx}
+
+\part{Extensions}\label{part:extensions}
+
+\DocInput{../source/extensions/tikzinput.dtx}
+\DocInput{../source/extensions/document-structure.dtx}
+\DocInput{../source/extensions/notesslides.dtx}
+\DocInput{../source/extensions/problem.dtx}
+\DocInput{../source/extensions/hwexam.dtx}
+
+
+\part{Implementation}\label{part:implementation}
+
+\def\maketitle{}
+\let\subsubsection\section
+\let\subsection\section
+\let\section\chapter
+
+\EnableImplementation
+\DisableDocumentation
+
+\DocInputAgain
+
+\end{document}
diff --git a/macros/latex/contrib/stex/doc/stex-manual.pdf b/macros/latex/contrib/stex/doc/stex-manual.pdf
new file mode 100644
index 0000000000..861f9cc111
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/stex-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/stex/doc/stex-manual.tex b/macros/latex/contrib/stex/doc/stex-manual.tex
new file mode 100644
index 0000000000..963336308c
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/stex-manual.tex
@@ -0,0 +1,829 @@
+\makeatletter
+\ifcsname if@infulldoc\endcsname\else
+ \expandafter\newif\csname if@infulldoc\endcsname\@infulldocfalse
+\fi
+\makeatother
+
+\csname if@infulldoc\endcsname\else
+
+\def\bibfolder{../lib/bib}
+
+\input{docheader}
+
+\infulldoctrue
+
+\csname bool_set_true:N\expandafter\endcsname\csname stex_dtx_tests_bool\endcsname
+
+\begin{document}
+ \csname if@infulldoc\endcsname\else
+ \title{
+ The {\stex{3}} Manual
+ \thanks{Version {\fileversion} (last revised {\filedate})}
+ }
+ \author{Michael Kohlhase, Dennis Müller\\
+ FAU Erlangen-Nürnberg\\
+ \url{http://kwarc.info/}
+ }
+ \pagenumbering{roman}
+ \maketitle
+
+ \input{abstract}\bigskip
+
+ This is the user manual for the \sTeX package and
+ associated software. It is primarily directed at end-users
+ who want to use \sTeX to author semantically
+ enriched documents. For the full documentation, see
+ \href{\basedocurl/stex.pdf}{the \sTeX documentation}
+
+ \makeatletter
+ \renewcommand\part{%
+ \clearpage
+ \thispagestyle{plain}%
+ \@tempswafalse
+ \null\vfil
+ \secdef\@part\@spart%
+ }
+ \newcounter{chapter}
+ \numberwithin{section}{chapter}
+ \renewcommand\thechapter{\@arabic\c@chapter}
+ \renewcommand\thesection{\thechapter.\@arabic\c@section}
+ \newcommand*\chaptermark[1]{}
+ \setcounter{secnumdepth}{2}
+ \newcommand\@chapapp{\chaptername}
+ %\newcommand\chaptername{Chapter}
+ \def\ps@headings{%
+ \let\@oddfoot\@empty
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\markboth
+ \def\chaptermark##1{%
+ \markright{\MakeUppercase{%
+ \ifnum \c@secnumdepth >\m@ne
+ \@chapapp\ \thechapter. \ %
+ \fi
+ ##1}}%
+ }%
+ }
+ \newcommand\chapter{\clearpage
+ \thispagestyle{plain}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter%
+ }
+ \def\@chapter[#1]#2{\refstepcounter{chapter}%
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \@makechapterhead{#2}%
+ \@afterheading%
+ }
+ \def\@makechapterhead#1{%
+ \vspace*{50\p@}%
+ {\parindent \z@ \raggedright \normalfont
+ \huge\bfseries \@chapapp\space \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \interlinepenalty\@M
+ \Huge \bfseries #1\par\nobreak
+ \vskip 40\p@
+ }%
+ }
+\newcommand*\l@chapter[2]{%
+ \ifnum \c@tocdepth >\m@ne
+ \addpenalty{-\@highpenalty}%
+ \vskip 1.0em \@plus\p@
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil
+ \nobreak\hb@xt@\@pnumwidth{\hss #2%
+ \kern-\p@\kern\p@}\par
+ \penalty\@highpenalty
+ \endgroup
+ \fi}
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.8em}}
+\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
+\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
+\def\partname{Part}
+\def\toclevel@part{-1}
+\def\maketitle{\chapter{\@title}}
+\let\thanks\@gobble
+\let\DelayPrintIndex\PrintIndex
+\let\PrintIndex\@empty
+\providecommand*{\hexnum}[1]{\text{\texttt{\char`\"}#1}}
+\makeatother
+
+\ExplSyntaxOn
+\int_set:Nn \l_document_structure_section_level_int {1}
+\ExplSyntaxOff
+
+\clearpage
+
+{%
+ \def\\{:}% fix "newlines" in the ToC
+ \tableofcontents
+}
+
+\clearpage
+\pagenumbering{arabic}
+
+\fi
+
+\long\def\ignore#1{}
+
+\begin{sfragment}{What is \sTeX?}
+
+Formal systems for mathematics (such as interactive theorem provers)
+have the potential to significantly increase both the accessibility
+of published knowledge, as well as the confidence in its veracity,
+by rendering the precise semantics of statements machine actionable.
+This allows for a plurality of added-value services, from semantic
+search up to verification and automated theorem proving.
+Unfortunately, their usefulness is hidden behind severe barriers
+to accessibility; primarily related to their surface languages
+reminiscent of programming languages and very unlike informal
+standards of presentation.
+
+\sTeX minimizes this gap between informal and formal
+mathematics by integrating formal methods into established
+and widespread authoring workflows, primarily \LaTeX, via
+non-intrusive semantic
+annotations of arbitrary informal document fragments. That way
+formal knowledge management services become available for informal
+documents, accessible via an IDE for authors and via generated
+\emph{active} documents for readers, while remaining fully compatible
+with existing authoring workflows and publishing systems.
+
+Additionally, an extensible library of reusable
+document fragments is being developed, that serve as reference targets
+for global disambiguation, intermediaries for content exchange
+between systems and other services.
+
+Every component of the system is designed modularly and extensibly,
+and thus lay the groundwork for a potential full integration of
+interactive theorem proving systems into established informal document
+authoring workflows.
+
+\paragraph{} The general \sTeX workflow combines functionalities
+provided by several pieces of software:
+\begin{itemize}
+ \item The \sTeX package to use semantic annotations in
+ {\LaTeX} documents,
+ \item \RusTeX to convert |tex| sources to (semantically enriched)
+ |xhtml|,
+ \item The \mmt software, that extracts semantic information
+ from the thus generated |xhtml| and provides semantically informed
+ added value services.
+\end{itemize}
+
+
+% ----------------------------
+
+\ignore{The objectives of this project will be achieved by developing a
+language and system
+that uses non-intrusive annotations
+to augment informal documents with semantic information
+(ranging from \textbf{fully formal} to \textbf{purely informal})
+ without
+impacting linguistic presentation or document layout.
+That way, the system
+remains compatible with established publishing
+pipelines and practices, while additionally providing flexiformal
+information that
+enables formal knowledge management services, and hence produces
+\emph{rich active documents}, satisfying \textbf{R3}, \textbf{R4} and
+\textbf{R5}.
+In particular, it will avoid commitment to a fixed logical foundation.
+Instead, it will be designed as a modular pipeline of consecutive
+and compositional
+annotations, semantics extraction and translation steps, extensible
+via new structuring mechanisms (\textbf{R1}), library content
+(\textbf{R2}),
+NLP techniques, foundations, translation methods and
+end-user services.
+
+Naturally, the benefits of formal knowledge management services scale
+with the amount of mathematics involved. Consequently I will primarily
+focus on those
+STEM fields in which mathematical methods are most prominently
+used (e.g. mathematics, physics, computer science). Since in those fields
+\LaTeX~is the most commonly used scientific writing tool, I will also
+primarily focus on \LaTeX~as a development and evaluation target, but
+the system will be designed such that all components apart from
+the surface language will be integrable with other writing tools
+(e.g. WYSIWYG word processors).
+
+\paragraph{} The basic architecture of the proposed system is sketched in
+\autoref{fig:architecture}.
+\begin{figure}\centering
+ \resizebox{0.95\textwidth}{!}{\tikzinput[]{diagram}}
+ {\small (Note, that the syntax used
+ in the box on the top right is prototypical and subject to change during the project.
+ Details and open questions regarding the syntax are discussed here:
+ \url{https://github.com/KWARC/FoMID/issues/1})}
+ \caption{Basic Architecture of the Proposed System}\label{fig:architecture}
+\end{figure}
+A user can write their content using standard \LaTeX\ in an IDE;
+ideally using semantic annotations provided by \sTeX
+%and the library developed in \OBJref{smglom}
+(as in the upper right of
+\autoref{fig:architecture}), but not necessarily so.
+
+The document is converted to xhtml with \omdoc annotations
+using \LaTeX ML in the background,
+thus becoming actionable by the \mmt system. Both the source document
+as well as the generated xhtml/\omdoc are accessible to a natural language
+processing pripeline that can supply additional inferred semantic
+information or suggest annotations to the user, in the latter case
+augmenting the source document directly. This pipeline can use both
+classical NLP techniques using the GLIF system, as well as machine
+learning models such as \cite{own:fifom}.
+
+A semiformal fragment is converted
+into an appropriate syntax tree (possibly containing opaque
+informal nodes),
+thus becoming amenable
+to flexiformal knowledge management services. In a consecutive step
+-- if sufficiently annotated --, these are
+additionally translated
+to a fully formal foundation, e.g. using the techniques from
+\cite{DMueller:phd:19,own:translations}, allowing
+more powerful services and conversion to established formal
+systems. All three representations
+are thus available from within the \mmt system for various
+knowledge management services, interfaces for which can be
+implemented in the IDE.
+
+Importantly, every non-trivial arrow in the figure is
+composable and extensible --
+translations to a foundation can be provided
+by supplying an appropriate formalization and alignment-based
+translations (or entirely new methods),
+services can be implemented generically using the \mmt API,
+NLP techniques can be implemented both inside and alongside of
+GLIF, and the concrete syntax within \sTeX can be extended
+by convenience macros in \LaTeX\ (enabling new
+structuring mechanisms as in \textbf{R1} via
+\mmt extensions, see
+\cite{MueRabRot:rslffml20}) as well as via additions to
+the library, which will be extensible both from within the IDE
+as well as on MathHub,
+remaining backwards compatible with existing content in a surface
+language. Additionally, sufficiently disambiguated
+statements can be translated to the syntax of
+external systems (such as interactive theorem prover systems
+or computer algebra systems),
+which can thus be integrated as additional services into the system.
+}
+
+\end{sfragment}
+
+\begin{sfragment}{Quickstart}
+
+ \begin{sfragment}{Setup}
+ \begin{sfragment}{The \sTeX IDE}
+ TODO: VSCode Plugin
+ \end{sfragment}
+ \begin{sfragment}{Manual Setup}
+ Foregoing on the \sTeX IDE, we will need several
+ pieces of software; namely:
+ \begin{itemize}
+ \item \textbf{The \sTeX-Package} available
+ \href{https://github.com/slatex/sTeX/blob/latex3/doc/stex.pdf}{here}%
+ \ednote{For now, we require the \texttt{latex3}-branch}.
+ Note, that the CTAN repository for \LaTeX{} packages
+ may contain outdated versions of the \sTeX package, so
+ make sure, that your |TEXMF| system variable is configured such
+ that the packages available in the linked repository are prioritized
+ over potential default packages that come with your \TeX{} distribution.
+
+ %If you are only interested in using semantic macros in (ultimately)
+ %|pdf|s generated by |pdflatex|, this is all you need.
+
+ \item \textbf{The \mmt System} available
+ \href{https://github.com/uniformal/MMT/tree/sTeX}{here}%
+ \ednote{For now, we require the \texttt{sTeX}-branch, requiring manually
+ compiling the MMT sources}. We recommend following
+ the setup routine documented
+ \href{https://uniformal.github.io//doc/setup/}{here}.
+
+ Following the setup routine (Step 3) will entail designating
+ a |MathHub|-directory on your local file system, where
+ the \mmt system will look for \sTeX/\mmt content archives.
+
+ \item To make sure that \sTeX too knows where to find its
+ archives, we need to set a global system variable |MATHHUB|,
+ that points to your local |MathHub|-directory
+ (see \sref{sec.stexarchives}).
+ \item \textbf{\sTeX Archives} If we only care about {\LaTeX} and generating |pdf|s, we do not
+ technically need \mmt at all; however, we still need the |MATHHUB|
+ system variable to be set. Furthermore, \mmt can make downloading
+ content archives we might want to use significantly easier, since
+ it makes sure that all dependencies of (often highly interrelated)
+ \sTeX archives are cloned as well.
+
+ Once set up, we can run |mmt| in a shell and download an archive along with
+ all of its dependencies like this: |lmh install <name-of-repository>|,
+ or a whole \emph{group} of archives; for example,
+ |lmh install smglom| will download all smglom archives.
+ \item \textbf{\RusTeX} The \mmt system will also set up \RusTeX for you,
+ which is used to generate (semantically annotated)
+ |xhtml| from tex sources. In lieu of using \mmt, you
+ can also download and use \RusTeX directly
+ \href{https://github.com/slatex/RusTeX}{here}.
+
+ \end{itemize}
+ \end{sfragment}
+ \end{sfragment}
+ \begin{sfragment}{A First \sTeX Document}
+ Having set everything up, we can write a first
+ \sTeX document. As an example, we will use the
+ |smglom/calculus| and |smglom/arithmetics| archives,
+ which should be present in the designated |MathHub|-folder.
+
+ The document we will consider is the following:
+ \begin{framed}\begin{latexcode}
+\documentclass{article}
+\usepackage{stex}
+\usepackage{xcolor}
+\def\compemph#1{\textcolor{blue}{#1}}
+
+\begin{document}
+ \usemodule[smglom/calculus]{series}
+ \usemodule[smglom/arithmetics]{realarith}
+
+ The \symref{series}{series} $\infinitesum{n}{1}{
+ \realdivide[frac]{1}{
+ \realpower{2}{n}
+ }
+ }$ \symref{converges}{converges} towards $1$.
+
+\end{document}
+ \end{latexcode}\end{framed}
+
+ Compiling this document with |pdflatex| should yield
+ the output
+
+ \begin{framed}
+ The \textbf{series}
+ $\textcolor{blue}{\sum}_{n=1}^{\textcolor{blue}\infty} \frac{1}{2^n}$
+ \textbf{converges} towards $1$.
+ \end{framed}
+
+ Note that the $\sum$ and $\infty$-symbols are highlighted in blue,
+ and the words ``series'' and ``converges'' in bold.
+ This signifies that these words and symbols
+ reference \sTeX \emph{symbols}
+ formally declared somewhere; associating their
+ \emph{presentation} in the document with their (formal)
+ definition - i.e. their semantics. The precise way
+ in which they are highlighted (if at all) can of course
+ be customized (see \ednote{somewhere later}).
+
+ \begin{function}{\usemodule}
+ The command |\usemodule[some/archive]{modulename}|
+ finds some module in the appropriate archive -- in the first
+ case (|\usemodule[smglom/calculus]{series}|), \sTeX
+ looks for the archive |smglom/calculus| in our local
+ MathHub-directory (see \sref{sec.stexarchives}), and
+ in its source-folder for a file |series.tex|. Since no such
+ file exists, and by default the document is assumed to be
+ in \emph{english}, it picks the file |series.en.tex|, and
+ indeed, in here we find a statement |\begin{smodule}{series}|.
+ \iffalse\end{smodule}\fi
+
+ \sTeX now reads this file and makes all semantic macros therein
+ available to use, along with all its dependencies.
+ This enables the usage of |\infinitesum| later on.
+
+ Analogously, |\usemodule[smglom/arithmetics]{realarith}|
+ opens the file |realarith.en.tex| in the |.../smglom/arithmetics/source|-folder
+ and makes its contents available, e.g. |\realdivide| and |\realpower|.
+ \end{function}
+
+ \begin{function}{\symref,\symname}
+ The command |\symref{symbolname}{text}| marks the |text|
+ in the second argument as representing the |symbolname|
+ in the first argument -- which is why the word ``series''
+ is set in boldface. In the pdf, this is all that happens.
+ In the |xhtml| (which we will investigate shortly) however,
+ we will note that the word ``series'' is now annotated with the
+ full URI of the symbol denoting the \emph{mathematical concept of
+ a series}. In other words, the word is associated with an unambiguous
+ semantics.
+
+ Notably, in both cases above (\emph{series} and \emph{converges})
+ the text that \emph{references} the symbol and the name of the symbol
+ are identical. Since this occurs quite often, the shorthand
+ |\symname{converges}| would have worked as well, where
+ |\symname{foo-bar}| behaves exactly like |\symref{foo-bar}{foo bar}|
+ - i.e. the text is simply the name of the symbol with ``|-|'' replaced by
+ a space.
+ \end{function}
+
+ \begin{function}{\importmodule}
+ If you investigated the contents of the imported modules
+ (|realarith| and |series|) more closely, you'll note that
+ none of them contain a symbol ``|converges|''. Yet, we
+ can use |\symref| to refer to ``converges''. That is because
+ the symbol |converges| is found in
+ |smglom/calculus/source/sequenceConvergence.en.tex|, and
+ |series.en.tex| contains the line
+ |\importmodule{sequenceConvergence}|. The |\importmodule|-statement
+ makes the module referenced available to all documents
+ that include the current module. As such, a ``current module''
+ has to exist for |\importmodule| to work, which is why the command
+ is only allowed within a |module|-environment.
+ \end{function}
+
+ \textcolor{red}{TODO} explain |xhtml| conversion, MMT compilation
+ (requires an archive...?).
+
+ \end{sfragment}
+\end{sfragment}
+
+\begin{sfragment}{Using \sTeX}
+ \input{packages/basics}
+
+ \input{packages/terms}
+
+ \input{packages/references}
+\end{sfragment}
+
+\begin{sfragment}[id=sec.stexarchives]{\sTeX Archives}
+ \input{packages/mathhub}
+\end{sfragment}
+
+\begin{sfragment}{Creating New Modules and Symbols}
+ \textcolor{red}{TODO}
+
+ \stexexample{
+ \begin{smodule}{assoctest}
+ \symdef{foo}[args=iia]{\comp{a:}#1\comp{;b:}#2\comp{;c:}#3}{\comp[#1\comp{;}##1\comp+##2\comp;#2\comp]}
+ $\foo {w_1}{w_2}{x,y,z}$
+ \end{smodule}
+ }
+
+ \input{packages/modules}
+
+ \input{packages/symbols}
+
+ \input{packages/inheritance}
+
+ \begin{sfragment}{Advanced Structuring Mechanisms}
+ \input{packages/features}
+ \end{sfragment}
+ \begin{sfragment}{Primitive Symbols (The \sTeX Metatheory)}
+ \input{packages/metatheory}
+ \end{sfragment}
+\end{sfragment}
+
+\begin{sfragment}{\sTeX Statements (Definitions, Theorems, Examples, ...)}
+ \input{packages/statements}
+
+ \input{packages/sproofs}
+\end{sfragment}
+
+\begin{sfragment}{Additional Packages}
+ \input{packages/tikzinput}
+ \begin{sfragment}{Modular Document Structuring}
+ \input{packages/document-structure}
+ \end{sfragment}
+ \begin{sfragment}{Slides and Course Notes}
+ \input{packages/slides}
+ \end{sfragment}
+ \begin{sfragment}{Homework, Problems and Exams}
+ \input{packages/problem}
+
+ \input{packages/hwexam}
+ \end{sfragment}
+
+\end{sfragment}
+
+\chapter{Stuff}
+
+\section{Modules}
+
+
+\begin{function}{\sTeX , \stex}
+ Both print this \stex logo.
+\end{function}
+
+ \subsection{Semantic Macros and Notations}
+
+ Semantic macros invoke a formally declared symbol.
+
+ To declare a symbol (in a module), we use \cs{symdecl},
+ which takes as argument the name of the corresponding
+ semantic macro, e.g. |\symdecl{foo}| introduces the macro
+ \cs{foo}. Additionally, \cs{symdecl} takes several options,
+ the most important one being its arity. |foo| as declared above
+ yields a \emph{constant} symbol. To introduce an \emph{operator}
+ which takes arguments, we have to specify which arguments it takes.
+
+ \begin{smodule}{SemanticMacrosExample}
+ For example, to introduce binary multiplication,
+ we can do |\symdecl{mult}[args=2]|. We can then supply
+ the semantic macro with arbitrarily many notations, such as
+ |\notation{mult}{#1 #2}|.
+
+ \stexexample{
+ \symdecl{mult}[args=2]
+ \notation{mult}{#1 #2}
+ $\mult{a}{b}$
+}
+
+ Since usually, a freshly introduced symbol also comes with a
+ notation from the start, the \cs{symdef} command combines
+ \cs{symdecl} and \cs{notation}. So instead of the above,
+ we could have also written
+ \begin{center} |\symdef{mult}[args=2]{#1 #2}| \end{center}
+
+ \symdecl{mult}[args=2]
+ \notation{mult}{#1 #2}
+
+ \notation{mult}[cdot]{#1 \comp{\cdot} #2}
+ \notation{mult}[times]{#1 \comp{\times} #2}
+ Adding more notations like
+ |\notation{mult}[cdot]{#1 \comp{\cdot} #2}| or
+ |\notation{mult}[times]{#1 \comp{\times} #2}|
+ allows us to write |$\mult[cdot]{a}{b}$| and
+ |$\mult[times]{a}{b}$|:
+ \stexexample{
+ \notation{mult}[cdot]{#1 \comp{\cdot} #2}
+ \notation{mult}[times]{#1 \comp{\times} #2}
+ $\mult[cdot]{a}{b}$ and $\mult[times]{a}{b}$
+}
+ \notation{mult}[cdot]{#1 \comp{\cdot} #2}
+ \notation{mult}[times]{#1 \comp{\times} #2}
+
+ Not using an explicit option with a semantic macro yields
+ the first declared notation, unless changed\ednote{TODO}.
+
+ Outside of math mode, or by using the starred variant
+ |\foo*|, allows to provide a custom notation, where
+ notational (or textual) components can be given
+ explicitly in square brackets.
+ \stexexample{
+ $\mult*{\arg{a}\comp{\ast}\arg{b}}$ is the
+ \mult{\comp{product of} \arg{$a$} \comp{and} \arg{$b$}}
+}
+
+ In custom mode, prefixing an argument with a star will not
+ print that argument, but still export it to \omdoc:
+ \stexexample{
+ \mult{\comp{Multiplying} \arg*{$\mult{a}{b}$} again by \arg{$b$}} yields...
+}
+ The syntax |*[|\meta{int}|]| allows switching
+ the order of arguments. For example, given a 2-ary semantic
+ macro |\forevery| with exemplary notation
+ |\forall #1. #2|, we can write
+ \stexexample{
+ \symdecl{forevery}[args=2]
+ \forevery{\arg[2]{The proposition $P$} \comp{holds for every} \arg[1]{$x\in A$}}
+}
+
+ When using |*[|$n$|]|, after reading the provided ($n$th) argument,
+ the ``argument counter'' automatically
+ continues where we left off, so the |*[1]| in the above example
+ can be omitted.
+
+ For a macro with arity $>0$, we can refer to the operator
+ \emph{itself} semantically by suffixing the semantic macro
+ with an exclamation point |!| in either text or math mode.
+ For that reason \cs{notation} (and thus \cs{symdef}) take an
+ additional optional argument |op=|, which allows to assign
+ a notation for the operator itself. e.g.
+ \stexexample{
+ \symdef{add}[args=2,op={+}]{#1 \comp+ #2}
+ The operator $\add!$ adds two elements, as in $\add ab$.
+ }
+
+ |*| is composable with |!| for custom notations, as in:
+
+ \stexexample{
+ \mult!{\comp{Multiplication}} (denoted by $\mult!*{\comp\cdot}$) is defined by...
+}
+
+ The macro \cs{comp} as used everywhere above is responsible
+ for highlighting, linking, and tooltips, and should be wrapped
+ around the notation (or text) components that should be treated
+ accordingly. While it is attractive to just wrap a whole notation,
+ this would also wrap around e.g. the arguments themselves, so
+ instead, the user is tasked with marking the notation components
+ themself.
+
+ The precise behaviour of \cs{comp} is governed by
+ the macro \cs{@comp}, which takes two arguments: The tex code
+ of the text
+ (unexpanded) to highlight, and the URI of the current symbol.
+ \cs{@comp} can be safely redefined to customize the behaviour.
+
+
+ The starred variant |\symdecl*{foo}| does not introduce a semantic
+ macro, but still declares a corresponding symbol. |foo| (like
+ any other symbol, for that matter) can
+ then be accessed via \cs{STEXsymbol}|{foo}| or (if |foo| was declared
+ in a module |Foo|) via \cs{STEXModule}|{Foo}?{foo}|.
+
+ both \cs{STEXsymbol} and \cs{STEXModule} take any
+ arbitrary ending segment of a full URI to determine
+ which symbol or module is meant. e.g.
+ \cs{STEXsymbol}|{Foo?foo}| is also valid, as are e.g.
+ \cs{STEXModule}|{path?Foo}?{foo}| or
+ \cs{STEXsymbol}|{path?Foo?foo}|
+
+ There's also a convient shortcut \cs{symref}|{?foo}{some text}| for
+ \cs{STEXsymbol}|{?foo}![some text]|.
+
+ \end{smodule}
+
+ \subsubsection{Other Argument Types}
+
+ So far, we have stated the arity of a semantic macro directly.
+ This works if we only have ``normal'' (or more precisely: |i|-type) arguments.
+ To make use of other argument types, instead of providing the arity
+ numerically, we can provide it as a sequence of characters representing
+ the argument types -- e.g. instead of writing |args=2|, we
+ can equivalently write |args=ii|, indicating that the macro
+ takes two |i|-type arguments.
+
+ Besides |i|-type arguments, \sTeX has two other types, which we will
+ discuss now.
+
+ The first are \emph{binding} (|b|-type) arguments, representing
+ variables that are \emph{bound} by the operator. This is the
+ case for example in the above \cs{forevery}-macro:
+ The first argument is not actually an argument that the
+ |forevery| ``function'' is ``applied'' to; rather, the first argument
+ is a new variable (e.g. $x$) that is \emph{bound} in the subsequent
+ argument. More accurately, the macro should therefore have been
+ implemented thusly:
+ \begin{center}|\symdef{forevery}[args=bi]{\forall #1.\; #2}|\end{center}
+
+ \begin{smodule}{OtherArgs}
+ |b|-type arguments are indistinguishable from |i|-type arguments
+ within \sTeX, but are treated very differently in \omdoc and by \mmt.
+ More interesting \emph{within} \sTeX are |a|-type arguments,
+ which represent (associative) arguments of flexible arity, which are
+ provided as comma-separated lists.
+ This allows e.g. better representing the \cs{mult}-macro above:
+
+ \stexexample{
+ \symdef{mult}[args=a]{#1}{##1 \comp\cdot ##2}
+ $\mult{a,b,c,{d^e},f}$
+}
+ As the example above shows, notations get a little more complicated
+ for associative arguments. For every |a|-type argument, the
+ \cs{notation}-macro takes an additional argument that declares
+ how individual entries in an |a|-type argument list are aggregated.
+ The first notation argument then describes how the aggregated
+ expression is combined into the full representation.
+
+ For a more interesting example, consider a flexary operator
+ for ordered sequences in ordered set, that taking
+ arguments |{a,b,c}| and |\mathbb{R}| prints
+ $a \leq b \leq c\in \mathbb R$. This operator takes
+ two arguments (an |a|-type argument and an |i|-type argument),
+ aggregates the individuals of the associative argument using |\leq|,
+ and combines the result with |\in| and the second argument thusly:
+
+ \stexexample{
+ \symdef{numseq}[args=ai]{#1 \comp\in #2}{##1 \comp\leq ##2}
+ $\numseq{a,b,c}{\mathbb R}$
+}
+
+ Finally, |B|-type arguments combine the functionalities of |a|
+ and |b|, i.e. they represent flexary binding operator arguments.
+
+\ednote{what about e.g. \detokenize{\int_x\int_y\int_z f dx dy dz}?}
+\ednote{``decompose'' a-type arguments into fixed-arity operators?}
+
+ \end{smodule}
+
+ \subsubsection{Precedences}
+
+ Every notation has an (upwards) \emph{operator precedence} and
+ for each argument a (downwards) \emph{argument precedence}
+ used for automated bracketing. For example, a notation
+ for a binary operator \cs{foo} could be declared like this:
+ \begin{center} |\notation{foo}[prec=200;500x600]{#1 \comp{+} #2}| \end{center}
+ assigning an operator precedence of 200, an argument precedence
+ of 500 for the first argument, and an argument precedence of 600
+ for the second argument.
+
+ \sTeX insert brackets thusly: Upon encountering a semantic
+ macro (such as \cs{foo}), its operator precedence (e.g. 200)
+ is compared to the current downwards precedence (initially
+ \cs{neginfprec}). If the operator precedence is \emph{larger}
+ than the current downwards precedence, parentheses are inserted
+ around the semantic macro.
+
+ Notations for symbols of arity 0 have a default precedence of \cs{infprec},
+ i.e. by default, parentheses are never inserted around constants.
+ Notations for symbols with arity $>0$ have a default operator
+ precedence of $0$.
+ If no argument precedences are explicitly provided, then by
+ default they are equal to the operator precedence.
+
+ Consequently, if some operator $A$ should bind stronger than
+ some operator $B$, then $A$s operator precedence should be
+ smaller than $B$s argument precedences.
+
+ For example:
+ \begin{smodule}{NotationsEx}
+ \symdecl{plus}[args=2]
+ \symdecl{times}[args=2]
+ \stexexample{
+\notation{plus}[prec=100]{#1 \comp{+} #2}
+\notation{times}[prec=50]{#1 \comp{\cdot} #2}
+$\plus{a}{\times{b}{c}}$ and $\times{a}{\plus{b}{c}}$
+}
+
+
+ \end{smodule}
+
+ \subsection{Archives and Imports}
+
+ \subsubsection{Namespaces}
+ Ideally, \sTeX would use arbitrary URIs for modules, with no
+ forced relationships between the \emph{logical} namespace
+ of a module and the \emph{physical} location of the file
+ declaring the module -- like \mmt does things.
+
+ Unfortunately, \TeX\ only provides very restricted access to
+ the file system, so we are forced to generate namespaces
+ systematically in such a way that they reflect the physical
+ location of the associated files, so that \sTeX can resolve
+ them accordingly. Largely, users need not concern themselves
+ with namespaces at all, but for completenesses sake, we describe
+ how they are constructed:
+
+ \begin{itemize}
+ \item If \cs{begin}|{module}{Foo}| occurs in a file
+ |/path/to/file/Foo[.|\meta{lang}|].tex| which does not belong
+ to an archive, the namespace is |file://path/to/file|.
+ \item If the same statement occurs in a file
+ |/path/to/file/bar[.|\meta{lang}|].tex|, the namespace is
+ |file://path/to/file/bar|.
+ \end{itemize}
+
+ In other words: outside of archives, the namespace corresponds to
+ the file URI with the filename dropped iff it is equal to the
+ module name, and ignoring the (optional) language suffix^^A
+ \footnote{which is internally attached to the module name instead,
+ but a user need not worry about that.}.
+
+ If the current file is in an archive, the procedure is the same
+ except that the initial segment of the file path up to the archive's
+ |source|-folder is replaced by the archive's namespace URI.
+
+ \subsubsection{Paths in Import-Statements}
+
+ Conversely, here is how namespaces/URIs and file paths are computed
+ in import statements, examplary \cs{importmodule}:
+
+ \begin{itemize}
+ \item \cs{importmodule}|{Foo}| outside of an archive refers
+ to module |Foo| in the current namespace. Consequently, |Foo|
+ must have been declared earlier in the same document or, if not,
+ in a file |Foo[.|\meta{lang}|].tex| in the same directory.
+ \item The same statement \emph{within} an archive refers to either
+ the module |Foo| declared earlier in the same document, or
+ otherwise to the module |Foo| in the archive's top-level namespace.
+ In the latter case, is has to be declared in a file |Foo[.|\meta{lang}|].tex|
+ directly in the archive's |source|-folder.
+ \item Similarly, in \cs{importmodule}|{some/path?Foo}| the path
+ |some/path| refers to either the sub-directory and relative
+ namespace path of the current directory and namespace outside of an archive,
+ or relative to the current archive's top-level namespace and |source|-folder,
+ respectively.
+
+ The module |Foo| must either be declared in the file
+ \meta{top-directory}|/some/path/Foo[.|\meta{lang}|].tex|, or in
+ \meta{top-directory}|/some/path[.|\meta{lang}|].tex| (which are
+ checked in that order).
+ \item Similarly, \cs{importmodule}|[Some/Archive]{some/path?Foo}|
+ is resolved like the previous cases, but relative to the archive
+ |Some/Archive| in the mathhub-directory.
+ \item Finally, \cs{importmodule}|{full://uri?Foo}| naturally refers to the
+ module |Foo| in the namespace |full://uri|. Since the file this module
+ is declared in can not be determined directly from the URI, the module
+ must be in memory already, e.g. by being referenced earlier in the
+ same document.
+
+ Since this is less compatible with a modular development, using full
+ URIs directly is discouraged.
+
+ \end{itemize}
+
+
+
+
+\csname if@infulldoc\endcsname\else\end{document}\fi
diff --git a/macros/latex/contrib/stex/doc/tests/Bar/Foo/meta-inf/MANIFEST.MF b/macros/latex/contrib/stex/doc/tests/Bar/Foo/meta-inf/MANIFEST.MF
new file mode 100644
index 0000000000..decdfb78bc
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/tests/Bar/Foo/meta-inf/MANIFEST.MF
@@ -0,0 +1,2 @@
+id: Bar/Foo
+ns: http://mathhub.info/tests/Bar/Foo/
diff --git a/macros/latex/contrib/stex/doc/tests/Bar/Foo/source/circular2.tex b/macros/latex/contrib/stex/doc/tests/Bar/Foo/source/circular2.tex
new file mode 100644
index 0000000000..f57580414a
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/tests/Bar/Foo/source/circular2.tex
@@ -0,0 +1,15 @@
+\def\mathhub{../../../}
+
+\documentclass[debug]{stex}
+
+\begin{document}
+
+\begin{smodule}{Circular2}
+ \symdef{fooB}{\beta}
+ \importmodule[Foo/Bar]{circular1?Circular1}
+ \symdecl{fooAb}[def=\fooA]
+ \notation{fooAb}{\alpha'}
+ $\fooA$
+\end{smodule}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/tests/Foo/Bar/meta-inf/MANIFEST.MF b/macros/latex/contrib/stex/doc/tests/Foo/Bar/meta-inf/MANIFEST.MF
new file mode 100644
index 0000000000..2edd1633a4
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/tests/Foo/Bar/meta-inf/MANIFEST.MF
@@ -0,0 +1,2 @@
+id: Foo/Bar
+ns: http://mathhub.info/tests/Foo/Bar
diff --git a/macros/latex/contrib/stex/doc/tests/Foo/Bar/source/circular1.tex b/macros/latex/contrib/stex/doc/tests/Foo/Bar/source/circular1.tex
new file mode 100644
index 0000000000..1f88362f33
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/tests/Foo/Bar/source/circular1.tex
@@ -0,0 +1,13 @@
+\def\mathhub{../../../}
+
+\documentclass[debug]{stex}
+
+\begin{document}
+
+\begin{smodule}{Circular1}
+ \symdef{fooA}{\alpha}
+ \usemodule[Bar/Foo]{circular2?Circular2}
+ $\fooB$ and $\fooAb$
+\end{smodule}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/doc/tests/sometest.tex b/macros/latex/contrib/stex/doc/tests/sometest.tex
new file mode 100644
index 0000000000..7946b85c60
--- /dev/null
+++ b/macros/latex/contrib/stex/doc/tests/sometest.tex
@@ -0,0 +1,3 @@
+\this is \a test
+
+this \is a \test
diff --git a/macros/latex/contrib/stex/example/Makefile b/macros/latex/contrib/stex/example/Makefile
deleted file mode 100644
index 47c6188266..0000000000
--- a/macros/latex/contrib/stex/example/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-STEXDIR = ..
-MAKEDIRS = background paper
-CLEANDIRS = $(MAKEDIRS)
-include $(STEXDIR)/lib/make/Makefile.subdirs
diff --git a/macros/latex/contrib/stex/example/README b/macros/latex/contrib/stex/example/README
deleted file mode 100644
index fdba0ac819..0000000000
--- a/macros/latex/contrib/stex/example/README
+++ /dev/null
@@ -1,16 +0,0 @@
-This directory contains a typical (if minimal) example of a sTeX
-collection, and a Makefile-based conversion workflow. It is intended
-to test the sTeX distribution and serve as an example for sTeX users
-to set up their system. It contains
-
-README: this file
-Makefile: this contains rules to automate the PDF formatting and
- XML conversion process.
-background: a directory with background modules, this is assumed to
- exist before starting work on the paper, in real life this
- would probably be a subversion external.
-paper: a directory with a paper based on two modules and the
- background modules.
-
-For an explanation of the design of the example see paper/example.pdf or
-https://trac.kwarc.info/sTeX/wiki/sTeXCollections
diff --git a/macros/latex/contrib/stex/example/background/Makefile b/macros/latex/contrib/stex/example/background/Makefile
deleted file mode 100644
index 67b4dc3d18..0000000000
--- a/macros/latex/contrib/stex/example/background/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-STEXDIR = ../..
-TARGET = all.tex
-BUTFILES = pre.tex post.tex
-MODSLIBDIR = .
-BIBINPUTS = $(PREFIX)/lib/bib:
-
-include $(STEXDIR)/lib/make/Makefile.vars
-all: pdf mpdf
-include $(STEXDIR)/lib/make/Makefile.in
diff --git a/macros/latex/contrib/stex/example/background/all.pdf b/macros/latex/contrib/stex/example/background/all.pdf
deleted file mode 100644
index debf135663..0000000000
--- a/macros/latex/contrib/stex/example/background/all.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/example/background/all.tex b/macros/latex/contrib/stex/example/background/all.tex
deleted file mode 100644
index 27df61d1e6..0000000000
--- a/macros/latex/contrib/stex/example/background/all.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\documentclass{omdoc}
-\usepackage{stex}
-\usepackage{hyperref,amssymb}
-\defpath{backmods}{../background}
-\begin{document}
-\input{functions}
-\input{reals}
-\end{document}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: t
-%%% End:
diff --git a/macros/latex/contrib/stex/example/background/functions.omdoc b/macros/latex/contrib/stex/example/background/functions.omdoc
deleted file mode 100644
index 72adb2e3b2..0000000000
--- a/macros/latex/contrib/stex/example/background/functions.omdoc
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0"?>
-<!--This OMDoc document is generated from an sTeX-encoded one via LaTeXML, you
- may want to reconsider editing it.-->
-<omdoc xmlns:omdoc="http://omdoc.org/ns" xmlns="http://omdoc.org/ns" xmlns:stex="http://kwarc.info/ns/sTeX" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:om="http://www.openmath.org/OpenMath" xmlns:m="http://www.w3.org/1998/Math/MathML" xml:id="omdoc1" about="#omdoc1" stex:srcref="Literal String \documentc#textrange(from=1;0,to=0;0)">
- <omdoc:omgroup layout="sectioning" xml:id="sec.functions" about="#sec.functions" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=1;0,to=18;13)">
- <omdoc:metadata xml:id="sec.functions.metadata1" about="#sec.functions.metadata1" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=1;0,to=18;13)">
- <dc:title xml:id="sec.functions.metadata1.title1" about="#sec.functions.metadata1.title1" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=1;0,to=18;13)">Functions</dc:title>
- </omdoc:metadata>
- <omdoc:theory xml:id="functions" about="#functions" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=2;0,to=17;12)">
- <omdoc:symbol name="cart" xml:id="functions.symbol1" about="#functions.symbol1" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=3;0,to=3;55)"/>
- <omdoc:notation cd="functions" name="cart" stex:macro_name="cart" stex:nargs="1" xml:id="functions.notation2" about="#functions.notation2" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=3;0,to=3;55)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="cart"/>
- <omdoc:exprlist name="args">
- <omdoc:expr name="arg"/>
- </omdoc:exprlist>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering precedence="500">
- <omdoc:iterate name="args">
- <omdoc:separator>
- <m:mo cr="fun">&#xD7;</m:mo>
- </omdoc:separator>
- <omdoc:render name="arg"/>
- </omdoc:iterate>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="fun" xml:id="functions.symbol3" about="#functions.symbol3" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=4;0,to=4;71)"/>
- <omdoc:notation cd="functions" name="fun" stex:macro_name="fun" stex:nargs="3" xml:id="functions.notation4" about="#functions.notation4" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=4;0,to=4;71)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="fun"/>
- <omdoc:expr name="arg1"/>
- <omdoc:expr name="arg2"/>
- <omdoc:expr name="arg3"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering precedence="200">
- <omdoc:render name="arg1" precedence="200"/>
- <m:mo cr="fun">:</m:mo>
- <omdoc:render name="arg2" precedence="200"/>
- <m:mo cr="fun">&#x2192;</m:mo>
- <omdoc:render name="arg3" precedence="200"/>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="inset" xml:id="functions.symbol5" about="#functions.symbol5" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=5;0,to=5;45)"/>
- <omdoc:notation cd="functions" name="inset" stex:macro_name="inset" stex:nargs="2" xml:id="functions.notation6" about="#functions.notation6" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=5;0,to=5;45)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="inset"/>
- <omdoc:expr name="arg1"/>
- <omdoc:expr name="arg2"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering precedence="650">
- <omdoc:render name="arg1" precedence="650"/>
- <m:mo cr="fun">&#x2208;</m:mo>
- <omdoc:render name="arg2" precedence="650"/>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="sseteq" xml:id="functions.symbol7" about="#functions.symbol7" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=6;0,to=6;41)"/>
- <omdoc:notation cd="functions" name="sseteq" stex:macro_name="sseteqOp" stex:nargs="0" xml:id="functions.notation8" about="#functions.notation8" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=6;0,to=6;41)">
- <omdoc:prototype>
- <om:OMS cd="functions" name="sseteq"/>
- </omdoc:prototype>
- <omdoc:rendering>
- <m:mo>&#x2286;</m:mo>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="sseteq" xml:id="functions.symbol9" about="#functions.symbol9" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=7;0,to=7;50)"/>
- <omdoc:notation cd="functions" name="sseteq" stex:macro_name="sseteq" stex:nargs="2" xml:id="functions.notation10" about="#functions.notation10" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=7;0,to=7;50)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="sseteq"/>
- <omdoc:expr name="arg1"/>
- <omdoc:expr name="arg2"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering precedence="300">
- <omdoc:render name="arg1" precedence="300"/>
- <m:mo cr="fun">&#x2286;</m:mo>
- <omdoc:render name="arg2" precedence="300"/>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="tup" xml:id="functions.symbol11" about="#functions.symbol11" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=8;0,to=8;33)"/>
- <omdoc:notation cd="functions" name="tup" stex:macro_name="tup" stex:nargs="1" xml:id="functions.notation12" about="#functions.notation12" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=8;0,to=8;33)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="tup"/>
- <omdoc:expr name="arg1"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering>
- <m:mrow>
- <m:mo stretchy="false">&#x27E8;</m:mo>
- <omdoc:render name="arg1"/>
- <m:mo stretchy="false">&#x27E9;</m:mo>
- </m:mrow>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:notation cd="functions" name="cart" stex:macro_name="cart" stex:nargs="1" xml:id="functions.notation13" about="#functions.notation13" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=9;0,to=9;34)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="cart"/>
- <omdoc:expr name="arg1"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering>
- <omdoc:iterate name="args">
- <omdoc:separator>
- <m:mo cr="fun">&#xD7;</m:mo>
- </omdoc:separator>
- <omdoc:render name="arg"/>
- </omdoc:iterate>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="setdiff" xml:id="functions.symbol14" about="#functions.symbol14" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=10;0,to=10;44)"/>
- <omdoc:notation cd="functions" name="setdiff" stex:macro_name="setdiffOp" stex:nargs="0" xml:id="functions.notation15" about="#functions.notation15" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=10;0,to=10;44)">
- <omdoc:prototype>
- <om:OMS cd="functions" name="setdiff"/>
- </omdoc:prototype>
- <omdoc:rendering>
- <m:mo>\</m:mo>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="setdiff" xml:id="functions.symbol16" about="#functions.symbol16" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=11;0,to=11;59)"/>
- <omdoc:notation cd="functions" name="setdiff" stex:macro_name="setdiff" stex:nargs="2" xml:id="functions.notation17" about="#functions.notation17" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=11;0,to=11;59)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="setdiff"/>
- <omdoc:expr name="arg1"/>
- <omdoc:expr name="arg2"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering precedence="600">
- <omdoc:render name="arg1" precedence="600"/>
- <m:mo cr="fun">\</m:mo>
- <omdoc:render name="arg2" precedence="600"/>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="set" xml:id="functions.symbol18" about="#functions.symbol18" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=12;0,to=12;62)"/>
- <omdoc:notation cd="functions" name="set" stex:macro_name="set" stex:nargs="1" xml:id="functions.notation19" about="#functions.notation19" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=12;0,to=12;62)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="set"/>
- <omdoc:exprlist name="args">
- <omdoc:expr name="arg"/>
- </omdoc:exprlist>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering>
- <m:mo cr="fun">{</m:mo>
- <omdoc:iterate name="args" precedence="neginfty">
- <omdoc:separator>
- <m:mo cr="fun">,</m:mo>
- </omdoc:separator>
- <omdoc:render name="arg" precedence="neginfty"/>
- </omdoc:iterate>
- <m:mo cr="fun">}</m:mo>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="setst" xml:id="functions.symbol20" about="#functions.symbol20" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=13;0,to=13;66)"/>
- <omdoc:notation cd="functions" name="setst" stex:macro_name="setst" stex:nargs="2" xml:id="functions.notation21" about="#functions.notation21" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=13;0,to=13;66)">
- <omdoc:prototype>
- <om:OMA>
- <om:OMS cd="functions" cr="fun" name="setst"/>
- <omdoc:expr name="arg1"/>
- <omdoc:expr name="arg2"/>
- </om:OMA>
- </omdoc:prototype>
- <omdoc:rendering>
- <m:mo cr="fun">{</m:mo>
- <omdoc:render name="arg1" precedence="neginfty"/>
- <m:mo cr="fun">&#x2223;</m:mo>
- <omdoc:render name="arg2" precedence="neginfty"/>
- <m:mo cr="fun">}</m:mo>
- </omdoc:rendering>
- </omdoc:notation>
- <omdoc:symbol name="function" xml:id="function.def.sym" about="#function.def.sym" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;0,to=16;16)"/>
- <omdoc:definition for="function" xml:id="functions.def" about="#functions.def" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;0,to=16;16)">
- <omdoc:CMP xml:id="functions.def.CMP1" about="#functions.def.CMP1" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;0,to=14;36)">
-<p xmlns="http://www.w3.org/1999/xhtml" id="functions.def.CMP1.p1" class="ltx_p" about="#functions.def.CMP1.p1" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;0,to=14;36)">A <omdoc:term cd="functions" name="function" role="definiendum" xml:id="functions.def.CMP1.p1.term1" about="#functions.def.CMP1.p1.term1" stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;67,to=15;20)">function</omdoc:term> <om:OMOBJ stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;61,to=15;32)"><om:OMA><om:OMS cd="functions" name="fun"/><om:OMV name="&#x1D453;"/><om:OMV name="&#x1D434;"/><om:OMV name="&#x1D435;"/></om:OMA></om:OMOBJ> is a left-total, right-unique relation in <om:OMOBJ stex:srcref="/Users/kohlhase/localmh/ext/sTeX/example/background/functions.tex#textrange(from=14;6,to=15;87)"><om:OMA><om:OMS cd="functions" name="cart"/><om:OMV name="&#x1D434;"/><om:OMV name="&#x1D435;"/></om:OMA></om:OMOBJ></p></omdoc:CMP>
- </omdoc:definition>
- </omdoc:theory>
- </omdoc:omgroup>
-</omdoc>
diff --git a/macros/latex/contrib/stex/example/background/functions.pdf b/macros/latex/contrib/stex/example/background/functions.pdf
deleted file mode 100644
index 50567084b3..0000000000
--- a/macros/latex/contrib/stex/example/background/functions.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/example/background/functions.tex b/macros/latex/contrib/stex/example/background/functions.tex
deleted file mode 100644
index d4ac497685..0000000000
--- a/macros/latex/contrib/stex/example/background/functions.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\begin{omgroup}[id=sec.functions,creators=miko]{Functions}
-\begin{module}[id=functions]
-\symdef[assocarg=1]{cart}[1]{\assoc[p=500]{\times}{#1}}
-\symdef{fun}[3]{\mixfixiii[p=200]{}{#1}{\colon}{#2}{\rightarrow}{#3}{}}
-\symdef{inset}[2]{\infix[p=650]{\in}{#1}{#2}}
-\symdef[name=sseteq]{sseteqOp}{\subseteq}
-\symdef{sseteq}[2]{\infix[p=300]\sseteqOp{#1}{#2}}
-\symdef{tup}[1]{\langle#1\rangle}
-\symdef{cart}[1]{\assoc\times{#1}}
-\symdef[name=setdiff]{setdiffOp}{\backslash}
-\symdef{setdiff}[2]{\mixfixii[p=600]{}{#1}\setdiffOp{#2}{}}
-\symdef[assocarg=1]{set}[1]{\mixfixa[nobrackets]{\{}{#1}{\}},}
-\symdef{setst}[2]{\mixfixii[nobrackets]{\{}{#1}{\,\mid\,}{#2}{\}}}
-\begin{definition}[id=functions.def]
- A {\defi{function}} $\fun{f}AB$ is a left-total, right-unique relation in $\cart{A,B}$
-\end{definition}
-\end{module}
-\end{omgroup}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: "all"
-%%% End:
diff --git a/macros/latex/contrib/stex/example/background/post.tex b/macros/latex/contrib/stex/example/background/post.tex
deleted file mode 100644
index 6b47932f52..0000000000
--- a/macros/latex/contrib/stex/example/background/post.tex
+++ /dev/null
@@ -1 +0,0 @@
-\end{document}
diff --git a/macros/latex/contrib/stex/example/background/pre.tex b/macros/latex/contrib/stex/example/background/pre.tex
deleted file mode 100644
index 59f9473ea4..0000000000
--- a/macros/latex/contrib/stex/example/background/pre.tex
+++ /dev/null
@@ -1,8 +0,0 @@
-\documentclass{omdoc}
-\usepackage{stex,amssymb,lststex}
-\usepackage{hyperref}
-\def\omdoc{OMDoc}
-\def\latexml{LaTeXML}
-\defpath{backmods}{../background}
-% \baseURI[\backmods{}]{http://linkeddata.tntbase.org/stex}
-% \coolurion
diff --git a/macros/latex/contrib/stex/example/background/reals.pdf b/macros/latex/contrib/stex/example/background/reals.pdf
deleted file mode 100644
index 4201a59ce1..0000000000
--- a/macros/latex/contrib/stex/example/background/reals.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/example/background/reals.tex b/macros/latex/contrib/stex/example/background/reals.tex
deleted file mode 100644
index 9bcba08ab8..0000000000
--- a/macros/latex/contrib/stex/example/background/reals.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\begin{omgroup}[id=sec.reals]{Real Numbers}
-\begin{module}[id=reals]
-\symdef{RealNumbers}{\mathbb{R}}
-\symdef{absval}[1]{\mixfixi[p=2000]|{#1}|}
-\symdef{rfrac}[2]{\frac{#1}{#2}}
-
-\begin{definition}[id=reals.def]
- We denote the set of {\defii{real}{numbers}} we all know and love with
- $\RealNumbers$.
-\end{definition}
-
-\begin{definition}[id=absval.def]
- The absolute value $\absval{r}$ of a real number $r$.
-\end{definition}
-\end{module}
-\end{omgroup}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: "all"
-%%% End:
diff --git a/macros/latex/contrib/stex/example/paper/Makefile b/macros/latex/contrib/stex/example/paper/Makefile
deleted file mode 100644
index de8ce0872d..0000000000
--- a/macros/latex/contrib/stex/example/paper/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-STEXDIR = ../..
-TARGET = paper.tex
-MODSLIBDIR = ../background
-BIBINPUTS = $(PREFIX)/lib/bib:
-
-include $(STEXDIR)/lib/make/Makefile.vars
-all: pdf mpdf
-include $(STEXDIR)/lib/make/Makefile.in
diff --git a/macros/latex/contrib/stex/example/paper/continuous.pdf b/macros/latex/contrib/stex/example/paper/continuous.pdf
deleted file mode 100644
index 7d97a99a0b..0000000000
--- a/macros/latex/contrib/stex/example/paper/continuous.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/example/paper/continuous.tex b/macros/latex/contrib/stex/example/paper/continuous.tex
deleted file mode 100644
index dc90911f54..0000000000
--- a/macros/latex/contrib/stex/example/paper/continuous.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\begin{omgroup}[id=sec.contfuncs]{Continuous Functions}
-\begin{module}[id=continuous]
-\importmodule[load=\backmods{functions}]{functions}
-\importmodule[load=\backmods{reals}]{reals}
-\symdef{continuousfunctions}[2]{\mathcal{C}^0(#1,#2)}
-\abbrdef{ContRR}[2]{\continuousfunctions\RealNumbers\RealNumbers}
-\begin{definition}[for=continuousfunctions]
- A function $\fun{f}\RealNumbers\RealNumbers$ is called {\defi{continuous}} at
- $\inset{x}\RealNumbers$, iff for all $\epsilon>0$ there is a $\delta>0$, such that
- $\absval{f(x)-f(y)}<\epsilon$ for all $\absval{x-y}<\delta$. It is called
- {\defii{continuous}{on}} a set $\sseteq{S}\RealNumbers$, iff is is continous at all
- $\inset{x}S$, the set of all such functions is denoted with $\continuousfunctions{S}T$,
- if $\sseteq{f(S)}T$.
-\end{definition}
-\end{module}
-\end{omgroup}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: "paper"
-%%% End:
diff --git a/macros/latex/contrib/stex/example/paper/differentiable.pdf b/macros/latex/contrib/stex/example/paper/differentiable.pdf
deleted file mode 100644
index 06c3f5b945..0000000000
--- a/macros/latex/contrib/stex/example/paper/differentiable.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/example/paper/differentiable.tex b/macros/latex/contrib/stex/example/paper/differentiable.tex
deleted file mode 100644
index da999f014d..0000000000
--- a/macros/latex/contrib/stex/example/paper/differentiable.tex
+++ /dev/null
@@ -1,16 +0,0 @@
-\begin{omgroup}[id=sec.differentiable]{Differentiable Functions}
-\begin{module}[id=differentiable]
-\importmodule[load=continuous]{continuous}
-\symdef{difffunctions}[2]{\mathcal{C}^1(#1,#2)}
-\abbrdef{DiffRR}[2]{\difffunctions\RealNumbers\RealNumbers}
-\begin{definition}
- A function $\fun{f}\RealNumbers\RealNumbers$ is called {\defi{differentiable}} at
- $\inset{x}\RealNumbers$, iff for all $\epsilon>0$ there is a $\delta>0$, such that
- $\rfrac{\absval{f(x)-f(y)}}{\absval{x-y}}<\epsilon$ for all $\absval{x-y}<\delta$.
-\end{definition}
-\end{module}
-\end{omgroup}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: "paper"
-%%% End:
diff --git a/macros/latex/contrib/stex/example/paper/intro.pdf b/macros/latex/contrib/stex/example/paper/intro.pdf
deleted file mode 100644
index d3a5eaba7c..0000000000
--- a/macros/latex/contrib/stex/example/paper/intro.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/example/paper/intro.tex b/macros/latex/contrib/stex/example/paper/intro.tex
deleted file mode 100644
index 8faed56d13..0000000000
--- a/macros/latex/contrib/stex/example/paper/intro.tex
+++ /dev/null
@@ -1,96 +0,0 @@
-\begin{omgroup}[id=intro]{Introduction}
- We will show how to semantically mark up mathematics in the {\sTeX}
- format~\cite{Kohlhase:ulsmf08} and how to convert it into
- {\omdoc}~\cite{Kohlhase:OMDoc1.3}.
-
- We have some mathematical material in {\sref{sec.math}} which will serve as example
- content. In the rest of this section we will explain the setup of the example and
- present an approach to automation of the {\omdoc} conversion via Unix Makefiles.
- \begin{omgroup}{The Setup}
- \begin{module}[id=setup]
- \begin{definition}[display=flow]
- The source of this note is contained in the file {\texttt{paper.tex}}. We call it
- the {\defi{target}}, since formatting it with {\LaTeX} will generate the main
- document. The content in {\sref{sec.contfuncs}} and {\sref{sec.differentiable}}
- comes from included files {\texttt{continuous.tex}} and
- {\texttt{differentiable.tex}}, we will call them {\defi{module}s}, since they may
- be used (i.e. included) by other target documents as well.
- \end{definition}
-
- \begin{omtext}
- As the modules are built for inclusion into other documents, they are not
- self-contained:
- \begin{enumerate}
- \item they do not contain a {\LaTeX} preamble and
- \verb|\begin|/\verb|\end{document}|, and
- \item they may depend on other modules, whose semantic macros they need to include,
- \item to facilitate this a module file {\texttt{modf.tex}} comes with a ``semantic
- macro short form'' {\texttt{modf.sms}} that can be included without generating
- output in the PDF.
- \end{enumerate}
- \end{omtext}
-
- \begin{omtext}
- This will have consequences for the automation. Concretely, the module on
- differentiable functions in {\sref{sec.differentiable}} depends on that for continuous
- functions in {\sref{sec.contfuncs}}. Both of them depend on modules for real numbers,
- sets and functions that we do not want to cover in this note. \inlinedef{We assume
- that they have already been marked up with the same methods as we describe here and
- are accessible to us and call them {\defii{background}{module}s}}. In our setup we
- keep them in the subdirectory {\texttt{background}}.
- \end{omtext}
-\end{module}
-\end{omgroup}
-
-\begin{omgroup}{Formatting and {\omdoc} conversion}
- To format an {\sTeX} document --- i.e. to produce a PDF file from the {\sTeX} marked-up
- sources --- we only need to run the {\texttt{pdflatex}} program over the target document
- --- assuming that all modules (regular or background) have semantic macro short forms.
-
- To convert an {\sTeX} document to {\omdoc}, we need to run {\texttt{latexml}} over it,
- post-process the result by {\texttt{latexmlpost}}, and finally massage away all remaining
- {\latexml} islands with a stylesheet, see ~\cite{Kohlhase:ssmtl*} for details.
-\end{omgroup}
-
-\begin{omgroup}{Makefile-based Automation}
- As the conversion to {\omdoc} is rather complex (the programs in the three steps take a
- variety of options), we support an automation by Unix Makefiles. There are three main
- {\texttt{make}} targets.
-
- \begin{description}
- \item[{\texttt{make omdoc}}] will trigger the {\omdoc} transformation of the target
- document.
- \item[{\texttt{make mods}}] will trigger the {\omdoc} transformation of the modules.
- \item[{\texttt{make pdf}}] will trigger the {\LaTeX} formatting the target
- \item[{\texttt{make mpdf}}] will trigger the {\LaTeX} formatting the modules
- \item[{\texttt{make sms}}] will trigger the re-generation of all semantic macro short
- forms of modules (this is implicitly called in all the other {\texttt{make}} targets)
- \end{description}
- To use this, we need to set up a {\texttt{{Makefile}}} of the following form:
-
-\lstset{columns=flexible,frame=lines,numbers=left,stepnumber=2,numberstyle=\tiny,basicstyle=\small}
-\lstinputlisting[language=make]{Makefile}
-
- The variable {\lstinline{STEXDIR}} has to be set to the main directory of the {\sTeX}
- distribution. The variable {\lstinline{TARGET}} specifies the target document (all other
- {\texttt{*.tex}} files that are not excluded in the {\lstinline{BUTFILES}} variables are
- considered as modules). Here, the {\texttt{background}} directory for convenience. The
- {\lstinline{MODSLIBDIR}} specifies the location of the prefix and postfix files
- {\texttt{pre.tex}} and {\texttt{post.tex}} that will be prepended and appended to the
- modules to make them into complete files {\TeX} files that can be converted. The last
- three lines just include the Makefiles from the {\sTeX} distribution and configure the
- default make target (\texttt{make all}) to be produce the pdf version
-
- Note that in the directory {\texttt{background}} we have a very similar Makefile as
- above. The only differences are that the variable {\lstinline{STEXDIR}} is adapted and
- that the {\lstinline{BUTFILE}} variable is set to {\texttt{pre.tex}} and
- {\texttt{post.tex}}, so that they are not converted. In the directory
- {\texttt{background}} we have followed good practice by establishing a phony
-\end{omgroup}
-
-\end{omgroup}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "paper"
-%%% End:
diff --git a/macros/latex/contrib/stex/example/paper/paper.tex b/macros/latex/contrib/stex/example/paper/paper.tex
deleted file mode 100644
index 61d4aa7f17..0000000000
--- a/macros/latex/contrib/stex/example/paper/paper.tex
+++ /dev/null
@@ -1,148 +0,0 @@
-\documentclass{omdoc}
-\usepackage{amssymb}
-\usepackage{alltt}
-\usepackage{hyperref}
-\usepackage{listings}
-\def\omdoc{OMDoc}
-\def\latexml{LaTeXML}
-\defpath{backmods}{../background}
-%% defining the author metadata
-\WAperson[id=miko,
- affiliation=JUB,
- url=http://kwarc.info/kohlhase]
- {Michael Kohlhase}
-\WAinstitution[id=JUB,
- url=http://jacobs-university.de,
- streetaddress={Campus Ring 1},
- townzip={28759 Bremen},
- countryshort=D,
- country=Germany,
- type=University,
- acronym=JACU,
- shortname=Jacobs Univ.]
- {Jacobs University Bremen}
-
-\begin{document}
-
-% metadata and title page
-% \begin{DCmetadata}[maketitle]
-% \DCMcreators{miko}
-% \DCMrights{Copyright (c) 2009 Michael Kohlhase}
-% \DCMtitle{An example of semantic Markup in {\sTeX}}
-% \DCMabstract{In this note we give an example of semantic markup in {\sTeX}:
-% Continuous and differentiable functions are introduced using real numbers, sets and
-% functions as an assumed background.}
-% \end{DCmetadata}
-
-\inputref{intro}
-
-\begin{omgroup}[id=sec.math]{Mathematical Content}
- \begin{omgroup}{Calculus}
- We present some standard mathematical definitions, here from calculus.
- \inputref{continuous}
- \inputref{differentiable}
-\end{omgroup}
-
-\begin{omgroup}[id=sec.math]{A Theory Graph for Elementary Algebra}
- Here we show an example for more advanced theory graph manipulations, in particular
- imports via morphisms.
-
-\begin{module}[id=magma]
- \importmodule[load=\backmods{functions}]{functions}
- \symdef{magbase}{G}
- \symdef[name=magmaop]{magmaopOp}{\circ}
- \symdef{magmaop}[2]{\infix\magmaopOp{#1}{#2}}
- \begin{definition}[id=magma.def]
- A \defi{magma} is a structure $\tup{\magbase,\magmaopOp}$, such that $\magbase$ is
- closed under the operation $\fun\magmaopOp{\cart{\magbase,\magbase}}\magbase$.
- \end{definition}
-\end{module}
-
-\begin{module}[id=semigroup]
- \importmodule{magma}
- \begin{definition}[id=semigroup.def]
- A \trefi[magma]{magma} $\tup{\magbase,\magmaopOp}$, is called a \defi{semigroup}, iff
- $\magmaopOp$ is associative.
- \end{definition}
-\end{module}
-
-\begin{module}[id=monoid]
- \importmodule{semigroup}
- \symdef{monneut}{e}
- \symdef{noneut}[1]{#1^*}
- \begin{definition}[id=monoid.def]
- A \defi{monoid} is a structure $\tup{\magbase,\magmaopOp,\monneut}$, such that
- $\tup{\magbase,\magmaopOp}$ is a \trefi[semigroup]{semigroup} and $\monneut$ is a
- \defii{neutral}{element}, i.e. that $\magmaop{x}\monneut=x$ for all $\inset{x}\magbase$.
- \end{definition}
-
- \begin{definition}[id=noneut.def]
- In a monoid $\tup{\magbase,\magmaopOp,\monneut}$, we use denote the set
- $\setst{\inset{x}S}{x\ne\monneut}$ with $\noneut{S}$.
- \end{definition}
-\end{module}
-
-\begin{module}[id=group]
- \importmodule{monoid}
- \symdef{ginvOp}{i}
- \symdef{ginv}[1]{\prefix\ginvOp{#1}}
- \begin{definition}[id=group.def]
- A \defi{group} is a structure $\tup{\magbase,\magmaopOp,\monneut,\ginvOp}$, such that
- $\tup{\magbase,\magmaopOp,\monneut}$ is a \trefi[monoid]{monoid} and $\ginvOp$ acts as
- a \defi{inverse}, i.e. that $\magmaop{x}{\ginv{x}}=\monneut$ for all
- $\inset{x}\magbase$.
- \end{definition}
-\end{module}
-
-\begin{module}[id=cgroup]
-\importmodule{group}
-\begin{definition}[id=cgroup.def]
- We call a \trefi[group]{group} $\tup{\magbase,\magmaopOp,\monneut,\ginvOp}$ a
- \defii{commutative}{group}, iff $\magmaopOp$ is commutative.
-\end{definition}
-\end{module}
-
-\begin{module}[id=ring]
-\symdef{rbase}{R}
-\symdef[name=rtimes]{rtimesOp}{\cdot}
-\symdef{rtimes}[2]{\infix\rtimesOp{#1}{#2}}
-\symdef{rone}{1}
-\begin{importmodulevia}{monoid}
- \vassign{rbase}\magbase
- \vassign{rtimesOp}\magmaopOp
- \vassign{rone}\monneut
-\end{importmodulevia}
-\symdef[name=rplus]{rplusOp}{+}
-\symdef{rplus}[2]{\infix\rplusOp{#1}{#2}}
-\symdef{rzero}{0}
-\symdef[name=rminus]{rminusOp}{-}
-\symdef{rminus}[1]{\prefix\rminusOp{#1}}
-\begin{importmodulevia}{cgroup}
- \vassign{rplus}\magmaopOp
- \vassign{rzero}\monneut
- \vassign{rminusOp}\ginvOp
-\end{importmodulevia}
-\begin{definition}
- A \defi{ring} is a structure $\tup{\rbase,\rplusOp,\rzero,\rtimesOp,\rone,\rminusOp}$,
- such that $\tup{\noneut\rbase,\rtimesOp,\rone}$ is a monoid and
- $\tup{\rbase,\rplusOp,\rzero,\rminusOp}$ is a commutative group.
-\end{definition}
-\end{module}
-\end{omgroup}
-\end{omgroup}
-
-\begin{omgroup}[id=concl]{Conclusion}
- In this note we have given an example of standard mathematical markup and shown how a a
- {\sTeX} collection can be set up for automation.
-\end{omgroup}
-\bibliographystyle{alpha}
-\bibliography{kwarc}
-\end{document}
-
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: t
-%%% End:
-
-% LocalWords: miko Makefiles tex contfuncs modf sms pdflatex latexml Makefile
-% LocalWords: latexmlpost omdoc STEXDIR BUTFILES DIRS
diff --git a/macros/latex/contrib/stex/lib/bib/extcrossrefs.bib b/macros/latex/contrib/stex/lib/bib/extcrossrefs.bib
deleted file mode 100644
index 601151b37b..0000000000
--- a/macros/latex/contrib/stex/lib/bib/extcrossrefs.bib
+++ /dev/null
@@ -1,4181 +0,0 @@
-@STRING{ecmessage = "READ the README please!!!!!!!!!!!!!!"}
-
-@book{KosBuc:rtul15,
- title = {The Road to Universal Logic, Festschrift for the 50th Birthday of Jean-Yves B{\'e}ziau},
- volume = 2,
- editor = {Koslow, Arnold and Buchsbaum, Arthur},
- publisher = {Springer Verlag},
- year = 2015}
-
-@Proceedings{MathUI15,
- editor = {Andrea Kohlhase and Paul Libbrecht},
- title = {Mathematical User Interfaces Workshop at {CICM}},
- booktitle = {Mathematical User Interfaces Workshop},
- url = {http://www.cermat.org/events/MathUI/15/proceedings},
- year = {2015},
- month = jul}
-
-@proceedings{SEMS15,
- year = {2015},
- booktitle = {Second workshop on Software Engineering methods in Spreadsheets},
- title = {Second workshop on Software Engineering methods in Spreadsheets},
- note = {accepted}}
-
-@proceedings{ICMS14,
- editor = {Hoon Hong and Chee Yap},
- title = {Mathematical Software - {ICMS} 2014 - 4th International Congress},
- booktitle = {Mathematical Software - {ICMS} 2014 - 4th International Congress},
- series = {LNCS},
- year = {2014},
- volume = {8592},
- publisher = {Springer},
- url = {http://dx.doi.org/10.1007/978-3-662-44199-2},
- doi = {10.1007/978-3-662-44199-2},
- isbn = {978-3-662-44198-5}}
-
-@proceedings{ITP13,
- year = {2013},
- isbn = {978-3-642-39633-5},
- title = {Interactive Theorem Proving},
- booktitle = {Interactive Theorem Proving},
- volume = {7998},
- series = {LNCS},
- editor = {Blazy, Sandrine and Paulin-Mohring, Christine and Pichardie, David},
- publisher={Springer}}
-
-@proceedings{FOIS14,
- editor = {Pawel Garbacz and Oliver Kutz},
- booktitle = {Formal Ontology in Information Systems - Proceedings of the Eighth
- International Conference, {FOIS} 2014},
- title = {Formal Ontology in Information Systems - Proceedings of the Eighth
- International Conference, {FOIS} 2014},
- series = {Frontiers in Artificial Intelligence and Applications},
- year = {2014},
- volume = {267},
- publisher = {{IOS} Press},
- isbn = {978-1-61499-437-4}}
-
-@proceedings{FEOSW2012,
- booktitle = {1\textsuperscript{st} Workshop on Finance and Economics on the Semantic Web (FEOSW)},
- year = 2012,
- editor = {{\'A}ngel Garc{\'i}a-Crespo and Juan Miguel G{\'omez}-Berb{\'i}s and Alejandro Rodr{\'i}gues-Gonz{\'a}lez and Brahmananda Sapkota},
- url = {http://nadir.uc3m.es/feosw2012/proceedings.html#ui-tabs-9},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2012-05-27},
- title = {Proceedings of the 1\textsuperscript{st} Workshop on Finance and Economics on the Semantic Web (FEOSW)},
-}
-
-@Proceedings{AISBIACAP12,
- year = {2012},
- editor = {Alison Pease and Brendan Larvor},
- booktitle= {Proceedings of AISB/IACAP 2012, Symposium on Mathematical Practice and Cognition II},
- title= {Proceedings of AISB/IACAP 2012, Symposium on Mathematical Practice and Cognition II},
- publisher = {AISB},
- isbn = {978-1-908187-10-9},
- url = {http://homepages.inf.ed.ac.uk/apease/aisb12/1.pdf}}
-
-
-@Book{EndresNiggemeyer:SemanticMashups13,
- booktitle = {Semantic Mashups},
- booksubtitle = {Intelligent Reuse of Web Resources},
- title = {Semantic Mashups},
- subtitle = {Intelligent Reuse of Web Resources},
- editor = {Brigitte Endres-Niggemeyer},
- url = {https://sites.google.com/site/mashupbookchapters/},
- isbn = {978-3-642-36402-0},
- publisher = {Springer},
- year = 2013,
-}
-
-@proceedings{NTCIR10,
- title = {NTCIR Workshop 10 Meeting},
- editor = {Noriko Kando and Kazuaki Kishida},
- booktitle = {NTCIR Workshop 10 Meeting},
- address = {Tokyo, Japan},
- publisher = {NII, Tokyo},
- year = {2013}}
-
-@proceedings{NTCIR11,
- title = {NTCIR Workshop 11 Meeting},
- editor = {Noriko Kando and Hideo Joho and Kazuaki Kishida},
- booktitle = {NTCIR 11 Conference},
- address = {Tokyo, Japan},
- publisher = {NII, Tokyo},
- year = {2014}}
-
-
-@proceedings{THEDU11,
- editor = {Pedro Quaresma and Ralph-Johan Back},
- title = {Proceedings First Workshop on CTP Components for Educational
- Software, THedu'11, Wroclaw, Poland, 31th July 2011},
- booktitle = {THedu},
- series = {EPTCS},
- volume = {79},
- year = {2011},
- doi = {10.4204/EPTCS.79}}
-
-@proceedings{ProWM13,
- editor = {Franz Lehner and Nadine Amende and Nora Fteimi},
- booktitle = {Professionelles Wissenmanagement Management, Konferenzbeitr{\"a}ge der 7. Konferenz},
- title = {Professionelles Wissenmanagement Management, Konferenzbeitr{\"a}ge der 7. Konferenz},
- publisher = {GITO Verlag},
- year = {2013},
- isbn = {978-3-95545-016-8}
-}
-
-@proceedings{tke2012,
- title = {Terminology and Knowledge Engineering Conference (TKE)},
- booktitle = {Terminology and Knowledge Engineering Conference (TKE)},
- editor = {Aguado de Cea, Guadalupe and Mari Carmen Su{\'a}rez-Figueroa and Ra{\'u}l Garc{\'i}a-Castro and Elena Montiel-Ponsoda},
- year = {2012},
- venue = {Madrid, Spain},
- eventdate = {2012-06-20/2012-06-21},
- isbn = {978-84-695-4333-7},
- keywords = {conference},
- url = {http://oeg-lia3.dia.fi.upm.es/tke2012/proceedings}
-}
-
-@proceedings{DBLP:conf/context/2005,
- editor = {Anind K. Dey and
- Boicho N. Kokinov and
- David B. Leake and
- Roy M. Turner},
- title = {Modeling and Using Context, 5th International and Interdisciplinary
- Conference, CONTEXT 2005, Paris, France, July 5-8, 2005,
- Proceedings},
- booktitle = {CONTEXT},
- publisher = {Springer},
- series = {LNCS},
- number = {3554},
- year = {2005},
- isbn = {3-540-26924-X},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@proceedings{eswc2012,
- editor = {Elena Simperl and Philipp Cimiano and Axel Polleres and Oscar Corcho and Valentina Presutti},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2012-05-27/2012-05-31},
- eventtitle = {9\textsuperscript{th} Extended Semantic Web Conference (ESWC)},
- title = {The Semantic Web},
- booktitle = {The Semantic Web},
- keywords = {conference},
- publisher = {Springer},
- series = {LNCS},
- number = {7295},
- year = 2012,
- doi = {10.1007/978-3-642-30284-8},
- isbn = {978-3-642-30283-1},
- acceptancerate = {25},
-}
-
-@comment{Note: part=2 doesn't work here; it only works with the volume field, but for series like LNCS, number is correct}
-@proceedings{eswc2011-2,
- editor = {Grigoris Antoniou and Marko Grobelnik and Paslaru Bontas Simperl, Elena and Bijan Parsia and Dimitris Plexousakis and Pieter De Leenheer and Jeff Z. Pan},
- title = {The Semantic Web: Research and Applications (Part II)},
- eventtitle = {8\textsuperscript{th} Extended Semantic Web Conference (ESWC)},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2011-05-29/2011-06-02},
- booktitle = {ESWC (Part II)},
- publisher = {Springer Verlag},
- address = {Heidelberg},
- series = {LNCS},
- number = {6644},
- isbn = {978-3-642-21033-4},
- year = {2011}}
-
-
-@Proceedings{escience2010,
- title = {6\textsuperscript{th} IEEE e-Science conference},
- booktitle = {6\textsuperscript{th} IEEE e-Science conference},
- eventdate = {2010-12},
- venue = {Brisbane, Australia},
- year = 2010,
-}
-
-@proceedings{DBLP:conf/eScience/2011,
- title = {IEEE 7th International Conference on E-Science, e-Science
- 2011, Stockholm, Sweden, December 5-8, 2011},
- booktitle = {eScience},
- publisher = {IEEE Computer Society},
- year = {2011},
- isbn = {978-1-4577-2163-2},
- ee = {http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6122900},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@proceedings{ESWC2011Post,
- editor = {Garc{\'i}a Castro, Ra{\'u}l and Dieter Fensel and Grigoris Antoniou},
- title = {The Semantic Web: {ESWC} 2011 Workshops},
- booktitle = {The Semantic Web: {ESWC} 2011 Workshops},
- eventtitle = {Workshops at the 8\textsuperscript{th} Extended Semantic Web Conference (ESWC)},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2011-05-29/2011-05-30},
- publisher = {Springer Verlag},
- address = {Heidelberg},
- series = {LNCS},
- number = 7117,
- isbn = {978-3-642-25952-4},
- year = {2011},
- acceptancerate = {29},
- acceptancerateCOMMENT = {22 papers selected out of 75 that had been accepted by the workshops}}
-
-@proceedings{WebSci2010,
- booktitle = {Proceedings of WebSci'10: Extending the Frontiers of Society On-Line},
- year = 2010,
- publisher = {Web Science Trust}}
-
-@proceedings{XMLPrague2010,
- booktitle = {Proceedings of XML Prague 2010},
- url = {http://www.xmlprague.cz/2010/},
- year = {2010},
- pages = {317--339}}
-
-@Proceedings{Ariadne2003,
- title = {3\textsuperscript{rd} {Ariadne} Conference},
- booktitle = {3\textsuperscript{rd} Annual {Ariadne} Conference},
- eventdate = {2003-11-20/2003-11-21},
- venue = {Katholieke Universiteit Leuven, Belgium},
- year = {2003}}
-
-
-
-
-
-
-@Proceedings{CK2009,
- title = {Proceedings of the Workshop on Collaborative Construction, Management and Linking of Structured Knowledge ({CK})},
- booktitle = {Proceedings of the Workshop on Collaborative Construction, Management
-and Linking of Structured Knowledge ({CK})},
- year = {2009},
- editor = {Tania Tudorache and Gianluca Correndo and Natasha Noy and Harith Alani and Mark Greaves},
- number = 514,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- url = {http://CEUR-WS.org/Vol-514},
- issn = {1613-0073}}
-
-@proceedings{SPOT2009,
- author = {Michael Hausenblas and Philipp K{\"a}rger and Daniel Olmedilla and Alexandre Passant and Axel Polleres},
- title = {Proceedings of the 1\textsuperscript{st} Workshop on Trust and Privacy on the Social and Semantic Web ({SPOT})},
- booktitle = {Proceedings of the 1\textsuperscript{st} Workshop on Trust and Privacy on the Social and Semantic Web (SPOT)},
- eventdate = {2009-06-01},
- year = 2009,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- url = {http://CEUR-WS.org/Vol-447},
- number = 447,
- issn = {1613-0073}}
-
-@proceedings{woa/2007,
- editor = {Matteo Baldoni and
- Antonio Boccalatte and
- Flavio De Paoli and
- Maurizio Martelli and
- Viviana Mascardi},
- title = {WOA 2007: Dagli Oggetti agli Agenti},
- eventtitle = {8\textsuperscript{th} AI*IA/TABOO Joint
- Workshop ``From Objects to Agents'': Agents and Industry:
- Technological Applications of Software Agents},
- eventdate = {2007-09-24/2007-09-25},
- venue = {Genova, Italy},
- booktitle = {WOA},
- publisher = {Seneca Edizioni Torino},
- year = {2007},
- isbn = {978-88-6122-061-4},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@Proceedings{LDOW2008,
- editor = {Christian Bizer and Tom Heath and Kingsley Idehen and Tim Berners-Lee},
- booktitle = {Linked Data on the Web (LDOW)},
- title = {Linked Data on the Web (LDOW)},
- year = 2008,
- number = 369,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- month = apr,
- url = {http://CEUR-WS.org/Vol-369}}
-
-@Proceedings{LDOW2010,
- editor = {Christian Bizer and Tom Heath and Tim Berners-Lee and Michael Hausenblas},
- booktitle = {Linked Data on the Web (LDOW)},
- title = {Linked Data on the Web (LDOW)},
- year = 2010,
- month = apr,
- number = 628,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-628}}
-
-@Proceedings{LDOW2014,
- editor = {Christian Bizer and Tom Heath and S{\"o}ren Auer and Tim Berners-Lee},
- booktitle = {Linked Data on the Web (LDOW)},
- title = {Linked Data on the Web (LDOW)},
- year = 2014,
- NOTYETmonth = apr,
- NOTYETnumber = 628,
- NOTYETseries = {CEUR Workshop Proceedings},
- NOTYETaddress = {Aachen},
- NOTYETissn = {1613-0073},
- NOTYETurl = {http://CEUR-WS.org/Vol-628},
- url = {http://events.linkeddata.org/ldow2014/},
- eventdate = {2014-04-08},
- venue = {Seoul}}
-
-@proceedings{DBLP:conf/its/2006,
- editor = {Mitsuru Ikeda and
- Kevin D. Ashley and
- Tak-Wai Chan},
- title = {Intelligent Tutoring Systems, 8th International Conference,
- ITS 2006, Jhongli, Taiwan, June 26-30, 2006, Proceedings},
- booktitle = {Intelligent Tutoring Systems},
- publisher = {Springer},
- series = {LNCS},
- number = {4053},
- year = {2006},
- isbn = {3-540-35159-0},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@proceedings{DBLP:conf/kr/2006,
- editor = {Patrick Doherty and
- John Mylopoulos and
- Christopher A. Welty},
- title = {Proceedings, 10\textsuperscript{th} International Conference on Principles
- of Knowledge Representation and Reasoning},
- venue = {Lake District of the United Kingdom},
- eventdate = {2006-06-02/2006-06-05},
- booktitle = {KR},
- publisher = {AAAI Press},
- year = {2006},
- isbn = {978-1-57735-271-6},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-
-@Proceedings{AIMashup09,
- title = {{AI Mashup Challenge}},
- booktitle = {{AI Mashup Challenge at KI Conference}},
- year = {2009},
- month = sep,
- editor = {Brigitte Endres-Niggemeyer and Valentin Zacharias and Pascal Hitzler},
- url = {http://endres-niggemeyer.fh-hannover.de/mashupPresent/mashupStart.html}}
-
-
-@Proceedings{AIMashup11,
- title = {{AI Mashup Challenge}},
- booktitle = {{AI Mashup Challenge at ESWC}},
- year = {2011},
- month = jun,
- editor = {Brigitte Endres-Niggemeyer and Pascal Hitzler},
- url = {http://sites.google.com/a/fh-hannover.de/aimashup11/}}
-
-
-@proceedings{DBLP:conf/tphol/2007,
- editor = {Klaus Schneider and
- Jens Brandt},
- title = {Theorem Proving in Higher Order Logics, 20th International
- Conference, TPHOLs 2007, Kaiserslautern, Germany, September
- 10-13, 2007, Proceedings},
- booktitle = {TPHOLs},
- publisher = {Springer},
- series = {LNCS},
- number = {4732},
- year = {2007},
- isbn = {978-3-540-74590-7},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-@Proceedings{EaPiM,
- title = {{Conference on Explanation and Proof in Mathematics: Philosophical and Educational Perspectives}},
- year = {2006},
- booktitle = {{Conference on Explanation and Proof in Mathematics: Philosophical and Educational Perspectives}},
- editor = {Gila Hanna and Hans Niels Jahnke and Helmut Pulte},
- month = nov,
- url = {http://www.ruhr-uni-bochum.de/wtundwg/}}
-
-@proceedings{swdb2004,
- editor = {Christoph Bussler and
- Val Tannen and
- Irini Fundulaki},
- title = {Semantic Web and Databases (SWDB), Second International Workshop, Revised Selected Papers},
- venue = {Toronto, Canada},
- eventdate = {2004-08-29/2004-08-30},
- booktitle = {SWDB},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {3372},
- year = 2005,
- isbn = {3-540-24576-6},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@Proceedings{OWLED09,
- title = {OWL: Experiences and Directions (OWLED)},
- booktitle = {OWL: Experiences and Directions (OWLED)},
- year = 2009,
- editor = {Rinke Hoekstra and Peter F. Patel-Schneider},
- month = oct}
-
-
-
-@Proceedings{OWLED08,
- title = {OWL: Experiences and Directions (OWLED)},
- booktitle = {OWL: Experiences and Directions (OWLED)},
- year = 2008,
- editor = {Uli Sattler and Cathy Dolbear and Alan Ruttenberg},
- month = oct}
-
-@Proceedings{OWLED06,
- title = {OWL: Experiences and Directions (OWLED)},
- booktitle = {OWL: Experiences and Directions (OWLED)},
- year = 2006,
- editor = {Bernardo Cuenca Grau and Pascal Hitzler and Connor Shankey and Evan Wallace},
- month = nov}
-
-@Proceedings{OWLED05,
- title = {OWL: Experiences and Directions (OWLED)},
- booktitle = {OWL: Experiences and Directions (OWLED)},
- year = 2005,
- editor = {Bernardo Cuenca Grau and Ian Horrocks and Bijan Parsia and Peter Patel-Schneider},
- month = nov}
-
-@proceedings{DBLP:conf/ecai/2004,
- editor = {Ramon L{\'o}pez de M{\'a}ntaras and
- Lorenza Saitta},
- title = {Proceedings of the 16\textsuperscript{th} Eureopean Conference on Artificial
- Intelligence, ECAI'2004, including Prestigious Applicants
- of Intelligent Systems, PAIS 2004},
- venue = {Valencia, Spain},
- eventdate = {2004-08-22/2004-08-27},
- booktitle = {ECAI},
- publisher = {IOS Press},
- year = 2004,
- isbn = {1-58603-452-9},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-
-@Proceedings{SFSW09,
- editor = {Chris Bizer and S{\"o}ren Auer and Gunnar AAstrand Grimnes},
- title = {Scripting and Development for the Semantic Web (SFSW)},
- booktitle = {Scripting and Development for the Semantic Web (SFSW)},
- number = 449,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-449},
- year = {2009},
- month = may}
-
-@Proceedings{SFSW10,
- editor = {Gunnar AAstrand Grimnes and S{\"o}ren Auer and Gregory Todd Williams},
- title = {Scripting and Development for the Semantic Web (SFSW)},
- booktitle = {Scripting and Development for the Semantic Web (SFSW)},
- number = 699,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-699},
- year = {2010},
- month = may}
-
-
-@proceedings{DBLP:conf/mkm/2006,
- editor = {Jonathan M. Borwein and
- William M. Farmer},
- title = {Mathematical Knowledge Management, 5th International Conference,
- MKM 2006, Wokingham, UK, August 11-12, 2006, Proceedings},
- booktitle = {MKM},
- publisher = {Springer},
- series = {LNCS},
- number = {4108},
- year = {2006},
- isbn = {3-540-37104-4},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-@PROCEEDINGS{ECAI90,
- title = {Proceedings of of the 9\textsuperscript{th} European Conference on Artifical Intelligence},
- year = {1990},
- editor = {Luigia Carlucci Aiello},
- address = {Stockholm, Sweden},
- publisher = {Pitman Publishing, London, England},
- booktitle = {Proceedings of of the 9\textsuperscript{th} European Conference on Artifical Intelligence},
- key = {ECAI1990}}
-
-@PROCEEDINGS{AIED03-v,
- title = {AIED2003 --- Supplementary Proceedings of the 11\textsuperscript{th} International
- Conference on Artificial Intelligence in Education},
- year = {2003},
- editor = {Vincent Aleven and Ulrich Hoppe and Judy Kay and Riichiro Mizoguchi
- and Helen Pain and Felisa Verdejo and Kalina Yacef},
- volume = {V: Learner Modelling for Reflection},
- series = {Frontiers in Artificial Intelligence and Applications},
- address = {Sidney, Australia},
- publisher = {School of Information Technologies, University of Sydney}}
-
-@PROCEEDINGS{AIED03-viii,
- title = {AIED2003 --- Supplementary Proceedings of the 11\textsuperscript{th} International
- Conference on Artificial Intelligence in Education},
- year = {2003},
- editor = {Vincent Aleven and Ulrich Hoppe and Judy Kay and Riichiro Mizoguchi
- and Helen Pain and Felisa Verdejo and Kalina Yacef},
- volume = {VIII: Advanced Technologies for Mathematics Education},
- series = {Frontiers in Artificial Intelligence and Applications},
- address = {Sidney, Australia},
- publisher = {School of Information Technologies, University of Sydney}}
-
-@PROCEEDINGS{ICCS01,
- title = {Computational Science --- ICCS 2001},
- year = {2001},
- editor = {Vassil N. Alexandrov and Jack J. Dongarra and Benjoe A. Juliano and
- Ren{\`e} S. Renner and C. J. Kenneth Tan},
- number = {2074},
- series = {LNCS},
- address = {San Francisco, CA\USA},
- publisher = {Springer Verlag},
- key = {ICCS2001}}
-
-@PROCEEDINGS{SIGMEDIA-97,
- title = {Referring Phenomena in a Multimedia Context and Their Computational
- Treatment},
- year = {1997},
- editor = {Elisabeth Andr{\'e}},
- address = {Madrid, Spain}}
-
-@PROCEEDINGS{FROCOS02,
- title = {Frontiers of Combinning Systems (FROCOS'02)},
- year = {2002},
- editor = {Alessandro Armando},
- number = {2309},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Frontiers of Combinning Systems (FROCOS'02)},
- key = {FROCOS2002}}
-
-@PROCEEDINGS{CALCULEMUS99,
- title = {{CALCULEMUS 99}, Systems for Integrated Computation and Deduction},
- year = {1999},
- editor = {Alessandro Armando and Tudor Jebelean},
- series = {Electronic Notes in Theoretical Computer Science},
- address = {Trento, \ITALY},
- publisher = {Elsevier},
- note = {URL:~\url{http://www.elsevier.nl/locate/entcs}},
- url = {http://www.elsevier.nl/locate/entcs},
- booktitle = {{CALCULEMUS 99}, Systems for Integrated Computation and Deduction}}
-
-@Proceedings{BucGonHaz:MKM03,
- title = {Mathematical Knowledge Management},
- year = 2003,
- editor = {Bruno Buchberger and Gaston Gonnet and Michiel Hazewinkel},
- note = {special issue of Annals of Mathematics and Artificial Intelligence},
- volume = 38}
-
-@PROCEEDINGS{MKM03,
- title = {Mathematical Knowledge Management, {MKM'03}},
- year = {2003},
- editor = {Andrea Asperti and Bruno Buchberger and James Harold Davenport},
- number = {2594},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Mathematical Knowledge Management, {MKM'03}}}
-
-@PROCEEDINGS{DEDTREFF93,
- title = {Proceedings of the Annual Meeting of ``GI-Fachgruppe Deduktionssysteme''},
- year = {1993},
- editor = {J{\"u}rgen Avenhaus and J{\"o}rg Denzinger},
- number = {SR-93-11},
- series = {SEKI-Report},
- address = {Kaiserslautern, Germany},
- booktitle = {Proceedings of the Annual Meeting of ``GI-Fachgruppe Deduktionssysteme''}}
-
-@PROCEEDINGS{FROCOS96,
- title = {\PROC of First International Workshop Frontiers of Combinning Systems
- (FROCOS'96)},
- year = {1996},
- editor = {Franz Baader and Klaus Schulz},
- series = {Series on Applied Logic},
- publisher = {Kluwer},
- booktitle = {\PROC of First International Workshop Frontiers of Combinning Systems
- (FROCOS'96)},
- key = {FROCOS1996}}
-
-@PROCEEDINGS{LPAR02,
- year = {2002},
- editor = {Matthias Baaz and Andrei Voronkov},
- number = {2514},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Logic for Programming, Artificial Intelligence, and Reasoning --
- 9\textsuperscript{th} International Conference, LPAR 2002},
- key = {LPAR2002}}
-
-
-@proceedings{UITP14,
- year = "2014",
- booktitle = "Workshop on User Interfaces for Theorem Provers",
- title = "Workshop on User Interfaces for Theorem Provers",
- editor = "C. Benzm{\"u}ller and B. {Woltzenlogel Paleo}",
- publisher = "Elsevier"}
-
-@proceedings{uitp2012,
- editor = {Cezary Kaliszyk and Christoph L{\"u}th},
- title = {User Interfaces for Theorem Provers},
- eventtitle = {10\textsuperscript{th} UITP workshop (at CICM 2012)},
- eventdate = {2012-07-11},
- venue = {Bremen, Germany},
- year = 2012,
- url = {http://www.informatik.uni-bremen.de/uitp12/}
-}
-
-@PROCEEDINGS{UITP98,
- title = {User Interfaces for Theorem Provers},
- year = {1998},
- editor = {Roland C. Backhouse},
- number = {98-08},
- series = {Computing Science Reports},
- address = {{Department of Mathematics and Computing Science, Eindhoven Technical
- University}},
- booktitle = {User Interfaces for Theorem Provers},
- key = {UITP1998}}
-
-@PROCEEDINGS{IJCAI93,
- year = {1993},
- editor = {Ruzena Bajcsy},
- address = {Chambery, France},
- publisher = {Morgan Kaufmann, San Mateo, CA},
- booktitle = {Proceedings of the 13\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI1993}}
-
-@PROCEEDINGS{TABLEAU95,
- title = {Theorem Proving with Analytic Tableaux and Related Methods},
- year = {1995},
- editor = {P. Baumgartner and R. H{\"a}hnle and J. Posegga},
- number = {918},
- series = {LNAI},
- booktitle = {Theorem Proving with Analytic Tableaux and Related Methods},
- key = {TABLEAU1995}}
-
-@PROCEEDINGS{BenMeu:holal,
- title = {Handbook of Logic and Language},
- year = {1997},
- editor = {van Benthem, Johan and ter Meulen, Alice},
- publisher = {Elsevier Science},
- booktitle = {Handbook of Logic and Language}}
-
-@BOOK{BeTM:holal95,
- title = {Handbook of Logic and Language},
- publisher = {Elsevier Science B.V.},
- year = {1995},
- editor = {Johan van Benthem and Ter Meulen}}
-
-
-@PROCEEDINGS{IJCAR_WS7,
- title = {Computer-Supported Mathematical Theory Development},
- booktitle = {Computer-Supported Mathematical Theory Development},
- year = {2004},
- editor = {Benzm{\"u}ller, Christoph and Windsteiger, Wolfgang},
- number = {04-14},
- series = {RISC Report Series},
- note = {IJCAR'04 Workshpo in Cork, Ireland, July 5, 2004. ISBN 3-902276-04-5.},
- url = {http://www.risc.uni-linz.ac.at/about/conferences/IJCAR-WS7/},
- organization = {RISC Institute, University of Linz}}
-
-@PROCEEDINGS{ags-2003-d-2,
- title = {Systems for Integrated Computation and Deduction --- Interim Report
- of the Calculemus IHP Network},
- year = {2003},
- editor = {Christoph Benzm{\"u}ller},
- number = {SR--03--05},
- series = {Seki-Report SR},
- organization = {Dep. of Computer Science, Saarland University, Saarbr{\"u}cken, Germany},
- type = {SEKI report}}
-
-@PROCEEDINGS{TPHOL99,
- title = {Theorem Proving in Higher Order Logics: TPHOLs'99},
- year = {1999},
- editor = {Yves Bertot and Gilles Dowek and Andr{\'e} Hirschowitz and Christine
- Paulin and Laurent Th{\'e}ry},
- number = {1690},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Theorem Proving in Higher Order Logics: TPHOLs'99},
- key = {TPHOLS1999}}
-
-@PROCEEDINGS{TLCA93,
- title = {Proceedings International Conference on Typed Lambda Calculi and
- Applications},
- year = {1993},
- editor = {M. A. Bezem and Jan Friso Groote},
- publisher = {Springer},
- series = {LNCS},
- number = {664},
- booktitle = {Proceedings International Conference on Typed Lambda Calculi and
- Applications},
- key = {TLCA1993}}
-
-
-
-
-@BOOK{BibSch:adabfa98,
- title = {Automated Deduction -- A Basis for Applications},
- publisher = {Kluwer},
- year = {1998},
- editor = {Wolfgang Bibel and Peter Schmitt},
- booktitle = {Automated Deduction -- A Basis for Applications},
- key = {Bibel}}
-
-@PROCEEDINGS{CeurWS181,
- booktitle = {Proc.\ of 2\textsuperscript{nd} Workshop on Scripting for the Semantic Web at ESWC},
- venue = {Budva, Montenegro},
- eventdate = {2006},
- year = {2006},
- editor = {Chris Bizer and S{\"o}ren Auer and Libby Miller},
- number = {181},
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-181}}
-
-@PROCEEDINGS{CADE15-WS-Integration,
- title = {CADE-15 Workshop ``Integration of Deduction Systems''},
- year = {1998},
- editor = {Nikolaj Bjorner and Reiner H{\"a}hnle and Wolfram Menzel and Wolfgang
- Reif and Peter H. Schmitt},
- booktitle = {CADE-15 Workshop ``Integration of Deduction Systems''}}
-
-@PROCEEDINGS{RTA91,
- year = {1991},
- editor = {Ronald V. Book},
- number = {488},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the $4^{th}$ International Conference on Rewriting
- Techniques and Applications},
- key = {RTA1991}}
-
-
-
-@PROCEEDINGS{MKM06,
- title = {{Mathematical Knowledge Management (MKM)}},
- year = {2006},
- editor = {Jon Borwein and William M. Farmer},
- number = {4108},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Mathematical Knowledge Management (MKM)}}
-
-@PROCEEDINGS{MACIS15,
- title = {MACIS 2015},
- year = 2016,
- SOONeditor = {????},
- SOONnumber = {????},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {MACIS 2015: Sixth International Conference on Mathematical Aspects of Computer and Information Sciences},
- note = {in press}}
-
-@PROCEEDINGS{MKM07,
- title = {{MKM/Calculemus}},
- booktitle = {Towards Mechanized Mathematical Assistants. {MKM/Calculemus}},
- year = {2007},
- isbn = {978-3-540-73083-5},
- editor = {Manuel Kauers and Manfred Kerber and Robert Miner and Wolfgang Windsteiger},
- number = {4573},
- series = {LNAI},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{CICM08,
- title = {Intelligent Computer Mathematics},
- booktitle = {Intelligent Computer Mathematics},
- eventtitle = {9\textsuperscript{th} International Conference, AISC, 15\textsuperscript{th} Symposium, Calculemus, 7\textsuperscript{th} International Conference MKM},
- venue = {Birmingham, UK},
- eventdate = {2008-07-28/2008-08-01},
- key = {CICM08},
- year = {2008},
- editor = {Autexier, Serge and Campbell, John and Rubio, Julio and Sorge, Volker and Suzuki, Masakazu and Wiedijk, Freek},
- number = {5144},
- series = {LNAI},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{WSREST2011,
- title = {Proceedings of the Second International Workshop on RESTful Design},
- key = {WSREST2011},
- year = {2011},
- editor = {Cesare Pautasso and Erik Wilde and Rosa Alarcon},
- publisher = {ACM},
- keywords = {workshop},
- isbn = { 9781605589596},
- booktitle = {{Proceedings of the Second International Workshop on RESTful Design}}
-}
-
-@PROCEEDINGS{CICM10,
- title = {Intelligent Computer Mathematics},
- NOlabel = {CICM10},
- NOkey = {CICM10},
- year = {2010},
- editor = {Serge Autexier and Jacques Calmet and David Delahaye and Patrick D. F. Ion and Laurence Rideau and Renaud Rioboo and Alan P. Sexton},
- number = {6167},
- series = {LNAI},
- publisher = {Springer Verlag},
- keywords = {conference},
- isbn = {3642141277},
- booktitle = {{Intelligent Computer Mathematics}}}
-
-@PROCEEDINGS{CICM12,
- title = {Intelligent Computer Mathematics},
- booktitle = {{Intelligent Computer Mathematics}},
- NOlabel = {CICM12},
- NOkey = {CICM12},
- year = {2012},
- venue = {Bremen, Germany},
- eventdate = {2012-07-09/2012-07-14},
- eventtitle = {Conferences on Intelligent Computer Mathematics (CICM)},
- editor = {Johan Jeuring and John A. Campbell and Jacques Carette and Dos Reis, Gabriel and Petr Sojka and Makarius Wenzel and Volker Sorge},
- number = {7362},
- series = {LNAI},
- isbn = {978-3-642-31373-8},
- publisher = {Springer Verlag},
- location = {Berlin and Heidelberg},
- acceptancerate = {73},
- acceptancerateCOMMENT = {MKM: 13/19, Calculemus: 6/9, AISC: 6/8, DML: 2/3, S&P: 11/12},
- keywords = {conference}}
-
-@proceedings{CICM14,
- editor = {Stephan Watt and James Davenport and Alan Sexton and Petr Sojka and Josef Urban},
- venue = {Coimbra, Portugal},
- eventdate = {2014-07-07/2014-07-11},
- eventtitle = {Conferences on Intelligent Computer Mathematics},
- title = {Intelligent Computer Mathematics},
- booktitle = {{Intelligent Computer Mathematics} 2014},
- NOkey = {CICM14},
- NOlabel = {CICM14},
- keywords = {conference},
- publisher = {Springer},
- series = {LNCS},
- number = {8543},
- isbn = {978-3-319-08433-6},
- year = 2014,
- acceptancerate = {64},
- acceptancerateCOMMENT = {MKM/Calculemus/DML: 26/41, S&P: 9/14, overall: 35/55},
-}
-
-@proceedings{CICM15,
- SOONeditor = {Stephan Watt and James Davenport and Alan Sexton and Petr Sojka and Josef Urban},
- SOONvenue = {Coimbra, Portugal},
- SOONeventdate = {2014-07-07/2014-07-11},
- SOONeventtitle = {Conferences on Intelligent Computer Mathematics},
- title = {Intelligent Computer Mathematics},
- booktitle = {{Intelligent Computer Mathematics} 2015},
- NOkey = {CICM15},
- NOlabel = {CICM15},
- keywords = {conference},
- publisher = {Springer},
- series = {LNCS},
- SOONnumber = {8543},
- SOONisbn = {978-3-319-08433-6},
- year = 2015,
- note = {submitted},
- SOONacceptancerate = {64},
- SOONacceptancerateCOMMENT = {MKM/Calculemus/DML: 26/41, S&P: 9/14, overall: 35/55},
-}
-
-@PROCEEDINGS{CALCULEMUS10,
- key = {CALCULEMUS 2010},
- year = {2010},
- note = {submitted to CALCULEMUS 2010},
- booktitle = {CALCULEMUS},
- title = {CALCULEMUS}}
-
-@PROCEEDINGS{CALCULEMUS10-ET,
- year = {2010},
- booktitle = {CALCULEMUS (Emerging Trends)},
- title = {CALCULEMUS (Emerging Trends)},
- editor = {David Delahaye and Renaud Rioboo},
- url = {http://cicm2010.cnam.fr/calculemus/trends/calculemus2010-trends.pdf},
- publisher = {Centre d'{\'E}tude et de Recherche en Informatique du {CNAM} (C{\'e}dric)},
- location = {Paris}
-}
-
-
-@PROCEEDINGS{MKM09,
- year = {2009},
- month = jul,
- booktitle = {{MKM/{\-}Cal{\-}cu{\-}le{\-}mus} Proceedings},
- title = {{MKM/{\-}Cal{\-}cu{\-}le{\-}mus} Proceedings},
- editor = {Jacques Carette and Lucas Dixon and Sacerdoti Coen, Claudio and Stephen M. Watt},
- number = {5625},
- series = {LNAI},
- keywords = {conference},
- isbn = {978-3-642-02613-3},
- publisher = {Springer Verlag}}
-
-
-@PROCEEDINGS{ICOS03,
- title = {ICoS-4. Inference in Computational Semantics. Workshop Proceedings},
- year = {2003},
- editor = {Patrick Blackburn and Johan Bos},
- booktitle = {Proceedings of Inference in Computational Semantics ICoS-4},
- publisher = {LORIA, Nancy}}
-
-@PROCEEDINGS{ITS2000-W1,
- title = {Proceedings of the Fifth International Conference on Intelligent
- Tutoring Systems---Workshop W1: Modeling Human Teaching Tactics and
- Strategies},
- year = {2000},
- editor = {Ben du Boulay},
- address = {Montr{\'e}al, Canada},
- key = {ITS2000-W1}}
-
-@PROCEEDINGS{TPHOL01,
- title = {Theorem Proving in Higher Order Logics: TPHOLs'01},
- year = {2001},
- editor = {Richard. J. Boulton and Paul B. Jackson},
- number = {2152},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Theorem Proving in Higher Order Logics: TPHOLs'01},
- key = {TPHOLS2001}}
-
-@PROCEEDINGS{BradyBerwick:cmod84,
- title = {Computational Models of Discourse},
- year = {1984},
- editor = {Brady, Michael and Berwick, Robert C.},
- address = {Cambridge, Massachusetts/London},
- publisher = {The M. I. T. Press}}
-
-
-@PROCEEDINGS{KI97,
- title = {Proceedings of the 18.th Annual German Conference on Artificial Intelligence
- KI'97},
- year = {1997},
- editor = {Gerd Brewka and Cristopher Habel and Bernhard Nebel},
- number = {1303},
- series = {LNAI},
- address = {Freiburg, Germany},
- booktitle = {Proceedings of the 18.th Annual German Conference on Artificial Intelligence
- KI'97}}
-
-@PROCEEDINGS{CADE94,
- title = {Proceedings of the 12\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- year = {1994},
- editor = {Alan Bundy},
- number = {814},
- series = {LNAI},
- address = {Nancy, France},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 12\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- key = {CADE1994}}
-
-@PROCEEDINGS{IJCAI83,
- year = {1983},
- editor = {Alan Bundy},
- publisher = {Morgan Kaufmann, San Mateo, California, USA},
- booktitle = {Proceedings of the 8\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI1983}}
-
-
-@PROCEEDINGS{FTP98,
- title = {Automated Deduction in Classical and Non-Classical Logics (FTP'98)},
- year = {1998},
- editor = {Caferra, R. and Salzer, G.},
- series = {LNAI},
- number = {1761},
- publisher = {Springer Verlag},
- booktitle = {Automated Deduction in Classical and Non-Classical Logics (FTP'98)},
- key = {FTP1998}}
-
-
-@PROCEEDINGS{AISMC94,
- title = {Integrating Symbolic Mathematical Computation and Artificial Intelligence;
- Proceedings of the second International Conference; Selected Papers},
- year = {1995},
- editor = {J. Calmet and J. A. Campbell},
- number = {958},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Integrating Symbolic Mathematical Computation and Artificial Intelligence;
- Proceedings of the second International Conference; Selected Papers}}
-
-@PROCEEDINGS{AISMC92,
- title = {Integrating Symbolic Mathematical Computation and Artificial Intelligence},
- year = {1993},
- editor = {J. Calmet and J. A. Campbell},
- number = {737},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Integrating Symbolic Mathematical Computation and Artificial Intelligence}}
-
-@PROCEEDINGS{DISCO96,
- title = {Design and Implementation of Symbolic Computation Systems, DISCO'96},
- year = {1996},
- editor = {Jacques Calmet and Carla Limogelli},
- number = {1128},
- series = {LNCS},
- address = {Karlsruhe, Germany},
- publisher = {Springer Verlag},
- booktitle = {Design and Implementation of Symbolic Computation Systems, DISCO'96}}
-
-
-
-@PROCEEDINGS{DaleEtAl:aoanlg92,
- title = {Aspects of Automated Natural Language Generation},
- year = {1992},
- editor = {Robert Dale and Eduard Hovy and Dietmar R{\"o}sner and Oliviero Stock},
- number = {587},
- series = {LNAI},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{DaleEtAl:crinlg90,
- title = {Current Research in Natural Language Generation},
- year = {1990},
- editor = {Robert Dale and Chris Mellish and Michael Zock},
- number = {4},
- series = {Cognitive Science Series},
- address = {San Diego, CA},
- publisher = {Academic Press}}
-
-
-
-
-
-@PROCEEDINGS{RTA89,
- title = {Proceedings of the $3^{rd}$ International Conference of Rewriting
- Techniques and Applications},
- year = {1989},
- editor = {Nachum Dershowitz},
- number = {355},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the $3^{rd}$ International Conference of Rewriting
- Techniques and Applications},
- key = {RTA1989}}
-
-@PROCEEDINGS{TLCA95,
- title = {Typed Lambda Calculi and Applications},
- year = {1995},
- editor = {Mariangiola Dezani-Ciancaglini and Gordon Plotkin},
- number = {902},
- series = {LNCS},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{IJCAI81,
- year = {1981},
- editor = {Ann Drinan},
- address = {Vancouver, Canada},
- publisher = {Morgan Kaufmann, San Mateo, California, USA},
- booktitle = {Proceedings of the 7\textsuperscript{th} International Joint Conference on Artificial
- Intelligence (IJCAI)},
- key = {IJCAI1981}}
-
-@PROCEEDINGS{PTP01,
- title = {Proceedings of the Workshop on Proof Transformation, Proof Presentations
- and Complexity of Proofs (PTP-01)},
- year = {2001},
- editor = {Egly, Uwe and Fiedler, Armin and Horacek, Helmut and Schmitt, Stephan},
- publisher = {Universit{\'a} degli studi di Siena},
- booktitle = {Proceedings of the Workshop on Proof Transformation, Proof Presentations
- and Complexity of Proofs (PTP-01)}}
-
-@PROCEEDINGS{JELIA90,
- year = {1990},
- editor = {Jan van Eijck},
- number = {478},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Logics in AI. European Workshop JELIA '90, Amsterdam},
- key = {JELIA1990}}
-
-@PROCEEDINGS{ECAI02-ONTO,
- title = {Proceedings of the ECAI 2002 Workshop on Ontologies and Semantic
- Interoperability},
- year = {2002},
- editor = {J{\'e}r{\^o}me Euzenat and Asuncion G{\'o}mez P{\'e}rez and Nicola
- Guarino and Heiner Stuckenschmidt},
- address = {Lyon France }}
-
-
-@PROCEEDINGS{Fox-00-a,
- title = {Workshop on analysing and exploiting domain knowledge for efficient
- planning},
- year = {2000},
- editor = {Foc, M.},
- publisher = {AAAI Press}}
-
-@PROCEEDINGS{FTP97,
- title = {Proceedings of the International Workshop on First order Theorem
- Proving},
- year = {1997},
- editor = {Ulrich Furbach and Maria Paola Bonacina},
- number = {97-50},
- series = {RISC-Linz Report Series},
- publisher = {Johannes Kepler Universit{\"a}t Linz},
- booktitle = {Proceedings of the International Workshop on First order Theorem
- Proving},
- key = {FTP1998}}
-
-@BOOK{GaGu:hopl84,
- title = {Handbook of Philosophical Logic},
- publisher = {D. Reidel},
- year = {1984},
- editor = {Dov Gabbay and F. Guenthner}}
-
-@BOOK{gabb:hand83,
- title = {Handbook of {Philosophical} {Logic}},
- publisher = {Reidel},
- year = {1983},
- editor = {Gabbay, D. and Guenthner, F.},
- address = {Dordrecht}}
-
-@PROCEEDINGS{CADE99,
- title = {Automated Deduction --- {CADE}-16},
- year = {1999},
- editor = {Harald Ganzinger},
- number = {1632},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Automated Deduction --- {CADE}-16},
- key = {CADE1999}}
-
-@PROCEEDINGS{RTA96,
- title = {Proceedings of the $7^{th}$ International Consference on Rewriting
- Techniques and Applications},
- year = {1996},
- editor = {Harald Ganzinger},
- number = {1103},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the $7^{th}$ International Consference on Rewriting
- Techniques and Applications},
- key = {RTA1996}}
-
-@PROCEEDINGS{PPAI97,
- title = {Parallel Processing for Artificial Intelligence},
- year = {1997},
- editor = {J. Geller and H. Kitano and C. Suttner},
- volume = {3},
- publisher = {Elsevier/North Holland},
- booktitle = {Parallel Processing for Artificial Intelligence},
- key = {PPAI1997}}
-
-@PROCEEDINGS{iswc2005,
- title = {The Semantic Web},
- booktitle = {The Semantic Web},
- eventtitle = {4\textsuperscript{th} International Semantic Web Conference (ISWC)},
- venue = {Galway, Ireland},
- eventdate = {2005-11-06/2005-11-10},
- year = {2005},
- editor = {Yolanda Gil and Enrico Motta and V. Richard Benjamins and Mark A. Musen},
- number = {3729},
- series = {LNCS},
- publisher = {Springer},
- isbn = {3-540-29754-5}}
-
-@Proceedings{iswc2006,
- title = {5\textsuperscript{th} International Semantic Web Conference (ISWC)},
- booktitle = {5\textsuperscript{th} International Semantic Web Conference (ISWC)},
- year = {2006},
- editor = {Isabel F. Cruz and Stefan Decker and Dean Allemang and Chris Preist and Daniel Schwabe and Peter Mika and Michael Uschold and Lora Aroyo},
- number = {4273},
- series = {LNCS},
- publisher = {Springer Verlag},
- isbn = {3-540-49029-9}}
-
-@Proceedings{iswc2007,
- editor = {Karl Aberer and
- Key-Sun Choi and
- Natasha Fridman Noy and
- Dean Allemang and
- Kyung-Il Lee and
- Lyndon J. B. Nixon and
- Jennifer Golbeck and
- Peter Mika and
- Diana Maynard and
- Riichiro Mizoguchi and
- Guus Schreiber and
- Philippe Cudr{\'e}-Mauroux},
- title = {The Semantic Web},
- eventtitle = {6\textsuperscript{th} International Semantic Web Conference,
- 2\textsuperscript{nd} Asian Semantic Web Conference, ISWC 2007 + ASWC 2007},
- venue = {Busan, Korea},
- eventdate = {2007-11-11/2007-11-15},
- booktitle = {ISWC/ASWC},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {4825},
- year = {2007},
- isbn = {978-3-540-76297-3}}
-
-@PROCEEDINGS{AIMSA98,
- title = {Proceedings of the of the 8\textsuperscript{th} International Conference AIMSA'98},
- year = {1998},
- editor = {Fausto Giunchiglia},
- number = {1480},
- series = {LNAI},
- address = {Sozopol, Bulgaria},
- publisher = {Springer Verlag},
- booktitle = {Artificial Intelligence: Methodology, Systems and Applications}}
-
-@PROCEEDINGS{IJCAR01,
- title = {Automated Reasoning --- 1\textsuperscript{st} International Joint Conference, IJCAR 2001},
- booktitle = {Automated Reasoning --- 1\textsuperscript{st} International Joint Conference, IJCAR 2001},
- year = {2001},
- editor = {Rajeev Gor{\'e} and Alexander Leitsch and Tobias Nipkow},
- number = {2083},
- series = {LNAI},
- address = {Siena, \ITALY},
- publisher = {Springer Verlag},
- key = {IJCAR2001}}
-
-@PROCEEDINGS{IJCAR06,
- title = {Automated Reasoning --- Third International Joint Conference, IJCAR 2006},
- booktitle = {Automated Reasoning --- Third International Joint Conference, IJCAR 2006},
- year = {2006},
- editor = {Furbach, Ulrich and Shankar, Natarajan},
- number = {4130},
- series = {LNAI},
- address = {Seattle, USA},
- publisher = {Springer Verlag},
- key = {IJCAR2006}}
-
-@PROCEEDINGS{KGC93,
- year = {1993},
- editor = {Georg Gottlob and Alexander Leitsch and Danielle Mundici},
- number = {714},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {3\textsuperscript{rd} Kurt G{\"o}del Colloquium KGC'93},
- key = {KGC1993}}
-
-@PROCEEDINGS{TPHOL98,
- title = {Theorem Proving in Higher Order Logics: Emerging Trends},
- year = {1998},
- editor = {Jim Grundy and Malcolm Newey},
- series = {Technical Report 98-08, Department of Computer Science and Computer
- Science Lab},
- address = {Canberra, Australia},
- publisher = {The Australian National University},
- month = oct,
- bibtype = {PROCEEDINGS},
- booktitle = {Theorem Proving in Higher Order Logics: Emerging Trends},
- key = {TPHOLS1998}}
-
-@PROCEEDINGS{TPHOL97,
- title = {Theorem Proving in Higher Order Logics: TPHOLs'97},
- year = {1997},
- editor = {Elsa L. Gunter and Amy Felty},
- number = {1275},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Theorem Proving in Higher Order Logics: TPHOLs'97},
- key = {TPHOLS1997}}
-
-@PROCEEDINGS{AISB87,
- title = {Advances in Artificial Intelligence, AISB-87},
- year = {1987},
- editor = {J. Hallam and C. Mellish},
- publisher = {Wiley},
- booktitle = {Advances in Artificial Intelligence, AISB-87},
- pages = {125--139}}
-
-@PROCEEDINGS{KI03-ITL,
- title = {Proceedings of the KI-03 Workshop on Expressive Media and Intelligent
- Tools for Learning},
- year = {2003},
- editor = {Andreas Harrer and Katrin Ga{\ss}ner},
- address = {Hamburg\GERMANY}}
-
-@BOOK{Heijenoort67,
- title = {From Frege to G{\"o}del: a source book in mathematical logic 1879-1931},
- publisher = {Harvard Univ. Press},
- year = {1967},
- author = {van Heijenoort, Jean},
- series = {Source books in the history of the sciences series},
- address = {Cambridge, MA},
- edition = {3\textsuperscript{rd} printing, 1997},
- bibtype = {BOOK},
- isbn = {0-674-32450-1}}
-
-@PROCEEDINGS{ECAI-RMK96,
- title = {Proceedings of the ECAI Workshop on Representation ofMathematical
- Knowledge},
- year = {1996},
- editor = {Herbert Stoyan Karsten Homann and Sabine Jakob and Manfred Kerber},
- address = {Budapest, Hungary},
- booktitle = {Proceedings of the ECAI Workshop on Representation ofMathematical
- Knowledge}}
-
-@PROCEEDINGS{ECAI00,
- title = {Proceedings of of the 14\textsuperscript{th} European Conference on Artifical Intelligence},
- year = {2000},
- editor = {Werner Horn},
- address = {Brighton, UK},
- publisher = {John Wiley \& Sons, Chichester, UK},
- booktitle = {Proceedings of of the 14\textsuperscript{th} European Conference on Artifical Intelligence},
- key = {ECAI2000}}
-
-
-@proceedings{ECAI08,
- editor = {Malik Ghallab and
- Constantine D. Spyropoulos and
- Nikos Fakotakis and
- Nikolaos M. Avouris},
- title = {ECAI 2008 -- 18\textsuperscript{th} European Conference on Artificial Intelligence,
- Patras, Greece, July 21-25, 2008, Proceedings},
- booktitle = {ECAI},
- publisher = {IOS Press},
- series = {Frontiers in Artificial Intelligence and Applications},
- volume = {178},
- year = {2008},
- isbn = {978-1-58603-891-5},
- url = {http://www.booksonline.iospress.nl/Content/View.aspx?piid=9905}}
-
-@PROCEEDINGS{AAAI-WSTPR88,
- title = {Proceedings of the AAAI Workshop on Text Planning and Realization},
- year = {1988},
- editor = {E. Hovy and D. McDonald and S. Young},
- address = {St. Paul, MN, USA}}
-
-@PROCEEDINGS{RTA95,
- year = {1995},
- editor = {Jieh Hsiang},
- number = {914},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the $6^{th}$ International Consference on Rewriting
- Techniques and Applications},
- key = {RTA1995}}
-
-@PROCEEDINGS{FASE01,
- title = {Fundamental Approaches to Software Engineering (FASE 2001)},
- booktitle = {Fundamental Approaches to Software Engineering (FASE 2001)},
- year = {2001},
- editor = {H. Hu{\ss}mann},
- number = {2029},
- series = {LNCS},
- publisher = {Springer Verlag},
- key = {FASE01}}
-
-@PROCEEDINGS{AISC06,
- title = {Proceedings of Artificial Intelligence and Symbolic Computation,
- {AISC}'2006},
- year = {2006},
- editor = {Tetsuo Ida and Jacques Calmet and Dongming Wang},
- number = {4120},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of Artificial Intelligence and Symbolic Computation,
- {AISC}'2006}}
-
-@PROCEEDINGS{TACS91,
- year = {1991},
- editor = {T. Ito and A. R. Meyer},
- number = {526},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Theoretical Aspects of Computer Science},
- key = {TACS1991}}
-
-@PROCEEDINGS{lit2005,
- title = {{Marktplatz Internet: von E-Learning bis E-Payment, 13. Leipziger
- Informatik-Tage, LIT 2005, 21.-23. September 2005, Leipzig}},
- year = {2005},
- editor = {Klaus P. Jantke and Klaus-Peter F{\"a}hnrich and Wolfgang S. Wittig},
- volume = {72},
- series = {LNI},
- publisher = {GI},
- booktitle = {Leipziger Informatik-Tage},
- isbn = {3-88579-401-2}}
-
-@PROCEEDINGS{IJCAI85,
- year = {1985},
- editor = {Aravind Joshi},
- address = {Los Angeles, Ca, USA},
- publisher = {Morgan Kaufmann},
- booktitle = {Proceedings of the 9\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI1985}}
-
-@PROCEEDINGS{RTA85,
- year = {1985},
- editor = {Jean-Pierre Jouannaud},
- number = {202},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the first International Consference on Rewriting Techniques
- and Applications},
- key = {RTA1985}}
-
-@PROCEEDINGS{WADE79,
- year = {1979},
- editor = {William H. Joyner},
- address = {Austin, Texas, USA},
- booktitle = {Proceedings of the 4\textsuperscript{th} Workshop on Automated Deduction},
- key = {WADE1979}}
-
-@PROCEEDINGS{IJCAI03-onto,
- title = {Proceedings of the IJCAI 03 Workshop on Knowledge and Reasoning in
- Practical Dialogue Systems},
- year = {2003},
- editor = {Arne J{\"o}nsson and Jan Alexandersson and Tilman Becker and Kristiina
- Jokinen and Magnus Merkel},
- address = {Acapulco, \MEXICO}}
-
-@PROCEEDINGS{SDT84,
- year = {1984},
- editor = {G. Kahn and D. G. MacQueen, G. Plotkin},
- number = {173},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Semantics of Data Types},
- key = {SDT1984}}
-
-@PROCEEDINGS{CTRS88,
- year = {1988},
- editor = { Stephane Kaplan and Jean-Pierre Jouannaud},
- number = {308},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 1\textsuperscript{st} International Workshop on Conditional Term
- Rewriting Systems, Orsay, France},
- key = {CTRS1988}}
-
-@PROCEEDINGS{CTRS91,
- year = {1991},
- editor = {Stephane Kaplan and Mitsuhiro Okada},
- number = {516},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 2\textsuperscript{nd} International Workshop on Conditional Term
- Rewriting Systems, Montreal, Canada},
- key = {CTRS1991}}
-
-@PROCEEDINGS{CADE92,
- title = {Proceedings of the 11\textsuperscript{th} Conference on Automated Deduction},
- year = {1992},
- editor = {D. Kapur},
- number = {607},
- series = {LNCS},
- address = {Saratoga Springs, NY, USA},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 11\textsuperscript{th} Conference on Automated Deduction},
- key = {CADE1992}}
-
-@PROCEEDINGS{CALCULEMUS02,
- title = {Artificial Intelligence, Automated Reasoning, and Symbolic Computation
- --- Joint International Conference, AISC 2002 and Calculemus 2002},
- year = {2002},
- editor = {Jacques Calmet and Belaid Benhamou and Olga Caprotti and Laurent
- Henocque and Volker Sorge},
- number = {2385},
- series = {LNAI},
- address = {Marseille, France},
- publisher = {Springer},
- booktitle = {Artificial Intelligence, Automated Reasoning, and Symbolic Computation
- --- Joint International Conference, AISC 2002 and Calculemus 2002}}
-
-@PROCEEDINGS{CALCULEMUS01,
- booktitle = {Proceedings of the Calculemus 2001 Symposium},
- title = {Proceedings of the Calculemus 2001 Symposium},
- year = {2001},
- editor = {S. Linton and R. Sebastiani},
- address = {Siena, Italy}}
-
-@PROCEEDINGS{RTA93,
- year = {1993},
- editor = {Claude Kirchner},
- number = {690},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the $5^{th}$ International Consference on Rewriting
- Techniques and Applications},
- key = {RTA1993}}
-
-@PROCEEDINGS{CADE98,
- title = {Proceedings of the 15\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- year = {1998},
- editor = {Claude Kirchner and H{\'e}l{\`e}ne Kirchner},
- number = {1421},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 15\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- key = {CADE1998}}
-
-@PROCEEDINGS{AMAST02,
- title = {Algebraic Methodology and Software Technology --- 9\textsuperscript{th} International
- Conference AMAST 2002},
- year = {2002},
- editor = {Kirchner, H{\'e}l{\`e}ne and Ringeissen, Christophe},
- number = {2422},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Algebraic Methodology and Software Technology --- 9\textsuperscript{th} International
- Conference AMAST 2002}}
-
-
-
-@PROCEEDINGS{LICS95,
- title = {Proceedings of the 10\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-10)},
- year = {1995},
- editor = {Dexter Kozen},
- address = {San Diego, California},
- publisher = { IEEE Computer Society Press},
- month = jun,
- booktitle = {Proceedings of the 10\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-10)},
- key = {LICS1995}}
-
-@PROCEEDINGS{DIABRUCK03,
- title = {DiaBruck---7\textsuperscript{th} Workshop on the Semantics and Pragmatics of Dialogue},
- year = {2003},
- editor = {Ivana Kruijff-Korbayov{\'a} and Claudia Kosny},
- address = {Saarbr{\"u}cken\GERMANY},
- organization = {Universit{\"a}t des Saarlandes},
- booktitle = {DiaBruck---7\textsuperscript{th} Workshop on the Semantics and Pragmatics of Dialogue}}
-
-@PROCEEDINGS{BIDIALOG01,
- title = {Proceedings of the 5\textsuperscript{th} Workshop on Formal Semantics and Pragmatics
- of Dialog (BI-DIALOG 2001)},
- year = {2001},
- editor = {P. K{\"u}hnlein and H. Rieser and H. Zeevat},
- address = {Bielefeld\GERMANY},
- key = {BIDIALOG2001}}
-
-@PROCEEDINGS{AIED99,
- title = {Artificial Intelligence in Education},
- year = {1999},
- editor = {Susanne P. Lajoie and Martial Vivet},
- volume = {50},
- series = {Frontiers in Artificial Intelligence and Applications},
- publisher = {IOS Press}}
-
-
-@PROCEEDINGS{RTA87,
- year = {1987},
- editor = {Pierre Lescanne},
- number = {256},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the second International Conference of Rewriting Techniques
- and Applications},
- key = {RTA1987}}
-
-@PROCEEDINGS{AISC00,
- year = {2001},
- editor = {Eugenio Roanes Lozano},
- number = {1930},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of Artificial Intelligence and Symbolic Computation,
- AISC'2000}}
-
-@PROCEEDINGS{CADE88,
- title = {Proceedings of the 9\textsuperscript{th} Conference on Automated Deduction},
- year = {1988},
- editor = {Ewing L. Lusk and Ross A. Overbeek},
- number = {310},
- series = {LNCS},
- address = {Argonne, Illinois, USA},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 9\textsuperscript{th} Conference on Automated Deduction},
- key = {CADE1988}}
-
-@PROCEEDINGS{JICSLP98,
- title = {Proceedings of the Joint International Conference and Symposium on
- Logic Programming},
- year = {1996},
- editor = {M. Maher},
- address = {Bonn, Germany},
- publisher = {MIT Press},
- booktitle = {Proceedings of the Joint International Conference and Symposium on
- Logic Programming}}
-
-@PROCEEDINGS{ILPS97,
- title = {Logic Programming -- Proceedings of the 1997 International Symposium},
- year = {1997},
- editor = {Jan Maluszynski},
- address = {Port Jefferson, New York},
- publisher = {The MIT Press},
- booktitle = {Logic Programming -- Proceedings of the 1997 International Symposium}}
-
-@PROCEEDINGS{CADE00,
- title = {{Automated} {Deduction} -- CADE-17},
- year = {2000},
- editor = {David McAllester},
- number = {1831},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {{Automated} {Deduction} -- CADE-17},
- key = {CADE00}}
-
-@PROCEEDINGS{CADE97,
- title = {Proceedings of the 14\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- year = {1997},
- editor = {William McCune},
- number = {1249},
- series = {LNAI},
- address = {Townsville, Australia},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 14\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- key = {CADE1997}}
-
-@PROCEEDINGS{INLG90,
- title = {Proceedings of the 5\textsuperscript{th} International Natural Language Generation
- Workshop},
- year = {1990},
- editor = {K. R. McKeown and J. D. Moore and S. Nirenburg},
- address = {Dawson, PA},
- booktitle = {Proceedings of the 5\textsuperscript{th} International Natural Language Generation
- Workshop},
- key = {INLG1990}}
-
-@PROCEEDINGS{CADE96,
- title = {Proceedings of the 13\textsuperscript{th} Conference on Automated Deduction},
- year = {1996},
- editor = {M. A. McRobbie and J. K. Slaney},
- number = {1104},
- series = {LNAI},
- address = {New Brunswick, NJ, USA},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 13\textsuperscript{th} Conference on Automated Deduction},
- key = {CADE1996}}
-
-@PROCEEDINGS{WOSE-2004,
- key = {WOSE2004},
- title = {On the Move to Meaningful Internet Systems 2004: OTM 2004 Workshops},
- booktitle = {On the Move to Meaningful Internet Systems 2004: OTM 2004 Workshops},
- year = {2004},
- editor = {Robert Meersman and Zahir Tari and Angelo Corsaro and others},
- number = {3292},
- series = {LNCS},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{CADE00-W4,
- title = {\PROC of 17\textsuperscript{th} International Conference on Automated Deduction---Workshop
- W4: Automated Deduction in Education},
- year = {2000},
- editor = {Erica Melis and Dana Scott},
- address = {Pittsburgh, PA\USA},
- key = {CADE2000-W4}}
-
-@PROCEEDINGS{IJCAI95,
- year = {1995},
- editor = {Chris S. Mellish},
- address = {Montreal, Canada},
- publisher = {Morgan Kaufmann, San Mateo, CA},
- booktitle = {Proceedings of the 14\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI1995}}
-
-@PROCEEDINGS{ISEMANTICS2010,
- year = {2010},
- editor = {Adrian Paschke and Nicola Henze and Tassilo Pellegrini and Hans Weigand},
- publisher = {ACM},
- title = {6\textsuperscript{th} International Conference on Semantic Systems ({I-Semantics}) and the 5\textsuperscript{th} International Conference on Pragmatic Web},
- booktitle = {Proceedings of the 6\textsuperscript{th} International Conference on Semantic Systems ({I-Semantics}) and the 5\textsuperscript{th} International Conference on Pragmatic Web},
- keywords = {conference},
- isbn = {978-1-4503-0014-8},
- url = {http://portal.acm.org/citation.cfm?id=1839707},
- key = {ISEMANTICS 2010},
- acceptancerate = {42},
- acceptancerateCOMMENT = {according to Rapha{\"e}l Troncy, \url{http://www.eurecom.fr/~troncy/Publications/index.html}}}
-
-@PROCEEDINGS{UITP96,
- title = {User Interfaces for Theorem Provers},
- year = {1996},
- editor = {Nicholas A. Merriam},
- address = {Department of Computer Science, University of York, UK},
- booktitle = {User Interfaces for Theorem Provers},
- key = {UITP1996}}
-
-@PROCEEDINGS{GWAI89,
- title = {Proceedings of the of 13\textsuperscript{th} GWAI},
- year = {1989},
- editor = {Dieter Metzing},
- number = {216},
- series = {Informatik-Fachberichte},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the of 13\textsuperscript{th} GWAI}}
-
-@PROCEEDINGS{ICOS99,
- title = {Proceedings of Inference in Computational Semantics ICoS-1},
- year = {1999},
- editor = {Christof Monz and Maarten de Rijke},
- address = {Amsterdam},
- publisher = {ILLC},
- booktitle = {Proceedings of Inference in Computational Semantics ICoS-1}}
-
-@PROCEEDINGS{AIED01,
- title = {Artificial Intelligence in Education},
- booktitle = {Artificial Intelligence in Education},
- year = {2001},
- editor = {Johanna D. Moore and Carol Luckhard Redfield and W. Lewis Johnson},
- volume = {68},
- series = {Frontiers in Artificial Intelligence and Applications},
- publisher = {IOS Press}}
-
-@PROCEEDINGS{TABLEAUX96,
- title = {Theorem Proving with Analytic Tableaux and Related Methods},
- year = {1996},
- editor = {P. Moscato and U. Moscato and D. Mundici and M. Ornaghi},
- number = {1071},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Theorem Proving with Analytic Tableaux and Related Methods}}
-
-@PROCEEDINGS{TABLEAUX99,
- title = {Automated Reasoning with Analytic Tableaux and Related Methods},
- year = {1999},
- editor = {Neil Murray},
- number = {1617},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Automated Reasoning with Analytic Tableaux and Related Methods}}
-
-@PROCEEDINGS{IJCAI91,
- year = {1991},
- editor = {John Mylopoulos and Ray Reiter},
- address = {Sydney, Australia},
- publisher = {Morgan Kaufmann, San Mateo, CA},
- booktitle = {Proceedings of the 12\textsuperscript{th} International Joint Conference on Artificial
- Intelligence (IJCAI)},
- key = {IJCAI1991}}
-
-@PROCEEDINGS{IJCAI01,
- year = {2001},
- editor = {Bernhard Nebel},
- address = {Seattle, WA\USA},
- publisher = {Morgan Kaufmann},
- booktitle = {Proceedings of the 17\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI2001}}
-
-@PROCEEDINGS{KI94,
- title = {18\textsuperscript{th} Annual German Conference on Aritificial Intelligence},
- year = {1994},
- editor = {Bernhard Nebel and Leonie Dreschler-Fischer},
- number = {861},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {18\textsuperscript{th} Annual German Conference on Aritificial Intelligence},
- key = {KI1994}}
-
-@PROCEEDINGS{FOSSACS02,
- title = {Foundations of Software Science and Computation Structures (FOSSACS02)},
- year = {2002},
- editor = {Mogens Nielsen and Uffe Engberg},
- number = {2303},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Foundations of Software Science and Computation Structures (FOSSACS02)},
- key = {FOSSACS02}}
-
-@PROCEEDINGS{ECAI84,
- title = {Proceedings of of the 7\textsuperscript{th} European Conference on Artifical Intelligence},
- year = {1984},
- editor = {T. O'Shea},
- address = {Pisa, Italy},
- publisher = {Pitman Publishing, London, England},
- booktitle = {Proceedings of of the 7\textsuperscript{th} European Conference on Artifical Intelligence},
- key = {ECAI1984}}
-
-@PROCEEDINGS{GWAI92,
- title = {GWAI-92: Advances in Artificial Intelligence},
- year = {1993},
- editor = {Hans J{\"u}rgen Ohlbach},
- number = {671},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {GWAI-92: Advances in Artificial Intelligence}}
-
-@PROCEEDINGS{ParisEtAl:nlgiai91,
- title = {Natural Language Generation in Artificial Intelligence and Computational
- Linguistics},
- year = {1991},
- editor = {C{\'e}cile L. Paris and William R. Swartout and William C. Mann},
- address = {Boston, MA, USA},
- publisher = {Kluwer}}
-
-@PROCEEDINGS{JELIA92,
- year = {1992},
- editor = {David Pearce and Gerd Wagner},
- number = {633},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Logics in AI. European Workshop JELIA '92, Berlin, Germany},
- key = {JELIA1992}}
-
-@PROCEEDINGS{ITS2000-W2,
- title = {Proceedings of the Fifth International Conference on Intelligent
- Tutoring Systems---Workshop W2: Adaptive and Intelligent Web-Based
- Education Systems},
- year = {2000},
- editor = {Christoph Peylo},
- address = {Montr{\'e}al, Canada},
- key = {ITS2000-W2}}
-
-@PROCEEDINGS{LPAR94,
- year = {1994},
- editor = {Frank Pfenning},
- number = {822},
- series = {LNAI},
- address = {Kiev, Ukraine},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the International Conference on Logic Programming
- and Automated Reasoning LPAR'94},
- key = {LPAR1994}}
-
-@PROCEEDINGS{IJCAI97,
- year = {1997},
- editor = {Martha E. Pollack},
- address = {Nagoya, Japan},
- publisher = {Morgan Kaufmann},
- booktitle = {Proceedings of the 15\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI1997}}
-
-@PROCEEDINGS{ECAI98,
- title = {Proceedings of of the 13\textsuperscript{th} European Conference on Artifical Intelligence},
- year = {1998},
- editor = {Henri Prade},
- address = {Brighton, UK},
- publisher = {John Wiley \& Sons, Chichester, UK},
- booktitle = {Proceedings of of the 13\textsuperscript{th} European Conference on Artifical Intelligence},
- key = {ECAI1998}}
-
-@PROCEEDINGS{CALCULEMUS06,
- year = {2006},
- editor = {Silvio Ranise and Roberto Sebastiani},
- booktitle = {Proceedings of the 13\textsuperscript{th} Symposium on the Integration of Symbolic
- Computation and Mechanized Reasoning (Calculemus-2006)}}
-
-@PROCEEDINGS{ITS02-TS,
- title = {Proceedings of the ITS 2002 --- Workshop on Empirical Methods for
- Tutorial Dialogue Systems},
- year = {2002},
- editor = {Carolyn Penstein Rose and Vincent Aleven},
- address = {San Sebasti{\'a}n, \SPAIN}}
-
-@Book{EKM05,
- editor = {David G. Schwartz},
- title = {Encyclopedia of Knowledge Management},
- booktitle = {Encyclopedia of Knowledge Management},
- publisher = {Idea Group Reference},
- year = 2005}
-
-@Book{EKM11,
- editor = {David Schwartz and Dov Te'eni},
- title = {Encyclopedia of Knowledge Management},
- booktitle = {Encyclopedia of Knowledge Management},
- publisher = {Idea Group Reference},
- edition = {2},
- year = 2011}
-
-@PROCEEDINGS{CADE84,
- title = {Proceedings of the 7\textsuperscript{th} International Conference on Automated Deduction},
- year = {1984},
- editor = {R. E. Shostak},
- number = {170},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 7\textsuperscript{th} International Conference on Automated Deduction},
- key = {CADE1984}}
-
-@PROCEEDINGS{CADE86,
- title = {Proceedings of the 8\textsuperscript{th} Conference on Automated Deduction},
- year = {1986},
- editor = {J. Siekmann},
- number = {230},
- series = {LNCS},
- address = {Oxford, England},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 8\textsuperscript{th} Conference on Automated Deduction},
- key = {CADE1986}}
-
-@PROCEEDINGS{PTP97,
- title = {Proceedings of the First International Workshop on Proof Transformation
- and Presentation},
- year = {1997},
- editor = {J. Siekmann and F. Pfenning and X. Huang},
- address = {Schloss Dagstuhl\GERMANY},
- booktitle = {Proceedings of the First International Workshop on Proof Transformation
- and Presentation}}
-
-@PROCEEDINGS{SiekmannWrightson:aori83,
- title = {Automation of Reasoning 1: Classical Papers on Computational Logic
- 1957--1966},
- year = {1983},
- editor = {J{\"o}rg Siekmann and Graham Wrightson},
- series = {Symbolic Computation},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{SieWri:aori83,
- title = {Automation of Reasoning},
- year = {1983},
- editor = {J{\"o}rg Siekmann and Graham Wrightson},
- volume = {1 Classical Papers on Computational Logic 1957--1966},
- series = {Symbolic Computation},
- publisher = {Springer Verlag},
- booktitle = {Automation of Reasoning}}
-
-@PROCEEDINGS{SieWri:aorii83,
- title = {Automation of Reasoning},
- year = {1983},
- editor = {J{\"o}rg Siekmann and Graham Wrightson},
- volume = {2 Classical Papers on Computational Logic 1967--1970},
- series = {Symbolic Computation},
- publisher = {Springer Verlag},
- booktitle = {Automation of Reasoning}}
-
-@PROCEEDINGS{AIPS98,
- title = {{\PROC} of the Fourth International Conference on Artificial Intelligence
- Planning Systems ({AIPS-98})},
- year = {1998},
- editor = {R. Simmons and M. Veloso and S. Smith},
- address = {Pittsburgh, PA, USA},
- publisher = {AAAI Press, Menlo Park, CA, USA},
- month = jun,
- booktitle = {{\PROC} of the Fourth International Conference on Artificial Intelligence
- Planning Systems ({AIPS-98})},
- key = {AIPS98}}
-
-@PROCEEDINGS{CALCULEMUS03,
- title = {11\textsuperscript{th} Symposium on the Integration
- of Symbolic Computation and Mechanized Reasoning (Calculemus 2003)},
- booktitle = {Proceedings of the 11\textsuperscript{th} Symposium on the Integration
- of Symbolic Computation and Mechanized Reasoning (Calculemus 2003)},
- url = {http://www.calculemus.net/meetings/rome03/Proceedings/final.pdf},
- year = {2003},
- editor = {Th{\'e}r{\`e}se Hardin and Renaud Rioboo},
- address = {Rome, Italy},
- month = sep}
-
-@PROCEEDINGS{CALCULEMUS04,
- title = {Second International Joint Conference on Automated Reasoning ---
- Workshop on Computer-Supported Mathematical Theory Development},
- year = {2004},
- editor = {Christoph BenzM{\"u}ller and Wolfgang Windsteiger},
- address = {University College Cork, Cork, \IRELAND},
- booktitle = {Second International Joint Conference on Automated Reasoning ---
- Workshop on Computer-Supported Mathematical Theory Development}}
-
-@BOOK{Speck92,
- title = {Grundprobleme der gro{\ss}en Philosophen : Philosophie der Neuzeit.
- Vol. 6. Tarski, Reichenbach, Kraft, G{\"o}del, Neurath},
- publisher = {UTB},
- year = {1992},
- editor = {Speck, Josef},
- volume = {1654},
- series = {UTB f{\"u}r Wissenschaft},
- bibtype = {BOOK},
- crindex = {A.m General Literature, MISCELLANEOUS},
- idnumber = {MPI-I-B-5237},
- isbn = {3-525-03319},
- location = {MPI-ZB},
- shelf = {REFERENCE},
- signature = {Reference},
- status = {available}}
-
-@PROCEEDINGS{ICLP97,
- title = {Proceedings of the 12\textsuperscript{th} International Conference on Logic Programming},
- year = {1995},
- editor = {Leon Sterling},
- address = {Cambridge, MA, USA},
- publisher = {MIT Press},
- booktitle = {Proceedings of the 12\textsuperscript{th} International Conference on Logic Programming},
- isbn = {0-262-69177-9}}
-
-@PROCEEDINGS{CADE90,
- title = {Proceedings of the 10\textsuperscript{th} Conference on Automated Deduction},
- year = {1990},
- editor = {Mark Stickel},
- number = {449},
- series = {LNAI},
- address = {Kaiserslautern, \GERMANY},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 10\textsuperscript{th} Conference on Automated Deduction},
- key = {CADE1990}}
-
-@PROCEEDINGS{sun-giles00,
- title = {Sequence Learning: Paradigms, Algorithms, and Applications},
- year = {2000},
- editor = {Sun, R. and Giles, L.},
- number = {1828},
- series = {LNAI},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{eswc2006,
- title = {The Semantic Web: Research and Applications},
- booktitle = {The Semantic Web: Research and Applications},
- eventtitle = {3\textsuperscript{rd} European Semantic Web Conference (ESWC)},
- venue = {Budva, Montenegro},
- eventdate = {2006-06-11/2006-06-14},
- year = {2006},
- editor = {York Sure and John Domingue},
- number = {4011},
- series = {LNCS},
- publisher = {Springer},
- isbn = {3-540-34544-2}}
-
-@PROCEEDINGS{TABLEAUX98,
- title = {Automated Reasoning with Analytic Tableaux and Related Methods},
- year = {1998},
- editor = {Harry de Swaart},
- number = {1397},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Automated Reasoning with Analytic Tableaux and Related Methods}}
-
-@PROCEEDINGS{ICLP93,
- title = {Proceedings of the 10\textsuperscript{th} International Conference on Logic Programming},
- year = {1993},
- editor = {P. Szeredi},
- publisher = {MIT Press},
- booktitle = {Proceedings of the 10\textsuperscript{th} International Conference on Logic Programming}}
-
-@PROCEEDINGS{ICMS06,
- title = {Proceedings of ICMS 2006},
- year = {2006},
- editor = {N. Takayama and A. Iglesias},
- number = {4151},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of ICMS-2006}}
-
-@BOOK{TarskiGivantMcKenzie86,
- title = {Alfred Tarski : collected papers -- Vol. 1 / 1921--1934},
- publisher = {Birkh{\"a}user},
- year = {1986},
- editor = {Tarski, Alfred and Givant, Stephen and McKenzie, Ralph},
- address = {Basel},
- bibtype = {BOOK},
- crindex = {G.2.0 Mathematics of Computing, DISCRETE MATHEMATICS, General},
- idnumber = {MPI-I-B-4852},
- isbn = {0-8176-3280-8},
- location = {MPI-ZB},
- signature = {Books: Tarski},
- status = {available}}
-
-@BOOK{Thomason:fp74,
- title = {Formal Philosophy: selected Papers of Richard Montague},
- publisher = {Yale University Press, New Haven, CT},
- year = {1974},
- editor = {Thomason, R.}}
-
-@PROCEEDINGS{TPHOL02,
- title = {Theorem Proving in Higher Order Logics: TPHOLs'02},
- year = {2002},
- editor = {V. A. Carreno and C. A. Munoz and S. Tahar},
- number = {2410},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Theorem Proving in Higher Order Logics: TPHOLs'02},
- key = {TPHOLS2002}}
-
-@PROCEEDINGS{CADE02,
- title = {Automated Deduction --- CADE-18},
- year = {2002},
- editor = {Andrei Voronkov},
- number = {2392},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Automated Deduction --- CADE-18},
- key = {CADE2002}}
-
-@PROCEEDINGS{LPAR93,
- year = {1993},
- editor = {Andrei Voronkov},
- number = {698},
- series = {LNAI},
- address = {St. Petersburg, Russia},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the International Conference on Logic Programming
- and Automated Reasoning LPAR'93},
- key = {LPAR1993}}
-
-@PROCEEDINGS{LPAR92,
- title = {Proceedings of the International Conference on Logic Programming
- and Automated Reasoning LPAR'92},
- year = {1992},
- editor = {Andrei Voronkov},
- number = {624},
- series = {LNAI},
- address = {St. Petersburg, Russia},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the International Conference on Logic Programming
- and Automated Reasoning LPAR'92},
- key = {LPAR1992}}
-
-
-
-@inProceedings{BZ:SOBOLEO10,
- author = {Simone Braun and Valentin Zacharias},
- title = {{SOBOLEO} -- A Repository for Living Ontologies},
- crossref = {ORES2010}}
-
-@PROCEEDINGS{semwiki06,
- booktitle = {1\textsuperscript{st} Workshop on Semantic Wikis},
- year = 2006,
- editor = {Max V{\"o}lkel and Sebastian Schaffert and Stefan Decker},
- number = 206,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-206},
- venue = {Budva, Montenegro},
- eventdate = {2006-06-12},
- title = {Proceedings of the 1\textsuperscript{st} Workshop on Semantic Wikis, {European} {Semantic} {Web} {Conference}}}
-
-@PROCEEDINGS{ECAI96,
- title = {Proceedings of the 12\textsuperscript{th} European Conference on Artificial Intelligence},
- year = {1996},
- editor = {Wolfgang Wahlster},
- address = {Budapest, Hungary},
- publisher = {John Wiley \& Sons, Chichester, UK},
- month = aug,
- booktitle = {Proceedings of the 12\textsuperscript{th} European Conference on Artificial Intelligence},
- key = {ECAI1996}}
-
-@PROCEEDINGS{IJCAI73,
- title = {Proceedings of the 3\textsuperscript{rd} International Joint Conference on Artificial
- Intelligence},
- year = {1973},
- editor = {Donald E. Walker and Lewis Norton},
- booktitle = {Proceedings of the 3\textsuperscript{rd} International Joint Conference on Artificial
- Intelligence},
- key = {IJCAI1973}}
-
-@PROCEEDINGS{IJCAI69,
- year = {1969},
- editor = {Donald E. Walker and Lewis Norton},
- booktitle = {Proceedings of the 1\textsuperscript{st} International Joint Conference on Artificial
- Intelligence},
- key = {IJCAI1969}}
-
-@PROCEEDINGS{ISSAC92,
- title = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'92)},
- year = {1992},
- editor = {P. S. Wang},
- publisher = {ACM Press},
- booktitle = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'92)},
- key = {ISSAC1992}}
-
-@PROCEEDINGS{ISSAC00,
- title = {Proceedings of 2000 International Symposium on Symbolic and Algebraic Computation (ISSAC'00)},
- year = {1992},
- editor = {Carlo Traverso},
- publisher = {ACM Press},
- booktitle = {Proceedings of 2000 International Symposium on Symbolic and Algebraic Computation (ISSAC'00)},
- key = {ISSAC2000},
- isbn = {1-58113-218-2}}
-
-@PROCEEDINGS{ISSAC2010,
- title = {Proceedings of the 2010 International Symposium on Symbolic and Algebraic Computation (ISSAC)},
- year = {2010},
- publisher = {ACM Press},
- booktitle = {Proceedings of the 2010 International Symposium on Symbolic and Algebraic Computation (ISSAC)}}
-
-
-@PROCEEDINGS{DEDTREFF94,
- year = {1994},
- editor = {Wolfgang Bibel, Christoph Walther},
- number = {AIDA-94-06},
- series = {Forschungsbericht, FB Informatik, TH Darmstadt},
- address = {Darmstadt, Germany},
- booktitle = {Informal Proc. of the 11\textsuperscript{th} Annual Meeting of the ``GI-Fachgruppe
- Deduktionssysteme''}}
-
-@PROCEEDINGS{TPHOL96,
- title = {Theorem Proving in Higher Order Logics: TPHOLs'96},
- year = {1996},
- editor = {von Wright J. and Jim Grundy and John Harrison},
- number = {1125},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Theorem Proving in Higher Order Logics: TPHOLs'96},
- key = {TPHOLS1996}}
-
-@PROCEEDINGS{EWNLG93,
- title = {Proceedings of the 4\textsuperscript{th} European Workshop on Natural Language Generation},
- year = {1993},
- editor = {Michael Zock and Giovanni Adorni and Giacomo Ferrari}}
-
-@PROCEEDINGS{xtech05,
- title = {XTech 2005: XML, the Web and beyond.},
- year = {2005},
- address = {Amsterdam, The Netherlands},
- url = {http://www.idealliance.org/proceedings/xtech05/},
- organization = {IDEAlliance},
- booktitle = {XTech 2005: XML, the Web and beyond.}}
-
-
-@PROCEEDINGS{EACL03-DS,
- title = {10\textsuperscript{th} Conference of the European Chapter of the Association for Computational
- Linguistics---Proceedings of the Workshop on Dialogue Systems: interaction,
- adaptation and styles of management},
- year = {2003},
- address = {Budapest, \HUNGARY}}
-
-@PROCEEDINGS{QPQ03,
- title = {First QPQ Workshop on Deductive Software Components},
- year = {2003},
- address = {CADE-19, Miami, USA},
- booktitle = {First QPQ Workshop on Deductive Software Components},
- key = {QPQ03}}
-
-@PROCEEDINGS{UNIF03,
- title = {17\textsuperscript{th} Workshop on Unification},
- year = {2003},
- address = {Valencia, Spain},
- booktitle = {17\textsuperscript{th} Workshop on Unification},
- key = {UNIF2003}}
-
-@PROCEEDINGS{WADT03,
- title = {Recent Trends in Algebraic Development Techniques},
- year = {2003},
- number = {2755},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Recent Trends in Algebraic Development Techniques},
- key = {WADT03}}
-
-@PROCEEDINGS{WADT06,
- booktitle = {WADT 2006},
- title = {WADT 2006},
- year = {2007},
- editor = {J. Fiadeiro},
- series = {LNCS},
- number = {4409},
- publisher = {Springer}}
-
-@PROCEEDINGS{WADT10,
- booktitle = "Recent Trends in Algebraic Development Techniques",
- editor = "H. Kreowski and T. Mossakowski",
- number = 7137,
- year = "2011",
- publisher = "{Springer}",
- keywords = {conference},
- series = {LNCS}}
-
-@PROCEEDINGS{WADT12,
- year = 2013,
- booktitle = {Recent Trends in Algebraic Development Techniques},
- editor = {Till Mossakowski and Narciso Mart{\'i}-Oliet and Palomino Tarjuelo, Miguel},
- eventtitle = {WADT 2012, 21\textsuperscript{st} International Workshop on Algebraic Development Techniques},
- venue = {Salamanca, Spain},
- eventdate = {2012-06-07/2012-06-10},
- series = {LNCS},
- number = 7841,
- publisher = {Springer},
- keywords = {conference}}
-
-
-@PROCEEDINGS{MathML02,
- key = {MathML02},
- title = {Second International Conference on MathML and Technologies for Math
- on the Web},
- year = {2002},
- address = {Chicago, USA},
- booktitle = {Second International Conference on MathML and Technologies for Math
- on the Web}}
-
-@PROCEEDINGS{ACL00,
- year = {2000},
- address = {Hongkong},
- booktitle = {Proceedings of the 38\textsuperscript{th} Annual Meeting of the Association for Computational
- Linguistics}}
-
-@PROCEEDINGS{MathML00,
- title = {MathML and Math on the Web: MathML International Conference},
- booktitle = {MathML and Math on the Web: MathML International Conference},
- year = {2000},
- address = {Urbana Champaign, USA},
- month = oct}
-
-@PROCEEDINGS{TACAS00,
- title = {Proceedings of the Sixth International Conference on Tools and Algorithms
- for the Construction and Analysis of Systems TACAS-2000},
- year = {2000},
- series = {LNCS},
- address = {Berlin, Germany},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the Sixth International Conference on Tools and Algorithms
- for the Construction and Analysis of Systems, TACAS-2000},
- key = {TACAS2000}}
-
-@PROCEEDINGS{TACAS07,
- title = {Proceedings of the 13\textsuperscript{th} International Conference on Tools and Algorithms
- for the Construction and Analysis of Systems TACAS-2007},
- year = {2007},
- series = {LNCS},
- number = 4424,
- address = {Berlin, Germany},
- editor = {Orna Grumberg and Michael Huth},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 13\textsuperscript{th} International Conference on Tools and Algorithms
- for the Construction and Analysis of Systems TACAS-2007},
- key = {TACAS2007}}
-
-@PROCEEDINGS{AAAI99,
- title = {Proceedings of the {Sixteenth National Conference on Artificial Intelligence
- (AAAI-99)} and {Eleventh Innovative Application of Artificial Intelligence
- Conference (IAAI-99)}},
- year = {1999},
- publisher = {{AAAI} Press},
- booktitle = {Proceedings of the {Sixteenth National Conference on Artificial Intelligence
- (AAAI-99)} and {Eleventh Innovative Application of Artificial Intelligence
- Conference (IAAI-99)}}}
-
-@PROCEEDINGS{EWNLG99,
- title = {\PROC of the 7\textsuperscript{th} European Workshop on Natural Language Generation},
- year = {1999},
- address = {Toulouse France },
- booktitle = {\PROC of the 7\textsuperscript{th} European Workshop on Natural Language Generation}}
-
-@PROCEEDINGS{ISSAC99,
- title = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'99)},
- year = {1999},
- publisher = {ACM Press},
- booktitle = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'99)},
- key = {ISSAC1999}}
-
-@PROCEEDINGS{AAAI96,
- title = {Proceedings of the {Thirteenth National Conference on Artificial
- Intelligence AAAI-96}},
- year = {1998},
- publisher = {{MIT} Press},
- booktitle = {Proceedings of the {Thirteenth National Conference on Artificial
- Intelligence AAAI-96}}}
-
-@PROCEEDINGS{AAAI98,
- title = {Proceedings of the {Fifteenth National Conference on Artificial Intelligence
- AAAI-98} and {Tenth Conference on Innovative Application of Artificial
- Intelligence IAAI-98}},
- year = {1998},
- publisher = {{MIT} Press},
- booktitle = {Proceedings of the {Fifteenth National Conference on Artificial Intelligence
- AAAI-98} and {Tenth Conference on Innovative Application of Artificial
- Intelligence IAAI-98}}}
-
-@PROCEEDINGS{INLG98,
- title = {Proceedings of the 9\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Generation}},
- year = {1998},
- address = {Niagara-on-the-Lake, Ontario, \CANADA},
- organization = {INLG},
- booktitle = {Proceedings of the 9\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Generation}},
- key = {INLG1998}}
-
-@PROCEEDINGS{JELIA98,
- year = {1998},
- number = {1489},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Logics in Artificial Intelligence. European Workshop JELIA '98},
- journal = {LNCS}}
-
-@PROCEEDINGS{AAAI97,
- title = {Proceedings of the {Fourteenth National Conference on Artificial
- Intelligence AAAI-97}},
- year = {1997},
- publisher = {{MIT} Press},
- booktitle = {Proceedings of the {Fourteenth National Conference on Artificial
- Intelligence AAAI-97}},
- venue = {Stanford, USA},
- eventdate = {1997-03}}
-
-@PROCEEDINGS{ACL97,
- year = {1997},
- address = {Madrid, \SPAIN},
- booktitle = {Proceedings of the 35\textsuperscript{th} Annual Meeting of the Association for Computational
- Linguistics and the 8\textsuperscript{th} Conference of the European Chapter of the
- Association for Computational Linguistics}}
-
-@PROCEEDINGS{ISSAC97,
- title = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'97)},
- year = {1997},
- address = {Hawaii},
- publisher = {ACM Press},
- booktitle = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'97)},
- key = {ISSAC1997}}
-
-@PROCEEDINGS{INLG96,
- title = {Proceedings of the 8\textsuperscript{th} International Natural Language Generation
- Workshop},
- year = {1996},
- address = {Herstmonceux Castle, Sussex, UK},
- booktitle = {Proceedings of the 8\textsuperscript{th} International Natural Language Generation
- Workshop},
- key = {INLG1996}}
-
-@PROCEEDINGS{JELIA96,
- year = {1996},
- number = {1126},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Logics in Artificial Intelligence. European Workshop JELIA '96},
- title = {Logics in Artificial Intelligence. European Workshop JELIA '96},
- key = {JELIA1996}}
-
-@PROCEEDINGS{EWNLG95,
- title = {\PROC of the 5\textsuperscript{th} European Workshop on Natural Language Generation},
- year = {1995},
- address = {Leiden, \NETHERLANDS},
- publisher = {Rijks University Leiden},
- booktitle = {Proceedings of the 5\textsuperscript{th} European Workshop on Natural Language Generation}}
-
-@PROCEEDINGS{ISSAC95,
- title = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'95)},
- year = {1995},
- publisher = {ACM Press},
- booktitle = {Proceedings of International Symposium on Symbolic and Algebraic
- Computation (ISSAC'95)},
- key = {ISSAC1995}}
-
-@PROCEEDINGS{UITP95,
- title = {{International Workshop on User Interface Design for Theorem Proving
- Systems}},
- year = {1995},
- address = {Glasgow},
- booktitle = {{International Workshop on User Interface Design for Theorem Proving
- Systems}},
- key = {UITP1995}}
-
-@PROCEEDINGS{WSMTG-IJCAI95,
- title = {Proceedings of the IJCAI-95 Workshop on Multilingual Text Generation},
- year = {1995},
- address = {Montreal, \CANADA},
- booktitle = {Proceedings of the IJCAI-95 Workshop on Multilingual Text Generation}}
-
-@PROCEEDINGS{COGSCI94,
- title = {Proceedings of the 16\textsuperscript{th} Annual Conference of the Cognitive Science
- Society},
- year = {1994}}
-
-@PROCEEDINGS{COLING94,
- title = {Proceedings of the 15\textsuperscript{th} {International} {Conference} on {Computational}
- {Linguistics}},
- year = {1994},
- address = {Kyoto, Japan},
- publisher = {Morgan Kaufmann},
- booktitle = {Proceedings of the 15\textsuperscript{th} {International} {Conference} on {Computational}
- {Linguistics}}}
-
-@proceedings{COLING00,
- title = {{COLING 2000,} 18\textsuperscript{th} {International} {Conference} on {Computational} {Linguistics}},
- booktitle = {COLING 2000, 18\textsuperscript{th} {International} {Conference} on {Computational} {Linguistics}},
- publisher = {Morgan Kaufmann},
- year = {2000},
- ee = {http://aclweb.org/anthology/C/C00/}
-}
-
-@PROCEEDINGS{INLG94,
- title = {Proceedings of the 7\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Generation}},
- year = {1994},
- address = {Kennebunkport, ME},
- organization = {INLG},
- booktitle = {Proceedings of the 7\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Generation}},
- key = {INLG1994}}
-
-@PROCEEDINGS{LICS94,
- title = {Proceedings of the 9\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-9)},
- year = {1994},
- address = {Paris, France},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the 9\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-9)},
- key = {LICS1994}}
-
-@PROCEEDINGS{POPL94,
- title = {Proceedings of the 21\textsuperscript{st} ACM Symposium on Principles of Programming
- Languages},
- year = {1994},
- address = {New York, NY},
- publisher = {ACM},
- month = jan,
- organization = {ACM},
- booktitle = {Proceedings of the 21\textsuperscript{st} ACM Symposium on Principles of Programming
- Languages},
- key = {POPL1994}}
-
-@PROCEEDINGS{WGENERATION94,
- title = {Proceedings of 7\textsuperscript{th} International Workshop on Generation},
- year = {1994},
- address = {Kennebunkport, Maine, USA},
- booktitle = {Proceedings of 7\textsuperscript{th} International Workshop on Generation}}
-
-@PROCEEDINGS{HOA93,
- year = {1993},
- number = {816},
- series = {LNCS},
- address = {Amsterdam, The Netherlands},
- publisher = {Springer Verlag},
- booktitle = {HOA'93, an International Workshop on Higher-order Algebra, Logic
- and Term Rewriting},
- key = {HOA1993}}
-
-@PROCEEDINGS{IAAI93,
- title = {Proceedings of the 5\textsuperscript{th} Innovative Applications of Artificial Intelligence
- Conference},
- year = {1993}}
-
-@PROCEEDINGS{ISMVL93,
- year = {1993},
- address = {Sacramento, CA},
- publisher = {IEEE Press},
- booktitle = {Proceedings of the 23\textsuperscript{rd} Intrenational Symposium on Multiple Valued
- Logic},
- key = {ISMVL1993}}
-
-@PROCEEDINGS{LICS93,
- title = {Proceedings of the 8\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-8)},
- year = {1993},
- address = {Montreal, Canada},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the 8\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-8)},
- key = {LICS1993}}
-
-@PROCEEDINGS{PACL93,
- title = {Proceedings of the 1\textsuperscript{st} Conference of the Pacific Association for
- Computational Linguistics},
- year = {1993},
- address = {Vancouver, \CANADA},
- publisher = {Centre for Systems Science, Simon Fraser University}}
-
-@PROCEEDINGS{CTRS92,
- year = {1992},
- number = {656},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the third International Workshop on Conditional Term
- Rewriting Systems, Pont-a-Mousson, France},
- key = {CTRS1992}}
-
-@PROCEEDINGS{LICS91,
- title = {Proceedings of the 6\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-6)},
- year = {1992},
- address = {Amsterdam, NL},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the 6\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-6)},
- key = {LICS1991}}
-
-@PROCEEDINGS{LICS92,
- title = {Proceedings of the 7\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-7)},
- year = {1992},
- address = {Santa Cruz, CA, USA},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the 7\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-7)},
- key = {LICS1992}}
-
-@PROCEEDINGS{AAAI91,
- title = {Proceedings of AAAI-91},
- year = {1991},
- publisher = {Morgan Kaufman}}
-
-@PROCEEDINGS{SLDI91,
- title = {Proceedings of the SIGPLAN '91 Symposion on Language Design and Implementation,
- Toronto, Canada},
- year = {1991},
- publisher = {ACM Press},
- booktitle = {Proceedings of the SIGPLAN '91 Symposion on Language Design and Implementation,
- Toronto, Canada}}
-
-@PROCEEDINGS{ACL89,
- title = {Proceedings of the 27\textsuperscript{th} Annual Meeting of the Association for Computational
- Linguistics},
- year = {1989},
- address = {Vancouver, British Columbia}}
-
-@PROCEEDINGS{LICS89,
- title = {Proceedings of the 4\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-4)},
- year = {1989},
- address = {Pacific Grove, CA, USA},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the 4\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-4)},
- key = {LICS1989}}
-
-@PROCEEDINGS{LICS90,
- title = {Proceedings of the 5\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-5)},
- year = {1989},
- address = {Philadelphia, PA, USA},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the 5\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science (LICS-5)},
- key = {LICS1990}}
-
-@PROCEEDINGS{STACS89,
- year = {1989},
- number = {349},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings STACS'89}}
-
-@PROCEEDINGS{LICS88,
- title = {Proceedings of the third Annual IEEE Symposium on Logic in Computer
- Science (LICS-3)},
- year = {1988},
- address = {Edinburgh, Great Britain},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the third Annual IEEE Symposium on Logic in Computer
- Science (LICS-3)},
- key = {LICS1988}}
-
-@PROCEEDINGS{ILPS87,
- title = {IEEE Symposium on Logic Programming},
- year = {1987},
- address = {Salt Lake City},
- booktitle = {IEEE Symposium on Logic Programming}}
-
-@PROCEEDINGS{LICS87,
- title = {Proceedings of the second Annual IEEE Symposium on Logic in Computer
- Science (LICS-2)},
- year = {1987},
- address = {Ithaca, NY, USA},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the second Annual IEEE Symposium on Logic in Computer
- Science (LICS-2)},
- key = {LICS1987}}
-
-@PROCEEDINGS{LFP86,
- title = {Proceedings ACM Conference on LISP and Functional Programming},
- year = {1986},
- booktitle = {Proceedings ACM Conference on LISP and Functional Programming}}
-
-@PROCEEDINGS{LICS86,
- title = {Proceedings of the first Annual IEEE Symposium on Logic in Computer
- Science (LICS-1)},
- year = {1986},
- address = {Cambridge, MA, USA},
- publisher = { IEEE Computer Society Press},
- booktitle = {Proceedings of the first Annual IEEE Symposium on Logic in Computer
-
- Science (LICS-1)},
- key = {LICS1986}}
-
-@PROCEEDINGS{POPL84,
- title = {Proc of the 11\textsuperscript{th} ACM Symposium on Principles of Programming Languages},
- year = {1984},
- address = {New York},
- organization = {ACM},
- booktitle = {Proc of the 11\textsuperscript{th} ACM Symposium on Principles of Programming Languages}}
-
-@PROCEEDINGS{LFP82,
- title = {Proceedings ACM Conference on LISP and Functional Programming},
- year = {1982},
- booktitle = {Proceedings ACM Conference on LISP and Functional Programming}}
-
-@PROCEEDINGS{CADE80,
- title = {Proceedings of the 5\textsuperscript{th} International Conference on Automated Deduction},
- year = {1980},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the 5\textsuperscript{th} International Conference on Automated Deduction},
- key = {CADE1980}}
-
-@PROCEEDINGS{IJCAI77,
- year = {1977},
- publisher = {Morgan Kaufmann, San Mateo, California, USA},
- booktitle = {Proceedings of the 5\textsuperscript{th} International Joint Conference on Artificial
- Intelligence (IJCAI)},
- key = {IJCAI1977}}
-
-@PROCEEDINGS{EUROSAM79,
- title = {Proceedings of the International Symposion on Symbolic and Algebraic
- Manipulation EUROSAM+79},
- year = {1976},
- number = {72},
- series = {LNCS},
- publisher = {Springer Verlag},
- booktitle = {Proceedings of the International Symposion on Symbolic and Algebraic
- Manipulation EUROSAM+79}}
-
-@PROCEEDINGS{ACM72,
- title = {Proceedings of the ACM annual Conference 1972},
- year = {1972},
- booktitle = {Proceedings of the ACM annual Conference }}
-
-@PROCEEDINGS{SAD70,
- title = {Symposium on Automatic Demonstration},
- year = {1970},
- number = {125},
- series = {LNM},
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{IFIP68,
- title = {Proceedings of IFIP Congress in Information Processing},
- year = {1968},
- volume = {68},
- publisher = {North Holland, Amsterdam},
- booktitle = {Proceedings of IFIP Congress in Information Processing}}
-
-@PROCEEDINGS{MKM01,
- title = {Electronic Proceedings of the First International Workshop on Mathematical
- Knowledge Management: {MKM'2001}},
- year = {2001},
- editor = {Bruno Buchberger and Olga Caprotti},
- url = {http://www.risc.uni-linz.ac.at/institute/conferences/MKM2001/Proceedings/},
- booktitle = {Electronic Proceedings of the First International Workshop on Mathematical
- Knowledge Management: {MKM'2001}}}
-
-@proceedings{ekaw2002,
- editor = {Asunci{\'o}n G{\'o}mez-P{\'e}rez and
- V. Richard Benjamins},
- title = {Knowledge Engineering and Knowledge Management. Ontologies
- and the Semantic Web},
- booktitle = {Knowledge Engineering and Knowledge Management. Ontologies
- and the Semantic Web},
- eventtitle = {13\textsuperscript{th} International Conference, EKAW},
- venue = {Sig{\"u}enza, Spain},
- eventdate = {2002-10-01/2002-10-04},
- publisher = {Springer},
- series = {LNCS},
- number = {2473},
- year = {2002},
- isbn = {3-540-44268-5}}
-
-@proceedings{ekaw2008,
- editor = {Aldo Gangemi and J{\'e}r{\^o}me Euzenat},
- title = {Knowledge Engineering: Practice and Patterns},
- booktitle = {Knowledge Engineering: Practice and Patterns},
- eventtitle = {16\textsuperscript{th} International Conference, {EKAW}},
- venue = {Acitrezza, Italy},
- eventdate = {2008-09-29/2008-10-02},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {5268},
- year = {2008},
- isbn = {978-3-540-87695-3}}
-
-@Proceedings{WebALT2006,
- title = {Proceedings of WebALT 2006, First WebALT Conference and Exhibition},
- year = 2006,
- editor = {Mika Sepp{\"a}l{\"a} and Sebastian Xamb{\'o} and Olga Caprotti},
- isbn = {952-99666-0-1},
- venue = {Eindhoven, Netherlands},
- eventdate = {2006-01-05/2006-01-06},
- publisher = {Oy WebALT Inc}}
-
-@Proceedings{EdMedia2008,
- title = {Proceedings of the World Conference on Educational Multimedia, Hypermedia \& Telecommunications 2008 (ED-MEDIA'08)},
- booktitle = {Proceedings of the World Conference on Educational Multimedia, Hypermedia \& Telecommunications 2008 (ED-MEDIA'08)},
- year = 2008,
- key = {EdMedia2008},
- venue = { Vienna, Austria },
- eventdate = {2008-06},
- month = jun,
- publisher = {AACE}}
-
-@Proceedings{EdMedia2007,
- title = {Proceedings of the World Conference on Educational Multimedia, Hypermedia \& Telecommunications 2007 (ED-MEDIA'07)},
- booktitle = {Proceedings of the World Conference on Educational Multimedia, Hypermedia \& Telecommunications 2007 (ED-MEDIA'07)},
- editor = {Craig Montgomerie and Jane Seale},
- year = 2007,
- key = {EdMedia2007},
- annote = {Vancouver, Canada},
- month = jun,
- publisher = {AACE}}
-
-
-
-
-@Proceedings{MuC2007,
- title = {{Mensch \& Computer 2007: Interaktion im Plural}},
- year = 2007,
- key = {MuC2007},
- editor = {Tom Gross},
- series = {{Konferenzreihe Mensch und Computer}},
- number = {7},
- address = {Bauhaus-Universit{\"a}t Weimar, Germany},
- month = sep,
- publisher = {Oldenbourg Verlag},
- annote = {7.te Fach{\"u}bergreifende Konferenz}}
-
-@Proceedings{MathUI04,
- editor = {Paul Libbrecht},
- title = {Mathematical User Interfaces Workshop 2004},
- booktitle = {Mathematical User Interfaces},
- howpublished = {online at {\url{http://www.activemath.org/~paul/MathUI04}}},
- url = {http://www.activemath.org/~paul/MathUI04},
- year = 2004}
-
-@Proceedings{MathUI06,
- editor = {Paul Libbrecht},
- title = {Mathematical User-Interfaces Workshop 2006},
- booktitle = {Mathematical User Interfaces Workshop 2006},
- url = {http://www.activemath.org/~paul/MathUI06},
- year = 2006}
-
-@Proceedings{MathUI07,
- editor = {Paul Libbrecht},
- title = {Mathematical User-Interfaces Workshop 2007 at {MKM}},
- booktitle = {Mathematical User Interfaces Workshop 2007},
- howpublished = {online at {\url{http://www.activemath.org/~paul/MathUI07}}},
- url = {http://www.activemath.org/~paul/MathUI07},
- year = 2007,
- month = jun}
-
-@Proceedings{MathUI12,
- editor = {Paul Libbrecht},
- title = {Mathematical User-Interfaces Workshop 2012 at {CICM}},
- booktitle = {Mathematical User Interfaces Workshop 2012},
- howpublished = {online at {\url{http://www.cermat.org/events/MathUI/12/}}},
- url = {http://www.cermat.org/events/MathUI/12/},
- year = 2012,
- month = jun}
-
-@Proceedings{SCOOP07,
- editor = {Christine M{\"u}ller},
- title = {{1\textsuperscript{st} Workshop on Scientific COmmunities Of Practice}},
- booktitle = {{Proceedings of the 1\textsuperscript{st} SCooP Workshop}},
- howpublished = {online at {\url{http://kwarc.info/events/scoop/scoop1.html}}},
- url = {http://kwarc.info/events/scoop/scoop1.html},
- year = 2007}
-
-@Proceedings{MC07,
- editor = {Tom Gross},
- title = {7. Konferenz f{\"u}r interaktive und kooperative Medien},
- booktitle = {Mensch und Computer 2007},
- publisher = {Oldenburg},
- year = 2007}
-
-@Proceedings{LWA07,
- editor = {Alexander Hinneburg},
- title = {{Wissens- und Erfahrungsmanagement LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) conference proceedings}},
- booktitle = {{Wissens- und Erfahrungsmanagement LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) conference proceedings}},
- institution = {Martin-Luther University Halle-Wittenberg},
- publisher = {Martin-Luther-University Halle-Wittenberg},
- year = {2007}}
-
-
-
-@PROCEEDINGS{DeLFI06,
- title = {Proceedings of the 4\textsuperscript{th} eLearning Fachtagung Informatik --- DeLFI 2006},
- year = {2006},
- editor = {Max M{\"u}hlh{\"a}user and Guido R{\"o}ssling and Ralf Steinmetz},
- booktitle = {Proceedings of the 4\textsuperscript{th} eLearning Fachtagung Informatik --- DeLFI 2006},
- volume = {P-87},
- publisher = {K{\"o}llen Druck Verlag GmbH, Bonn}}
-
-@PROCEEDINGS{CSCL05,
- title = {Proceedings of the CSCL 2005},
- year = {2005},
- place = {Taipei, Taiwan},
- editor = {...},
- booktitle = {Proceedings of the CSCL 2005},
- volume = {...},
- publisher = {...}}
-
-@PROCEEDINGS{LC87,
- booktitle = {Logic Colloquium '87},
- title = {Logic Colloquium '87},
- place = {Taipei, Taiwan},
- editor = {H. J. Ebbinghaus},
- publisher = {North Holland}}
-
-
-@Book{MatZal:fip07,
- title = {From Insight to Proof: Festschrift in Honour of Andrzej Trybulec},
- booktitle = {From Insight to Proof: Festschrift in Honour of Andrzej Trybulec},
- series = {Studies in Logic, Grammar and Rhetoric},
- editor = {Matuszewski, R. and Zalewska, A.},
- publisher = {University of Bia{\l}ystok},
- year = {2007},
- volume = {10:23},
- url={http://mizar.org/trybulec65/}}
-
-@Proceedings{ICSE04,
- booktitle = {26\textsuperscript{th} IEEE International Conference on Software Engineering},
- title = {26\textsuperscript{th} IEEE International Conference on Software Engineering},
- year = 2004}
-
-@proceedings{ICSE06,
- title = {ICSE '06: Proceedings of the 28\textsuperscript{th} international conference on Software engineering},
- booktitle = {ICSE '06: Proceedings of the 28\textsuperscript{th} international conference on Software engineering},
- year = {2006},
- isbn = {1-59593-375-1},
- location = {Shanghai, China},
- doi = {10.1145/1134285.1134312},
- url = {http://doi.acm.org/10.1145/1134285.1134312},
- publisher = {ACM},
- address = {New York, NY, USA}
- }
-
-@proceedings{eswc2005,
- editor = {Asunci{\'o}n G{\'o}mez-P{\'e}rez and
- J{\'e}r{\^o}me Euzenat},
- title = {The Semantic Web: Research and Applications},
- booktitle = {The Semantic Web: Research and Applications},
- eventtitle = {2\textsuperscript{nd} European
- Semantic Web Conference (ESWC)},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2005-05-29/2005-06-01},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {3532},
- year = {2005},
- isbn = {3-540-26124-9}}
-
-@proceedings{eswc2007,
- editor = {Enrico Franconi and
- Michael Kifer and
- Wolfgang May},
- title = {The Semantic Web: Research and Applications},
- booktitle = {The Semantic Web: Research and Applications},
- eventtitle = {4\textsuperscript{th} European Semantic Web Conference (ESWC)},
- venue = {Innsbruck, Austria},
- eventdate = {2007-06-03/2007-06-07},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {4519},
- year = {2007},
- isbn = {978-3-540-72666-1}}
-
-@proceedings{eswc2008,
- editor = {Sean Bechhofer and Manfred Hauswirth and J{\"o}rg Hoffmann and
- Manolis Koubarakis},
- title = {The Semantic Web: Research and Applications},
- booktitle = {The Semantic Web: Research and Applications},
- keywords = {conference},
- eventtitle = {5\textsuperscript{th} European Semantic Web Conference (ESWC)},
- venue = {Tenerife, Spain},
- eventdate = {2008-06-01/2008-06-05},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {5021},
- year = {2008}}
-
-@proceedings{eswc2009,
- editor = {Lora Aroyo and Paolo Traverso and Fabio Ciravegna and Philipp Cimiano and Tom Heath and Eero Hyv{\"o}nen and Riichiro Mizoguchi and Eyal Oren and Marta Sabou and Paslaru Bontas Simperl, Elena},
- title = {The Semantic Web: Research and Applications},
- eventtitle = {6\textsuperscript{th} European Semantic Web Conference (ESWC)},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2009-05-31/2009-06-04},
- booktitle = {ESWC},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {5554},
- year = {2009}}
-
-@comment{Note: part=1 doesn't work here; it only works with the volume field, but for series like LNCS, number is correct}
-@proceedings{eswc2010-1,
- editor = {Lora Aroyo and Grigoris Antoniou and Eero Hyv{\"o}nen and Annette ten Teije and Heiner Stuckenschmidt and Liliana Cabral and Tania Tudorache},
- year = {2010},
- title = {The Semantic Web: Research and Applications (Part I)},
- booktitle = {The Semantic Web: Research and Applications (Part I)},
- eventtitle = {7\textsuperscript{th} Extended Semantic Web Conference (ESWC)},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2010-05-30/2010-06-03},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {6088}}
-
-@comment{Note: part=2 doesn't work here; it only works with the volume field, but for series like LNCS, number is correct}
-@proceedings{eswc2010-2,
- editor = {Lora Aroyo and Grigoris Antoniou and Eero Hyv{\"o}nen and Annette ten Teije and Heiner Stuckenschmidt and Liliana Cabral and Tania Tudorache},
- year = {2010},
- title = {The Semantic Web: Research and Applications (Part II)},
- booktitle = {The Semantic Web: Research and Applications (Part II)},
- keywords = {conference},
- eventtitle = {7\textsuperscript{th} Extended Semantic Web Conference (ESWC)},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2010-05-30/2010-06-03},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {6089}}
-
-@proceedings{swui2008,
- editor = {Duane Degler and schraefel, mc and Jennifer Golbeck and Abraham Bernstein and Lloyd Rutledge},
- title = {Semantic Web User Interaction (SWUI), {CHI}},
- subtitle = {Exploring HCI Challenges},
- eventdate = {2008-04-05},
- venue = {Florence, Italy},
- booktitle = {Semantic Web User Interaction (SWUI), {CHI}},
- year = {2008},
- number = 543,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- url = {http://CEUR-WS.org/Vol-543},
- issn = {1613-0073}}
-
-@proceedings{chi2008,
- title = {Proceedings of the 2008 Conference on Human Factors in Computing
- Systems (CHI)},
- eventdate = {2008-04-05/2008-04-10},
- venue = {Florence, Italy},
- booktitle = {CHI},
- publisher = {ACM},
- year = {2008}}
-
-@proceedings{chi2007,
- editor = {Mary Beth Rosson and David J. Gilmore},
- title = {Proceedings of the 2007 Conference on Human Factors in Computing
- Systems, CHI 2007, San Jose, California, USA, April 28 -
- May 3, 2007},
- booktitle = {CHI},
- publisher = {ACM},
- year = {2007},
- isbn = {978-1-59593-593-9},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@proceedings{chi1990,
- editor = {Jane Carrasco Chew and John Whiteside},
- title = {Conference on Human Factors in Computing Systems (CHI)},
- booktitle = {Conference on Human Factors in Computing Systems (CHI)},
- publisher = {ACM},
- address = {New York, NY, USA},
- year = {1990},
- eventdate = {1990},
- venue = {Seattle, WA, USA},
- isbn = {0-201-50932-6}}
-
-@Proceedings{LWA08,
- editor = {Joachim Baumeister and Martin Atzm{\"u}ller},
- title = {{Wissens- und Er\-fah\-rungs\-ma\-nage\-ment LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) Conference Proceedings}},
- booktitle = {{Wissens- und Erfahrungsmanagement LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) Conference Proceedings}},
- type = {Technical Report},
- volume = {448},
- institution = {Universit{\"a}t W{\"u}rzburg},
- year = {2008},
- month = oct}
-
-@techreport{LWA09,
- author = {Melanie Hartmann and Frederik Janssen},
- title = {{LWA 2009; Workshop-Woche: Lernen -- Wissen -- Adaptivit{\"a}t}},
- volume = {TUD-KE-2009-04},
- institution = {Universit{\"a}t Darmstadt},
- year = 2009,
- month = sep,}
-
-@PROCEEDINGS{LWA15,
- title = {Proceedings of the LWA 2015 Workshops: KDML, FGWM, IR, and FGDB},
- booktitle = {Proceedings of the LWA 2015 Workshops: KDML, FGWM, IR, and FGDB},
- editor = {Ralph Bergmann and Sebastian G{\"o}rg and Gilbert M{\"u}ller},
- institution = {FGDB. Trier, Germany},
- year = 2015,
- month = oct}
-
-@PROCEEDINGS{LWA13,
- title = {Wissens- und Er\-fah\-rungs\-ma\-nage\-ment LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) Conference Proceedings},
-booktitle = {LWA 2013 - Lernen, Wissen & Adaptivit{\"a}t, Workshop Proceedings, Bamberg, 7.-9. October 2013},
- editor = {Henrich, Andreas and Sperker, Hans-Christian},
- institution = {Universit{\"a}t Bamberg},
- year = 2013,
- month = oct,
-}
-
-@PROCEEDINGS{LWA11,
- title = {Wissens- und Er\-fah\-rungs\-ma\-nage\-ment LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) Conference Proceedings},
- booktitle = {Wissens- und Er\-fah\-rungs\-ma\-nage\-ment LWA (Lernen, Wissensentdeckung und Adaptivit{\"a}t) Conference Proceedings},
- institution = {Otto-von-Guericke-Universit{\"a}t Magdeburg},
- year = 2011,
- month = sep,
-}
-
-
-
-
-@Proceedings{SCOOP08,
- editor = {Christine M{\"u}ller},
- title = {2\textsuperscript{nd} Workshop on Scientific Communities of Practice (SCooP-2008)},
- booktitle = {Proceedings of the 2\textsuperscript{nd} SCooP Workshop},
- howpublished = {online at {\url{http://kwarc.info/events/scoop/scoop2.html}}},
- url = {http://kwarc.info/events/scoop/scoop2.html},
- year = 2008,
- month = jun}
-
-@comment{DBLP:conf/wcce/2001}
-@proceedings{WCCE01,
- editor = {Deryn Watson and Jane Andersen},
- title = {Networking the Learner: Computers in Education, IFIP TC3 Seventh
- IFIP World Conference on Computers in Education, WCCE 2001, July
- 29 -- August 3, 2001, Copenhagen, Denmark},
- booktitle = {WCCE},
- publisher = {Kluwer},
- series = {IFIP Conference Proceedings},
- volume = {217},
- year = {2002},
- isbn = {1-4020-7133-7},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@Proceedings{ComTech2005,
- year = 2005,
- booktitle = {{Communities and Technologies}},
- editor = {Peter van den Besselaar and Giorgio de Michelis and Jenny Preece and Carla Simone},
- publisher = {Springer Verlag}}
-
-
-
-@Proceedings{SemNet2007,
- booktitle = {Bridging the Gap between Semantic Web and Web 2.0 (SemNet)},
- editor = {Andreas Hotho and Bettina Hoser},
- year = {2007},
- month = jun}
-@PROCEEDINGS{KWEPSY2007,
- booktitle = {Proceedings of the KWEPSY (Knowledge Web PhD Symposium)},
- venue = {Innsbruck, Austria},
- eventdate = {2007-06},
- year = 2007,
- editor = {Elena Simperl and J{\"o}rg Diederich and Guus Schreiber},
- number = {275},
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-275}}
-
-@proceedings{DL-handbook03,
- editor = {Franz Baader and
- Diego Calvanese and
- Deborah L. McGuinness and
- Daniele Nardi and
- Peter F. Patel-Schneider},
- title = {The Description Logic Handbook: Theory, Implementation,
- and Applications},
- booktitle = {Description Logic Handbook},
- publisher = {Cambridge University Press},
- year = {2003},
- isbn = {0-521-78176-0}}
-
-@PROCEEDINGS{MKM04,
- title = {Mathematical Knowledge Management, {MKM'04}},
- year = {2004},
- editor = {Andrea Asperti and Grzegorz Bancerek and Andrej Trybulec},
- number = {3119},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Mathematical Knowledge Management, {MKM'04}}}
-
-@PROCEEDINGS{IJCAI99,
- year = {1999},
- editor = {Thomas Dean},
- address = {Stockholm},
- publisher = {Morgan Kaufmann},
- booktitle = {Proceedings of the 16\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- key = {IJCAI1999}}
-
-@proceedings{CADE07,
- editor = {Frank Pfenning},
- title = {Automated Deduction -- CADE-21, 21\textsuperscript{st} International Conference on Automated
- Deduction, Bremen, Germany, July 17-20, 2007, Proceedings},
- booktitle = {CADE},
- publisher = {Springer},
- series = {LNCS},
- number = {4603},
- year = {2007},
- isbn = {978-3-540-73594-6}}
-
-@PROCEEDINGS{LACL96,
- booktitle = {Logical Aspects of Computational Linguistics},
- title = {Logical Aspects of Computational Linguistics},
- year = {1996},
- editor = {Christian Retor{\'e}},
- publisher = {Springer-Verlag}}
-
-@PROCEEDINGS{LINEAR96,
- booktitle = {Linear Logic 96 Tokyo Meeting},
- title = {Linear Logic 96 Tokyo Meeting},
- year = {1996},
- volume = {3},
- series = {Electronic Notes in Theoretical Computer Science},
- editor = {Jean-Yves Girard and Mitsuhiro Okada and Andre Scedrov},
- publisher = {Elsevier}}
-
-@Proceedings{iswc2008,
- title = {The Semantic Web},
- booktitle = {The Semantic Web},
- eventtitle = {7\textsuperscript{th} International Semantic Web Conference (ISWC)},
- year = 2008,
- editor = {Amit P. Sheth and Steffen Staab and Mike Dean and Massimo Paolucci and Diana Maynard and Timothy W. Finin and Krishnaprasad Thirunarayan},
- number = {5318},
- series = {LNCS},
- month = oct,
- publisher = {Springer Verlag}}
-
-@Proceedings{SWASD09,
- title = {Semantic Web Applications in Scientific Discourse (SWASD)},
- booktitle = {Semantic Web Applications in Scientific Discourse (SWASD)},
- year = {2009},
- editor = {Tim Clark and Joanne S. Luciano and M. Scott Marshall and Eric Prud'hommeaux and Susie Stephens},
- series = "CEUR Workshop Proceedings",
- address = {Aachen},
- issn = {1613-0073},
- number = 523,
- url = {http://CEUR-WS.org/Vol-523}}
-
-@Proceedings{SDoW2008,
- title = {Social Data on the Web (SDoW), Workshop at the 7\textsuperscript{th} International Semantic Web Conference},
- year = {2008},
- eventdate = {2008-10-27},
- venue = {Karlsruhe, Germany},
- booktitle = {Social Data on the Web (SDoW), Workshop at the 7\textsuperscript{th} International Semantic Web Conference},
- editor = {John Breslin and Uldis Boj{\=a}rs and Alexandre Passant and Sergio Fern{\'a}ndez},
- series = "CEUR Workshop Proceedings",
- address = {Aachen},
- issn = {1613-0073},
- number = 405,
- url = {http://sdow.semanticweb.org/2008/}}
-
-@Proceedings{SDoW2009,
- title = {Social Data on the Web (SDoW), Workshop at the 8\textsuperscript{th} International Semantic Web Conference},
- year = 2009,
- eventdate = {2009-10-25},
- venue = {Washington DC, USA},
- booktitle = {Social Data on the Web (SDoW), Workshop at the 8\textsuperscript{th} International Semantic Web Conference},
- editor = {John Breslin and Uldis Boj{\=a}rs and Alexandre Passant and Sergio Fern{\'a}ndez},
- series = "CEUR Workshop Proceedings",
- address = {Aachen},
- issn = {1613-0073},
- number = 520,
- url = {http://sdow.semanticweb.org/2009/}}
-
-@Proceedings{MathUI08,
- editor = {Paul Libbrecht},
- title = {Mathematical User Interfaces Workshop at {MKM}},
- booktitle = {Mathematical User Interfaces Workshop},
- url = {http://www.activemath.org/~paul/MathUI08},
- year = 2008,
- month = jul}
-
-@Proceedings{www2003,
- title = {Proceedings of the 12\textsuperscript{th} international {World} {Wide} {Web} conference, ({WWW})},
- venue = {Budapest, Hungary},
- eventdate = {2003-05-20/2003-05-24},
- booktitle = {Proceedings of the 12\textsuperscript{th} {WWW} conference},
- publisher = {ACM Press},
- year = {2003}}
-
-@PROCEEDINGS{www2005,
- title = {Proceedings of the 14\textsuperscript{th} international {World} {Wide} {Web} conference ({WWW})},
- venue = {Chiba, Japan},
- eventdate = {2005-05-10/2005-05-14},
- booktitle = {Proceedings of the 14\textsuperscript{th} {WWW} conference},
- publisher = {ACM Press},
- year = {2005},
- editor = {Allan Ellis and Tatsuya Hagino},
- isbn = {1-59593-046-9}}
-
-@PROCEEDINGS{www2006,
- title = {Proceedings of the 15\textsuperscript{th} international {World} {Wide} {Web} conference ({WWW})},
- venue = {Edinburgh, Scotland},
- evendate = {2006-05-23/2006-05-26},
- booktitle = {Proceedings of the 15\textsuperscript{th} {WWW} conference},
- publisher = {ACM Press},
- year = {2006}}
-
-@PROCEEDINGS{www2007,
- title = {Proceedings of the 16\textsuperscript{th} international {World} {Wide} {Web} conference ({WWW})},
- venue = {Banff, Alberta, Canada},
- eventdate = {2007-05-08/2007-05-12},
- booktitle = {Proceedings of the 16\textsuperscript{th} {WWW} conference},
- publisher = {ACM Press},
- editor = {Carey L. Williamson and
- Mary Ellen Zurko and
- Peter F. Patel-Schneider and
- Prashant J. Shenoy},
- year = {2007},
- isbn = {978-1-59593-654-7},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@PROCEEDINGS{www2008,
- title = {Proceedings of the 17\textsuperscript{th} international
- {World} {Wide} {Web} conference ({WWW})},
- venue = {Beijing, China},
- eventdate = {2008-04-21/2008-04-25},
- booktitle = {Proceedings of the 17\textsuperscript{th} {WWW} conference},
- publisher = {ACM Press},
- editor = {Jinpeng Huai and Robin Chen and Hsiao-Wuen Hon and Yunhao Liu and Wei-Ying Ma and Andrew Tomkins and Xiaodong Zhang},
- year = {2008},
- isbn = {978-1-60558-085-2},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@PROCEEDINGS{www2009,
- title = {Proceedings of the 18\textsuperscript{th} international
- {World} {Wide} {Web} conference ({WWW})},
- venue = {Madrid, Spain},
- eventdate = {2009-04-20/2009-04-24},
- booktitle = {Proceedings of the 17\textsuperscript{th} {WWW} conference},
- publisher = {ACM Press},
- editor = {Juan Quemada and Gonzalo Le{\'o}n and Yo{\"e}lle S. Maarek and Wolfgang Nejdl},
- year = {2009},
- isbn = {978-1-60558-487-4},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@PROCEEDINGS{er2006,
- title = {25\textsuperscript{th} International Conference on Conceptual Modeling (ER2006)},
- year = 2006,
- editor = {D. W. Embley and A. Olive and S. Ram},
- number = 4215,
- series = {LNCS},
- venue = {Tucson, USA},
- eventdate = 2006,
- booktitle = {Proceedings of the 25\textsuperscript{th} International Conference on Conceptual Modeling (ER2006)}}
-
-@Proceedings{semantics2006,
- title = {Semantics: From Visions to Applications},
- subtitle = {Semantics -- The New Paradigm Shift in {IT}},
- venue = {Vienna, Austria},
- eventdate = {2006-11},
- booktitle = {Proceedings of Semantics: From Visions to Applications},
- booksubtitle = {Semantics -- The New Paradigm Shift in {IT}},
- editor = {York Sure and Sebastian Schaffert},
- year = 2006}
-@Proceedings{Wissenstransform05,
- year = {2005},
- booktitle = {{Wissenstransform. Wissensmanagement in gleichstellungsorientierten Netzwerken}},
- editor = {Sylke Ernst and Jasmin Warwas and Edit Kirsch-Auwaerter},
- publisher = {LIT Verlag}}
-
-@Proceedings{ComTech2003,
- year = 2003,
- booktitle = {{Communities and Technologies}},
- editor = {Marleen Huysmann and Etienne Wenger and Volker Wulf},
- publisher = {Kluwer Academic Publishers}}
-
-@Proceedings{OSEE2005,
- title = {Open Source for Education in Europe: Research and Practise},
- booktitle = {Open Source for Education in Europe: Research and Practise},
- year = {2005},
- editor = {Fred de Vries and Graham Attwell and Raymond Elferink and Alexandra T{\"o}dt},
- address = {Heerlen, The Netherlands},
- month = nov,
- organization = {Open Universiteit Nederland},
- publisher = {Open Universiteit Nederland},
- url = {http://hdl.handle.net/1820/483},
- note = {Proceedings at \url{http://hdl.handle.net/1820/483}}}
-@Proceedings{LOKMOL2006,
- title = {{2\textsuperscript{nd} Workshop on Learner Oriented Knowledge Management \& {KM} Oriented
- e-Learning}},
- year = 2006,
- booktitle = {{Joint International Workshop on Professional Learning, Competence
- Development and Knowledge Management -- LOKMOL and L3NCD}},
- editor = {Martin Memmel and Eric Ras and Stephan Weibelzahl},
- note = {Online Proceedings at
- {\url{http://cnm.open.ac.uk/projects/ectel06/pdfs/ECTEL06WS68d.pdf}}},
- url = {http://cnm.open.ac.uk/projects/ectel06/pdfs/ECTEL06WS68d.pdf}}
-@Proceedings{Pre-ConferenceWorkshopsDeLFI2006,
- title = {{Proceedings der Pre-Conference Workshops der 4.e-Learning Fachtagung
- Informatik DeLFI 2006}},
- year = 2006,
- editor = {Christoph Rensing},
- publisher = {Logos Verlag},
- note = {ISBN 3-8325-1330-2}}
-
-@proceedings{SIGIR93,
- editor = {Robert Korfhage and Edie M. Rasmussen and Peter Willett},
- title = {Proceedings of the 16\textsuperscript{th} Annual International ACM-SIGIR Conference
- on Research and Development in Information Retrieval. Pittsburgh,
- PA, USA, June 27 -- July 1, 1993},
- booktitle = {Proceedings of the 16\textsuperscript{th} Annual International ACM-SIGIR Conference
- on Research and Development in Information Retrieval},
- publisher = {ACM},
- year = {1993}}
-
-@PROCEEDINGS{wikisym06,
- title = {International Symposium on Wikis (WikiSym)},
- year = 2006,
- eventdate = {2006-08-21/2006-08-23},
- venue = {Odense, Denmark},
- editor = {Dirk Riehle and James Noble},
- series = {ACM Press},
- booktitle = {Proceedings of the International Symposium on Wikis (WikiSym)},
- url = {http://www.wikisym.org/ws2006/proceedings/}}
-
-@PROCEEDINGS{wikisym07,
- title = {International Symposium on Wikis (WikiSym)},
- year = 2007,
- eventdate = {2007-10-21/2007-10-25},
- venue = {Montreal, Quebec, Canada},
- editor = {Alain D{\'e}silets and Robert Biddle},
- series = {ACM Press},
- booktitle = {Proceedings of the International Symposium on Wikis (WikiSym)},
- url = {http://www.wikisym.org/ws2007/proceedings/}}
-
-@PROCEEDINGS{wikisym08,
- title = {4\textsuperscript{th} International Symposium on Wikis (WikiSym)},
- year = 2008,
- eventdate = {2008-09-08/2008-09-10},
- venue = {Porto, Portugal},
- editor = {Ademar Aguiar and Mark Bernstein},
- series = {ACM Press},
- booktitle = {Proceedings of the 4\textsuperscript{th} International Symposium on Wikis (WikiSym)},
- url = {http://www.wikisym.org/ws2008/proceedings/}}
-
-@PROCEEDINGS{wikisym09,
- title = {5\textsuperscript{th} International Symposium on Wikis and Open Collaboration (WikiSym)},
- year = 2009,
- eventdate = {2009-10-25/2009-10-27},
- venue = {Orlando, Florida},
- editor = {Dirk Riehle and Amy Bruckman},
- series = {ACM Press},
- booktitle = {Proceedings of the 5\textsuperscript{th} International Symposium on Wikis and Open Collaboration (WikiSym)},
- url = {http://www.wikisym.org/ws2009/proceedings/}}
-
-@PROCEEDINGS{wikisym10,
- title = {6\textsuperscript{th} International Symposium on Wikis and Open Collaboration (WikiSym)},
- year = 2010,
- eventdate = {2010-07-07/2010-07-09},
- venue = {Gdansk, Poland},
- editor = {Phoebe Ayers and Felipe Ortega},
- series = {ACM Press},
- booktitle = {Proceedings of the 6\textsuperscript{th} International Symposium on Wikis and Open Collaboration (WikiSym)},
- url = {http://www.wikisym.org/ws2010/Proceedings/}}
-
-@PROCEEDINGS{TLCA97,
- title = {Proceedings of the 3\textsuperscript{rd} International Conference on Typed Lambda Calculus and Applications},
- booktitle = {Proceedings of the 3\textsuperscript{rd} International Conference on Typed Lambda Calculus and Applications},
- year = {1997},
- editor = {P. {de Groote} and J. R. Hindley},
- number = {1210},
- series = {LNCS},
- venue = {Nancy, France},
- eventdate = 1997,
- publisher = {Springer Verlag}}
-
-@PROCEEDINGS{OM09,
- editor = {James H. Davenport},
- title = {22\textsuperscript{nd} OpenMath Workshop},
- booktitle = {22\textsuperscript{nd} OpenMath Workshop},
- url = {http://staff.bath.ac.uk/masjhd/OM2009.html},
- year = {2009},
- month = jul}
-
-@Proceedings{DML08,
- title = {Towards Digital Mathematics Library, Proceedings of the DML 2008 workshop},
- booktitle = {Towards Digital Mathematics Library, Proceedings of the DML 2008 workshop},
- year = 2008,
- editor = {Petr Sojka},
- publisher = {Masaryk University, Brno}}
-
-@Proceedings{DML09:biblatex,
- title = {Towards Digital Mathematics Library},
- booktitle = {Towards Digital Mathematics Library},
- eventtitle = {DML 2009 workshop},
- eventdate = {2009-07-08/2009-07-09},
- venue = {Grand Bend, Ontario, Canada},
- year = 2009,
- editor = {Petr Sojka},
- publisher = {Masaryk University Press, Brno}}
-
-@Proceedings{DML09,
- title = {Towards Digital Mathematics Library, DML 2009 workshop},
- booktitle = {Towards Digital Mathematics Library, DML 2009 workshop},
- year = 2009,
- editor = {Petr Sojka},
- publisher = {Masaryk University, Brno}}
-
-@Proceedings{DML10,
- title = {Towards Digital Mathematics Library, DML workshop},
- booktitle = {Towards Digital Mathematics Library, DML workshop},
- year = 2010,
- editor = {Petr Sojka},
- publisher = {Masaryk University, Brno}}
-
-@Proceedings{DML11,
- title = {Towards Digital Mathematics Library, DML workshop},
- booktitle = {Towards Digital Mathematics Library, DML workshop},
- year = 2011,
- editor = {Petr Sojka},
- publisher = {Masaryk University, Brno}}
-
-@Proceedings{SIGDoc08,
- title = {Proceedings of the 26\textsuperscript{th} annual ACM international conference on Design of communication},
- booktitle = {Proceedings of the 26\textsuperscript{th} annual ACM international conference on Design of communication},
- year = 2008,
- editor = {Carlos J. Costa and Aristidis Protopsaltis and Manuela Aparicio and Henrique O'Neill},
- organization = {ACM Special Interest Group for Design of Communication},
- publisher = {ACM Press}}
-
-@Proceedings{SIGDOC11,
- title = {Proceedings of the 29\textsuperscript{th} annual ACM international conference on Design of communication (SIGDOC)},
- booktitle = {Proceedings of the 29\textsuperscript{th} annual ACM international conference on Design of communication (SIGDOC)},
- year = 2011,
- FINDOUTeditor = {Brad Mehlenbacher and Aristidis Protopsaltis and Ashley Williams and Shaun Slatterey},
- organization = {ACM Special Interest Group for Design of Communication},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- FINDOUTdoi = {10.1145/1621995.1622013},
- venue = {Pisa, Italy},
- CHANGEeventdate = 2011}
-
-@Proceedings{SIGDOC10,
- title = {Proceedings of the 28th ACM International Conference on Design of Communication},
- booktitle = {Proceedings of the 28th ACM International Conference on Design of Communication},
- series = {SIGDOC '10},
- year = {2010},
- isbn = {978-1-4503-0403-0},
- location = {S\~ao Carlos, S\~ao Paulo, Brazil},
- organization = {ACM Special Interest Group for Design of Communication},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- doi = {10.1145/1621995.1622013},
- venue = {Bloomington, Indiana, USA},
- eventdate = 2009}
-
-@Proceedings{SIGDOC09,
- title = {Proceedings of the 27\textsuperscript{th} annual ACM international conference on Design of communication (SIGDOC)},
- booktitle = {Proceedings of the 27\textsuperscript{th} annual ACM international conference on Design of communication (SIGDOC)},
- year = 2009,
- editor = {Brad Mehlenbacher and Aristidis Protopsaltis and Ashley Williams and Shaun Slatterey},
- organization = {ACM Special Interest Group for Design of Communication},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- doi = {10.1145/1621995.1622013},
- venue = {Bloomington, Indiana, USA},
- eventdate = 2009}
-
-@Proceedings{FM09,
- title = {16\textsuperscript{th} International Symposium on Formal Methods (FM 2009)},
- booktitle = {16\textsuperscript{th} International Symposium on Formal Methods (FM 2009)},
- editor = {Ana Cavalcanti and Dennis Dams},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {5850},
- year = {2009}}
-
-@Proceedings{BALISAGE09:biblatex,
- title = {Proceedings of Balisage: The Markup Conference},
- booktitle = {Proceedings of Balisage: The Markup Conference},
- volume = 3,
- publisher = {Mulberry Technologies, Inc.},
- series = {Balisage Series on Markup Technologies},
- year = {2009}}
-
-@Proceedings{BALISAGE09,
- title = {Proceedings of Balisage: The Markup Conference 2009},
- booktitle = {Proceedings of Balisage: The Markup Conference 2009},
- url = {http://www.balisage.net/Proceedings/vol3/cover.html},
- note = {available at \url{http://www.balisage.net/Proceedings/vol3/}},
- publisher = {Mulberry Technologies, Inc.},
- series = {Balisage Series on Markup Technologies},
- year = {2009}}
-
-@Proceedings{BALISAGE10:biblatex,
- title = {Proceedings of Balisage: The Markup Conference},
- booktitle = {Proceedings of Balisage: The Markup Conference},
- url = {http://www.balisage.net/Proceedings/vol5/cover.html},
- volume = 5,
- publisher = {Mulberry Technologies, Inc.},
- series = {Balisage Series on Markup Technologies},
- year = {2010}}
-
-@Proceedings{BALISAGE11:biblatex,
- title = {Proceedings of Balisage: The Markup Conference},
- booktitle = {Proceedings of Balisage: The Markup Conference},
- url = {http://www.balisage.net/Proceedings/vol7/cover.html},
- volume = 7,
- publisher = {Mulberry Technologies, Inc.},
- series = {Balisage Series on Markup Technologies},
- year = {2011}}
-
-@Proceedings{BALISAGE10,
- title = {Proceedings of Balisage: The Markup Conference 2010},
- booktitle = {Proceedings of Balisage: The Markup Conference 2010},
- url = {http://www.balisage.net/Proceedings/vol3/},
- note = {available at \url{http://www.balisage.net/Proceedings/vol3/}},
- publisher = {Mulberry Technologies, Inc.},
- series = {Balisage Series on Markup Technologies},
- year = {2010}}
-
-@Book{BKB60,
- editor = {Berthold Hoffmann and Bernd Gersdorf and Christoph L{\"u}th and Till Mossakowski and Thomas R{\"o}fer and
-Lutz Schr{\"o}der and Shi Hui and Mattias Werner},
- publisher = {DFKI},
- year = 2009,
- title = {Festschrift in Honour of Bernd Krieg-Br{\"u}ckner's 60\textsuperscript{th} Birthday},
- booktitle = {Festschrift in Honour of Bernd Krieg-Br{\"u}ckner's 60\textsuperscript{th} Birthday}}
-
-
-
-@Proceedings{IWCS99,
- year = {1999},
- booktitle = {Proceedings of {IWCS} {III} (Third International Workshop on Computational
- Semantics)},
- title = {Proceedings of {IWCS} {III} (Third International Workshop on Computational
- Semantics)},
- editor = {Bunt, Harry and Kievit, Leen and Muskens, Reinhard and Verlinden, Margriet},
- address = {Tilburg}}
-
-@Proceedings{iwcs2,crossref={IWCS97}}
-@Proceedings{IWCS97,
- booktitle = {Proceedings of {IWCS} {II} (Second International Workshop on Computational
- Semantics)},
- title = {Proceedings of {IWCS} {II} (Second International Workshop on Computational
- Semantics)},
- year = {1997},
- editor = {Bunt, Harry and Kievit, Leen and Muskens, Reinhard and Verlinden, Margriet},
- address = {Tilburg}}
-
-
-@Proceedings{iwcs1,crossref={IWCS94}}
-@Proceedings{IWCS94,
- booktitle = {International {Workshop} on {Computational} {Semantics}},
- title = {International {Workshop} on {Computational} {Semantics}},
- year = {1994},
- editor = {Harry Bunt and Reinhard Muskens and Gerrit Rentier},
- address = {Tilburg}}
-
-@proceedings{DBLP:conf/icsoc/2005,
- editor = {Boualem Benatallah and
- Fabio Casati and
- Paolo Traverso},
- title = {Service-Oriented Computing -- ICSOC 2005, Third International
- Conference, Amsterdam, The Netherlands, December 12-15,
- 2005, Proceedings},
- booktitle = {ICSOC},
- publisher = {Springer},
- series = {LNCS},
- number = {3826},
- year = {2005},
- isbn = {3-540-30817-2},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-
-@proceedings{DBLP:conf/vl/2005,
- title = {2005 IEEE Symposium on Visual Languages and Human-Centric
- Computing (VL/HCC 2005), 21-24 September 2005, Dallas, TX,
- USA},
- booktitle = {VL/HCC},
- publisher = {IEEE Computer Society},
- year = {2005},
- isbn = {0-7695-2443-5},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@Proceedings{EUSPRIG13,
- title = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2013)},
- booktitle = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2013)},
- CHANGEeditor={Simon Thorne},
- CHANGEpublisher = {European Spreadsheet Risk Interest Group},
- CHANGEisbn = {978-1-905404-50-6},
- year = 2013}
-
-@Proceedings{EUSPRIG10,
- title = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2010)},
- booktitle = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2010)},
- editor={Simon Thorne},
- publisher = {European Spreadsheet Risk Interest Group},
- isbn = {978-1-905404-50-6},
- year = 2010}
-
-@Proceedings{EUSPRIG07,
- title = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2007)},
- booktitle = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2007)},
- year = 2007}
-
-@Proceedings{EUSPRIG05,
- title = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2005)},
- booktitle = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2005)},
- year = 2005}
-
-@Proceedings{EUSPRIG01,
- title = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2001)},
- booktitle = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2001)},
- year = 2001}
-
-@Proceedings{EUSPRIG00,
- title = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2000)},
- booktitle = {Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG 2000)},
- year = 2000}
-
-@Proceedings{LinkedAI2010,
- year = {2010},
- editor = {Dan Brickley and Vinay K. Chaudhri and Harry Halpin and Deborah L. McGuinness},
- booktitle = {Proceedings of the AAAI Spring Symposium on Linked Data Meets Artificial Intelligence},
- title = {Proceedings of the AAAI Spring Symposium on Linked Data Meets Artificial Intelligence}}
-
-@proceedings{DBLP:conf/kcap/2007womo,
- editor = {Bernardo Cuenca Grau and
- Vasant Honavar and
- Anne Schlicht and
- Frank Wolter},
- title = {Proceedings of the 2\textsuperscript{nd} International Workshop on Modular
- Ontologies (WoMO) 2007},
- venue = {Whistler, Canada},
- eventdate = {2007-10-28},
- booktitle = {WoMO},
- url = {http://ceur-ws.org/Vol-315},
- publisher = {CEUR-WS.org},
- address = {Aachen},
- series = {CEUR Workshop Proceedings},
- number = {315},
- year = {2008},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@proceedings{SOFSEM2010,
- editor = {Jan van Leeuwen and
- Anca Muscholl and
- David Peleg and
- Jaroslav Pokorn{\'y} and
- Bernhard Rumpe},
- title = {{SOFSEM}: Theory and Practice of Computer Science},
- booktitle = {{SOFSEM}: Theory and Practice of Computer Science},
- eventtitle = {36\textsuperscript{th} Conference on Current Trends in Theory and Practice of Computer Science},
- venue = {{\v S}pindler{\r u}v Ml{\'y}n, Czech Republic},
- eventdate = {2010-01-23/2010-01-29},
- publisher = {Springer},
- series = {LNCS},
- number = 5901,
- year = 2010,
- isbn = {978-3-642-11265-2},
- doi = {10.1007/978-3-642-11266-9}}
-
-@Proceedings{ICM2002,
- title = {Electronic Information and Communication in Mathematics},
- booktitle = {Electronic Information and Communication in Mathematics},
- eventtitle = {ICM International Satellite Conference},
- venue = {Beijing, China},
- eventdate = {2002-08-29/2002-08-31},
- year = 2003,
- editor = {Fengshan Bai and Bernd Wegner},
- number = 2730,
- series = {LNCS},
- publisher = {Springer}}
-
-@proceedings{eunis2001,
- editor = {Jan von Knop and
- Peter Schirmbacher and
- Viljan Mahnic},
- title = {The Changing Universities -- The Role of Technology},
- eventtitle = {7\textsuperscript{th} International Conference of European University Information
- Systems},
- eventdate = {2001-03-28/2001-03-30},
- venue = {Berlin, Germany},
- booktitle = {EUNIS},
- publisher = {GI},
- series = {LNI},
- number = 13,
- year = 2002,
- isbn = {3-88579-339-3},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@Proceedings{ACA2008,
- title = {Applications for Computer Algebra},
- year = 2008,
- booktitle = {Applications for Computer Algebra},
- editor = {Elena Smirnova and Stephen M. Watt},
- eventdate = {2008-07-27/2008-07-30},
- venue = {RISC, Linz, Austria}}
-
-@PROCEEDINGS{KI10,
- title = {Proceedings of the 33.rd Annual German Conference on Artificial Intelligence
- KI'10},
- year = {2010},
- editor = {R{\"u}diger Dillmann and J{\"u}rgen Beyerer and Uwe D. Hanebeck and Tanja Schultz},
- number = {6359},
- series = {LNAI},
- address = {Karlsruhe, Germany},
- booktitle = {KI 2010: Advances in Artificial Intelligence},
-}
-
-
-
-@Proceedings{MALOG10,
- booktitle = {1\textsuperscript{st} International Workshop on Mathematics and ICT: Education, Research and Applications},
- venue = {Bucharest, Romania},
- eventdate = {2010-11-03},
- year = {2010},
- editor = {Ion Mierlus-Mazilu},
- url = {http://civile.utcb.ro/malog/}}
-
-@Proceedings{iswc2009,
- title = {The Semantic Web -- ISWC 2009},
- booktitle = {The Semantic Web -- ISWC 2009},
- eventtitle = {8\textsuperscript{th} International Semantic Web Conference (ISWC)},
- year = 2009,
- editor = {Abraham Bernstein and David R. Karger and Tom Heath and Lee Feigenbaum and Diana Maynard and Enrico Motta and Krishnaprasad Thirunarayan},
- number = {5823},
- series = {LNCS},
- month = oct,
- publisher = {Springer Verlag}}
-
-@proceedings{iswc2011-1,
- editor = {Lora Aroyo and
- Chris Welty and
- Harith Alani and
- Jamie Taylor and
- Abraham Bernstein and
- Lalana Kagal and
- Natasha Fridman Noy and
- Eva Blomqvist},
- title = {The Semantic Web (Part I)},
- booktitle = {The Semantic Web (Part I)},
- eventtitle = {10\textsuperscript{th} International Semantic Web Conference (ISWC)},
- venue = {Bonn, Germany},
- eventdate = {2011-10-23/2011-10-27},
- publisher = {Springer},
- series = {LNCS},
- number = {7031},
- year = {2011},
- isbn = {978-3-642-25072-9},
-}
-
-@proceedings{DOCENG10,
- editor = {Michael Gormish and Rolf Ingold},
- title = {Proceedings of the 10\textsuperscript{th} ACM symposium on Document engineering},
- booktitle = {Proceedings of the 10\textsuperscript{th} ACM symposium on Document engineering},
- series = {DocEng '10},
- year = {2010},
- isbn = {978-1-4503-0231-9},
- location = {Manchester, United Kingdom},
- publisher = {ACM},
- address = {New York, NY, USA}}
-@proceedings{Wiedijk2006provers,
- editor = {Freek Wiedijk},
- title = {The Seventeen Provers of the World, Foreword by Dana S.
- Scott},
- booktitle = {The Seventeen Provers of the World},
- publisher = {Springer},
- series = {LNCS},
- number = {3600},
- year = {2006},
- isbn = {3-540-30704-4},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@proceedings{cnl2009,
- editor = {Norbert E. Fuchs},
- booktitle = {Controlled Natural Language, Workshop on Controlled Natural Language,
- CNL 2009. Revised Papers},
- title = {Controlled Natural Language, Workshop on Controlled Natural Language,
- CNL 2009. Revised Papers},
- publisher = {Springer},
- series = {LNCS},
- number = {5972},
- year = {2010},
- isbn = {978-3-642-14417-2},
- doi = {10.1007/978-3-642-14418-9},
- ee = {http://dx.doi.org/10.1007/978-3-642-14418-9},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@Proceedings{EduMedia2007,
- title = {EduMedia},
- year = 2007,
- booktitle = {Offene Bildung im/mit dem Web 2.0!?!},
- editor = {Veronika Hornung-Pr{\"a}hauser},
- publisher = {Salzburg Research},
- url = {http://edumedia.salzburgresearch.at},
- note = {3. Interdisziplin{\"a}re EduMedia Tagung, 16.-17. April 2007, Salzburg}}
-@collection{LNCS:OCaSC,
- title = {{LNCS: Online Communities and Social Computing}},
- year = {2007},
- isbn = {978-3-540-73256-3},
- doi = {10.1007/978-3-540-73257-0},
- url = {http://doi.acm.org/10.1007/978-3-540-73257-0},
- number = {4564},
- publisher = {Springer Berlin/ Heidelberg}}
-
-
-@Proceedings{ISWC2011PD,
- title = {Posters and Demos at the 10\textsuperscript{th} International Semantic Web Conference (ISWC)},
- booktitle = {Posters and Demos at the 10\textsuperscript{th} International Semantic Web Conference (ISWC)},
- year = 2011,
- editor = {Marta Sabou and Guilin Qi},
- url = {http://iswc2011.semanticweb.org/program/posters-and-demos/}
-}
-
-
-@Proceedings{ASE00,
- booktitle = {Proceedings 15\textsuperscript{th} IEEE International Conference on Automated Software Engineering, ASE-2000},
- publisher = {IEEE Computer Society},
- year = {2000}}
-
-@Proceedings{ASE01,
- title = {Proceedings 16\textsuperscript{th} IEEE International Conference on Automated Software Engineering, ASE-2001},
- booktitle = {Proceedings 16\textsuperscript{th} IEEE International Conference on Automated Software Engineering, ASE-2001},
- address = {San Diego, USA},
- publisher = {IEEE Computer Society},
- year = 2001}
-
-@InProceedings{ASE05,
- booktitle = {20\textsuperscript{th} IEEE/ACM International Conference on Automated Seofware Engineering},
- title = {20\textsuperscript{th} IEEE/ACM International Conference on Automated Seofware Engineering},
- publisher = {IEEE Computer Society},
- year = 2005}
-
-
-@PROCEEDINGS{CALCULEMUS02-wip,
- title = {Calculemus 2002 --- 10\textsuperscript{th} Symposium on the Integration of Symbolic
- Computation and Mechanized Reasoning --- Work in Progress Papers},
- year = {2002},
- editor = {Olga Caprotti and Volker Sorge},
- number = {SR--02--04},
- address = {Marseille, France},
- publisher = {Dept. of Computer Science, Saarland University, Saarbr{\"u}cken, Germany},
- booktitle = {Calculemus 2002 --- 10\textsuperscript{th} Symposium on the Integration of Symbolic
- Computation and Mechanized Reasoning --- Work in Progress Papers},
- type = {Seki Report}}
-
-@PROCEEDINGS{ECAI02-CMNLA,
- title = {Proceedings of the ECAI 2002 Workshop on Computational Models of
- Natural Argument},
- year = {2002},
- editor = {Giuseppe Carenini and Floriana Grasso and Chris Reed},
- address = {Lyon France }}
-
-@PROCEEDINGS{CALCULEMUS98,
- title = {6\textsuperscript{th} CALCULEMUS and TYPES Workshop},
- year = {1998},
- editor = {Arjeh Cohen and Henk Barendregt},
- address = {Eindhoven, The Netherlands},
- url = {http://www.win.tue.nl/math/dw/pp/calc/proceedings.html},
- month = jul,
- booktitle = {6\textsuperscript{th} CALCULEMUS and TYPES Workshop}}
-
-@Book{ReDeRa:SWE07,
- year = 2008,
- month = apr,
- editor = {J{\"o}rg Rech and Bj{\"o}rn Decker and Eric Ras},
- title = {Emerging Technologies for Semantic Work Environments: Techniques,
- Methods, and Applications},
- booktitle = {Emerging Technologies for Semantic Work Environments: Techniques,
- Methods, and Applications},
- publisher = {IGI Global},
- doi = {10.4018/978-1-59904-877-2},
- url = {http://www.igi-global.com/reference/details.asp?ID=7543}}
-
-@MISC{wikipedia,
- title = {Wikipedia, the free encyclopedia},
- howpublished = {\url{http://www.wikipedia.org}},
- editor = {{Wikimedia Foundation}},
- key = {Wikipedia},
- url = {http://www.wikipedia.org}}
-
-@proceedings{geos2011,
- editor = {Christophe Claramunt and Sergei Levashkin and Michela Bertolotto},
- eventtitle = {GeoSpatial Semantics (GeoS) -- 4th International Conference},
- title = {GeoSpatial Semantics (GeoS) -- 4th International Conference},
- venue = {Brest, France},
- eventdate = {2011-05-12/2011-05-13},
- booktitle = {GeoS},
- publisher = {Springer},
- series = {LNCS},
- number = 6631,
- year = 2011,
- isbn = {978-3-642-20629-0}}
-
-@collection{HorLucKal:sli08,
- title = {{Selbstorganisiertes Lernen im Internet}},
- booktitle = {{Selbstorganisiertes Lernen im Internet}},
- year = {2008},
- editor = {Veronika Hornung-Pr{\"a}hauser and Michaela Luckmann and Marco Kalz},
- publisher = {Studienverlag}}
-
-
-@Book{BenBroSieSta:fhpab08,
- editor = {Christoph Benzm{\"u}ller and Chad Brown and J{\"o}rg Siekmann and Rick Statman},
- bookitle = {Festschrift in honour of Peter B.~Andrews On his 70\textsuperscript{th} Birthday},
- title = {Festschrift in honour of Peter B.~Andrews On his 70\textsuperscript{th} Birthday},
- publisher = {College Publications},
- year = 2008}
-
-@Book{BunKieMus:cmii01,
- year = {2001},
- booktitle = {Computing Meaning (Volume 2)},
- title = {Computing Meaning (Volume 2)},
- editor = {Bunt, Harry and Kievit, Leen and Muskens, Reinhard and Verlinden, Margriet},
- publisher = {Kluwer Academic Publishers}
-}
-
-@proceedings{DBLP:conf/icse/2011,
- editor = {Richard N. Taylor and Harald Gall and Nenad Medvidovic},
- title = {Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011},
- booktitle = {ICSE},
- publisher = {ACM},
- year = {2011},
- isbn = {978-1-4503-0445-0},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@PROCEEDINGS{SYNASC03,
- booktitle = {5\textsuperscript{th} International Workshop on Symbolic and Numeric Algorithms for
- Scientific Computing (SYNASC 03)},
- title = {5\textsuperscript{th} International Workshop on Symbolic and Numeric Algorithms for
- Scientific Computing (SYNASC 03)},
- year = {2003},
- editor = {D. Petcu and D. Zaharie and V. Negru and T. Jebelean},
- address = {Timisoara, Romania},
- publisher = {Mirton Publishing Company}}
-
-@PROCEEDINGS{SYNASC13,
- booktitle = {14th International Workshop on Symbolic and Numeric Algorithms for
- Scientific Computing (SYNASC 2012)},
- title = {International Workshop on Symbolic and Numeric Algorithms for
- Scientific Computing (SYNASC 2012)},
- year = {2013},
- editor = {Andrei Voronkov and
-Viorel Negru and
-Tetsuo Ida and
-Tudor Jebelean and
-Dana Petcu and
-Stephen M. Watt and
-Daniela Zaharie},
- publisher = {IEEE Press},
- isbn = {978-1-4673-5026-6},
- ee = {http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6480928},
- address = {Timisoara, Romania}}
-
-
-@PROCEEDINGS{OSEMA2011,
- booktitle = {1\textsuperscript{st} Workshop on Ontology and Semantic Web for Manufacturing},
- year = 2011,
- editor = {Garc{\'i}a Castro, Alexander and Carlos Toro and Luis Ramos and Lutz Schr{\"o}der},
- number = 748,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-748},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2011-05-29},
- title = {Proceedings of the 1\textsuperscript{st} Workshop on Ontology and Semantic Web for Manufacturing, {Extended} {Semantic} {Web} {Conference}},
-}
-
-@Proceedings{ACL10,
- title = {Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics},
- booktitle = {Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics},
- year = 2010,
- month = {July},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{ACL11,
- title = {Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics},
- booktitle = {Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics},
- year = 2011,
- month = {June},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{ACL08,
- title = {Proceedings of the 46th Annual Meeting of the Association for Computational Linguistics},
- booktitle = {Proceedings of the 46th Annual Meeting of the Association for Computational Linguistics},
- year = 2008,
- month = {June},
- publisher = {Association for Computational Linguistics}}
-
-
-@Proceedings{CEMNLP08,
- title = {Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing},
- booktitle = {Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing},
- year = 2008,
- month = {October},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{CEMNLP09,
- title = {Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing},
- booktitle = {Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing},
- year = 2009,
- month = {August},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{CEMNLP10,
- title = {Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing},
- booktitle = {Proceedings of the 2010 Conference on Empirical Methods in Natural Language Processing},
- year = 2010,
- month = {October},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{CEMNLP11,
- title = {Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing},
- booktitle = {Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing},
- year = 2011,
- month = {July},
- publisher = {Association for Computational Linguistics}}
-
-
-@Proceedings{CEMNLP-CNLL12,
- title = {Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning},
- booktitle = {Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning},
- year = 2012,
- month = {July},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{SIGKDD01,
- title = {Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining},
- booktitle = {Proceedings of the seventh ACM SIGKDD international conference on Knowledge discovery and data mining},
- year = 2001,
- month = {August},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{HLT-NAACL10,
- title = {Human language technologies: The 2010 annual conference of the North American chapter of the association for computational linguistics},
- booktitle = {Human language technologies: The 2010 annual conference of the North American chapter of the association for computational linguistics},
- year = 2010,
- month = {June},
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{HLT-NAACL08,
- title = {Human language technologies: The 2008 annual conference of the North American chapter of the association for computational linguistics},
- booktitle = {Human language technologies: The 2008 annual conference of the North American chapter of the association for computational linguistics},
- year = 2008,
- publisher = {Association for Computational Linguistics}}
-
-@Proceedings{HLT-NAACL07,
- title = {Human language technologies: The 2007 annual conference of the North American chapter of the association for computational linguistics},
- booktitle = {Human language technologies: The 2007 annual conference of the North American chapter of the association for computational linguistics},
- year = 2007,
- publisher = {Association for Computational Linguistics}}
-
-@proceedings{INTERACT13a,
- editor = {Paula Kotz\'{e} and Gary Marsden and Gitte Lindgaard and Janet Wesson and Marco Winckler},
- booktitle = {Human-Computer Interaction -- INTERACT 2013},
- title = {Human-Computer Interaction -- INTERACT 2013},
- publisher = {Springer},
- location = {Heidelberg},
- series = {LNCS},
- number = {8119},
- year = {2013},
- isbn = {978-3-642-40476-4}
-}
-
-@proceedings{INTERACT13b,
- editor = {Paula Kotz\'{e} and Gary Marsden and Gitte Lindgaard and Janet Wesson and Marco Winckler},
- booktitle = {Human-Computer Interaction -- INTERACT 2013},
- title = {Human-Computer Interaction -- INTERACT 2013},
- publisher = {Springer},
- location = {Heidelberg},
- series = {LNCS},
- number = {8120},
- year = {2013},
- isbn = {978-3-642-40497-9}
-}
-
-@proceedings{IWSECO12,
- editor = {Slinger Jansen and Jan Bosch and Carina Frota Alves},
- title = {Proceedings of the Forth International Workshop on Software Ecosystems, Cambridge, MA, USA, June 18th, 2012},
- booktitle = {IWSECO@ICSOB},
- publisher = {CEUR-WS.org},
- series = {CEUR Workshop Proceedings},
- number = {879},
- year = {2012},
- ee = {http://ceur-ws.org/Vol-879},
-}
-
-@proceedings{DBLP:conf/mc/2007,
- editor = {Tom Gross},
- title = {Mensch {\&} Computer 2007: Konferenz f{\"u}r interaktive
- und kooperative Medien, Bauhaus-Universit{\"a}t Weimar,
- Weimar, Germany, 2-5 September 2007},
- booktitle = {Mensch {\&} Computer},
- publisher = {Oldenbourg Verlag},
- year = {2007},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
diff --git a/macros/latex/contrib/stex/lib/bib/extpubs.bib b/macros/latex/contrib/stex/lib/bib/extpubs.bib
deleted file mode 100644
index c966ee6ed5..0000000000
--- a/macros/latex/contrib/stex/lib/bib/extpubs.bib
+++ /dev/null
@@ -1,40262 +0,0 @@
-@STRING{epmessage = "READ the README please!!!!!!!!!!!!!!"}
-
-@STRING{JWS = {Web Semantics: Science, Services and Agents on the World Wide Web}}
-
-
-@book{ChaStr:pg14,
- title = {Pro {Git}},
- edition= {2nd Edition},
- year = {2014},
- author = {Scott Chacon and Ben Straub},
- isbn = {978-1484200773},
- url = {https://git-scm.com/book/en/v2},
- publisher = {APress}}
-
-@Article{zbMATH06165381,
- Author = "Thierry {Bouche} and Olaf {Teschke} and Krzy{\'s} {Wojciechowski}",
- Title = "Time lag in mathematical references",
- Journal = "{European Mathematical Society Newsletter}",
- ISSN = "1027-488X",
- Volume = "86",
- Pages = "54--55",
- Year = "2012"}
-
-@online{SCLWorkshop16,
- title = {Semantic Representation of Mathematical Knowledge Workshop},
- url = {https://www.fields.utoronto.ca/programs/scientific/15-16/semantic/},
- date = {February 3-5, 2016},
- institution = {Fields Institute, Toronto, Ontario}}
-
-@online{Zyga:mfnsp16,
- author = {Lisa Zyga},
- note = {Online article at \url{http://phys.org}},
- title = {Mathematician finds his 'new' solution to {Poisson} formula problem buried in 1959 paper},
- url = {http://phys.org/news/2016-03-mathematician-solution-poisson-formula-problem.html},
- date = {2016}}
-
-@online{EPUB-contentdocs:on,crossref={EPUB.-contentdocs:base},
- urldate = {2016-03-29}}
-@misc{EPUB-contentdocs:URL,crossref={EPUB-contentdocs:base},
- howpublished = {\url{http://www.idpf.org/epub/301/spec/epub-contentdocs.html}}}
-@misc{EPUB-contentdocs:base,
- title = {EPUB Content Documents 3.0.1},
- url = {http://www.idpf.org/epub/301/spec/epub-contentdocs.html},
- author = {Markus Gylling and William McCoy and Dave Cramer and Elika J. Etemad},
- institution = {International Digital Publishing Forum (IDPF)}}
-
-@online{EPUB-publications:on,crossref={EPUB-publications:base},
- urldate = {2016-03-29}}
-@misc{EPUB-publications:URL,crossref={EPUB-publications:base},
- howpublished = {\url{http://www.idpf.org/epub/301/spec/epub-publications.html}}}
-@misc{EPUB-publications:base,
- title = {EPUB Publications 3.0.1},
- url = {http://www.idpf.org/epub/301/spec/epub-publications.html},
- author = {Markus Gylling and William McCoy and Matt Garrish},
- institution = {International Digital Publishing Forum (IDPF)},
- urldate = {2016-03-29}}
-
-@online{OCF:on,crossref={OCF:base},
- urldate = {2016-03-29}}
-@misc{OCF:URL,crossref={OCF:base},
- howpublished = {\url{http://www.idpf.org/epub/301/spec/epub-ocf.html}}}
-@misc{OCF:base,
- title = {EPUB Open Container Format (OCF) 3.0.1},
- url = {http://www.idpf.org/epub/301/spec/epub-ocf.html},
- author = {James Pritchett and Markus Gylling},
- institution = {International Digital Publishing Forum (IDPF)},
- urldate = {2016-03-29}}
-
-@online{EPUB-mediaoverlays:on,crossref={EPUB-mediaoverlays:base},
- urldate = {2016-03-29}}
-@misc{EPUB-mediaoverlays:URL,crossref={EPUB-mediaoverlays:base},
- howpublished = {\url{http://www.idpf.org/epub/301/spec/epub-mediaoverlays.html}}}
-@misc{EPUB-mediaoverlays:base,
- title = {EPUB Media Overlays 3.0.1},
- url = {http://www.idpf.org/epub/301/spec/epub-mediaoverlays.html},
- author = {Marisa DeMeglio and Daniel Weck},
- institution = {International Digital Publishing Forum (IDPF)},
- urldate = {2016-03-29}}
-
-@online{opendefinition.org,
- url = {http://opendefinition.org},
- label = {OD},
- title = {The Open Definition},
- urldate = {2016-01-11}}
-
-@misc{Gutenberg:url,crossref={Gutenberg:base},
- key = {GO},
- howpublished = {Project page at \url{https://www.gutenberg.org}},
- note = {accessed 1. 3. 2016}}
-@online{Gutenberg:online,crossref={Gutenberg:base},
- urldate = {2016-03-01},
- label={GO}}
-@misc{Gutenberg:base,
- title = {Project Gutenberg},
- url = {https://www.gutenberg.org}}
-
-
-@Misc{Morzycki:modificationbook,
- author = {Marcin Morzycki},
- year = 2014,
- chapter = {The Lexical Semantics of Adjectives: More Than Just Scales},
- title = {Modification},
- booktitle = {Modification},
- note = {Book manuscript. In preparation for the Cambridge University Press series \emph{Key Topics in Semantics and Pragmatics}.},
- url = {http://msu.edu/~morzycki/work/book}}
-
-@article{Cantor:bbtm95,
-author = {Cantor, Georg},
-year ={1895},
-title = {Beitr{\"a}ge zur Begr{\"u}ndung der transfiniten Mengenlehre (1)},
-journal = {Mathematische Annalen},
-volume = {46},
-pages = {481--512},
-doi = {10.1007/bf02124929}}
-
-@article{Cantor:bbtm97,
-author = {Cantor, Georg},
-year ={1897},
-title = {Beitr{\"a}ge zur Begr{\"u}ndung der transfiniten Mengenlehre (2)},
-journal = {Mathematische Annalen},
-volume = {49},
-pages = {207--246},
-doi = {doi:10.1007/bf01444205}}
-
-@book{DoxPapPap:lest09,
- title={Logicomix: An Epic Search for Truth},
- author={Doxiad{\=e}s, A.K. and Papadimitriou, C.H. and Papadatos, A. and Di Donna, A.},
- isbn={9780747597209},
- year={2009},
- publisher={Bloomsbury}
-}
-
-@book{Hofstadter:GEB79,
- author = {Hofstadter, Douglas R.},
- year = {1979},
- title= {G{\"o}del, Escher, Bach: An Eternal Golden Braid},
- publisher = {Basic Books},
- isbn = { 0-465-02656-7}}
-
-@misc{python-regexp:URL,crossref={python-regexp:base},
-key = {RE},
-howpublished = {online manual at \url{https://docs.python.org/2/library/re.html}}}
-@online{python-regexp:on,crossref={python-regexp:base},
-label = {RE},
-urldate = {2015-09-20}}
-@misc{python-regexp:base,
-url = {https://docs.python.org/2/library/re.html},
-title = {\texttt{re} -- Regular expression operations}}
-
-@incollection{MosCodNeuKut:dol15,
-author = {Till Mossakowski and Mihai Codescu and Fabian Neuhaus and Oliver Kutz},
-crossref = {KosBuc:rtul15},
-title = {The Distributed Ontology, Modeling, and Specification Language -- DOL},
-pages = {489--520}}
-
-@incollection{Gonthier+:mcpoot13,
-doi = {10.1007/978-3-642-39634-2_14},
-title = {A Machine-Checked Proof of the Odd Order Theorem},
-url = {http://dx.doi.org/10.1007/978-3-642-39634-2_14},
-author = {Gonthier, Georges and Asperti, Andrea and Avigad, Jeremy and Bertot, Yves and
- Cohen, Cyril and Garillot, Fran{\c{c}}ois and Le Roux, St{\`e}phane and
- Mahboubi, Assia and O'Connor, Russell and Ould Biha, Sidi and Pasca,
- Ioana and Rideau, Laurence and Solovyev, Alexey and Tassi, Enrico and
- Th{\'e}ry, Laurent},
-pages={163--179},
-crossref= {ITP13}
-}
-
-@online{Flyspeck-complete:on,urldate={2014-12-4},crossref={Flyspeck-complete:base}}
-@misc{Flyspeck-complete:url,crossref={Flyspeck-complete:base},
- howpublished = {Wiki page at \url{url = {https://code.google.com/p/flyspeck/wiki/AnnouncingCompletion}}}}
-@misc{Flyspeck-complete:base,
- title = {flyspeck: Announcement of Completion},
- author = {Tom Callister Hales},
- url = {https://code.google.com/p/flyspeck/wiki/AnnouncingCompletion}}
-
-@online{pyton3doc:on,crossref={python3doc:base},urldate = {2014-09-02},label={P3D}}
-@misc{python3doc:url,crossref={python3doc:base},note = {seen 2014-09-02},
- howpublished = {\url{https://docs.python.org/3/}},
- key = {P3D}}
-@misc{python3doc:base,
-title = {Python 3 Documentation},
-url = {https://docs.python.org/3/}}
-
-@online{es:online,
- title = {Elastic Search},
- date = {2014-02-20},
- url = {http://www.elasticsearch.org/},
- urldate = {2014-02-20}}
-
-@article{Matijasevic:esd70,
-author = {Ju. V. Matijasevi{\v{c}}},
-title = {Enumerable sets are diophantine},
-journal = {Soviet Math. Doklady},
-volume = {11},
-year = {1970},
-pages = {354-358}}
-
-@online{sthurlow:abpt:on,crossref={sthurlow:abpt:base},urldate = {2014-09-02},label={BPT}}
-@misc{sthurlow:abpt:url,crossref={sthurlow:abpt:base},note = {seen 2014-09-02},
- howpublished = {\url{http://www.sthurlow.com/python/}},
- key = {BPT}}
-@misc{sthurlow:abpt:base,
-title = {A Beginner's Python Tutorial},
-url = {http://www.sthurlow.com/python/}}
-
-@online{Sanderson:auc15,
-title = {Annotation Use Cases},
-editor = {Robert Sanderson},
-url = {http://w3c.github.io/dpub-annotation/},
-urldate = {2015-05-30},
-type = {W3C Interest Group Note}}
-
-@online{SanCicSom:oadm13,
-title = {Open Annotation Data Model},
-editor = {Robert Sanderson and Paolo Ciccarese and Herbert Van de Sompel},
-url = {http://www.openannotation.org/spec/core/},
-date = {2013},
-type = {W3C Community Draft}}
-
-@misc{Knupp:iypuut,crossref={Knupp:iypuut:base},
- howpublished = {Web tutorial at \url{http://www.jeffknupp.com/blog/2013/12/09/improve-your-python-understanding-unit-testing/}}}
-
-@online{Knupp:iypuut:on,crossref={Knupp:iypuut:base},urldate = {2015-03-08}}
-@misc{Knupp:iypuut:base,
- author = {Jeff Knupp},
- title = {Improve Your Python: Understanding Unit Testing},
- url = {http://www.jeffknupp.com/blog/2013/12/09/improve-your-python-understanding-unit-testing/}}
-
-@online{Ryabitsev:pwot14:on,crossref={Ryabitsev:pwot14:base},urldate = {2014-09-20},label={WoT}}
-@misc{Ryabitsev:pwot14:url,crossref={Ryabitsev:pwot14:base},note = {seen 2014-09-20},
- howpublished = {\url{http://www.linux.com/learn/tutorials/760909-pgp-web-of-trust-core-concepts}},
- key = {WoT}}
-@misc{Ryabitsev:pwot14:base,
-url = {http://www.linux.com/learn/tutorials/760909-pgp-web-of-trust-core-concepts},
-title = {{PGP Web of Trust}: Core Concepts Behind Trusted Communication},
-author = {Konstantin Ryabitsev}}
-@book{Sweigart:iwp14,
- year = {2013},
- edition = {2},
- author = {Al Sweigart},
- title = {Invent with Python: Learn to program by making computer games},
- url = {http://inventwithpython.com},
- isbn = {978-0-9821060-1-3},
- note = {online at \url{http://inventwithpython.com}}}
-
-@InProceedings{Libbrecht:CDNotations07,
- author = {Paul Libbrecht},
- title = {Content Dictionary Notations},
- crossref = {OpenJEM07},}
-
-@inproceedings{SalXam:tgml12,
- author = {Jordi Saludes and Sebastian Xamb{\'o}},
- title = {The {GF} Mathematics Library},
- booktitle = {THedu},
- year = {2011},
- pages = {102--110},
- doi = {10.4204/EPTCS.79.6},
- crossref = {THEDU11}}
-
-@book{Lewis:c73,
- author = {David K. Lewis},
- title = {Counterfactuals},
- year = {1973},
- publisher = {Blackwell Publishers}}
-
-
-@incollection{Stalnaker:atc68,
- author = {Robert C. Stalnaker},
- year = {1968},
- title = {A Theory of Conditionals},
- booktitle = {Studies in Logical Theory, American Philosophical Quarterly},
- publisher = {Blackwell Publishers},
- pages = {98--112}}
-
-@incollection{Kratzer:ncm81,
- author = {Angelika Kratzer},
- year = {1981},
- title = {The notional category of modality},
- booktitle = {Words, worlds, and contexts: New approaches in word semantics},
- editor = {Eikmeyer, H. J. and H. Rieser},
- publisher = {Walter de Gruyter}}
-
-@online{sphinxfonts:on,
-label={FNT},
-title={File:Typography Line Terms.svg},
-url = {en.wikipedia.org/wiki/File:Typography_Line_Terms.svg}}
-
-@online{MathCom:glo:on,
-label = {MCG},
-title = {Math.com Glossary},
-url = {http://www.math.com/school/glossary/glossindex.html},
-urldate = {2014-02-01}}
-
-@online{EncMath:on,
-label = {EM},
-title = {Encyclopedia of Mathematics},
-url = {http://www.encyclopediaofmath.org},
-urldate = {2014-02-01}}
-
-@online{BSL:MG:on,
-label = {BSL},
-title = {British Sign Language Math Glossary},
-url = {http://www.ssc.education.ed.ac.uk/bsl/maths.html},
-urldate = {2014-02-01}}
-
-@online{chitanka:md:on,
-label = {CMD},
-title = {Math Dictionary},
-url = {http://mathdict.chitanka.info/},
-urldate = {2014-02-01}}
-
-@online{anchovy:on,
-label = {AN},
-title = {Anchovy},
-url = {http://www.maxprograms.com/products/anchovy.html},
-urldate = {2014-02-01}}
-
-@online{hrw:mg:on,
-label = {HRW},
-title = {HRW: Middle School Math -- Multilingual Glossary},
-publisher = {Holt, Rinehart, and Winston},
-url = {http://my.hrw.com/math06_07/nsmedia/tools/glossary/msm/glossary.html},
-urldate = {2014-02-01}}
-
-@inproceedings{SCMO:SPINformaliseAccountingWeb12,
- title = {Using {SPIN} to Formalise Accounting Regulations on the Semantic Web},
- authors = {Dennis Spohr and Philipp Cimiano and John McCrae and Se{\'a}n O'Riain},
- crossref = {FEOSW2012}
-}
-
-@inproceedings{CTG:SemWebXBRLFinance12,
- title = {Using Semantic Web Technologies to Facilitate {XBRL}-based Financial Data Comparability},
- authors = {H{\'e}ctor Carreti{\'e} and Beatriz Torvisco and Roberto Garc{\'i}a},
- crossref = {FEOSW2012},
-}
-
-@online{Wiedijk:100Theorems,
- title = {Formalizing 100 Theorems},
- author = {Freek Wiedijk},
- url = {http://www.cs.ru.nl/~freek/100/},
- urldate = {2013-02-22},
- date = {2012-12-18}
-}
-
-@PhdThesis{Wolska:PHD,
- author = {Magdalena A. Wolska},
- title = {Student's Language in Computer-Assisted Tutoring of Mathematical Proofs},
- school = {ComputerLinguistik, Saarland University},
- year = 2013}
-
-@inproceedings{Vosloo:ModelValidTestPortfFinancReg:13,
- title = {Model Validation and Test Portfolios in Financial Regulation},
- author = {Neels Vosloo},
- crossref = {DoForm13},
-}
-
-@online{UITP,
- author = {David Aspinall and Serge Autexier and Chris Benzm{\"u}ller and Yves Bertot and Christoph L{\"u}th},
- title = {UITP (User Interfaces for Theorem Provers)},
- url = {http://www.informatik.uni-bremen.de/uitp/},
- urldate = {2013-01-16},
- date = {2012-01-11}}
-
-@online{ScienceWISE:on,
- label = {ScW},
- title = {{ScienceWise} -- Scientific Web-based Interactive Semantic Environemnt},
- url = {http://sciencewise.info},
- urldate = {2013-01-16},
- date = {2013-01-16}}
-
-@inproceedings{WhitesiteEtAl:SSReflect12,
- author = {Iain Whiteside and David Aspinall and Gudmund Grov},
- title = {An Essence of {SSReflect}},
- pages = {186--201},
- crossref = {CICM12},
-}
-
-@misc{FrameNet:url,crossref={FrameNet:base},
- key={FN},
- howpublished={\url{https://framenet.icsi.berkeley.edu}}}
-@online{FrameNet:on,crossref={FrameNet:base},label={FN},urldate = {2014-02-06}}
-@misc{FrameNet:base,
-title={Frame Net},
-url = {https://framenet.icsi.berkeley.edu}}
-
-@misc{RupEllPet:fetp10:url,crossref={RupEllPet:fetp10:base},key={FN},
-howpublished = {\url{https://framenet2.icsi.berkeley.edu/docs/r1.5/book.pdf}}}
-@online{RupEllPet:fetp10,crossref={RupEllPet:fetp10:base},label={FN}}
-@misc{RupEllPet:fetp10:base,
-title = {{FrameNet II}: Extended Theory and Practice},
-author = {Josef Ruppenhofer and Michael Ellsworth and Miriam R. L. Petruck and Christopher and R. Johnson and Jan Scheffczyk},
-year = {2010},
-url = {https://framenet2.icsi.berkeley.edu/docs/r1.5/book.pdf}}
-
-@misc{PropBank:url,key={PB},crossref={PropBank:base},
- howpublished = {\url{http://verbs.colorado.edu/~mpalmer/projects/ace.html}}}
-@online{PropBank:on,label={PB},crossref={PropBank:base},urldate = {2014-02-06}}
-@misc{PropBank:base,label={PB},
- title = {Proposition Bank},
- url = {http://verbs.colorado.edu/~mpalmer/projects/ace.html}}
-
-@InCollection{CarFar:mm14,
- title = {Mechanising mathematics},
- author = {Jacques Carette and William M. Farmer},
- booktitle = {International Innovation North America},
- month = may,
- year = 2013,
- pages = {20--22},
- publisher = {Research Media},
- url = {http://imps.mcmaster.ca/doc/int-inn-mathscheme-article-2013.pdf}}
-
-@article{PalKinGil:pbacsr05,
- author = {Palmer, Martha and Kingsbury, Paul and Gildea, Daniel},
- year = {2005},
- title={The Proposition Bank: An Annotated Corpus of Semantic Roles},
- journal = {Computational Linguistics},
- volume = {31},
- number = {1},
- pages = {71--106},
- doi = {10.1162/0891201053630264}}
-
-@inproceedings{CarFarCon:mpd11,
- title = {{MathScheme}: Project description},
- author = {Jacques Carette and William M. Farmer and Russell O'Connor},
- crossref = {CICM11},
- pages = {287--288},
- url = {http://imps.mcmaster.ca/doc/cicm-2011-proj-desc.pdf}}
-
-@book{Smith:WoN1776,
- title = {An Inquiry into the Nature and Causes of the Wealth of Nations},
- author = {Adam Smith},
- publisher = {W. Strahan and T. Cadell},
- year = {1776}}
-
-@inproceedings{Wenzel:IsabelleJEdit12,
- author = {Makarius Wenzel},
- title = {{Isabelle/jEdit} -- a Prover {IDE} within the {PIDE} framework},
- pages = {468--471},
- crossref = {CICM12},
- eprint = {1207.3441},
- eprinttype = {arxiv},
- eprintclass = {cs.LO}}
-
-@inproceedings{Wolska:bpacspm12,
- author = {Magdalena Wolska},
- title = {Building a POS-annotated corpus of scientific papers in mathematics},
- crossref = {DML12},
- year = 2012,
- NOTurl = {http://kwarc.info/kohlhase/papers/mir12.pdf},
- note = {in press}}
-
-@inproceedings{Asperti:pmc12,
- author = {Andrea Asperti},
- title = {Proof, Message and Certificate},
- pages = {17--31},
- crossref = {CICM12},
- ee = {http://dx.doi.org/10.1007/978-3-642-31374-5_2}}
-
-@inproceedings{Windsteiger:Theorema20UI12,
- author = {Wolfgang Windsteiger},
- title = {{Theorema} 2.0: A Graphical User Interface for a Mathematical Assistant System},
- crossref = {uitp2012},
- pages = {1--8},
-}
-
-@inproceedings{AYK:EvalMultimodalInputMathEquations05,
- author = {Lisa Anthony and Jie Yang and Kenneth R. Koedinger},
- title = {Evaluation of multimodal input for entering mathematical equations on the computer},
- year = {2005},
- booktitle = {CHI '05 extended abstracts on Human factors in computing systems},
- editor = {Gerrit van der Veer and Carolyn Gale},
- pages = {1184--1187},
- publisher = {ACM},
- doi = {10.1145/1056808.1056872},
- }
-
-@ARTICLE{Wiedijk:tqmr07,
- author = {Freek Wiedijk},
- title = {The QED Manifesto Revisited},
- journal = {Studies in Logic, Grammar and Rhetoric},
- year = {2007},
- volume = {10},
- number = {23},
- pages = {121--133}
-}
-@online{GoogleAppsScript,
- title = {Google Apps Script Project},
- url = {https://developers.google.com/apps-script/},
- urldate = {2012-05-30}
-}
-
-@online{TeXLive:on,
- title = {TeX Live},
- url = {http://www.tug.org/texlive/},
- urldate = {2012-12-11}}
-
-@online{MiKTeX:on,
- title = {{MiK\TeX}\ldots typesetting beautiful documents\ldots},
- url = {http://miktex.org},
- urldate = {2012-12-11}}
-
-@online{isa:on,
- title = {ISA metadata tracking tools},
- url = {http://www.isa-tools.org/},
- urldate = {2012-05-29}
-}
-
-@online{RightField,
- title = {RightField},
- url = {http://www.sysmo-db.org/rightfield},
- urldate = {2012-05-29}
-}
-
-@online{DocumentFoundation,
- title = {The Document Foundation},
- url = {http://www.documentfoundation.org/},
- urldate = {2012-05-23}
-}
-
-@online{MSExcelQuestion,
- title = {MSDN Social: Cell absolute screen position},
- url = {http://social.msdn.microsoft.com/Forums/en-US/exceldev/thread/50dae716-598c-4b16-bd57-4e09b859c83e},
- urldate = {2012-05-23}
-}
-
-@online{GoogleEiffelTower,
- title = {{Google Search for ``height of Eiffel Tower''}},
- url = {https://www.google.com/search?q=height+of+eiffel+tower},
- urldate = {2012-05-23}
-}
-
-@online{GoogleKnowledgeGraph:on,
- title = {Google Knowledge Graph},
- url = {http://www.google.com/insidesearch/features/search/knowledge.html},
- urldate = {2012-05-23}
-}
-
-@online{ntcirmath:on,crossref={ntcirmath:base},urldate = {2012-11-11},label={NTM}}
-@misc{ntcirmath:url,
- crossref = {ntcirmath:base},
- howpublished = {\url{http://ntcir-math.nii.ac.jp/}},
- year = {2013},
- key={NTM}}
-@misc{ntcirmath:base,
- keywords = {lamapunbibs},
- title = {{NTICR Pilot Task: Math Task}},
- url = {http://ntcir-math.nii.ac.jp/}
-}
-
-@online{sepia:on,crossref={sepia:base},urldate = {2013-02-11}}
-@misc{sepia:url,crossref={sepia:base},howpublished = {\url{https://code.google.com/p/sepia/}}}
-@misc{sepia:base,
- key = {SEPIA},
- label = {SEPIA},
- title = {sepia: Standard Evaluation Package for Information Access systems},
- url = {https://code.google.com/p/sepia/}
-}
-
-@book{BadNip:traat99,
-author = {Franz Baader and Tobias Nipkow},
-title = {Term Rewriting and All That},
-publisher = {Cambridge University Press},
-year = {1999}}
-
-
-@online{MorganStanleyRep:Mobile,
- key = {Morgan Stanley report},
- title = {The Mobile Internet Report},
- url = {http://www.morganstanley.com/institutional/techresearch/mobile_internet_report122009.html},
- urldate = {2012-05-15}}
-
-@online{BBC:Mobile,
- key = {BBC report},
- title = {Over 5 billion mobile phone connections worldwide},
- url = {http://www.bbc.co.uk/news/10569081},
- urldate = {2012-05-15}}
-
-@online{CISCO:MobileInternet,
- key = {Cisco report},
- title = {Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2011-2016},
- url = {http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-520862.pdf},
- urldate = {2012-05-15}
-}
-
-@INPROCEEDINGS{BozdagEtAl:PushPull,
- author={Bozdag, E. and Mesbah, A. and van Deursen, A.},
- booktitle={Web Site Evolution, 2007. WSE 2007. 9th IEEE International Workshop on}, title={A Comparison of Push and Pull Techniques for AJAX},
- year={2007},
- month={oct.},
- volume={},
- number={},
- pages={15--22},
- keywords={XML;asynchronous JavaScript;auction updates;browser-based application;news headlines;push-pull technique;real-time dynamic Web data;stock tickers;user interactivity;Internet;Java;XML;client-server systems;user interfaces;},
- doi={10.1109/WSE.2007.4380239},
- ISSN={},}
-
-@article{NiehEtAl:ThinClientPerformance2003,
- author = {Nieh, Jason and Yang, S. Jae and Novik, Naomi},
- title = {Measuring thin-client performance using slow-motion benchmarking},
- journal = {ACM Trans. Comput. Syst.},
- volume = 21,
- issue = 1,
- month = feb,
- year = 2003,
- issn = {0734-2071},
- pages = {87--115},
- numpages = 29,
- url = {http://doi.acm.org/10.1145/592637.592640},
- doi = {http://doi.acm.org/10.1145/592637.592640},
- acmid = 592640,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {Thin-client computing, client-server, measurement methodology, multimedia},
-}
-
-
-@Book{Johnson:DesigningWithTheMindInMind2010,
- hyphenation = {american},
- author = {Jeff Johnson},
- title = {Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules},
- publisher = {Morgan Kaufmann Publishers},
- year = {2010}
-}
-
-@book{Assmann:InvasiveSoftwareComposition,
- author = {A{\ss}mann, Uwe},
- isbn = {978-3-540-44385-8},
- pages = {I-XII, 1-334},
- publisher = {Springer},
- title = {Invasive software composition.},
- year = 2003
-}
-
-@inproceedings{MedynskiyEtAl:ContextualFacets2009,
- author = {Medynskiy, Yevgeniy and Dontcheva, Mira and Drucker, Steven M.},
- title = {Exploring websites through contextual facets},
- booktitle = {Proceedings of the 27th international conference on Human factors in computing systems},
- series = {CHI '09},
- year = 2009,
- isbn = {978-1-60558-246-7},
- location = {Boston, MA, USA},
- pages = {2013--2022},
- numpages = 10,
- url = {http://doi.acm.org/10.1145/1518701.1519007},
- doi = {http://doi.acm.org/10.1145/1518701.1519007},
- acmid = 1519007,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {contextual facets, decision-making, faceted navigation},
-}
-
-@article{HutchinsEtAl:DirectManipulationInterfaces1985,
- author = {Hutchins, Edwin L. and Hollan, James D. and Norman, Donald A.},
- title = {Direct manipulation interfaces},
- journal = {Hum.-Comput. Interact.},
- issue_date = {December 1985},
- volume = 1,
- number = 4,
- month = dec,
- year = 1985,
- issn = {0737-0024},
- pages = {311--338},
- numpages = 28,
- url = {http://dx.doi.org/10.1207/s15327051hci0104_2},
- doi = {10.1207/s15327051hci0104_2},
- acmid = 1453235,
- publisher = {L. Erlbaum Associates Inc.},
- address = {Hillsdale, NJ, USA},
-}
-
-@InProceedings{Novick:WhatUsersWantInDocumentation,
- author = {David G. Novick and Karen Ward},
- title = {What Users Say They Want in Documentation},
- booktitle = {SIGDOC'06 Conference Proceedings},
- year = 2006,
- pages = {84--91},
- publisher = {ACM}
-}
-
-@Book{Norman:DesignOfEverydayThings,
- author = {Donald A. Norman},
- title = {The Design of Everyday Things},
- publisher = {B\&T},
- year = 2002}
-
-@inbook{SauermannEtAl:GnowsisExperience2006,
- title={Semantic Desktop 2.0: The Gnowsis Experience},
- volume={6},
- booktitle={The Semantic Web},
- publisher={Springer},
- author={Sauermann, L and Grimnes, G A and Kiesel, M and Fluit, C and Maus, H and Heim, D and Nadeem, D and Horak, B and Dengel, A},
- year={2006},
- pages={887--900}}
-
-@INPROCEEDINGS{PomerolBrezillon:ContextualKnowledge2002,
- author = {Jean-Charles Pomerol and Patrick Brezillon},
- title = {Proceduralization of the Contextual Knowledge for Decision Making},
- booktitle = {Proceedings of the HCP-2003, the 14th Mini-Euro Conference on Human Centered Processes, R. Bisdorf (Ed.), Fonds National de la Recherche},
- year = {2002},
- pages = {139--147}
-}
-
-@inproceedings{Brezillon:ContextDynamicContextualGraphs2003,
- author = {Br\'{e}zillon, Patrick},
- title = {Context dynamic and explanation in contextual graphs},
- booktitle = {Proceedings of the 4th international and interdisciplinary conference on Modeling and using context},
- series = {CONTEXT'03},
- year = 2003,
- isbn = {3-540-40380-9},
- location = {Stanford, CA, USA},
- pages = {94--106},
- numpages = 13,
- url = {http://dl.acm.org/citation.cfm?id=1763142.1763151},
- acmid = 1763151,
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg},
- keywords = {applications, context dynamic, contextual graphs, explanation, visual explanations},
-}
-
-@InProceedings{VieiraEtAl:ContextualElemMgmt2007,
- author = {Vieira, Vaninha and Tedesco, Patricia and Salgado, Anna Carolina and Br\'{e}zillon, Patrick},
- title = {Investigating the specifics of Contextual elements management: The CEManTIKA approach},
- booktitle = {5th International and Interdisciplinary Conference on Modeling and Using Context},
- year = {2007},
- number = {4635},
- pages = {493--506},
- series = {LNCS}
-}
-
-
-@inproceedings{OlsenEtAl:InterfaceAttachments1999,
- author = {Olsen Jr., Dan R. and Hudson, Scott E. and Verratti, Thom and Heiner, Jeremy M. and Phelps, Matt},
- title = {Implementing interface attachments based on surface representations},
- booktitle = {Proceedings of the SIGCHI conference on Human factors in computing systems: the CHI is the limit},
- series = {CHI '99},
- year = 1999,
- isbn = {0-201-48559-1},
- location = {Pittsburgh, Pennsylvania, United States},
- pages = {191--198},
- numpages = 8,
- url = {http://doi.acm.org/10.1145/302979.303038},
- doi = {http://doi.acm.org/10.1145/302979.303038},
- acmid = 303038,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {linking and embedding, observational attachments, surface representations, user interface architectures},
-}
-
-@inproceedings{BighamLadner:AccessMonkey2007,
- author = {Bigham, Jeffrey P. and Ladner, Richard E.},
- title = {Accessmonkey: a collaborative scripting framework for web users and developers},
- booktitle = {Proceedings of the 2007 international cross-disciplinary conference on Web accessibility (W4A)},
- series = {W4A '07},
- year = 2007,
- isbn = {1-59593-590-8},
- location = {Banff, Canada},
- pages = {25--34},
- numpages = 10,
- url = {http://doi.acm.org/10.1145/1243441.1243452},
- doi = {http://doi.acm.org/10.1145/1243441.1243452},
- acmid = 1243452,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {accessmonkey, alternative text, greasemonkey, web accessibility, web scripting, web transcoding},
-}
-
-@book{Pilgrim:GreaseMonkey2005,
- author = {Pilgrim, Mark},
- title = {Greasemonkey Hacks: Tips \& Tools for Remixing the Web with Firefox (Hacks)},
- year = {2005},
- isbn = {0596101651},
- publisher = {O'Reilly Media, Inc.},
-}
-
-@inproceedings{RizzottiBurkhart:useKit2010,
- author = {Rizzotti, Sven and Burkhart, Helmar},
- title = {useKit: a step towards the executable web 3.0},
- booktitle = {Proceedings of the 19th international conference on World wide web},
- series = {WWW '10},
- year = 2010,
- isbn = {978-1-60558-799-8},
- location = {Raleigh, North Carolina, USA},
- pages = {1175--1176},
- numpages = 2,
- url = {http://doi.acm.org/10.1145/1772690.1772861},
- doi = {http://doi.acm.org/10.1145/1772690.1772861},
- acmid = 1772861,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {mashup, personalization, refinement, service composition, web3.0},
-}
-
-@inbook{GuinardTrifa:WebMashupForEmbeddedDesign2009,
- title={Towards the Web of Things: Web Mashups for Embedded Devices},
- volume={51},
- url={http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.155.3238&rep=rep1&type=pdf},
- number={74601},
- booktitle={Integration The Vlsi Journal},
- publisher={Citeseer},
- author={Guinard, Dominique and Trifa, Vlad},
- year={2009},
- pages={1506--1518}}
-
-@article{dAquinEtAl:WATSON2007,
- title={WATSON: a gateway for the semantic web},
- url={http://oro.open.ac.uk/23561/},
- journal={Poster Session at 4th ESWC},
- author={d{'}Aquin, Mathieu and Sabou, Marta and Dzbor, Martin and Baldassarre, Claudio and
- Gridinoc, Laurian and Angeletou, Sofia and Motta, Enrico},
- year={2007}}
-
-@article{dAquinMotta:WatsonMore2011,
- title={Watson, more than a Semantic Web search engine},
- volume={2},
- url={http://oro.open.ac.uk/28571/},
- number={1},
- journal={Semantic Web},
- publisher={IOS Press},
- author={d{'}Aquin, Mathieu and Motta, Enrico},
- year={2011},
- pages={55--63}}
-
-@article{dAquinEtAl:WatsonNextGen2007,
- title={Watson: supporting next generation semantic web applications},
- url={http://oro.open.ac.uk/23560/}, journal={Knowledge Creation Diffusion Utilization}, author={d'Aquin, Mathieu and Baldassarre, Claudio and Gridinoc, Laurian and Sabou, Marta and Angeletou, Sofia and Motta, Enrico}, year={2007}}
-
-@inproceedings{AuLeh:whilic07,
- author = {S{\"o}ren Auer and Jens Lehmann},
- title = {What have Innsbruck and Leipzig in common? Extracting Semantics from Wiki Content},
- crossref = {eswc2007},
- pages = {503--517}}
-
-@online{Burdick:isass08,
- url={http://www.theiia.org/intAuditor/itaudit/archives/2008/march/improving-spreadsheet-audits-in-six-steps/},
- title = {Improving Spreadsheet Audits in Six Steps},
- year = {2008},
- author = {Tim Burdick}}
-
-@online{Mathcad:URL,
- key = {Mathcad},
- title = {Mathcad: Optimize your design and engineering},
- url = {http://www.ptc.com/products/mathcad},
- urldate = {2012-02-24}}
-
-@INPROCEEDINGS{FisRot:EUSEScorpus05,
- author = {Marc Fisher and Gregg Rothermel},
- title = {The EUSES Spreadsheet Corpus: A Shared Resource for Supporting
- Experimentation with Spreadsheet Dependability Mechanisms},
- booktitle = {In 1st Workshop on End-User Software Engineering},
- year = 2005,
- pages = {47--51}
-}
-
-@ARTICLE{RohBurLi:amts01,
- author = {Gregg Rothermel and Margaret Burnett and Lixin Li and Christopher DuPuis and Andrei Sheretov},
- title = {A Methodology for Testing Spreadsheets},
- journal = {ACM Transactions on Software Engineering and Methodology},
- year = {2001},
- volume = {10},
- pages = {110--147}
-}
-@inproceedings{NixOHa:sas01,
-author = {David Nixon and Mike O'Hara},
-title = {Spreadsheet Auditing Software},
-crossref = {EUSPRIG01}}
-
-@article{NixonOHara:SpreadsheetAuditingSoftwareReprint:2010,
- author = {David Nixon and Mike O'Hara},
- title = {Spreadsheet Auditing Software},
- journal = {CoRR},
- volume = {abs/1001.4293},
- year = {2010}}
-
-@online{truenumbers:URL,
- key={truenumbers},
- title = {truenumbers},
- url = {http://www.truenum.com},
- urldate = {2012-02-24}}
-
-@online{Cinderella:URL,
- key={Cinderella},
- title = {Cinderella: Interactive Geometry Software},
- url = {http:\\www.cinderella.de},
- urldate = {2012-02-24}}
-
-@online{SemanticDesktop:URL,
- key={Semantic Desktop},
- title = {Semantic Desktop},
- url = {http://www.semanticdesktop.org/},
- urldate = {2012-02-24}}
-
-@inproceedings{DanielEtAl:TowardsProcessMashups2010,
- author = {Daniel, Florian and Koschmider, Agnes and Nestler, Tobias and Roy, Marcus and Namoun, Abdallah},
- title = {Toward process mashups: key ingredients and open research challenges},
- booktitle = {Proceedings of the 3rd and 4th International Workshop on Web APIs and Services Mashups},
- series = {Mashups '09/'10},
- year = 2010,
- isbn = {978-1-4503-0418-4},
- location = {Ayia Napa, Cyprus},
- pages = {9:1--9:8},
- articleno = 9,
- numpages = 8,
- url = {http://doi.acm.org/10.1145/1944999.1945008},
- doi = {http://doi.acm.org/10.1145/1944999.1945008},
- acmid = 1945008,
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@inproceedings{SalminenEtAl:ClientSideMashups2010,
- author = {Salminen, Arto and Mikkonen, Tommi and Nyrhinen, Feetu and Taivalsaari, Antero},
- title = {Developing client-side mashups: experiences, guidelines and the road ahead},
- booktitle = {Proceedings of the 14th International Academic MindTrek Conference: Envisioning Future Media Environments},
- series = {MindTrek '10},
- year = 2010,
- isbn = {978-1-4503-0011-7},
- location = {Tampere, Finland},
- pages = {161--168},
- numpages = 8,
- url = {http://doi.acm.org/10.1145/1930488.1930523},
- doi = {http://doi.acm.org/10.1145/1930488.1930523},
- acmid = 1930523,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {mashup development, mashups, web applications, web engineering, web-based software development},
-}
-
-@inproceedings{NestlerEtAl:AppsAtPresLayer2011,
- author = {Nestler, Tobias and Namoun, Abdallah and Schill, Alexander},
- title = {End-user development of service-based interactive web applications at the presentation layer},
- booktitle = {Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems},
- series = {EICS '11},
- year = 2011,
- isbn = {978-1-4503-0670-6},
- location = {Pisa, Italy},
- pages = {197--206},
- numpages = 10,
- url = {http://doi.acm.org/10.1145/1996461.1996521},
- doi = {http://doi.acm.org/10.1145/1996461.1996521},
- acmid = 1996521,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {composition at the presentation layer, end-user programming, service frontend},
-}
-
-@inproceedings{WongHong:Marmite2007,
- author = {Wong, Jeffrey and Hong, Jason I.},
- title = {Making mashups with marmite: towards end-user programming for the web},
- booktitle = {Proceedings of the SIGCHI conference on Human factors in computing systems},
- series = {CHI '07},
- year = 2007,
- isbn = {978-1-59593-593-9},
- location = {San Jose, California, USA},
- pages = {1435--1444},
- numpages = 10,
- url = {http://doi.acm.org/10.1145/1240624.1240842},
- doi = {http://doi.acm.org/10.1145/1240624.1240842},
- acmid = 1240842,
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {end-user programming, mashup, spreadsheet, web services},
-}
-
-@online{drupal:booksmodule,
- label={DruB},
- title = {Book module: Creating Structured Documents | drupal.org},
- url = {https://drupal.org/node/284},
- urldate = {2012-04-22}}
-
-@online{XULRunner,
- title = {XULRunner Runtime Environment},
- url = {https://developer.mozilla.org/en/XULRunner},
- urldate = {2012-02-29},}
-
-@online{xul:online,
- title = {XUL language},
- url = {https://developer.mozilla.org/en/XUL},
- urldate = {2012-01-30},}
-
-@online{trixie:online,
- title = {Trixie addon},
- url = {http://www.bhelpuri.net/Trixie/},
- urldate = {2012-01-30},}
-
-@online{semanticweb:online,
- title = {Semantic Web website},
- url = {http://semanticweb.org/},
- urldate = {2012-01-29},}
-
-@online{semanticdesktop:online,
- tile = {Semantic Desktop website},
- url = {http://www.semanticdesktop.org/},
- urldate = {2012-01-29},}
-
-@online{solidworks:online,
- title = {Solidworks CAD software},
- url = {http://www.solidworks.com/},
- urldate = {2012-01-29},}
-
-@online{catia:online,
- title = {CATIA CAD software},
- url = {http://www.3ds.com/products/catia},
- urldate = {2012-01-29},}
-
-@online{freecad:online,
- title = {FreeCAD software},
- url = {http://sourceforge.net/projects/free-cad/},
- urldate = {2012-01-29},}
-
-@inproceedings{SI:ContentAnalysisClassificationMath11,
- author = {Wolfram Sperber and Patrick D. F. Ion},
- title = {Content analysis and classification in mathematics},
- booktitle = {Classification \& {ontology}: formal approaches and access to knowledge},
- editor = {Aida Slavic and Edgardo Civallero},
- eventtitle = {International UDC seminar},
- eventdate = {2011-09-19/2011-09-20},
- venue = {The Hague, Netherlands},
- pages = {129--144},
- publisher = {Ergon},
- location = {W{\"u}rzburg},
-}
-
-@inproceedings{IS:MKM11,
- author = {Patrick Ion and Wolfram Sperber},
- title = {Some facets of knowledge management in mathematics},
- booktitle = {Facets of Knowledge Organization},
- eventtitle = {ISKO UK biennial conference},
- eventdate = {2011-07-04/2011-07-05},
- venue = {London},
- url = {http://www.iskouk.org/conf2011/}
-}
-
-@phdthesis{Assem:ConvertingIntegratingVocabSemWeb10,
- title = {Converting and Integrating Vocabularies for the Semantic Web},
- author = {Mark F. J. van Assem},
- school = {Vrije Universiteit Amsterdam},
- year = 2010,
- date = {2010-10-01},
- url = {http://hdl.handle.net/1871/16148}}
-
-@misc{Saffer:PersonaNonGrata,
- author = {Dan Saffer},
- title = {Persona Non Grata},
- url = {http://www.adaptivepath.com/ideas/e000524},
- year = {2005},
- urldate = {2011-05-06},
- note = {http://www.adaptivepath.com/ideas/e000524}
-}
-
-
-@book{Smolka:peism11,
- author = {Gert Smolka},
- title = {Programmierung -- eine Einf{\"u}hrung in die Informatik mit Standard ML},
- publisher = {Oldenbourg Wissenschaftsverlag},
- year = 2011,
- note = {ISBN: 978-3486705171},
- edition = {corrected}}
-
-@book{Teetor:RC11,
- author = {Paul Teetor},
- title = {R Cookbook},
- publisher = {O'Reilly},
- url = {http://oreilly.com/catalog/9780596809157},
- year = 2011,
- note = {ISBN: 978-3486705171},
- edition = {second},
- abstract = {Perform data analysis with R quickly and efficiently
- with the task-oriented recipes in this cookbook.
- Although the R language and environment include
- everything you need to perform statistical work right
- out of the box, its structure can often be difficult
- to master. R Cookbook will help both beginners and
- experienced statistical programmers unlock and use the
- power of R.}
-}
-@misc{Frege:b79,
-author={Gottlob Frege},
-title={Begriffsschrift: eine der arithmetischen nachgebildete Formelsprache des reinen Denkens},
-place={Halle},
-year = {1879}}
-
-@book{Scheinermann:CPlusPlus,
- author = {Edward Scheinermann},
- title = {C++ for Mathematicians: An Introduction For Students and Professionals},
- year = {2006},
- isbn = {158488584X},
- publisher = {CRC Press Inc},
-}
-
-@Misc{Brown:LearningInDigitalAge,
- author = {John Seely Brown},
- title = {Learning in the Digital Age},
- howpublished = {Available at {\url{http://net.educause.edu/ir/library/pdf/FFPIU015.pdf}}},
- year = 2005,
- note = {Accessed on 2011-05-11}
-}
-
-@online{GitLab:on,
- label = {GL},
- url = {http://gitlab.org},
- title = {GitLab},
- urldate = {2014-02-24}}
-
-@online{GitHub:on,
- label = {GH},
- url = {http://gitlab.org},
- title = {GitHub: Build software better, together},
- urldate = {2014-02-24}}
-
-@online{GitHub:upr,
- author = {GitHub},
- title = {Using Pull Requests},
- url = {https://help.github.com/articles/using-pull-requests},
- urldate = {2014-04-27}}
-
-@inproceedings{Slattery:EditThisPage,
- author = {Shaun P. Slattery},
- title = {``edit this page'': the socio-technological infrastructure of a wikipedia article},
- crossref = {SIGDOC09},
- pages = {289--296},
- numpages = {8},
- url = {http://doi.acm.org/10.1145/1621995.1622052},
- doi = {http://doi.acm.org/10.1145/1621995.1622052},
- acmid = {1622052},
- publisher = {ACM},
- keywords = {activity theory, infrastructure, wiki, wikipedia}
-}
-
-@article{FollowYourNose,
- author = {Summers, Ed},
- year = 2008,
- title = {Following your nose to the Web of Data},
- journal = {Information Standards Quarterly},
- volume = 20,
- number = 1,
- url = {http://inkdroid.org/journal/following-your-nose-to-the-web-of-data}}
-
-@book{HB:LinkedData11,
- author = {Tom Heath and Christian Bizer},
- year = {2011},
- title = {{Linked Data}: Evolving the Web into a Global Data Space},
- edition = 1,
- series = {Synthesis Lectures on the Semantic Web: Theory and Technology},
- publisher = {Morgan \& Claypool},
- url = {http://linkeddatabook.com},
- address = {San Rafael, CA}}
-
-@online{DD:LinkedDataPatterns,
- author = {Leigh Dodds and Ian Davis},
- date = {2011-08-19},
- year = 2011,
- title = {Linked Data Patterns},
- subtitle = {A pattern catalogue for modelling, publishing, and consuming Linked Data},
- url = {http://patterns.dataincubator.org/book/},
-}
-
-@incollection{Kirsh:ProblemSolvingAndSituatedCognition,
- author = {David Kirsh},
- title = {Problem Solving and Situated Cognition},
- booktitle = {Handbook of Situated Cognition},
- editor = {Philipp Robbins and M. Aydede},
- year = {2009},
- pages = {264--306},
-}
-
-@online{DoCo,
- title = {DoCo, the Document Components Ontology},
- author = {David Shotton and Silvio Peroni},
- url = {http://purl.org/spar/doco},
- date = {2011-05-05},
- urldate = {2011-12-24},}
-
-@online{SPAR,
- title = {SPAR -- Semantic Publishing and Referencing},
- url = {http://purl.org/spar},
- urldate = {2011-12-24},}
-
-@online{CuL,
- title = {{C\&L Computer- und Literaturverlag GmbH}},
- url = {http://www.cul.de},
- urldate = {2011-05-19}}
-
-@online{Engelschall:WML,
- title = {{Website Meta Language (WML)}},
- author = {Ralf S. Engelschall},
- url = {http://www.thewml.org},
- urldate = {2011-05-19}}
-
-
-@inproceedings{BazireBrezillon:UnderstandingContext2005,
- author = {Mary Bazire and
- Patrick Br{\'e}zillon},
- title = {Understanding Context Before Using It},
- booktitle = {CONTEXT},
- year = {2005},
- pages = {29--40},
- ee = {http://dx.doi.org/10.1007/11508373_3},
- crossref = {DBLP:conf/context/2005},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@inproceedings{Lehtonen:UIForDocumentAssembly_2002,
- author = {Lehtonen, Miro and Petit, Renaud and Heinonen, Oskari and Lind\'{e}n, Greger},
- title = {A dynamic user interface for document assembly},
- booktitle = {Proceedings of the 2002 ACM symposium on Document engineering},
- series = {DocEng '02},
- year = {2002},
- isbn = {1-58113-594-7},
- location = {McLean, Virginia, USA},
- pages = {134--141},
- numpages = {8},
- url = {http://doi.acm.org/10.1145/585058.585083},
- doi = {http://doi.acm.org/10.1145/585058.585083},
- acmid = {585083},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {BML, XML, XSLT, document assembly, dynamic user interfaces, structured documents},
-}
-
-@inproceedings{Kato:SeriousGamesKeyNote2011,
- author = {Kato, Pamela Machiko},
- title = {Using serious games to improve communication: talking about a revolution},
- booktitle = {Proceedings of the 29th ACM international conference on Design of communication},
- series = {SIGDOC '11},
- year = {2011},
- isbn = {978-1-4503-0936-3},
- location = {Pisa, Italy},
- pages = {261--262},
- numpages = {2},
- url = {http://doi.acm.org/10.1145/2038476.2038527},
- doi = {10.1145/2038476.2038527},
- acmid = {2038527},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {biofeedback, communication, health care, patients, physicians, serious games},
-}
-@inproceedings{Haramundanis:ModularizingGlossaries_2010,
- author = {Haramundanis, Katherine},
- title = {Modularizing in glossaries: an experience report},
- crossref = {SIGDOC10},
- pages = {131--134},
- numpages = {4},
- url = {http://doi.acm.org/10.1145/1878450.1878473},
- doi = {http://doi.acm.org/10.1145/1878450.1878473},
- acmid = {1878473},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {database, design of communication, development process, information design, technology, translation, writing standards},
-}
-
-@inproceedings{Haramundanis:ModularizationAsParadigm_2009,
- author = {Haramundanis, Katherine},
- title = {Experience report: modularization - the new paradigm for the information engineer},
- crossref={SIGDOC09},
- pages = {151--154},
- numpages = {4},
- url = {http://doi.acm.org/10.1145/1621995.1622023},
- doi = {http://doi.acm.org/10.1145/1621995.1622023},
- acmid = {1622023},
- keywords = {design of communication, development process, information design, technology, translation, writing standards}
-}
-
-@inproceedings{SousaEtAl:OrgWikiForKM_2010,
- author = {Sousa, Fernando and Aparicio, Manuela and Costa, Carlos J.},
- title = {Organizational wiki as a knowledge management tool},
-crossref={SIGDOC10},
- pages = {33--39},
- numpages = {7},
- url = {http://doi.acm.org/10.1145/1878450.1878457},
- doi = {http://doi.acm.org/10.1145/1878450.1878457},
- acmid = {1878457},
- keywords = {SECI, knowledge management, learning organization, wiki},
-}
-
-@incollection {GrabowskiSchwarzweller:RevisionsForMaintenance,
- author = {Grabowski, Adam and Schwarzweller, Christoph},
- title = {Revisions as an Essential Tool to Maintain Mathematical Repositories},
- crossref = {MKM07},
- pages = {235--249},
- url = {http://dx.doi.org/10.1007/978-3-540-73086-6_20}
-}
-
-@misc{AESstandard:01,
- key = {AES},
- url = {http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf},
- title = {Announcing the {ADVANCED ENCRYPTION STANDARD} ({AES})},
- institution = {National Institute of Standards and Technology},
- year = 2001,
- type = {Federal Information Processing Standards Publication},
- number = 197}
-
-@inproceedings{MANTIC,
- author = {Glauco Mantegari and Matteo Palmonari and Giuseppe Vizzari},
- title = {Rapid Prototyping a Semantic Web Application for Cultural Heritage{: The Case of MANTIC}},
- crossref={eswc2010-2},
-}
-
-@article{HilLop:wtcscci11,
- title = {The World's Technological Capacity to Store, Communicate, and Compute Information},
- author = {Martin Hilbert and Priscila L{\'o}pez},
- journal = {Science},
- volume = {331},
- month = {feb},
- year = {2011},
- url = {http://www.sciencemag.org/content/331/6018/692.full.pdf},
- doi = {10.1126/science.1200970}}
-
-@book{Smolka:peism08,
- author = {Gert Smolka},
- title = {Programmierung - eine Einf{\"u}hrung in die Informatik mit Standard ML},
- publisher = {Oldenbourg},
- year = {2008},
- isbn = {978-3-486-58601-5},
- ee = {http://www.oldenbourg-wissenschaftsverlag.de/olb/de/1.c.1321689.de}}
-
-@InBook{FoundStatNLP,
- booktitle = {Foundations of Statistical Natural Language Processing},
- title = {Statistical Inference: n-gram Models over Sparse Data},
- author = {Christopher D. Manning and Hinrich Sch{\"u}tze},
- publisher = {{MIT Press}},
- year = {1999},
- address = {Cambridge, Massachusetts},
- chapter = {6},
- keywords = {lamapunbibs}
-}
-
-@online{xampp:on,crossref={xampp:base},urldate={2012-04-08}}
-@misc{xampp:webpage,crossref={xampp:base},
-howpublished={\url{http://www.apachefriends.org/en/xampp.html}}}
-@misc{xampp:base,
- key = {XAMPP},
- title={apache friends - Xampp},
- url={http://www.apachefriends.org/en/xampp.html}}
-
-@online{apachepoi:on,crossref={apachepoi:base},urldate={2012-04-08},label={POI}}
-@misc{apachepoi:webpage,crossref={apachepoi:base},
-howpublished={\url{https://poi.apache.org/}}}
-@misc{apachepoi:base,
- key = {POI},
- title={Apache POI - the Java API for Microsoft Documents},
- url={https://poi.apache.org/}}
-
-@online{netspeak:on,crossref={netspeak:base},urldate={2013-04-17}}
-@misc{netspeak:webpage,crossref={netspeak:base},
-howpublished={\url{http://www.netspeak.org/}}}
-@misc{netspeak:base,
- key = {Netspeak},
- label = {NSpk},
- title={Netspeak - One words word leads to another},
- url={http://www.netspeak.org/}}
-
-@online{jtidy:on,crossref={jtidy:base},urldate={2012-04-08}}
-@misc{jtidy:webpage,crossref={jtidy:base},
-howpublished={\url{http://jtidy.sourceforge.net/}}}
-@misc{jtidy:base,
- key = {JTidy},
- title={JTidy},
- url={http://jtidy.sourceforge.net/}}
-
-@online{spreadsheet-naming:on,crossref={spreadsheet-naming:base},urldate={2012-04-08}}
-@misc{spreadsheet-naming:webpage,crossref={spreadsheet-naming:base},
-howpublished={\url{http://spreadsheetpage.com/index.php/tip/naming_techniques/}}}
-@misc{spreadsheet-naming:base,
- title={Spreadsheet Page Excel Tips: Naming Techniques},
- url={http://spreadsheetpage.com/index.php/tip/naming_techniques/}}
-
-@online{Volkman:cpfb:on,crossref={Volkman:cpfb:base},urldate = {2011-02-28}}
-@misc{Volkman:cpfb:url,crossref={Volkman:cpfb:base},
-howpublished = {\url{http://www.codeguru.com/csharp/.net/net_general/patterns/article.php/c12805__2/Classic-Parsing-with-Flex-and-Bison.htm}},
-note = {visited Feb 2011},
-year = 2011}
-@misc{Volkman:cpfb:base,
-author = {Victor Volkman},
-title = {Classic Parsing with Flex and Bison},
-url = {http://www.codeguru.com/csharp/.net/net_general/patterns/article.php/c12805__2/Classic-Parsing-with-Flex-and-Bison.htm}}
-
-@inproceedings{CarFar:hlt08,
- author = {Carette, Jacques and Farmer, William M.},
- title = {High-Level Theories},
- crossref={CICM08},
- pages = {232--245},
- doi = {10.1007/978-3-540-85110-3_19}}
-
-@PhdThesis{Baraka:fpdmws06,
- author = {Rebhi S. Baraka},
- title = {A Framework for Publishing and Discovering Mathematical Web Services},
- school = {Johannes Kepler Universit{\"a}t Linz},
- year = 2006,
- url = {http://www.risc.uni-linz.ac.at/publications/download/risc_2945/06-04.pdf},
- pubs = {projects/omdocbiblio}}
-
-
-@inproceedings{Farmer:btc07,
- author = {Farmer, William M.},
- title = {Biform Theories in Chiron},
- crossref = {MKM07},
- pages = {66--79},
- url = {http://dx.doi.org/10.1007/978-3-540-73086-6_6},
- doi = {http://dx.doi.org/10.1007/978-3-540-73086-6_6}}
-
-
-@Article{CorDavJefWat:aas00,
- title = "{According to Abramowitz and Stegun}",
- author = {Corless, R.M. and Davenport, J.H. and Jeffrey, D.J. and Watt, S.M.},
- journal = {SIGSAM Bulletin 2},
- volume = {34},
- year = {2000},
- pages = {58--65}}
-
-@Article{Bewig:iecnsss03,
- title = "{In Excel, Cell Names Spell Speed, Safety}",
- author = {Philip L. Bewig},
- journal = {Journal of Accountancy},
- url = {http://www.journalofaccountancy.com/issues/2003/nov/inexcelcellnamesspellspeedsafety.htm},
- month = nov,
- year = {2003}}
-
-@Unpublished{Liguda:SDU,
- author = {Christian Liguda},
- title = {From Spreadhsheet Data to Structured Knowledge},
- note = {manuscript, in preparation},
- month = feb,
- year = 2013}
-
-@Online{SysMO-DB-SEEK,
- title = {{SysMO-DB SEEK}},
- url = {http://www.sysmo-db.org/seek/},
- urldate = {2010-11-30},
-}
-
-@Online{DocTip:online,crossref={DocTip:base},urldate={2010-11-30}}
-@misc{DocTip:URL,crossref={DocTip:base},
- howpublished = {\webpageat\url{http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/DocTIP/}}}
-@misc{DocTip:base,
- key = {DocTIP},
- title = {{DocTIP}: Document and Tool Integration Platform},
- url = {http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/DocTIP/}
-}
-
-@INPROCEEDINGS{vonKnethen:tmsrces01,
- author = {Antje von Knethen},
- title = {A trace model for system requirements changes on embedded systems},
- booktitle = {4th International Workshop on Principles of Software},
- year = {2001},
- pages = {17--26}
-}
-
-@INPROCEEDINGS{vonKnethen:acsbtm02,
- author = {Antje von Knethen},
- title = {Automatic change support based on a trace model},
- booktitle = {Proceedings of the Traceability Workshop},
- year = {2002},
- address = {Edinburgh, UK},
- timestamp = {2007.10.19}
-}
-
-@INPROCEEDINGS{Asperti:UsabilityInteractiveProvers10,
-author = {Andrea Asperti and Sacerdoti Coen, Claudio},
-title = {Some Considerations on the Usability of Interactive Provers},
- crossref = {CICM10},
-pages = {147--156}}
-
-@INPROCEEDINGS{Hutter:smhd09,
-author = {Dieter Hutter},
-title = {Semantic Management of Heterogeneous Documents (Invited Talk)},
-booktitle = {Proceedings of the Mexican International Conference on Artificial Intelligence (MICAI-2009)},
-year = {2009},
-publisher = {Springer},
-series = {LNAI},
-number = 5845,
-pages = {1--14}}
-
-@Online{JST-flange-failure:online,
- title = {Leakage and fire from a flange with a special shape at the reactor outlet at a gas oil medium-pressure hydrocracker},
- organization = {JST Failure Knowledge Base},
- url = {http://shippai.jst.go.jp/en/Detail?fn=0&id=CC1300006&},
- urldate = {2010-12-15}
-}
-
-@inproceedings{MissierEtAl:WorkfSemProvLOD10,
- author = {Paolo Missier and Satya S. Sahoo and Jun Zhao and Carole Goble and Amit Sheth},
- title = {Janus: from Workflows to Semantic Provenance and Linked Open Data},
- booktitle = {Proceedings of the 3\textsuperscript{rd} Provenance and Annotation Workshop},
- editors = {Deborah L. McGuinness and Luc Moreau},
- eventdate = {2010-06-15/2010-06-16},
- venue = {Troy, NY, USA},
- year = {2010}
-}
-
-@InProceedings{DeRoureEtAl:EvolutionMyExperiment10,
- author = {De Roure, David and Carole Goble and Sergejs Aleksejevs and Sean Bechhofer and Jiten Bhagat and Don Cruickshank and Paul Fisher and Nandkumar Kollara and Danius Michaelides and Paolo Missier and David Newman and Marcus Ramsden and Marco Roos and Katy Wolstencroft and Ed Zaluska and Jun Zhao},
- title = {The Evolution of {myExperiment}},
- crossref = {escience2010}
-}
-
-@InProceedings{BechhoferEtAl:LinkedDataScientists10,
- author = {Sean Bechhofer and John Ainsworth and Jiten Bhagat and Iain Buchan and Philip Couch and Don Cruickshank and De Roure, David and Mark Delderfield and Ian Dunlop and Matthew Gamble and Carole Goble and Danius Michaelides and Paolo Missier and Stuart Owen and David Newman and Shoaib Sufi},
- title = {Why Linked Data is Not Enough for Scientists},
- pages = {300--307},
- crossref = {escience2010}
-}
-
-
-@Online{RKB:ACM,
- editor = {{Advanced Knowledge Technologies (AKT)}},
- title = {acm.rkbexplorer.com},
- url = {http://acm.rkbexplorer.com},
- urldate = {2010-11-30},
-}
-
-@Article{AGN:SocProcProgVerif09,
- author = {Andrea Asperti and Herman Geuvers and Raja Natarajan},
- title = {Social Processes, Program Verification and all that.},
- journal = {Mathematical Structures in Computer Science},
- year = 2009,
- volume = 19,
- number = 5,
- pages = {877--896},
- month = oct}
-
-@Misc{URL:JavaScript,
- title = {{Mozilla Developer Center -- JavaScript}},
- url = {https://developer.mozilla.org/en/JavaScript},
- urldate = {2010-06-05}}
-@Misc{URL:JQuery,
- title = {{jQuery main website}},
- url = {http://jquery.com/},
- urldate = {2010-06-05}}
-
-@Online{URL:XPath:online,crossref={URL:XPath:base},urldate = {2010-06-05},label={XPa}}
-@Misc{URL:XPath,crossref={URL:XPath:base},key={XPa},
- howpublished={\url{http://www.w3.org/TR/xpath/}}}
-@techreport{URL:XPath:base,
- title = {{XPath Reference}},
- url = {http://www.w3.org/TR/xpath/},
- institution = {W3C},
- type = {Recommendation},
- year = 2010}
-
-@Misc{URL:JavaServlet,
- title = {{Sun Java Servlet documentation}},
- url = {http://java.sun.com/products/servlet/},
- urldate = {2010-06-05}}
-@Misc{URL:Tomcat,
- key = {ATC},
- title = {{Apache Tomcat website}},
- url = {http://tomcat.apache.org/},
- urldate = {2010-06-05}}
-@Misc{URL:AJAX,
- title = {{AJAX -- descriptive article}},
- url = {http://www.adaptivepath.com/ideas/essays/archives/000385.php},
- urldate = {2010-06-05}}
-@Misc{URL:Firebug,
- title = {{Firebug extension for Firefox}},
- url = {http://getfirebug.com/},
- urldate = {2010-06-05}}
-@Misc{URL:ExpressionML,
- title = {{ExpressionML specification}},
- url = {http://reference.wolfram.com/mathematica/ref/format/ExpressionML.html},
- urldate = {2010-06-05}}
-@Misc{URL:SameOriginPolicy,
- title = {{Mozilla Developer Center documentation for Same Origin Policy}},
- url = {https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript},
- urldate = {2010-06-05}}
-@Misc{URL:JavaMashup,
- title = {{Mashup Styles, Part 1: Server-Side Mashups}},
- url = {http://java.sun.com/developer/technicalArticles/J2EE/mashup_1/},
- urldate = {2010-06-05}}
-@Misc{URL:MathDoxOM2M,
- title = {{MathDox webservice for OpenMath to Mathematica conversion}},
- url = {http://mathdox.org/phrasebook/mathematica/eval_openmath_native},
- urldate = {2010-06-05}}
-@Misc{URL:WITM,
- title = {{Web Interface to Mathematica}},
- url = {http://witm.sourceforge.net/},
- urldate = {2010-06-05}}
-@Misc{URL:SentidoFormEditor,
- title = {{Sentido Formula Editor}},
- url = {http://www.matracas.org/sentido/index.html.en},
- urldate = {2010-06-05}}
-@Misc{URL:jQueryUI,
- title = {{jQuery UI website}},
- url = {http://jqueryui.com/},
- urldate = {2010-06-05}}
-
-
-
-@Misc{URL:AJAXnoJS,
- title = {{Proof of Concept: AJAX without JavaScript}},
- url = {http://jonathanscorner.com/ajax/},
- urldate = {2010-04-26}}
-
-@InProceedings{DBPH:DevOntoCollabEngMechatronics07,
- author = {Violeta Damjanovi{\'c} and Wernher Behrendt and Manuela Pl{\"o}{\ss}nig and Merlin Holzapfel},
- title = {Developing Ontologies for Collaborative Engineering in Mechatronics},
- crossref = {eswc2007},
- pages = {190--204}}
-
-@InProceedings{LFB:ReqOntoEngDesign96,
- author = {Jinxin Lin and Mark S. Fox and Taner Bilgic},
- title = {A Requirement Ontology for Engineering Design},
- booktitle = {Proceedings of 3\textsuperscript{rd} International Conference on Concurrent Engineering},
- pages = {343--351},
- year = 1996,
- month = aug,
- publisher = {Technomic Publishing Company, Inc.}}
-
-@online{Tennison:HTML5RDFa09,
- author = {Jeni Tennison},
- title = {{HTML5}/{RDFa} Arguments},
- url = {http://www.jenitennison.com/blog/node/124},
- urldate = {2010-02-02},
- date = {2009-08-21}}
-
-@online{Sargent:ti08,
- author = {Murray Sargent},
- title = {The invisibles},
- url = {https://blogs.msdn.com/b/murrays/archive/2008/08/26/the-invisibles.aspx},
- urldate = {2012-04-14},
- date = {2008-08-25}}
-
-@online{microhttpd:on,crossref={microhttpd:base},urldate={2011-07-11}}
-@misc{microhttpd:web,crossref={microhttpd:base},howpublished={\url{http://www.gnu.org/software/libmicrohttpd/}}}
-@MISC{microhttpd:base,
- key = {MicroHTTPd},
- title = {{GNU MicroHTTPd} Library},
- url = {http://www.gnu.org/software/libmicrohttpd/},
- note = {\seen Jul 2011}
-}
-
-@online{Tennison:CantDoHTML5Microdata09,
- author = {Jeni Tennison},
- title = {What You Can't Do with {HTML5} Microdata},
- url = {http://www.jenitennison.com/blog/node/103},
- urldate = {2010-02-02},
- date = {2009-05-13}}
-
-@InProceedings{Cartier:MathUniversalReliable10,
- author = {Pierre Cartier},
- title = {Can we make Mathematics universal as well as fully reliable?},
- crossref = {CICM10},
- note = {Invited Talk}}
-
-@Online{EuDML:on,
- label = {EUD},
- title = {{EuDML} -- The {European} Digital Mathematics Library},
- url = {http://eudml.eu},
- urldate = {2011-08-02}}
-
-@Online{EuDML:UsabilityStudy:2010,
-label={EUU},
-author={Tim Kitchen},
-title = {The European Digital Mathematics Library: Usability Study},
-url = {https://wiki.eudml.eu/eudml-w/images/D6.1.pdf},
-urldate = {2014-03-14}}
-
-@inproceedings{Zhao:MIR:2008,
- author = {Zhao, Jin and Kan, Min-Yen and Theng, Yin Leng},
- title = {Math Information Retrieval: User Requirements and Prototype Implementation},
- booktitle = {Proceedings of the 8th ACM/IEEE-CS Joint Conference on Digital Libraries},
- series = {JCDL '08},
- year = {2008},
- isbn = {978-1-59593-998-2},
- location = {Pittsburgh PA, PA, USA},
- pages = {187--196},
- numpages = {10},
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@article{Brown:InformationSeekingScientists:1999,
- author = {Brown, Cecelia M.},
- journal = {JASIS},
- keywords = {dblp},
- number = 10,
- pages = {929-943},
- title = {Information Seeking Behavior of Scientists in the Electronic Information Age: Astronomers, Chemists, Mathematicians, and Physicists.},
- volume = 50,
- year = 1999
-}
-
-@InProceedings{BBNS:EuDMLProject11,
- title = {Project {EuDML} -- A First Year Demonstration},
- author = {Jos{\'e} Borbinha and Thierry Bouche and Aleksander Nowi{\'n}ski and Petr Sojka},
- crossref = {CICM11},
- pages = {281--284}
-}
-
-@InProceedings{SojLis:ismdl11,
- title = {Indexing and Searching Mathematics in Digital Libraries -- Architecture, Design and Scalability Issues.},
- author = {Sojka, Petr and L{\'i}{\v{s}}ka, Martin},
- crossref = {CICM11},
- pages = {228--243}}
-
-@Article{Turing:ocnae36,
- author = {Alan Turing},
- title = {On computable numbers, with an application to the {Entscheidungsproblem}},
- journal = {Proceedings of the London Mathematical Society, Series 2},
- year = 1936,
- volume = 42,
- month = jun,
- pages = {230--265}}
-
-@Article{Church:ne36,
- author = {Alonzo Church},
- title = {A note on the {Entscheidungsproblem}},
- journal = {Journal of Symbolic Logic},
- year = 1936,
- month = may,
- pages = {40--41}}
-
-
-@InProceedings{ABMU:lfw11,
- title = {Large Formal Wikis: Issues and Solutions},
- author = {Jesse Alama and Kasper Brink and Lionel Mamane and Josef Urban},
- pages = {133--148},
- crossref = {CICM11},
- keywords = {conference}}
-
-@inproceedings{MacMalCos:smsep11,
- title = {A Semantic Model for Scholarly Electronic Publishing},
- author = {Carlos H. Marcondes},
- url = {http://ceur-ws.org/Vol-721/paper-06.pdf},
- crossref = {SEPUBLICA11}}
-
-@InProceedings{Chen:ElectronicGeometryTextbook10,
- author = {Xiaoyu Chen},
- title = {Electronic Geometry Textbook: A Geometric Textbook Knowledge Management System},
- pages = {278--292},
- crossref = {CICM10},
- eprint = {1005.0080v1},
- eprinttype = {arxiv},
- eprintclass = {cs.AI}}
-
-@InProceedings{UARG:MizarWiki10,
- author = {Josef Urban and Jesse Alama and Piotr Rudnicki and Herman Geuvers},
- title = {A wiki for {Mizar}: Motivation, considerations, and initial prototype},
- pages = {455--469},
- eprint = {1005.4552v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- crossref = {CICM10}}
-
-@inProceedings{KLSY:FormulatorMathMLEditor10,
- author = {Andriy Kovalchuk and Vyacheslav Levitsky and Igor Samolyuk and Valentyn Yanchuk},
- title = {The Formulator {MathML} Editor Project: User-Friendly Authoring of Content Markup Documents},
- crossref = {CICM10},
- pages = {385--397},
- eprint = {1005.0146v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL}}
-
-@InProceedings{Kerber:ProofsProofsProofsProofs10,
- author = {Manfred Kerber},
- title = {Proofs, proofs, proofs, and proofs},
- eprint = {1005.5124v1},
- eprinttype = {arxiv},
- eprintclass = {cs.AI},
- pages = {345--354},
- crossref = {CICM10}}
-
-@InProceedings{Libbrecht:NotationCensus10,
- author = {Paul Libbrecht},
- title = {Notations Around the World: Census and Exploitation},
- eprint = {1004.5165v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- pages = {398--410},
- keywords = {lamapunbibs},
- crossref = {CICM10}}
-
-@InProceedings{CP:SIOCAction10,
- author = {Pierre Antoine Champin and Alexandre Passant},
- title = {SIOC in Action},
- subtitle = {Representing the Dynamics of Online Communities},
- crossref = {ISEMANTICS2010}}
-
-@InCollection{Blum:VModel,
- author = {T. Blum and D. Burgartz},
- title = {QM-Optimizing der Softwareentwicklung},
- booktitle = {QM-Handbuch gem{\"a}{\ss} DIN EN ISO 9001 und Leitfaden f{\"u}r Best-Practices im Unternehmen},
- editor = {M. Shu},
- year = {1998},
- pages = {305--336},
- chapter = {9},
- publisher = {Kluwer},
- note = {ISBN: 3-528-15493-4}}
-
-@InProceedings{Lueth:PGEclipse,
- author = {Aspinall, David and L{\"u}th, Christoph and Winterstein, Daniel and Fayyaz, Ahsan},
- title = {Proof General in Eclipse},
- booktitle = {Eclipse Technology eXchange ETX'06},
- publisher = {{ACM} Press},
- year = {2006}}
-
-@TechReport{Lehmann:biblatex10,
- author = {Philipp Lehmann},
- title = {The {\texttt{biblatex}} Package},
- year = 2010,
- institution = {CTAN: Comprehensive {\TeX} Archive Network},
- url = {http://ctan.org/pkg/biblatex}}
-
-@TechReport{CalStai:natm09,
- author = {Cris Calude and Ludwig Staiger},
- title = {A Note on Accelerated Turing Machines},
- institution = {{Centre for Discrete Mathematics and Theoretical Computer Science, Auckland University}},
- year = 2009,
- type = {CDMTCS Research Report},
- number = 350,
- url = {http://www.cs.auckland.ac.nz/CDMTCS/researchreports/350cris.pdf}}
-
-@unpublished{CalStaiKoh:natms12,
- author = {Cris Calude and Ludwig Staiger and Michael Kohlhase},
- title = {A Note on Accelerated Turing Machines (Semantic Version)},
- year = 2012,
- note = {Semanticised version of \cite{CalStai:natm09}},
- url = {http://tnt.kwarc.info/repos/svn/oaff/atm1}}
-
-@unpublished{Coffman:noag07,
- author = {Adam Coffman},
- title = {Notes on Axiomatic Geometry},
- year = 2007,
- url = {http://users.ipfw.edu/CoffmanA/pdf/geomnotes.pdf}}
-
-@Book{Greenberg:eneg93,
- author = {M. Greenberg},
- title = {Euclidean and Non-Euclidean Geometries, Development and History},
- publisher = {Freeman},
- year = 1993}
-
-@Book{Golos:feneg68,
- author = {E. Golos},
- title = {Foundations of Euclidean and Non-Euclidean Geometry},
- publisher = {Holt, Reinhart, and Winston},
- year = 1968}
-
-@misc{ECMAScript09,
- title = {{ECMAScript} Language Specification},
- institution = {ECMA International},
- year = {2009},
- key = {ECMASCRIPT},
- month = dec,
- type = {ECMA Standard},
- number = {ECMA-262},
- note = {5\textsuperscript{th} Edition}}
-
-@inproceedings{BDHSBJ:SemWikiWebAppModel09,
-author = {Jie Bao and Li Ding and Rui Huang and Paul Smart and Dave Braines and Gareth Jones},
-title = {A Semantic Wiki based Light-Weight Web Application Model},
-booktitle = {Proceedings of the 4\textsuperscript{th} Asian Semantic Web Conference},
-year = {2009},
-pages = {168--183}}
-
-@Misc{URL:WolframAlphaAPI,
- title = {{Wolfram|Alpha API}},
- url = {http://www.wolframalpha.com/developers.html},
- urldate = {2011-05-05}}
-
-@online{gitinfo2:on,
- title = {gitinfo2.sty},
- subtitle = {A package for accessing metadata from the git dvcs},
- author = {Brent Longborough},
- urldate = {2014-10-26},
- url = {http://mirrors.ctan.org/macros/latex/contrib/gitinfo2/gitinfo2.pdf}}
-
-@online{WolframAlphaWidgets:on,
- title = {{Wolfram|Alpha} Widgets},
- url = {http://developer.wolframalpha.com/widgets/},
- urldate = {2011-05-05}}
-
-@online{WolframAlphaUnitWidgets:on,
- title = {{Wolfram|Alpha} Units and Measures Widgets},
- url = {http://developer.wolframalpha.com/widgets/gallery/category/?cat=units},
- urldate = {2011-05-05}}
-
-@online{WolframAlpha:on,urldate={2013-01-05},crossref={WolframAlpha:base}}
-@misc{URL:WolframAlpha:on,crossref={URL:WolframAlpha},
- howpublished = {\url{http://www.wolframalpha.com}}}
-@Misc{WolframAlpha:base,
- title = {{Wolfram|Alpha}},
- url = {http://www.wolframalpha.com}}
-
-@online{URL:Mathematica,crossref={Mathematica:base},
- urldate = {2010-06-05}}
-@online{Mathematica:URL,crossref={Mathematica:base},
- urldate = {2010-06-05}}
-@misc{Mathematica:web,crossref={Mathematica:base},
-}
-@misc{Mathematica:base,
- title = {Mathematica},
- url = {http://www.wolfram.com/products/mathematica/},}
-
-@Article{KBSCH:Swoop,
- author = {Aditya Kalyanpur and Bijan Parsia and Evren Sirin and Bernardo Cuenca Grau and James A. Hendler},
- title = {Swoop: A Web Ontology Editing Browser},
- journal = {Web Semantics},
- year = {2006},
- volume = {4},
- number = {2},
- pages = {144--153},
- publisher = {Elsevier}}
-
-@online{OWLAPI,crossref={OWLAPI:base},
- url = {http://owlapi.sourceforge.net},
- urldate = {2010-01-05}}
-
-@misc{OWLAPI:URL,crossref={OWLAPI:base},
- howpublished = {\url{http://owlapi.sourceforge.net}},
-}
-
-@misc{OWLAPI:base,
- title = {The {OWL} {API}},
-}
-
-@online{OWL-Validator,
- title = {{OWL} 2 Validator},
- author = {Matthew Horridge},
- url = {http://owl.cs.manchester.ac.uk/validator/},
- note = {Powered by the OWL API Version 3.0.0.1272},
- urldate = {2010-06-29}}
-
-@Article{Madhavji:PrismModelChanges92,
- author = {Nazim H. Madhavji},
- title = {Environment Evolution: The Prism Model of Changes},
- journal = {IEEE Transactions on Software Engineering},
- year = {1992},
- volume = {18},
- number = {5},
- pages = {380--392},
- month = may}
-
-@online{BCH:PublishLinkedData07,crossref ={BCH:PublishLinkedData07:base},urldate={2010-01-20}}
-@misc{BCH:pldow07,crossref ={BCH:PublishLinkedData07:base},
- publishedas = {\url{http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/20070727/}}}
-@misc{BCH:PublishLinkedData07:base,
- url = {http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/20070727/},
- author = {Chris Bizer and Richard Cyganiak and Tom Heath},
- title = {How to Publish Linked Data on the Web},
- year = 2007,
- month = jul,
- date = {2007-07-27}}
-
-@online{SMLBasicLib:on,crossref ={SMLBasicLib:base},urldate={2010-10-04}}
-@misc{SMLBasicLib,crossref ={SMLBasicLib:base},publishedas={\url{http://www.standardml.org/Basis/}}}
-@misc{SMLBasicLib:base,
- year = 2010,
- key = {SML Basis Library},
- url = {http://www.standardml.org/Basis/},
- title = {The {Standard ML} Basis Library}}
-
-@online{SemWebClientLib:on,
- urldate = {2010-03-08},
- crossref = {SemWebClientLib:base}}
-
-@misc{SemWebClientLib:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient/}},
- crossref = {SemWebClientLib:base}}
-
-@misc{SemWebClientLib:base,
- url = {http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient/},
- author = {Chris Bizer and Tobias Gau{\ss} and Richard Cyganiak and Olaf Hartig},
- title = {Semantic Web Client Library}}
-
-@online{SQUIN:on,
- urldate = {2010-03-08},
- crossref = {SQUIN:base}}
-
-@misc{SQUIN:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://squin.sourceforge.net}},
- crossref = {SQUIN:base}}
-
-@misc{SQUIN:base,
- url = {http://squin.sourceforge.net},
- author = {Olaf Hartig and Juan Sequeda},
- title = {{SQUIN} -- Query the Web of Linked Data}}
-
-@online{DOAP:on,
- urldate = {2010-03-08},
- crossref = {DOAP:base}}
-
-@misc{DOAP:web,
- note = {seen Mar. 2010},
- howpublished = {\url{http://trac.usefulinc.com/doap}},
- crossref = {DOAP:base}}
-
-@misc{DOAP:base,
- url = {http://trac.usefulinc.com/doap},
- author = {Edd Dubmill},
- title = {{DOAP} -- Description of a Project}}
-
-@online{rdfQuery:on,urldate={2010-01-20},crossref = {rdfQuery:base}}
-@misc{rdfQuery:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://rdfquery.googlecode.com}},
- crossref = {rdfQuery:base}}
-@misc{rdfQuery:base,
- title = {{rdfQuery} -- {RDF} processing in your browser},
- author = {Jeni Tennison and others},
- url = {http://rdfquery.googlecode.com}}
-
-@online{SPARQLAS,
- title = {{SPARQLAS}},
- author = {Fernando Silva Parreiras and others},
- url = {http://code.google.com/p/twouse/wiki/SPARQLAS},
- urldate = {2010-03-08}}
-
-@online{LinkedData:on,
- urldate = {2010-06-11},
- url = {http://linkeddata.org},
- author = {Tom Heath and others},
- title = {Linked Data -- Connect Distributed Data across the Web}}
-
-@online{LinkedDataGuidesTutorials:on,
- urldate = {2010-01-20},
- crossref = {LinkedDataGuidesTutorials:base}}
-
-@misc{LinkedDataGuidesTutorials:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://linkeddata.org/guides-and-tutorials}},
- crossref = {LinkedDataGuidesTutorials:base}}
-
-@misc{LinkedDataGuidesTutorials:base,
- url = {http://linkeddata.org/guides-and-tutorials},
- author = {Tom Heath and others},
- title = {Linked Data -- Connect Distributed Data across the Web -- Guides and Tutorials}}
-
-@online{LinkedDataGlossary,
- url = {http://linkeddata.org/glossary},
- urldate = {2010-09-28},
- author = {Tom Heath and others},
- title = {Linked Data -- Connect Distributed Data across the Web -- Glossary}}
-
-@online{TBL:LinkedData06,
- author = {Tim Berners-Lee},
- title = {Design Issues: Linked Data},
- url = {http://www.w3.org/DesignIssues/LinkedData.html},
- urldate = {2010-01-20},
- date = {2006-07-27}}
-
-@online{TBL:GovData09,
- author = {Tim Berners-Lee},
- title = {Design Issues: Putting Government Data Online},
- url = {http://www.w3.org/DesignIssues/GovData.html},
- urldate = {2010-02-22},
- year = 2009}
-
-@online{GAMS,
- title = {{GAMS}: {Guide} to {Available} {Mathematical} {Software}},
- organization = {National Institute of Standards {and} Technology (NIST)},
- urldate = {2009-12-16},
- url = {http://gams.nist.gov}}
-
-@online{palindromes:on,crossref={palindromes:base},urldate = {2010-10-05}}
-@misc{palindromes:url,crossref={palindromes:base},
- howpublished = {\webpageat{\url{http://www.derf.net/palindromes/}}}}
-@misc{palindromes:base,
- key = {Palindromes},
- title = {{Neil/Fred}'s Gigantic List of Palindromes},
- url = {http://www.derf.net/palindromes/}}
-
-@inproceedings{XMLPrague10:TimeMachine,
- author = {Ghislain Fourny and Daniela Florescu and Donald Kossmann and Markos Zacharioudakis},
- title = {{A} {Time} {Machine} for {XML}: {PUL} {Composition}},
- crossref = {XMLPrague2010},
- url = {http://www.dbis.ethz.ch/research/publications/timemachinexml.pdf}}
-
-@online{noosphere:on,crossref={noosphere:base},urldate={2010-09-30}}
-@misc{noosphere:url,crossref={noosphere:base},howpublished={\url{http://code.google.com/p/noosphere/}}}
-@misc{noosphere:base,
- key = {noosphere},
- title = {No{\"o}sphere (diaresis optional) is the software that underlies the {PlanetMath} Website},
- url = {http://code.google.com/p/noosphere/}}
-
-@online{tntbase:trac,crossref={tntbaseTRAC:url},urldate={2009-12-16}}
-@misc{tntbaseTRAC:url,
- key = {TNTBase TRAC},
- title = {{TNTBase TRAC}},
- howpublished={\url{http://tntbase.org}},
- url = {http://tntbase.org}}
-
-@online{schema.org:on,
- title = {schema.org},
- url = {http://schema.org},
- urldate = {2011-11-08},
-}
-
-@online{schematron:online,crossref={schematron:base},urldate={2009-12-22}}
-@misc{schematron:url,crossref={schematron:base},howpublished={\url{http://schematron.com}}}
-@misc{schematron:base,
- key = {schematron},
- title = {schematron},
- url = {http://schematron.com}}
-
-@online{mathjax:online,crossref={mathjax:base},urldate={2010-09-27}}
-@misc{mathjax:url,crossref={mathjax:base},howpublished={\url{http://mathjax.org}}}
-@misc{mathjax:base,
- key = {mathjax},
- title = {{MathJax}: Beautiful Math in all Browsers},
- url = {http://mathjax.com}}
-
-@misc{LinkedDataFAQ:URL,
- key = {LDFAQ},
- title = {Linked Data {FAQ}},
- howpublished={\url{http://structureddynamics.com/linked_data.html}},
- url = {http://structureddynamics.com/linked_data.html}}
-
-@Book{Trzeciak:WriteMathPapersEnglish95,
- author = {Jerzy Trzeciak},
- title = {Writing Mathematical Papers in English},
- subtitle = {a practical guide},
- publisher = {Gda{\'n}skie Wydawnictwo O{\'s}wiatowe},
- year = {1995}}
-
-@online{inventor:on,crossref={inventor:base},
- urldate = {2012-10-26},
- label = {AInv}}
-
-@misc{inventor:web,crossref={inventor:base},
- howpublished = {Product web page: \url{http://usa.autodesk.com/autodesk-inventor/}},
- key = {AInv},
- year = 2012}
-
-@misc{inventor:base,
- url = {http://usa.autodesk.com/autodesk-inventor/},
- title = {Autodesk}}
-
-@InProceedings{DB:MathVernacular87,
- author = {de Bruijn, Nicolaas Govert},
- title = {The Mathematical Vernacular, a language for mathematics with typed sets},
- booktitle = {Proceedings of the Workshop on Programming Languages},
- year = {1987},
- editor = {P. Dybjer and others}}
-
-@Article{BS:KnowledgeCommunityMath05,
- author = {Jonathan Borwein and Terry Stanway},
- title = {Knowledge and Community in Mathematics},
- journal = {The Mathematical Intelligencer},
- year = {2005},
- volume = {27},
- number = {2},
- pages = {7--16}}
-
-@online{MathNetRDF,
- title = {{Math-Net} {RDF} Collection},
- institution = {Math-Net TAB},
- url = {http://www.iwi-iuk.org/material/RDF/1.1/},
- urldate = {2009-12-12}}
-
-@INPROCEEDINGS{Randell-etal92,
- author = {D. A. Randell and Z. Cui and A. G. Cohn},
- title = {{A} spatial logic based on regions and connection},
- booktitle = {{Proceedings} of the 3\textsuperscript{rd} {International} {Conference} on {Knowledge} {Representation} and {Reasoning}},
- year = {1992},
- pages = {165--176},
- address = {San Mateo},
- publisher = {Morgan Kaufmann},
- topics = {area.space,source.cosy}}
-
-@Article{Egenhofer94-spatialsql,
- author = {Egenhofer, Max J.},
- title = {Spatial {SQL}: a query and presentation language},
- journal = {{IEEE} Transactions on knowledge and data engineering},
- year = 1994,
- topics = {area.space},
- volume = 6,
- number = 1,
- pages = {86--95}}
-
-@techreport{DAISY3Math,
- title={Specification for the Digital Talking Book Modular Extension for Mathematics},
- institution = {DAISY Consortium},
- date = {2008-09-24},
- version = {1.1},
- author = {Neil Soiffer and Kathy Kahl},
- url = {http://www.daisy.org/projects/mathml/mathml-in-daisy-spec.html}}
-
-@techreport{DAISY3,
- title={Specifications for the {Digital} {Talking} {Book}},
- institution = {DAISY Consortium},
- note = {ANSI/NISO Z39.86-2005},
- date = {2005-04-21},
- issn = {1041-5653},
- url = {http://www.daisy.org/z3986/2005/Z3986-2005.html}}
-
-@techreport{DAISY3Guidelines,
- title={Structure Guidelines
-for {DAISY} 3, officially, the {ANSI}/{NISO} {Z39.86} Specifications for the {Digital} {Talking} {Book}},
- institution = {DAISY Consortium},
- date = {2008-06-04},
- url = {http://www.daisy.org/z3986/structure/SG-DAISY3/}}
-
-@techreport{EPUB3,
- title={EPUB 3 Overview - Recommended Specification},
- author={Garth Conboy and Matt Garrish and Markus Gylling and William McCoy and MURATA Makoto and Daniel Weck},
- institution = {International Digital Publishing Forum (IDPF)},
- date = {2011-10-11},
- url = {http://idpf.org/epub/30/spec/epub30-overview.html}}
-
-@online{IDPF:on,crossref={IDPF:base},
- label = {IDPF},
- urldate = {2016-03-29}}
-@misc{IDPF:URL,crossref={IDPF:base},
- key = {IDPF},
- howpublished = {\url{http://www.idpf.org}}}
-@misc{IDPF:base,
- title = {International Digital Publishing Forum (IDPF)},
- url = {http://idpf.org},
- urldate = {2016-03-27}}
-
-@online{epubvalidator:on,crossref={epubvalidator:base},
- label = {EV},
- urldate = {2016-03-29}}
-@misc{epubvalidator:URL,crossref={epubvalidator:base},
- key = {EV},
- howpublished = {\url{http://validator.idpf.org/}}}
-@misc{epubvalidator:base,
- title = {EPUB Validator (beta)},
- institution = {International Digital Publishing Forum (IDPF)},
- url = {http://validator.idpf.org/},
- urldate = {2016-03-27}}
-
-@online{mobi:online,
- title={MOBI eBook Format},
- institution = {Mobipocket SA},
- date = {2012-06-12},
- url = {http://wiki.mobileread.com/wiki/MOBI}}
-
-@TechReport{OPS20,
- institution = {{International Digital Publishing Forum}},
- title = {{Open Publication Structure} ({OPS})},
- date = {2007-09-11},
- version = {2.0 v1.0},
- type = {Recommended Specification},
- url = {http://www.idpf.org/2007/ops/OPS_2.0_final_spec.html}}
-
-@TechReport{OCF10,
- institution = {{International Digital Publishing Forum}},
- title = {{OEBPS Container Format} ({OCF})},
- date = {2006-09-11},
- version = {1.0},
- type = {Recommended Specification},
- url = {http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm}}
-
-@TechReport{OPF20,
- institution = {{International Digital Publishing Forum}},
- title = {{Open Packaging Format} ({OPF})},
- date = {2007-09-11},
- version = {2.0 v1.0},
- type = {Recommended Specification},
- url = {http://www.idpf.org/2007/opf/OPF_2.0_final_spec.html}}
-
-@InProceedings{NPB:LOM-RDF03,
- author = {Mikael Nilsson and Matthias Palm{\'e}r and Jan Brase},
- title = {The {LOM} {RDF} binding -- principles and implementation},
- crossref = {Ariadne2003}}
-
-@online{IEEE-LOM-RDF:2002,
- author = {Mikael Nilsson},
- title = {{IEEE} {Learning} {Object} {Metadata} {RDF} binding},
- institution = {Royal Institute of Technology, Stockholm},
- date = {2002-08-26},
- urldate = {2009-11-23},
- note = {Development continued within the joint DCMI/IEEE LTSC Taskforce},
- url = {http://kmr.nada.kth.se/static/ims/md-lomrdf.html}}
-
-@InProceedings{LFTWH:SAMS2008,
- author = {Christoph L{\"u}th and Udo Frese and Holger T{\"a}ubig and
- Dennis Walter and Daniel Hausmann},
- title = {{SAMS} -- {Sicherungskomponente} f{\"u}r {Autonome} {Mobile}
- {Serviceroboter}},
- booktitle = {ROBOTIK 2008: Leistungsstand -- Anwendungen -- Visionen -- Trends},
- year = {2008},
- number = {2012},
- series = {VDI-Bericht},
- address = {D{\"u}sseldorf},
- publisher = {VDI Verlag}}
-
-@online{Walter:SIL3VerifikationC09,
- author = {Dennis Walter},
- title = {Ein {SIL-3}-konformes {Werkzeug} zur formalen {Verifikation} von {C}-{Programmen}},
- date = {2009-10-13},
- note = {Talk given at the final meeting of the {SAMS} project},
- url = {http://www.informatik.uni-bremen.de/dfki-sks/sams/slides/Abschlussveranstaltung/05%20talk-vu.pdf}}
-
-@online{DFKI-SAMS,
- title = {{SAMS} -- {Sicherungskomponente} f{\"u}r {Autonome} {Mobile} {Serviceroboter}},
- institution = {DFKI Bremen},
- year = 2009,
- month = nov,
- date = {2009-11-01},
- urldate = {2009-11-29},
- url = {http://www.sams-projekt.de}}
-
-@TechReport{Tilburg:MathLang06,
- author = {Paul van Tilburg},
- title = {Exploring the Core of {MathLang}},
- institution = {{ULTRA group, School of Mathematics and Computer Science, Heriot-Watt University, Edinburgh}},
- year = {2006},
- type = {Internship Report},
- url={http://paul.luon.net/writings/reports/HWU-MACS-MathLang.pdf},
- keywords = {lamapunbibs},
- urldate = {2010-08-11}}
-
-@Misc{Libbrecht:CollectionActiveMath09,
- author = {Paul Libbrecht},
- title = {Collection Management in {ActiveMath}},
- note = {presented without publication at~\cite{MKM09}},
- year = 2009,
- url = {http://www.activemath.org/~paul/copy_left/Content-Storage-and-Patterns.pdf},
- urldate = {2009-11-18}}
-
-@InProceedings{HeeseEtAl:OneClickAnnot09,
- author = {Ralf Heese and Markus Luczak-R{\"o}sch and Radoslaw Oldakowski and Olga Streibel and Adrian Paschke},
- title = {One Click Annotation},
- crossref = {CK2009}}
-
-@ARTICLE{Haerder83principlesof,
- author = {Theo Haerder and Andreas Reuter},
- title = {Principles of Transaction-Oriented Database Recovery},
- journal = {ACM Computing Surveys},
- year = {1983},
- volume = {15},
- pages = {287--317}
-}
-
-@InProceedings{WM:RepublishSocialSemWeb09,
- author = {Claudia Wagner and Enrico Motta},
- title = {Data Republishing on the Social Semantic Web},
- crossref = {SPOT2009}}
-
-@inproceedings{CB:gIBIS1987,
- author = {Jeff Conklin and Michael L. Begeman},
- title = {{gIBIS}: A Hypertext Tool for Team Design Deliberation},
- booktitle = {ACM Hypertext},
- year = {1987},
- pages = {247--251},
- publisher = {ACM Press}}
-
-@online{ESWCustomRdfDialects,
- title = {Custom {RDF} Dialects},
- url = {http://esw.w3.org/topic/CustomRdfDialects},
- urldate = {2010-02-02}}
-
-@online{microformats,
- title = {Microformats},
- url = {http://microformats.org},
- urldate = {2010-02-01}}
-
-@InProceedings{TL:RDFavsMicroformats09,
- author = {Vladimir Tomberg and Mart Laanpere},
- title = {{RDFa} versus Microformats: Exploring the Potential for Semantic Interoperability of Mash-up Personal Learning Environments},
- booktitle = {2\textsuperscript{nd} International Workshop on Mashup Personal Learning Environments (MUPPLE)},
- year = {2009},
- editor = {Fridolin Wild and Marco Kalz and Matthias Palm{\'e}r and Daniel M{\"u}ller},
- number = 506,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- month = sep,
- url = {http://CEUR-WS.org/Vol-506/tomberg.pdf}}
-
-@Article{SVMA:HPDBXML04,
- author = {Sudhanshu Sipani and Kunal Verma and John A. Miller and Boanerges Aleman-Meza},
- title = {Designing a high-performance database engine for the `{DB4XML}' native {XML} database system},
- journal = {Journal of Systems and Software},
- year = {2003},
- volume = {69},
- pages = {87--104}}
-
-@Article{Sacerdoti:drpt09,crossref={Sacerdoti:drpt10}}
-@Article{Sacerdoti:drpt10,
- author = {Sacerdoti Coen, Claudio},
- title = {Declarative Representation of Proof Terms},
- Journal = {Journal of Automated Reasoning; Special Issue on Programming Languages
- for Mechanized Mathematical Systems},
- year = 2010,
- volume = {44},
- pages = {25--52},
- editor = {Jacques Carette and Makarius Wenzel and Freek Wiedijk}}
-
-@article{AspSacTasZac:uimpa08,
- author = {Andrea Asperti and
- Sacerdoti Coen, Claudio and
- Enrico Tassi and
- Stefano Zacchiroli},
- title = {User Interaction with the {Matita} Proof Assistant},
- journal = {Journal of Automated Reasoning},
- volume = {39},
- number = {2},
- year = {2007},
- pages = {109--139},
- ee = {http://dx.doi.org/10.1007/s10817-007-9070-5},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{Sacerdoti:uimsaaf09,
- author = {Sacerdoti Coen, Claudio},
- title = {A User Interface for a Mathematical System that Allows Ambiguous
- Formulae},
- journal = {Electronic Notes Theoretical Computer Science},
- volume = {226},
- year = {2009},
- pages = {67--87},
- ee = {http://dx.doi.org/10.1016/j.entcs.2008.12.098}}
-
-@inproceedings{SacTas:ndem09,
- author = {Sacerdoti Sacerdoti Coen, Claudio and Enrico Tassi},
- title = {Natural Deduction Environment for Matita},
- pages = {486--491},
- crossref = {MKM09}}
-
-@inproceedings{CF:ReviewMKM09,
- title = {A Review of Mathematical Knowledge Management},
- author = {Jacques Carette and William M. Farmer},
- pages = {233--246},
- crossref = {MKM09}}
-
-@Article{CCV:MathContextIntDoc10,
- author = {Arjeh M. Cohen and Hans Cuypers and Rikko Verrijzer},
- title = {Mathematical Context in Interactive Documents},
- journal = {Mathematics in Computer Science},
- issuetitle = {Special Issue on Authoring, Digitalization and Management of Mathematical Knowledge},
- editor = {Serge Autexier and Petr Sojka and Masakazu Suzuki},
- pages = {331--347},
- volume = 3,
- number = 3,
- publisher = {Birkh{\"a}user},
- year = {2010}}
-
-@inproceedings{MascardiCR07,
- author = {Viviana Mascardi and
- Valentina Cord{\`i} and
- Paolo Rosso},
- title = {A Comparison of Upper Ontologies},
- booktitle = {WOA},
- year = {2007},
- pages = {55--64},
- ee = {http://woa07.disi.unige.it/papers/mascardi.pdf},
- crossref = {woa/2007},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@TechReport{WonderWeb:OntologyLibrary,
- author = {Claudio Masolo and Stefano Borgo and Aldo Gangemi and Nicola Guarino and Alessandro Oltramari},
- title = {Ontology Library},
- institution = {Laboratory for Applied Ontology -- ISTC-CNR},
- year = {2003},
- type = {WonderWeb Deliverable},
- number = {18},
- month = dec,
- url = {http://www.loa-cnr.it/Papers/D18.pdf}}
-
-@TechReport{WonderWeb:FoundationalOntologies,
- author = {Claudio Masolo and Stefano Borgo and Aldo Gangemi and Nicola Guarino and Alessandro Oltramari and Luc Schneider},
- title = {The WonderWeb Library of Foundational Ontologies},
- institution = {Laboratory for Applied Ontology -- ISTC-CNR},
- year = {2003},
- type = {WonderWeb Deliverable},
- number = {17},
- month = may,
- url = {http://wonderweb.semanticweb.org/deliverables/documents/D17.pdf}}
-
-@techreport{MoWGLI:MetadataModel03,
- author = {George Goguadze},
- title = {Metadata Model},
- year = {2003},
- institution = {MoWGLI},
- type = {Deliverable},
- number = {D3.b},
- url = {http://mowgli.cs.unibo.it/misc/deliverables/metadata/D3bmetadata_model/metadata_model.pdf}}
-
-
-
-@techreport{MoWGLI:MetadataMathLib03,
- author = {George Goguadze},
- title = {Metadata for Mathematical Libraries},
- year = {2003},
- institution = {MoWGLI},
- type = {Deliverable},
- number = {D3.a},
- url = {http://mowgli.cs.unibo.it/misc/deliverables/metadata/D3a_metadata_for_math/math_metadata.pdf}}
-
-@TechReport{MKM-NET:MetadataModel03,
- author = {George Goguadze and Erica Melis and Andrea Asperti},
- title = {A proposal for a unified Metadata Model and Search Architecture},
- year = {2003},
- institution = {MKM-NET},
- type = {Deliverable},
- number = {D5.5},
- url = {http://monet.nag.co.uk/mkm/Final-docs/MKMNetTN-D5-5.pdf}}
-
-@article{Henrik:DocumentsAndOntologies_2007,
- crossref = {Eriksson:SemanticDocument2007}}
-
-@Article{Eriksson:SemanticDocument2007,
- author = {Henrik Eriksson},
- title = {The semantic-document approach to combining documents and ontologies},
- journal = {International Journal of Human-Computer Studies},
- year = {2007},
- volume = {65},
- number = {7},
- pages = {624--639},
-issn = "1071-5819",
-doi = "10.1016/j.ijhcs.2007.03.008",
-url = "http://www.sciencedirect.com/science/article/pii/S1071581907000468",
-}
-
-
-
-@Book{Lindemann:metp09,
- author = {Lindemann, Udo},
- title = {Methodische Entwicklung technischer Produkte, Methoden flexibel und situationsgerecht anwenden},
- publisher = {Springer Verlag},
- year = 2009,
- series = {VDI Book},
- doi = {0.1007/978-3-642-01423-9}}
-
-@Online{FunMarcBot,
- title = {Case Study: An Ontology of {Cantabria}'s Cultural Heritage},
- url = {http://www.w3.org/2001/sw/sweo/public/UseCases/FoundationBotin/},
- urldate = {2011-04-12}}
-
-@article{Gizmodo:eueupc13,
- author = {Jamie Condliffe},
- title = {Easily Understand Encryption Using\ldots Paint and Clocks?},
- journal = {Gizmodo},
- year = {2012},
- howpublished = {\url{http://gizmodo.com/5888567/how-to-understand-encryption-using-paint-and-clocks}},
- url = {http://gizmodo.com/5888567/how-to-understand-encryption-using-paint-and-clocks}}
-
-@InProceedings{drupal:SpViews,
- author = {Lin Clark},
- title = {{SPARQL Views}: A Visual {SPARQL} Query Builder for {Drupal}},
- booktitle = {Poster and Demo Proceedings of the 9\textsuperscript{th} International Semantic Web Conference (ISWC)},
- url = {http://iswc2010.semanticweb.org/pdf/518.pdf},
- year = 2010}
-
-@online{postgis:on,crossref={postgis:base},urldate = {2014-05-09}}
-@misc{postgis:url,crossref={postgis:base},howpublished={\url{http://postgis.net/}}}
-@misc{postgis:base,
- author = "PostGIS",
- title = "{Spatial and Geographic objects for PostgreSQL}",
- year = {2014},
- url = "http://postgis.net/"
- }
-
-@online{5stardata,
- title = {5-star Open Data},
- url = {http://5stardata.info/},
- urldate = {2015-10-11},
- date = {2012-04-03},
-}
-
-@report{Gartner:BigData12,
- author = {Mark A. Beyer and Douglas Laney},
- title = {The Importance of `Big Data': A Definition},
- publisher = {Gartner},
- date = {2012-06-21},
- url = {http://www.gartner.com/resId=2057415}}
-
-@InProceedings{BadraEtAl:SWPRSCSPAuto11,
- author = {Fadi Badra and Fran{\c c}ois-Paul Servant and Alexandre Passant},
- title = {A Semantic Web Representation of a Product Range Specification based on Constraint Satisfaction Problem in the Automotive Industry},
- pages = {37--50},
- crossref = {OSEMA2011}}
-
-@InProceedings{Servant:LinkingEnterpriseData08,
- author = {Fran{\c c}ois-Paul Servant},
- title = {Linking Enterprise Data},
- crossref = {LDOW2008}}
-
-@InProceedings{CHM:SparqPlug08,
- author = {Peter Coetzee and Tom Heath and Enrico Motta},
- title = {{SparqPlug}: Generating Linked Data from Legacy {HTML}, {SPARQL} and the {DOM}},
- crossref = {LDOW2008}}
-
-@InProceedings{ST:LinkingUKGovData10,
- author = {John Sheridan and Jeni Tennison},
- title = {Linking {UK} Government Data},
- crossref = {LDOW2010}}
-
-@InProceedings{CFGHT:SemanticStatisticsSDMXandSCOVO10,
- author = {Richard Cyganiak and Simon Field and Arofan Gregory and Wolfgang Halb and Jeni Tennison},
- title = {Semantic Statistics: Bringing Together {SDMX} and {SCOVO}},
- crossref = {LDOW2010}}
-
-@InProceedings{SWJL:ExpertLinkedData10,
- author = {Milan Stankovic and Claudia Wagner and Jelena Jovanovic and Philippe Laublet},
- title = {Looking for Experts? What can Linked Data do for You?},
- crossref = {LDOW2010}}
-
-@Article{BBLMM:OntModSpatDiv07,
- author = {John Bateman and Stefano Borgo and Klaus L{\"u}ttich and Claudio Masolo and Till Mossakowski},
- title = {Ontological Modularity and Spatial Diversity},
- journal = {Spatial Cognition \& Computation},
- year = {2007},
- volume = {7},
- number = {1},
- pages = {97--128}}
-
-@inproceedings{FauMel:esmbospm08,
- author = {Arndt Faulhaber and Erica Melis},
- title = {An Efficient Student Model Based on Student Performance and Metadata},
- pages = {276--280},
-
-
-
-
- ee = {http://dx.doi.org/10.3233/978-1-58603-891-5-276},
- crossref = {ECAI08}}
-
-@Article{CFG:MethToolLangOnto2002,
- author = {Oscar Corcho and Mariano Fern{\'a}ndez-L{\'o}pez and Asunci{\'o}n G{\'o}mez-P{\'e}rez},
- title = {Methodologies, tools and languages for building ontologies. {Where} is their meeting point?},
- journal = {Data \& Knowledge Engineering},
- year = {2003},
- volume = {46},
- pages = {41--64}}
-
-@InProceedings{EGM:OntoMultilingual2008,
- author = {Mauricio Espinoza and Asunci{\'o}n G{\'o}mez-P{\'e}rez and
- Eduardo Mena},
- title = {Enriching an Ontology with Multilingual Information},
- crossref = {eswc2008}}
-
-@article{DBLP:journals/dke/HoracekW06,
- author = {Helmut Horacek and
- Magdalena Wolska},
- title = {Interpreting semi-formal utterances in dialogs about mathematical
- proofs},
- journal = {Data Knowl. Eng.},
- volume = {58},
- number = {1},
- year = {2006},
- pages = {90--106},
- ee = {http://dx.doi.org/10.1016/j.datak.2005.05.010},
- keywords = {lamapunbibs},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@inproceedings{DBLP:conf/acl/WolskaK04,
- author = {Magdalena Wolska and
- Ivana Kruijff-Korbayov{\'a}},
- title = {Analysis of Mixed Natural and Symbolic Input in Mathematical
- Dialogs},
- booktitle = {ACL},
- year = {2004},
- pages = {25--32},
- ee = {http://acl.ldc.upenn.edu/acl2004/main/pdf/373_pdf_2-col.pdf},
- keywords = {lamapunbibs},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@inproceedings{DBLP:conf/its/HoracekW06,
- author = {Helmut Horacek and
- Magdalena Wolska},
- title = {Handling Errors in Mathematical Formulas},
- booktitle = {Intelligent Tutoring Systems},
- year = {2006},
- pages = {339--348},
- ee = {http://dx.doi.org/10.1007/11774303_34},
- crossref = {DBLP:conf/its/2006},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-
-
-
-
-
-
-
-
-@inproceedings{Moore:TaggedPDF09,
- author = {Ross Moore},
- title = {Ongoing efforts to generate ``tagged {PDF}'' using {pdfTeX}},
- crossref = {DML09},
- year = {2009}}
-
-
-
-
-
-
-@InProceedings{AndNov:ehal08,
- author = {Oscar D. Andrade and David G. Novick},
- title = {Expressing Help at Appropriate Levels},
- crossref = {SIGDoc08},
- pages = {125--130}}
-
-@InProceedings{Bouche:stnfdml08,
- author = {Thierry Bouche},
- title = {Some thoughts on the near-future Digital Mathematics Library},
- crossref = {DML08},
- pages = {3--15}}
-
-@Article{Storey:ProgramComprehension06,
- author = {Margaret-Anne Storey},
- title = {Theories, tools and research methods in program comprehension: past, present and future},
- journal = {Software Quality},
- year = {2006},
- volume = {14},
- pages = {187--208}}
-
-@Article{VMS:ProgUndMaintSW99,
- author = {A. Marie Vans and Anneliese von Mayrhauser and Gabriel Somlo},
- title = {Program understanding behavior during corrective maintenance of large-scale software},
- journal = {International Journal of Human-Computer Studies},
- year = {1999},
- volume = {51},
- pages = {31--70}}
-
-@InProceedings{Bouche:cwcmt08,
- author = {Thierry Bouche},
- title = {CEDRICS: When CEDRAM meets Tralics},
- crossref = {DML08},
- pages = {153--165}}
-
-@online{ProofGeneral,
- author = {David Aspinall and others},
- title = {{Proof General}},
- urldate = {2012-12-10},
- date = {2012-11-05},
- url = {http://proofgeneral.inf.ed.ac.uk/}
-}
-
-@online{CASL,
- organization = {CoFI},
- url = {http://www.informatik.uni-bremen.de/cofi/wiki/index.php/CASL},
- title = {CASL},
- date = {2008-02-12},
- urldate = {2012-12-10},
-}
-
-@Article{SchroderMossakowski09,
- author = {Lutz Schr{\"o}der and Till Mossakowski},
- title = {{HasCASL}: Integrated Higher-Order Specification and Program Development},
- year = {2009},
- journal = {Theoret.\ Comput.\ Sci.},
- volume = {410},
- pages = {1217--1260},
- nonumber = {12-13}}
-
-@InProceedings{ABLKCI:DBpedia2007,
- author = {S{\"o}ren Auer and Christian Bizer and Georgi Kobilarov and
- Jens Lehmann and Richard Cyganiak and Zachary Ives},
- title = {{DBpedia}: A Nucleus for a Web of Open Data},
- crossref = {iswc2007}}
-
-@online{HV:CDEditor,
- author = {Heras Vicente, J{\'o}nathan},
- title = {An {OpenMath} Content Dictionary Editor},
- url = {http://www.unirioja.es/cu/joheras/openmath-editor.html},
- urldate = {2009-10-18}}
-
-@online{markdown:on,
- author = {John Gruber and Aaron Swartz and others},
- title = {Markdown},
- url = {http://daringfireball.net/projects/markdown/},
- urldate = {2009-11-11}}
-
-@online{mathml-converters:on,
- title = {{MathML} Software -- Converters},
- url = {http://www.w3.org/Math/Software/mathml_software_cat_converters.html},
- urldate = {2012-03-31},
-}
-
-@online{mathml-editors:on,
- title = {{MathML} Software -- Editors},
- url = {http://www.w3.org/Math/Software/mathml_software_cat_editors.html},
- urldate = {2012-03-31},
-}
-
-@manual{swi-prolog,
- author = {Jan Wielemaker},
- title = {{SWI-Prolog} 5.11.5 Reference Manual},
- url = {http://www.swi-prolog.org/pldoc/refman/},
- urldate = {2010-09-20}}
-
-@manual{isabelle-logics,
- author = {Lawrence C. Paulson and Tobias Nipkow and Markus Wenzel},
- title = {Isabelle's Logics},
- url = {http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/logics.pdf},
- date = {2013-12-05}}
-
-@manual{isabelle-nitpick,
- author = {Jasmin Christian Blanchette},
- title = {Picking Nits},
- subtitle = {A User's Guide to Nitpick for Isabelle/HOL},
- url = {http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/nitpick.pdf},
- date = {2013-12-05}}
-
-@manual{isabelle-codegen,
- author = {Florian Haftmann and Lukas Bulwahn},
- title = {Code generation from {Isabelle}/{HOL} theories},
- url = {http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/codegen.pdf},
- date = {2013-12-05},
-}
-
-@manual{isabelle-functions,
- author = {Alexander Krauss},
- title = {Defining Recursive Functions in {Isabelle}/{HOL}},
- url = {http://isabelle.in.tum.de/doc/functions.pdf},
- urldate = {2013-06-21},
-}
-
-@manual{isabelle-prog-prove,
- author = {Tobias Nipkow},
- title = {Programming and Proving in {Isabelle/HOL}},
- url = {http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/prog-prove.pdf},
- date = {2013-12-05}}
-
-@manual{isabelle-sledgehammer,
- author = {Jasmin Christian Blanchette and Lawrence C. Paulson},
- title = {Hammering Away},
- subtitle = {A User's Guide to Sledgehammer for Isabelle/HOL},
- url = {http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/sledgehammer.pdf},
- date = {2013-12-05}}
-
-@inproceedings{PaulsonBlanchette:3YearsSledgehammer10,
- author = {Lawrence C. Paulson and Jasmin Christian Blanchette},
- title = {Three Years of Experience with Sledgehammer, a Practical Link between Automatic and Interactive Theorem Provers},
- editor = {Geoff Sutcliffe and Eugenia Ternovska and Stephan Schulz},
- booktitle = {International Workshop on the Implementation of Logics},
- eventtitle = {8\textsuperscript{th} Workshop (IWIL)},
- eventdate = {2010-10-10},
- venue = {Yogyakarta, Indonesia},
- year = 2010,
- url = {http://www4.in.tum.de/~blanchet/iwil2010-sledgehammer.pdf}
-}
-
-@manual{isabelle-isar,
- editor = {Makarius Wenzel},
- author = {Makarius Wenzel and Clemens Ballarin and Stefan Berghofer and Jasmin Blanchette and
-Timothy Bourke and Lukas Bulwahn and Amine Chaieb and Lucas Dixon and Florian Haftmann and
-Brian Huffman and Gerwin Klein and Alexander Krauss and Ond{\v r}ej Kun{\v c}ar and Tobias Nipkow and Lars Noschinski and David von Oheimb and Larry Paulson and Sebastian Skalberg and Christian Sternagel},
- title = {The {Isabelle}/{Isar} Reference Manual},
- url = {http://isabelle.in.tum.de/dist/Isabelle2013-2/doc/isar-ref.pdf},
- date = {2013-12-05}}
-
-@online{wymeditor:on,
- author = {Jean-Fran{\c c}ois Hovinne and others},
- title = {{WYMEditor} -- web-based {XHTML} editor},
- url = {http://www.wymeditor.org},
- urldate = {2009-11-11}}
-
-@online{EvoOnt:webpage,
- key = {EvoOnt},
- title = {{EvoOnt} -- A Software Evolution Ontology},
- url = {http://www.ifi.uzh.ch/ddis/evo/},
- urldate = {2009-10-27}}
-
-@online{OpenLinkVirtuoso:webpage,
- crossref = {OpenLinkVirtuoso:base},
- urldate = {2009-10-22}}
-
-@misc{OpenLinkVirtuoso:web,
- crossref = {OpenLinkVirtuoso:base},
- howpublished = {\webpageat\url{http://virtuoso.openlinksw.com}}}
-
-@misc{OpenLinkVirtuoso:base,
- label = {Olv},
- author = {{OpenLink Software}},
- title = {{OpenLink} Universal Integration Middleware -- {Virtuoso} Product Family},
- url = {http://virtuoso.openlinksw.com}}
-
-@online{scala:webpage,
- key = {Scala},
- author = {{{\'E}cole polytechnique f{\'e}d{\'e}rale de Lausanne}},
- shortauthor = {EPFL},
- title = {The {Scala} Programming Language},
- url = {http://www.scala-lang.org},
- urldate = {2009-10-22}}
-
-@online{SAX,
- title = {{SAX}},
- url = {http://www.saxproject.org},
- urldate = {2009-12-07}}
-
-@techreport{StAX:tr,
- title = {{Streaming API for XML}},
- type = {Java Specification Request (JSR)},
- number = 173,
- version = {Maintenance Draft Review 3},
- author = {Larry Cable and Thorick Chow},
- date = {2009-07-06},
- url = {http://jcp.org/en/jsr/detail?id=173},
- urldate = {2009-12-07}}
-
-@online{xom:webpage,
- key = {XOM},
- author = {Elliotte Rusty Harold},
- title = {{XOM}},
- url = {http://xom.nu},
- urldate = {2009-10-22}}
-
-@online{wsmo:on,
- crossref = {wsmo:base},
- urldate = {2009-11-25}}
-
-@online{wsmo:webpage,
- crossref = {wsmo:base},
- lastchecked = jun,
- year = 2009}
-
-@Misc{wsmo:base,
- key = {WSMO},
- title = {{Web Service Modeling Ontology}},
- url = {http://www.wsmo.org}}
-
-@online{googlewave:on,
- crossref = {googlewave:base},
- urldate = {2010-10-03}}
-
-@online{googlewave:webpage,
- crossref = {googlewave:base},
- lastchecked = sep,
- year = 2009}
-
-@misc{googlewave:base,
- author = {Google},
- title = {{Google Wave}},
- url = {http://wave.google.com}}
-
-@online{googledocs:on,
- crossref = {googledocs:base},
- urldate = {2011-09-08}}
-
-@online{googledocs:webpage,
- crossref = {googledocs:base},
- lastchecked = sep,
- year = 2011}
-
-@misc{googledocs:base,
- author = {Google},
- title = {{Google Docs}},
- url = {http://docs.google.com}}
-
-@online{etherpad:on,
- crossref = {etherpad:base},
- urldate = {2011-09-08}}
-
-@online{etherpad:webpage,
- crossref = {etherpad:base},
- lastchecked = sep,
- year = 2011}
-
-@misc{etherpad:base,
- author = {AppJet Inc.},
- title = {{Etherpad}},
- url = {http://www.etherpad.com}}
-
-
-
-@online{bioportal:webpage,
- author = {National Center for Biomedical Ontology},
- title = {{BioPortal}},
- url = {http://bioportal.bioontology.org},
- lastchecked = jul,
- year = 2009}
-
-@online{MT:RSTRelationDefinitions,
- author = {William C. Mann and Maite Taboada},
- title = {Rhetorical Structure Theory -- Relation Definitions},
- url = {http://www.sfu.ca/rst/01intro/definitions.html},
- urldate = {2009-10-22}}
-
-@online{MT:RST,
- author = {William C. Mann and Maite Taboada},
- title = {Rhetorical Structure Theory},
- url = {http://www.sfu.ca/rst/},
- urldate = {2010-07-24}}
-
-@online{Knublauch:UnitsOntologySPIN,
- author = {Holger Knublauch},
- title = {Units ontology with {SPIN} support published},
- date = {2009-08-31},
- url = {http://composing-the-semantic-web.blogspot.com/2009/08/units-ontology-with-spin-support.html},
- urldate = {2011-07-15}}
-
-@online{Davis:16FacesRDF,
- author = {Ian Davis},
- title = {The Sixteen Faces of Eve},
- date = {2005-09-27},
- url = {http://iandavis.com/blog/2005/09/the-sixteen-faces-of-eve},
- urldate = {2009-10-22}}
-
-@online{oasis:webpage,
- key = {OASIS},
- title = {{Open} architecture for {Accessible} {Services} {Integration} and
- {Standardisation} ({OASIS})},
- subtitle = {Quality of Life for the Elderly},
- url = {http://www.oasis-project.eu},
- urldate = {2011-11-08},
-}
-
-@InProceedings{UscholdKing:MethBuildOnto95,
- author = {Mike Uschold and Martin King},
- title = {Towards a Methodology for Building Ontologies},
- booktitle = {Basic Ontological Issues in Knowledge Sharing},
- eventtitle = {workshop held in conjunction with IJCAI-95},
- year = {1995},
-}
-
-@online{DITAMathDomain,
- author = {Bryce Nordgren},
- title = {Workspace to develop a math domain for {DITA}},
- url = {http://dita.xml.org/wiki/workspace-to-develop-a-math-domain-for-dita},
- date = {2009-02-21},
- urldate = {2010-07-30}}
-
-@online{dita:on,
- crossref = {dita:base},
- urldate = {2010-02-02}}
-
-@online{dita:webpage,
- crossref = {dita:base},
- lastchecked = jun,
- year = 2009}
-
-@misc{dita:base,
- key = {DITA},
- title = {{OASIS Darwin Information Typing Architecture (DITA)}},
- url = {http://www.oasis-open.org/committees/dita/}}
-
-
-
-@TechReport{DITA1.2,crossref={DITA1.2:base},
-howpublished = {\url{http://www.oasis-open.org/committees/download.php/37938/dita1.2-spec.pdf}}}
-
-@TechReport{DITA1.2:base,
- key = {DITA1.2},
- author = {Kristen James Eberlein and Robert D. Anderson and Gershon Joseph},
- title = {Darwin Information Typing Architecture (DITA) Version 1.2},
- institution = {OASIS},
- year = 2010,
- type = {Committee Draft},
- number = 01,
- month = may,
- url = {http://www.oasis-open.org/committees/download.php/37938/dita1.2-spec.pdf}}
-
-@online{OOR:webpage,
- key = {Open Ontology Repository},
- title = {{Open Ontology Repository (OOR)}},
- url = {http://ontolog.cim3.net/cgi-bin/wiki.pl?OpenOntologyRepository},
- urldate = {2012-04-20},
- year = 2012}
-
-@online{neon:webpage,
- key = {NeOn},
- title = {{NeOn}},
- url = {http://www.neon-project.org},
- lastchecked = jun,
- year = 2009}
-
-@online{neon-toolkit:on,
- crossref = {neon-toolkit:base},
- urldate = {2009-10-26}}
-
-@webpage{neon-toolkit:webpage,
- crossref = {neon-toolkit:base},
- key = {NeOn Toolkit},
- lastchecked = jun,
- year = 2009}
-
-@misc{neon-toolkit:base,
- title = {{NeOn} Toolkit},
- url = {http://neon-toolkit.org}}
-
-@online{owldoc:on,
- crossref = {owldoc:base},
- urldate = {2010-12-20}}
-
-@online{es-aggregations:online,
- label={ESA},
- url = {http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations.html},
- title={Aggregations}}
-
-@webpage{owldoc:wehbpage,
- crossref = {owldoc:base},
- key = {OWLDoc},
- lastchecked = jun,
- year = 2009}
-
-@online{owldoc:base,
- title = {{OWLDoc}},
- url = {http://code.google.com/p/co-ode-owl-plugins/wiki/OWLDoc}}
-
-@online{owlsight:webpage,
- key = {OWLSight},
- title = {{OWLSight}},
- url = {http://pellet.owldl.com/owlsight/},
- lastchecked = jun,
- year = 2009}
-
-@online{protege:on,crossref = {protege:base},urldate={2010-01-06}}
-@misc{protege:url,crossref = {protege:base},
- howpublished = {Project Home page at \url{http://protege.stanford.edu}}}
-@misc{protege:base,
- key = {Protege},
- title = {Prot{\'e}g{\'e}},
- url = {http://protege.stanford.edu}}
-
-@Online{PtSW:on,
- editor = {{OpenLink Software}},
- urldate = {2010-08-15},
- crossref = {PtSW:base}}
-
-@online{PtSW:webpage,
- key = {Ping the Semantic Web},
- crossref = {PtSW:base},
- lastchecked = may,
- year = 2009}
-
-@misc{PtSW:base,
- title = {Ping the Semantic Web},
- url = {http://pingthesemanticweb.com}}
-
-@online{sesame:on,
- urldate = {2010-05-10},
- crossref = {sesame:base}}
-
-@online{sesame:webpage,
- key = {Sesame},
- author = {{Aduna}},
- lastchecked = apr,
- year = 2009,
- crossref = {sesame:base}}
-
-@misc{sesame:base,
- title = {{openRDF.org}, home of {Sesame}},
- url = {http://www.openrdf.org}}
-
-@online{w3c:owl-wg:on,
- urldate = {2009-10-22},
- crossref = {w3c:owl-wg}}
-
-@Misc{w3c:owl-wg,
- author = {Ian Horrocks and Alan Ruttenberg and Sandro Hawke and Ivan
- Herman and others},
- title = {{OWL} Working Group},
- url = {http://www.w3.org/2007/OWL/}}
-
-@inproceedings{DBLP:conf/kr/HorrocksKS06,
- author = {Ian Horrocks and
- Oliver Kutz and
- Ulrike Sattler},
- title = {The Even More Irresistible SROIQ},
- booktitle = {KR},
- year = {2006},
- pages = {57--67},
- crossref = {DBLP:conf/kr/2006},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@Misc{Bewig:hsrptpss05,
- author = {Bewig, Philip},
- title = {How do you know your spreadsheet is right?
- Principles, Techniques, and Practice of Spreadsheet Style },
- crossref = {EUSPRIG05},
- url = {http://www.eusprig.org/hdykysir.pdf},
- howpublished = {Manuscript at \url{http://www.eusprig.org/hdykysir.pdf}}}
-
-@InProceedings{Panko:se00,
- author = {Raymond R. Panko},
- title = {Spreadsheet Errors: What We Know. What We Think We Can Do. },
- crossref = {EUSPRIG00}}
-
-@Misc{CLG:email,
- author = {Charles Leedham-Green},
- title = {{Personal communication to C. M{\"u}ller}},
- note = {March 7 2009}}
-
-@Misc{MW:email,
- author = {M. Wenzel},
- title = {{Personal communication to C. M{\"u}ller}},
- note = {March 7 2009}}
-
-@Misc{CodeIgniter:URL,
- key = {CodeIgniter},
- title = {{CodeIgniter -- Open source PHP web application framework}},
- note = {seen March 2009},
- howpublished = {\url{http://codeigniter.com/}},
- url = {http://codeigniter.com/}}
-
-@Misc{XMLSpec:URL,
- crossref={XMLSpec:base},
- note = {seen March 2009},
- howpublished = {\url{http://www.w3.org/2002/xmlspec/}}}
-
-@Misc{XMLSpec:base,
- key = {XMLSpec},
- title = {The {XML Spec} Schema and Stylesheets},
- year = 2009,
- url = {http://www.w3.org/2002/xmlspec/}}
-
-
-
-@inproceedings{RAFBPFM:eZaragozaTouristMashup10,
- author = {Carlos Tejo-Alonso and Sergio Fern{\'a}ndez and Diego Berrueta and Luis Polo and Mar{\'i}a Jes{\'u}s Fern{\'a}ndez and V{\'i}ctor Morl{\'a}n},
- title = {{eZaragoza}, a tourist promotional mashup},
- url = {http://sites.google.com/a/fh-hannover.de/aimashup/home/ezaragoza},
- crossref = {AIMashup10}}
-
-@InProceedings{VLL:Jigs4OWL10,
- author = {Mario Volke and Thorsten Liebig and Marko Luther},
- title = {Jigs4OWL},
- crossref = {AIMashup10},
- url = {http://sites.google.com/a/fh-hannover.de/aimashup/home/jigs4owl}}
-
-
-
-@inproceedings{TrafficLarKC11,
- author = {Dell'Aglio, Daniele and Irene Celino and Della Valle, Emanuele and Ralph Grothmann and Florian Steinke and Volker Tresp},
- title = {Traffic {LarKC} -- a route planner for {Milano}},
- url = {https://sites.google.com/a/fh-hannover.de/aimashup11/home/traffic_larkc},
- crossref = {AIMashup11}}
-
-@inproceedings{WLPN:TIF,
-author={Makarius Wenzel and Lawrence C. Paulson and Tobias Nipkow},
-title={The {Isabelle} Framework},
-booktitle={Theorem Proving in Higher Order Logics (TPHOLs 2008)},
-editor={Ait Mohamed and Munoz and Tahar},
-publisher={Springer},
-series={LNCS},
-number=5170,
-pages={33--38},
-year=2008}
-
-@Misc{AFP:URL,crossref={AFP:base},
- author = {AFP},
- title = {Archive of Formal Proofs},
- howpublished = {\url{http://afp.sourceforge.net/}},
- note = {seen March 2009}}
-
-@online{AFP:online,crossref={AFP:base},urldate={2011-12-20},url={http://afp.sf.net}}
-@Misc{AFP:base,
- author = {AFP},
- title = {Archive of Formal Proofs}}
-
-@inproceedings{BN:RTiIH,
-author={Stefan Berghofer and Tobias Nipkow},
-title={Random Testing in {Isabelle/HOL}},
-booktitle={Software Engineering and Formal Methods (SEFM 2004)},
-editor={J. Cuellar and Z. Liu},
-year=2004,pages={230--239},publisher={IEEE Computer Society}}
-
-@article{TW:BMGfIH,
-title = "Bounded Model Generation for {Isabelle/HOL}",
-journal = "Electronic Notes in Theoretical Computer Science",
-volume = "125",
-number = "3",
-pages = "103--116",
-year = "2005",
-note = "Selected Papers from the Workshops on Disproving and the Second International Workshop on Pragmatics of Decision Procedures (PDPAR 2004)",
-issn = "1571-0661",
-doi = "10.1016/j.entcs.2004.10.027",
-url = "http://www.sciencedirect.com/science/article/B75H1-4GJTTP7-9/2/7dda698caa44a154b4fda5961d8dc453",
-author = "Tjark Weber"}
-
-@INPROCEEDINGS{DA:PG,
- author = {David Aspinall},
- title = {Proof General: A Generic Tool for Proof Development},
- booktitle = {Proceedings of the 6\textsuperscript{th} International Conference on Tools and Algorithms for Construction and Analysis of Systems},
- series = {Lecture Notes of Computer Science},
- number = {1785},
- year = {2000},
- pages = {38--42},
- publisher = {Springer}}
-
-@online{DN:UnitsOpenMath03:on,
- urldate = {2009-10-22},
- crossref = {DN:UnitsOpenMath03:base}}
-@Misc{DN:UnitsOpenMath03,
- howpublished = {\url{http://www.openmath.org/documents/Units.pdf}},
- crossref = {DN:UnitsOpenMath03:base}}
-@Misc{DN:UnitsOpenMath03:base,
- author = {James H. Davenport and William A. Naylor},
- title = {Units and Dimensions in {OpenMath}},
- url = {http://www.openmath.org/documents/Units.pdf},
- year = {2003}}
-
-@TechReport{CarDAvDew:cbmao01,
- author = {David Carlisle and James H. Davenport and Mike Dewar and N. Hur and William Naylor},
- title = {Conversion between {MathML} and {OpenMath}},
- institution = {The OpenMath Society},
- year = 2001,
- url = {http://www.openmath.org/documents/om-mml.pdf}}
-
-@InCollection{MW:IIAGFFHRPD,
- author = {Makarius Wenzel},
- title = {{Isabelle/Isar --- a generic framework for human-readable proof documents.}},
- pages = {277--298},
- crossref = {MatZal:fip07}}
-
-
-@Misc{EN:SaS,
- author = {Edward Nelson},
- title = {{Syntax and Semantics}},
- institution = {Department of Mathematics, Princeton University},
- note = {seen March 2009},
- howpublished = {\url{http://www.math.princeton.edu/~nelson/papers/s.pdf}},
- url = {http://www.math.princeton.edu/~nelson/papers/s.pdf}}
-
-
-@BOOK{GJC:TLoM,
- title = {{The Limits of Mathematics}},
- publisher = {Springer-Verlag},
- year = {1998},
- author = {G. J. Chaitin}}
-
-@Misc{KraftChaitin:URL,
- author = {Nicholas J. Hay},
- title = {{Formal Proof for the Kraft-Chaitin Theorem}},
- note = {seen March 2009},
- howpublished = {\url{http://www.cs.auckland.ac.nz/~nickjhay/KraftChaitin.thy}},
- url = {http://www.cs.auckland.ac.nz/~nickjhay/KraftChaitin.thy}}
-
-@incollection{CCM:PaP,
- author = {C. S. Calude and E. Calude and S. Marcus},
- title = {{Proving and programming}},
- pages = {310--321},
- crossref = {CC:RaCFltC}}
-
-@InCollection{CM:MPAAC,
- author = {C. S. Calude and S. Marcus},
- title = {{Mathematical proofs at a crossroad?}},
- booktitle = {{Theory Is Forever}},
- series = {LNCS},
- editor = {Juhani Karhum{\"a}ki and Hermann Maurer and Gheorghe Paun and Grzegorz Rozenberg},
- year = {2004},
- pages = {15--28},
- publisher = {Springer-Verlag, Berlin},
- url = {http://www.springerlink.com/content/ngrrw45596rewp3x}}
-
-
-@ARTICLE{CCM:PoP,
- author = {C. S. Calude and E. Calude and S. Marcus},
- title = {{Passages of Proof}},
- journal = {Bull. Eur. Assoc. Theor. Comput. Sci. EATCS},
- volume = {84},
- year = {2004},
- pages = {167--188}}
-
-@Article{TCH:FP,
- author = {Thomas C. Hales},
- title = {{Formal proof}},
- howpublished = {\url{http://www.ams.org/notices/200811/tx081101370p.pdf}},
- volume = 55,
- number = 11,
- year = 2008,
- journal = {Notices of the AMS},
- pages = {1370--1380}}
-
-@Article{GG:FPTFCT,
- author = {Georges Gonthier},
- title = {{Formal proof -- The Four-Color Theorem}},
- howpublished = {\url{http://www.ams.org/notices/200811/tx081101382p.pdf}},
- volume = 55,
- number = 11,
- year = 2008,
- journal = {Notices of the AMS},
- pages = {1382--1393}}
-
-@Article{GG:FPTFCT:biblatex,
- author = {Georges Gonthier},
- title = {Formal proof -- The Four-Color Theorem},
- url = {http://www.ams.org/notices/200811/tx081101382p.pdf},
- volume = 55,
- number = 11,
- year = 2008,
- journal = {Notices of the AMS},
- pages = {1382--1393}}
-
-@inproceedings{GonthierMRTT07,
- author = {Georges Gonthier and
- Assia Mahboubi and
- Laurence Rideau and
- Enrico Tassi and
- Laurent Th{\'e}ry},
- title = {A Modular Formalisation of Finite Group Theory},
- booktitle = {TPHOLs},
- year = {2007},
- pages = {86--101},
- ee = {http://dx.doi.org/10.1007/978-3-540-74591-4_8},
- crossref = {DBLP:conf/tphol/2007},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-
-@Article{H:FPTaP,
- author = {John Harrison},
- title = {{Formal Proof -- Theory and Practice}},
- howpublished = {\url{http://www.ams.org/notices/200811/tx081101395p.pdf}},
- url = {http://www.ams.org/notices/200811/tx081101395p.pdf},
- volume = 55,
- number =11,
- year = 2008,
- journal = {Notices of the AMS},
- pages = {1395--1406}}
-
-@Article{FW:FPGS,
- author = {Freek Wiedijk},
- title = {{Formal proof -- Getting Started}},
- url = {http://www.ams.org/notices/200811/tx081101408p.pdf},
- howpublished = {\url{http://www.ams.org/notices/200811/tx081101408p.pdf}},
- volume = 55,
- number = 11,
- year = 2008,
- journal = {Notices of the AMS},
- pages = {1408--1414}}
-
-@BOOK{FDKMSHV:KGCW,
- title = {{Kurt G{\" o}del Collected Works}},
- publisher = {Oxford University Press, New York},
- year = {1986},
- editor = {S. Feferman and J. Dawson~Jr. and S. C. Kleene and G. H. Moore and R. M. Solovay and J. van Heijenoort and Daniel J. Velleman}}
-
-
-@article{ML:DPPISIM,
- author = {Sounders Mac Lane},
- title = {{Despite physicists, proof is essential in mathematics}},
- journal = {Synthese},
- volume = {111},
- number = {2},
- iisn = {0039-7857 (Print) 1573-0964 (Online)},
- doi = {10.1023/A:1004918402670},
- year = {1997},
- pages = {147--154},
- publisher = {Springer Netherlands} }
-
-@inproceedings{winterstein:aecodaal,
- author = {D. Winterstein and A. Bundy and C. Gurr and M. Jamnik},
- booktitle = {International Conference on the Theory and Application of Diagrams},
- citeulike-article-id = {3924523},
- keywords = {diagrams, file-import-09-01-22},
- pages = {432--434},
- posted-at = {2009-01-22 17:11:34},
- priority = {2},
- publisher = {Springer},
- title = {An experimental Comparison of Diagrammatic and Algebraic Logics},
- number = {2980},
- year = {2004}}
-
-@article{MW:Taps,
- author = {Zohar Manna and Richard J. Waldinger},
- title = {{Toward automatic program synthesis}},
- journal = {Commun. ACM},
- volume = {14},
- number = {3},
- year = {1971},
- issn = {0001-0782},
- pages = {151--165},
- doi = {http://doi.acm.org/10.1145/362566.362568},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-
-@INPROCEEDINGS{TH:CARwM,
- author = {Andrzej Trybulec and Howard Blair},
- title = {{Computer Assisted Reasoning with Mizar}},
- booktitle = {Proceedings of the 9\textsuperscript{th} International Joint Conference on Artificial Intelligence},
- year = {1985},
- pages = {26--28}}
-
-@online{coq:on,
- crossref = {coq:URL:base},
- urldate = {2010-07-31}}
-
-@Misc{coq:URL,
- crossref = {coq:URL:base},
- key = {coq},
- note = {seen March 2009},
- howpublished = {\url{http://coq.inria.fr/}}}
-
-@Misc{coq:URL:base,
- title = {The Coq Proof Assistant},
- url = {http://coq.inria.fr/}}
-
-@INPROCEEDINGS{ABDMW:AGMDSfPAAoIaG,
- author = {Serge Autexier and Christoph Benzm{\"u}ller and Dominik Dietrich and Andreas Meier and Claus-Peter Wirth},
- title = {{A Generic Modular Data Structure for Proof Attempts Alternating on Ideas and Granularity}},
- pages = {126--142},
- crossref = {MKM06}}
-
-@BOOK{DV:Htpi,
- title = {{How To Prove IT: A Structured Approach}},
- publisher = {Cambridge University Press},
- year = {1994},
- author = {Daniel J. Velleman}}
-
-
-@BOOK{NY:AItHS,
- title = {{An Introduction to Hilbert Space}},
- publisher = {Cambridge University Press},
- year = {1988},
- author = {N. Young}}
-
-@Article{RMS:AMoST,
- author = {R. M. Solovay},
- title = {{A model of set-theory in which every set of reals is Lebesgue measurable}},
- journal = {Annals of Mathematics},
- year = 1970,
- volume = 38,
- number = 3,
- pages = {1--56}}
-
-@BOOK{WRS:GT,
- title = {{Group Theory}},
- publisher = {Dover, New York},
- year = {1987},
- author = {W. R. Scott}}
-
-@BOOK{ESL:TPP,
- title = {{The Pythagorean Proposition}},
- publisher = {Oxford University Press},
- year = {1968, 2\textsuperscript{nd} edition},
- author = {Elisha S. Loomis}}
-
-@BOOK{TG:MAVSI,
- title = {{Mathematics. A Very Short Introduction}},
- publisher = {Oxford University Press},
- year = {2002},
- author = {T. Gowers},
- keywords={lamapunbibs}}
-
-@BOOK{Gowers:2008:PCM,
- author = {Gowers, Timothy and Barrow-Green, June and Leader, Imre},
- title = {The Princeton Companion to Mathematics},
- year = {2008},
- isbn = {0691118809, 9780691118802},
- edition = {illustrated edition},
- publisher = {Princeton University Press},
- address = {Princeton, NJ, USA},
- keywords={lamapunbibs}}
-
-@BOOK{AD:FPT,
- title = {{Fixed Point Theory}},
- publisher = {Springer, New York},
- year = {2003},
- author = {A. Granas and J. Dugundji}}
-
-@Article{JAG:Riu,
- author = {J. A. Goguen},
- title = {{Realization is universal}},
- journal = {Theory of Computing Systems},
- publisher = {Springer},
- year = 1973,
- volume = 6,
- number = 4,
- pages = {359--374}}
-
-@BOOK{SBC:CT,
- title = {{Computability Theory}},
- publisher = {Chapman \& Hall/CRC London},
- year = {2004},
- author = {S. B. Cooper}}
-
-@BOOK{PJC:STatCH,
- title = {{Set Theory and the Continuum Hypothesis}},
- publisher = {Addison-Wesley},
- year = {1966},
- author = {P. J. Cohen}}
-
-@BOOK{GJC:MM,
- title = {{Meta Math!}},
- publisher = {Pantheon, New York},
- year = {2005},
- author = {G. J. Chaitin.}}
-
-@Article{CD:EAoON,
- author = {C. S. Calude and M. J. Dinneen},
- title = {{Exact Approximations of Omega Numbers}},
- journal = {Int. Journal of Bifurcation \& Chaos},
- year = 2007,
- volume = 17,
- number = 6,
- pages = {1937--1954}}
-
-@BOOK{CC:IoR,
- title = {{Information and Randomness: An Algorithmic Perspective}},
- publisher = {Springer Verlag},
- year = {2002, 2\textsuperscript{nd} Edition, Revised and Extended},
- author = {C. S. Calude}}
-
-@BOOK{BR:VoCM,
- title = {{Varieties of Constructive Mathematics}},
- publisher = {Cambridge University Press},
- year = {1987},
- author = {D. Bridges and F. Richman.}}
-
-@Misc{XBOffice:URL,
- key = {XBOffice},
- title = {{Document generation and integration with XBOffice}},
- author = {Invenso Inventive ICT Solutions},
- note = {seen March 2009},
- howpublished = {\url{http://www.invenso.com/solutions/document-generation-integration}},
- url = {http://www.invenso.com/solutions/document-generation-integration}}
-
-@Misc{JT:DocPipe,
- key = {DocPipe},
- title = {{Managing Complex Document Generation through Pipelining}},
- author = {Jeni Tennison},
- note = {seen March 2009},
- howpublished = {\url{http://www.idealliance.org/proceedings/xtech05/papers/04-03-01}},
- url = {http://www.idealliance.org/proceedings/xtech05/papers/04-03-01}}
-
-@Misc{4adobe:URL,
- key = {4adobe},
- title = {{MEKON: Intelligent Document Solutions}},
- note = {seen March 2009},
- howpublished = {\url{http://www.4adobe.com}},
- url = {http://www.4adobe.com}}
-
-@Misc{MS:OOXMLDev,
- key = {OpenXMLDev},
- title = {{Open XML Developers}},
- note = {seen March 2009},
- crossref = {MS:web},
- howpublished = {\url{http://www.openxmldeveloper.org}},
- url = {http://www.openxmldeveloper.org}}
-
-@Misc{MS:ItOOXFF,
- title = {{Introducing the Office (2007) Open XML File Formats}},
- note = {seen March 2009},
- crossref = {MS:web},
- howpublished = {\url{http://msdn.microsoft.com/en-us/library/aa338205.aspx}},
- url = {http://msdn.microsoft.com/en-us/library/aa338205.aspx}}
-
-@Misc{MS:BSSDGSUOXOM1,
- title = {{Building Server-Side Document Generation Solutions Using the Open XML Object Model (Part 1 of 2)}},
- note = {seen March 2009},
- crossref = {MS:web},
- howpublished = {\url{http://msdn.microsoft.com/en-us/library/bb735940.aspx}},
- url = {http://msdn.microsoft.com/en-us/library/bb735940.aspx}}
-
-@Misc{MS:BSSDGSUOXOM2,
- title = {{Building Server-Side Document Generation Solutions Using the Open XML Object Model (Part 2 of 2)}},
- note = {seen March 2009},
- crossref = {MS:web},
- howpublished = {\url{http://msdn.microsoft.com/en-us/library/bb735939.aspx}},
- url = {http://msdn.microsoft.com/en-us/library/bb735939.aspx}}
-
-@Misc{ThNow:URL,
- key = {ThunderheadNOW},
- title = {{Thunderhead NOW Enterprise Communication Platform}},
- note = {seen March 2009},
- howpublished = {\url{http://www.thunderhead.com}},
- url = {http://www.thunderhead.com}}
-
-@Misc{Smarty:URL,
- key = {Smarty},
- title = {{Smarty}},
- note = {seen March 2009},
- howpublished = {\url{http://www.smarty.net}},
- url = {http://www.smarty.net}}
-
-@Misc{JavaDoc:URL,
- key = {JavaDoc},
- title = {{JavaDoc}},
- note = {seen March 2009},
- howpublished = {\url{http://java.sun.com/j2se/javadoc}},
- url = {http://java.sun.com/j2se/javadoc}}
-
- @misc{wiki:citing_wikipedia,
- author = "Wikipedia",
- title = "Citing Wikipedia --- {W}ikipedia{,} The Free Encyclopedia",
- year = "2011",
- url = "\url{http://en.wikipedia.org/w/index.php?title=Wikipedia:Citing_Wikipedia&oldid=405675192}",
- note = "[Online; accessed 05-Jan-2011]"
- }
-@Misc{WP:TemProc,
- key = {TemProc},
- title = {{Template processor}},
- note = {seen March 2009},
- crossref = {wikipedia},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Template_processor&oldid=261104996}},
- url = {http://en.wikipedia.org/w/index.php?title=Template_processor&oldid=261104996}}
-
-@Misc{WP:FormDisp,
- key = {FormDisp},
- title = {{Help: Displaying a Formula}},
- note = {seen August 2011},
- crossref = {wikipedia},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Help:Displaying_a_formula&oldid=444038561}},
- keywords={lamapunbibs},
- url = {http://en.wikipedia.org/w/index.php?title=Help:Displaying_a_formula&oldid=444038561}}
-
-@Misc{WP:JakobsonLangFunct,
- key = {JakobsonLangFunct},
- title = {{Jakobson's functions of language}},
- note = {seen November 2012},
- howpublished = {online at \url{http://en.wikipedia.org/w/index.php?title=Jakobson%27s_functions_of_language&oldid=520624390}},
- keywords={lamapunbibs},
- url = {http://en.wikipedia.org/w/index.php?title=Jakobson%27s_functions_of_language&oldid=520624390}}
-
-@unpublished{Pakin2009,
- author = {Scott Pakin},
- title = {{The Comprehensive LaTeX Symbol List}},
- year = 2009,
- note = {seen August 2011},
- howpublished = {\url{http://mirror.ctan.org/info/symbols/comprehensive/}},
- url = {http://mirror.ctan.org/info/symbols/comprehensive/},
- keywords = {lamapunbibs}
-}
-
-
-@Misc{WP:DocGen-Over,
- key = {DocGenOverview},
- title = {{Comparison of Document generators}},
- note = {seen March 2009},
- crossref = {wikipedia},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Comparison_of_documentation_generators&oldid=269609904}},
- url = {http://en.wikipedia.org/w/index.php?title=Comparison_of_documentation_generators&oldid=269609904}}
-
-@Misc{WP:DocGen,
- key = {DocGen},
- title = {{Document generator}},
- note = {seen March 2009},
- crossref = {wikipedia},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Documentation_generator&oldid=270148701}},
- url = {http://en.wikipedia.org/w/index.php?title=Documentation_generator&oldid=270148701}}
-
-@Misc{SCIGEN:URL,
- title = {{SCIgen -- An Automatic CS Paper Generator}},
- url = {http://pdos.csail.mit.edu/scigen},
- note = {seen March 2009},
- howpublished = {\url{http://pdos.csail.mit.edu/scigen}},
- author = {Jeremy Stribling and Max Krohn and Dan Aguayo}}
-
-@Misc{ND:TLT,
- title = {{The {\LaTeX}2HTML Translator}},
- howpublished = {\url{http://www.msi.umn.edu/software/latex2html/manual/manual.html}},
- url = {http://www.msi.umn.edu/software/latex2html/manual/manual.html},
- year = {1996},
- author = {Nikos Drakos}}
-
-@Misc{DB:TSRfMW,
- title = {{Ten Simple Rules for Mathematical Writing}},
- howpublished = {\url{http://www.mit.edu/people/dimitrib/Ten_Rules.html}},
- url = {http://www.mit.edu/people/dimitrib/Ten_Rules.html},
- note = {seen March 2009},
- author = {Dimitri P. Bertsekas}}
-
-@Misc{ME:HzwM73,
- title = {{How to write Mathematics}},
- howpublished = {\url{http://www2.truman.edu/~erickson/manual6.pdf}},
- url = {http://www2.truman.edu/~erickson/manual6.pdf},
- year = {2007},
- author = {Martin Erickson}}
-
-@Misc{PRH:HzwM73,
- title = {{How to write Mathematics}},
- publisher = {American Mathematical Society},
- howpublished = {\url{http://www.math.uga.edu/~azoff/courses/halmos.pdf}},
- url = {http://www.math.uga.edu/~azoff/courses/halmos.pdf},
- year = {1973},
- author = {Paul R. Halmos}}
-
-@MISC{KLR:MW,
- author = {Donald E. Knuth and Tracy Larrabee and Paul M. Roberts},
- title = {{Mathematical Writing}},
- howpublished = {\url{http://www.ifs.tuwien.ac.at/~silvia/research-tips/knuth_mathematical_writing.pdf}},
- url = {http://www.ifs.tuwien.ac.at/~silvia/research-tips/knuth_mathematical_writing.pdf},
- note = {seen March 2009}}
-
-@MISC{DW:HtWM,
- author = {Douglas Wiens},
- title = {{How to Write Mathematics}},
- howpublished = {\url{http://www.stat.ualberta.ca/~wiens/trent_write.pdf}},
- url = {http://www.stat.ualberta.ca/~wiens/trent_write.pdf},
- note = {seen March 2009}}
-
-@MISC{KL:TfRM,
- key = {MathRead},
- author = {Kevin P. Lee},
- title = {{Tips for Reading Mathematics}},
- howpublished = {\url{http://ems.calumet.purdue.edu/mcss/kevinlee/mathwriting/readingtips.pdf}},
- url = {http://ems.calumet.purdue.edu/mcss/kevinlee/mathwriting/readingtips.pdf},
- note = {seen March 2009}}
-
-@MISC{KL:AGtWM,
- key = {MathGuide},
- author = {Kevin P. Lee},
- title = {{A Guide to Writing Mathematics}},
- howpublished = {\url{http://ems.calumet.purdue.edu/mcss/kevinlee/mathwriting/writingman.pdf}},
- url = {http://ems.calumet.purdue.edu/mcss/kevinlee/mathwriting/writingman.pdf},
- note = {seen March 2009}}
-
-@Article{HuaYeeMak:cpecm03,
- author = {Huang, G. Q. and Yee, W. Y. and Mak, K. L},
- title = {Current practice of engineering change management in {Hong Kong}
- manufacturing industries},
- journal = {Journal of Materials Processing Technology},
- year = 2003,
- volume = 139,
- pages = {481--487}}
-
-@online{housingmaps:webpage,
- author = {Paul Rademacher},
- title = {{HousingMaps}},
- url = {http://www.housingmaps.com},
- lastchecked = feb,
- year = 2009}
-
-@Book{DatDarLor:tdrm02,
- author = {C. J. Date and Hugh Darwen and Nikos Lorentzos},
- title = {Temporal Data \& the Relational Model},
- publisher = {Morgan Kaufmann},
- year = 2002,
- series = {The Morgan Kaufmann Series in Data Management Systems}}
-
-@online{wayback:webpage,
- title = {Internet Archive: Wayback Machine},
- url = {http://www.archive.org/web/web.php},
- lastchecked = apr,
- year = 2009}
-
-@Misc{housingmaps,
- author = {Paul Rademacher},
- title = {{HousingMaps}},
- howpublished = {\url{http://www.housingmaps.com}},
- year = {2009}}
-
-@online{ubiquity:on,
- crossref = {ubiquity:base},
- urldate = {2010-09-19}}
-
-@online{ubiquity:webpage,
- lastchecked = feb,
- year = 2009,
- crossref = {ubiquity:base}}
-
-@Misc{ubiquity,
- year = 2009,
- crossref = {ubiquity:base}}
-
-@Misc{ubiquity:base,
- author = {{Mozilla Labs}},
- title = {Ubiquity},
- url = {http://mozillalabs.com/ubiquity}}
-
-@online{yahoo-pipes:on,
- urldate = {2009-10-22},
- crossref = {yahoo-pipes:base}}
-
-@online{yahoo-pipes:webpage,
- lastchecked = feb,
- year = 2009,
- crossref = {yahoo-pipes:base}}
-
-@Misc{yahoo-pipes,
- year = 2009,
- crossref = {yahoo-pipes:base}}
-
-@misc{yahoo-pipes:base,
- author = {Yahoo!},
- title = {Pipes},
- url = {http://pipes.yahoo.com}}
-
-@misc{OpenMath:URL,
- key = {OpenMath},
- title = {OpenMath},
- year = 2009,
- note = {\webpageat{http://wiki.openmath.org}}}
-
-@misc{OMCDs:URL,
- key = {OpenMath CDs},
- title = {OpenMath Content Dictionaries},
- year = 2009,
- note = {\webpageat{http://www.openmath.org/cdnames.html}}}
-
-@Online{OpenMathSymbols,
- title = {{OpenMath} Symbols},
- url = {http://www.openmath.org/cdindex.html},
- urldate = {2010-10-28}}
-
-
-
-@online{OpenMathWiki:webpage,lastchecked = feb,crossref = {OpenMathWiki:base}}
-
-@Misc{OpenMathWiki,crossref = {OpenMathWiki:base},
- howpublished = {\url{http://wiki.openmath.org}}}
-
-@InProceedings{GM:FeedbackActiveMathExercises08,
- author = {George Goguadze and Erica Melis},
- title = {Feedback in {ActiveMath} Exercises},
- booktitle = {International Conference on Mathematics Education (ICME)},
- year = {2008}}
-
-@online{SCIEnce:on,
- urldate = {2009-10-22},
- crossref = {SCIEnce:base}}
-
-@online{SCIEnce:webpage,
- howpublished = {\url{http://www.symcomp.org/}},
- lastchecked = feb,
- year = {2009},
- crossref = {SCIEnce:base}}
-
-@Misc{SCIEnce,
- crossref = {SCIEnce:base},
- howpublished = {\url{http://www.symcomp.org/}},
- year = {2009}}
-
-@misc{SCIEnce:base,
- key = {SCIEnce},
- title = {The {SCIEnce} Project -- {Symbolic} {Computation} {Infrastructure} for {Europe}},
- url = {http://www.symcomp.org/}}
-
-@Article{AKTV:TheTwoCultures08,
- author = {Anupriya Ankolekar and Markus Kr{\"o}tzsch and Thanh Tran and Denny Vrande{\v c}i{\'c}},
- title = {The two cultures: Mashing up {Web 2.0} and the {Semantic Web}},
- journal = {Web Semantics},
- year = {2008},
- volume = {6},
- number = {1},
- pages = {70--75}}
-
-@InProceedings{KBT07,
- author = "C. Kiefer and A. Bernstein and J. Tappolet",
- title = "{Analyzing Software with {iSPARQL}}",
- booktitle = "Proc.\ 3\textsuperscript{rd} International Workshop on Semantic
- Web Enabled Software Engineering (SWESE '07)",
- year = "2007"}
-
-@InProceedings{ASHKW:SupportingProblemSolving06,
- author = {Anupriya Ankolekar and Katia Sycara and James Herbsleb and Robert Kraut and Chris Welty},
- title = {Supporting Online Problem-Solving Communities with the Semantic Web},
- pages = {575--584},
- crossref = {www2006}}
-
-@InProceedings{SRC:SEOntologiesBugReport,
- author = {Philipp Sch{\"u}gerl and J{\"u}rgen Rilling and Philippe Charland},
- title = {Enriching {SE} Ontologies with Bug Report Quality},
- booktitle = {Proc.\ 4\textsuperscript{th} International Workshop on Semantic Web Enabled Software Engineering (SWESE)},
- year = {2008}}
-
-@InProceedings{HS:OntologiesSWEng,
- author = {Hans-J{\"o}rg Happel and Stefan Seedorf},
- title = {Applications of Ontologies in Software Engineering},
- booktitle = {Proc.\ 2\textsuperscript{nd} International Workshop on Semantic Web Enabled Software Engineering (SWESE)},
- year = {2006}}
-
-@PhdThesis{TudoracheEngineeringOntologies,
- author = {Tania Tudorache},
- title = {Employing Ontologies for an Improved Development Process in Collaborative Engineering},
- school = {Technische Universit{\"a}t Berlin},
- year = 2006}
-
-@Article{SOL07:OntEntMgmtAutSys,
- author = {John Strassner and Declan O'Sullivan and David Lewis},
- title = {Ontologies in the Engineering of Management and Autonomic Systems: A Reality Check},
- journal = {Journal of Network and Systems Management},
- year = {2007},
- volume = {15},
- number = {1},
- pages = {5--11},
- month = mar}
-
-@inproceedings{HorRoz:ossp09,
- author = {Peter Horn and Dan Roozemond},
- title = {{OpenMath} in {SCIEnce}: {SCSCP} and {POPCORN}},
- pages = {474--479},
- crossref = {MKM09}}
-
-@inproceedings{FHKLR:SCSCP08,
- Author = {Sebastian Freundt and Peter Horn and Alexander Konovalov and Steve Linton and Dan Roozemond},
- Pages = {285--295},
- Title = {Symbolic Computation Software Composability},
- crossref = {CICM08}}
-
-@inproceedings{DSW:AuthoringVerifiedProof08,
- Author = {Dominik Dietrich and Ewaryst Schulz and Marc Wagner},
- Pages = {398--414},
- Title = {Authoring Verified Documents by Interactive Proof Construction and Verification in Text-Editors},
- crossref = {CICM08}}
-
-@Article{WanCheIM:ssdcc07,
- author = {Wang, H. S. and Che, Z. H.},
- title = {An integrated model for supplier selection decisions in configuration changes},
- journal = {Expert Systems with Applications},
- year = 2007,
- volume = 32,
- pages = {1132--1140}}
-
-@Article{WanCheWan:tpimpccp09,
- author = {Wang, H. S. and Che, Z. H. and Wang, M. J.},
- title = {A Three-phase Integrated Model for Product Configuration Change Problems},
- journal = {Expert Systems with Applications},
- year = 2009,
- volume = 36,
- pages = {5491--5509}}
-
-@Article{KamCas:cmcepp03,
- author = {Kamel Rouibah and Kevin R. Caskey},
- title = {Change management in concurrent engineering from a parameters
- perspective},
- journal = {Computers in Industry},
- year = 2003,
- volume = 50,
- number = 1,
- pages = {15--34}}
-
-@Article{CheShiShe:decm02,
- author = {Yuh-Min Chen and Wei-Shin Shir and Chung-Yen Shen},
- title = {Distributed engineering change management for allied concurrent engineering},
- journal = {International journal of Computer Integrated Manufacturing},
- year = 2002,
- volume = 15,
- number = 2,
- pages = {127--151}}
-
-@Article{BarCarCig:egtacs01,
- author = {Barzizza, R. and Caridi, M. and Cigolini, R.},
- title = {Engineering Change: a theoretical assessment and a case study},
- journal = {Production Planning and Control},
- year = 2001,
- volume = 12,
- number = 7,
- pages = {717--726}}
-
-
-@MISC{URL:MathMLSWC,
- title = {MathML Software -- Converters},
- author = {W3C Math WG},
- howpublished = {\url{http://www.w3.org/Math/Software/mathml_software_cat_converters.html}},
- url = {http://www.w3.org/Math/Software/mathml_software_cat_converters.html},
- note = {seen May 2009}}
-
-@MISC{URL:EUSPRIG,
- key = {EUSPRIG},
- author = {EUSPRIG},
- title = {European Spreadsheet Risks Interest Group},
- howpublished = {\homepageat\url{http://www.eusprig.org}},
- url = {http://www.eusprig.org},
- year = 2010}
-
-@online{MathWorld:on,
- editor = {Eric W. Weisstein},
- organization = {Wolfram Research},
- title = {Wolfram {MathWorld}},
- subtitle = {the web's most extensive mathematics resource},
- url = {http://mathworld.wolfram.com},
- urldate = {2009-12-02}}
-
-@MISC{URL:Mathworld,
- key = {MathWorld},
- title = {MathWorld},
- howpublished = {\url{http://mathworld.wolfram.com}},
- url = {http://mathworld.wolfram.com},
- note = {seen February 2012}}
-
-@MISC{URL:OpenOffice,crossref={OpenOffice:base},
- howpublished = {\url{http://www.openoffice.org}},
- note = {seen March 2009}}
-@online{OpenOffice:on,crossref={OpenOffice:base},urldate={2011-11-13}}
-@MISC{OpenOffice:base,
- key = {OpenOffice},
- title = {{OpenOffice}: The Free and Open Productivity Suite},
- url = {http://www.openoffice.org}}
-
-@MISC{URL:LibreOffice,crossref={LibreOffice:base},
- howpublished = {\url{http://www.libreoffice.org}},
- note = {seen Feb. 2012}}
-@online{LibreOffice:on,crossref={LibreOffice:base},urldate={2011-11-13}}
-@MISC{LibreOffice:base,
- key = {LibreOffice},
- title = {Home of the {LibreOffice} Productivity Suite},
- url = {http://www.libreoffice.org}}
-
-@MISC{URL:GoogleApps,
- key = {GoogleApps},
- title = {{Google Apps: Web applications for communication and collaboration}},
- howpublished = {\url{http://www.google.com/apps}},
- url = {http://www.google.com/apps},
- note = {seen March 2009}}
-
-@MISC{zoho:web,
- key = {zoho},
- title = {{zoho viewer}},
- howpublished = {\url{http://viewer.zoho.com}},
- url = {http://viewer.zoho.com},
- note = {seen March 2009}}
-
-@MISC{samurajdata:web,
- key = {samurajdata},
- title = {{samurajdata}},
- howpublished = {\url{http://view.samurajdata.se}},
- url = {http://view.samurajdata.se},
- note = {seen March 2009}}
-
-@MISC{MathTax:web,
- key = {MathTax},
- title = {{MathTax}},
- howpublished = {\url{http://people.uncw.edu/hermanr/MathTax}},
- url = {http://people.uncw.edu/hermanr/MathTax},
- note = {seen March 2009}}
-
-@MISC{LivingTaxonomy:web,
- key = {LivingTaxonomy},
- title = {{Living Taxonomy}},
- howpublished = {\url{http://www.livingtaxonomy.org}},
- url = {http://www.livingtaxonomy.org},
- note = {seen March 2009}}
-
-@MISC{JEMRepos:web,
- key = {JEMRepos},
- title = {{JEM Repository for Learning Objects}},
- howpublished = {\url{http://jem-thematic.net/repository}},
- url = {http://jem-thematic.net/repository},
- note = {seen March 2009}}
-
-@article{KWZ:CmtiM,
- author = {Fairouz Kamareddine and J. B. Wells and Christoph Zengler},
- title = {Computerising Mathematical Text with MathLang},
- journal = {Electron. Notes Theor. Comput. Sci.},
- volume = {205},
- year = {2008},
- issn = {1571-0661},
- pages = {5--30},
- doi = {http://dx.doi.org/10.1016/j.entcs.2008.03.063},
- publisher = {Elsevier Science Publishers B. V.},
- address = {Amsterdam, The Netherlands, The Netherlands},
- keywords = {lamapunbibs},
- url = {http://www.cedar-forest.org/forest/papers/drafts/mathlang-coq-short.pdf}}
-
-
-@TechReport{KWZ:CmtiM-long,
- author = {Fairouz Kamareddine and J. B. Wells and Christoph Zengler},
- title = {{Computerising mathematical texts in MathLang.}},
- howpublished = {\url{http://www.cedar-forest.org/forest/papers/drafts/mathlang-coq-long.pdf}},
- url = {http://www.cedar-forest.org/forest/papers/drafts/mathlang-coq-long.pdf},
- institution = {Heriot-Watt University},
- keywords = {lamapunbibs},
- year = {2008}}
-
-@MISC{Ultra:web,
- key = {Ultra},
- title = {{Useful Logics, Types, Rewriting, and their Automation}},
- howpublished = {\url{http://www.macs.hw.ac.uk/ultra}},
- url = {http://www.macs.hw.ac.uk/ultra},
- note = {seen March 2009}}
-
-@inproceedings{KMW:MAEDLoM,
- author = {Fairouz Kamareddine and Manuel Maarek and Joe B. Wells},
- title = {{MathLang: An experience driven language of mathematics}},
- booktitle = {Electronic Notes in Theoretical Computer Science 93C},
- year = {2004},
- pages = {138--160},
- url = {http://www.cedar-forest.org/forest/papers/conference-publications/kam-maa-wel.ps},
- keywords = {lamapunbibs},
- publisher = {Elsevier}}
-
-
-@inproceedings{ZC:PaEfSMLO,
- author = {Piet van der Zanden and Hans Cuypers},
- title = {{Portal and Repository for sharing Mathematical Learning Objects}},
- pages = {553--561},
- url = {http://go.editlib.org/p/28449},
- crossref = {EdMedia2008}}
-
-@TechReport{PvT:EtCoM,
- author = {Paul van Tilburg},
- title = {{Exploring the Core of MathLang}},
- institution = {Heriot-Watt University},
- year = {2006},
- keywords = {lamapunbibs},
- url = {http://paul.luon.net/writings/reports/HWU-MACS-MathLang.pdf}}
-
-@MISC{GEN-ISSS:web,
- key = {GEN},
- title = {{GEN/ ISSS European model of learner competencies}},
- howpublished = {\url{tp://ftp.cenorm.be/PUBLIC/CWAs/e-Europe/WS-LT/CWA15455-00-2005-Nov.pdf}},
- url = {ftp://ftp.cenorm.be/PUBLIC/CWAs/e-Europe/WS-LT/CWA15455-00-2005-Nov.pdf},
- note = {\seen May 2009}}
-
-@MISC{HR-XML:web,
- key = {HR-XML},
- title = {{HR-XML Consortium Competencies [Measurable Characteristics] Recommendations}},
- howpublished = {\url{http://xml.coverpages.org/HR-XML-Competencies-1_0.pdf}},
- url = {http://xml.coverpages.org/HR-XML-Competencies-1_0.pdf},
- note = {\seen May 2009}}
-
-@MISC{IEEE-LO:web,
- key = {IEEE-LO},
- title = {{IEEE Standard for Learning Technology Data Model for Content to Learning Management System Communication}},
- howpublished = {\url{http://www.ieeeltsc.org/standards/1484-11-1-2004}},
- url = {http://www.ieeeltsc.org/standards/1484-11-1-2004},
- note = {\seen May 2009}}
-
-@MISC{IMS:web,
- key = {IMS},
- title = {{IMS Reusable Definition of Competency or Educational Objective Specification}},
- howpublished = {\url{http://www.imsglobal.org/competencies/index.html}},
- url = {http://www.imsglobal.org/competencies/index.html},
- note = {\seen May 2009}}
-
-@MISC{OER:web,
- key = {OER},
- title = {{Open Education Resources (OER) Commons}},
- howpublished = {\url{http://oercommons.org}},
- url = {http://oercommons.org},
- note = {\seen May 2009}}
-
-@MISC{MS:web,
- key = {MS},
- title = {{Microsoft Corp.}},
- howpublished = {\url{http://www.microsoft.com/}},
- url = {http://www.microsoft.com/},
- note = {\seen May 2009}}
-
-@MISC{MOS:web,
- key = {MOS},
- author = {Microsoft Corp.},
- title = {{Microsoft Office Suite}},
- howpublished = {\url{http://office.microsoft.com}},
- url = {http://office.microsoft.com},
- note = {\seen May 2009}}
-
-@MISC{ADK:web,
- key = {ADK},
- title = {{Active Document Keeper}},
- howpublished = {\url{http://www.orionsoftlab.com/adk}},
- url = {http://www.orionsoftlab.com/adk},
- note = {\seen May 2009}}
-
-@MISC{AD:web,
- key = {AD},
- title = {{The Active Document Platform}},
- howpublished = {\url{http://sensei.lsi.uned.es/ActiveDocument}},
- url = {http://sensei.lsi.uned.es/ActiveDocument},
- note = {\seen May 2009}}
-
-@Book{Manin:07,
- year = 2007,
- author = {Yuri I. Manin},
- title = {{Mathematics as Metaphor}},
- publisher = {American Mathematical Society}}
-
-@InCollection{JA:PoM,
- author = {Jeremy Avigad},
- title = {Philosophy of Mathematics},
- booktitle = {The Edinburgh Companion to Twentieth-Century Philosophies},
- editor = {Constantin Boundas},
- year = {2007},
- publisher = {Edinburgh University Press},
- url = {http://www.andrew.cmu.edu/user/avigad/Papers/understanding.pdf},
- keywords={lamapunbibs}}
-
-@InCollection{JA:UP,
- author = {Jeremy Avigad},
- title = {Understanding Proofs},
- booktitle = {The Philosophy of Mathematical Practice},
- editor = {Paolo Mancosu},
- pages = {317--353},
- year = {2008},
- publisher = {Oxford University Press},
- url = {http://www.andrew.cmu.edu/user/avigad/Papers/understanding.pdf}}
-
-@article{JA:TIM,
- author = {Jeremy Avigad},
- title = {Type Inference in Mathematics},
- journal = {CoRR},
- volume = {abs/1111.5885},
- year = {2011},
- ee = {http://arxiv.org/abs/1111.5885},
- bibsource = {DBLP, http://dblp.uni-trier.de},
- keywords={lamapunbibs}}
-
-@article{SDB:PSAfPTALATG,
- author = {Marvin Schiller and Dominik Dietrich and Christoph Benzm{\"u}ller},
- title = {{Proof step analysis for proof tutoring -- a learning approach to granularity}},
- journal = {Teaching Mathematics and Computer Science},
- year = {2009},
- note = {in press}}
-
-@article{BSS:RBMaAoHLIP,
- author = {Christoph Benzm{\"u}ller and Marvin Schiller and J{\"o}rg Siekman},
- title = {{Resource-bounded Modelling and Analysis of Human-level Interactive Proofs}},
- year = {2008},
- note = {in press}}
-
-@article{ABDW:ATPoMKiO,
- author = {Serge Autexier and Christoph Benzm{\"u}ller and Dominik Dietrich and Marc Wagner},
- title = {{Organisation, Transformation, and Propagation of Mathematical Knowledge in OMEGA}},
- journal = {Mathematics in Computer Science},
- editor = {Manfred Kerber},
- publisher = {Birkh{\"a}user},
- pages = {253--277},
- year = {2008},
- volume = 2,
- number = 2,
- keywords = {lamapunbibs},
- }
-
-@article{WAB:PAMbTEaPAS,
- author = {Marc Wagner and Serge Autexier and Christoph Benzm{\"u}ller},
- title = {{PLATO: A Mediator between Text-Editors and Proof Assistance Systems}},
- journal = {7\textsuperscript{th} Workshop on User Interfaces for Theorem Provers (UITP)},
- year = {2006},
- pages = {87--107},
- volume = {174},
- number = {2},
- keywords = {lamapunbibs},
- publisher = {Elsevier}}
-
-@mastersthesis{W-06-a,
- author = {Wagner, Marc},
- title = {Mediation between Text-Editors and Proof Assistance Systems},
- type = {Diploma Thesis},
- school = {FR Informatik, Universit{\"a}t des Saarlandes},
- address = {Postfach 15 11 50, 66041 Saarbr{\"u}cken},
- month = jul,
- year = {2006}}
-
-@ARTICLE{CSP:P,
- author = {Charles Sanders Peirce},
- title = {{Pragmatism}},
- journal = {CP 5.484},
- volume = {EP 2.411},
- year = {1907},
- pages = {{398--433}}}
-
-@ARTICLE{CSP:Htomyic,
- author = {Charles Sanders Peirce},
- title = {{How to make your ideas clear}},
- journal = {Popular Science Monthly},
- volume = {12},
- year = {1878},
- pages = {{286--302}},
- url ={http://www.peirce.org/writings/p119.html}}
-
-@ARTICLE{CSP:TFoB,
- author = {Charles Sanders Peirce},
- title = {{The Fixation of Belief}},
- journal = {Popular Science Monthly},
- volume = {12},
- year = {1877},
- pages = {{1--15}},
- url ={http://www.peirce.org/writings/p107.html}}
-
-@ARTICLE{AC:PSCCtHP,
- author = {A. Arslanov and C. Calude},
- title = {{Program-size complexity compues the halting problem}},
- journal = {EATCS Bull},
- volume = {57},
- year = {1995}}
-
-@ARTICLE{TH:APofKC,
- author = {Thomas C. Hales},
- title = {{A Proof of the Kepler Conjecture}},
- journal = {Annual Review of Mathematics},
- year = {2005},
- volume = {162},
- url = {http://www.math.princeton.edu/~annals/issues/2005/Nov2005/Hales.pdf},
- pages = {1065--1185}}
-
-@ARTICLE{hales-2002-3,
- author = {Thomas C. Hales},
- title = {A computer verification of the {Kepler} conjecture},
- journal = {BEIJING},
- volume = {3},
- pages = {795},
- url = {http://www.citebase.org/abstract?id=oai:arXiv.org:math/0305012},
- year = {2002}}
-
-@BOOK{SHSD:HzwM73,
- title = {{How to write Mathematics}},
- publisher = {American Mathematical Society},
- year = {1973},
- author = {Norman E. Steenrod and Paul R. Halmos and Menahem M. Schiffer and Jean A Dieudonne}}
-
-@BOOK{DH:FoG99,
- title = {{Foundation of Geometry}},
- publisher = {Open Court, 2\textsuperscript{nd} edition},
- year = {1999},
- url = {http://www.gutenberg.org/files/17384/17384-pdf.pdf},
- author = {David Hilbert}}
-
-@inproceedings{AS:AoAR75,
- author = {Aaron Sloman},
- title = {{Afterthoughts on Analogical Representations}},
- booktitle = {TINLAP '75: Proceedings of the 1975 workshop on Theoretical issues in natural language processing},
- year = {1975},
- pages = {164--168},
- location = {Cambridge, Massachusetts},
- doi = {http://dx.doi.org/10.3115/980190.980235},
- publisher = {Association for Computational Linguistics},
- address = {Morristown, NJ, USA}}
-
-@BOOK{GL:WFDT90,
- title = {{Women, Fire, and Dangerous Things}},
- publisher = {University of Chicago Press},
- year = {1990},
- author = {George Lakoff}}
-
-@ARTICLE{M:CoNO81,
- author = {Carolyn B. Mervis},
- title = {{Categorization of Natural Objects}},
- journal = {Annual Review of Psychology},
- year = {1981},
- volume = {32},
- pages = {89--115}}
-
-@ARTICLE{MS:EAftSW,
- author = {Deborah L. Mcguinness and Paulo Pinheiro Silva},
- title = {Explaining answers from the semantic web: The inference web approach},
- journal = {Journal of Web Semantics},
- year = {2004},
- volume = {1},
- pages = {397--413}}
-
-@article{SMF:PML,
- author = {Paulo Pinheiro da Silva and Deborah L. McGuinness and Richard Fikes},
- title = {A proof markup language for semantic web services},
- journal = {Inf. Syst.},
- volume = {31},
- number = {4},
- year = {2006},
- issn = {0306-4379},
- pages = {381--395},
- doi = {http://dx.doi.org/10.1016/j.is.2005.02.003},
- publisher = {Elsevier Science Ltd.},
- address = {Oxford, UK, UK},
- }
-
-@InCollection{BA:LaDDRiMCS,
- author = {Antonis Bikakis and Grigoris Antoniou},
- title = {Local and Distributed Defeasible Reasoning in Multi-Context Systems},
- booktitle = {LNCS},
- pages = {135--149},
- year = {2008},
- publisher = {Springer},
- url = {http://www.springerlink.com/content/h2h01nx6x2w78515/}}
-
-@InCollection{BA:DDCRiAC,
- author = {Antonis Bikakis and Grigoris Antoniou},
- title = {Distributed Defeasible Contextual Reasoning in Ambient Computing },
- booktitle = {LNCS},
- pages = {308--325},
- year = {2008},
- publisher = {Springer},
- url = {http://www.springerlink.com/content/u373w615v8502q12/}}
-
-@Article{PT:60Proof,
- author = {Graham Priest and Neil Thomason},
- title = {{60\% Proof}},
- howpublished = {\url{http://www.philosophy.unimelb.edu.au/ajl/2007/2007_7.pdf}},
- number = 5,
- year = 2007,
- journal = {Australasian Journal of Logic},
- pages = {89--100}}
-
-@BOOK{KP:LoSD,
- title = {{Logic of Scientific Discovery}},
- publisher = {Basic Books},
- year = {1959},
- author = {Karl Popper}}
-
-@BOOK{N:PwWEiVT,
- title = {{Proofs without Words: Exercises in Visual Thinking}},
- publisher = {The Mathematical Association of America},
- year = {1997},
- author = {Roger B. Nelsen}}
-
-@Misc{BJ:VSiNT,
- author = {P. Borwein and L. J{\"o}rgenson},
- title = {Visible Structure in Number Theory},
- note = {\webpageat\url{http://www.cecm.sfu.ca/~loki/Papers/Numbers/node3.html}},
- note = {\seen{\March} 1997}}
-
-@Article{P:TVOM,
- author = {R. S. Palais},
- title = {{The visualization of mathematics: Towards a mathematical exploratorium}},
- howpublished = {\url{http://3d-xplormath.org/DocumentationPages/VisOfMath.pdf}},
- volume = 46,
- number = 6,
- year = 1999,
- journal = {Notices of the AMS},
- pages = {647--658}}
-
-@Misc{URL:geogebra,
- Key = {geogebra},
- author = {Markus Hohenwarter},
- title = {GeoGebra},
- note = {\webpageat\url{http://www.geogebra.org/cms/}},
- note = {\seen{\March} 2009}}
-
-
-@Misc{URL:uDrawGraph,
- Key = {uDraw(Graph)},
- title = {Welcome to {uDraw(Graph)}},
- note = {\systempageat\url{http://www.informatik.uni-bremen.de/uDrawGraph/en/index.html}},
- note = {\seen{\March} 2009}}
-
-@Misc{URL:jordancurve,
- Key = {jordancurve},
- author = {Thomas Hales},
- title = {The jordan curve theorem in HOL light},
- note = {\webpageat\url{http://www.math.pitt.edu/~thales/}},
- note = {\seen{\March} 2005}}
-
-@online{MathRev:on,crossref={MathRev:base},urldate={2013-12-16},label={MR}}
-@Misc{URL:MathRev,crossref = {MathRev:base},
- key = {MR},
- howpublished = {\webpageat\url{http://www.ams.org/mr-database}},
- note = {\seen{\March} 2009}}
-@Misc{MathRev:base,
- title = {Mathematical Reviews},
- url = {http://www.ams.org/mr-database}}
-
-@misc{ACM:AHIoATfM,
- author = {Association for Computing Machinery},
- title = {ACM Honors Innovator of Automated Tools for Mathematics},
- publisher = {AScribe: The Public Interest Newswire},
- year = {2008},
- howpublished = {\url{http://www.ascribe.org/cgi-bin/behold.pl?ascribeid=20080513.091858&amp;time=11%%0D%0A2010%20PDT&amp;year=2008&amp;public=1}}}
-
-@BOOK{AH:EPMIFC,
- title = {{Every Planar Map Is Four Colorable (Contemporary Mathematics)}},
- publisher = {American Mathematical Society},
- year = {1989},
- author = {Kenneth Appel and Wolfgang Haken}}
-
-
-@BOOK{DK:LP,
- title = {{Literate Programming}},
- publisher = {The University of Chicago Press},
- year = 1992,
- author = {Donald E. Knuth}}
-
-@BOOK{CC:RaCFltC,
- booktitle = {{Randomness and Complexity, From Leibniz to Chaitin}},
- title = {{Randomness and Complexity, From Leibniz to Chaitin}},
- publisher = {World Scientific Publishing Company},
- year = 2007,
- editor = {Cristian Calude}}
-
-@Misc{maplesoft:web,
- title = {Maplesoft},
- year = 2009,
- howpublished = {\url{http://www.maplesoft.com/}},
- note = {\seen March 2009}}
-
-@article{CCK:FNASaM,
- author = {C. S. Calude and Elena Calude and B. Khoussainov},
- title = {{Finite nondeterministic automata: Simulation and minimality}},
- journal = {Theoretical Computer Science},
- volume = {242},
- number = {1-2},
- year = {2000},
- pages = {219--235}}
-
-
-@article{JA:MMaP,
- author = {J. Avigad},
- title = {{Mathematical Method and Proof}},
- journal = {Synthese},
- volume = {153},
- number = {1},
- year = {2006},
- pages = {105--159}}
-
-@BOOK{TS:MRWaP,
- title = {{Mathematical Reasoning: Writing and Proof}},
- publisher = {NJ: Pearson Prentice Hall, 2\textsuperscript{nd} Edition},
- year = 2007,
- author = {T. Sundstrom}}
-
-@BOOK{SolidWorksTutorial,
- title = {Introducing SolidWorks},
- publisher = {SolidWorks Corporation, Concord, MA},
- key = {SW},
- year = 2002}
-
-@BOOK{WB:HMT,
- title = {{How Mathematicians Think: Using ambiguity, contradiction and paradox to create mathematics}},
- publisher = {Priceton University Press},
- year = 2007,
- author = {W. Byers}}
-
-@Misc{GH:SBoPMPtMaP,
- author = {Gila Hanna},
- title = {{Selected Bibliography of Philosophical Materials Pertaining to Mathematics and Proof}},
- url = {http://fcis.oise.utoronto.ca/~ghanna/philosophyabstracts/index.htm},
- year = 2008,
- note = {\seen December 2008}}
-
-@ARTICLE{GH:PEEAO,
- author = {Gila Hanna},
- title = {{Proof, Explanation, and Exploration: An Overview}},
- journal = {Educational Studies in Mathematics},
- year = {2000},
- volume = {44},
- number = {1-2},
- pages = {5--23}}
-
-@inproceedings{HCHH:DaEoMBSfIMPS,
- author = {Wu-Yuin Hwang and Nian-Hsing Chen and Jung-Lung Hsu and Hsieh-Fen Hong},
- title = {{Development and Evaluation of Multimedia Blackboard System for Improving Mathematical Problem Solving}},
- booktitle = {{Proceedings of the IEEE International Conference on Advanced Learning Technologies}},
- year = {2004},
- isbn = {0-7695-2181-9},
- pages = {261--265},
- publisher = {IEEE Computer Society},
- address = {Washington, DC, USA}}
-
-@inproceedings{Antoniou:AMEfSPEinSW,
- author = {Grigoris Antoniou and Antonis Bikakis and Polyvios Damianakis and Mixalhs Foukarakis and Giorgos Iacovidis and Marianna Karmazi and Haridimos Kondylakis and Antreas Makridakis and Giorgos Nikiforos and Grigoris Papadourakis and Manolis Papoutsakis and Aggeliki Psyharaki and Giorgos Stratakis and Panagiotis Tourlakis and Petros Tsialiamanis and Giorgos Vasileiadis and Gerd Wagner and Dimitris Velegrakis},
- title = {{A Multi-agent Environment for Serving Proof Explanations in the Semantic Web}},
- booktitle = {SETN '08: Proceedings of the 5\textsuperscript{th} Hellenic conference on Artificial Intelligence},
- year = {2008},
- isbn = {978-3-540-87880-3},
- pages = {26--37},
- location = {Syros, Greece},
- doi = {http://dx.doi.org/10.1007/978-3-540-87881-0_4},
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg},
- }
-
-@inproceedings{BPA:TDTSfDRaPEinSW,
- author = {Antonis Bikakis and Constantinos Papatheodorou and Grigoris Antoniou},
- title = {{The DR-Prolog Tool Suite for Defeasible Reasoning and Proof Explanation in the Semantic Web}},
- booktitle = {SETN '08: Proceedings of the 5\textsuperscript{th} Hellenic conference on Artificial Intelligence},
- year = {2008},
- isbn = {978-3-540-87880-3},
- pages = {345--351},
- location = {Syros, Greece},
- doi = {http://dx.doi.org/10.1007/978-3-540-87881-0_31},
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg},
- }
-
-@article{Antoniou:PEfanSWrl,
- author = {Grigoris Antoniou and Antonis Bikakis and Nikos Dimaresis and Manolis Genetzakis and Giannis Georgalis and Guido Governatori and Efie Karouzaki and Nikolas Kazepis and Dimitris Kosmadakis and Manolis Kritsotakis and Giannis Lilis and Antonis Papadogiannakis and Panagiotis Pediaditis and Constantinos Terzakis and Rena Theodosaki and Dimitris Zeginis},
- title = {{Proof explanation for a nonmonotonic Semantic Web rules language}},
- journal = {Data Knowl. Eng.},
- volume = {64},
- number = {3},
- year = {2008},
- issn = {0169-023X},
- pages = {662--687},
- doi = {http://dx.doi.org/10.1016/j.datak.2007.10.006},
- publisher = {Elsevier Science Publishers B. V.},
- address = {Amsterdam, The Netherlands, The Netherlands},
- }
-
-@ARTICLE{Wenzel02acomparison,
- author = {Markus Wenzel and Freek Wiedijk},
- title = {A comparison of the mathematical proof languages Mizar and Isar},
- journal = {Journal of Automated Reasoning},
- year = {2002},
- volume = {29},
- url = {http://www4.in.tum.de/~wenzelm/papers/romantic.pdf}}
-
-@InProceedings{AGSTZ:ContMathSearchWhelp04,
- author = {Andrea Asperti and Ferruccio Guidi and Claudio Sacerdoti Coen and Enrico Tassi and Stefano Zacchiroli},
- title = {A Content Based Mathematical Search Engine: {Whelp}},
- booktitle = {Types for Proofs and Programs, International Workshop, TYPES 2004, revised selected papers},
- pages = {17--32},
- year = {2006},
- editor = {Jean-Christophe Filli{\^a}tre and Christine Paulin-Mohring and Benjamin Werner},
- number = {3839},
- series = {LNCS},
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{Wiedijk04formalproof,
- author = {Freek Wiedijk},
- title = {Formal proof sketches},
- booktitle = {Proceedings of TYPES 2003},
- number = {3085},
- series = {LNCS},
- year = {2004},
- pages = {378--393},
- publisher = {Springer}}
-
-
-
-@inproceedings{WitteEtAl:ESMSWT07,
- author = {Ren{\'e} Witte and Yonggang Zhang and J{\"u}rgen Rilling},
- title = {Empowering Software Maintainers with Semantic Web Technologies},
- crossref={eswc2007}}
-
-@inproceedings{AkhtarEtAl:XSPARQL08,
- author = {Waseem Akhtar and Jacek Kopeck{\'y} and Thomas Krennwallner and Axel Polleres},
- title = {{XSPARQL}: {Traveling} between the {XML} and {RDF} worlds -- and
- avoiding the {XSLT} pilgrimage},
- pages = {432--447},
- crossref={eswc2008}}
-
-@online{swignition:on,
- urldate = {2009-10-22},
- crossref = {swignition:base}}
-
-@Misc{swignition:web,
- year = 2009,
- howpublished = {\url{http://buzzword.org.uk/swignition/}},
- crossref = {swignition:base}}
-
-@Misc{swignition:base,
- author = {Toby A. Inkster},
- title = {Swignition},
- url = {http://buzzword.org.uk/swignition/}}
-
-@online{Groza:SALTOntologies:on,
- urldate = {2009-10-22},
- crossref = {Groza:SALTOntologies:base}}
-
-@Misc{Groza:SALTOntologies,
- howpublished = {\url{http://salt.semanticauthoring.org/ontologies.html}},
- year = 2008,
- crossref = {Groza:SALTOntologies:base}}
-
-@Misc{Groza:SALTOntologies:base,
- author = {Tudor Groza},
- title = {{SALT} ontologies},
- url = {http://salt.semanticauthoring.org/ontologies.html}}
-
-@TECHREPORT{W3C:sparql-features,
- title = {{SPARQL} New Features and Rationale},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2009},
- type = {{W3C Interest Group Note}},
- month = jul,
- date = {2009-07-02},
- url = {http://www.w3.org/TR/2009/WD-sparql-features-20090702/},
- author = {Kjetil Kjernsmo and Alexandre Passant}}
-
-@TechReport{PedanticWeb:FOP09,
- author = {Aidan Hogan and Richard Cyganiak},
- title = {Frequently Observed Problems on the Web of Data},
- institution = {Pedantic Web Group},
- date = {2009-11-13},
- url = {http://pedantic-web.org/fops.html},
- version = {v0.3}}
-
-@TECHREPORT{W3C:ccREL-comment,
- title = {Team Comment on {ccREL}: The {Creative Commons} {Rights} {Expression} {Language} Member Submission},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2008},
- type = {{W3C Team Comment}},
- month = feb,
- url = {http://www.w3.org/Submission/2008/02/Comment},
- author = {Ivan Herman and Eric Prud'hommeaux and Thomas Roessler and Rigo Wenning}}
-
-@TECHREPORT{W3C:RDFCalendar,
- title = {{RDF} Calendar},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2005},
- type = {{W3C Interest Group Note}},
- month = sep,
- date = {2005-09-29},
- url = {http://www.w3.org/TR/2005/NOTE-rdfcal-20050929/},
- author = {Dan Connolly and Libby Miller}}
-
-@TECHREPORT{W3C:Fresnel,
- title = {Fresnel -- Display Vocabulary for {RDF}},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2008-04-02},
- url = {http://www.w3.org/2005/04/fresnel-info/},
- author = {Chris Bizer and Mark Butler and Stephen Garland and David Huynh and
- David Karger and Ryan Lee and Stefano Mazzocchi and Emmanuel
- Pietriga and Dennis Quan and Karun Bakshi}}
-
-@TECHREPORT{W3C:nary-relations,
- title = {Defining N-ary Relations on the Semantic Web},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2006},
- type = {{W3C Working Group Note}},
- month = apr,
- date = {2006-04-12},
- url = {http://www.w3.org/TR/2006/NOTE-swbp-n-aryRelations-20060412/},
- author = {Natasha Noy and Alan Rector}}
-
-@TechReport{hcalendar-microformat,
- author = {Tantek {\c C}elik},
- title = {{hCalendar}},
- institution = {Technorati},
- year = {2008},
- type = {Microformat specification},
- urldate = {2009-10-22},
- url = {http://microformats.org/wiki/hcalendar}}
-
-@BOOK{DR:TMB,
- title = {{The Mathematician's Brain}},
- publisher = {Princeton University Press},
- year = 2007,
- author = {David Ruelle}}
-
-@online{saxon:on,crossref = {saxon:base},urldate = {2009-10-22}}
-@Misc{saxon:web,crossref = {saxon:base},
- howpublished = {\url{http://www.saxonica.com}}}
-@Misc{saxon:base,
- author = {Michael Kay},
- title = {Saxonica: {XSLT} and {XQuery} Processing},
- year = 2008}
-
-@inproceedings{LiuMYL:XSDL04,
- author = {Shengping Liu and
- Jing Mei and
- Anbu Yue and
- Zuoquan Lin},
- title = {XSDL: Making XML Semantics Explicit},
- booktitle = {SWDB},
- year = 2004,
- pages = {64--83},
- ee = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=3372{\&}spage=64},
- crossref = {swdb2004},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{Patel-SchneiderS:YinYangWeb03,
- author = {Peter F. Patel-Schneider and
- J{\'e}r{\^o}me Sim{\'e}on},
- title = {The {Yin/Yang} Web: A Unified Model for {XML} Syntax and {RDF}
- Semantics},
- journal = {IEEE Transactions on Knowledge and Data Engineering},
- volume = {15},
- number = {4},
- year = 2003,
- pages = {797--812},
- ee = {http://csdl.computer.org/comp/trans/tk/2003/04/k0797abs.htm}}
-
-@article{DeckerEtAl:SemWebRolesXMLRDF00,
- author = {Stefan Decker and Frank van Harmelen and Jeen Broekstra and Michael Erdmann and Dieter Fensel and Ian Horrocks and Michel Klein and Sergey Melnik},
- title = {The semantic web -- on the respective roles of {XML} and {RDF}},
- journal = {IEEE Internet Computing},
- year = 2000,
- volume = {4}}
-
-@inproceedings{GerberEtAl:FunctionalSemWebArch08,
- author = {Aurona Gerber and Alta van der Merwe and Andries Barnard},
- title = {A Functional Semantic Web Architecture},
- crossref={eswc2008}}
-
-
-
-
-
-@online{odrl,
- title = {The {ODRL} Initiative},
- subtitle = {An Open Rights Language For the Digital Commons},
- url = {http://odrl.net},
- urldate = {2010-05-19},
- author = {{ODRL Initiative}}}
-
-@online{odrl20,
- title = {{ODRL} Version 2 Development Working Group},
- url = {http://odrl.net/2.0/},
- urldate = {2010-05-19},
- author = {{ODRL Initiative}}}
-
-@TECHREPORT{W3C:ODRL,
- title = {{Open Digital Rights Language (ODRL)}},
- version = {1.1},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2002,
- month = sep,
- date = {2002-09-19},
- type = {{W3C Note}},
- url = {http://www.w3.org/TR/2002/NOTE-odrl-20020919/},
- author = {Renato Iannella}}
-
-@TECHREPORT{W3C:CoolURIs,
- title = {Cool {URI}s for the Semantic Web},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2008,
- month = dec,
- date = {2008-12-03},
- type = {{W3C Interest Group Note}},
- url = {http://www.w3.org/TR/2008/NOTE-cooluris-20081203/},
- author = {Leo Sauermann and Richard Cyganiak}}
-
-@TECHREPORT{W3C:AWWW1,
- title = {Architecture of the {World Wide Web}},
- volume = 1,
- institution = {World Wide Web Consortium ({W3C})},
- date = {2004-12-15},
- type = {{W3C Recommendation}},
- url = {http://www.w3.org/TR/2004/REC-webarch-20041215/},
- author = {Ian Jacobs and Norman Walsh}}
-
-@TECHREPORT{W3C:VocabPub,
- title = {Best Practice Recipes for Publishing {RDF} Vocabularies},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2008,
- month = aug,
- date = {2008-08-28},
- type = {{W3C Working Group Note}},
- url = {http://www.w3.org/TR/2008/NOTE-swbp-vocab-pub-20080828/},
- author = {Diego Berrueta and Jon Phipps}}
-
-@TECHREPORT{W3C:HarvestRDFfromXLink,
- title = {Harvesting {RDF} Statements from {XLinks}},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2000,
- type = {{W3C Note}},
- month = sep,
- date = {2000-09-29},
- url = {http://www.w3.org/TR/2000/NOTE-xlink2rdf-20000929/},
- author = {{Daniel Jr.}, Ron}}
-
-@TECHREPORT{W3C:RDFaTestSuite,
- title = {{RDFa} Test Suite},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2007,
- type = {{W3C Editor's Draft}},
- month = jun,
- date = {2007-06-29},
- url = {http://www.w3.org/2006/07/SWD/RDFa/testsuite/},
- author = {Michael Hausenblas and Wing C Yung}}
-
-@BOOK{WalMue:dtdg2008,
- title = {{DocBook} 5.0: The Definitive Guide},
- publisher = {O'Reilly},
- year = 2008,
- author = {Norman Walsh and Leonard Muellner}}
-
-@online{DuCharme:RDFaDITADocBook09,
- title = {Using {RDFa} with {DITA} and {DocBook}},
- author = {Bob DuCharme},
- date = {2009-08-20},
- url = {http://www.devx.com/semantic/Article/42543/},
- urldate = {2010-08-11}}
-
-@online{TEI-Roma,
- title = {Roma: generating validators for the TEI},
- author = {Arno Mittelbach and Sebastian Rahtz and Ioan Bernevig},
- url = {http://www.tei-c.org/Roma/},
- urldate = {2010-02-03}}
-
-@TECHREPORT{TEI-P5,
- title = {{TEI P5}: Guidelines for Electronic Text Encoding and Interchange},
- institution = {TEI Consortium},
- author = {Lou Burnard and Syd Bauman},
- version = {1.5.0},
- date = {2009-11-08},
- url = {http://www.tei-c.org/release/doc/tei-p5-doc/en/html/}}
-
-@TECHREPORT{DocBook-5.0,
- title = {The {DocBook} Schema},
- version = {5.0},
- institution = {OASIS},
- author = {Norman Walsh},
- year = 2008,
- type = {Committee Specification},
- month = aug,
- url = {http://www.docbook.org/specs/docbook-5.0-spec-cs-01.html}}
-
-@TechReport{CH:ECERRIPCER,
- author = {Cristian Calude and Nicholas J. Hay},
- title = {{Every Computably Enumerable Random Real Is Provably Computably Enumerable Random}},
- type = {Research Reports},
- institution = {{Centre for Discrete Mathematics and Theoretical Computer Science, University of Auckland}},
- url = {http://www.cs.auckland.ac.nz/CDMTCS//researchreports/328cris.pdf},
- year = 2008,
- number = {CDMTCS-328},
- month = jul}
-
-@Article{GrauEtAl:OWL2,
- author = {Cuenca Grau, Bernardo and Ian Horrocks and Boris Motik and Bijan Parsia and Peter Patel-Schneider and Ulrike Sattler},
- title = {{OWL} 2: The next step for {OWL}},
- journal = JWS,
- year = 2008,
- volume = 6,
- number = 4,
- pages = {309--322}}
-
-@Book{Orwell:1984,
- author = {George Orwell},
- title = {Nineteen Eighty-Four},
- publisher = {Secker \& Warburg},
- year = {1949},
- address = {London}}
-
-@online{Birbeck:ProposalForURIsEverywhere2009,
- author = {Mark Birbeck},
- title = {{Proposal for `URIs everywhere'}},
- note = {e-mail to \url{public-rdf-in-xhtml-tf@w3.org}},
- url = {http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Nov/0081.html},
- date = {2009-11-25}}
-
-@online{Alford:MailFOAFmembershipClass2007:on,crossref={Alford:MailFOAFmembershipClass2007}}
-@Misc{Alford:MailFOAFmembershipClass2007,
- author = {Ron Alford},
- title = {{PROPOSAL: Deprecate membershipClass, add memberOf}},
- note = {e-mail to \url{foaf-dev@lists.foaf-project.org}},
- url = {http://lists.foaf-project.org/pipermail/foaf-dev/2007-May/008551.html},
- date = {2007-05-25}}
-
-@Misc{Sowa:MailSKOS10,
- author = {John F. Sowa},
- title = {{Re: using SKOS for controlled values for controlled vocabulary}},
- note = {e-mail to \url{ontolog-forum@ontolog.cim3.net}},
- url = {http://ontolog.cim3.net/forum/ontolog-forum/2010-10/msg00019.html},
- date = {2010-10-09}}
-
-@TechReport{EventOntology:spec,
- author = {Yves Raimond and Samer Abdallah},
- title = {The Event Ontology},
- url = {http://motools.sourceforge.net/event/},
- institution = {Queen Mary, University of London},
- month = oct,
- year = 2007}
-
-@online{ExpertFinder,
- crossref = {ExpertFinder:base},
- urldate = {2010-02-22}}
-
-@misc{ExpertFinder:web,
- crossref = {ExpertFinder:base},
- publishedas = {\url{http://expertfinder.info}}}
-
-@misc{ExpertFinder:base,
- key = {ExpertFinder},
- title = {The {ExpertFinder} Initiative},
- year = 2007,
- url = {http://expertfinder.info}}
-
-@TechReport{FOAF:spec:0.98,
- author = {Dan Brickley and Libby Miller},
- title = {{FOAF} Vocabulary Specification 0.98},
- institution = {ILRT Bristol},
- url = {http://xmlns.com/foaf/spec/20100809.html},
- date = {2010-08-09}}
-
-@TechReport{FOAF:spec,
- author = {Dan Brickley and Libby Miller},
- title = {{FOAF} Vocabulary Specification 0.91},
- institution = {ILRT Bristol},
- url = {http://xmlns.com/foaf/spec/20071002.html},
- month = nov,
- year = 2007}
-
-@book{DL-handbook07,
- editor = {Franz Baader and
- Diego Calvanese and
- Deborah L. McGuinness and
- Daniele Nardi and
- Peter F. Patel-Schneider},
- title = {The Description Logic Handbook: Theory, Implementation,
- and Applications},
- edition = 2,
- booktitle = {Description Logic Handbook},
- publisher = {Cambridge University Press},
- year = 2007,
- isbn = {9780521876254}}
-
-
-
-@InProceedings{BarnesEtAl:SpreadsheetDesign,
- Author = "Jeffrey N. Barnes and David Tufte and David Christensen",
- Year = "2009",
- Title = "Spreadsheet Design: An Optimal Checklist For Accountants",
- Booktitle = "{Ninth Annual IBER and TLC Conference Proceedings 2009}",
- Pages = "1--16"}
-
-@InProceedings{PHCG:ChangeReprOWL2Onto09,
- author = {Ra{\'u}l Palma and Peter Haase and Oscar Corcho and Asunci{\'o}n G{\'o}mez-P{\'e}rez},
- title = {Change Representation For {OWL 2} Ontologies},
- crossref = {OWLED09}}
-
-@InProceedings{HB:OWLAPI09,
- title = {The {OWL} {API}: A {Java} {API} for Working with OWL 2 Ontologies},
- author = {Matthew Horridge and Sean Bechhofer},
- crossref = {OWLED09}}
-
-@InProceedings{KutzEtAl:OWL-CASL08,
- author = {Oliver Kutz and Dominik L{\"u}cke and Till Mossakowski and Immanuel Normann},
- title = {The {OWL} in the {CASL} -- Designing Ontologies Across Logics},
- crossref = {OWLED08}}
-
-@InProceedings{TudoracheEtAl:WebProtege08,
- author = {Tania Tudorache and Jennifer Vendetti and Natalya Noy},
- title = {Web-{Prot{\'e}g{\'e}}: A Lightweight {OWL} Ontology Editor for
- the Web},
- crossref = {OWLED08}}
-@InProceedings{DRSMHWS:OWLOrderSequences06,
- author = {Nicholas Drummond and Alan Rector and Robert Stevens and Georgina Moulton and Matthew Horridge and Hai Wang and Julian Sedenberg},
- title = {Putting OWL in Order: Patterns for sequences in OWL},
- crossref = {OWLED06}}
-
-@InProceedings{GM:ClosedWorldOWL,
- author = {Stephan Grimm and Boris Motik},
- title = {Closed World Reasoning in the Semantic Web through Epistemic Operators},
- crossref = {OWLED05}}
-
-
-@MISC{vdash:web,
- key = {vdash},
- title = {{vdash: A Formal math wiki}},
- howpublished = {\url{http://www.vdash.org/}},
- year = 2008}
-
-@InProceedings{LiEtAl:ValidatingOWL,
- author = {Yuan Fang Li and Jing Sun and Gillian Dobbie and Jun Sun and Hai Wang},
- title = {Validating Semistructured Data using {OWL}},
- booktitle = {7\textsuperscript{th} International Conference on Web-Age Information Management (WAIM'06)},
- publisher = {Springer Verlag},
- pages = {520--531},
- month = jun,
- year = 2006,
- series = {LNCS},
- number = 4016}
-
-@InProceedings{SteerMiller:ValidatingRDF,
- author = {Damian Steer and Libby Miller},
- title = {Validating {RDF} with {TreeHugger} and {Schematron}},
- year = 2004,
- url = {http://swordfish.rdfweb.org/discovery/2004/07/validation/},
- booktitle = {FOAF Workshop},
- venue = {Galway, Ireland},
- eventdate = 2004}
-
-@TECHREPORT{Johnston:MARC-DC05,
- author = {Pete Johnston},
- title = {{MARC} Relator Properties in {Dublin Core} Metadata},
- institution = {UKOLN},
- year = 2005,
- month = dec,
- url = {http://www.ukoln.ac.uk/metadata/dcmi/marcrel-ex/}}
-
-@Article{LagozeHunter:ABC2001,
- author = {Carl Lagoze and Jane Hunter},
- title = {The {ABC} Ontology and Model},
- journal = {Journal of Digital Information},
- volume = 2,
- number = 2,
- year = 2001}
-
-@MISC{FLT:CoPE,
- author = {J. Feldman and D. Lee and D. Thaw},
- title = {{Community of Practice Environment}},
- howpublished = {\url{http://www.ocf.berkeley.edu/~danjlee/cope.doc}},
- year = 2008}
-
-@MISC{cope:web,
- key = {CoPE},
- title = {{CoPE: The Community of Practice Environment}},
- howpublished = {\url{http://cope.icsi.berkeley.edu/}},
- year = 2008}
-
-@MISC{deme:web,
- key = {deme},
- title = {{Deme: A free/open Platform for Online Deliberation}},
- howpublished = {\url{http://deme.stanford.edu/}},
- year = 2008}
-
-@MISC{DCCP:AOEfDDMPaD,
- author = {Todd Davies and Brendan O'Connor and Alex Cochran and Andrew Parker},
- title = {{An Online Environment for Democratic Deliberation: Motivations, Principles, and Design}},
- howpublished = {\url{http://www.stanford.edu/~davies/deme-principles.pdf}},
- year = 2005}
-
-@MISC{wordml:web,
- key = {wordml},
- title = {{Wordprocessing Markup Language}},
- howpublished = {\url{http://rep.oio.dk/Microsoft.com/officeschemas/wordprocessingml_article.htm}},
- year = 2008}
-
-@Book{BR:UE:SBDoHCI,
- author = {Mary Beth Rosson},
- title = {{Usability Engineering: Scenario-Based Development of Human Computer Interaction}},
- publisher = {Morgan Kaufmann},
- edition = 1,
- year = 2001}
-
-@Article{FinkEtAl:WordOntologyAddin10,
- author = {J Lynn Fink and Pablo Fernicola and Rahul Chandran and Savas Parastatidis and Alex Wade and Oscar Naim and Gregory B Quinn and Philip E Bourne},
- title = {Word add-in for ontology recognition: semantic enrichment of scientific literature},
- journal = {BMC Bioinformatics},
- year = {2010},
- volume = {11},
- number = {103},
- month = feb,
-}
-
-@online{SKOSConsistencyChecker:on,
- urldate = {2011-04-15},
- title = {Consistency Checks for {SKOS} Thesauri},
- author = {Alexander Kreiser},
- year = 2010,
- url = {http://demo.semantic-web.at:8080/SkosServices/check}}
-
-@online{LooksGoodToMeSourceCodeReviewTools:on,
- urldate = {2009-10-27},
- title = {Looks Good To Me -- Source Code Review Tools},
- author = {Steve McKay and Jason Robbins},
- date = {2008-07-30},
- url = {http://googlecode.blogspot.com/2008/07/looks-good-to-me-source-code-review.html}}
-
-@online{Carlisle:XHTMLMathMLOffice:on,
- urldate = {2010-09-29},
- title = {XHTML and MathML from Office 2007},
- author = {David Carlisle},
- date = {2007-04-10},
- url = {http://dpcarlisle.blogspot.com/2007/04/xhtml-and-mathml-from-office-20007.html}}
-
-@online{TracSubversion:on,
- urldate = {2009-10-27},
- title = {{Trac} and {Subversion}},
- url = {http://trac.edgewall.org/wiki/TracSubversion}}
-
-@online{trac:on,
- urldate = {2009-10-22},
- crossref = {trac:base}}
-
-@online{trac-peerreview-plugin:online,
- title= {PeerReviewPlugin -- Trac Hacks -- Plugins Macros etc. -- Trac},
- urldate = {2009-12-02},
- url = {http://trac-hacks.org/wiki/PeerReviewPlugin}}
-
-@MISC{trac:web,
- howpublished = {\url{http://trac.edgewall.org/}},
- crossref = {trac:base}}
-
-@MISC{trac:base,
- key = {trac},
- title = {{The Trac Project}},
- url = {http://trac.edgewall.org/}}
-
-@unpublished{CaBoCMiM,
- title = {{Costs and Benefits of Content Markup in Mathematics}},
- note = {in progress}}
-
-@InProceedings{TFL:CDCiSoeL,
- author = {David Thaw and Jerome Feldman and Joseph Li},
- title = {{CoPE: Democratic CSCW in Support of e-Learning}},
- year = 2008,
- url = {http://doi.ieeecomputersociety.org/10.1109/CISIS.2008.45},
- booktitle = {{International conference on Complex, Intelligent and Software Intensive Systems}},
- pages = {481--486}}
-
-@InProceedings{CBS:CoPoEDaC,
- author = {Azeddine Chikh and Lamia Berkani and Akila Sarirete},
- title = {{Communities of Practice of E-learning CoPE: Definition and Concepts}},
- year = 2008,
- url = {http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04537499},
- booktitle = {{International Workshop on Advanced Information System for Enterprises}},
- pages = {31--37}}
-
-
-
-
-
-@Misc{CH:Tpedia,
- author = {Christian Hirsch},
- title = {ThinkPedia},
- howpublished = {\url{http://thinkpedia.cs.auckland.ac.nz/}},
- url = {http://thinkpedia.cs.auckland.ac.nz/},
- year = 2008,
- note = {\seen December 2008}}
-
-@Misc{CH:Tbase,
- author = {Christian Hirsch},
- title = {ThinkBase},
- howpublished = {\url{http://thinkbase.cs.auckland.ac.nz/}},
- url = {http://thinkbase.cs.auckland.ac.nz/},
- year = 2008,
- note = {\seen December 2008}}
-
-@Book{EB:MFFaF,
- author = {Edward J. Barbeau},
- title = {{Mathematical Fallacies, Flaws, and Flimflam}},
- publisher = {Mathematical Association of America},
- year = 2000}
-
-@PhdThesis{Lemburg:msg08,
- author = {Johannes Peter Lemburg},
- title = {Methodik der schrittweisen Gestaltsynthese},
- school = {Fakult{\"a}t f{\"u}r Maschinenwesen, RWTH Aachen},
- year = 2008}
-
-
-
-@Manual{VDI2221,
- title = {Methodik zum Entwickeln und Konstruieren technischer Systeme und Produkte},
- key = {VDI2221},
- organization = {VDI-Gesellschaft Entwicklung Konstruktion Vertrieb},
- type = {VDI Richtlinie},
- year = 1995,
- note = {English title: Systematic approach to the development and design of technical systems and products}}
-
-@unpublished{CC:EtcoMP:Part1,
- title = {{Evaluating the Complexity of Mathematical Problems. Part 1: Examples and a Method}},
- author = {Cristian S. Calude and Elena Calude},
- year = 2008,
- note = {submitted}}
-
-@Book{IS:LtaYM,
- author = {Ian Stewart},
- title = {Letters to a Young Mathematician},
- publisher = {Joat Enterprises},
- year = 2006}
-
-@misc{UW:MNfLR,
- author = {Uriel Wittenberg},
- title = {Mathematical Notation for Law Representation},
- year = 1986,
- url = {http://urielw.com/mathlaw/mathlaw.htm},
- keywords = {lamapunbibs},
- note = {\seen November 2008}}
-
-
-
-
-
-
-
-
-@PhdThesis{Strotmann:PhD,
- author = {Andreas Strotmann},
- title = {Content Markup Language Design Principles},
- school = {Florida State University},
- year = {2003},
- url = {http://www.cs.fsu.edu/research/reports/TR-030702.pdf}}
-
-@online{RDFaInfo,
- title = {RDFa},
- url = {http://rdfa.info},
- urldate = {2011-11-08},
-}
-
-@online{RDFaTools,
- title = {{RDFa} Tools},
- url = {http://rdfa.info/wiki/?title=Tools&oldid=1162},
- date = {2010-08-03},
- urldate = {2010-08-27},
- crossref = {RDFaWiki}}
-
-@online{RDFaUseCases,
- title = {{RDFa} Use Cases},
- url = {http://rdfa.info/wiki/?title=Rdfa-use-cases&oldid=1176},
- date = {2010-10-01},
- urldate = {2011-05-16},
- crossref = {RDFaWiki}}
-
-
-@collection{RDFaWiki,
- title = {{RDFa} wiki},
- key = {RDFa Wiki},
- url = {http://rdfa.info/wiki/}}
-
-@Misc{rdfa-test-harness,
- author = {Manu Sporny},
- title = {The {RDFa} Test Harness ({Crazy Ivan})},
- month = feb,
- year = {2008},
- url = {http://rdfa.digitalbazaar.com/rdfa-test-harness/}}
-
-@TechReport{w3c:owl2-overview,
- key = {OWL2},
- author = {{OWL Working Group}},
- title = {{OWL} 2 Web Ontology Language: Document Overview},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-overview-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-xml,
- author = {Boris Motik and Bijan Parsia and Peter F. Patel-Schneider},
- title = {{OWL} 2 Web Ontology Language: {XML} Serialization},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-xml-serialization-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-new-features,
- author = {Christine Golbreich and Evan K. Wallace},
- title = {{OWL} 2 Web Ontology Language: New Features and Rationale},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-new-features-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-direct-semantics,
- author = {Boris Motik and Peter F. Patel-Schneider and Cuenca Grau, Bernardo},
- title = {{OWL} 2 Web Ontology Language: Direct Semantics},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-RDF-mapping,
- author = {Peter F. Patel-Schneider and Boris Motik},
- title = {{OWL} 2 Web Ontology Language: Mapping to {RDF} Graphs},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-mapping-to-rdf-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-rdf-based-semantics,
- author = {Michael Schneider},
- title = {{OWL} 2 Web Ontology Language: {RDF}-Based Semantics},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-profiles,
- author = {Boris Motik and Cuenca Grau, Bernardo and Ian Horrocks and Zhe Wu and Achille Fokoue and Carsten Lutz},
- title = {{OWL} 2 Web Ontology Language: Profiles},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-functionalsyntax,
- author = {Boris Motik and Peter F. Patel-Schneider and Bijan Parsia},
- title = {{OWL} 2 Web Ontology Language: Structural Specification and Functional-Style Syntax},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/REC-owl2-syntax-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@TechReport{w3c:owl2-manchester,
- author = {Matthew Horridge and Peter F. Patel-Schneider},
- title = {{OWL} 2 Web Ontology Language: Manchester Syntax},
- type = {{W3C} Working Group Note},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/NOTE-owl2-manchester-syntax-20091027/},
- year = 2009,
- month = oct,
- date = {2009-10-27}}
-
-@Online{modeldriven.org:ArchitectureOntology,
- title = {ModelDriven.org Architecture Ontology},
- url = {http://modeldriven.org/2008/ArchitectureOntology/doc/},
- urldate = {2010-08-27}}
-
-@online{modeldriven.org:VersioningOntology:on,
- urldate = {2009-10-22},
- crossref = {modeldriven.org:VersioningOntology}}
-
-@Misc{modeldriven.org:VersioningOntology,
- key = {{ModelDriven.org} Architecture Ontology -- Versioning},
- title = {{ModelDriven.org} Architecture Ontology --Versioning},
- year = {2008},
- url = {http://modeldriven.org/2008/ArchitectureOntology/doc/Versioning.html}}
-
-@online{OMV:on,
- crossref = {OMV:web},
- urldate = {2010-01-12}}
-
-@Misc{OMV:web,
- author = {Jens Hartmann and Ra{\'u}l Palma and Peter Haase and Asunci{\'o}n G{\'o}mez-P{\'e}rez},
- title = {{Ontology Metadata Vocabulary -- OMV}},
- url = {http://omv2.sourceforge.net}}
-
-@InProceedings{HPSSHGS05:OMV,
- author = {Jens Hartmann and Ra{\'u}l Palma and York Sure and M. Carmen Su{\'a}rez-Figueroa and Peter Haase and Asunci{\'o}n G{\'o}mez-P{\'e}rez and Rudi Studer},
- title = {Ontology Metadata Vocabulary and Applications},
- booktitle = {On the Move to Meaningful Internet Systems 2005: OTM Workshops},
- year = {2005},
- pages = {906--915},
- editor = {Robert Meersman and Zahir Tari and Pilar Herrero and others},
- number = {3762},
- series = {LNCS},
- month = oct,
- publisher = {Springer}}
-
-@InProceedings{VG06:SemVersion,
- key = {SemVersion},
- author = {Max V{\"o}lkel and Tudor Groza},
- title = {{SemVersion}: An {RDF}-based Ontology Versioning System},
- year = 2006,
- month = oct,
- url = {http://www.tudorgroza.org/pub/SemVersion_IADIS-ICIW2006.pdf},
- booktitle = {Proceedings of the IADIS Internation Conference on WWW/Internet},
- pages = {195--202}}
-
-@InProceedings{TNTA08:Collaborative-Protege,
- author = {Tania Tudorache and Natalya F. Noy and Samson Tu and Mark A. Musen},
- title = {Supporting Collaborative Ontology Development in Prot{\'e}g{\'e}},
- crossref = {iswc2008}}
-
-
-
-
-@InProceedings{BDM:SemanticHistory09,
- author = {Jie Bao and Li Ding and Deborah L. McGuinness},
- title = {Semantic History: Towards Modeling and Publishing Changes of Online Semantic Data},
- crossref = {SDoW2009},
- url = {http://ceur-ws.org/Vol-520/paper07.pdf}}
-
-@comment{only cite these in exceptional cases, rather cite w3c:rdfa-core}
-@TECHREPORT{w3c:curie,crossref={w3c:NOTE-curie-20101216}}
-@TECHREPORT{w3c:NOTE-curie-20101216,
- author = {Mark Birbeck and Shane McCarron},
- title = {{CURIE} Syntax 1.0},
- subtitle = {A syntax for expressing {Compact} {URIs}},
- type = {W3C Working Group Note},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2010-12-16},
- url = {http://www.w3.org/TR/2010/NOTE-curie-20101216}}
-
-@TechReport{W3C09:CURIE,
- author = {Mark Birbeck and Shane McCarron},
- title = {{CURIE} Syntax 1.0},
- subtitle = {A syntax for expressing {Compact} {URIs}},
- type = {W3C Candidate Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2009},
- month = jan,
- date = {2009-01-16},
- url = {http://www.w3.org/TR/2009/CR-curie-20090116}}
-
-@TechReport{W3C07:CURIE,
- author = {Mark Birbeck and Shane McCarron},
- title = {{CURIE} Syntax 1.0 -- A syntax for expressing Compact {URIs}},
- type = {W3C Working Draft},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2007},
- month = mar,
- url = {http://www.w3.org/TR/2007/WD-curie-20070307}}
-
-@TechReport{AALY08:ccREL,
- author = {Hal Abelson and Ben Adida and Mike Linksvayer and Nathan Yergler},
- title = {{ccREL}: The {Creative Commons Rights Expression Language}},
- institution = {Creative Commons},
- year = {2008},
- month = mar,
- date = {2008-03-03},
- urldate = {2009-10-22},
- url = {http://wiki.creativecommons.org/images/d/d6/Ccrel-1.0.pdf}}
-
-@article{GP:UAoCPEaCDF,
-author = {T. Green and M. Peter},
-title = {Usability Analysis of Visual Programming Environments: A Cognitive Dimension Framework},
-Journal = {Journal of Visual Languages and Computing},
-year = {1996},
-volume = 7,
-pages = {131--174},
-url = {http://homepage.ntlworld.com/greenery/workStuff/Papers/UsabilityVPs.PDF}}
-
-
-
-@InProceedings{PeyBlaBur:ucafe,
- author = {S. L. Peyton Jones and A. Blackwell and M. M. Burnett},
- title = {User-Centered Approach to Functions in {{Excel}}},
- booktitle = {ACM International Conference on Functional Programming},
- pages = {165--176},
- year = 2003}
-
-@inproceedings{BBJ:CPARTfeeoceups,
-author = {A. F. Blackwell and M. M. Burnett and S. Peyton Jones},
-title = {Champagne Prototyping: A research technique for early evaluation of complex end-user programming systems.},
-booktitle = {Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC04)},
-year = {2004},
-pages = {47--54},
-url = {http://www.cl.cam.ac.uk/~afb21/publications/VLHCC04.pdf}}
-
-@article{RSA:AMfODSaPKC,
-author = {Ron Rivest and Adie Shamir and Leonard Adleman},
-title = {A Method for Obtaining Digital Signatures and Public-Key Cryptosystems},
-journal = {Communications of the {ACM}},
-year = {1978},
-volume = {21},
-number = 2,
-pages = {120--126},
-url = {http://www.matha.mathematik.uni-dortmund.de/~fv/diplom_i/ars78.ps}}
-
-@book{GB:AIotLoToWaFtMToLaP,
-author = {George Boole},
-title = {An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities},
-year = {1858},
-note = {Originally published in 1854},
-publisher = {Dover Publications NY, Reprinted with corrections},
-url = {http://www.gutenberg.org/etext/15114}}
-
-@book{C:AIT,
-author = {George J. Chaitin},
-title = {Algorithmic Information Theory},
-year = {1987},
-isbn = {978-0521343060},
-publisher = {Cambridge University Press}}
-
-@book{LV:AItKCaiA,
-author = {Ming Li and Paul Vitanyi},
-title = {An Introduction to {Kolmogorov} Complexity and Its Applications},
-year = {1997},
-isbn = {978-0387948683},
-publisher = {Springer}}
-
-
-
-
-
-@inproceedings{BC:AHA,
-author = {P. De Bra and L. Calvi},
-year = 1998,
-title = {{AHA}: a Generic Adaptive Hypermedia System},
-booktitle = {Proceedings of the 2\textsuperscript{nd} Workshop on Adaptive Hypermedia and Hypermedia},
-url = {http://wwwis.win.tue.nl/ah98/DeBra.html}}
-
-@inproceedings{MelFauEic:icclom08,
- author = {Melis, Erica and Faulhaber, Arndt and Eichelmann, Anja and Narciss, Susanne},
- title = {Interoperable Competencies Characterizing Learning Objects in Mathematics},
- booktitle = {ITS '08: Proceedings of the 9\textsuperscript{th} international conference on Intelligent Tutoring Systems},
- year = {2008},
- isbn = {978-3-540-69130-3},
- pages = {416--425},
- location = {Montreal, Canada},
- doi = {http://dx.doi.org/10.1007/978-3-540-69132-7_45},
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg},
- }
-
-@InCollection{ABB:obUMfWbIS,
- author = {Anton Andrejko and Michal Barla and Maria Bielikova},
- title = {Ontology-based User Modeling for Web-based Information Systems},
- booktitle = {Advances in Information Systems Development},
- pages = {457--468},
- year = {2007},
- publisher = {Springer},
- url = {http://www.springerlink.com/content/nt7617hp23224774/}}
-
-@inproceedings{Bra:AHA,
-author = {P. De Bra and A. Aerts and B. Berden and B. De Lange and B. Rousseau and T. Santic and D. Smits and N. Stash},
-year = 2003,
-title = {{AHA!} The Adaptive Hypermedia Architecture},
-booktitle = {Proceedings of ACM Hypertext Conference},
-pages = {81--84}}
-
-@inproceedings{CLHOW:AAHTtSWSC,
-author = {O. Conlan and D. Lewis and S. Higel and D. O'Sullivan and V. Wade},
-year = 2003,
-title = {Applying Adaptive Hypermedia Techniques to Semantic Web Service Composition},
-booktitle = {Proceedings of International Workshop on Adaptive Hypermedia and Adaptive Web-Based Systems},
-pages = {53--62}}
-
-
-@article{CSB:TaGAHPaCCS,
- title = {Towards a Generic Adaptive Hypermedia Platform: A Conversion Case Study},
- Author = {Alexandra Cristea and David Smits and Paul de Bra},
- year = {2007},
- journal = {Journal of Digital Information},
- volume = 8,
- number = 3,
- url = {http://dialnet.unirioja.es/servlet/oaiart?codigo=2415354}}
-
-@INPROCEEDINGS{FM:AESMBoSPaM,
- title = {An Efficient Student Model Based on Student Performance and Metadata},
- author = {Arndt Faulhaber and Erica Melis},
- year = {2008},
- booktitle = {{Proceedings of the 18\textsuperscript{th} European Conference on Aritifical Intelligence}},
- pages = {276--280},
- volume = 178,
- editor = {Malik Ghallab and Constantine D. Spyropoulos and Nikos Fakotakis and Nikos Avouris}}
-
-@book{CU:PFCGfWBL,
- author = {Carsten Ullrich},
- howpublished = {Hardcover},
- isbn = {978-3-540-88213-8},
- month = sep,
- publisher = {Springer Verlag},
- series = {LNCS},
- title = {{Pedagogically Founded Courseware Generation for Web-Based Learning}},
- url = {http://www.springerlink.com/content/k604618p5351/},
- year = {2008}}
-
-
-@ARTICLE{FS:LaTSiEE,
- author = {Richard M. Felder and Linda K. Silverman},
- title = {{Learning and Teaching Styles in Engineering Education.}},
- journal = {{Engineering Education}},
- pages = {674--681},
- number = 7,
- volume = 78,
- year = {1988},
- url = {http://www4.ncsu.edu/unity/lockers/users/f/felder/public/Papers/LS-1988.pdf}}
-
-@INPROCEEDINGS{MFEN:ICCLOiM,
- title = {{Interoperable Competencies Characterizing Learning Objects in Mathematics}},
- author = {E. Melis and A. Faulhaber and A. Eichelmann and S. Narciss},
- year = {2008},
- booktitle = {{Intelligent Tutoring Systems}},
- series = {LNCS},
- number = {5091},
- publisher = {Springer},
- pages = {416--425}}
-
-@InCollection{AM:CMtSCoMtBMN,
- author = {Dominique Archambault and Victor Moco},
- title = {Canonical {MathML} to Simplify Conversion of {MathML} to Braille Mathematical Notations},
- booktitle = {{LNCS}},
- pages = {1191--1198},
- mumber = 4061,
- year = {2006},
- publisher = {Springer Berlin/ Heidelberg},
- url = {http://www.springerlink.com/content/ap1150583pv253t5/}}
-
-@INPROCEEDINGS{SA:MSPGaPI,
- author = {Ramakrishnan Srikant and Rakesh Agrawal},
- title = {{Mining Sequential Patterns: Generalizations and Performance Improvements}},
- booktitle = {{Advance in Databases Technologies -- EDBT}},
- year = {1996},
- pages = {3--17}}
-
-@Book{Rudin:fa73,
- author = {Walter Rudin},
- title = {Functional Analysis},
- publisher = {McGraw Hill},
- year = {1973}}
-
-@INPROCEEDINGS{AS:FAFMAR,
- author = {Rakesh Agrawal and Ramakrishnan Srikant},
- title = {{Fast algorithms for mining association rules}},
- booktitle = {{Proceedings of the 20\textsuperscript{th} Very Large Data Bases Conferences}},
- year = {1994},
- pages = {487--499}}
-
-@Misc{w3c:inkml,
- author = {Yi-Min Chee and Katrin Franke and Max Froumentin and Sriganesh Madhvanath and Jose-Antonio Magana and Gregory Russell and Giovanni Seni and Christopher Tremblay and Stephen M. Watt and Larry Yaeger},
- title = {Ink Markup Language (InkML)},
- howpublished = {W3C Working Draft},
- url = {http://www.w3.org/TR/InkML/},
- year = 2006}
-
-@Misc{w3c:owl:xml,
- author = {Masahiro Horiand and J{\'e}r{\^o}me Euzenat and Peter F. Patel-Schneider},
- title = {OWL Web Ontology Language: XML Presentation Syntax},
- howpublished = {W3C Note},
- url = {http://www.w3.org/TR/owl-xmlsyntax/},
- year = 2003}
-
- @inproceedings{SW:ACAAfPBMI,
-title = {A Cross-Application Architecture for Pen-Based Mathematical Interfaces},
-author = {Elena Smirnova and Stephen M. Watt},
-booktitle = {Electronic Proceedings of the Workshop on Mathematical User Interfaces (MathUI)},
-url = {http://www.activemath.org/workshops/MathUI/07/proceedings/Smirnova-Watt-MathInk-MathUI07.pdf},
-year = {2007}}
-
-@inproceedings{SW:NAoIfPBC,
-title = {New Aspects of InkML for Pen-Based Computing},
-author = {Stephen M. Watt},
-booktitle = {Proceedings of the International Conference on Document Analysis and Recognition},
-publisher = {IEEE Computer Society},
-pages = {457--460},
-year = {2007}}
-
- @inproceedings{SW:ACfPBC,
-title = {A Context for Pen-Based Computing},
-author = {Elena Smirnova and Stephen M. Watt},
-booktitle = {Proceedings of the Maple Conference},
-pages = {409--422},
-year = {2005}}
-
-@book{BL:WDMEHCaUD,
- author = {Bing Liu},
- isbn = {3540378812},
- keywords = {mining, textbook, web},
- month = jan,
- priority = {3},
- publisher = {Springer},
- title = {Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data (Data-Centric Systems and Applications)},
- url = {http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20\&amp;path=ASIN/3540378812},
- year = {2007}}
-
-@Misc{Ubisworld:URL,
- author = {UbisWorld.org},
- title = {UbisWorld.org},
- year = {2008},
- url = {http://www.ubisworld.org/}}
-
-@INPROCEEDINGS{PNL:TSUMO,
- author = {Adam Pease and Ian Niles and John Li},
- title = {The Suggested Upper Merged Ontology: A Large Ontology for the Semantic Web and its Applications},
- booktitle = {Working Notes of the AAAI Workshop on Ontologies and the Semantic Web},
- year = {2002}}
-
- @inproceedings{HK:AUMALFUC,
-title = {A User Modeling Markup Language (UserML) for Ubiquitous Computing},
-author = {D. Heckmann and A. Kr{\"u}ger},
-booktitle = {Ninth International Conference on User Modeling (UM 2003)},
-editor = {P. Brusilovsky and A. Corbett and F. de Rosis},
-publisher = {Springer},
-year = {2003}}
-
-
-
-@inproceedings{HJSS:ASBaPSS,
- title = {{BibSonomy: A Social Bookmark and Publication Sharing System}},
- author = {Andreas Hotho and Robert J{\"a}schke and Christoph Schmitz and Gerd Stumme},
- booktitle = {Proceedings of the Conceptual Structure Tool Interoperability Workshop at the 14\textsuperscript{th} International Conference on Conceptual Structures},
- pages = {87--102},
- year = {2006}}
-
-@inProceedings{HSBSWM:GTGUMO,
- author = {Dominikus Heckmann and Tim Schwartz and Boris Brandherm and Michael Schmitz and Margeritta von Wilamowitz-Moellendorff},
- doi = {http://dx.doi.org/10.1007/11527886_58},
- booktitle = {User Modeling 2005},
- pages = {428--432},
- editor = {L. Ardissono and P. Brna and A. Mitrovic},
- title = {{Gumo -- The General User Model Ontology}},
- url = {http://dx.doi.org/10.1007/11527886_58},
- Year = {2005}}
-
-@incollection{BCC:ACPftW,
- author = {Andrea Bunt and Giuseppe Carenini and Cristina Conati},
- pages = {409--432},
- title = {{Adaptive Content Presentation for the Web }},
- crossref = {BKN:AWMSoWP}}
-
-@incollection{GSCM:UPfPIA,
- author = {Susan Gauch and Mirco Speretta and Aravind Chandramouli and Alessandro Micarelli},
- pages = {54--89},
- title = {{User Profiles for Personalized Information Access}},
- crossref = {BKN:AWMSoWP}}
-
-@incollection{BM:UMfAHaAES,
- author = {Peter Brusilovsky and Eva Mill{\'a}n},
- pages = {3--53},
- title = {{User Models for Adaptive Hypermedia and Adaptive Educational Systems}},
- crossref = {BKN:AWMSoWP}}
-
-@INCOLLECTION{AK:GUMS,
- chapter = {4},
- pages = {136--154},
- title = {{Generic User Modeling Systems}},
- crossref = {BKN:AWMSoWP},
- author = {Alfred Kobsa}}
-
-@Book{BKN:AWMSoWP,
- editor = {P. Brusilovsky and A. Kobsa and W. Neidl},
- title = {{The Adaptive Web: Methods and Strategies of Web Personalization}},
- booktitle = {{The Adaptive Web: Methods and Strategies of Web Personalization}},
- series = {LNCS},
- number = {4321},
- publisher = {Springer Berlin / Heidelberg},
- url = {http://www.springerlink.com/content/x646782t122p},
- year = 2007}
-
-@inproceedings{NWBKR:APAaRcaE,
- author = {Andreas Nauerz and Marting Welsch and Fedor Bakalov and K{\"o}nig-Ries},
- year = {2008},
- title = {{Adaptive Portals: Adapting and Recommending Content and Expertise}},
- crossref = {LWA08}}
-
-
-@Manual{DFG:102e,
- title = {Research Grants, Guidelines and Proposal Preparation Instructions},
- organization = {German Research Foundation (DFG)},
- url = {http://www.dfg.de/download/programme/emmy_noether_programm/antragstellung/1_02_e/1_02e.pdf},
- month = oct,
- year = 2010}
-
-@Manual{DFG:2012e,
- title = {Guidelines for the Use of Funds International Research Grants with Guidelines for Final Reports},
- organization = {German Research Foundation (DFG)},
- url = {http://www.dfg.de/download/programme/sachbeihilfe/antragstellung/2_012_e/2_012e.pdf},
- month = jul,
- year = 2010}
-
-@Manual{DFG:201,
- title = {Verwendungsrichtlinien, Sachbeihilfen mit Leitfaden f{\"ur}r Abschlussberichte und Regeln guter wissenschaftlicher Praxis},
- organization = {German Research Foundation (DFG)},
- url = {http://www.dfg.de/download/programme/sachbeihilfe/abschlussberichte/2_01/2_01.pdf},
- month = jun,
- year = 2010}
-
-
-
-
-@Book{OSuSteGoe:rwh08,
- author = {O'Sullivan, Bryan and Don Stewart and John Goerzen},
- title = {Real World Haskell},
- publisher = {O'Reilly},
- year = 2008}
-
-@Book{Hutton:pih07,
- author = {Graham Hutton},
- title = {Programming in Haskell},
- publisher = {Cambridge University Press},
- year = 2007}
-
-@Misc{WP:LO,
- key = {LO},
- title = {{Reusable Learning Object}},
- month = oct,
- year = 2008,
- crossref = {wikipedia},
- url = {http://de.wikipedia.org/w/index.php?title=Reusable_Learning_Object&oldid=49420303}}
-
-@unpublished{jacobs:students,
- author = {Jacobs University},
- title = {Jacobs Student Body Statistics},
- year = 2008,
- note = {private communication}}
-
-@unpublished{jacobs:needs,
- author = {AAS},
- title = {Need Assessment Report by the Academic Affairs Committee of the Undergraduate Student Government},
- year = 2008,
- note = {private communication}}
-
-@ARTICLE{BojarsEtAl:SIOC-IEEE2008,
- author = {Uldis Boj{\=a}rs and John G. Breslin and Vassilios Peristeras and Giovanni Tummarello and Stefan
-Decker},
- title = {{Interlinking the Social Web with Semantics}},
- journal = {IEEE Intelligent Systems},
- year = {2008},
- volume = {23},
- number = {3},
- pages = {29--40},
- issue = {May/June}}
-
-@INPROCEEDINGS {bernareggi:w4a07,
- title = {Mathematics on the web: emerging opportunities for visually impaired people},
- author = {Bernareggi, Cristian and Archambault, Dominique},
- booktitle = {Proceedings of the International Cross-Disciplinary Conference on Web Accessibility (W4A 2007)},
- year = {2007},
- month = may,
- address = {Banff, Canada},
- note = {4 pages.}}
-@INPROCEEDINGS {arch:assets07,
- title = {A software model to support collaborative mathematical work between Braille and sighted users},
- author = {Archambault, Dominique and St{\"o}ger, Bernhard and Batu{\v s}i{\'c}, Mario and Fahrengruber, Claudia and Miesenberger, Klaus},
- booktitle = {Proc. ASSETS 2007 (Ninth International ACM SIGACCESS Conference on Computers and Accessibility)},
- year = {2007},
- month = oct,
- pages = {115--122},
- publisher = {ACM SIGACCESS},
- address = {Tempe, AZ, USA}}
-@ARTICLE {arch:upgrade07a,
- title = {Access to Scientific Content by Visually Impaired People},
- author = {Archambault, Dominique and St{\"o}ger, Bernhard and Fitzpatrick, Donal and Miesenberger, Klaus},
- journal = {Upgrade},
- year = {2007},
- month = apr,
- volume = {VIII},
- number = {2},
- pages = {14 pages},
- issn = {1684-5285},
- note = {Digital journal of CEPIS. A monograph in spanish was published in Nov{\'a}tica.},
- url = {http://www.upgrade-cepis.org/issues/2007/2/upgrade-vol-VIII-2.html}}
-
-@Misc{Adriadne:LOR,
- author = {ARIADNE Project},
- title = {Learning Object Repository},
- year = {2008},
- url = {http://www.ariadne-eu.org/}}
-
-@Misc{IEEE:SflTDMfCtLMSC,
- author = {IEEE Learning Technology Standards Committee},
- title = {IEEE Standard for Learning Technology -- Data Model for Content to Learning Management System Communication},
- year = {2005},
- url = {http://www.ieeeltsc.org/standards/1484-11-1-2004/}}
-
-@Misc{ADL:Scorm,
- author = {Advanced Distributed Learning},
- title = {SCORM: Sharable Content Object Reference Model},
- year = {2000},
- url = {http://www.adlnet.gov/}}
-
-@InProceedings{HJLG:SSfE,
- author = {Bastiaan Heeren and Johan Jeuring and Arthur van Leeuwen and Alex Gerdes},
- title = {{Specifying Strategies for Exercises}},
- crossref = {CICM08},
- pages = {430--445}}
-
-@TechReport{GHJS:FeedbackSvcExcAss08,
- author = {Alex Gerdes and Bastiaan Heeren and Johan Jeuring and Sylvia Stuurman},
- title = {Feedback Services for Exercise Assistants},
- institution = {Utrecht University},
- year = {2008},
- number = {UU-CS-2008-018},
- month = jul}
-
-@inproceedings{CuypCoheKnop2008g4,
- author = {Hans Cuypers and Arjeh M. Cohen and Jan Willem Knopper and Rikko Verrijzer and Mark Spanbroek },
- title = {MathDox, a system for interactive Mathematics},
- pages = { 5177--5182 },
- url = { http://go.editlib.org/p/29092 },
- crossref = {EdMedia2008}}
-
-@inproceedings{SS:ProcTextMatrices05,
- author = {Alan Sexton and Volker Sorge},
- title = {Processing Textbook-Style Matrices},
- crossref = {MKM05},
- pages = {111--125}}
-
-@inproceedings{CG:LiterateProving05,
- author = {Paul Cairns and Jeremy Gow},
- title = {Literate Proving: Presenting and Documenting Formal Proofs},
- crossref = {MKM05},
- pages = {159--173}}
-
-@inproceedings{CCJS:IntLearnMathCalc05,
- author = {Arjeh M. Cohen and Hans Cuypers and Dorina Jibetean and Mark Spanbroek},
- title = {Interactive Learning and Mathematical Calculus},
- crossref = {MKM05},
- pages = {330--345}}
-
-@comment{original edition below}
-@Book{GHH:AMA,
- author = {Godfrey H. Hardy},
- title = {{A Mathematician's Apology}},
- publisher = {Cambridge University Press},
- year = 1992}
-
-@Book{GHH:AMA:orig,
- author = {Godfrey H. Hardy},
- title = {A Mathematician's Apology},
- publisher = {Cambridge University Press},
- year = 1940}
-
-@Book{KopDal:gtl03,
- author = {Helmut Kopka and Patrick W. Daly},
- title = {Guide to {\LaTeX} (Tools and Techniques for Computer Typesetting)},
- publisher = {Addison-Wesley Professional},
- year = 2003,
- edition = 4}
-
-@Book{MitGooBra:tlc04,
- author = {Frank Mittelbach and Michel Goossens and Johannes Braams and David Carlisle},
- title = {The LaTeX Companion (Tools and Techniques for Computer Typesetting)},
- publisher = {Addison-Wesley Professional},
- year = 2004}
-
-@inproceedings{BKR:DCFwDS,
- author = {Shlomo Berkovsky and Tsvi Kuflik and Francesco Ricci},
- title = {{Distributed collaborative filtering with domain specialization}},
- booktitle = {RecSys '07: Proceedings of the 2007 ACM conference on Recommender systems},
- year = {2007},
- isbn = {978-1-59593-730--8},
- pages = {33--40},
- location = {Minneapolis, MN, USA},
- doi = {http://doi.acm.org/10.1145/1297231.1297238},
- publisher = {ACM},
- address = {New York, NY, USA}}
-
-
-@InCollection{BEM:ECFiCAS,
- author = {Shlomo Berkovsky and Yaniv Eytani and Larry Manevitz},
- title = {{Efficient Collaborative Filtering in Content-Addressable Spaces}},
- booktitle = {Personalization Techniques and Recommender Systems},
- pages = {265--289},
- editor = {G.Uchyigit and M. Y.Ma},
- year = {2008},
- publisher = {World Scientific Publishing}}
-
-@Article{ErwAbrCooKol:apgcs06,
- author = {Martin Erwig and Robin Abraham and Irene Cooperstein and Steve Kollmansberger},
- title = {Gencel: A Program Generator for Correct Spreadsheets},
- journal = {Journal of Functional Programming},
- year = 2006,
- volume = 16,
- number = 3,
- pages = {293--325}}
-
-@Article{AbrErw:mos09,
- author = {Robin Abraham and Martin Erwig},
- title = {Mutation Operators for Spreadsheets},
- journal = {IEEE Transactions on Software Engineering},
- year = 2009,
- volume = 35,
- number = 1,
- pages = {94--108}}
-
-@InProceedings{EngErw:csagsaoos05,
- author = {Gregor Engels and Martin Erwig},
- title = {{ClassSheets}: Automatic Generation of Spreadsheet Applications from Object Oriented Specifications},
- crossref = {ASE05},
- booktitle = {20\textsuperscript{th} IEEE/ACM International Conference on Automated Software Engineering},
- pages = {124--155},
- year = 2005}
-
-@article{BalChrEngErw:csmodsa07,
- author = {Jan-Christopher Bals and Fabian Christ and Gregor Engels and Martin Erwig},
- title = {ClassSheets -- Model-Based, Object-Oriented Design of Spreadsheet Applications},
- journal = {Journal of Object Technology, Special Issue: TOOLS EUROPE 2007},
- year = {2007},
- volume = {6},
- number = {9},
- pages = {383--398},
- month = oct}
-
-@article{BKR:Moumfepir,
- title={{Mediation of user models for enhanced personalization in recommender systems}},
- author={Shlomo Berkovsky and Tsvi Kuflik and Francesco Ricci},
- journal={User Modeling and User-Adapted Interaction},
- month = aug,
- pages= {245--286},
- number = 3,
- volume = 18,
- year={2008}}
-
-@article{HA:ALKmAPOSDLE,
- title={{Arbeiten, Lernen und Kooperieren mit APOSDLE}},
- author={Hambach, S. and Aehnelt, M.},
- journal={Landes Technologie Anzeiger: Technology and Research in Northern Germany},
- month = feb,
- pages= {28},
- year={2008}}
-
-@Misc{URL:COMPILE,
- key = {COMPILE},
- title = {{COMPILE project: Cooperative Open Multimedia-based Process-centered Integrated Learning Environment}},
- note = {seen August 2008},
- url = {http://wwwpsy.uni-muenster.de/Psychologie.inst4/AEPio/forschung/compile.html}}
-
-@Misc{URL:APOSDLE,
- key = {APOSDLE},
- title = {{APOSDLE project: Advanced Process-Oriented Self-Directed Learning Environment}},
- note = {seen August 2008},
- url = {http://www.aposdle.tugraz.at/}}
-
-@article{FKS:BKIaMIoDMaOM,
- title={{Background Knowledge, Indexing and Matching-Interdependencies of Document Management and Ontology-Maintenance}},
- author={Faatz, A. and Kamps, T. and Steinmetz, R.},
- journal={ECAI workshop ontology learning},
- year={2000}}
-
-@article{HSDMFS:BSoRECBOLOM,
- title={{Building Structures of Reusable Educational Content Based on LOM}},
- author={Hoermann, S. and Seeberg, C. and Divac-Krnic, L. and Merkel, O. and Faatz, A. and Steinmetz, R.},
- journal={Proceedings of The 15\textsuperscript{th} Conference On Advanced Information Systems Engineering workshop on Semantic Web for Web-based Learning},
- year={2003}}
-
-@InProceedings{TudoracheNoy:CollaborativeProtege2007,
- author = {Tania Tudorache and Natasha Noy},
- title = {Collaborative {Prot{\'e}g{\'e}}},
- booktitle = {Workshop on Social and Collaborative Construction of Structured Knowledge (CKC) at WWW},
- year = 2007}
-
-@online{specgen:on,
- urldate = {2009-10-22},
- crossref = {specgen}}
-
-@Misc{specgen,
- author = {Sergio Fern{\'a}ndez and Uldis Boj{\=a}rs and Christopher Schmidt},
- title = {{SpecGen} v5 -- ontology specification generator tool},
- url = {http://forge.morfeo-project.org/wiki_en/index.php/SpecGen}}
-
-@Misc{Decraene:OWL-RDFa07,
- author = {David Decraene},
- title = {Online Ontology Visualisation: Embedding {OWL-RDFS} syntax in {XHTML} with {RDFa}},
- month = nov,
- year = 2007,
- url = {http://ontologyonline.blogspot.com/2007/11/embedding-owl-rdfs-syntax-in-xhtml-with.html}}
-
-@online{baetle:on,
- urldate = {2009-10-27},
- crossref = {baetle:base}}
-
-@Misc{baetle,
- note = {seen August 2008},
- crossref = {baetle:base}}
-
-@Misc{baetle:base,
- key = {Baetle},
- author = {Abraham Bernstein and Jonas Tappolet and Henry Story and others},
- title = {baetle -- Bug And Enhancement Tracking Language},
- url = {http://baetle.googlecode.com}}
-
-@InCollection{Strawson73,
- author = {P. F. Strawson},
- title= {On referring},
- editor = {J{\'a}nos S. Pet{{\"o}}fi and Dorothea Franck},
- booktitle = {Presuppositions in Philosophy and Linguistics},
- pages = {193--220},
- publisher = {Athen{\"a}um Verlag},
- year = 1973}
-
-@Article{Fraassen66,
- author = {Bas~C. van Fraassen},
- title = {Singular terms, truth-value gaps, and free logic},
- journal = {The Journal of Philosophy},
- year = 1966,
- volume = {LXIII},
- number = 17,
- pages = {481--495}}
-
-
-@Article{Herzberger73,
- author = {H. Herzberger},
- title = {Dimensions of truth.},
- journal = {Journal of Philosophical Logic},
- year = 1973,
- volume = 2,
- pages = {335--356}}
-
-@InProceedings{FraserEtAl:ArgumentationMailingLists2006,
- author = {Colin Fraser and Harry Halpin and Kavita E. Thomas},
- title = {Developing an Argumentation Ontology for Mailing Lists},
- booktitle = {AIMSA},
- pages = {150--161},
- year = {2006},
- editor = {J{\'e}r{\^o}me Euzenat and John Domingue},
- number = {4183},
- series = {LNAI},
- publisher = {Springer Verlag}}
-
-@MISC{neon-deliv-collaborative-ontology-design,
- author = {Klaas Dellschaft and Aldo Gangemi and Jose Manuel Gomez and Holger Lewen and Valentina Presutti and Margherita Sini},
- title = {Practical Methods to Support Collaborative Ontology Design},
- editor = {Klaas Dellschaft},
- url = {http://www.neon-project.org/web-content/images/Publications/neon_2008_d2.3.1.pdf},
- month = feb,
- note = {NEON EU-IST-2005-027595 Deliverable D2.3.1},
- year = 2008}
-
-@MISC{neon-deliv-methodology,
- author = {{Mari Carmen} Su{\'a}rez-Figueroa and Guadalupe Aguado de Cea and
- Carlos Buil and Klaas Dellschaft and Mariano
- Fern{\'a}ndez-L{\'o}pez and Andr{\'e}s Garc{\'i}a and
- Asunci{\'o}n G{\'o}mez-P{\'e}rez and German Herrero and Elena
- Montiel-Ponsoda and Marta Sabou and Boris Villazon-Terrazas
- and Zheng Yufei},
- title = {{NeOn} Methodology for Building Contextualized Ontology Networks},
- editor = {{Mari Carmen} Su{\'a}rez-Figueroa},
- url = {http://www.neon-project.org/web-content/images/Publications/neon_2008_d5.4.1.pdf},
- month = feb,
- note = {NEON EU-IST-2005-027595 Deliverable D5.4.1},
- year = 2008}
-
-@inproceedings{PinStaTem:diligent04,
- author = {Helena Sofia Pinto and Steffen Staab and Christoph Tempich},
- title = {{DILIGENT: Towards a fine-grained methodology for Distributed,
- Loosely-controlled and evolving Engineering of oNTologies}},
- booktitle = {ECAI},
- year = {2004},
- pages = {393--397},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@inproceedings{DellschaftEtAl:Cicero08,
- author = {Klaas Dellschaft and Hendrik Engelbrecht and Jos{\'e} {Monte Barreto} and Sascha Rutenbeck and Steffen Staab},
- title = {Cicero: Tracking Design Rationale in Collaborative Ontology Engineering},
- crossref={eswc2008},
- pages={782--786}}
-
-
-
-
-
-@InProceedings{BCL:OzoneBrowserSemanticOverlays09,
- author = {Gr{\'e}goire Burel and Amparo E. Cano and Vitaveska Lanfranchi},
- title = {Ozone Browser: Augmenting the Web with Semantic Overlays},
- crossref = {SFSW09}}
-
-@InProceedings{HMF:ResearchersMap09,
- author = {Olaf Hartig and Hannes M{\"u}hleisen and Johann-Christoph Freytag},
- title = {Linked Data for Building a Map of Researchers},
- crossref = {SFSW09}}
-
-@InProceedings{HeeseEtAl:OneClickAnnot10,
- author = {Ralf Heese and Markus Luczak-R{\"o}sch and Radoslaw Oldakowski and Olga Streibel and Adrian Paschke},
- title = {One Click Annotation},
- crossref = {SFSW10}}
-
-
-@online{Tralics:online,
- title = {Tralics: a {\LaTeX} to {XML} translator},
- url = {http://www-sop.inria.fr/miaou/tralics/},
- urldate = {2010-09-27}}
-
-
-
-
-
-@INPROCEEDINGS{AbanadesEtAl:OpenMathDGS08,
- author = {Miguel A. Ab{\'a}nades and Jes{\'u}s Escribano and Francisco Botana},
- title = {First Steps on Using OpenMath to Add Proving Capabilities to Standard Dynamic Geometry Systems},
- pages = {131--145},
- crossref = {MKM07}}
-
-
-
-
-
-
-
-
-@Misc{wikipedia-de:portfolio,
- key = {Wikipedia: Portfolio},
- title = {{Wikipedia: Portfolio (aus Wikipedia, der freien Enzyklop{\"a}die)}},
- month = jul,
- year = 2008,
- crossref = {wikipedia},
- url = {http://de.wikipedia.org/w/index.php?title=Portfolio&oldid=47657869}}
-
-@Article{UreCimIri:sakmrsa06,
- author = {Victoria Uren and Philipp Cimiano and Jos{\'e} Iria and Siegfried Handschuh and Maria Vargas-Vera and Enrico Motta and Fabio Ciravegna},
- title = {Semantic Annotation for Knowledge Management: Requirements and a State
- of the Art},
- journal = {Web Semantics: Science, Services, and Agents on the World Wide Web},
- year = 2006,
- volume = 4,
- number = 1,
- pages = {14--28},
- month = jan}
-
-
-
-@Misc{AM:FCCaCTSM,
- author = {Adam Mathes},
- title = {{Folksonomies -- Cooperative Classification and Communication Through Shared Metadata}},
- url = {http://www.adammathes.com/academic/computer-mediated-communication/folksonomies.html},
- note = {\seen December 2004}}
-
-@InProceedings{SuthersXu:Kukakuka02,
- author = {Daniel Suthers and Jun Xu},
- title = {K{\=u}k{\=a}k{\=u}k{\=a}: An Online Environment for Artifact-Centered Discourse},
- booktitle = {Education Track of the 11\textsuperscript{th} World Wide Web Conference (WWW)},
- pages = {472--480},
- year = 2002,
- month = may}
-
-@InProceedings{GorKar:ZenoArgumentation97,
- author = {Thomas F. Gordon and Nikos Karacapilidis},
- title = {The Zeno Argumentation Framework},
- booktitle = {Sixth International Conference on Artificial Intelligence and Law},
- pages = {10--18},
- publisher = {ACM Press},
- year = {1997}}
-
-@inproceedings{PS:DirectManipEditorMath04,
- author = {Luca Padovani and Riccardo Solmi},
- title = {An Investigation on the Dynamics of Direct-Manipulation Editors for Mathematics},
- pages = {302--316},
- crossref = {MKM04}}
-
-@inproceedings{LKLC:AGBATDISDLFM,
- author = {Lori Lorigo and Jon M. Kleinberg and Richard Eaton and Robert L. Constable},
- title = {{A Graph-Based Approach Towards Discerning Inherent Structures
- in a Digital Library of Formal Mathematics}},
- booktitle = {MKM},
- year = {2004},
- pages = {220--235},
- ee =
-{http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=3119{\&}spage=220},
- crossref = {MKM04}}
-
-@TECHREPORT{KunzRittel:IBIS70,
- title={Issues as elements of information systems},
- institution={{Institute of Urban and Regional Development, University of California, Berkeley}},
- month = jul,
- year = 1970,
- number=131,
- type={Working paper},
- author={Werner Kunz and Rittel, Horst W. J.}}
-
-@manual{popcorn,
- editor = {Peter Horn and Dan Roozemond},
- title = {The {Popcorn} {OpenMath} Representation},
- organization = {SCIEnce EU Project},
- version = {1.0},
- year = 2009,
- month = apr,
- urldate = {2009-11-12},
- url = {http://java.symcomp.org/FormalPopcorn.html}}
-
-@manual{unicode,
- title = {Unicode},
- version = {6.2.0},
- organization = {Unicode, Inc.},
- year = 2012,
- month = oct,
- url = {http://www.unicode.org/versions/Unicode6.2.0/},
- urldate = {2013-03-07}}
-
-@manual{unicode52,
- title = {Unicode},
- version = {5.2.0},
- organization = {Unicode, Inc.},
- year = 2009,
- month = oct,
- date = {2009-10-21},
- url = {http://www.unicode.org/versions/Unicode5.2.0/},
- urldate = {2010-08-11}}
-
-@online{sioc-types,
- urldate = {2009-10-27},
- title = {{SIOC} Types Ontology Module Namespace},
- url = {http://rdfs.org/sioc/types}}
-
-@manual{SIOC-Core,
- editor = {Uldis Boj{\=a}rs and John G. Breslin},
- author = {Diego Berrueta and Dan Brickley and Stefan Decker and Sergio Fern{\'a}ndez and Christoph G{\"o}rn and Andreas Harth and Tom Heath and Kingsley Idehen and Kjetil Kjernsmo and Alistair Miles and Alexandre Passant and Axel Polleres and Luis Polo},
- title = {{SIOC} Core Ontology Specification},
- version = {1.35},
- year = 2010,
- month = mar,
- date = {2010-03-25},
- urldate = {2010-05-02},
- url = {http://rdfs.org/sioc/spec/}}
-
-@TECHREPORT{w3c:SUBM-spin-overview-20110222,
- title = {{SPIN} -- Overview and Motivation},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2011-02-22},
- type = {{W3C Member Submission}},
- url = {http://www.w3.org/Submission/2011/SUBM-spin-overview-20110222/},
- author = {Holger Knublauch and James A. Hendler and Kingsley Idehen}}
-
-@TECHREPORT{W3C:SIOC-Core,
- title = {{SIOC} Core Ontology Specification},
- institution = {World Wide Web Consortium ({W3C})},
- month = jun,
- year = 2007,
- type = {{W3C Member Submission}},
- url = {http://www.w3.org/Submission/2007/SUBM-sioc-spec-20070612/},
- author = {Uldis Boj{\=a}rs and John G. Breslin}}
-
-@inproceedings{BaumeisterPuppe:WbKEuKW,
- author = {Joachim Baumeister and Frank Puppe},
- title = {Web-based Knowledge Engineering using Knowledge Wikis},
- booktitle = {Proc.\ of the AAAI Spring Symposium on ``Symbiotic
- Relationships between Semantic Web and Knowledge
- Engineering''},
- pages = {1--13},
- year = 2008}
-
-@mastersthesis{braendle:koeche-wikipedia05,
- author = {Andreas Br{\"a}ndle},
- title = {{Zu wenige K{\"o}che verderben den Brei. Eine Inhaltsanalyse der Wikipedia aus Perspektive der journalistischen Qualit{\"a}t, des Netzeffekts und der {\"O}konomie der Aufmerksamkeit.}},
- school = {Universit{\"a}t Z{\"u}rich},
- year = 2005,
- hyphenation = {ngerman}}
-
-@online{WhenCanIUseMathML,
- title = {{When can I use MathML?}},
- date = {2012-03-18},
- year = 2012,
- url = {http://caniuse.com/mathml} }
-
-@online{wikipedia:mathml-webbrowsers,
- key = {Wikipedia: MathML},
- title = {{MathML (Software support/Web browsers)}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2012-03-16},
- year = 2012,
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=MathML&oldid=482267822#Web_browsers} }
-
-@online{wikipedia:semantic-technology,
- key = {Wikipedia: Semantic technology},
- title = {{Semantic technology}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-05-26},
- crossref = {wikipedia:biblatex},
- annote = {semantic technology encodes meanings separately from data and content files, and separately from application code.},
- url = {http://en.wikipedia.org/w/index.php?title=Semantic_technology&oldid=364383790} }
-
-@online{wikipedia:relevance,
- key = {Wikipedia: Relevance (Information Retrieval)},
- title = {{Wiki}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2014-03-08},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Relevance_%28information_retrieval%29&oldid=551721467} }
-
-@online{wikipedia:wiki,
- key = {Wikipedia: Wiki},
- title = {{Wiki}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-10-03},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wiki&oldid=388369282} }
-
-
-@online{wikipedia:knowledge-management,
- key = {Wikipedia: Knowledge management},
- title = {{Knowledge management}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2009-12-02},
- month = dec,
- year = 2009,
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Knowledge_management&oldid=329227520} }
-
-@online{wikipedia:template-messages-cleanup,
- key = {Wikipedia: Template messages/Cleanup},
- title = {{Wikipedia: Template messages/Cleanup}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-09-29},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:Template_messages/Cleanup&oldid=387649325}}
-
-@online{wikipedia:hebrew-calendar,
- key = {Wikipedia: Hebrew calendar},
- title = {{Wikipedia: Hebrew calendar}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2011-07-13},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Hebrew_calendar&oldid=439292035}}
-
-@online{wikipedia:assume-good-faith,
- key = {Wikipedia: Assume good faith},
- title = {{Wikipedia: Assume good faith}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-10-16},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:Assume_good_faith&oldid=391099044}}
-
-@online{wikipedia:be-bold,
- key = {Wikipedia: Be bold},
- title = {{Wikipedia: Be bold}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-10-21},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:Be_bold&oldid=391966034}}
-
-@online{wikipedia:talk-page,
- key = {Wikipedia: Talk page},
- title = {{Wikipedia: Talk page}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2009-11-02},
- month = nov,
- year = 2009,
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:Talk_page&oldid=323514011}}
-
-@online{wikipedia:human-development-index,
- key = {Wikipedia: Human Development Index},
- title = {Human Development Index},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-08-22},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Human_Development_Index&oldid=380378550}}
-
-@online{wikipedia:linked-data,
- key = {Wikipedia: Linked Data},
- title = {{Linked Data}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-06-18},
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Linked_Data&oldid=459835053}}
-
-@online{wikipedia:NPOV,
- key = {Wikipedia: Neutral point of view},
- title = {{Wikipedia: Neutral point of view}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2009-10-28},
- month = oct,
- year = 2009,
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:Neutral_point_of_view&oldid=322591480}}
-
-@online{wikipedia:edit-summary,
- key = {Wikipedia: Edit summary},
- title = {{Help: Edit summary}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2009-11-02},
- month = nov,
- year = 2009,
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Help:Edit_summary&oldid=323403778}}
-
-
-
-@TechReport{Neumann:fdre45,
- author = {John von Neumann},
- title = {First Draft of a Report on the EDVAC},
- institution = {University of Pennsylvania},
- url = {http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf},
- year = 1945}
-
-@online{wikipedia:NOR,
- key = {Wikipedia: No original research},
- title = {{Wikipedia: No original research}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2009-11-01},
- month = nov,
- year = 2009,
- crossref = {wikipedia:biblatex},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:No_original_research&oldid=323200797}}
-
-@Misc{Zuse:vsdrhr36,
- author = {Konrad Zuse},
- title = {Verfahren zur selbstt{\"a}tigen Durchf{\"u}hrung von Rechnungen mit Hilfe von Rechenmaschinen},
- howpublished = {Patent Application Z23139/GMD Nr. 005/021},
- year = 1936}
-
-@Misc{wikipedia-de:zusammenfassung-und-quelle,
- key = {Wikipedia: Zusammenfassung und Quelle},
- title = {{Hilfe: Zusammenfassung und Quelle (aus Wikipedia, der freien Enzyklop{\"a}die)}},
- month = may,
- year = 2008,
- crossref = {wikipedia},
- url = {http://de.wikipedia.org/w/index.php?title=Hilfe:Zusammenfassung_und_Quelle&oldid=46731506}}
-
-@Misc{wikipedia-de:bewertungsbausteine,
- key = {Wikipedia: Bewertungsbausteine},
- title = {{Wikipedia: Bewertungsbausteine (aus Wikipedia, der freien
- Enzyklop{\"a}die)}},
- howpublished = {\url{http://de.wikipedia.org/w/index.php?title=Wikipedia:Bewertungsbausteine&oldid=44205795}},
- month = mar,
- year = 2008,
- crossref = {wikipedia},
- url = {http://de.wikipedia.org/w/index.php?title=Wikipedia:Bewertungsbausteine&oldid=44205795}}
-
-@Misc{wikipedia:talk-page-guidelines,
- key = {Wikipedia: Talk page guidelines},
- title = {{Wikipedia: Talk page guidelines}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Wikipedia:Talk_page_guidelines&oldid=227197584}},
- month = jul,
- year = 2008,
- crossref = {wikipedia},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:Talk_page_guidelines&oldid=227197584}}
-
-@Misc{wikipedia-de:diskussionsseiten,
- key = {Wikipedia: Diskussionsseiten},
- title = {{Wikipedia: Diskussionsseiten (aus Wikipedia, der freien Enzyklop{\"a}die)}},
- howpublished = {\url{http://de.wikipedia.org/w/index.php?title=Wikipedia:Diskussionsseiten&oldid=46659885}},
- month = may,
- year = 2008,
- crossref = {wikipedia},
- url = {http://de.wikipedia.org/w/index.php?title=Wikipedia:Diskussionsseiten&oldid=46659885}}
-
-@Misc{wikipedia-de:neutraler-standpunkt,
- key = {Wikipedia: Neutraler Standpunkt},
- title = {{Wikipedia: Neutraler Standpunkt (aus Wikipedia, der freien Enzyklop{\"a}die)}},
- howpublished = {\url{http://de.wikipedia.org/w/index.php?title=Wikipedia:Neutraler_Standpunkt&oldid=46873335}},
- url = {http://de.wikipedia.org/w/index.php?title=Wikipedia:Neutraler_Standpunkt&oldid=46873335},
- month = jun,
- year = 2008,
- crossref = {wikipedia}}
-
-@book{Fensel:Ontologies03,
- address = {Secaucus, NJ, USA},
- author = {Fensel, Dieter},
- publisher = {Springer Verlag New York, Inc.},
- title = {Ontologies: A Silver Bullet for Knowledge Management and Electronic Commerce},
- year = {2003}}
-
-@inproceedings{KitturSPC07:ConflictWikipedia,
- author = {Aniket Kittur and
- Bongwon Suh and
- Bryan A. Pendleton and
- Ed H. Chi},
- title = {He says, she says: conflict and coordination in Wikipedia},
- booktitle = {CHI},
- year = {2007},
- pages = {453--462},
- ee = {http://doi.acm.org/10.1145/1240624.1240698},
- crossref = {chi2007},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@online{mediawiki:on,
- urldate = {2009-10-22},
- crossref = {mediawiki:base}}
-
-@MISC{mediawiki,
- howpublished = {\url{http://www.mediawiki.org}},
- note = {seen June 2008},
- crossref = {mediawiki:base}}
-
-@MISC{mediawiki:base,
- title = {{MediaWiki}},
- url = {http://www.mediawiki.org},
- key = {MediaWiki}}
-
-@online{mediawiki:API,
- title = {{MediaWiki} -- API},
- author = {David McCabe and Andrew Garrett},
- url = {http://www.mediawiki.org/w/index.php?title=API:Main_page&oldid=574291},
- date = {2012-08-21}}
-
-@online{mediawiki:LiquidThreads,
- title = {{MediaWiki} -- LiquidThreads},
- author = {David McCabe and Andrew Garrett},
- url = {http://www.mediawiki.org/w/index.php?title=Extension:LiquidThreads&oldid=353654},
- date = {2010-09-29}}
-
-@online{mediawiki:FlaggedRevs,
- title = {{MediaWiki} -- Flagged Revisions},
- author = {Aaron Schulz and Joerg Baach},
- url = {http://www.mediawiki.org/w/index.php?title=Extension:FlaggedRevs&oldid=333905},
- date = {2010-06-27}}
-
-@Online{mediawiki:ReplaceText,
- Author = {Yaron Koren and Niklas Laxstr{\"o}m},
- title = {MediaWiki -- Replace Text},
- url = {http://www.mediawiki.org/w/index.php?title=Extension:Replace_Text&oldid=354868},
- urldate = {2010-10-10}}
-
-@Online{mediawiki:SemanticInternalObjects,
- Author = {Yaron Koren},
- title = {MediaWiki -- Semantic Internal Objects},
- url = {http://www.mediawiki.org/w/index.php?title=Extension:Semantic_Internal_Objects&oldid=352992},
- date = {2010-09-26}}
-
-@Online{mediawiki:SemanticForms,
- author = {Yaron Koren and others},
- title = {MediaWiki -- Semantic Forms},
- url = {http://www.mediawiki.org/w/index.php?title=Extension:Semantic_Forms&oldid=347072},
- date = {2010-08-26}}
-
-@inproceedings{huynh_exhibit_2007,
- crossref={www2007},
- author = {David Huynh and David Karger and Rob Miller},
- title = {Exhibit: Lightweight Structured Data Publishing},
- url = {http://www2007.org/paper161.php}}
-
-@inproceedings{Polleres:SPARQL-Rules07,
- author = {Axel Polleres},
- title = {From {SPARQL} to rules (and back)},
- crossref={www2007},
- pages = {787--796}}
-
-@inproceedings{HuQu-08,
- title = {{Falcon-AO: A practical ontology matching system}},
- author = {Wei Hu and Yuzhong Qu},
- pages = {237--239},
- crossref={www2007},
-}
-
-
-@INPROCEEDINGS{tbl:tabulator,
-AUTHOR = "Tim Berners-Lee and Yuhsin Chen and Lydia Chilton and Dan Connolly and Ruth Dhanaraj and James Hollenbach and Adam Lerer and David Sheets",
-TITLE = {Tabulator: Exploring and Analyzing linked data on the Semantic Web},
-BOOKTITLE = "Proceedings of the 3\textsuperscript{rd} International Semantic Web User Interaction Workshop (SWUI06)",
-MONTH = nov,
-YEAR = 2006,
-LANGUAGE = {English}}
-
-@inproceedings{TumDelOre:Sindice07,
- Author = {Giovanni Tummarello and Renaud Delbru and Eyal Oren},
- crossref = {iswc2007},
- Ee = {http://dx.doi.org/10.1007/978-3-540-76298-0_40},
- pages = {552--565},
- Title = {Sindice.com: Weaving the Open Linked Data},
- Year = 2007}
-
-@book{EGH:Wiki08,
- author = {Anja Ebersbach and Markus Glaser and Richard Heigl},
- title = {Wiki: Web Collaboration},
- year = 2008,
- publisher={Springer Verlag},
- address ={New York}}
-
-@book{TK:TSoSR,
- author = {Thomas S. Kuhn},
- title = {The Structure of Scientific Revolution},
- year = {1996},
- isbn = {978-0226458083},
- note = {Originally published in 1962},
- publisher = {University Of Chicago Press; 3 edition}}
-
-@incollection{ZYAQ:SATfAESVSN,
- author = {Jun Zhang and Yang Ye and Mark S. Ackerman and Yan Qu},
- title = {{SISN: A Toolkit for Augmenting Expertise Sharing Via Social Networks }},
- pages = {491--500},
- crossref = {LNCS:OCaSC}}
-
-@incollection{KM:CSNfISACBA,
- author = {Rushed Kanawati and Maria Malek},
- title = {{Computing Social Networks for Information Sharing: A Case-Based Approach}},
- pages = {86--95},
- crossref = {LNCS:OCaSC}}
-
-@MISC{POPCORN:web,
- key = {POPCORN},
- author = {Peter Horn},
- title = {{POPCORN} for {\openmath}},
- howpublished = {\url{http://www.mathematik.uni-kassel.de/~hornp/popcorn-for-openmath}},
- url = {http://www.mathematik.uni-kassel.de/~hornp/popcorn-for-openmath},
- note = {\seen June 2008}}
-
-@online{asciencepad:on,
- urldate = {2009-11-10},
- crossref = {asciencepad:base}}
-
-@MISC{asciencepad:web,
- howpublished = {\url{http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html}},
- note = {\seen June 2008},
- crossref = {asciencepad:base}}
-
-@MISC{asciencepad:base,
- key = {ASciencePad},
- author = {Peter Jipsen},
- title = {{ASciencePad} -- a {TiddlyWiki} suitable for scientific notes},
- url = {http://math.chapman.edu/~jipsen/asciencepad/asciencepad.html}}
-
-@online{WirisMoodle:on,
- urldate = {2009-11-10},
- crossref = {WirisMoodle:base}}
-
-@MISC{WirisMoodle:web,
- key = {Wiris},
- howpublished = {\url{http://www.wiris.com/content/view/96/}},
- note = {\seen June 2008},
- crossref = {WirisMoodle:base}}
-
-@MISC{WirisMoodle:base,
- author = {Ramon Eixarch},
- title = {{WIRIS} Plugin for {Moodle}},
- url = {http://www.wiris.com/content/view/96/}}
-
-@misc{URL:Kuro5hin,
- key = {Kuro5hin},
- title = {{Kuro5hin: Technology and Culture, from the trenches.}},
- note = {\seen June 2008},
- howpublished = {\url{http://www.kuro5hin.org/}},
- url = {http://www.kuro5hin.org/}}
-
-
-
-
-
-
-@inproceedings{PSD:ERiMASbMoSNT,
- author = {Josep M. Pujol and Ramon Sang{\"u}esa and Jordi Delgado},
- title = {Extracting reputation in multi agent systems by means of social network topology},
- booktitle = {AAMAS '02: Proceedings of the first international joint conference on Autonomous agents and multiagent systems},
- year = {2002},
- isbn = {1-58113-480-0},
- pages = {467--474},
- location = {Bologna, Italy},
- doi = {http://doi.acm.org/10.1145/544741.544853},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@misc{URL:XBEL,
- key = {XBEL},
- title = {{XML Bookmark Exchange Language}},
- note = {\seen June 2008},
- howpublished = {\url{http://pyxml.sourceforge.net/topics/xbel/}},
- url = {http://pyxml.sourceforge.net/topics/xbel/}}
-
-@misc{URL:XOXO,
- key = {XOXO},
- title = {{eXtensible Open XHTML Outlines}},
- note = {\seen June 2008},
- howpublished = {\url{http://microformats.org/wiki/xoxo}},
- url = {http://microformats.org/wiki/xoxo}}
-
-@misc{URL:OML,
- key = {OML},
- title = {{Outline Markup Language}},
- note = {\seen June 2008},
- howpublished = {\url{http://oml.sourceforge.net/}},
- url = {http://oml.sourceforge.net/}}
-
-@misc{URL:OPML,
- key = {OPML},
- title = {{Outline Processor Markup Language}},
- note = {\seen June 2008},
- howpublished = {\url{http://www.opml.org/}},
- url = {http://www.opml.org/}}
-
-@misc{URL:APML,
- key = {APML},
- title = {{Attention Profiling Markup Language}},
- note = {\seen June 2008},
- howpublished = {\url{http://www.opml.org/}},
- url = {http://www.apml.org/}}
-
-@misc{NB:DPRNP,
- author = {Nitin Borwankar},
- title = {{Data Property Rights, Not Portability}},
- publisher = {\url{http://gigaom.com/}},
- note = {\seen June 2008},
- url = {http://gigaom.com/2008/02/06/data-property-rights-not-portability/}}
-
-@misc{IA:DpatFS,
- author = {Imran Ali},
- title = {{Data Portability and the File System}},
- publisher = {\url{http://webworkerdaily.com/}},
- note = {\seen June 2008},
- url = {http://webworkerdaily.com/2008/04/25/data-portability/}}
-
-@misc{wiki:spreadsheet,
- author = "Wikipedia",
- title = "Spreadsheet --- Wikipedia{} The Free Encyclopedia",
- year = "2008",
- url = "http://en.wikipedia.org/w/index.php?title=Spreadsheet&oldid=217887658",
- note = "[Online; accessed 8-June-2008]"
- }
-
-@misc{URL:OpenID,
- key = {OpenID},
- title = {{OpenID: Shared Identity Service}},
- publisher = {\url{http://openid.net/}},
- note = {\seen June 2008},
- url = {http://openid.net/}}
-
-
-@online{OpenID:webpage,
- key = {OpenID},
- title = {{OpenID: Shared Identity Service}},
- url = {http://openid.net/},
- lastchecked = {June 2008}}
-
-
-@Book{DurBrauOpp:odfoa07,
- TITLE = {Open Document Format for Office Applications (OpenDocument) v1.1},
- YEAR = {2007},
- EDITOR = {Durusau, Patrick and Brauer, Michael and Oppermann, Lars},
- PUBLISHER = {Organization for the Advancement of Structured Information Standards (OASIS)},
- url = {http://docs.oasis-open.org/office/v1.1/OS/OpenDocument-v1.1.pdf}}
-
-@MISC{drupal:web,
- key= {Drupal},
- title = {Drupal.org -- Community plumbing},
- url = {http://drupal.org},
- note = {\webpageat\url{http://drupal.org}}}
-
-
-@MISC{wordpress:web,
- key= {Wordpress},
- title = {Wordpress -- {Blog Tool and Publishing Platform}},
- url = {http://wordpress.org/},
- note = {\webpageat\url{http://wordpress.org/}}}
-
-
-@INPROCEEDINGS{LR:LOAVLTUAHS,
- author = {John Lamping and Ramana Rao},
- title = {{Laying Out and Visualizing Large Trees Using a Hyperbolic Space}},
- journal = {Proceedings of the ACM Symposium on User Interface Software and Technology},
- year = 1994,
- publisher = {ACM Press},
- url = {http://www2.parc.com/csl/groups/sda/publications/papers/Lamping-UIST94/for-web.pdf},
- pages = {13--14}}
-
-
-@Manual{Tantau:ugbc,
- title = {User Guide to the Beamer Class},
- author = {Till Tantau},
- url = {http://ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf}}
-
-@PhdThesis{Lawvere:fsat63,
- author = "F. William Lawvere",
- title = "Functional Semantics of Algebraic Theories",
- school = "Columbia University",
- year = {1963},
- url = {http://www.tac.mta.ca/tac/reprints/articles/5/tr5.pdf}}
-
-@online{beamerclass:on,
- title = {beamer -- A LaTeX class for producing presentations and slides},
- author = {Till Tantau},
- urldate = {2014-01-07},
- url={http://ctan.org/pkg/beamer}}
-
-@article{Barnard:teifede97,
- author = "David T. Barnard and Nancy Ide",
- title = "The Text Encoding Initiative: Flexible and Extensible Document Encoding",
- journal = "Journal of the American Society of Information Science",
- volume = "48",
- number = "7",
- pages = "622--628",
- year = "1997"}
-
-@Misc{GKN:DGWD,
- author = {Emden Gansner and Eleftherios Koutsofios and Stephen North},
- title = {{Drawing graphs with dot}},
- year = {2006},
- type = {User Manual},
- url = {http://www.graphviz.org/Documentation/dotguide.pdf}}
-
-@inproceedings{CP:MultilingualRDFOWL05,
- author = {Jeremy J. Carroll and Addison Phillips},
- title = {Multilingual {RDF} and {OWL}},
- crossref = {eswc2005}}
-
-@inproceedings{TPSS:DILIGENT05,
- author = {Christoph Tempich and H. Sofia Pinto and York Sure and Steffen Staab},
- title = {An Argumentation Ontology for {DIstributed}, {Loosely}-controlled and {evolvInG} {Engineering} processes of {oNTologies} ({DILIGENT})},
- pages = {241--256},
- crossref = {eswc2005}}
-
-@inproceedings{HL:ConsistEvolutionOWLOnto05,
- author = {Peter Haase and Ljiljana Stojanovic},
- title = {Consistent evolution of {OWL} ontologies},
- pages = {182--197},
- crossref = {eswc2005}}
-
-@Article{TSLSP:ArguOntoEng07,
- author = {Christoph Tempich and Elena Simperl and Markus Luczak and Rudi Studer and H. Sofia Pinto},
- title = {Argumentation-Based Ontology Engineering},
- journal = {IEEE Intelligent Systems},
- volume = {22},
- number = {6},
- year = {2007},
- issn = {1541-1672},
- pages = {52--59},
- publisher = {IEEE Educational Activities Department}}
-
-@Article{BDHU:SIOC06,
- author = {John G. Breslin and Stefan Decker and Andreas Harth and Uldis
- Boj{\=a}rs},
- title = {{SIOC}: an approach to connect web-based communities},
- journal = {International Journal of Web Based Communities},
- year = {2006},
- volume = {2},
- number = {2},
- pages = {133--142},
- month = jul}
-
-@misc{MT:NSWM,
- key = {Spaceflight},
- title = {No Spaceflight without math},
- publisher = {\url{http://www.mathtics.doze.at}},
- year = {2008},
- url = {http://www.mathtics.doze.at/mathTICs1/mathTICs10/mathTICs109/mathTICs109.html}}
-
-
-@BOOK{BSMG:TAAIOMDFSS,
- author = {David J. Bartholomew and Fiona Steele and Irini Moustaki and Jane I. Galbraith},
- title = {The analysis and interpretation of multivariate data for social scientists},
- publisher = {Chapman \& Hall/CRC},
- year = {2002},
- place = {Boca Raton and London and New York and Washington D.C.}}
-
-
-@BOOK{VK:DPfLaA,
- author = {Val Klenowski},
- title = {Developing Portfolios for Learning and Assessment},
- publisher = {Routledge},
- year = {2002},
- place = {London and New York}}
-
-@BOOK{SBAH:DaUP,
- author = {B. D. Shaklee and N. E. Barbour and R. Ambrose and S. J. Hansford},
- title = {Designing and Using Portfolios.},
- publisher = {Allyn {and} Bacon},
- year = {1997},
- place = {Boston}}
-
-@InProceedings{Shneiderman:puumlid03,
- author = {Ben Shneiderman},
- title = {Promoting Universal Usibility with Multi-Layer Interface Design},
- booktitle = {CUU '03},
- pages = {1--8},
- year = 2003,
- publisher = {ACM}}
-
-@InProceedings{WanWooKuch:gumviv00,
- author = {Michelle Q. Wang Baldonado and Allison Woodruff and Allan Kuchinsky},
- title = {Guidelines for using multiple views in information visualization},
- booktitle = {AVI 2000},
- pages = {110--119},
- year = 2000,
- publisher = {ACM}}
-
-@InCollection{CC:MLSMWAPP,
- author = {Jean-Philippe Cointet and David Chavalarias},
- title = {Multi-level science mapping with asymmetrical paradigmatic proximity},
- booktitle = {Networks and Heterogeneous Media (NHM)},
- pages = {267--276},
- volume = 3,
- number = 2,
- year = {2008},
- publisher = {http://aimSciences.org},
- url = {http://aimsciences.org/journals/pdfs.jsp?paperID=3278&mode=full}}
-
-@InCollection{CC:BUSFDFDAHSMMACS,
- author = {David Chavalarias and Jean-Philippe Cointet},
- title = {Bottom-up scientific field detection for dynamical and hierarchical science mapping, methodology and case study},
- booktitle = {Scientometrics},
- pages = {37--50},
- volume = 75,
- number = 1,
- year = {2008},
- publisher = {Akad{\'e}miai Kiad{\'o}, co-published with Springer Science+Business Media B.V., Formerly Kluwer Academic Publishers B.V.},
- url = {http://www.springerlink.com/content/v57686u275653nt4/fulltext.pdf}}
-
-@misc{TSDH:DVPfCoP,
- author = {H. Tolsby and E. K. Sorensen and L. Dirckinck-Holmfeld},
- title = {{Designing Virtual Portfolios for Communities of Practice}},
- year = {2001},
- note = {Presented at The Seventh IFIP World Conference on Computers in Education (WCCE 2001): Networking the Learner, held July 19 -- Aug. 3 in Copenhagen},
- url = {http://www.kommunikation.aau.dk/ansatte/es/publikationer/designing.pdf}}
-
-@InProceedings{TSTF:VP,
- author = {Eugene S. Takle and Elsebeth K. Sorensen and Michael R. Taber and Douglas Fils},
- title = {Virtual Portfolios},
- pages = {135--142},
- crossref = {WCCE01}}
-
-
-@misc{EW:CoPi21C,
- author = {Etienne Wenger},
- title = {{Communities of Practice in 21\textsuperscript{st}-century organization}},
- booktitle = {Forward to the CEFRIO Guidebook},
- year = {2005},
- publisher = {published online \url{http://www.calstat.org/learningCenter/pdfs/05-01-11_CEFRIO_foreword_final.pdf}},
- url = {http://www.calstat.org/learningCenter/pdfs/05-01-11_CEFRIO_foreword_final.pdf}}
-
-@misc{EW:TfC,
- author = {Etienne Wenger and Nancy White and John D. Smith and Kim Rowe},
- title = {{Technology for Communities}},
- booktitle = {Chapter in the CEFRIO Guidebook},
- year = {2005},
- publisher = {published online \url{http://technologyforcommunities.com/CEFRIO_Book_Chapter_v_5.2.pdf}},
- url = {http://technologyforcommunities.com/CEFRIO_Book_Chapter_v_5.2.pdf}}
-
-@InCollection{WSEW:CoPiG,
- author = {William Snyder and Etienne Wenger and Xavier de Sousa Briggs},
- title = {{Communities of Practice in Goverment}},
- booktitle = {The Public Manager},
- pages = {17--21},
- volume = 32,
- number = 4,
- year = {2004},
- note = {Foreword to the CEFRIO guidebook},
- url = {http://www.ewenger.com/pub/pubCoPs_in_government_PM_wrd.doc}}
-
-@misc{URL:CSCoP,
- title = {Computer Science Community of Practice},
- url = {http://www.ndlr.ie/cscop/},
- year = {2008}}
-
-@InProceedings{OH:AMPtSCoPiSE,
- author = {Oriel Herrera and Sergio F. Ochoa and Andr{\'e}s Neyem and Maurizio Betti and Roberto Aldunate and David A. Fuller},
- title = {{A Mobile Portfolio to Support Communities of Practice in Science Education}},
- pages = {416--425},
- year = 2007,
- booktitle = {{Second International Conference, Online Communities and Social Computing 2007, Held as Part of HCI International 2007}},
- editor = {Douglas Schuler},
- publisher = {Springer Verlag Berlin Heidelberg}}
-
-@article{AKMW:AACSCoP,
- author = {Andrea Kienle and Martin Wessner},
- title = {Analysing and cultivating scientific communities of practice},
- journal = {Int. J. Web Based Communities},
- volume = {2},
- number = {4},
- year = {2006},
- issn = {1477-8394},
- pages = {377--393},
- doi = {http://dx.doi.org/10.1504/IJWBC.2006.011765},
- publisher = {Inderscience Publishers},
- address = {Inderscience Publishers, Geneva, SWITZERLAND},
- }
-
-@article{AKMW:TCCITFDDCC,
- author = {Andrea Kienle and Martin Wessner},
- title = {The {CSCL} community in its first decade: development, continuity, connectivity},
- pages = {9--33},
- booktitle = {International Journal of Computer-Supported Collaborative Learning},
- publisher = {Springer New York},
- volume = 1,
- number= 1,
- year = 2006}
-
-@InProceedings{AKMW:PfCSCoP,
- author = {Andrea Kienle and Martin Wessner},
- title = {{Principles for Cultivating Scientific Communities of Practice}},
- pages = {283--299},
- crossref = {ComTech2005}}
-
-@InProceedings{MWAK:IITCCAES,
- author = {Martin Wessner and Andrea Kienle},
- title = {{Interdisciplinarity in the CSCL Community -- an Empirical Study}},
- pages = {N2; Paper Session \#13},
- booktitle = {{Pre-conference Workshop: Kaleidoscope -- Shaping the Scientific Evolution of Technology Enhanced Learning}},
- year = 2007}
-
-
-@InCollection{EW:CoPLaaSS,
- author = {Etienne Wenger},
- title = {{Communities of Practice: Learning as a Social System}},
- booktitle = {Systems Thinker},
- year = {1998},
- publisher = {published online \url{http://www.co-i-l.com/coil/knowledge-garden/cop/lss.shtml}},
- url = {http://www.co-i-l.com/coil/knowledge-garden/cop/lss.shtml}}
-
-@article{MSAU:UKSIOCoP,
- author = {Mark Sharratt and Abel Usoro},
- title = {{Understanding Knowledge-Sharing in Online Communities of Practice}},
- booktitle = {Electronic Journal of Knowledge Management},
- year = 2003,
- volume = 1,
- number = 2,
- publisher = {EJKM available at \url{http://www.ejkm.com/}},
- url = {http://www.ejkm.com/volume-1/volume1-issue-2/issue2-art18.htm},
- notes = {published online at \url{http://www.ejkm.com/volume-1/volume1-issue-2/issue2-art18.htm}}}
-
-
-@InCollection{BJ:SoSGDR,
- author = {Bruce Wayne Tuckman and Mary Ann C. Jensen},
- title = {{Stages of Small-Group Development Revisited}},
- booktitle = {Group \& Organization Management},
- year = 1977,
- volume = 2,
- number = 4,
- pages = {419--427},
- doi = {10.1177/105960117700200404},
- publisher = {SAGE Publications}}
-
-@InCollection{BWT:DSiSG,
- author = {Bruce Wayne Tuckman},
- title = {{Developmental Sequence in Small Groups}},
- booktitle = {Psychological Bulletin: Special Issue on Group Development},
- year = 1965,
- volume = 63,
- number = 6,
- pages = {384--99},
- publisher = {Psychological Bulletin}}
-
-@Article{BurSheRen:thsg02,
- author = {M. M. Burnett and A. Sheretov and B. Ren and G. Rothermel},
- title = {Testing Homogenous Spreadsheet Grids with the ``What You See is What You Test'' Methodology},
- journal = {IEEE Transactions on Software Engineering},
- year = 2002,
- volume = 29,
- number = 6,
- pages = {576--594}}
-
-@InProceedings{AntSteKri:vucsp04,
- author = {T. Antoniu and P. A. Steckler and S. Krischnamurthi and E. Neuwirth and M. Felleisen},
- crossref = {ICSE04},
- title = {Validating the Unit Correctness of Spreasheet Programs},
- pages = {439--448}}
-
-
-
-
-@mastersthesis{Beykov:AggregatingDocuments08,
- author = {Zdravko Beykov},
- title = {Aggregating Documents in {SWiM}},
- type = {Bachelor's thesis},
- school = {Jacobs University Bremen},
- year = 2008}
-
-@misc{EW:SCoPascoT,
- author = {Etienne Wenger},
- title = {{Supporting Communities of Practice: A Survey of Community-oriented Technologies}},
- year = {2001},
- note = {Report to the Council of CIOs of the US Federal Government; published at \url{http://www.ewenger.com/tech/}},
- url = {http://www.ewenger.com/tech/}}
-
-@InProceedings{Nuseibeh:ReqEng00,
- author = {Bashar Nuseibeh and Steve Easterbrook},
- title = {Requirements engineering: a roadmap},
- booktitle = {{ICSE} -- Future of {SE} Track},
- pages = {35--46},
- year = {2000}}
-
-@TechReport{W:BHoDM,
- author = {Dennis G. Watson},
- title = {{Brief History of Document Markup}},
- institution = {University of Florida},
- year = {2002},
- url = {http://edis.ifas.ufl.edu/AE038},
- note = {http://edis.ifas.ufl.edu/AE038}}
-
-@article{BeDeGrNoAP:IoCaC,
- author = {Rudi Belotti and Corsin Decurtins and Michael Grossniklaus and Moira C. Norrie and Alexios Palinginis},
- title = {{Interplay of Content and Context}},
- booktitle = {Journal on Web Engineering (JWE)},
- year = 2005,
- volume = 4,
- number = 1,
- publisher = {Rinton Press}}
-
-
-
-@InProceedings{Ullrichetal-Presentation-ICALT04,
- author = {C. Ullrich and P. Libbrecht and S. Winterstein and M. M{\"u}hlenbrock},
- title = {A Flexible and Efficient Presentation-Architecture for Adaptive Hypermedia: Description and Technical Evaluation},
- booktitle = {Proceedings of the 4\textsuperscript{th} IEEE International Conference on Advanced Learning Technologies (ICALT 2004)},
- pages = {21--25},
- year = 2004,
- projects = {LeActiveMath},
- editor = {Kinshuk and C. Looi and E. Sutinen and D. Sampson and I. Aedo and L. Uden and E. K{\"a}hk{\"o}nen},
- annote = {ISBN 0769521819},
- publisher = {IEEE Computer Society}}
-
-@BOOK{LeuCun01:wikiway,
- title = {{The} {Wiki} {Way}: Collaboration and Sharing on the Internet},
- publisher = {Addison-Wesley Professional},
- year = {2001},
- author = {Bo Leuf and Ward Cunningham},
- isbn = {0-201-71499-X}}
-
-@unpublished{MossakowskiHabil,
- Author = {T. Mossakowski},
- Title = {Heterogeneous specification and the heterogeneous tool set},
- Note = {Habilitation thesis, University of Bremen},
- Year = 2005}
-
-@Misc{Mossakowski04,
- author = {T. Mossakowski},
- title = {HetCASL -- Heterogeneous Specification. Language Summary},
- year = {2004},
- url = {http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/HetCASL/HetCASL-Summary.pdf}}
-
-@InProceedings{MossakowskiEA05c,
- author = {Till Mossakowski and Joseph Goguen and Razvan
- Diaconescu and Andrzej Tarlecki},
- title = {What is a Logic?},
- year = {2005},
- editor = {Jean-Yves Beziau},
- booktitle = {Logica Universalis},
- publisher = {Birkh{\"a}user},
- pages = {113--133},
- url = {http://www.tzi.de/~till/papers/nel05.pdf}}
-
-@TechReport{klieme04,
- author = {E. Klieme and H. Avenarius and W. Blum and P. D{\"o}brich and H. Gruber and M. Prenzel and K. Reiss and K. Riquarts and J. Rost and H. Tenorth and H. J. Vollmer},
- title = {The development of national educational standards -- an expertise},
- institution = {Bundesministerium f{\"u}r Bildung und Forschung / German Federal Ministry of Education {and} Research},
- year = {2004}}
-
-@InProceedings{MelisKaergerHomikcmapDelphi05,
- author = {E. Melis and P. K{\"a}rger and M. Homik},
- title = {Interactive Concept Mapping in {ActiveMath} ({iCMap})},
- booktitle = {Delfi 2005: 3. Deutsche eLearning Fachtagung Informatik},
- pages = {247--258},
- year = 2005,
- editor = {J{\"o}rg M. Haake and Ulrich Lucke and Djamshid Tavangarian},
- volume = 66,
- series = {LNI},
- isbn = {3-88579-395-4},
- organization = {Gesellschaft f{\"u}r Informatik e.V. (GI)}}
-
-@article{kapur95overview,
- author = {D. Kapur and H. Zhang},
- title = {An overview of Rewrite Rule Laboratory ({RRL})},
- journal = {J. Computer and Mathematics with Applications},
- year = 1995,
- volume = 29,
- number = 2,
- pages = {91--114},
- url = {citeseer.nj.nec.com/kapur95overview.html} }
-
-
-
-
-
-
-
-@MISC{CM:blog:CSwPR,
- author = {Christine M{\"u}ller},
- title = {Case Study with Panta Rhei},
- howpublished = {\url{http://kwarc.info/blog/2007/12/15/panta-rhei-a-review-of-a-successful-case-study-at-kwarc/}},
- note = {Seen March 2008},
- url = {http://kwarc.info/blog/2007/12/15/panta-rhei-a-review-of-a-successful-case-study-at-kwarc/}}
-
-@MISC{CM:blog:CSoKP,
- author = {Christine M{\"u}ller},
- title = {KWARC Practice},
- howpublished = {\url{http://kwarc.info/blog/2008/04/03/case-study-on-the-kwarc-group/}},
- note = {Seen March 2008},
- url = {http://kwarc.info/blog/2008/04/03/case-study-on-the-kwarc-group/}}
-
-@MISC{CM:blog:CSoPP,
- author = {Christine M{\"u}ller},
- title = {Case Study On Proving Practice},
- howpublished = {\url{http://kwarc.info/blog/2008/03/27/case-study-on-proving-practice/}},
- note = {Seen March 2008},
- url = {http://kwarc.info/blog/2008/03/27/case-study-on-proving-practice/}}
-
-@article{RW:DilemmasPlanning73,
- author = {Horst W. J. Rittel and Melvin M. Webber},
- title = {Dilemmas in a General Theory of Planning},
- journal = {Policy Sciences},
- volume = 4,
- number = 2,
- pages = {155--169},
- year = 1973,
- month = jun}
-
-@Article{JDPL:TFtEOaiU,
- author = {James H. Davenport and Paul Libbrecht},
- title = {{The Freedom to Extend {\openmath} and its Utility}},
- year = {2008},
- journal = {Mathematics in Computer Science},
- editor = {Manfred Kerber},
- publisher = {Birkh{\"a}user},
- pages = {253--277},
- volume = 2,
- number = 2}
-
-@Misc{DRDB:MotWTEn,
- author = {Dave Raggett and Davy Batsalle},
-title = {Mathematics on the Web: The {EzMath} notation},
- year = {27. Nov. 1997},
- note = {available at \url{http://www.w3.org/People/Raggett/EzMath/EzMathPaper.html}},
- url = {http://www.w3.org/People/Raggett/EzMath/EzMathPaper.html}}
-
-
-
-@TechReport{nrm:mdpm:08,
- author = {Normen M{\"u}ller},
- title = {{{\textsc{mdpm}} -- A Collection of Model-based {\textsc{diff, patch, merge}} Algorithms}},
- institution = {Jacobs University Bremen},
- year = {2008},
- note = {in progess}}
-
-
-
-
-@MISC{w3c:web:styleatt,
- author = {{W3C}},
- title = {{Syntax of CSS rules in HTML's "style" attribute}},
- howpublished = {\url{http://www.w3.org/TR/css-style-attr}},
- year = {2002},
- note = {Seen March 2008},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/css-style-attr}}
-
-@InProceedings{SchaffertElAl:KiWi09,
- author = {Sebastian Schaffert and Julia Eder and Szaby Gr{\"u}nwald and Thomas Kurz and Mihai Radulescu and Rolf Sint and Stephanie Stroka},
- title = {{KiWi} -- A Platform for Semantic Social Software},
- crossref = {SemWiki09}}
-
-@InProceedings{OP:CrossWikiIntegrationSIOC09,
- author = {Fabrizio Orlandi and Alexandre Passant},
- title = {Enabling cross-wikis integration by extending the SIOC ontology},
- crossref = {SemWiki09}}
-
-@InProceedings{Kuhn:ControlledEnglishSemWiki09,
- author = {Tobias Kuhn},
- title = {How Controlled English can Improve Semantic Wikis},
- crossref = {SemWiki09}}
-
-
-
-@InProceedings{Marchiori:MathematicalSemanticWeb03,
- author = {Massimo Marchiori},
- title = {The Mathematical Semantic Web},
- note = {Keynote},
- pages = {216--223},
- crossref = {MKM03}}
-
-@Article{PMRetAl:CML-development01,
- author = {Peter Murray-Rust and Henry S. Rzepa and Michael Wright},
- title = {Development of chemical markup language (CML) as a system for handling complex chemical content},
- journal = {New Journal of Chemistry Articles},
- year = {2001},
- volume = {25},
- pages = {618--634}}
-
-@Book{GuptaMumick:MaterializedView1999,
- editor = {Ashish Gupta and Iderpal Singh Mumick},
- title = {Materialized views: techniques, implementations, and applications},
- year = {1999},
- isbn = {0-262-57122-6},
- publisher = {MIT Press},
- address = {Cambridge, MA, USA}}
-
-@Collection{PK:TNoMK,
- editor = {Philipp Kitcher},
- title = {The Nature of Mathematical Knowledge},
- year = {1983},
- publisher = {Oxford University Press},
- address = {Oxford}}
-
-@Collection{PK:HaPoMM,
- editor = {Philipp Kitcher},
- title = {History and Philosophy of Modern Mathematics},
- year = {1988},
- page = {293-325},
- publisher = {University of Minnesota Press},
- address = {Minneapolis}}
-
-@InCollection{Meseguer:gl89,
- author = {Jos{\'e} Meseguer},
- title = {General Logics},
- crossref = {LC87},
- year = 1989,
- pages = {275--329}}
-
-@online{MONETOntologies,
- title = {The {MONET} Ontologies},
- url = {http://monet.nag.co.uk/monet/publicdocs/monet_ontologies.html},
- year = 2004,
- urldate = {2009-12-16}}
-
-@INPROCEEDINGS{CaprottiEtAl:MathServiceMatching04,
- author = {Olga Caprotti and Mike Dewar and Daniele Turi},
- title = {Mathematical Service Matching Using Description Logic and {OWL}},
- pages = {73--87},
- crossref = {MKM04}}
-
-@TechReport{CaprottiEtAl:MathServiceMatching04:tr,
- author = {Olga Caprotti and Mike Dewar and Daniele Turi},
- title = {Mathematical Service Matching Using Description Logic and {OWL}},
- institution = {The MONET Consortium},
- year = {2004},
- url = {http://monet.nag.co.uk/monet/publicdocs/monet_onts.pdf},
- urldate = {2010-08-11}}
-
-@MISC{XInclude:Web,
- crossref={W3C:XInclude10}}
-
-@TECHREPORT{W3C:XInclude10,
- title = {{XML} Inclusions ({XInclude}) Version 1.0 (Second Edition)},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2006},
- type = {{W3C Recommendation}},
- month = nov,
- date = {2006-11-15},
- url = {http://www.w3.org/TR/2006/REC-xinclude-20061115/},
- author = {Jonathan Marsh and David Orchard and Daniel Veillard}}
-
-@TECHREPORT{W3C:GRDDL,
- title = {{Gleaning Resource Descriptions from Dialects of Languages (GRDDL)}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2007},
- type = {{W3C Recommendation}},
- month = sep,
- date = {2007-09-11},
- url = {http://www.w3.org/TR/2007/REC-grddl-20070911/},
- author = {Dan Connolly}}
-
-@Misc{swikig,
- key = {SWikIG},
- title = {Mailing list of the Semantic Wiki Interest Group},
- note = {\seen May 2008},
- note = {swikig@aifb.uni-karlsruhe.de,
- \url{http://www.aifb.uni-karlsruhe.de/mailman/listinfo/swikig}},
- url = {http://www.aifb.uni-karlsruhe.de/mailman/listinfo/swikig}}
-
-
-@InProceedings{Davenport:OpenMathSemanticWeb08,
- author = {James H. Davenport},
- title = {{\openmath} in a (Semantic) Web},
- crossref = {JEM08}}
-
-
-@Article{BuffaEtAl:SweetWiki2008,
- author = {Michel Buffa and Fabien Gandon and Guillaume Ereteo and Peter Sander and Catherine Faron},
- title = {{SweetWiki}: A semantic wiki},
- journal = JWS,
- year = 2008,
- doi = {http://doi.acm.org/10.1016/j.websem.2007.11.003}}
-
-@TECHREPORT{w3c:xslt3,crossref={w3c:WD-xslt-30-20101214}}
-@TECHREPORT{w3c:WD-xslt-30-20101214,
- title = {{XSL Transformations (XSLT) Version 3.0}},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C Working Draft}},
- date = {2010-12-14},
- url = {http://www.w3.org/TR/2010/WD-xslt-30-20101214/},
- note = {possibly still accessible via \url{http://www.w3.org/TR/xslt-21/}},
- author = {Michael Kay}}
-
-@TECHREPORT{w3c:xslt-21,crossref={w3c:WD-xslt-21-20100511}}
-@TECHREPORT{w3c:WD-xslt-21-20100511,
- title = {{XSL Transformations (XSLT) Version 2.1}},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C Working Draft}},
- date = {2010-05-11},
- url = {http://www.w3.org/TR/2010/WD-xslt-21-20100511/},
- author = {Michael Kay}}
-
-@TECHREPORT{W3C:xslt2,crossref = {W3C:XSLT20}}
-@TECHREPORT{W3C:XSLT20,
- title = {{XSL Transformations (XSLT) Version 2.0}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2007},
- type = {{W3C Recommendation}},
- month = jan,
- date = {2007-01-23},
- url = {http://www.w3.org/TR/2007/REC-xslt20-20070123/},
- author = {Michael Kay}}
-
-@TECHREPORT{W3C:XSL11,
- title = {{Extensible Stylesheet Language (XSL)} Version 1.1},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2006},
- type = {{W3C Recommendation}},
- month = dec,
- date = {2006-12-05},
- url = {http://www.w3.org/TR/2007/REC-xsl11-20061205/},
- author = {Anders Berglund}}
-
-@INPROCEEDINGS{AutexierEtAl:notations-texmacs-plato,
- author = {Serge Autexier and Armin Fiedler and Thomas Neumann and Marc Wagner},
- title = {Supporting User-Defined Notations When Integrating Scientific Text-Editors with Proof Assistance Systems},
- pages = {176--190},
- crossref = {MKM07}}
-
-@article{KalSch:omsa03,
- author = {Yannis Kalfoglou and Marco Schorlemmer},
- title = {Ontology mapping: the state of the art},
- journal = {Knowledge Engineering Reviews},
- volume = {18},
- number = {1},
- year = 2003,
- issn = {0269-8889},
- pages = {1--31},
- doi = {http://dx.doi.org/10.1017/S0269888903000651},
- publisher = {Cambridge University Press},
- address = {New York, NY, USA},
- }
-
-@book{EuzShv:om07,
- author = {J{\'e}r{\^o}me Euzenat and Pavel Shvaiko},
- title = {Ontology matching},
- language = {english},
- page = 341,
- publisher = {Springer-Verlag},
- year = 2007,
- isbn = {3-540-49611-4}}
-
-@misc{wikipedia:natNumb,
- key = {Wikipedia:natNumb},
- title = {Natural Numbers},
- year = 2008,
- url = {http://en.wikipedia.org/w/index.php?title=Natural_number&oldid=200053525},
- note = {Online; accessed March 2008}
- }
-
-@misc{wikipedia:notation,
- key = {Wikipedia:notation},
- title = {Mathematical notation},
- year = {2008},
- url = {http://en.wikipedia.org/w/index.php?title=Mathematical_notation&oldid=196939186},
- note = {Online; accessed March 2008}
- }
-
-@Misc{wikipedia:mathematical-notation,
- key = {Wikipedia: Mathematical Notation},
- title = {{Mathematical notation (from Wikipedia, the free encyclopedia)}},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?Mathematical_notation&oldid=194409885}},
- month = feb,
- year = 2008,
- crossref = {wikipedia},
- url = {http://en.wikipedia.org/w/index.php?Mathematical_notation&oldid=194409885}}
-
-@misc{wikipedia:ontology,
- key = "Wikipedia:ontology",
- title = "Ontology --- Wikipedia{} The Free Encyclopedia",
- year = "2008",
- howpublished = "\url{http://en.wikipedia.org/w/index.php?title=Ontology&oldid=196391369}",
- url = "http://en.wikipedia.org/w/index.php?title=Ontology&oldid=196391369",
- note = "[Online; accessed March 2008]"
- }
-
-
-
-
-
-@Misc{wikipedia:depthfirst,
- key = {Wikipedia: Depth-first search},
- title = {{Depth-first search (from Wikipedia, the free encyclopedia)}},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Depth-first_search&oldid=188484505}},
- month = mar,
- year = 2008,
- crossref = {wikipedia},
- url = {http://en.wikipedia.org/w/index.php?title=Depth-first_search&oldid=188484505}}
-
-
-
-
-
-@InProceedings{SD:UnitKnowledgeMgmt08,
- author = {Jonathan Stratford and James H. Davenport},
- title = {Unit Knowledge Management},
- crossref = {CICM08},
- pages = {382--397}}
-
-@MastersThesis{Heath:OpenMathCDManager09,
- author = {David Heath},
- title = {{OpenMath} {Content} {Dictionary} Manager},
- school = {University of Birmingham},
- year = {2009},
- month = sep,
- url = {http://www.david-heath.co.uk/wp-content/uploads/2009/09/OpenMathCDManager.pdf}}
-
-@TechReport{Stratford:UnitKnowledgeManagement,
- author = {Jonathan Stratford},
- title = {Creating an extensible Unit
-Converter using OpenMath as the Representation of the
-Semantics of the Units},
- institution = {University of Bath},
- year = 2008,
- number = {2008-02},
- issn = {1740-9497},
- month = jun,
- url = {http://www.cs.bath.ac.uk/pubdb/download.php?resID=290}}
-
-
-
-@Misc{QMathHistory:URL,
- key = {QMath History},
- author = {Gonz{\'a}lez Palomo, Alberto},
- title = {QMath History},
- howpublished = {\url{http://www.matracas.org/qmath/history.html}},
- url = {http://www.matracas.org/qmath/history.html}}
-
-@Misc{Visicalc:URL,
- key = {VisiCalc},
- author = {Dan Bricklin and Bob Frankston},
- title = {{VisiCalc: Information from its creators, Dan Bricklin and Bob Frankston}},
- year = {1979},
- url = {http://www.bricklin.com/visicalc.htm},
- howpublished = {\url{http://www.bricklin.com/visicalc.htm}}}
-
-
-@Misc{Tague:tbphstinpi09,
- author = {Thomas Tague},
- title = {The Big Picture -- How Semantic Technologies Introduce a New Paradigm for Interaction},
- howpublished = {Invited talk at the Semantic Technology Conference},
- year = 2009,
- url = {http://www.semantic-conference.com/session/2120/}}
-
-@InCollection{Pfenning:lf01,
- author = "Frank Pfenning",
- title = "Logical Frameworks",
- crossref = "RobVor:hoar01"}
-
-@inproceedings{Groza:SALT07,
- author = {Tudor Groza and
- Siegfried Handschuh and
- Knud M{\"o}ller and
- Stefan Decker},
- title = {{SALT} -- Semantically Annotated {\LaTeX} for Scientific Publications},
- pages = {518--532},
- crossref = {eswc2007}}
-
-@inbook{faia05,
- author = {Giorgi Goguadze and Gonz{\'a}lez Palomo, Alberto and Erice Melis},
- title = {Interactivity of Exercises in ActiveMath},
- booktitle = {Towards Sustainable and Scalable Educational Innovations
-Informed by the Learning Sciences},
- booksubtitle = {Sharing Good Practices of Research, Experimentation and Innovation},
- series = {Frontiers in Artificial Intelligence and Applications},
- pages = {109--115},
- number = {133},
- year = {2005},
- editor = {Chee-Kit Looi and David Jonassen and Mitsuru Ikeda},
- publisher = {IOS Press}}
-
-@ARTICLE{BauFurGrosSin:lbdsi04,
-AUTHOR = {Baumgartner, Peter and Furbach, Ulrich and Gross-Hardt, Margret and Sinner, Alex},
-TITLE = {Living Book -- Deduction, Slicing, and Interaction},
-JOURNAL = {Journal of Automated Reasoning},
-PUBLISHER = {Kluwer},
-YEAR = 2004,
-NUMBER = 3,
-VOLUME = 32,
-PAGES = {259--286}}
-
-@online{osm:xml,
- author = "OpenStreetMap Wiki",
- title = "{OSM XML}",
- url = "http://wiki.openstreetmap.org/w/index.php?title=OSM_XML&oldid=838318",
- urldate = {2013-03-06}
- }
-
-@article{GroGutJueMut:aeg13,
- year={2013},
- issn={0170-6012},
- journal={Informatik-Spektrum},
- volume={36},
- number={2},
- doi={10.1007/s00287-013-0682-3},
- title={Algorithm Engineering im Graphenzeichnen},
- url={http://dx.doi.org/10.1007/s00287-013-0682-3},
- publisher={Springer-Verlag},
- author={Gronemann, Martin and Gutwenger, Carsten and J{\"u}nger, Michael and Mutzel, Petra},
- pages={162-173},
- language={German}
-}
-
- @online{maperitive,
- author = "Maperitive",
- title = "{Maperitive}",
- year = {2013},
- url = "http://maperitive.net/",
- urldate = {2013-05-05}
-}
-
-@Misc{AMS:MSC2000,crossref = {AMS:MSC2010}}
-@Misc{AMS:MSC2010,
- author = {{American Mathematical Society}},
- title = {{Mathematics Subject Classification} {MSC2010}},
- howpublished = {\url{http://www.ams.org/mathscinet/msc/}},
- year = {2009}}
-
-
-@article{Dijkstra:gtsch68,
- title= {Go To Statement Considered Harmful},
- author = {Edsger W. Dijkstra},
- journal = {Communications of the ACM},
- volume=11,
- number=3,
- month = mar,
- year = 1968,
- pages={147--148}}
-
-@online{MSC2010,crossref={MSC2010:base},urldate = {2011-11-16}}
-@misc{MSC2010:web,crossref={MSC2010:base},
-}
-@misc{MSC2010:base,
- title = {{Mathematics Subject Classification} {MSC2010}},
- url = {http://msc2010.org},
- year = 2010,}
-
-@online{PACS,
- label = {PACS},
- title = {Physics and Astronomy Classification Scheme (PACS)},
- url = {http://aip.org/pacs/},
- year = 2010,
- urldate = {2011-12-17},}
-
-@online{ACM-CCS98,
- label = {ACM-CCS},
- title = {The 1998 {ACM} Computing Classification System},
- url = {http://www.acm.org/about/class/ccs98},
- year = 1998,
- urldate = {2009-11-18}}
-
-@Book{wikinomics,
- author = {Don Tapscott and Anthony D. Williams},
- title = {Wikinomics -- How Mass Collaboration Changes Everything},
- publisher = {Portfolio},
- year = {2006}}
-
-
-
-@InProceedings{NCLM:FrameOntoEvoCollEnv06,
- author = {Natalya F. Noy and Abhita Chugh and William Liu and Mark A. Musen},
- title = {A Framework for Ontology Evolution in Collaborative Environments},
- crossref = {iswc2006},
- pages = {158--171}}
-
-@InProceedings{PBKL:Fresnel2006,
- author = {Emmanuel Pietriga and Chris Bizer and David Karger and Ryan Lee},
- title = {Fresnel -- A Browser-Independent Presentation Vocabulary for {RDF}},
- crossref = {iswc2006},
- pages = {158--171}}
-
-@inproceedings{auer:ontowiki06,
- author = {S{\"o}ren Auer and Sebastian Dietzold and Thomas Riechert},
- title = {OntoWiki -- {A} Tool for Social, Semantic Collaboration},
- crossref = {iswc2006},
- pages = {736--749}}
-
-@inproceedings{SauGriKie:sdge06,
- author = {Leo Sauermann and Gunnar AAstrand Grimnes and Malte Kiesel and Christiaan Fluit and Heiko Maus and Dominik Heim and Danish Nadeem and Benjamin Horak and Andreas Dengel},
- title = {Semantic Desktop 2.0: The {Gnowsis} Experience},
- crossref = {iswc2006},
- pages = {887--900}}
-
-@InProceedings{Groza:SALT-claims07,
- author = {Tudor Groza and Knud M{\"o}ller and Siegfried Handschuh and Diana Trif and Stefan Decker},
- title = {{SALT}: Weaving the Claim Web},
- crossref = {iswc2007},
- pages = {197--210}}
-
-@online{flyspeck:on,
- crossref = {flyspeck:base},
- urldate = {2010-10-04}}
-
-@MISC{flyspeck:web,
- crossref = {flyspeck:base},
- key = {Flyspeck},
- howpublished = {\url{http://flyspeck.googlecode.com}},
- note = {\seen November 2007}}
-
-@MISC{flyspeck:base,
- author = {Thomas C. Hales and Sean McLaughlin and others},
- title = {{The Flyspeck project}},
- url = {http://flyspeck.googlecode.com}}
-
-@inproceedings{GergatsoulisSK01,
- author = {Manolis Gergatsoulis and
- Yannis Stavrakas and
- Dimitris Karteris},
- title = {Incorporating Dimensions in {XML} and {DTD}.},
- booktitle = {Database and Expert Systems Applications},
- eventtitle = {12\textsuperscript{th} International Conference (DEXA)},
- venue = {Munich, Germany},
- eventdate = 2001,
- year = {2001},
- pages = {646--656}}
-
-@InProceedings{DPMMW:XMLtoRDFConversion,
- author = {Van Deursen, Davy and Chris Poppe and Ga{\"e}tan Martens and Erik Mannens and Van de Walle, Rik},
- title = {{XML} to {RDF} Conversion: a Generic Approach},
- booktitle = {Fourth International Conference on Automated Solutions for Cross Media Content and Multi-Channel Distribution, Proceedings},
- year = {2008}}
-
-
-
-@comment{the last one that included notation definitions (chapter 8.6), needed for historical purposes}
-@TECHREPORT{w3c:WD-MathML3-20080409,
- author = {Ron Ausbrooks and Bert Bos and Olga Caprotti and David Carlisle and Giorgi Chavchanidze and Ananth Coorg and St{\'e}phane Dalmas and Stan Devitt and Sam Dooley and Margaret Hinchcliffe and Patrick Ion and Michael Kohlhase and Azzeddine Lazrek and Dennis Leas and Paul Libbrecht and Manolis Mavrikis and Bruce Miller and Robert Miner and Murray Sargent and Kyle Siegrist and Neil Soiffer and Stephen Watt and Mohamed Zergaoui},
- title = {{Mathematical} {Markup} {Language} ({MathML}) Version 3.0},
- institution = {World Wide Web Consortium (W3C)},
- date = {2008-04-09},
- type = {{W3C Working Draft}},
- editor = {David Carlisle and Patrick Ion and Robert Miner},
- url = {http://www.w3.org/TR/2008/WD-MathML3-20080409}}
-
-@MastersThesis{sr:xmldiff06,
- author = {Svetlana Radzevich},
- title = {{Semantic-based Diff, Patch and Merge for XML-Documents}},
- school = {Universit{\"a}t des Saarlandes -- Saarbr{\"u}cken},
- year = {2006}}
-
-@Article{FarMoh:ffmm03,
- author = {William M. Farmer and Martin Mohrenschildt},
- title = {An overview of a Formal Framework for Managing Mathematics},
- crossref = {BucGonHaz:MKM03},
- pages = {165--191}}
-
-@Misc{MathmlTeXSuite,
- key = {MathMLTeX},
- howpublished = {Online Repository at \url{http://www.mathml.ca}},
- url = {http://www.mathml.ca}}
-
-@MastersThesis{Radzevich-06,
- author = {Svetlana Radzevich},
- title = {{Semantic-based Diff, Patch and Merge for XML Documents}},
- school = {Saarland University},
- address = {Saarbr{\"u}cken, Germany},
- type = {Master Thesis},
- month = apr,
- year = {2006}}
-
-@Article{Melisetal-SemanticAware-BJET-2005,
- crossref = {MelisEtAl:SemanticServicesAM06}}
-@Article{MelisEtAl:SemanticServicesAM06,
- author = {Erica Melis and Giorgi Goguadze and Martin Homik and Paul Libbrecht and Carsten Ullrich and Stefan Winterstein},
- title = {Semantic-aware components and services of {ActiveMath}},
- journal = {British Journal of Educational Technology},
- year = 2006,
- number = 3,
- month = may,
- volume = 37,
- pages = {405--423}}
-
-@InProceedings{hales:DSP:2006:432,
- author = {Thomas C. Hales},
- title = {Introduction to the Flyspeck Project},
- booktitle = {Mathematics, Algorithms, Proofs},
- year = 2006,
- editor = {Thierry Coquand and Henri Lombardi and Marie-Fran{\c c}oise Roy},
- number = 05021,
- series = {Dagstuhl Seminar Proceedings},
- ISSN = {1862-4405},
- publisher = {Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany},
- address = {Dagstuhl, Germany},
- URL = {http://drops.dagstuhl.de/opus/volltexte/2006/432
- [date of citation: 2006-01-01]},
- note = {$<$http://drops.dagstuhl.de/opus/volltexte/2006/432$>$
- [date of citation: 2006-01-01]},
- annote = {Keywords: Certified proofs, Kepler conjecture}}
-
-@InProceedings{GarKroXio:NNexus06,
- author = {James Gardner and Aaron Krowne and Li Xiong},
- title = {NNexus: Towards an Automatic Linker for a Massively-Distributed Collaborative Corpus},
- organization = {Dept. of Math. \& Comput. Sci., Emory Univ},
- booktitle = {International Conference on Collaborative Computing:
- Networking, Applications and Worksharing},
- month = nov,
- year = {2006}}
-
-@Article{GKX:NNexusAutoLinker09,
- author = {James Gardner and Aaron Krowne and Li Xiong},
- title = {NNexus: Towards an Automatic Linker for a Massively-Distributed Collaborative Corpus},
- month = jun,
- journal = {IEEE Transactions on Knowledge and Data Engineering},
- year = {2009},
- volume = {21},
- number = {6}}
-
-@INPROCEEDINGS{Contrerasl:aITSfaVEC,
- author = {W. Fajardo Contreras and E. Gibaja Galindo and E. Mar{\'i}n Caballero1 and G. Mar{\'i}n Caballero1},
- title = {An Intelligent Tutoring System for a Virtual E-learning Center},
- journal = {Proceedings of WebNet 2001},
- year = 2001,
- pages = {718--723}}
-
-@INPROCEEDINGS{KritzHerc:TaskModel,
- author = {Huberta Kritzenberge and Michael Herczeg},
- title = {Task-Model Driven Design of Adaptable Educational Hypermedia},
- journal = {Proceedings of WebNet 2001},
- year = 2001,
- pages = {718--723}}
-
-@online{CNX:lenses,
- Label = {CNX},
- title = {Connexions -- Lenses},
- url = {http://cnx.org/help/viewing/lenses},
- urldate = {2014-02-01}}
-
-@techreport{Fletcher:lpfdhld07,
- author = {Katherine Fletcher},
- title = {Lenses: Proposed functional description and high level design},
- month = jun,
- year = {2007},
- organization = {Rice {University}},
- url = {http://internal.rhaptos.org/docs/architecture/design/lenses/}}
-
-@online{CNX:lenses:examples:on,crossref={CNX:lenses:examples:base},urldate={2014-02-01},label={CNX}}
-@misc{CNX:lenses:examples,crossref={CNX:lenses:examples:base},urldate={2014-02-01},note={\seen Jan 2014},
-howpublished = {\url{http://cnx.org/lenses}}}
-@MISC{CNX:lenses:examples:base,
- key = {CNX},
- title = {Connexions -- Lenses},
- url = {http://cnx.org/lenses}}
-
-
-
-
-
-
-
-
-@ARTICLE{CZ:Ccopkfsl,
- pages = {321--330},
- title = {Capturing Community of Practice Knowledge for Student Learning},
- author = {Craig Zimitat},
- number = {3},
- journal = {Innovations in Education and Teaching International},
- month = aug,
- volume = {44},
- year = {2007}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-@TECHREPORT{SaMa:Avlefpms,
- author = {Teresa Sancho and Ramon Masia},
- title = {A virutal learning environmnet for pregraduate mathematical students},
- institution = {Universitat Oberta de Catalunya, Barcelona},
- year = {2007}}
-
-
-
-@PhdThesis{Borst97:ConstructionEngineeringOntologies,
- author = {Willem Nico Borst},
- title = {Construction of Engineering Ontologies for Knowledge Sharing and Reuse},
- school = {Universiteit Twente},
- year = {1997},
- url = {http://doc.utwente.nl/17864/}}
-
-
-
-
-
-
-
-@misc{wiki:semantics,
- author = "Wikipedia",
- title = "Semantics --- Wikipedia{} The Free Encyclopedia",
- year = "2008",
- url = "http://en.wikipedia.org/w/index.php?title=Semantics&oldid=180791722",
- note = "[Online; accessed 3. January 2008]"
- }
-
-@Book{Cajori:ahmn93,
- author = {Florian Cajori},
- title = {A History of Mathematical Notations},
- publisher = {Courier Dover Publications},
- year = 1993,
- note = {{Originally published in 1929}}}
-
-@Book{JL:PBzmSdA,
- author = {Jan {\L}ukasiewicz},
- title = {Philosophische Bemerkungen zu mehrwertigen Systemen des Aussagenkalk{\"u}ls, Comptes rendus des s{\'e}ances de la Soci{\'e}t{\'e} des Sciences et des Lettres de Varsovie 23:51-77 (1930). Translated by H. Weber as Philosophical Remarks on Many-Valued Systems of Propositional Logics},
- publisher = {Clarendon Press: Oxford},
- year = 1967,
- note = {Originally published in 1930}}
-
-
-@InProceedings{KanSuz:rddrmf06,
- title = {Refinement of digitized documents through recognition of mathematical formulae},
- year = 2006,
- author = {T.Kanahori and M.Suzuki},
- booktitle = {Proceedings of the 2\textsuperscript{nd} International Workshop on Document Image Analysis for Libraries}}
-
-@InProceedings{Wolfram:mnpf00,
- title = {Mathematical Notation: Past and Future},
- crossref = {MathML00},
- author = {Stephen Wolfram},
- note = {http://www.stephenwolfram.com/publications/talks/mathml/}}
-
-@InProceedings{MuPaOl04:SWPersonalEducation,
- title = {Applying Semantic Web Technologies to Improve Personalization and
- Achieve Interoperability between Educational Adaptive
- Hypermedia Systems},
- author = {Lidia Silva Mu{\~n}oz and Jos{\'e} Palazzo and Moreira de Oliveira},
- booktitle = {Proceedings of the International Workshop on
-Applications of Semantic Web Technologies for {E-Learning} ({SW-EL})},
- year = 2004,
- url = {http://www.win.tue.nl/SW-EL/2004/AH-SWEL-Camera-ready/SWEL04-AH-PDF/231-Munos-Palazzo-Oliveira-SWEL-AH.pdf}}
-
-@InCollection{Farmer:mkm05,
- author = {William M. Farmer},
- title = {{Mathematical Knowledge Management}},
- crossref = {EKM05},
- pages = {599--604}}
-
-@InCollection{Farmer:mkm11,
- author = {William M. Farmer},
- title = {{Mathematical Knowledge Management}},
- crossref = {EKM11},
- pages = {1082--1089}}
-
-@misc{CO-ODE:OntologyDesignPatterns05,
- key = {CO-ODE Ontology Design Patterns},
- title = {Ontology Design Patterns and Problems (ISWC 2005 tutorial)},
- editor = {Nick Drummond},
- howpublished = {\url{http://www.co-ode.org/events/tutorials/iswc2005/}},
- year = 2005,
- url = {http://www.co-ode.org/events/tutorials/iswc2005/}}
-
-@InProceedings{Urban:xm05,
- author = {Josef Urban},
- title = {{XML}-izing {Mizar}: making semantic processing and presentation of {MML} easy},
- crossref = "MKM05",
- pages = "346 -- 360"}
-
-@manual{OMG:OntologyDefinitionMetamodel06,
- title = {Ontology Definition Metamodel, Sixth Revised Submission to {OMG/ RFP} ad/2003-03-40},
- editor = {Object Modeling Group},
- month = may,
- number = {{OMG} document ad/2006-05-01},
- organization = {Object Modeling Group},
- url = {http://www.omg.org/docs/ad/06-05-01.pdf},
- year = {2006}}
-
-@article{Berghel:ValueAddedPublishing99,
- author = {Hal Berghel},
- title = {Digital village: Value-added publishing},
- journal = {Communications of the ACM},
- volume = {42},
- number = {1},
- year = {1999},
- issn = {0001-0782},
- pages = {19--23},
- doi = {http://doi.acm.org/10.1145/291469.291487},
- publisher = {ACM Press},
- address = {New York, NY, USA}}
-
-@article{HuysmanWulf:SocialCapital,
- author = {Marleen Huysman and Volker Wulf},
- title = {{IT to Support Knowledge Sharing in Communities, Toward a Social Capital Analysis}},
- journal = {{Journal of Information Technology (JIT)}},
- volume = {1},
- number = {21},
- year = {2005},
- pages = {40--51}}
-
-@ARTICLE{RoKlJaWu:TRioLCoPiACS,
- author = {Markus Rohde and Ralf Klamma and Matthias Jarke and Volker Wulf},
- title = {{The Reality is our Laboratory: Communities of Practice in Applied Computer Science}},
- journal = {International Journal on Behaviour and Information Technology},
- volume = {26},
- number = {1},
- year = {2007},
- pages = {81--94}}
-
-@Book{HuysmanWulf:SocialCapitalAndIT,
- editor = {Marleen Huysman and Volker Wulf},
- title = {{Social Capital and Information Technology}},
- publisher = {MIT Press},
- year = 2004}
-
-@MISC{VoelkelEtAl:WIF,
- author = {Max V{\"o}lkel and others},
- firstkey = {V{\"o}lkel et al.},
- title = {Wiki Interchange Format -- Ontoworld.org},
- howpublished = {\url{http://ontoworld.org/wiki/Wiki_Interchange_Format}},
- note = {seen February 2007},
- crossref = {ontoworld},
- url = {http://ontoworld.org/index.php/Wiki_Interchange_Format}}
-
-@INPROCEEDINGS{McDowellEtAl:Mangrove03,
- author = {Luke McDowell and Oren Etzioni and Steven D. Gribble and Alon Halevy and Henry Levy and William Pentney and Deepak Verma and Stani Vlasseva},
- title = {Mangrove: Enticing Ordinary People onto the Semantic Web via Instant Gratification},
- booktitle = {3\textsuperscript{rd} International Semantic Web Conference ({ISWC} 2003)},
- year = {2003}}
-
-@INPROCEEDINGS{HiPiWu:CGAMiLDC,
- author = {Joachim Hinrichs and Volkmar Pipek and Volker Wulf},
- title = {{Context Grabbing: Assigning Metadata in Large Document Collections}},
- booktitle = {Proceedings of the Ninth European Conference on Computer Supported Cooperative Work (ECSCW 2005)},
- year = {Dordrecht 2005},
- publisher = {Springer}}
-
-@INPROCEEDINGS{StWuPi:IzAEKzIvpupF,
- author = {Gunnar Stevens and Volker Wulf and Volkmar Pipek},
- title = {{Infrastrukturen zur Aneignungsunterst{\"u}tzung: Ein Konzept zur Integration von produkt- und prozessorientierter Flexibilisierung}},
- booktitle = {8. Internationale Tagung Wirtschaftsinformatik (WI 2007) 28.02. -- 02.03. 2007 in Karlsruhe},
- year = {2007}}
-
-@book{NOAD2,
- title = {The New {Oxford} {American} Dictionary, Second Edition},
- editor ={Erin McKean},
- month = may,
- year = 2005,
- publisher = {Oxford University Press},
- isbn = {0-19-517077-6}}
-
-@inproceedings{EIKP:RulesOntoSemWeb08,
- author = {Thomas Eiter and Giovambattista Ianni and Thomas Krennwallner and Axel Polleres},
- title = {Rules and Ontologies for the Semantic Web},
- pages = {1--53},
- year = {2008},
- booktitle = {Reasoning Web},
- booksubtitle = {Tutorial Lectures},
- eventtitle = {4\textsuperscript{th} International Summer School},
- venue = {Venice, Italy},
- eventdate = {2008-09-07/2008-09-11},
- editor = {Cristina Baroglio and Piero A. Bonatti and Jan Ma{\l}uszy{\'n}ski and Massimo Marchiori and Axel Polleres and Sebastian Schaffert},
- publisher = {Springer},
- series = {LNCS},
- number = {5224},
- url = {http://axel.deri.ie/publications/eite-etal-2008.pdf}}
-
-@inproceedings{KrSchVr:semwiki-reasoning07,
- author = {Markus Kr{\"o}tzsch and Sebastian Schaffert and Denny Vrande{\v c}i{\'c}},
- title = {Reasoning in Semantic Wikis},
- year = {2007},
- booktitle = {Proceedings of the 3\textsuperscript{rd} Reasoning Web Summer School},
- venue = {Dresden, Germany},
- eventdate = {2007-09-03/2007-09-07},
- editor = {Grigoris Antoniou and Uwe A{\ss}mann and Cristina Baroglio and Stefan Decker and Nicola Henze and Paula-Lavinia P{\u a}tr{\^ a}njan and Robert Tolksdorf},
- publisher = {Springer},
- series = {LNCS},
- number = {4636},
- pages = {310--329},
- url = {http://korrekt.org/talks/2007/Kroetzsch_Reasoning_Web_Semantic_Wikis_2007.pdf}}
-
-@Article{TARSKI.FM,
- author = {Andrzej Trybulec},
- title = {Tarski {Grothendieck} Set Theory },
- journal = {Formalized Mathematics},
- year = 1990,
- number = {{\bf 1}},
- volume = 1,
- pages = {9--11}}
-
-@book{Kitcher:MathKnow,
- author = {Philip Kitcher},
- title = {The Nature of Mathematical Knowledge},
- publisher = {Oxford University Press},
- year = {1983}}
-
-@book{Enzensberger:Drawbridge,
- author = {Hans Magnus Enzensberger},
- title = {Drawbridge up: Mathematics --- a cultural anathema},
- publisher = {A K PETERS, LTD.},
- year = {1999}}
-
-@book{Enzensberger:Drawbridge:biblatex,
- author = {Hans Magnus Enzensberger},
- title = {Drawbridge up},
- subtitle = {Mathematics --- a cultural anathema},
- publisher = {A K PETERS, LTD.},
- year = {1999},
- note = {German original: Zugbr{\"u}cke au{\ss}er Betrieb. Die Mathematik im Jenseits der Kultur. English translation by Tom Artin}}
-
-@InCollection{Kitcher:MathNat,
- title = {Mathematical Naturalism},
- author = {Philip Kitcher},
- booktitle = {History and Philosophy of Modern Mathematics},
- crossref = {AsprayKitcher},
- pages = {293--325}}
-
-@book{AsprayKitcher,
- editor = {Philip Kitcher and William Aspray},
- title = {History and Philosophy of Modern Mathematics},
- publisher = {University of Minnesota Press},
- year = {1988}}
-
-@INPROCEEDINGS{livingDoc,
- author = {Karsten Krutz and Christian Mayer and Sebastian Abeck},
- title = {{Living Documents: Flexibles Lernmedium f{\"u}r innovative Lernszenarien}},
- year = {2006},
- booktitle = {{Konferenz der Gesellschaft f{\"u}r Medien in der Wissenschaft (GMW)}},
- address = {Darmstadt},
- url = {http://www.cm-tm.uka.de/CM-Web/07.Publikationen/Living_Documents_Flexibles_Lernmedium_fuer_innovative_Lernszenarien.pdf}}
-
-@inproceedings{Schraefel:mSpace05,
- address = {New York, NY, USA},
- author = {schraefel, mc and Smith, Daniel A. and Owens, Alisdair and Russell, Alistair and Harris, Craig and Wilson, Max},
- booktitle = {{HYPERTEXT} '05: Proceedings of the sixteenth {ACM} conference on Hypertext and hypermedia},
- doi = {10.1145/1083356.1083391},
- isbn = {1595931686},
- pages = {174--183},
- publisher = {ACM Press},
- title = {The evolving {mSpace} platform: leveraging the semantic web on the trail of the memex},
- url = {http://eprints.ecs.soton.ac.uk/10710/01/mspacePlatform-ht05.pdf},
- year = {2005}}
-
-@MISC{Moodle:web,
- key = {Moodle},
- title = {Moodle -- A Virtual Learning Environment},
- howpublished = {\url{http://moodle.org/}},
- url = {http://moodle.org/},
- note = {\seen November 2007}}
-
-@online{Wiris:on,
- urldate = {2009-11-10},
- crossref = {Wiris:base}}
-
-@MISC{Wiris:web,
- howpublished = {\url{http://www.wiris.com/content/view/20/}},
- note = {\seen December 2007},
- crossref = {Wiris:base}}
-
-@MISC{Wiris:base,
- key = {Wiris},
- title = {{WIRIS Editor} -- a tool for graphical edition of mathematical formulas.},
- url = {http://www.wiris.com/content/view/20/}}
-
-@online{TinyMCE:on,
- urldate = {2009-11-10},
- crossref = {TinyMCE:base}}
-
-@comment{preserving this typo for backwards compatibility}
-@MISC{TineMCE:web,
- key = {TinyMCE},
- howpublished = {\url{http://tinymce.moxiecode.com/}},
- note = {\seen June 2008},
- crossref = {TinyMCE:base}}
-
-@MISC{TinyMCE:web,
- key = {TinyMCE},
- howpublished = {\url{http://tinymce.moxiecode.com/}},
- note = {\seen June 2008},
- crossref = {TinyMCE:base}}
-
-@MISC{TinyMCE:base,
- key = {TinyMCE},
- title = {{TinyMCE} -- {JavaScript} {WYSIWYG} editor},
- url = {http://tinymce.moxiecode.com/}}
-
-@MISC{OU:web,
- key = {OU},
- title = {The Open University},
- howpublished = {\url{http://www.open.ac.uk/}},
- url = {http://www.open.ac.uk/},
- note = {\seen November 2007}}
-
-@MISC{Eon:web,
- key = {E.ON},
- title = {{E.ON Academy}},
- howpublished = {\url{http://academy.eon.com/online/Push/de/start/3395617091/fs_start}},
- url = {http://academy.eon.com/online/Push/de/start/3395617091/fs_start},
- note = {\seen November 2007}}
-
-@online{CML:online,crossref={CML:web},
-urldate={2007-01-08}}
-@MISC{CML:web,
- key = {CML},
- author = {Peter Murray-Rust and others},
- title = {Chemical Markup Language ({CML})},
- howpublished = {\url{http://cml.sourceforge.net/}},
- url = {http://cml.sourceforge.net/},
- note = {\seen January 2007}}
-
-@MISC{reiserf:web,
- key = {reiser4},
- title = {Reiser4},
- howpublished = {\url{http://en.wikipedia.org/wiki/Reiser4}},
- url = {http://en.wikipedia.org/wiki/Reiser4},
- note = {\seen July 2008}}
-
-@MISC{AMauthoring,
- key = {ntnImplementation},
- author = {Paul Libbrecht},
- title = {ActiveMath Authoring: XSLT generation from Notation Files},
- howpublished = {at \url{http://svn.activemath.org/AMauthoring/trunk/projects/cd-notations/}},
- url = {http://svn.activemath.org/AMauthoring/trunk/projects/cd-notations/},
- note = {\seen March 2008}}
-
-@MISC{mmlproc:web,
- key = {mmlproc},
- author = {Normen M{\"u}ller},
- title = {The math markup language processor (mmlproc)},
- howpublished = {\webpageat\url{http://kwarc.info/projects/mmlkit/mmlproc}},
- url = {http://kwarc.info/projects/mmlkit/mmlproc},
- note = {maintained until Jan 08},
- year = 2008}
-
-
-@MISC{Scispace:web,
- key = {Scispace},
- title = {{Scispace}},
- url = {http://scispace.net/},
- note = {\seen May 2008}}
-
-
-@MISC{Facebook:web,
- key = {Facebook},
- title = {{Facebook}},
- howpublished = {Home Page at \url{http://www.facebook.com/}},
- url = {http://www.facebook.com/},
- note = {\seen January 2008}}
-
-@online{FOAF:on,
- urldate = {2009-10-22},
- crossref = {FOAF:base}}
-
-@MISC{FOAF:web,
- howpublished = {\url{http://www.foaf-project.org/}},
- note = {\seen June 2008},
- crossref = {FOAF:base}}
-
-@online{FOAF:webpage,
- lastchecked = {June 2008},
- crossref = {FOAF:base}}
-
-@misc{FOAF:base,
- key = {FOAF},
- title = {{Friend of a Friend (FOAF) project}},
- url = {http://www.foaf-project.org/}}
-
-@MISC{StudiVZ:web,
- key = {StudiVZ},
- title = {{Studiverzeichnis}},
- howpublished = {Home Page at \url{http://www.studivz.net/}},
- url = {http://www.studivz.net/},
- note = {\seen June 2008}}
-
-@MISC{XING:web,
- key = {XING},
- title = {{XING. Powering Relationships.}},
- howpublished = {Home Page at \url{https://www.xing.com/}},
- url = {https://www.xing.com/},
- note = {\seen June 2008}}
-
-
-@MISC{WKW:web,
- key = {WKW},
- title = {{Wer-kennt-wen}},
- howpublished = {Home Page at \url{http://www.wer-kennt-wen.de/}},
- url = {http://www.wer-kennt-wen.de/},
- note = {\seen January 2008}}
-
-@MISC{wiki:rst,
- key = {REST},
- title = {Representational State Transfer},
- url = {http://en.wikipedia.org/wiki/Representational_State_Transfer},
- note = {\seen May 2007}}
-
-@MISC{Bioclipse:web,
- key = {Bioclipse},
- title = {Bioclipse: An open source workbench for chemo- and bioinformatics},
- url = {http://www.bioclipse.net/},
- note = {\seen May 2007}}
-
-@online{URL:Eclipse:online,crossref={URL:Eclipse:base},urldate={2011-12-20}}
-@MISC{Eclipse:web,crossref={URL:Eclipse:base},note={\seen December 2011}}
-@MISC{URL:Eclipse:base,
- key = {Eclipse},
- title = {Eclipse: An open development platform},
- url = {http://www.eclipse.org/}}
-
-@MISC{TeXlipse:web,
- key = {TeXlipse},
- title = {{TeXlipse}: Adding {\LaTeX} support to the {Eclipse IDE}},
- url = {http://texlipse.sourceforge.net/},
- howpublished = {\webpageat{\url{http://texlipse.sourceforge.net/}}},
- note = {\seen May 2010}}
-
-@online{TeXlipse:webpage,
- key = {TeXlipse},
- title = {{TeXlipse}: Adding {\LaTeX} support to the {Eclipse IDE}},
- url = {http://texlipse.sourceforge.net/},
- lastchecked = {May, 2010}}
-
-@online{emacs:webpage,
- key = {Emacs},
- title = {GNU Emacs: An extensible, customizable text editor},
- url = {http://www.gnu.org/software/emacs/},
-lastchecked = {May, 2008}}
-
-@online{auctex:webpage,
- key = {Emacs},
- title = {AUCTeX --- Sophisticated document creation},
- url = {http://www.gnu.org/software/auctex/},
- lastchecked = {Aug. 2008}}
-
-@MISC{emacs:web,
- key = {Emacs},
- title = {GNU Emacs: An extensible, customizable text editor},
- url = {http://www.gnu.org/software/emacs/},
- note = {\seen May 2008}}
-
-@MISC{snipsnap:web,
- key = {SnipSnap},
- title = {SnipSnap -- The easy Weblog and Wiki Software},
- howpublished = {\webpageat\url{http://snipsnap.org/}},
- url = {http://snipsnap.org/},
- note = {\seen{\January} 2007}}
-
-
-@MISC{URL:MathematicaPlayer,
- key = {MathematicaPlayer},
- title = {Wolfram Mathematica Player: The Free Player with a Mathematica Engine},
- url = {http://www.wolfram.com/products/player/},
- note = {seen April 2008}}
-
-@MISC{URL:xmath,
- key = {xmath},
- title = {Formelsammlungen: Mathematik, Physik, Technik, und Finanzmathematik},
- url = {http://www.seeit.de/xedu/},
- note = {seen April 2008}}
-
-@MISC{URL:Adobe,
- key = {Adobe},
- title = {Adobe Acrobat Reader},
- howpublished = {\webpageat\url{http://www.adobe.com/}},
- url = {http://www.adobe.com/},
- note = {seen April 2008}}
-
-@MISC{URL:GoogleReader,
- key = {GoogleReader},
- title = {Google Reader},
- howpublished = {\webpageat\url{https://www.google.com/reader}},
- url = {https://www.google.com/reader},
- note = {seen March 2009}}
-
-@MISC{URL:FoxitPDF,
- key = {FoxitPDF},
- title = {Foxit PDF Reader},
- howpublished = {\webpageat\url{http://foxit-pdf-reader.softonic.de/}},
- url = {http://foxit-pdf-reader.softonic.de/},
- note = {seen April 2008}}
-
-@online{CTAN:on,crossref={CTAN:base},urldate={2012-12-11},label={CTAN}}
-@MISC{URL:CTAN,crossref={CTAN:base},
- howpublished = {\webpageat\url{http://ctan.org}}}
-@MISC{CTAN:base,
- key = {CTAN},
- title = {{CTAN} the {Comprehensive {\TeX} Archive Network}},
- url = {http://ctan.org}}
-
-@INCOLLECTION{KamLamMaaWel:rnlcmim07,
- author = {Fairouz Kamareddine and Robert Lamar and Manuel Maarek and J. B. Wells},
- title = {Restoring Natural Language as a Computerised Mathematics Input Method},
- pages = {280--295},
- keywords = {lamapunbibs},
- crossref = {MKM07}}
-
-@online{manifold-atlas:on,
- label = {MAP},
- title = {Manifold Atlas},
- url = {http://www.map.mpim-bonn.mpg.de/Main_Page},
- urldate = {2016-03-20}}
-
-@incollection{KamWellZen:cmt14,
- author = {Fairouz Kamareddine and Joe Wells and Christoph Zengler and Henk Barendregt},
- editor = {Joerg Siekmann and Dov Gabbay and John Woods},
- year = {2104},
- title = {Computerising Mathematical Text In Joerg Siekmann},
- volume = {11},
- booktitle = {Logic and Computation in the 20th century},
- publisher = {North Holland},
- pages = {87--140}}
-
-@article{BucJebKut:tcansm16,
- title = {Theorema 2.0: Computer-Assisted Natural-Style Mathematics},
- author = {Bruno Buchberger and Tudor Jebelean and Temur Kutsia and Alexander Maletzky and Wolfgang Windsteiger},
- year = {2016},
- journal = {Journal of Formalized Reasoning},
- volume = {9},
- number = {1},
- note = {Special Issue: Twenty Years of the QED Manifesto},
- pages = {149--185}}
-
-@INCOLLECTION{KamMaaRetWel:nsmt07,
- author = {Fairouz Kamareddine and Manuel Maarek and Krzysztof Retel and J. B. Wells},
- title = {Narrative Structure of Mathematical Texts},
- pages = {296--312},
- crossref = {MKM07}}
-
-@PhdThesis{Retel:CompVerifMathMathLangMizar09,
- author = {Krzysztof Retel},
- title = {Gradual Computerisation and Verification of Mathematics},
- subtitle = {{MathLang}'s Path into {Mizar}},
- school = {Heriot-Watt University},
- year = 2009,
- address = {Edinburgh},
- keywords = {lamapunbibs},
- month = apr}
-
-@Book{Manin:77,
- year = 1977,
- author = {Yuri I. Manin},
- title = {{A Course in Mathematical Logic}},
- publisher = {Springer-Verlag},
- address = {New York, Heidelberg, Berlin}}
-
-
-@Article{Stelzer:DigitaleGueter,
- author = {Dirk Stelzer},
- title = {Digitale G{\"u}ter und ihre Bedeutung in der Internet-{\"O}konomie},
- journal = {WISU},
- number = 6,
- pages = {835--842},
- year = 2000,
- url = {http://ebf.wiwi.hu-berlin.de/2/vl1/steltzer_digitale-gueter.pdf}}
-
-@Article{RecSysSurvey,
- author = {Gediminas Adomavicius and Alexander Tuzhilin},
- title = {{Toward The Next Generation Of Recommender Systems: A Survey Of The State-Of-The-Art And Possible Extensions}},
- journal = {IEEE Transactions on Knowledge and Data Engineering},
- volume = 17,
- number = 6,
- pages = {734--749},
- year = 2005}
-
-@Article{AmazonRecom,
- author = {G. Linden and B. Smith and J. York},
- title = {{Amazon.com Recommendations: Item-to-Item Collaborative Filtering}},
- journal = {IEEE Internet Computing},
- number = 1,
- pages = {76--80},
- year = 2003,
- url = {http://ieeexplore.ieee.org/iel5/4236/26323/01167344.pdf?arnumber=1167344}}
-
-@Article{Loz:DLMF,
- author = {D. W. Lozier},
- title = {{NIST Digital Library of Mathematical Function}},
- journal = {Annals of Mathematics and Artificial Intelligence --- Special Issue on Mathematical Knowledge Management},
- number = 38,
- pages = {105--119},
- year = 2003,
- url = {http://dlmf.nist.gov/about/publications/MKM-Lozier.pdf}}
-
-@Article{DailyLearner,
- author = {D. Billsus and M. Pazzani},
- title = {{User Modeling For Adaptive News Access}},
- journal = {User Modeling and User-Adapted Interaction},
- volume = 10,
- pages = {147--180},
- year = 2000,
- url = {http://citeseer.ist.psu.edu/cache/papers/cs/27103/http:zSzzSzwww.ics.uci.eduzSz~pazzanizSzPublicationszSzBillsusA.pdf/billsus00user.pdf}}
-
-@Article{Groenross:Added-Value,
- author = {C. Gr{\"o}nross},
- title = {Value-driven relational marketing: from products to resources and competencies},
- journal = {Journal of Marketing Management},
- number = 13,
- pages = {407--419},
- year = 1997}
-
-@MISC{KroetzschEtAl:smw-development,
- author = {Markus Kr{\"o}tzsch and Denny Vrande{\v c}i{\'c} and S Page and others},
- firstkey = {Kr{\"o}tzsch, Vrande{\v c}i{\'c}, Page, et al.},
- title = {Semantic MediaWiki development activities -- Ontoworld.org},
- howpublished = {\url{http://ontoworld.org/wiki/Semantic_MediaWiki_development_activities}},
- note = {seen January 2007},
- crossref = {ontoworld},
- url = {http://ontoworld.org/wiki/Semantic_MediaWiki_development_activities}}
-
-@INPROCEEDINGS{HallerEtAl06:iMappingWikis,
- author = {Heiko Haller and Felix Kugel and Max V{\"o}lkel},
- firstkey = {Haller, Kugel, \& V{\"o}lkel},
- title = {{iMapping} Wikis -- Towards a Graphical Environment for Semantic
- Knowledge Management},
- crossref = {semwiki06}}
-
-@INPROCEEDINGS{ErRoe06:GraphingWiki,
- author = {Juhani Eronen and Juha R{\"o}ning},
- firstkey = {Eronen \& R{\"o}ning},
- title = {Graphingwiki -- a Semantic Wiki extension for visualising and
- inferring protocol dependency},
- crossref = {semwiki06}}
-
-@INPROCEEDINGS{PopitschEtAl06:Ylvi,
- author = {Niko Popitsch and Bernhard Schandl and Arash Amiri and Stefan Leitich and Wolfgang Jochum},
- firstkey = {Popitsch, Schandl, Amiri, Leitich, \& Jochum},
- title = {Ylvi -- Multimedia-izing the Semantic Wiki},
- crossref = {semwiki06}}
-
-@INPROCEEDINGS{kroetzsch06:semantic-mediawiki,
- author = {Markus Kr{\"o}tzsch and Max V{\"o}lkel and Denny Vrande{\v c}i{\'c}},
- title = {Semantic {MediaWiki}},
- booktitle = {Semantic Web Challenge},
- year = 2006,
- url = {http://iswc2006.semanticweb.org/items/swchallenge_krotzsch.pdf}}
-
-@INProceedings{ComRelevanz,
- author = {G. Wittig and W. Prinz and W. Gr{\"a}ther:},
- title = {Communitybasierte Relevanzanalyse von Web-Informationen},
- booktitle = {Proceedings of Mensch and Computer},
- editor = {R. Keil-Slawik},
- year = 2004,
- pages = {261--270}}
-
-@INPROCEEDINGS{schraefel05:mSpace,
- author = {mc schraefel and Daniel A. Smith and Alisdair Owens and Alistair Russel and Craig Harris and Max Wilson},
- title = {{The Evolving mSpace Platform: Leveraging the Semantic Web on the Trail of the Memex}},
- booktitle = {ACM Conference on Hypertext and Hypermedia},
- year = 2005,
- pagees = {174-183}}
-
-@Misc{ontoworld:sites-using-smw,
- title = {Sites using {Semantic MediaWiki}},
- howpublished = {\url{http://www.semantic-mediawiki.org/w/index.php?title=Sites_using_Semantic_MediaWiki&oldid=781}},
- note = {seen April 2008},
- key = {Semantic MediaWiki: Sites using Semantic MediaWiki},
- url = {http://www.semantic-mediawiki.org/w/index.php?title=Sites_using_Semantic_MediaWiki&oldid=781}}
-
-@inproceedings{LanfranchiCP05:AktiveDoc,
- author = {Vitaveska Lanfranchi and
- Fabio Ciravegna and
- Daniela Petrelli},
- title = {Semantic Web-Based Document: Editing and Browsing in AktiveDoc.},
- pages = {623--632},
- ee = {http://dx.doi.org/10.1007/11431053_42},
- crossref = {eswc2005}}
-
-@article{UrenEtAl06:SemanticAnnotation,
- author = {Uren, Victoria and Cimiano, Philipp and Iria, Jose and Handschuh, Siegfried and Vargas-Vera, Maria and Motta, Enrico and Ciravegna, Fabio },
- doi = {10.1016/j.websem.2005.10.002},
- journal = JWS,
- month = jan,
- number = {1},
- pages = {14--28},
- title = {Semantic annotation for knowledge management: Requirements and a survey of the state of the art},
- url = {http://dx.doi.org/10.1016/j.websem.2005.10.002},
- volume = {4},
- year = {2006}}
-
-@Misc{IEEE-SUO,
- key = {ieee-suo},
- title = {{IEEE Standard Upper Ontology Working Group}},
- editor = {IEEE},
- howpublished = {\url{http://suo.ieee.org/}},
- note = {\seen December 2006},
- url = {http://suo.ieee.org/}}
-
-@InProceedings{CaPlDT06:GeneratingAnnotatedWebsites,
- author = {Sven Casteleyn and Peter Plessers and Olga {De Troyer}},
- title = {On Generating Content and Structural Annotated Websites using Conceptual Modeling},
- institution = {Vrije Universiteit Brussel},
- url = {http://wise.vub.ac.be/downloads/Papers/casteleyn-ER2006.pdf},
- crossref = {er2006}}
-
-@Article{GRSTNRS:ConcMapsKnowElicit06,
- author = {Garc{\'i}a Castro, Alexander and Philippe Rocca-Serra and Robert Stevens and Chris Taylor and Karim Nashar and Mark A Ragan and Susanna-Assunta Sansone},
- title = {The use of concept maps during knowledge elicitation in ontology development processes -- the nutrigenomics use case},
- journal = {BMC Bioinformatics},
- year = {2006},
- volume = {7},
- pages = {267--280}}
-
-
-
-@InProceedings{PS:FoucaultWiki06,
- author = {Christian Pentzold and Sebastian Seidenglanz},
- title = {{Foucault@Wiki} -- First Steps Towards a Conceptual Framework for the
- Analysis of Wiki Discourses},
- url = {http://www.wikisym.org/ws2006/proceedings/p59.pdf},
- crossref = {wikisym06}}
-
-@InProceedings{Reinhold:WikiTrails06,
- author = {Silvan Reinhold},
- title = {{WikiTrails}: Augmenting Wiki Structure for Collaborative,
- Interdisciplinary Learning},
- institution = {Dept.\ of Computer Graphics, J.\ W.\ Goethe-Universit{\"a}t Frankfurt, Germany},
- url = {http://www.wikisym.org/ws2006/proceedings/p47.pdf},
- crossref = {wikisym06}}
-
-@InProceedings{JugSch:Radeox06,
- author = {Matthias L. Jugel and Stephan J. Schmidt},
- title = {The {Radeox} Wiki Render Engine},
- institution = {Fraunhofer Institute for Computer Architecture {and} Software Technology},
- url = {http://www.wikisym.org/ws2006/proceedings/p33.pdf},
- crossref = {wikisym06}}
-
-
-
-
-
-@inproceedings{MunaMin:MFmase06,crossref={MunMin:MathFind06}}
-@InProceedings{MunMin:MathFind06,
- author = {Rajesh Munavalli and Robert Miner},
- title = {MathFind: a math-aware search engine},
- booktitle = {SIGIR '06: Proceedings of the 29\textsuperscript{th} annual international ACM SIGIR conference on Research and development in information retrieval},
- year = {2006},
- isbn = {1-59593-369-7},
- pages = {735--735},
- location = {Seattle, Washington, USA},
- publisher = {ACM Press},
- address = {New York, NY, USA},
- doi = {http://doi.acm.org/10.1145/1148170.1148348}}
-
-@InProceedings{BufGan:SweetWiki06,
- author = {Michel Buffa and Fabien Gandon},
- title = {{SweetWiki}: {Semantic WEb Enabled Technologies in Wiki}},
- institution = {INRIA Sophia-Antipolis},
- url = {http://www.wikisym.org/ws2006/proceedings/p69.pdf},
- crossref = {wikisym06}}
-
-@Misc{voelkel:wsr306,
- author = {Max V{\"o}lkel and others},
- title = {Wiki Specification Request 3 -- Wiki Interchange Format},
- year = 2006,
- howpublished = {\url{http://www.wikisym.org/wiki/index.php/WSR_3}},
- url = {http://www.wikisym.org/wiki/index.php/WSR_3}}
-
-@Book{WhereMathComes,
- year = {2000},
- author = {George Lakoff and Rafael E. N{\'u}{\~n}ez},
- title = {Where Mathematics Comes From: How the Embodied Mind Brings Mathematics into Being},
- publisher = {Basic Books}}
-
-@Book{Frakes:IRDSA,
- year = {1992},
- editor = {Bill Frakes},
- title = {Information Retrieval: Data Structures and Algorithms},
- publisher = {Prentice-Hall}}
-
-@Book{BuildVirtualCom,
- year = {2002},
- title = {Building Virtual Communities -- Learning and Chang in Cyperspace},
- editor = {K. Ann Renninger and Wesley Shumar},
- publisher = {Cambridge University Press}}
-
-@inproceedings{EditDeterEmp,
- author = {Clare M. So and Stephen M. Watt},
- title = {{Editing Determining Empirical Characteristics of Mathematical Expression Use}},
- pages = {361--375},
- crossref = {MKM05}}
-
-@InProceedings{NixonSimperl:MultiMakna06,
- author = {Lyndon J. B. Nixon and Elena Paslaru Bontas Simperl},
- title = {{Makna and MultiMakna}: towards semantic hypermedia capability in Wikis for the emerging Web},
- crossref = {semantics2006}}
-
-@InProceedings{Zinn:BootstrappingSWikiMath06,
- author = {Claus Zinn},
- title = {Bootstrapping a Semantic Wiki Application for Learning Mathematics},
- crossref = {semantics2006},
- keywords = {lamapunbibs},
- url = {http://www-ags.dfki.uni-sb.de/~zinn/Publications/semantics2006.pdf}}
-
-@InProceedings{Schaffert:SemanticSocialSoftware06,
- author = {Sebastian Schaffert},
- title = {Semantic Social Software -- Semantically Enabled Social Software or Socially Enabled Semantic Web?},
- crossref = {semantics2006},
- url = {http://www.semantics2006.net/file_upload/1_tmpphpcBss70.pdf}}
-
-
-@Misc{garshol:tmrdf03,
- author = {Lars Marius Garshol},
- title = {Living with topic maps and {RDF}},
- year = 2003,
- month = mar,
- howpublished = {\url{http://www.ontopia.net/topicmaps/materials/tmrdf.html}},
- url = {http://www.ontopia.net/topicmaps/materials/tmrdf.html}}
-
-@INPROCEEDINGS{cranefield99uml,
- author = {S. Cranefield and M. Purvis},
- title = {{UML} as an {Ontology} {Modelling} {Language}},
- booktitle = {In Proceedings of the Workshop on Intelligent Information Integration, 16\textsuperscript{th}
- International Joint Conference on Artificial Intelligence (IJCAI-99).},
- year = {1999},
- crossref = {IJCAI99}}
-
-@INPROCEEDINGS{Sch05,
- author = {Tim Schloen},
- title = {{Expertennetzwerke als Innovationsschmiede -- das Konzept der Communities of Innovation}},
- pages = {40--53},
- crossref = {Wissenstransform05}}
-
-@Book{Wen05,
- year = {2005},
- title = {{Communities of Practice: Learning, Meaning, and Identity}},
- author = {Etienne Wenger},
- publisher = {Cambridge University Press}}
-
-@Book{Pree00,
- year = {2000},
- booktitle = {Online Communities: Designing Usability, Supporting Sociability},
- author = {Jenny Preece},
- publisher = {John Wiley sons}}
-
-@Article{Wilson:NonsenseKnowMan,
- author = {T. D. Wilson},
- title = {The nonsense of knowledge management},
- journal = {Information Research},
- volume = 8,
- number = 1,
- pages = {144--160},
- year = 2002,
- url = {http://informationr.net/ir/8-1/paper144.html}}
-
-@Book{Dou03,
- year = {2001},
- booktitle = {{Where The Action Is: The Foundations of Embodied Interaction}},
- author = {Paul Dourish},
- publisher = {MIT Press}}
-
-@ARTICLE{ackoff_FromDataToWisdom,
- author = {R. L. Ackoff},
- title = {From Data to Wisdom},
- journal = {Journal of Applied Systems Analysis},
- year = {1989},
- volume = {16},
- pages = {3--9}}
-
-@Article{Lamb:WideOpenSpaces04,
- author = {Brian Lamb},
- title = {Wide Open Spaces: Wikis, Ready or Not},
- journal = {EDUCAUSE Review},
- volume = 39,
- number = 5,
- pages = {36--48},
- year = 2004,
- url = {http://www.educause.edu/pub/er/erm04/erm0452.asp}}
-
-@Book{AntHar:SemanticWebPrimer04,
- author = {Grigoris Antoniou and Frank van Harmelen},
- title = {A Semantic Web Primer},
- publisher = {MIT Press},
- year = {2004},
- url = {http://www.semanticwebprimer.org/}}
-
-@PhdThesis{Puntschart:Wissensaustausch06,
- author = {Ines Puntschart},
- title = {{Wissensaustausch {\"u}ber (un)moderierte Diskussionsforen}},
- school = {Karl-Franzens-Universit{\"a}t Graz},
- year = {2006},
- month = jun,
- url = {http://www.know-center.tugraz.at/content/download/1074/5921/file/Dissertation_Puntschart.pdf}}
-
-@PhdThesis{Zinn:MathematicalDiscourse,
- author = {Claus Zinn},
- title = {{Understanding Informal Mathematical Discourse}},
- school = {Technischen Fakult{\"a}t der Universit{\"a}t Erlangen-N{\"u}rnberg},
- url = {https://sites.google.com/site/clauszinn/verifying-informal-proofs/37_04.pdf},
- keywords = {lamapunbibs},
- year = {2004}}
-
-@article{Zinn:sfvt06,
- Author = {Zinn, Claus},
- Journal = {Journal of Applied Logic},
- Month = {12},
- Number = {4},
- Pages = {592--621},
- Title = {Supporting the formal verification of mathematical texts},
- Volume = {4},
- url = {http://dx.doi.org/10.1016/j.jal.2005.10.010},
- Year = {2006}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@phdthesis{nilekar:thesis:06,
- author = {Shirish K. Nilekar},
- title = {{Self Maintenance of Materialized XQuery Views via Query Containment and Re-writing}},
- year = 2006,
- school = {Worcester Polytechnic Institute},
-}
-
-@phdthesis{elsayed:thesis:05,
- author = {Maged F. El-Sayed},
- title = {{Incremental Maintenance of Materialized XQuery Views}},
- year = 2005,
- school = {Worcester Polytechnic Institute},
-}
-
-
-
-
-
-
-
-
-
-@unpublished{cm:s3t:10,
- author = {Christine M{\"u}ller},
- title = {From Topics to Narrative Documents Management and Personalization of Topic Collections},
- year = 2010,
- note = {Submitted to International Conference on Software, Services and Semantic Technologies},
- url = {http://kwarc.info/cmueller/papers/S3T10.pdf}}
-
-@unpublished{cm:kmis:10,
- author = {Christine M{\"u}ller},
- title = {Adaptation of Mathematical Documents: Exploring Document Structures, Metadata, and Context for the Generation of User-Specific Documents},
- year = 2010,
- note = {Submitted, see \url{http://kwarc.info/cmueller/papers/kmis10.pdf}},
- url = {http://kwarc.info/cmueller/papers/kmis10.pdf}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@book{Falk:thermodyn,
- author = {Gottfried Falk},
- title = {Theoretische Physik II Thermodynamik},
- publisher = {Springer Verlag},
- series = {Heidelberger Taschenb{\"u}cher},
- year = {1970}}
-
-@book{Falk:mechanik,
- author = {Gottfried Falk},
- title = {Theoretische Physik I und Ia},
- publisher = {Springer Verlag},
- series = {Heidelberger Taschenb{\"u}cher},
- year = {1970}}
-
-@book{Born:einstein,
- author = {Albert Einstein and Max Born},
- title = {Briefwechsel 1916 -- 1955},
- publisher = {Rowohlt Verlag, Reinbek},
- year = "1972"}
-
-
-@Misc{Hilf:guestrow,
- author = {Eberhard R Hilf and Julika Mimkes and Helmut SchottM{\"u}ller},
- title = {{Die Zukunft des wissenschaftlichen Publizierens --- Vom Publizieren zum Austausch von Informationen in der Wissenschaft}},
- year = "2003",
- howpublished = {\webpageat \url{http://www.isn-oldenburg.de/~hilf/vortraege/guestrow03/}},
- url = {http://www.isn-oldenburg.de/~hilf/vortraege/guestrow03/}}
-
-@manual{Schoenert:ggaap95,
- author = "Martin Sch{\"o}nert and others",
- title = "{GAP} -- {Groups}, {Algorithms}, and {Programming}",
- year = "1995",
- organization = "Lehrstuhl D f{\"u}r Mathematik, Rheinisch Westf{\"a}lische Technische Hoch\-schule",
- address = "Aachen, Germany",
- notes = "PAGES: 1100"}
-
-@InProceedings{AR-03-a,
- author = {Audebaud, Philippe and Rideau, Laurence},
- title = {TeXmacs as Authoring Tool for Publication and
- Dissemination of Formal Developments},
- booktitle = {Workshop on User Interface for Theorem Provers (UITP03)},
- year = 2003,
- address = {Rome}}
-
-@online{Miller:latexml:online,crossref={Miller:latexml:base},urldate={2013-03-12},label={LTX}}
-@Misc{Miller:latexml,crossref={Miller:latexml:base},
- howpublished = {Web Manual at \url{http://dlmf.nist.gov/LaTeXML/}},
- note = {seen September 2011}}
-@Misc{Miller:latexml:base,
- author = {Bruce Miller},
- title = {{\texttt{LaTeXML}}: A {\LaTeX} to {XML} Converter},
- url = {http://dlmf.nist.gov/LaTeXML/}}
-
-@online{OU:mathtran:online,crossref={OU:mathtran},urldate={2011-09-08}}
-@Misc{OU:mathtran,
- author = {Open University},
- title = {{\texttt{MathTran}}: A {\TeX} to {Image} Converter Web Service},
- howpublished = {Web Manual at \url{http://www.mathtran.org/wiki/index.php/Main_Page}},
- url = {http://www.mathtran.org},
- note = {\seen{\May~} 2010}}
-
-
-@InProceedings{RDSH:SemanticsXMLMarkup02,
- author = {Allen Renear and David Dubin and C. M. Sperberg-McQueen and Claus Huitfeld},
- title = {Towards a Semantics for {XML} Markup},
- booktitle = {DocEng'02},
- year = {2002},
- publisher = {ACM}}
-
-@Article{OE:TEICulturalHeritageOnto09,
- author = {Christian-Emil Ore and {\O}yvind Eide},
- title = {{TEI} and cultural heritage ontologies: Exchange of information?},
- journal = {Literary and Linguistic Computing},
- year = {2009},
- volume = {24},
- number = {2},
- pages = {161--172}}
-
-@online{texmacs:on,
- crossref = {URL:texmacs:base},
- urldate = {2010-09-07}}
-
-@Misc{URL:texmacs,
- key = {TeXMacs},
- title = {GNU {\sc{TeXMacs}}},
- howpublished = {\webpageat \url{http://www.texmacs.org}},
- month = jul,
- year = {2005},
- crossref = {URL:texmacs:base}}
-
-@Misc{URL:texmacs:base,
- title = {GNU TeXMacs},
- url = {http://www.texmacs.org}}
-
-@Misc{URL:opencalais,
- key = {OpenCalais},
- title = {Home {OpenCalais}},
- howpublished = {\webpageat\url{http://www.opencalais.com/}},
- url = {http://www.opencalais.com/},
- month = may,
- year = {2009}}
-
-@Misc{vdH:texmacs,
- key = {TeXMacs},
- author = {Yoris van der Hoeven},
- title = {Welcome to Gnu {\sc{TeXMacs}}},
- howpublished = {\webpageat \url{http://www.texmacs.org}},
- url = {http://www.texmacs.org},
- year = {\seen \July 2005}}
-
-@Misc{URL:OLPC,
-key = {OLPC},
-title = {MIT Media Lab \& \$100 Laptop},
-howpublished = {\webpageat\url{http://laptop.media.mit.edu}},
-url = {http://laptop.media.mit.edu},
-month = dec,
-year = 2007}
-
-@online{monet-mkm:on,
- urldate = {2009-10-22},
- crossref = {monet-mkm:base}}
-
-@Misc{URL:monet-mkm,
-howpublished = {\webpageat\url{http://monet.nag.co.uk/mkm}},
-note = {\seen{\March} 2005},
-crossref = {monet-mkm:base}}
-
-@Misc{monet-mkm:base,
-key = {MKMNET},
-title = {{MKMNET (Mathematical Knowledge Management Network)}},
-url = {http://monet.nag.co.uk/mkm/}}
-
-@Misc{URL:logosphere,
-key = {LogoSphere},
-title = {Logosphere: a Formal Digital Library},
-howpublished = {\webpageat\url{http://www.logosphere.org}},
-url = {http://www.logosphere.org/},
-note = {\seen{\November} 2006}}
-
-@InCollection{aird-et-al:2005,
- author = {Marc-Laurent Aird and Walter Barbera Medina and Julian Padget},
- title = {{Brokerage for Mathematical Services in MONET}},
- booktitle = {Extending Web Services Technologies},
- year = 2005,
- editor = {Cavedon, L. and Maamar, Z. and Martin, D. and
- Benatallah, B.},
- volume = 13,
- series = {Multiagent Systems, Artificial Societies, and Simulated Organizations},
- month = may,
- publisher = {Springer},
- note = {ISBN: 0-387-23343-1}}
-
-@InProceedings{Hilf:p05,
- author = {Eberhard R. Hilf},
- title = {PhysML},
- booktitle = {Sesame 2005 Workshop Bremen},
- publisher = {MKM Mathematical Knowldege Management},
- note = {\webpageat\url{http://www.mkm-ig.org/meetings/sesame05/program.html},
-talk at \webpageat\url{http://www.isn-oldenburg.de/~hilf/vortraege/sesame05/index.html}},
- month = jul,
- year = 2005}
-
-@Misc{Hilf:acis,
- key = {ACIS},
- title = {{ACIS Academic Contributor Information System}},
- note = {\webpageat\url{http://acis.openlib.org}},
- url = {http://acis.openlib.org},
- month = jul,
- year = 2005}
-
-@Article{Hilf:bridgeman,
- author = {Percy Bridgeman},
- title = {The logic of modern physics},
- journal = {Comment: the book could not be traced but is well cited},
-publisher = {New York},
- year = 1927,
- note = {and all publications following this on operational foundation of the theory of measurement}}
-
-@InProceedings{Hilf:texdocc,
- author = {Eberhard R. Hilf},
- title = {{Kann man {\TeX} beibringen, Physik zu verstehen?}},
- booktitle = {{Der Aufbau eines deutschen TeXDoc-Centers an der SUB G{\"o}ttingen, --- Chancen von TeX-Dokumenten f{\"u}r eine dauerhafte Verwertung und Publikation}},
- publisher = {{Workshop des DFG-TeXDocC-Projektes, Die Deutsche Bibliothek Frankfurt}},
-howpublished = {\webpageat\url{http://www.isn-oldenburg.de/~hilf/vortraege/texdocc05/}},
-url = {http://www.isn-oldenburg.de/~hilf/vortraege/texdocc05/},
-note = {\seen 2005-07-24 2005}}
-
-@Misc{Hilf:openaccess,
- key = {openaccess},
- author = {Eberhard R. Hilf},
- title = {{Zugang zum Wissen}},
- howpublished = {\webpageat\url{http://www.zugang-zum-wissen.de}},
- url = {http://www.zugang-zum-wissen.de},
- note = {\seen 2005-07-24 2005},
- note = {Sammlung von Links zu Open Access}}
-
-
-@Article{Jinha:a5m10,
- author = {Arif Jinha},
- title = {Article 50 million: an estimate of the number of scholarly articles in existence},
- journal = {Learned Publishing},
- year = 2010,
- doi = {10.1087/20100308},
- volume = 23,
- number = 3,
- pages = {258--263}}
-
-
-@Article{LarIns:rgsp10,
- author = {Larsen, Peder Olesen and von Ins, Markus},
- title = {The rate of growth in scientific publication and the decline in coverage provided by Science Citation Index},
- journal = {Scientometrics},
- year = 2010,
- doi = {10.1007/s11192-010-0202-z},
- volume = 84,
- number = 3,
- pages = {575--603}}
-
-@Article{Davenport:owocd00,
- author = {James Davenport},
- title = {On writing {OpenMath} Content Dictionaries},
- journal = {Bulletin of the ACM Special Interest Group on Symbolic and Automated Mathematics (SIGSAM)},
- volume = {34},
- number = {2},
- pages = {12--15},
- year = 2000}
-
-@Article{Davenport:asots00,
- author = {James Davenport},
- title = {A small {OpenMath} type system},
- journal = {Bulletin of the ACM Special Interest Group on Symbolic and Automated Mathematics (SIGSAM)},
- volume = {34},
- number = {2},
- pages = {16--21},
- year = 2000}
-
-@TechReport{Davenport:owocd02,
- author = {James H. Davenport},
- title = {On writing {OpenMath} Content Dictionaries},
- institution = {The OpenMath Esprit Project},
- year = 2002,
- note = {see \url{http://www.openmath.org/documents/writingCDs.pdf}},
- url = {http://www.openmath.org/documents/writingCDs.pdf}}
-
-@ARTICLE{ags-2001-e-4,crossref={MelAndBud:agawle01}}
-@ARTICLE{MelAndBud:agawle01,
- author = {E. Melis and E. Andr{\'e}s and J. B{\"u}denbender and Adrian Frischauf and
-G. Goguadze and P. Libbrecht and M. Pollet and C. Ullrich},
- title = {{ActiveMath: A generic and adaptive web-base learning environment}},
- journal = {International Journal of Artificial Intelligence in Education},
- year = 2001,
- volume = 12,
- pages = {385--407},
- number = {4}}
-
-@Article{BraCorDav:refca02,
- author = {Bradford, R. and Corless, R. M. and Davenport, J. H. and Jeffrey, D. J. and Watt, S. M.},
- title = {Reasoning About the Elementary Functions of Complex Analysis},
- journal = {Annals of Mathematics and Artificial Intelligence},
- year = 2002,
- volume = 36,
- number = {303-318}}
-
-@InProceedings{DiengCoP06,crossref = {ViDiGhEvGiTi:TaOfKMiCoP}}
-@InProceedings{ViDiGhEvGiTi:TaOfKMiCoP,
- author = {G{\'e}raldine Vidou and Rose Dieng-Kuntz and Adil El Ghali and Christina Evangelou and Alain Giboin and Amira Tifous and St{\'e}phane Jacquemart},
- title = {Towards an Ontology for Knowledge Management in Communities of Practice},
- booktitle = {Proceedings of the 6\textsuperscript{th} International Conference on Practical Aspects of Knowledge Management (PAKM)},
- publisher = {Springer},
- url = {http://www-sop.inria.fr/acacia/project/palette/PAKM06/},
-
- pages = {303--314},
- year = {2006}}
-
-@InProceedings{DavDukSur03,crossref = {DaDuSu:oakmefvcop}}
-@InProceedings{DaDuSu:oakmefvcop,
- author = {John Davies and Alistair Duke and York Sure},
- title = {OntoShare: A Knowledge Management Environment for Virtual Communities of Practice},
- booktitle = {Proceedings of the 2\textsuperscript{nd} International Conference on Knowledge Capture (K-Cap 03)},
- publisher = {ACM Press},
- pages = {20--27},
- year = {2003}}
-
-
-
-@InProceedings{DaDuSu:OaObKSSfVCoP,
- author = {John Davies and Alistair Duke and York Sure},
- title = {OntoShare -- An Ontology-based Knowledge Sharing System for Virtual Communities of Practice},
- editor = {Klaus Tochtermann and Hermann Maurer},
- booktitle = {Proceedings of the 3\textsuperscript{rd} International Conference on Knowledge Management (I-Know'03)},
- pages = {59--65},
- year = {2003}}
-
-@ARTICLE{DaDuSu:OaObKSSfVCoP-art,
- author = {John Davies and Alistair Duke and York Sure},
- title = {OntoShare -- An Ontology-based Knowledge Sharing System for Virtual Communities of Practice},
- journal = {Journal of Universal Computer Science (JUCS)},
- pages = {262--283},
- year = {2004},
- month = apr,
- volume = 10,
- number = 3}
-
-
-@Article{Wing:ComputationalThinking06,
- author = {Jeanette M. Wing},
- title = {Computational Thinking},
- journal = {Communications of the {ACM}},
- year = 2006,
- volume = 49,
- number = 3,
- pages = {33--35},
- month = mar,
- url = {http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf}}
-
-@Article{Wing:sifm90,
- author = {Jeanette M. Wing},
- title = {A Specifier's Introduction to Formal Methods},
- journal = {IEEE Software},
- year = 1990,
- volume = 23,
- number = 9,
- pages = {8--24},
- month = sep}
-
-@Article{AHLM99,
- volume = {3},
- number = {1},
- title = {{VSE}: Formal Methods Meet Industrial Needs},
- year = {2000},
- pages = {66--77},
- journal = {International Journal on Software Tools for Technology Transfer, Special
- Issue on Mechanized Theorem Proving for Technology},
- author = {Serge Autexier and Dieter Hutter and Bruno Langenstein and Heiko Mantel
- and Georg Rock and Axel Schairer and Werner Stephan and Roland Vogt and
- Andreas Wolpers},
- publisher = {Springer Verlag}}
-
-
-@INPROCEEDINGS{SchMos:htisdfp02,
- author = {Lutz Schr{\"o}der and Till Mossakowski},
- title = {HasCASL: towards integrated specification and development of functional
- programs},
- crossref = {AMAST02},
- pages = {99--116}}
-
-@INPROCEEDINGS{Schroder:btch07,
- author = {Lutz Schr{\"o}der},
- title = {Bootstrapping Types and Cotypes in {HasCASL}},
- booktitle = {Algebra and Coalgebra in Computer Science (CALCO 07)},
- year = {2007},
- editor = {Till Mossakowski and Udo Montanari},
- number = {4624},
- series = {LNCS},
- pages = {447--462},
- publisher = {Springer}}
-
-@InCollection{Mossakowski02c,
- Author = {Till Mossakowski},
- Title = "Foundations of heterogeneous specification",
- editor = "M. Wirsing and D. Pattinson and R. Hennicker",
- pages = "359--375",
- booktitle = "Recent Trends in Algebraic Development Techniques,
- 16\textsuperscript{th} International Workshop, {WADT} 2002,
- Frauenchiemsee, Germany, 2002, Revised Selected
- Papers",
- year = "2003",
- series = "LNCS 2755",
- publisher = "Springer Verlag"}
-
-@Unpublished{Hets,
- Author = {Till Mossakowski},
- Title = {Heterogeneous specification and the heterogeneous tool set},
- Note = {Habilitation thesis, University of Bremen},
- Year = 2005}
-
-
-@InProceedings{MosMaeLue:thts07,
- author = {Till Mossakowski and Christian Maeder and Klaus L{\"u}ttich},
- title = {The Heterogeneous Tool Set},
- crossref = {TACAS07},
- pages = {519--522}}
-
-
-@Article{HLRSSV00,
- number = {4},
- journal = {Journal of Experimental and Theoretical Artificial Intelligence},
- title = {Formal Software Development in the Verification Support Environment},
- author = {Dieter Hutter and Bruno Langenstein and Georg Rock and J{\"o}rg Siekmann and Werner Stephan and Roland Vogt},
- publisher = {Francis {and} Taylor},
- month = dec,
- volume = {12},
- pages = {383--406},
- year = {2000}}
-
-@Article{HLSS96a,
- number = {6},
- journal = {Journal of High Integrity Systems},
- title = {{Verification} {Support} {Environment} ({VSE})},
- author = {Dieter Hutter and Bruno Langenstein and Claus Sengler and J{\"o}rg Siekmann and Werner Stephan and Andreas Wolpers},
- volume = {1},
- year = {1996},
- publisher = {Oxford University Press},
- pages = {523--530}}
-
-@INPROCEEDINGS{SH02,
- author = {Axel Schairer and Dieter Hutter},
- title = {Proof Transformations for Evolutionary Formal Software Development},
- crossref={AMAST02}}
-
-
-@Book{HS05,
- series = {LNAI},
-number = {2605},
- year = {2005},
- author = {Dieter Hutter and Werner Stephan (Eds.)},
- publisher = {Springer-Verlag},
- title = {Mechanizing Mathematical Reasoning, Techniques, Tools, and Applications,
- Festschrift in honour of J{\"o}rg H. Siekmann}}
-
-@Misc{Wiesner:GenderLeitfaden,
- author = {H. Wiesner and M. Kamphans and H. Schelhowe and S. Metz-G{\"o}ckell and I. Zorn and A. Drag and U. Peter and H. Schottm{\"u}ller},
- title = {{Gender Mainstreaming in "`Neue Medien in der Bildung:Leitfaden"'}},
- howpublished = {online {\url{http://dimeb.informatik.uni-bremen.de/documents/projekt.gender.GMLeitfaden.pdf}}},
- url = {http://dimeb.informatik.uni-bremen.de/documents/projekt.gender.GMLeitfaden.pdf},
- year = 2004,
- note = {gesehen am 2005-07-21}}
-
-@MastersThesis{Chitea:doomf05,
- author = {Alexandru Chitea},
- title = {Development of an OMGeo Open Markup Format for the Open GIS Consortium Web Map Service},
- school = {International University Bremen},
- year = 2005}
-
-@MastersThesis{Grigoras:uddixtm,
- author = {Dana-Roxana Grigoras},
- title = {Using XTM for navigating UDDI},
- school = {Universit{\"a}t Osnabr{\"u}ck and University Twente},
- year = 2005,
- url = {http://www.mathematik.uni-osnabrueck.de/~drgrigor/roxana_MSc_Th.pdf}}
-
-
-
-@InProceedings{MurRze:tcsw02,
- author = {P. Murray-Rust and H. S. Rzepa},
- title = {Towards the Chemical Semantic Web},
- booktitle = {Proc. 2002 International Chemical Information Conference},
- pages = {127--139},
- year = 2002,
- editor = {H. Collier},
- publisher = {Infonortics}}
-
-@Misc{dgrid:web,
- key = {dgrid},
- title = {{Initiative zur F{\"o}rderung eines Grid-basierten e-Science-Frameworks in Deutschland}},
- howpublished = {\projectpageat\url{http://www.d-grid.de/}},
- url = {http://www.d-grid.de/},
- month = jul,
- year = 2005}
-
-@Misc{GC:web,
- key = {globusconsortium},
- title = {{The Globus Consortium}},
- howpublished = {\webpageat\url{http://www.globusconsortium.com}},
- url = {http://www.globusconsortium.com},
- note = {\seen{\July} 2005}}
-
-@Misc{mmm:web,
- key = {mmm},
- title = {{My Meta Maker}},
- howpublished = {\webpageat\url{http://www.isn-oldenburg.de/services/mmm/}},
- url = {http://www.isn-oldenburg.de/services/mmm/},
- note = {\seen{\July} 2005}}
-
-@Misc{OAI:web,
- key = {openarchives},
- title = {{Open Archives Initiative}},
- howpublished = {\webpageat\url{http://www.openarchives.org}},
- url = {http://www.openarchives.org},
- note = {\seen{\July} 2005}}
-
-
-@Misc{PML:web,
- key = {pml},
- title = {{Zu einem verlustfreien Publizieren und Archivieren}},
- author = {Eberhard R. Hilf and Julika Mimkes},
- howpublished = {\webpageat\url{http://www.isn-oldenburg.de/~hilf/vortraege/mathdiss02/}},
- url = {http://www.isn-oldenburg.de/~hilf/vortraege/mathdiss02/},
- note = {\seen{\July} 2005}}
-
-@Misc{wikipedia-de:wiki,
- key = {Wikipedia: Wiki},
- title = {{Wiki (aus Wikipedia, der freien Enzyklop{\"a}die)}},
- howpublished = {\webpageat\url{http://de.wikipedia.org/w/index.php?title=Wiki&oldid=24165591}},
- note = {\seen{\November} 2006},
- crossref = {wikipedia},
- url = {http://de.wikipedia.org/w/index.php?title=Wiki&oldid=24165591}}
-
-@Misc{wikipedia:polnot,
- key = {Wikipedia: Polish Notation},
- title = {{Polish notation for logic (from Wikipedia, the free encyclopedia)}},
- howpublished = {\webpageat\url{http://en.wikipedia.org/w/index.php?title=Polish_notation&oldid=165738551}},
- note = {\seen{\November} 2007},
- url = {http://en.wikipedia.org/w/index.php?title=Polish_notation&oldid=165738551}}
-
-@Misc{wikipedia:nottab,
- key = {Wikipedia: Table of mathematical symbols},
- title = {{Table of Mathematical Symbols (from Wikipedia, the free encyclopedia)}},
- howpublished = {\webpageat\url{http://en.wikipedia.org/w/index.php?title=List_of_mathematical_symbols&oldid=446084263}},
- note = {\seen{\August} 2011},
- url = {http://en.wikipedia.org/w/index.php?title=List_of_mathematical_symbols&oldid=446084263}}
-
-@online{Rusin:MathAtlas:on,
- label = {MathAtlas},
- author = {Dave Rusin},
- title = {The Mathematical Atlas, a Gateway to Modern Mathematics},
- url = {http://www.math-atlas.org/},
- urldate = {2009-11-18}}
-
- @online{rusin:info,
- author = "Dave Rusin",
- title = "{Information about the Mathematical Atlas collection}",
- year = {2002},
- url = "http://www.math.niu.edu/~rusin/known-math/collection/index.html",
- urldate = {2012-12-02}
- }
-
- @online{rusin:map:on,crossref={rusin:map:base},
- url = {http://www.math.niu.edu/~rusin/known-math/collection/mathmap.html},
- urldate = {2012-12-02}}
- @misc{rusin:map,crossref={rusin:map:base},
- howpublished = {\url{ttp://www.math.niu.edu/~rusin/known-math/collection/mathmap.html}}}
- @misc{rusin:map:base,
- author = "Dave Rusin",
- title = "{About the MathMap image}",
- year = {2001}}
-
- @online{maovfl,
- author = "MathOverflow",
- title = {Who is the last mathematician that understood all of mathematics},
- month = jun,
- url= {http://mathoverflow.net/questions/27881/},
- urldate = {2012-12-07}}
-
-
-@online{wikipedia:math-portal:on,
- key = {Wikipedia: Mathematics},
- title = {{Portal: Mathematics}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2009-12-02},
- url = {http://en.wikipedia.org/w/index.php?title=Portal:Mathematics&oldid=329137789},
- crossref = {wikipedia:biblatex}}
-
-@online{wikipedia:pythagorean-theorem,
- key = {Wikipedia: Pythagorean theorem},
- title = {Pythagorean theorem},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- year = 2009,
- month = nov,
- date = {2009-11-29},
- url = {http://en.wikipedia.org/w/index.php?title=Pythagorean_theorem&oldid=328597679},
- crossref = {wikipedia:biblatex}}
-
-@online{wikipedia:linus-law,
- key = {Wikipedia: Linus' Law},
- title = {{Linus' Law}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- year = 2011,
- month = mar,
- date = {2011-03-31},
- url = {http://en.wikipedia.org/w/index.php?title=Linus%27_Law&oldid=421629750},
- crossref = {wikipedia:biblatex}}
-
-@online{wikipedia:OpenNotebookScience,
- key = {Wikipedia: Open Notebook Science},
- title = {{Open Notebook Science}},
- subtitle = {From {Wikipedia}, the free encyclopedia},
- date = {2010-07-14},
- url = {http://en.wikipedia.org/w/index.php?title=Open_Notebook_Science&oldid=372235042},
- crossref = {wikipedia:biblatex}}
-
-@Misc{wikipedia:math-portal,
- key = {Wikipedia: Wiki},
- title = {Portal:Mathematics (From Wikipedia, the free encyclopedia)},
- howpublished = {\webpageat\url{http://en.wikipedia.org/wiki/Portal:Mathematics}},
- note = {\seen{\February} 2007},
- crossref = {wikipedia},
- url = {http://en.wikipedia.org/wiki/Portal:Mathematics}}
-
-@Misc{iwi:web,
- key = {iwi},
- title = {{IWI -- Institut f{\"u}r wissenschaftliche Information e.V.}},
- howpublished = {\webpageat\url{http://www.iwi-iuk.org}},
- url = {http://www.iwi-iuk.org},
- note = {\seen{\July} 2005}}
-
-
-@Misc{diss:web,
- key = {dissertation},
- title = {{Digitale Dissertationen im Internet}},
- url = {http://www.dissonline.de},
- howpublished = {\webpageat\url{http://www.dissonline.de}},
- note = {\seen{\July} 2005}}
-
-
-@Misc{gpl:web,
- key = {GPL},
- title = {{The GNU General Public License}},
- howpublished = {\webpageat\url{http://www.opensource.org/licenses/gpl-license.php}},
- url = {http://www.opensource.org/licenses/gpl-license.php},
- note = {\seen{\July} 2005}}
-
-@Misc{OMsoc:web,crossref = {OCG:web}}
-@Misc{OCG:web,
- key = {OCG},
- title = {The {\openmath} Society},
- howpublished = {Web site at {\url{http://www.opengis.org}}},
- url = {http://www.opengis.org},
- note = {seen February 2007}}
-
-@online{MathML-IG:on,
- urldate = {2009-01},
- crossref = {MathML-IG:base}}
-
-@Misc{MathML-IG:web,
- howpublished = {Web site at {\url{http://www.w3.org/Math/}}},
- note = {seen January 2009},
- crossref = {MathML-IG:base}}
-
-@Misc{MathML-IG:base,
- key = {MathML},
- title = {W3C Math Home},
- url = {http://www.w3.org/Math/}}
-
-@Misc{SensorML:web,
- key = {SensorML},
- title = {Sensor Model Language},
- howpublished = {Web site at {\url{http://vast.uah.edu/SensorML/home.html}}},
- url = {http://vast.uah.edu/SensorML/home.html},
- note = {seen May 2007}}
-
-@online{Openmath:on,
- urldate = {2009-10-22},
- crossref = {Openmath:base}}
-
-@Misc{Openmath:web,
- howpublished = {{\url{http://www.openmath.org}}},
- note = {seen May 2009},
- crossref = {Openmath:base}}
-
-@Misc{Openmath:base,
- key = {OpenMath},
- title = {{{\openmath} Home}},
- url = {http://www.openmath.org}}
-
-@Misc{WikiPedia:web,
-crossref = {wikipedia}}
-
-@Article{Harnad:sgp90,
- author = {Harnad, Stevan},
- title = {The Symbol Grounding Problem},
- journal = {Physica D},
- year = 1990,
- volume = 42,
- url = {http://cogprints.org/3106/1/sgproblem1.html},
- pages = {335--346}}
-
-@Misc{Harnad:homepage,
- author = {Stevan Harnad},
- howpublished = {\homepageat{\url{http://www.ecs.soton.ac.uk/~harnad/intpub.html}}},
- url = {http://www.ecs.soton.ac.uk/~harnad/intpub.html},
- note = {\seen{\July} 2005}}
-
-@Misc{Froumentin:homepage,
- author = {Max Froumentin},
- howpublished = {\homepageat\url{http://www.w3.org/People/maxf/}},
- url = {http://www.w3.org/People/maxf/},
- note = {\seen{\July} 2005}}
-
-@online{CNX:FAQ:OA,
- title = {Connexions -- {FAQ}},
- url = {http://cnx.org/help/faq#OpenAccess},
- urldate = {2010-07-14}}
-
-@online{OmegaT:on,
- label = {OT},
- title = {OmegaT},
- url = {http://omegat.org/},
- urldate = {2014-02-04}}
-
-@online{OmegaT:sf:on,
- label = {OT},
- title = {OmegaT -- multiplatform CAT tool},
- url = {http://sourceforge.net/projects/omegat/},
- urldate = {2014-02-04}}
-
-@book{EisSub:wm82,
- title={W{\"o}rterbuch Mathematik Englisch Deutsch Franz{\"o}sisch Russisch},
- author = {G{\"u}nther Eisenreich and Ralf Sube},
- publisher = {Verlag Harri Deutsch},
- year = {1982}}
-
-@online{CNX:on,crossref = {CNX:base},urldate = {2014-02-01},label={CNX}}
-@MISC{Connextions:web,crossref = {CNX:base},
- key = {CNX},
- howpublished = {\webpageat\url{http://cnx.org}},
- note = {\seen Jan 2014}}
-@misc{CNX:base,title = {{Connexions} -- Sharing Knowledge and Building Communities},url={http://cnx.org}}
-
-@online{MKM:on,crossref={MKM:base},urldate={2012-08-12},label={MKM}}
-@MISC{MKM:web,crossref={MKM:base},
- howpublished = {\webpageat\url{http://www.mkm-ig.org/}},
- note = {seen November 2008}}
-@MISC{MKM:webpage,crossref={MKM:base},lastchecked = {November 2007}}
-@MISC{MKM:base,
- key = {MKM},
- label = {MKM},
- title = {{International Conference on Mathematic Knowledge Management}},
- url = {http://www.mkm-ig.org/}}
-
-@MISC{Visio:web,
- key = {Visio},
- title = {{Microsoft Office Visio}},
- note = {available at \url{http://office.microsoft.com/de-de/visio/FX100487861031.aspx}},
- url = {http://office.microsoft.com/de-de/visio/FX100487861031.aspx},
- note = {seen February 2007}}
-
-@MISC{Powerpoint:web,
- key = {powerpoint},
- title = {{Microsoft Office Powerpoint}},
- note = {available at \url{http://office.microsoft.com/de-de/powerpoint/FX100487761031.aspx}},
- url = {http://office.microsoft.com/de-de/powerpoint/FX100487761031.aspx},
- note = {seen February 2007}}
-
-@MISC{NotSelectTool:web,
- key = {NotSelectTool},
- title = {{Notation Selection Tool}},
- note = {available at \url{http://www.orcca.on.ca/MathML/NotationSelectionTool/}},
- url = {http://www.orcca.on.ca/MathML/NotationSelectionTool/},
- note = {seen February 2007}}
-
-@MISC{Greasemonkey:web,
- key = {Greasemonkey},
- title = {{Greasemonkey Project}},
- note = {project web page at \url{http://www.greasespot.net/}},
- url = {http://www.greasespot.net/},
- note = {seen July 2007}}
-
-@MISC{SIOC:web,
- key = {SIOC},
- title = {{SIOC -- Semantically-Interlinked Online Communities}},
- note = {project web page at \url{http://sioc-project.org/}},
- url = {http://sioc-project.org/},
- note = {seen December 2007}}
-
-@MISC{URL:digg,
- key = {DIGG},
- title = {{Digg}},
- note = {\webpageat\url{http://digg.com/}},
- url = {http://digg.com/},
- note = {\seen{\May} 2008}}
-
-@online{slashdot:on,
- key = {slashdot},
- title = {{slashdot}},
- url = {http://slashdot.org/},
- urldate = {2009-12-02}}
-
-@MISC{slashdot:web,
- key = {slashdot},
- title = {{slashdot}},
- howpublished = {\webpageat\url{http://slashdot.org/}},
- url = {http://slashdot.org/},
- note = {\seen July 2008}}
-
-@MISC{URL:SCOOP:CMS,
- key = {SCOOP},
- title = {{The Content Management System SCOOP}},
- note = {available at \url{http://scoop.kuro5hin.org/}},
- url = {http://scoop.kuro5hin.org/},
- note = {\seen{\May} 2008}}
-
-@MISC{Annozilla:web,
- key = {Annozilla},
- title = {{Annozilla Project}},
- note = {available at \url{http://annozilla.mozdev.org/}},
- url = {http://annozilla.mozdev.org/},
- note = {seen July 2007}}
-
-@MISC{Annotea:web,
- key = {Annotea Project},
- title = {{Annotea Project}},
- note = {available at \url{http://www.w3.org/2001/Annotea/}},
- url = {http://www.w3.org/2001/Annotea/},
- note = {seen July 2007}}
-
-@MISC{Firefox:web,
- key = {Firefox},
- title = {{Firefox}},
- note = {available at \url{http://www.mozilla.com/en-US/firefox/}},
- url = {http://www.mozilla.com/en-US/firefox/},
- note = {seen July 2007}}
-
-@MISC{Easychair:web,
- key = {Easychair},
- title = {{Easychair}},
- note = {\webpageat\url{http://www.easychair.org/}},
- url = {http://www.easychair.org/},
- note = {seen July 2007}}
-
-@online{velocity:on,
- crossref = {velocity:base},
- urldate = {2010-09-30}}
-
-@MISC{velocity:web,
- crossref = {velocity:base},
- key = {Velocity},
- note = {available at \url{http://jakarta.apache.org/velocity/}},
- note = {seen February 2007}}
-
-@MISC{velocity:base,
- author = {{Apache Software Foundation}},
- title = {{Apache Velocity}},
- url = {http://velocity.apache.org}}
-
-@MISC{UML:web,
- key = {UML},
- title = {{Unified Modeling Language}},
- howpublished = {available at \url{http://www.uml.org/}},
- url = {http://www.uml.org/},
- note = {seen February 2007}}
-
-
-@MISC{MySQL:web,
- key = {MySQL},
- title = {MySQL},
- note = {homepage at \url{http://www.mysql.com/}},
- url = {http://www.mysql.com/},
- note = {\seen June 2008}}
-
-@MISC{PLSQL:web,
- key = {PL/SQL},
- title = {PL/SQL},
- note = {homepage at \url{http://www.oracle.com/technology/tech/pl_sql/index.html}},
- url = {http://www.oracle.com/technology/tech/pl_sql/index.html},
- note = {\seen May 2009}}
-
-
-@MISC{Postfix:web,
- key = {Postfix},
- title = {Postfix},
- note = {homepage at \url{http://www.postfix.org/}},
- url = {http://www.postfix.org/},
- note = {\seen May 2009}}
-
-@MISC{RPM:web,
- key = {RPM},
- title = {The RPM Package Manager},
- note = {homepage at \url{http://www.rpm.org/}},
- url = {http://www.rpm.org/},
- note = {\seen May 2009}}
-
-@online{SVN:on,urldate = {2009-10-22},crossref={SVN:base}}
-@MISC{SVN:web,crossref = {SVN:base},
- howpublished = {available at \url{http://subversion.apache.org/}},
- note = {seen June 2008},
- year = 2008}
-
-@MISC{SVNWeb,crossref = {SVN:base},
- howpublished = {Web site at {\url{http://subversion.tigris.org/}}},
- note = {seen August 2006}}
-@misc{SVN:base,
- key = {SVN},
- author = {{Apache Software Foundation}},
- title = {{Apache Subversion}},
- url = {http://subversion.apache.org/}}
-
-@MISC{SQLite:web,
- key = {SQLite},
- title = {{SQLite} {Database}},
- note = {available at \url{http://www.sqlite.org/}},
- url = {http://www.sqlite.org/},
- note = {seen January 2008}}
-
-@online{BerkeleyDBXML:on,
- urldate = {2009-10-22},
- crossref = {BerkeleyDBXML:base}}
-
-@MISC{BerkeleyDBXML:web,
- howpublished = {available at \url{http://www.oracle.com/database/berkeley-db/xml/}},
- note = {seen January 2011},
- crossref = {BerkeleyDBXML:base}}
-
-@MISC{BerkeleyDBXML:base,
- key = {BerkeleyDBXML},
- title = {{Berkeley} {DB} {XML}},
- url = {http://www.oracle.com/database/berkeley-db/xml/}}
-
-@online{xDB:on,
- urldate = {2010-10-18},
- crossref = {xDB:base}}
-
-@MISC{xDB:web,
- howpublished = {available at \url{http://www.emc.com/products/detail/software2/documentum-xdb.htm}},
- note = {seen October 2010},
- crossref = {xDB:base}}
-
-@MISC{xDB:base,
- key = {xDB},
- title = {{Documentum} {xDB}},
- url = {http://www.emc.com/products/detail/software2/documentum-xdb.htm}}
-
-@MISC{vdocsasjsp:base,
- key = {VDocsAsJsp},
- title = {{Ideas} on {Virtual Documents }},
- url = {http://ehennum.wordpress.com/2010/08/19/xslt-xquery-tag-libraries/}}
-
-@MISC{TNTBase:demo,
- key = {TNTBaseDemo},
- title = {{TNTBase} {Demo}},
- note = {Available at \url{http://alpha.tntbase.mathweb.org:8080/tntbase/lectures/}},
- url = {http://alpha.tntbase.mathweb.org:8080/tntbase/lectures/},
- note = {seen January 2010}}
-
-@online{TNTBase:on,
- urldate = {2010-01-11},
- crossref = {TNTBase:base}}
-
-@MISC{TNTBase:web,
- note = {\projectpageat\url{http://tntbase.org/}},
- note = {seen December 2008},
- crossref = {TNTBase:base}}
-
-@MISC{TNTBase:wiki,
- note = {Available at \url{http://tntbase.org/}},
- note = {seen June 2009},
- crossref = {TNTBase:base}}
-
-@online{TNTBase:webpage,
- lastchecked = {December 2008},
- crossref = {TNTBase:base}}
-
-@misc{TNTBase:base,
- key = {TNTBase},
- title = {{TNTBase}},
- url = {http://tntbase.org/}}
-
-@MISC{XSDvsRNG:web,
- key = {XSDvsRNG},
- title = {{XML} {Schema} vs. {RELAX NG}},
- note = {available at \url{http://www.webreference.com/xml/column59/index.html}},
- url = {http://www.webreference.com/xml/column59/index.html},
- note = {seen May 2009}}
-
-@MISC{Jing:web,crossref={Jing:base},
- key = {Jing},
- howpublished = {available at \url{http://www.thaiopensource.com/relaxng/jing.html}},
- note = {seen January 2015}}
-@online{Jing:on,crossref={Jing:base},
- label = {Jing},
- urldate = {2015-01-15}}
-@MISC{Jing:base,
- title = {{Jing} --- {Relax} {NG} {Validator} in {Java}},
- url = {http://www.thaiopensource.com/relaxng/jing.html}}
-
-@MISC{Trang:web,crossref={Trang:base},
- key = {Trang},
- howpublished = {available at \url{http://www.thaiopensource.com/relaxng/jing.html}},
- note = {seen January 2015}}
-@online{Trang:on,crossref={Trang:base},
- label = {Trang},
- urldate = {2015/01/15}}
-@MISC{Trang:base,
- title = {{Trang} --- {Multi}-format schema converter based on {RELAX} {NG}},
- url = {http://www.thaiopensource.com/relaxng/jing.html}}
-
-@MISC{MSV:web,
- key = {MSV},
- title = {{The} {Sun} {Multi}-{Schema} {XML} {Validator}},
- note = {available at \url{https://msv.dev.java.net/}},
- url = {https://msv.dev.java.net/},
- note = {seen May 2009}}
-
-@MISC{JNI:Web,
- key = {JNI},
- title = {{The} {Java} {Native} {Interface}},
- note = {available at \url{http://java.sun.com/docs/books/jni/}},
- url = {http://java.sun.com/docs/books/jni/},
- note = {seen May 2009}}
-
-@MISC{Ipedo:web,
- key = {Ipedo},
- title = {{Ipedo} {XML} {Database}},
- note = {available at \url{http://www.ipedo.com/html/ipedo_xml_db.html}},
- url = {http://www.ipedo.com/html/ipedo_xml_db.html},
- note = {seen March 2009}}
-
-@MISC{MarkLogic:web,
- key = {MarkLogic},
- title = {{MarkLogic} {Server}},
- note = {available at \url{http://www.marklogic.com/product/marklogic-server.html}},
- url = {http://www.marklogic.com/product/marklogic-server.html},
- note = {seen March 2009}}
-
-@online{BerkeleyDB:on,crossref = {BerkeleyDB:base},urldate={2010-03-03}}
-@MISC{BerkeleyDB:web,
- howpublished = {available at \url{http://www.oracle.com/technology/products/berkeley-db/}},
- note = {seen January},
- year = 2009,
- crossref = {BerkeleyDB:base}}
-@MISC{BerkeleyDB:base,
- key = {BerkeleyDB},
- title = {{Berkeley} {DB}},
- url = {http://www.oracle.com/technology/products/berkeley-db/index.html}}
-
-@MISC{OracleXMLDB:web,
- key = {OracleXMLDB},
- title = {{Oracle} {XML} {DB}},
- note = {available at \url{http://www.oracle.com/technology/tech/xml/xmldb/index.html}},
- url = {http://www.oracle.com/technology/tech/xml/xmldb/index.html},
- note = {seen April 2009}}
-
-@MISC{OracleDB:web,
- key = {OracleDB},
- title = {{Oracle} {Database}},
- note = {available at \url{http://www.oracle.com/database/index.html}},
- url = {http://www.oracle.com/database/index.html},
- note = {seen April 2009}}
-
-@online{eXistDB:on,
- urldate = {2009-10-22},
- crossref = {eXistDB:base}}
-
-@MISC{eXistDB:web,
- note = {available at \url{http://exist.sourceforge.net/}},
- note = {seen December 2007},
- crossref = {eXistDB:base}}
-
-@MISC{eXistDB:base,
- key = {eXistDB},
- title = {{eXist} {database}},
- url = {http://exist.sourceforge.net/}}
-
-@MISC{X-HiveDB:web,
- key = {X-HiveDB},
- title = {{X-Hive} {database}},
- note = {available at \url{http://www.x-hive.com/products/db/index.html}},
- url = {http://www.x-hive.com/products/db/index.html},
- note = {seen December 2007}}
-
-@MISC{SednaXMLDB:web,
- key = {SednaXMLDB},
- title = {{Sedna} {XML} {DBMS}},
- note = {available at \url{http://modis.ispras.ru/sedna/index.htm}},
- url = {http://modis.ispras.ru/sedna/index.htm},
- note = {seen December 2007}}
-
-
-@MISC{jmeter:web,
- key = {JMeter},
- title = {{Apache} {JMeter}},
- url = {http://jakarta.apache.org/jmeter},
- note = {seen May 2011}}
-
-@MISC{basex:web,
- key = {BaseX},
- title = {{BaseX} {XML} {DBMS}},
- note = {available at \url{http://www.inf.uni-konstanz.de/dbis/basex/}},
- url = {http://www.inf.uni-konstanz.de/dbis/basex/},
- note = {seen December 2010}}
-
-@MISC{JSON:web,
- key = {JSON},
- title = {{JSON (JavaScript Object Notation)}},
- note = {\url{http://json.org/}},
- url = {http://json.org/},
- note = {seen March 2009}}
-
-@MISC{XMLRPC:web,
- key = {XML-RPC},
- title = {{XML-RPC}},
- url = {http://www.xmlrpc.com/},
- note = {seen March 2009}}
-
-@MISC{XMI:web,
- key = {XMI},
- title = {{XML} {Metadata} {Interchange} ({XMI})},
- url = {http://www.omg.org/spec/XMI/},
- note = {seen May 2010}}
-
-@MISC{WEBDAV:web,
- key = {WEBDAV},
- title = {{WebDAV} -- {Web-based} {Distributed} {Authoring} and {Versioning}},
- note = {available at \url{http://www.webdav.org/}},
- url = {http://www.webdav.org/},
- note = {seen February 2008}}
-
-@MISC{XML:DB:web,
- key = {XML:DB},
- title = {{XML:DB} -- {Application} {Programming} {Interface} for {XML} {Databases}},
- note = {available at \url{http://xmldb-org.sourceforge.net/xapi/}},
- url = {http://xmldb-org.sourceforge.net/xapi/},
- note = {seen February 2008}}
-
-@MISC{JPF:web,
- key = {JPF},
- title = {{Java} {Plug-in} {Framework}},
- note = {available at \url{http://jpf.sourceforge.net/}},
- url = {http://jpf.sourceforge.net/},
- note = {seen January 2008}}
-
-@online{TopBraidSPINAPI,
- urldate = {2011-07-15},
- author = {Holger Knublauch},
- title = {The {TopBraid} {SPIN} {API}},
- url = {http://topbraid.org/spin/api/}}
-
-@MISC{getter:webpage,
- key = {Getter},
- title = {{HTTP Getter Homepage}},
- url = {http://helm.cs.unibo.it/software/getter/},
- lastchecked = {August 2008}}
-
-@MISC{XMLandDatabases:web,
- key = {XMLandDatabases},
- author = {Ronald Bourret},
- title = {{XML} {and} {Databases}},
- note = {available at \url{http://www.rpbourret.com/xml/XMLAndDatabases.htm}},
- url = {http://www.rpbourret.com/xml/XMLAndDatabases.htm},
- month = sep,
- year = 2005}
-
-@online{XQuery:online,crossref={XQuery:base},urldate = {2009-12-14}}
-@TECHREPORT{W3C:XQuery10,
- note = {available at \url{http://www.w3.org/TR/xquery/}},
- crossref={XQuery:base}}
-@MISC{XQuery:web,
- note = {available at \url{http://www.w3.org/TR/xquery/}},
- crossref={XQuery:base},
- note = {seen December 2009}}
-
-@MISC{XQuery:base,
- key = {XQuery},
- author = {Scott Boag and Don Chamberlin and Mary F. Fern{\'a}ndez and Daniela Florescu and Jonathan Robie and J{\'e}r{\^o}me Sim{\'e}on},
- institution = {World Wide Web Consortium ({W3C})},
- month = jan,
- type = {{W3C} Recommendation},
- title = {{XQuery}: An {XML} {Query} {Language}},
- url = {http://www.w3.org/TR/xquery/},
- year = 2007}
-
-@MISC{XProc:web,
- note = {available at \url{http://www.w3.org/TR/xproc/}},
- crossref={XProc:base},
- note = {seen February 2010}}
-@MISC{XProc:base,
- key = {XProc},
- author = {Norman Walsh and Alex Milowski and Henry Thompson},
- institution = {World Wide Web Consortium ({W3C})},
- month = may,
- type = {{W3C} Recommendation},
- title = {{XProc}: An {XML} {Pipeline} {Language}},
- url = {http://www.w3.org/TR/xproc/},
- year = 2010}
-
-@online{XQUpdate:online,crossref={XQUpdate:base},urldate = {2009-12-14}}
-@MISC{XQUpdate:web,
- crossref={XQUpdate:base},
- howpublished = {available at \url{http://www.w3.org/TR/xquery-update-10/}},
- note = {seen February 2009}}
-@MISC{XQUpdate:base,
- key = {XQUpdate},
- author = {Don Chamberlin and Michael Dyck and Daniela Florescu and Jim Melton and Jonathan Robie and J{\'e}r{\^o}me Sim{\'e}on},
- institution = {{World Wide Web Consortium (W3C)}},
- type = {{W3C Candidate Recommendation}},
- title = {{XQUpdate}: {XQuery} {Update} {Facility} 1.0},
- url = {http://www.w3.org/TR/xquery-update-10/},
- year = 2008}
-
-@TECHREPORT{w3c:xquery,
- author = {Scott Boag and Don Chamberlin and Mary F. Fern{\'a}ndez and Daniela Florescu and Jonathan Robie and J{\'e}r{\^o}me Sim{\'e}on},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Recommendation},
- title = {{XQuery} 1.0: An {XML} {Query} {Language}},
- url = {http://www.w3.org/TR/2007/REC-xquery-20070123},
- date = {2007-01-23}}
-
-@TECHREPORT{w3c:xquery-update,
- author = {Don Chamberlin and Michael Dyck and Daniela Florescu and Jim Melton and Jonathan Robie and J{\'e}r{\^o}me Sim{\'e}on},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Candidate Recommendation},
- title = {{XQuery} Update Facility 1.0},
- url = {http://www.w3.org/TR/2009/CR-xquery-update-10-20090609},
- date = {2009-06-09}}
-
-@TECHREPORT{w3c:xquery-fulltext,
- author = {Sihem Amer-Yahia and Chavdar Botev and Stephen Buxton and Pat Case and Jochen Doerre and Michael Dyck and Mary Holstege and Jim Melton and Michael Rys and Jayavel Shanmugasundaram},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Candidate Recommendation},
- title = {{XQuery} and {XPath} Full Text 1.0},
- url = {http://www.w3.org/TR/2010/CR-xpath-full-text-10-20100128},
- date = {2010-01-28}}
-
-@TECHREPORT{w3c:REC-xpath-datamodel-20101214,
- author = {Anders Berglund and Mary Fern{\'a}ndez and Ashok Malhotra and Jonathan Marsh and Marton Nagy and Norman Walsh},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Recommendation},
- title = {{XQuery} 1.0 and {XPath} 2.0 Data Model (XDM) (Second Edition)},
- url = {http://www.w3.org/TR/2010/REC-xpath-datamodel-20101214},
- date = {2010-12-14}}
-
-@TechReport{w3c:xquery3,crossref={w3c:WD-xquery-30-20101214}}
-@TECHREPORT{w3c:WD-xquery-30-20101214,
- author = {Jonathan Robie and Don Chamberlin and Michael Dyck and John Snelson},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Working Draft},
- title = {{XQuery} 3.0: An {XML} Query Language},
- url = {http://www.w3.org/TR/2010/WD-xquery-30-20101214},
- date = {2010-12-14}}
-
-@TECHREPORT{w3c:xquery-11-requirements,
- author = {Daniel Engovatov and Jonathan Robie},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Working Draft},
- title = {{XQuery} 1.1 Requirements},
- url = {http://www.w3.org/TR/2009/WD-xquery-11-requirements-20091215},
- date = {2009-12-15}}
-
-@TechReport{w3c:sparql-entailment,crossref={w3c:WD-sparql11-entailment-20101014}}
-@TechReport{w3c:sparql11-entailment,crossref={w3c:WD-sparql11-entailment-20101014}}
-@TechReport{w3c:WD-sparql11-entailment-20101014,
- author = {Birte Glimm and Chimezie Ogbuji},
- title = {{SPARQL} 1.1 Entailment Regimes},
- type = {{W3C} Working Draft},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2010/WD-sparql11-entailment-20101014/},
- date = {2010-10-14}}
-
-@TechReport{w3c:sparql-update,
- author = {Simon Schenk and Paul Gearon},
- title = {{SPARQL 1.1 Update}},
- type = {{W3C} Working Draft},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2009/WD-sparql11-update-20091022/},
- date = {2009-10-22}}
-
-@book{FeSi:MFoCS,
- author = {Peter A. Fejer and Dan A. Simovici},
- title = {Mathematical Foundations of Computer Science},
- year = {1990},
- publisher = {Springer-Verlag}
- }
-
-@book{Ga:TLoPTCatDoTPiE,
- author = {Elizabeth Garber},
- title = {The Language of Physics. The Calculus and the Development of Theoretical Physics in Europe, 1750-1914.},
- year = {1999},
- publisher = {Birkh{\"a}user}
- }
-
-@book{Th:UMiE,
- author = {R. L. Thomas},
- title = {Using Mathematics in Economics},
- year = {1999},
- publisher = {Addison Wesley}
- }
-
-@book{KaRoSc:DTEoMSaP,
- author = {Mark Kac and Gian-Carlo Rota and Jacob T. Schwartz},
- title = {Discrete Thoughts. Essay on Mathematics, Science, and Philosophy},
- year = {1992},
- publisher = {Birkh{\"a}user Boston}
- }
-
-@book{CoRoSt:WiMAEAtIaM,
- author = {Richard Courant and Herbert Robbins, revised by Ian Stewart},
- title = {What is Mathematics? An Elementary Approach to Ideas and Methods},
- year = {1996},
- publisher = {Oxford University Press}
- }
-
-@book{La:TBoDMTPD,
- author = {Serge Lang},
- title = {The Beauty of Doing Mathematics. Three Public Dialogues.},
- year = {1985},
- publisher = {Springer-Verlag}
- }
-@book{LaTi:BMftPS,
- editor = {Robert Lambourne and Michael Tinker},
- title = {Basic Mathematics for the Physical Science},
- year = {2000},
- publisher = {John Wiley \& Sons, LTD}
- }
-
-@book{Ly:AywtkambwataMfsS,
- author = {Louis Lyons},
- title = {All you wanted to know about mathematics but were afraid to ask. Mathematics for science students.},
- year = {1995},
- publisher = {Cambridge University Press}}
-
-@book{MP:svn08,
- author = {C. Michael Pilato and Ben Collins-Sussman and Brian W. Fitzpatrick},
- title = {Version Control With Subversion},
- edition = 2,
- year = {2008},
- isbn = {978-0-596-51033-6},
- publisher = {O'Reilly \& Associates, Inc.},
- address = {Sebastopol, CA, USA},
- url = {http://svnbook.red-bean.com}
- }
-
-@book{MP:svn04,
- author = {Ben Collins-Sussman and Brian W. Fitzpatrick and Michael Pilato},
- title = {Version Control With Subversion},
- year = {2004},
- isbn = {0596004486},
- publisher = {O'Reilly \& Associates, Inc.},
- address = {Sebastopol, CA, USA},
- url = {http://svnbook.red-bean.com}
- }
-
-@misc{SVK:web,
- key = {SVK},
- title = {The {SVK} version control system},
- note = {available at \url{http://svk.elixus.org/view/HomePage}},
- url = {http://svk.elixus.org/view/HomePage},
- note = {seen September 2007}}
-
-@misc{DARCS:web,
- key = {DARCS},
- title = {{darcs}},
- note = {available at \url{http://darcs.net/}},
- url = {http://darcs.net/},
- note = {seen January 2008}}
-
-@MISC{SVNKIT:web,
- key = {SVNKit},
- title = {{SVNKit -- The only pure Java Subversion library in the world!}},
- note = {available at \url{http://svnkit.com/}},
- url = {http://svnkit.com/},
- note = {seen September 2007}}
-
-@online{GIT:on,crossref={GIT:base},label={GIT},urldate={2014-07-14}}
-@MISC{GIT:web,crossref={GIT:base},
- key = {GIT},
- howpublished = {available at \url{http://git-scm.com}},
- note = {seen September 2007}}
-@MISC{GIT:base,
- title = {{Git -- Fast Version Control System}},
- url = {http://git-scm.com/},
- note = {seen September 2007}}
-
-@MISC{SVNX:web,
- key = {SVNX},
- title = {{SvnX is an open source GUI for most features of the svn client binary}},
- note = {available at \url{http://www.lachoseinteractive.net}},
- url = {http://www.lachoseinteractive.net},
- note = {seen January 2008}}
-
-@MISC{JSR311:on,
- crossref = {JSR311:base},
- urldate = {2010-03-03}}
-
-@MISC{JSR311:web,
- note = {available at \url{https://jsr311.dev.java.net/nonav/releases/1.0/index.html}},
- note = {seen April 2009},
- crossref = {JSR311:base}}
-
-@MISC{JSR311:base,
- key = {JSR311},
- title = {{JSR 311: JAX-RS: The Java API for RESTful Web Services}},
- url = {https://jsr311.dev.java.net/nonav/releases/1.0/index.html}}
-
-
-@MISC{Jersey:web,
- key = {Jersey},
- title = {{Reference Implementation for building RESTful Web services}},
- howpublished = {\url{https://jersey.dev.java.net/}},
- url = {https://jersey.dev.java.net/},
- note = {seen April 2009}}
-
-@MISC{graphviz:web,
- key = {Graphviz},
- title = {{Graphviz -- Graph Visualization Software}},
- note = {system homepage at \url{http://www.graphviz.org/}},
- url = {http://www.graphviz.org/},
- note = {seen May 2008}}
-
-@MISC{mdpm:web,
- key = {mdpm},
- title = {{{\texttt{{\emph{mdpm}}}}: A Collection of Model-based {\textsc{diff, patch, merge}} Algorithms}},
- url = {http://www.kwarc.info/projects/mdpm/},
- note = {system homepage at \url{http://www.kwarc.info/projects/mdpm/}},
- note = {seen March 2008}}
-
-@MISC{plato:web,
- key = {plato},
- title = {{PLATO: Interactive Mathematical Authoring}},
- note = {system homepage at \url{http://www.ags.uni-sb.de/plato/bin/view.pl}},
- url = {http://www.ags.uni-sb.de/plato/bin/view.pl},
- note = {seen August 2007}}
-
-@MISC{omega:web,
- key = {Omega},
- title = {{Omega: Agent-oriented Proof Planning}},
- note = {project homepage at \url{http://www.ags.uni-sb.de/~autexier/omega/}},
- url = {http://www.ags.uni-sb.de/~autexier/omega/},
- note = {\seen May 2009}}
-
-@InProceedings{Koivunen:satasbt06,
- author = {Marja-Riitta Koivunen},
- title = {Semantic Authoring By Tagging with Annotea Social Bookmarks and Topics},
- booktitle = {SAAW'06},
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- year = 2006,
- editor = {M{\"o}ller, K. and de Waard, A. and Cayzer, S. and Koivunen, M.-R. and Sintek, M. and Handschuh, S.}}
-
-
-@MISC{verifun:web,
- key = {VeriFun},
- title = {{VeriFun}: A verifier for functional programs},
- note = {system homepage at \url{http://www.verifun.de/}},
- url = {http://www.verifun.de/},
- note = {seen February 2008}}
-
-@Online{ARQ,
- title = {ARQ -- A SPARQL Processor for Jena},
- url = {http://jena.sourceforge.net/ARQ/},
- urldate = {2012-04-22},}
-
-@online{jena:on,
- urldate={2010-05-10},
- crossref={jena:base}}
-
-@MISC{jena:web,
- key = {Jena},
- note = {system homepage at \url{http://jena.sf.net}},
- note = {seen June 2007},
- crossref = {jena:base}}
-
-@MISC{jena:base,
- title = {Jena --- a Semantic Web Framework for {Java}},
- url = {http://jena.sf.net}}
-
-@MISC{lectora:web,
- key = {Lectora},
- title = {{\texttt{{\emph{Lectora}}}}},
- note = {homepage at \url{http://www.kwarc.info/projects/lectora/}},
- url = {http://www.kwarc.info/projects/lectora/},
- note = {seen May 2007}}
-
-@online{jeditoqmath:on,
- urldate = {2009-11-10},
- crossref={jeditoqmath:base}}
-
-@MISC{jeditoqmath:web,
- title = {{\texttt{{\emph{jEditOQMath}}}}},
- note = {homepage at \url{http://www.activemath.org/projects/jEditOQMath/}},
- note = {seen May 2007},
- crossref={jeditoqmath:base}}
-
-@MISC{jeditoqmath:base,
- key = {jEditOQMath},
- title = {{jEditOQMath}},
- url = {http://www.activemath.org/projects/jEditOQMath/}}
-
-@online{LaTeX2OQMath,
- author = {Eric Andr{\`e}s},
- title = {{LaTeX2OQMath}},
- url = {http://www.activemath.org/~eandres/l2o.php},
- urldate = {2010-09-09}}
-
-@MISC{oqmath:web,
- key = {OQMath},
- title = {{\texttt{{\emph{OQMath}}}}},
- note = {homepage at \url{http://www.activemath.org/projects/OQMath/}},
- url = {http://www.activemath.org/projects/OQMath/},
- note = {seen May 2007}}
-
-@MISC{XPointer:web,
- key = {XPointer},
- title = {{XPointer}},
- note = {homepage at \url{http://www.w3.org/TR/xptr-framework/}},
- url = {http://www.w3.org/TR/xptr-framework/},
- note = {seen March 2007}}
-
-@MISC{Connotea:web,
- key = {connotea},
- title = {{Connotea}},
- url = {http://www.connotea.org/},
- note = {seen March 2007}}
-
-
-@MISC{W3C:web,
- key = {W3C},
- title = {{World Wide Web Consortium} (W3C)},
- url = {http://www.w3c.org},
- note = {\webpageat\url{http://www.w3c.org}},
- note = {seen February 2007}}
-
-@MISC{Jacobs:web,
- key = {Jacobs University},
- title = {{Jacobs University Bremen}},
- note = {\webpageat\url{http://www.jacobs-university.de/}},
- url = {http://www.jacobs-university.de/},
- note = {seen November 2007}}
-
-@MISC{DFKI:web,
- key = {DFKI},
- title = {{Deutsche Forschungsinstitut F{\"u}r K{\"u}nstliche Intelligenz}},
- note = {\webpageat\url{http://www.informatik.uni-bremen.de/dfki-sks/}},
- url = {http://www.informatik.uni-bremen.de/dfki-sks/},
- note = {seen March 2007}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@MISC{Netflix:web,
- key = {Netflix},
- title = {Netflix},
- note = {\webpageat\url{http://www.netflixprize.com/}},
- url = {http://www.netflixprize.com/},
- note = {seen February 2007}}
-
-@Book{KelPau:hd95,
- author = {Paul Keller and Wolfgang Paul},
- title = {Hardware Design},
- publisher = {Teubner Leibzig},
- year = 1995}
-
-@MISC{Rhaptos:web,
- key = {Rhaptos},
- title = {{\sc{Rhaptos}}},
- howpublished = {\webpageat\url{http://rhaptos.org/}},
- url = {http://rhaptos.org/},
- note = {seen January 2007}}
-
-@online{sindice:on,
- urldate = {2010-01-23},
- crossref = {sindice:base}}
-
-@misc{sindice:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://sindice.com}},
- crossref = {sindice:base}}
-
-@misc{sindice:base,
- key = {Sindice},
- title = {Sindice -- The Semantic Web Index},
- url = {http://sindice.com}}
-
-@online{SparksOzone:on,
- urldate = {2010-01-23},
- crossref = {SparksOzone:base}}
-
-@misc{SparksOzone:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://oak.dcs.shef.ac.uk/sparks/}},
- crossref = {SparksOzone:base}}
-
-@misc{SparksOzone:base,
- key = {SparksOzone},
- title = {{Sparks} $O_3$ Browser: Enlighten the Web},
- url = {http://oak.dcs.shef.ac.uk/sparks/}}
-
-@online{mathdox:translation:on,
- urldate = {2010-03-16},
- title = {{MathDox} -- {OpenMath} Translation Servlet},
- url = {http://mathdox.org/phrasebook/}}
-
-@online{mathdox:on,
- urldate = {2010-01-23},
- crossref = {mathdox:base}}
-
-@online{UWM/Menta:on,
- label = {YAGO},
- url = {http://www.mpi-inf.mpg.de/yago-naga/uwn/},
- title = {Towards a Universal Multilingual Wordnet},
- urldate = {2013-05-26}}
-
-@inproceedings{HofSucBer:yago2,
- author = {J. Hoffart and F. M. Suchanek and K. Berberich and Lewis Kelham, E. and de Melo G. and G. Weikum},
- title = {YAGO2: Exploring and Querying World Knowledge in Time, Space, Context, and Many
- Languages},
- booktitle = {WWW 2011},
- url = {http://www.mpi-inf.mpg.de/~gdemelo/papers/hoffart-yago2-www2011.pdf}}
-
-@article{HofSucBer:yago2a,
-author = {J. Hoffart and Suchanek, F. M. and K. Berberich and G. Weikum},
-title = {YAGO2: A Spatially and Temporally Enhanced Knowledge Base from Wikipedia.},
-journal = {AI journal},
-url = {http://www.mpi-inf.mpg.de/yago-naga/yago/publications/aij.pdf}}
-
-@article{LehIseJak:dlsmkbew13,
- author = {Jens Lehmann and Robert Isele and Max Jakob and Anja Jentzsch and Dimitris
- Kontokostas and Pablo N. Mendes and Sebastian Hellmann and Mohamed
- Morsey and Patrick van Kleef and S{\"o}ren Auer and Christian Bizer},
- title = {DBpedia - A Large-scale, Multilingual Knowledge Base Extracted from Wikipedia},
- journal = {Semantic Web Journal},
- year = {2013},
- pages = {29},
- url = {http://www.semantic-web-journal.net/system/files/swj558.pdf}}
-
-@inproceedings{deMWei:tuwlce09,
- author = {Gerard de Melo and Gerhard Weikum},
- title = {Towards a Universal Wordnet by Learning from Combined Evidence},
- booktitle = {Proceedings of the 18th ACM Conference on Information and Knowledge Management (CIKM 2009)},
- publisher = {ACM},
- year = {2009},
- isbn = {978-1-60558-512-3},
- pages = {513--522},
- location = {Hong Kong, China},
- doi = {http://doi.acm.org/10.1145/1645953.1646020},
- address = {New York, NY, USA}
-}
-
-
-@online{ISO8601:2004,
- title={ISO 8601:2004, Data elements and interchange formats -- Information interchange -- Representation of dates and times},
- url = {http://www.iso.org/iso/catalogue_detail?csnumber=40874},
- year = 2004}
-
-@misc{mathdox:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://www.mathdox.org}},
- crossref = {mathdox:base}}
-
-@online{WordNet:on,crossref={WordNet:base},urldate = {2013-05-26},label={WN}}
-@misc{WordNet:URL,crossref={WordNet:base},
- howpublished = {\projectpageat{\url{https://wordnet.princeton.edu/}}},
- note = {last 5. 6. 2013}}
-@misc{WordNet:base,
- key = {WordNet},
- url = {https://wordnet.princeton.edu/},
- title = {WordNet: A lexical database for English}}
-
-@misc{mathdox:base,
- key = {MathDox},
- title = {{MathDox} -- Interactive Mathematics},
- url = {http://www.mathdox.org}}
-
-@online{dbpedia:on,
- urldate = {2014-02-21},crossref = {dbpedia:base},label={DBP}}
-@misc{dbpedia:web,crossref = {dbpedia:base},note = {seen Feb. 2012},
- key = {DBpedia},
- howpublished = {\url{http://www.dbpedia.org}}}
-@misc{dbpedia:base,
- title = {{DBpedia}},
- date = {2013-09-17},
- url = {http://dbpedia.org}}
-
-@online{activemath:on,
- urldate = {2010-06-05},
- crossref = {activemath:base}}
-
-@misc{activemath:web,
- note = {seen Feb. 2010},
- howpublished = {\url{http://www.activemath.org}},
- crossref = {activemath:base}}
-
-@MISC{URL:activemath,
- howpublished = {\webpageat\url{http://www.activemath.org}},
- note = {seen February 2010},
- crossref = {activemath:base}}
-
-@MISC{activemath:base,
- key = {ActiveMath},
- title = {{\sc{ActiveMath}}},
- url = {http://www.activemath.org}}
-
-@ARTICLE{PhysNet:HEPLW,
- key = {PhysNet},
- title = {Distributed Information Services in Physics},
- author = {Eberhard R. Hilf and Michael Hohlfeld and Thomas Severiens and Kerstin Zimmermann},
- journal = {High Energy Physics Library Webzine},
- year = 2001,
- volume = 4,
- url = {http://library.cern.ch/HEPLW/4/papers/2/},
- note = {\webpageat\url{http://library.cern.ch/HEPLW/4/papers/2/}}}
-
-@Misc{ISN:list,
- title = {Institute for Science Networking Oldenburg, Publikationen},
- TYPE = {Liste},
- howpublished = {{\url{http://www.isn-oldenburg.de/publications.html?pub=liste}}},
- url = {http://www.isn-oldenburg.de/publications.html?pub=liste},
- year = {1999--2004}}
-
-@Misc{Hilf:list,
- title = {{Theoretical Physics III, University Oldenburg: Publikationen}},
- TYPE = {Liste},
- howpublished = {{\url{http://smallsystems.isn-oldenburg.de/publications/}}},
- url = {http://smallsystems.isn-oldenburg.de/publications/},
- year = {1967--2000}}
-
-@Unpublished{Hilf:smpl,
- title = {Simplified Notation of Partial Derivatives for Use in Thermodynamics},
- author = {Eberhard R. Hilf and G. Suessmann},
- url = {http://smallsystems.isn-oldenburg.de/publications/metadocs/ebs.simplified.notation.html},
- year = 1972}
-
-@InProceedings{Hilf:perfectgas,
- title = {General Definition of the Perfect Gas Concept},
- author = {G. Suessmann and Eberhard R. Hilf},
- booktitle = {Proceedings of the International Conference on Thermodynamics},
- year = 1970,
- pages = {234--248},
- address = {Cardiff, U.K.},
- url = {http://smallsystems.isn-oldenburg.de/publications/metadocs/ebs.GenDefPerfGas.html}}
-
-@Article{Hilf:thermo,
- title = {Thermodynamics of finite magnetic two-isomer systems},
- author = {Peter Borrmann and Heinrich Stamerjohanns and Eberhard R. Hilf and P. Jund and S. G. Kim and David Tomanek},
- journal = {Journal of Chemical Physics},
- pages = {10689--10693},
- year = 1999,
- volume = 23,
- number = 11,
- url = {http://scitation.aip.org/getpdf/servlet/GetPDFServlet?filetype=pdf&id=JCPSA6000111000023010689000001&idtype=cvips&prog=normal}}
-
-@Misc{Hilf:mathdiss,
- title = {Zu einem verlustfreien Publizieren und Archivieren -- Mathematische Aussagen in Physik und Chemie.},
- author = {Eberhard R. Hilf and Julika Mimkes},
- howpublished = {Workshop an der Staats- und Universit{\"a}ts-Bibliothek (SUB) G{\"o}ttingen: MathDiss International},
- year = 2002,
- url = {http://www.isn-oldenburg.de/~hilf/vortraege/mathdiss02/}}
-
-@Article{suessmann-hilf-1970,
- title = {General Definition of the Perfect Gas Concept},
- author = {G. Suessmann and Eberhard R. Hilf},
- year = 1970,
- journal = {Pure and Applied Chemistry},
- volume = 22,
- number= {3-4},
- url = {http://smallsystems.isn-oldenburg.de/publications/metadocs/ebs.GenDefPerfGas.html}}
-
-@misc{hilf-suessmann-1972,
- title = {Simplified Notation of Partial Derivatives for Use in Thermodynamics},
- author = {Eberhard R. Hilf and G. Suessmann},
- year = 1972,
- url = {http://www.physik.uni-oldenburg.de/Docs/THEO3/publications/ebs.simplified.notation.pdf}}
-
-@Book{planck-1905,
- title = {Thermodynamik},
- author = {Max Planck},
- publisher = {Verlag von Veit und Komp.},
- year = 1905,
- page = {55f}}
-
-@Book{buchdahl:1966,
- title = {The concepts of classical thermodynamics},
- author = {H. A. Buchdahl},
- publisher = {Cambridge University Press},
- year = 1966}
-
-@Misc{Sev:physml,
- title = {Longterm Content Preservation in Physics -- Requirements on a Mark-Up Language},
- author = {Thomas Severiens},
- howpublished = {Hermes Workshop, Golm},
- year = 2004,
- url = {http://www.aei.mpg.de/hermes/w20041026/PMLHermes.pdf}}
-
-@Misc{ISN:pmm,
- title = {Projekt Physik-multimedial},
- url = {http://www.physik-multimedial.de/cvpmm/cgi-bin/decide.pl},
- year = 2002}
-
-@Misc{Hilf:aud,
- title = {Algorithmen und Datens{\"a}tze},
- author = {Guenter Gauglitz},
- year = 2000,
- url = {http://www.data-interaction.de/}}
-
-@InCollection{PB:enc,
- title = {Raster Databases},
- author = {Peter Baumann},
- year = 2005,
- publisher = {Ideas Publishing},
- editor = {L. Rivero and others},
- booktitle = {Encyclopedia of Database Technologies and Applications}}
-
-@InCollection{PB:mod,
- title = {Modellierung und Analyse von 3D-Rasterdaten in Geodatenbanken},
- author = {Peter Baumann},
- crossref = {3DGIS05}}
-
-@InCollection{PB:ana,
- title = {Web-gest{\"u}tzte Analysetechniken f{\"u}r mehrdimensionale Geo-Rasterdatenbanken},
- author = {Peter Baumann},
- crossref={3DGIS05}}
-
-@Book{3DGIS05,
- editor = {V. Coors and A. Zipf},
- booktitle = {3D-Geoinformationssysteme},
- title = {3D-Geoinformationssysteme},
- publisher = {H{\"u}thig Verlag},
- year = 2005}
-
-
-@Article{PB:vldb,
- title = {On the Management of Multidimensional Discrete Data},
- author = {Peter Baumann},
- journal = {VLDB Journal},
- pages = {401--444},
- year = 1994,
- volume = 4,
- number = 3}
-
-@InProceedings{PB:vldb2,
- title = {Large-Scale, Standards-Based Earth Observation Imagery and Web Mapping Services (system demonstration)},
- author = {Peter Baumann},
- booktitle = {Proceedings of the 29\textsuperscript{th} VLDB},
- year = 2003}
-
-@Article{PB:Mooshka,
- author = {Andrei Pisarev and Ekaterina Poustelnikova and Maria Samsonova and Peter Baumann},
- title = {Mooshka: a system for the management of multidimensional gene expression data in situ},
- journal = {Information Systems},
- year = 2003,
- volume = 28}
-
-@InProceedings{PB:sc,
- author = {Peter Baumann},
- title = {Overcoming the Data Delivery Bottleneck in Supercomputing},
- booktitle = {3\textsuperscript{rd} International Workshop on Next Generation Climate Models for Advanced High Performance Computing Facilities},
- year = 2001,
- address = {Tokyo, Japan}}
-
-@InProceedings{PB:HSM,
- author = {Bernd Reiner and Karl Hahn and Gabriele H{\"o}fling and Peter Baumann},
- title = {Hierarchical Storage Support and Management for Large-Scale Multidimensional Array Database Management Systems},
- booktitle = {13\textsuperscript{th} International Conference on Database and Expert Systems Applications (DEXA)},
- year = 2002,
- address = {Aix en Provence, France}}
-
-@InProceedings{PB:alg,
- author = {Peter Baumann},
- title = {A Database Array Algebra for Spatio-Temporal Data and Beyond},
- booktitle = {The Fourth International Workshop on Next Generation Information Technologies and Systems (NGITS '99)},
- year = 1999,
- address = {Zikhron Yaakov, Israel}}
-
-@InProceedings{PB:para,
- author = {Karl Hahn and Bernd Reiner and Gabriele H{\"o}fling and Peter Baumann},
- title = {Parallel Query Support for Multidimensional Data: Inter-object Parallelism},
- booktitle = {13\textsuperscript{th} International Conference on Database and Expert Systems Applications (DEXA)},
- year = 2002,
- address = {Aix en Provence, France}}
-
-@Misc{URL:dgrid,
- title = {D-Grid},
- url = {http://www.d-grid.de/},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:globus,
- title = {Globus Consortium},
- note = {\webpageat\url{http://www.globusconsortium.com/}},
- url = {http://www.globusconsortium.com/},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:mymetamaker,
- title = {MyMetaMaker},
- note = {\webpageat\url{http://www.isn-oldenburg.de/services/mmm/}},
- url = {http://www.isn-oldenburg.de/services/mmm/},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:openarch,
- title = {Open Archive},
- note = {\webpageat\url{http://www.openarchives.org}},
- url = {http://www.openarchives.org},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:physml,
- title = {Physics Markup Language},
- author = {Eberhard Hilf},
- note = {\webpageat\url{http://www.isn-oldenburg.de/~hilf/vortraege/mathdiss02/}},
- url = {http://www.isn-oldenburg.de/~hilf/vortraege/mathdiss02/},
- note = {\seen{\July} 2005}}
-
-@Misc{UDDI,
- title = {Universal Description, Discovery and Integration},
- author = {OASIS UDDI Specification TC},
- url = {http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm},
- note = {\webpageat\url{http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm}},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:BibSonomy,
- title = {BibSonomy},
- note = {\webpageat\url{http://www.bibsonomy.org/}},
- url = {http://www.bibsonomy.org/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:Bibster,
- title = {Bibster},
- note = {\webpageat\url{http://bibster.semanticweb.org/}},
- url = {http://bibster.semanticweb.org/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:citeulike,
- title = {citeulike},
- note = {\webpageat\url{http://www.citeulike.org/}},
- url = {http://www.citeulike.org/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:getcited,
- title = {getCITED},
- note = {\webpageat\url{http://www.getcited.org/}},
- url = {http://www.getcited.org/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:Scopus,
- key = {Scopus},
- title = {Scopus},
- note = {\webpageat\url{http://www.info.scopus.com/}},
- url = {http://www.info.scopus.com/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:Libra,
- key = {Libra},
- title = {Libra},
- note = {\webpageat\url{http://libra.msra.cn/}},
- url = {http://libra.msra.cn/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:Scirus,
- key = {Scirus},
- title = {Scirus},
- note = {\webpageat\url{http://www.scirus.com/srsapp/}},
- url = {http://www.scirus.com/srsapp/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:citeseer,
- key = {Citeseer},
- title = {Citeseer},
- note = {\webpageat\url{http://citeseer.ist.psu.edu/}},
- url = {http://citeseer.ist.psu.edu/},
- note = {\seen{\May} 2008}}
-
-@Misc{URL:physnet,
- key = {physnet},
- title = {{PhysNet} the physics department and documents network},
- note = {\webpageat\url{http://www.physnet.net}},
- url = {http://www.physnet.net},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:emis,
- key = {EMIS},
- title = {{EMIS} The European Mathematical Information Service},
- note = {\webpageat\url{http://www.emis.de}},
- url = {http://www.emis.de},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:mpress,
- key = {MPress},
- title = {{MPress}},
- url = {http://mathnet.preprint.org},
- note = {\seen{\July} 2005}}
-
-@Book{Fellbaum:wneld98,
- editor = {Christiane Fellbaum},
- title = {{WordNet}: An Electronic Lexical Database},
- publisher = {MIT Press},
- year = 1998}
-
-@Misc{URL:numdam,
- key = {Numdam},
- title = {Numdam},
- url = {http://www.numdam.org},
- note = {\seen{\June} 2010}}
-
-@online{NTCIR-aims:on,
- label={NTC},
- title = {Workshop Aims | NTCIR-11 | NTCIR},
- url = {http://research.nii.ac.jp/ntcir/ntcir-11/aims.html},
- urldate = {2014-05-14}}
-
-
-@online{arxiv:online,crossref={arxiv:base},urldate = {2012-06-12},label={ArX}}
-@Misc{URL:arxiv,crossref={arxiv:base},
- howpublished = {\webpageat\url{http://www.arxiv.org}},
- note = {\seen{\November} 2012}}
-@Misc{arxiv:base,
- key = {ArXiv},
- title = {{{\texttt{arxiv.org}} e-Print archive}},
- url = {http://www.arxiv.org}}
-
-@article{sw_maps,
- author = {Adrian Kuhn and
- Peter Loretan and
- Oscar Nierstrasz},
- title = {Consistent Layout for Thematic Software Maps},
- journal = {CoRR},
- volume = {abs/1209.5490},
- year = {2012},
- ee = {http://arxiv.org/abs/1209.5490}
-}
-
-@book{kruskal:mds,
- title={Multidimensional Scaling (Quantitative Applications in the Social Sciences)},
- author={Joseph B. Kruskal and Myron Wish},
- publisher={Sage Publications, Inc},
- year={1978},
- month=jan,
- isbn={9780803909403},
- totalpages={96},
- timestamp={2012.12.03},
-}
-
-@online{matlab:mds:on,crossref={matlab:mds:base},
- url = "http://www.mathworks.com/help/stats/mdscale.html",
- urldate = {2013-03-04}}
-@misc{matlab:mds,crossref={matlab:mds:base},
- howpublished={\url{http://www.mathworks.com/help/stats/mdscale.html}}}
-@misc{matlab:mds:base,
- label = {mdscale},
- author = "MathWorks",
- title = "{Nonclassical multidimensional scaling}",
- year = {2013}}
-
-@online{zblmath:online,crossref={URL:zblmath:base},urldate = {2012-06-12},label={ZBM}}
-@Misc{URL:zblmath,crossref={URL:zblmath:base},
- key = {ZBM},
- howpublished = {\webpageat\url{http://www.zentralblatt-math.org/zbmath}},
- note = {\seen{\November} 2012}}
-@Misc{URL:zblmath:base,
- title = {Zentralblatt {MATH}},
- url = {http://www.zentralblatt-math.org/zbmath/}}
-
-@online{springer:online,crossref={URL:springer:base},urldate = {2012-06-12}}
-@Misc{URL:springer,crossref={URL:springer:base},
- Key = {Springer},
- howpublished = {\webpageat\url{http://www.springer.com}},
- note = {\seen{\June} 2012}}
-@Misc{URL:springer:base,
- title = {Springer Science+Business Media},
- url = {http://www.springer.com}}
-
-@online{elsevier:online,crossref={URL:elsevier:base},urldate = {2012-06-12}}
-@Misc{URL:elsevier,crossref={URL:elsevier:base},
- Key = {Elsevier},
- howpublished = {\webpageat\url{http://www.elsevier.com}},
- note = {\seen{\June} 2012}}
-@Misc{URL:elsevier:base,
- title = {Elsevier B.V.},
- url = {http://www.elsevier.com}}
-
-@Misc{URL:ogc,
- title = {Open GIS Consortium},
- note = {\webpageat\url{http://www.opengis.org}},
- url = {http://www.opengis.org},
- note = {\seen{\July} 2005}}
-
-@online{ogc:webpage,
- title = {Open GIS Consortium},
- url = {http://www.opengis.org},
- lastchecked = {\July 2005}}
-
-@TechReport{Beaujardiere:wmsis02,
- author = {de la Beaujardiere, J.},
- title = {Web Map Service Implementation Specification (version 1.1.1)},
- institution = {Open GIS Consortium},
- year = 200,
- type = {Implementation Specification}}
-
-@Manual{DweLinLuth:tucm04,
- title = {How to use and configure {MMiSSLATEX}},
- author = {Christoph Dwertmann and Arne Lindow and Christoph L{\"u}th and Markus Roggenbach and Jan-Georg Smaus},
- year = 2004,
- note = {available at {\url{http://www.informatik.uni-bremen.de/mmiss/tools_e.htm}}},
- url = {http://www.informatik.uni-bremen.de/mmiss/tools_e.htm}}
-
-@INPROCEEDINGS{VanDenBrandStuber2003,
- author = {van den Brand, Mark and Stuber, J{\"u}rgen},
- title = {Extracting Mathematical Semantics from LaTeX Documents},
- booktitle = {Proc. Intl. Workshop on Principles and Practice of Semantic Web Reasoning (PPSWR 2003)},
- address = {Mumbai, India},
- publisher = {Springer},
- series = {LNCS},
- number = 2901,
- pages = {160--173},
- year = 2003,
- annote = {http://www.loria.fr/~stuber/publications/VanDenBrandStuber2003PPSWR.html},}
-
-@Misc{Anghelache:hermes,crossref={URL:Hermes}}
-@online{Hermes:online,crossref={URL:Hermes},urldate = {2010-01-08}}
-@Misc{URL:Hermes,
- key = {HERMES},
- author = {Romeo Anghelache},
- title = {Hermes -- a semantic {XML}+{MathML}+{Unicode} e-publishing/self-archiving tool for {\LaTeX} authored scientific articles},
- howpublished = {\webpageat\url{http://hermes.roua.org/}},
- url = {http://hermes.roua.org/},
- Year = 2007,
- date = {\seen{\November} 2007}}
-
-
-@Misc{WillHenBar:clsfflc03,
- author = {Rebecca Willett and Brent Hendricks and Richard Baraniuk},
- title = {{CnxTeX} -- A {\LaTeX} style file to facilitate {\LaTeX}-to-XML conversion},
- howpublished = {available at {\url{http://dsp.rice.edu/software}}},
- url = {http://dsp.rice.edu/software},
- year = 2003}
-
-@Manual{CarRah:tpp99,
- title = {The {\sf{graphicxl}} package},
- author = {David Carlisle and Sebastian Rathz},
- organization = {The Comprehensive {\TeX} Archive Network},
- url = {https://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/graphics/graphicx.pdf},
- note = {Part of the {\TeX} distribution},
- year = 1999}
-
-@Manual{Carlisle:tkp99,
- title = {The {\sf{keyval}} package},
- author = {David Carlisle},
- organization = {The Comprehensive {\TeX} Archive Network},
- url = {https://www.tug.org/texlive/devsrc/Master/texmf-dist/doc/latex/graphics/keyval.pdf},
- note = {Part of the {\TeX} distribution},
- year = 1999}
-
-@misc{URL:tex4ht,crossref={URL:tex4ht:base},key={T4H},
- howpublished = {\webpageat\url{http://www.tug.org/applications/tex4ht/mn.html}}}
-@online{tex4ht:online,crossref={URL:tex4ht:base},urldate={2010-01-08},label={T4H}}
-@Misc{URL:tex4ht:base,
- title = {{TeX4ht}: {LaTeX} and {TeX} for Hypertext},
- url = {http://www.tug.org/applications/tex4ht/mn.html}}
-
-@misc{URL:latex2rtf,crossref={URL:latex2rtf:base},key={L2R},
- howpublished = {\webpageat\url{http://www.tug.org/applications/latex2rtf/mn.html}}}
-@online{latex2rtf:on,crossref={URL:latex2rtf:base},urldate = {2010-01-08},label={L2R}}
-@Misc{URL:latex2rtf:base,
- title = {{\LaTeX} to {RTF} converter},
- url = {http://sourceforge.net/projects/latex2rtf/}}
-
-
-@article{Asher:srtc14,
- author = {Asher, Nicholas},
- title = {Selectional Restrictions, Types, and Categories},
- journal = {Journal of Applied Logic},
- volume = {12},
- number = {2},
- pages = {75--87},
- year = {2014}}
-
-@Misc{URL:cofi,
-key = {CoFi},
- title = {Common Framework Initiative},
- note = {\webpageat\url{http://www.cofi.info}},
- url = {http://www.cofi.info},
- note = {\seen{\July} 2005}}
-
-@Online{HETS:on,
- crossref = {HETS:base},
- urldate = {2012-12-10},}
-
-@MISC{HetsWeb,
- crossref = {HETS:base},
- howpublished = {Web site at {\url{http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/}}},
- key = {Hets}}
-
-@Misc{URL:hets,crossref = {HETS:base},
- howpublished = {\webpageat\url{http://www.informatik.uni-bremen.de/cofi/hets/}},
- note = {\seen{\July} 2005}}
-
-@Misc{HETS:wepage,
- crossref = {HETS:base},
- key = {HETS},
- lastchecked = {\July 2005}}
-
-@misc{HETS:base,
- key = {HETS},
- author = {Till Mossakowski},
- title = {{Hets}: the {Heterogeneous} {Tool} {Set}},
- url = {http://hets.eu}}
-
-@Misc{URL:IFIPWG1.3,
- key = {IFIP},
- title = {{IFIP WG 1.3} Foundations of System Specification},
- note = {\webpageat\url{http://www.fiadeiro.org/jose/IFIP-WG1.3/}},
- url = {http://www.fiadeiro.org/jose/IFIP-WG1.3/},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:SFBTR8,
- key = {SFBTR8},
- title = {{SFB/TR 8}: Spatial Cognition},
- note = {\webpageat\url{http://www.sfbtr8.uni-bremen.de/}},
- url = {http://www.sfbtr8.uni-bremen.de/},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:pagerank,
- key = {PageRank},
- title = {PageRank},
- note = {\webpageat\url{http://citeseer.ist.psu.edu/brin98anatomy.html}},
- url = {http://citeseer.ist.psu.edu/brin98anatomy.html},
- note = {\seen{\July} 2005}}
-
-
-@Misc{URL:cc,crossref={CC:base},
- howpublished = {\webpageat\url{http://creativecommons.org/about/licenses}},
- note = {\seen{\June} 2013}}
-@online{CC:on,crossref={CC:base},urldate={2013-05-31},label={CCL}}
-@Misc{CC:base,
- key = {CreativeCommons},
- title = {About the Licenses -- Creative Commons},
- url = {http://creativecommons.org/licenses}}
-
-@online{GnuLicenses:on,crossref={GnuLicenses:base},urldate={2013-05-31},label={GNUL}}
-@Misc{GnuLicenses:base,
- key = {GNUL},
- title = {Licenses - GNU Project - Free Software Foundation (FSF)},
- url = {https://www.gnu.org/licenses/licenses.html}}
-
-
-@online{ODbL:on,crossref={ODbL:base},urldate={2013-05-31},label={ODbL}}
-@Misc{ODbL:base,
- key = {ODbL},
- title = {Open Data Commons Open Database License (ODbL)},
- url = {http://opendatacommons.org/licenses/odbl/}}
-
-@Misc{URL:cc2,
- key = {CreativeCommonsDeutsch},
- title = {Creative Commons Share-Alike, deutsch},
- note = {\webpageat\url{http://creativecommons.org/worldwide/de/translated-license}},
- url = {http://creativecommons.org/worldwide/de/translated-license},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:gpl,
- title = {Open Source GPL},
- note = {\webpageat\url{http://www.opensource.org/licenses/gpl-license.php}},
- url = {http://www.opensource.org/licenses/gpl-license.php},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:emani,
- key = {EMANI},
- title = {EMANI},
- note = {\webpageat\url{http://www.emani.org/aims.htm}},
- url = {http://www.emani.org/aims.htm},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:isn,
- key = {ISN Oldenburg},
- title = {{ISN Oldenburg}},
- note = {\webpageat\url{http://www.isn-oldenburg.de}},
- url = {http://www.isn-oldenburg.de},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:dini,
- key = {DINI},
- title = {{DINI}},
- note = {\webpageat\url{http://www.dini.de}},
- url = {http://www.dini.de},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:cashmere,
- key = {Cashmere},
- title = {Cashmere},
- note = {\webpageat\url{http://www.iwi-iuk.org/cashmere}},
- url = {http://www.iwi-iuk.org/cashmere},
- note = {\seen{\July} 2005}}
-
-@MastersThesis{URL:cashmeredoc,
- title = {{CARA}, A {RDF} Parser},
- author = {Krishnamoorti, B. M.},
- school = {IWI Osnabr{\"u}ck},
- url = {http://www.iwi-iuk.org/cashmere/htdocs/html/tools/data/CARA_Report.pdf},
- year = 2004}
-
-@online{W3C:online,crossref={URL:w3},urldate={2010-01-18}}
-@Misc{URL:w3,
- key = {W3C},
- title = {W3 Consortium},
- note = {webpage at \url{http://www.w3.org}},
- url = {http://www.w3.org},
- note = {seen February 2007}}
-
-@online{URL:dublin:on,
- crossref = {URL:dublin:base},
- urldate = {2010-11-09}}
-
-@Misc{URL:dublin,
- crossref = {URL:dublin:base},
- key = {Dublin Core},
- howpublished = {\webpageat\url{http://www.dublincore.org}},
- note = {seen March 2008}}
-
-@Misc{URL:dublin:base,
- title = {{Dublin Core Metadata Initiative}},
- url = {http://www.dublincore.org}}
-
-@Misc{URL:m21,
- key = {M21},
- title = {Math Industry},
- note = {\webpageat\url{http://www.mathematik-21.de}},
- url = {http://www.mathematik-21.de},
- note = {\seen{\July} 2005}}
-
-@Misc{URL:physmm,
- key = {Physik-multimedial},
- title = {Physik-multimedial},
- note = {\webpageat\url{http://www.physik-multimedial.de}},
- url = {http://www.physik-multimedial.de},
- note = {\seen{\July} 2005}}
-
-@Article{CaslTCS03,
- author = {E. Astesiano and M. Bidoit and B. Krieg-Br{\"u}ckner and H. Kirchner and P. D. Mosses and D. Sannella and A. Tarlecki},
- title = {{CASL} -- the Common Algebraic Specification Language},
- year = {2002},
- journal = {Theoretical Computer Science},
- volume = {286},
- pages = {153--196},
- url = {http://www.cofi.info},
- status = {Reviewed}}
-
-@InCollection{kri02,
- author = {B. Krieg-Br{\"u}ckner},
- title = {{MMiSS} -- MultiMedia-Instruction in Safe and Secure Systems},
- year = {2002},
- editor = {D. Hutter and W. Stephan},
- booktitle = {Essays in Honor of Joerg H. Siekmann},
- publisher = {Springer-Verlag; D-69121 Heidelberg, Germany},
- series = {LNAI},
- status = {Reviewed}}
-
-
-@book{Mittelstaedt:buch,
- author = {Peter Mittelstaedt},
- title = {Klassische Mechanik},
- publisher = {Bibliographisches Institut},
- series = {Hochschultaschenbuecher},
- volume = {500/500a},
- year = {1970}}
-
-@book{Sakurai,
-author = {J. J. Sakurai},
-title = {{Modern Quantum Mechanics}},
-publisher = {Prentice Hall},
-note = {ISBN 0201539},
-year = {1993}}
-
-@Article{metrology,
- title = {Metrology: time for a new look at the physics of traceable measurement?},
- author = {L. R. Pendrill},
- journal = {Europhysics News},
- pages = {25},
- year = 2006,
- volume = 37,
- number = 1}
-
-@article{MAH-06-a,crossref={MAH06}}
-
-
-@Book{Wu94,
- AUTHOR = "Wu, W.-T.",
- TITLE = "Mechanical Theorem Proving in Geometries",
- volume = "1",
- SERIES = "Texts and Monographs in Symbolic Computation",
- PUBLISHER = "Springer",
- YEAR = "1994"}
-
-@online{MSActiveDoc:web,
- author = {{Microsoft Corporation}},
- title = {{MSDN Library -- Development Tools and Languages -- Visual Studio 2008 -- Visual Studio -- Visual C++ -- Visual C++ Reference -- Visual C++ Libraries Reference -- MFC -- MFC Concepts -- MFC COM -- Active Document Containment -- Active Documents}},
- urldate = {2009-10-22},
- url = {http://msdn.microsoft.com/en-us/library/bx9c54kf.aspx}}
-
-@InProceedings{Hales06,
- author = {Thomas C. Hales},
- title = {Introduction to the {Flyspeck} Project},
- booktitle = {Mathematics, Algorithms, Proofs},
- year = 2006,
- noeditor = {Thierry Coquand and Henri Lombardi and Marie-Fran{\c c}oise Roy},
- volume = 05021,
- series = {Dagstuhl Seminar Proceedings},
- ISSN = {1862-4405},
- publisher = {Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany},
- address = {Dagstuhl, Germany},
- URL = {http://drops.dagstuhl.de/opus/volltexte/2006/432}}
-
-@Book{Chou88,
- author = "Shang-Ching Chou",
- title = "Mechanical Geometry Theorem Proving",
- publisher = "Reidel",
- address = "Dordrecht",
- year = "1988"}
-
-
-@inproceedings{Grabe02,
- author = {Hans-Gert Gr{\"a}be},
- title = {The {SymbolicData GEO} Records -- A Public Repository of Geometry
- Theorem Proof Schemes},
- booktitle = {Automated Deduction in Geometry},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {2930},
- year = {2004},
- pages = {67--86},
- ee = {http://springerlink.metapress.com/openurl.asp?genre=article{\&}issn=0302-9743{\&}volume=2930{\&}spage=67},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-
-@Book{CASL-UM,
- author = "M. Bidoit and Peter D. Mosses",
- title = {{CASL} --- the {Common Algebraic Specification Language: User Manual}},
- publisher = {Springer Verlag},
- year = "2004",
- series = {LNCS},
- number = "2900"}
-
-@Book{CASL-RM,
- editor = {Peter D. Mosses},
- title = {{CASL} Reference Manual},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = 2960,
- year = 2004}
-
-@INCOLLECTION{MHAH04,
- author = {T. Mossakowski and P. Hoffman and S. Autexier and D. Hutter},
- title = {Part IV: {CASL} Logic},
- booktitle = {The CASL Reference Manual},
- publisher = {Springer-Verlag},
- series = {LNCS},
- numer = {2960},
- year = {2004},
- editor = {B. Krieg-Br{\"u}ckner and P. Mosses},
- timestamp = {2006.10.19}}
-
-@Book{CoFI:2004:CASL-RM,
- editor = {P. D. Mosses},
- title = {\textsc{Casl} Reference Manual},
- year = {2004},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {2960 (IFIP Series)}}
-
-
-
-
-@INPROCEEDINGS{deBruijn:tmlaiu70,
- author = {de Bruijn, Nicolaas G.},
- title = {The mathematical language {AUTOMATH}, its usage and some of its extensions},
- booktitle = {Symposium on Automatic Demonstration},
- year = {1970},
- pages = {29--61},
- crossref = {SAD70}}
-
-@Book{Rosen:dma90,
- author = {Kenneth H. Rosen},
- title = {Discrete Mathematics and Its Applications},
- publisher = {McGraw-Hill},
- year = 1990}
-
-@PHDTHESIS{Nick:emclf05,
- author = {Markus Nick},
- title = {Experience Maintenance through Closed-Loop Feedback},
- school = {Technische Universit{\"a}t Kaiserslautern},
- publisher = {Fraunhofer IRB Verlag},
- isbn = {3-8167-6927-6},
- month = oct,
- year = 2005}
-
-@Book{LewPap:etc98,
- author = {Harry R. Lewis and Christos H. Papadimitriou},
- title = {Elements of the Theory of Computation},
- publisher = {Prentice Hall},
- year = 1998}
-
-
-@Book{Halmos:nst74,
- author = {Paul R. Halmos},
- title = {Naive Set Theory},
- publisher = {Springer Verlag},
- year = 1974}
-
-@InCollection{Denning:cstd00,
- author = {Peter Denning},
- title = {Computer Science: The Discipline},
- crossref = {RalHem:eocs00},
- pages = {405--419}}
-
-@INPROCEEDINGS{ACP-01-a,
- author = {Abel, Andreas and Chang, Bor-Yuh Evan and Pfenning, Frank},
- title = {Human-Readable Machine-Verifiable Proofs for Teaching Constructive
- Logic},
- booktitle = {Proceedings of the Workshop on Proof Transformation, Proof Presentations
- and Complexity of Proofs (PTP-01)},
- pages = {37--50},
- crossref = {PTP01}}
-
-@INPROCEEDINGS{AdGotLin:atpca99,
- author = {Andrew A. Adams and Hanne Gottliebsen and Steve Linton and Ursula
- Martin},
- title = {Automated theorem proving in support of computer algebra: symbolic
- definite integration as a case study.},
- pages = {253--260},
- crossref = {ISSAC99}}
-
-@INPROCEEDINGS{AdGoLiMa:vvsditl99,
- author = {Adams, A. and Gottliebsen, H. and Linton, S. and Martin, U.},
- title = {{{VSDITLU}: a Verifiable Symbolic Definite Integral Table Look-up}},
- pages = {112--126},
- crossref = {CADE99}}
-
-@INPROCEEDINGS{AlexoudiEtAl:calculemus04,
- author = {Marianthi Alexoudi and Claus Zinn and Alan Bundy},
- title = {English Summaries of Mathematical Proofs},
- keywords = {lamapunbibs},
- pages = {49--60},
- crossref = {CALCULEMUS04}}
-
-@INPROCEEDINGS{AllenEtAl:tnole00,
- author = {Stuart F. Allen and Robert L. Constable and Rich Eaton and Christoph
- Kreitz and Lori Lorigo},
- title = {The \textsf{Nuprl} Open Logical Environment},
- pages = {170--176},
- crossref = {CADE00}}
-
-@INPROCEEDINGS{AmerkadEtAl:ptp01,
- author = {Ahmed Amerkad and Yves Bertot and Laurence Rideau},
- title = {Mathematics and Proof Presentation in {Pcoq}},
- booktitle = {Proceedings of the Workshop on Proof Transformation, Proof Presentations
- and Complexity of Proofs (PTP-01)},
- pages = {51--60},
- crossref = {PTP01}}
-
-@INPROCEEDINGS{AnBoMy05:mapping-xml-onto,
- author = {Yuan An and Alexander Borgida and John Mylopoulos},
- title = {Constructing Complex Semantic Mappings Between {XML} Data and Ontologies},
- pages = {6--20},
- crossref = {iswc2005}}
-
-@INPROCEEDINGS{AndersonEtAl:tgt85,
- author = {John R. Anderson and C. Franklin Boyle and Gregg Yost},
- title = {The Geometry Tutor},
- year = {1985},
- pages = {1--7},
- crossref = {IJCAI85}}
-
-@INPROCEEDINGS{Andrews:tmindp80,
- author = {Peter B. Andrews},
- title = {Transforming Matings into Natural Deduction Proofs},
- pages = {281--292},
- crossref = {CADE80}}
-
-@INPROCEEDINGS{AnIs90,
- author = {Peter B. Andrews and Sunil Issar and Dan Nesmith and Frank Pfenning},
- title = {The {TPS} Theorem Proving System},
- year = {1990},
- crossref = {CADE90}}
-
-@INPROCEEDINGS{AnIs:tttps90,
- author = {Peter B. Andrews and Sunil Issar and Dan Nesmith and Frank Pfenning},
- title = {The {TPS} Theorem Proving System},
- year = {1990},
- crossref = {CADE90}}
-
-@INPROCEEDINGS{AraBau:areavdd97,
- author = {Chandrabose Aravindan and Peter Baumgartner},
- title = {{A Rational and Efficient Algorithm for View Deletion in Databases}},
- crossref = {ILPS97},
- url = {http://www.uni-koblenz.de/~peter/Publications/dbu.ps.gz}}
-
-@CONFERENCE{ArensEtAl:agoft91,
- author = {Yigal Arens and Eduard Hovy and Susanne van Mulken},
- title = {Automatic Generation of Formatted Text},
- crossref = {AAAI91}}
-
-
-
-@INPROCEEDINGS{ArmZin:icads00,
- author = {Alessandro Armando and Daniele Zine},
- title = {Interfacing Computer Algebra and Deduction Systems via the Logic
- Broker Architecture},
- crossref = {CALCULEMUS00}}
-
-@InProceedings{BaraniukEtAl:ConnexionsForANetworkedWorld,
- author = {R. G. Baraniuk and C. S. Burrus and B. M. Hendricks and G. L. Henry and A. O. Hero III and D. H. Johnson and D. L. Jones and J. Kusuma and R. D. Nowak and J. E. Odegard and L. C. Potter and K. Ramchandran and R. J. Reedstrom and P. Schniter and I. W. Selesnick and D. B. Williams and W. L. Wilson},
- title = {{ConneXions}: {DSP} education for a networked world},
- booktitle = {Acoustics, Speech, and Signal Processing, 2002. Proceedings. (ICASSP '02). IEEE International Conference on},
- pages = {4144--4147},
- year = 2002,
- volume = 4,
- series = {ICASSP Conference Proceedings},
- publisher = {IEEE}}
-
-@INPROCEEDINGS{BaraniukEtAt:PeerToPeerCollaboration,
- author = {R. G. Baraniuk and G. Henry and B. Hendricks},
- title = {Peer to Peer Collaboration with {ConneXions}},
- booktitle = {{EDUCAUSE 2004 Annual Conference}},
- year = 2004,
- url = {http://cnx.org/aboutus/publications/Peer%20to%20Peer%20Collaboration%20with%20Connexions.pdf/},
- month = oct}
-
-@InBook{Henry:AlternativeApproachPublishing,
- author = {G. Henry},
- title = {{Connexions}: An Alternative Approach to Publishing},
- chapter = {Research and Advanced Technology for Digital Libraries},
- publisher = {Springer Berlin / Heidelberg},
- year = {2004},
- number = {3232},
- Tpages = {421--431},
- annote = {\url{http://www.springerlink.com/content/cxhfcqe4awy2k6jh/?p=1737398ea05941829c18d4f4f8e9020e&pi=37}},
- url = {http://www.springerlink.com/content/cxhfcqe4awy2k6jh/?p=1737398ea05941829c18d4f4f8e9020e&pi=37}}
-
-
-
-@PhdThesis{Schena:SemWebFormalMath02,
- author = {Irene Schena},
- title = {Towards a Semantic Web for Formal Mathematics},
- school = {University of Bologna},
- year = 2002,
- month = mar,
- note = {Technical Report UBLCS--2002--6}}
-
-@Article{APSGS:MKM-HELM03,
- author = {Andrea Asperti and Luca Padovani and Sacerdoti Coen, Claudio and Ferruccio Guidi and Irene Schena},
- title = {Mathematical Knowledge Management in {HELM}},
- journal = {Annals of Mathematics and Artificial Intelligence, Special Issue on Mathematical Knowledge Management},
- publisher = {Kluwer Academic Publishers},
- year = {2003},
- volume = {38},
- number = {1--3},
- pages = {27--46},
- month = may}
-
-@INPROCEEDINGS{AspPad:hsmw01,
- author = {Andrea Asperti and Luca Padovani and Sacerdoti Coen, Claudio and Irene
- Schena},
- title = {{HELM} and the Semantic Math-Web},
- pages = {59--74},
- crossref = {TPHOL01}}
-
-@INPROCEEDINGS{MKM04:AspertiS04,
- author = {Andrea Asperti and Matteo Selmi},
- title = {Efficient Retrieval of Mathematical Statements},
- pages = {1--4},
- crossref = {MKM04}}
-
-@INPROCEEDINGS{MKM04:CoenZ04,
- author = {Claudio Sacerdoti Coen and Stefano Zacchiroli},
- title = {Efficient Ambiguous Parsing of Mathematical Formulae},
- pages = {347--362},
- keywords = {lamapunbibs},
- crossref = {MKM04}}
-
-@INPROCEEDINGS{MKM04:CairnsInformalisingMizar,
- author = {Paul A. Cairns},
- title = {Informalising Formal Mathematics: Searching the {Mizar} Library with Latent Semantics},
- pages = {58--72},
- crossref = {MKM04}}
-
-@INPROCEEDINGS{AutMos:ihdgmm02,
- author = {Serge Autexier and Till Mossakowski},
- title = {Integrating HOLCASL into the Development Graph Manager MAYA},
- pages = {2--17},
- crossref = {FROCOS02}}
-
-@INCOLLECTION{BaaSny:ut00,
- author = {Baader, Franz and Snyder, Wayne},
- title = {Unification Theory},
- crossref = {RobVor:hoar01}}
-
-@INPROCEEDINGS{BaFe95,
- author = {Matthias Baaz and Christian Ferm{\"u}ller},
- title = {Non-Elementary Speedups between Different Versions of Tableaux},
- pages = {217--230},
- crossref = {TABLEAU95}}
-
-@INCOLLECTION{BaFe92,
- author = {Matthias Baaz and Christian G. Ferm{\"u}ller},
- title = {Resolution for many-valued Logics},
- editor = {1992},
- pages = {107--118},
- crossref = {LPAR92}}
-
-@INPROCEEDINGS{BaFe93c,
- author = {Matthias Baaz and Christian G. Ferm{\"u}ller and Arie Ovrutcki and
- Richard Zach},
- title = {{MULTLOG}: A System for Axiomatizing Many-valued Logics},
- crossref = {LPAR93}}
-
-@INPROCEEDINGS{BaHl06:python-owl,
- author = {Marian Babik and Ladislav Hluchy},
- title = {{Deep Integration of Python with Web Ontology Language}},
- crossref = {CeurWS181},
- url = {http://CEUR-WS.org/Vol-181/paper1.pdf}}
-
-@INPROCEEDINGS{lncs516:162,
- author = {Bachmair, Leo and Ganzinger, Harald},
- title = {Completion of First-Order Clauses with Equality by Strict Superposition
- (invited paper)},
- booktitle = {Proceedings of Conditional and Typed Rewriting Systems (CTRS '90)},
- editor = {Kaplan, Stephane and Okada, Mitsuhiro},
- number = {516},
- series = {LNCS},
- pages = {162--180},
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- caddress = {Montreal, CAN},
- cmonth = jun,
- cyear = {1990},
- location = {Fachbereichsbibliothek Informatik},
- pyear = {1991},
- signature = {C 112 :2},
- status = {available}}
-
-@INCOLLECTION{BacGan:erisbtp98,
- author = {Bachmair, Leo and Ganzinger, Harald},
- title = {Equational Reasoning in Saturation-Based Theorem Proving},
- volume = {I},
- chapter = {11},
- pages = {353--397},
- crossref = {BibSch:adabfa98}}
-
-@INCOLLECTION{BacGan:rtp01,
- author = {Bachmair, Leo and Ganzinger, Harald},
- title = {Resolution Theorem Proving},
- crossref = {RobVor:hoar01}}
-
-@INPROCEEDINGS{BaGa92,
- author = {Leo Bachmair and Harald Ganzinger},
- title = {Non-Clausal Resolution and Superposition with Selection and Redundancy
- Criteria},
- year = {1992},
- pages = {273--284},
- crossref = {LPAR92}}
-
-@INPROCEEDINGS{BaGa90,
- author = {Leo Bachmair and Harald Ganzinger},
- title = {On Restrictions of Ordered Paramodulation with Simplification},
- year = {1990},
- pages = {427--441},
- crossref = {CADE90}}
-
-@INPROCEEDINGS{BachmairGanzingerLynchSnyder92,
- author = {Bachmair, Leo and Ganzinger, Harald and Lynch, Christopher and Snyder,
- Wayne},
- title = {Basic paramodulation and superposition},
- pages = {462--476},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{CADE92:462,
- author = {Bachmair, Leo and Ganzinger, Harald and Lynch, Christopher and Snyder,
- Wayne},
- title = {Basic Paramodulation and Superposition},
- pages = {462--476},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{BaGa92a,
- author = {Leo Bachmair and Harald Ganzinger and Christopher Lynch and Wayne
- Snyder},
- title = {Basic Paramodulation and Superposition},
- year = {1992},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{BaHoCa:taa95,
- author = {C. Ballarin and K. Homann and J. Calmet},
- title = {Theorems and Algorithms: An Interface between {Isabelle} and {Maple}},
- pages = {150--157},
- crossref = {ISSAC95}}
-
-@INPROCEEDINGS{BanRud:irm04,
- author = {Grzegorz Bancerek and Piotr Rudnicki},
- title = {Information Retrieval in {MML}},
- pages = {119--131},
- crossref = {MKM03}}
-
-@INPROCEEDINGS{BanUrban:isbmml04,
- author = {Grzegorz Bancerek and Josef Urban},
- title = {Integrated Semantic Browsing of the {Mizar} {Mathematical} {Library} for Authoring {Mizar} Articles},
- pages = {44--57},
- crossref = {MKM04}}
-
-@INPROCEEDINGS{UrbanBan:pem06,
- author = {Josef Urban and Grzegorz Bancerek},
- title = {Presenting and Explaining {Mizar}},
- booktitle = {Proceedings of the International Workshop ``User Interfaces for Theorem
- Provers'' 2006 (UITP'06)},
- year = {2006},
- editor = {Autexier, Serge and Benzm{\"u}ller, Christoph},
- address = {Seattle, USA},
- pages = {97--108}}
-
-@INPROCEEDINGS{PaZa:FNtSTaBa,
- author = {Luca Padovani and Stefano Zacchiroli},
- title = {From Notation to Semantics: There and Back Again},
- pages = {194--207},
- crossref = {MKM06}}
-
-@INPROCEEDINGS{Bancerek:irrmq06,
- author = {Grzegorz Bancerek},
- title = {Information Retrieval and Rendering with {MML} {Query}},
- pages = {266--279},
- crossref = {MKM06}}
-
-@article{BancerekR02,
- author = {Grzegorz Bancerek and Piotr Rudnicki},
- title = {A Compendium of Continuous Lattices in {MIZAR}},
- journal = {Journal of Automated Reasoning},
- volume = {29},
- number = {3--4},
- year = {2002},
- pages = {189--224},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@inproceedings{Grue:Logiweb07,
- author = {Klaus Grue},
- title = {The Layers of {Logiweb}},
- pages = {250--264},
- crossref = {MKM07}}
-
-@inproceedings{CorKal:CoopReposFormalProofs07,
- author = {Pierre Corbineau and Cezary Kaliszyk},
- title = {Cooperative Repositories for Formal Proofs},
- pages = {221--234},
- crossref = {MKM07}}
-
-
-
-@Book{Holzkamp:Lernen,
- author = {Klaus Holzkamp},
- title = {{Lernen: Subjektwissenschaftliche Grundlegung}},
- publisher = {Campus Verlag},
- year = 1995}
-
-@Article{Brauer:InformatikNeuesParadigma,
- author = {Wilfried Brauer and Ute Brauer},
- title = {{Informatik --- das neue Paradigma. {\"A}nderungen von Forschungszielen und Denkgewohnheiten der Informatik.}},
- journal = {LogIn},
- year = 1995,
- volume = 15,
- number = 4,
- pages = {25--29}}
-
-@InProceedings{MinMun:MathSearchQueryFormDataNorm07,
- author = {Robert Miner and Rajesh Munavalli},
- title = {An Approach to Mathematical Search Through Query Formulation and Data Normalization},
- crossref = {MKM07},
- pages = {342--355}}
-
-
-
-@Article{MorGro:ped08,
- author = {Luc Moreau and Paul Groth and Simon Miles and Javier Vazquez and John Ibbotson and Sheng Jiang and Steve Munroe and Omer Rana and Andreas Schreiber and Victor Tan and Laszlo Varga},
- title = {The Provenance of Electronic Data},
- journal = {Communications of the ACM},
- volume = {51},
- number = {4},
- year = {2008},
- pages = {52--58},
- doi = {http://doi.acm.org/10.1145/1330311.1330323},
- publisher = {ACM},
- address = {New York, NY, USA}}
-
-@Article{GaiSha:efkmad99,
- author = {Brian R. Gaines and Mildred L. G. Shaw},
- title = {Enbedding Formal Knowledge Models in Active Documents; Creating
- Problem-Solving Documents},
- journal = {Communications of the ACM},
- year = 1999,
- volume = 42,
- number = 1,
- pages = {57--63}}
-
-@Article{HeiMau:accia00,
- author = {E. Heinrich and H. Maurer},
- title = {Active Documents: Concept, Implementation, and Applications},
- journal = {Journal of Universal Computer Science},
- year = 2000,
- volume = 6,
- number = 12,
- pages = {1197--1202}}
-
-@inproceedings{AbrErw:itfs06,
- author = {Robin Abraham and Martin Erwig},
- title = {Inferring templates from spreadsheets},
- crossref = {ICSE06},
- pages = {182--191}}
-
-
-
-@InProceedings{Claerbout:edrrnm92,
- author = {J. Claerbout},
- title = {Electronic Documents give reproducible research a new meaning},
- pages = {601--604},
- year = 1992}
-
-@InProceedings{AbrErw:huissa04,
- author = {Robin Abraham and Martin Erwig},
- title = {Header and Unit Inference for Spreadsheets through Spatial Analysis},
- booktitle = {IEEE International Symposium on Visual Languages and Human-Centric Computing},
- pages = {165--172},
- year = 2004}
-
-
-
-@Article{KelBurBar:pra08,
- author = {Christopher M. Kelty and C. Sidney Burrus and Richard G. Baraniuk},
- title = {Peer Review Anew: Three Principles and a Case Study in Postpublication Quality Assurance},
- year = 2008,
- journal = {Proceedings of the IEEE; Special Issue on Educational Technology},
- volume = {96},
- number = 6,
- publisher = {IEEE},
- month = jun,
- pages = {1000--1011}}
-
-@ARTICLE{Bancerek:FM,
- author = {Grzegorz Bancerek},
- title = {Automatic translation in {Formalized} {Mathematics}},
- journal = {Mechanized Mathematics and Its Applications},
- year = {2006},
- volume = {5},
- number = {2},
- pages = {19--31}}
-
-@INCOLLECTION{Barendregt:lcwt,
- author = {Henk P. Barendregt},
- title = {Lambda Calculi with Types},
- booktitle = {Handbook of Logic in Computer Science},
- year = {1992},
- volume = {2},
- pages = {117--309},
- crossref = {AbramskyEtAl:holics92}}
-
-@INCOLLECTION{Barendregt:lcwt92,
- author = {Henk P. Barendregt},
- title = {Lambda Calculi with Types},
- booktitle = {Handbook of Logic in Computer Science},
- year = {1992},
- volume = {2},
- pages = {117--309},
- crossref = {AbramskyEtAl:holics92}}
-
-@INCOLLECTION{Bateman:sg92,
- author = {John Bateman},
- title = {Systemic Grammar},
- booktitle = {Encyclopedia of AI},
- year = {1992}}
-
-@INPROCEEDINGS{Baumagartner:httng98,
- author = {Peter Baumgartner},
- title = {Hyper Tableaux --- The Next Generation},
- crossref = {TABLEAUX98},
- url = {http://www.uni-koblenz.de/fb4/publikationen/gelbereihe/RR-32-97.ps.gz}}
-
-@INPROCEEDINGS{Baumgartner:httng98,
- author = {Peter Baumgartner},
- title = {Hyper Tableaux --- The Next Generation},
- crossref = {TABLEAUX98},
- url = {http://www.uni-koblenz.de/fb4/publikationen/gelbereihe/RR-32-97.ps.gz}}
-
-@INPROCEEDINGS{BauFro:sgtpda97,
- author = {Peter Baumgartner and Peter Fr{\"o}hlich and Ulrich Furbach and Wolfgang
- Nejdl},
- title = {Semantically Guided Theorem Proving for Diagnosis Applications},
- pages = {460--465},
- crossref = {IJCAI97},
- url = {http://www.uni-koblenz.de/~peter/Publications/ijcai-diagnosis-proceedings.ps.gz}}
-
-@INPROCEEDINGS{BauFur:pptei94,
- author = {Peter Baumgartner and Uli Furbach},
- title = {{PROTEIN}, A {PRO}ver with a {Theory} {INterface}},
- pages = {769--773},
- crossref = {CADE94}}
-
-@INCOLLECTION{Beaver:p97,
- author = {David Ian Beaver},
- title = {Presupposition},
- chapter = {17},
- pages = {939--1008},
- crossref = {BenMeu:holal}}
-
-@InBook{BeaZee:a07,
- author = {David Ian Beaver and Henk Zeevat},
- title = {Accomodation},
- chapter = {16},
- pages = {503--538},
- crossref = {RamRei:ohli07}}
-
-
-
-
-
-@INPROCEEDINGS{BeSo:ABAfGIP98,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {A Blackboard Architecture for Guiding Interactive Proofs},
- pages = {102--114},
- bibtype = {INPROCEEDINGS},
- crossref = {AIMSA98}}
-
-@INPROCEEDINGS{Billon:tdm96,
- author = {Jean-Paul Billon},
- title = {The Disconnection Method},
- pages = {110--126},
- crossref = {TABLEAUX96}}
-
-@INPROCEEDINGS{BisAnd:sid98,
- author = {Matthew Bishop and Peter B. Andrews},
- title = {Selectively Instantiating Definitions},
- pages = {365--380},
- crossref = {CADE98}}
-
-@INPROCEEDINGS{BiundoHummel:tkitps86,
- author = {Biundo, S. and Hummel, B. and Hutter, D. and Walther, C.},
- title = {The {Karlsruhe} Induction Theorem Proving System},
- pages = {672--674},
- crossref = {CADE86},
- oldkey = {HHHW:tkitps86,BiHu86}}
-
-
-
-@INPROCEEDINGS{Bledsoe77,
- author = {W. W. Bledsoe},
- title = {Set Variables},
- year = {1977},
- pages = {501--509},
- crossref = {IJCAI77}}
-
-@INPROCEEDINGS{BlSi:pufgbe88,
- author = {Karl Hans Bl{\"a}sius and J{\"o}rg Siekmann},
- title = {Partial Unification for Graph Based Equational Reasoning},
- pages = {397--414},
- crossref = {CADE88}}
-
-@INPROCEEDINGS{BoAu05:mapping-xml-owl,
- author = {Hannes Bohring and S{\"o}ren Auer},
- title = {Mapping {XML} to {OWL} Ontologies},
- pages = {147--156},
- crossref = {lit2005}}
-
-@INPROCEEDINGS{bo-ptp97,
- author = {Bornat, R.},
- title = {Natural Deduction Displays of Sequent Proofs: Experience with the
- Jape Calculator},
- crossref = {PTP97}}
-
-@INPROCEEDINGS{Boudet92,
- author = {Alexandre Boudet},
- title = {Unification in Order-Sorted Algebras with Overloading},
- year = {1992},
- pages = {193--207},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{BouSli:aibcah98,
- author = {R. Boulton and K. Slind and A. Bundy and M. Gordon},
- title = {An Interface between {CLAM} and {HOL}},
- pages = {87--104},
- crossref = {TPHOL98}}
-
-@INPROCEEDINGS{Breazu-Tannen88,
- author = {Val Breazu-Tannen},
- title = {Combining Algebra and Higher-Order Types},
- year = {1988},
- crossref = {LICS88}}
-
-@INCOLLECTION{Bruijn80,
- author = {de Bruijn, Nicolaas Govert},
- title = {A Survey of the Project {AUTOMATH}},
- year = {1980},
- pages = {579--606},
- crossref = {HiSe80}}
-
-@INPROCEEDINGS{BryYah:mmgpuhrt96,
- author = {Fran{\c c}ois Bry and Adnan Yahya},
- title = {Minimal Model Generation with Positive Unit Hyper-Resolution Tableaux},
- pages = {143--159},
- crossref = {TABLEAUX96}}
-
-@INPROCEEDINGS{Buchberger:nlpinc97,
- author = {Bruno Buchberger},
- title = {Natural Language Proofs in Nested Cells Representation},
- booktitle = {Proceedings of the First International Workshop on Proof Transformation
- and Presentation},
- pages = {15--16},
- crossref = {PTP97}}
-
-@INPROCEEDINGS{bu-issac97,
- author = {Buchberger, B. and Jebelean, T. and Kriftner, F. and Marin, M. and
- Tomuta, E. and Vasaru, D.},
- title = {An Overview of the Theorema Project},
- crossref = {ISSAC97},
- key = {Buchberger et al. 1997}}
-
-@INPROCEEDINGS{BuCrGaLePa06:sweetwiki,
- author = {Michel Buffa and Ga{\"e}l Crova and Fabien Gandon and Claire Lecompte
- and Jeremy Passeron},
- title = {{SweetWiki: Semantic WEb Enabled Technologies in Wiki}},
- crossref = {semwiki06}}
-
-@INCOLLECTION{Bundy89,
- author = {Alan Bundy},
- title = {{A Science of Reasoning}},
- year = {1989},
- pages = {178--198},
- crossref = {Complog89}}
-
-@INPROCEEDINGS{Bundy88,
- author = {Alan Bundy},
- title = {The Use of Explicit Plans to Guide Inductive Proofs},
- year = {1988},
- pages = {111--120},
- crossref = {CADE88}}
-
-@INPROCEEDINGS{BundyEtAl:tocs90,
- author = {A. Bundy and F. van Harmelen and C. Horn and A. Smaill},
- title = {The Oyster-Clam System},
- year = {1990},
- pages = {647--648},
- crossref = {CADE90}}
-
-@INPROCEEDINGS{Buendgen95,
- author = {R. B{\"u}ndgen},
- title = {Combining Computer Algebra and Rule Based Reasoning},
- pages = {209--223},
- crossref = {DISCO96}}
-
-@INPROCEEDINGS{CahillEtAl:isoara99,
- author = {Lynne Cahill and Christy Doran and Roger Evans and Chris Mellish
- and Daniel Paiva and Mike Reape and Donia Scott and Neil Tipper},
- title = {In Search of a Reference Architecture for {NLG} Systems},
- booktitle = {Proceedings of the 7\textsuperscript{th} European Workshop on Natural Language Generation},
- pages = {77--85},
- crossref = {EWNLG99}}
-
-@INPROCEEDINGS{CaCa92,
- author = {J. Calmet and J. A. Campbell},
- title = {Artificial Intelligence and Symbolic Mathematical Computation},
- pages = {1--19},
- crossref = {AISMC92}}
-
-@INPROCEEDINGS{CalHom:cocacm96,
- author = {Jacques Calmet and Karsten Homann},
- title = {Classification of Communication and Cooperation Mechanisms for Logical
- and Symbolic Computation Systems},
- pages = {124--131},
- crossref = {FROCOS96}}
-
-@INPROCEEDINGS{Cardelli84,
- author = {Luca Cardelli},
- title = {A Semantics of multiple Inheritance},
- year = {1984},
- crossref = {SDT84}}
-
-@INPROCEEDINGS{CaPi:dbq94,
- author = {Biuseppe Castagna and Benjamin C. Pierce},
- title = {Decidable Bounded Quantification},
- pages = {151--162},
- crossref = {POPL94}}
-
-@INCOLLECTION{Cawsey:ged90,
- author = {Alison Cawsey},
- title = {Generating Explanatory Discourse},
- booktitle = {Current Research in Natural Language Generation},
- pages = {75--101},
- crossref = {DaleEtAl:crinlg90}}
-
-@INPROCEEDINGS{Cheikhrouhou:pdp97,
- author = {Lassaad Cheikhrouhou},
- title = {Planning Diagonalization Proofs},
- pages = {377--380},
- crossref = {KI97}}
-
-@INPROCEEDINGS{CheSie:pdp98,
- author = {Lassaad Cheikhrouhou and J{\"o}rg Siekmann},
- title = {Planning Diagonalization Proofs},
- pages = {3--12},
- crossref = {CADE15-WS-AI}}
-
-@INPROCEEDINGS{ChSi:PDP98,
- author = {Lassaad Cheikhrouhou and J{\"o}rg Siekmann},
- title = {Planning Diagonalization Proofs},
- pages = {167--180},
- bibtype = {INPROCEEDINGS},
- crossref = {AIMSA98}}
-
-@INPROCEEDINGS{ChiTsoZan:effdor01,
- author = {Shu-Yao Chien and Vassilis J. Tsotras and Carlo Zaniolo},
- title = {Efficient Management of Multiversion Documents by Object Referencing},
- NOcrossref = {VLDB01}}
-
-@INPROCEEDINGS{ChiVAgZha:esjixd02,
- author = {Shu-Yao Chien and Zografoula Vagena and Donghui Zhang and Vassilis
- J. Tsotras and Carlo Zaniolo},
- title = {Efficient Structural Joins on Indexed {XML} Documents},
- NOcrossref = {VLDB02}}
-
-@INPROCEEDINGS{ChuPla:sgfotp94,
- author = {Heng Chu and {David A.} Plaisted},
- title = {Semantically Guided First-Order Theorem Proving using Hyper-Linking},
- pages = {192--206},
- crossref = {CADE94}}
-
-
-
-@InProceedings{GSC:QueryDistDLMath03,
- author = {Ferruccio Guidi and Sacerdoti Coen, Claudio},
- title = {Querying Distributed Digital Libraries of Mathematics},
- pages = {17--30},
- crossref = {CALCULEMUS03}}
-
-@InProceedings{CarFarWaj:tcms03,
- author = {Jacques Carette and William M. Farmer and J{\'e}r{\'e}mie Wajs},
- title = {Trustable communication between mathematics systems},
- pages = {58--68},
- crossref = {CALCULEMUS03}}
-
-@INPROCEEDINGS{Cohn92,
- author = {Anthony G. Cohn},
- title = {A Many Sorted Logic with Possibly Empty Sorts},
- year = {1992},
- pages = {633--647},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{CoFr92,
- author = {Anthony G. Cohn and Alan M. Frisch},
- year = {1992},
- pages = {178--192},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{Constable88,
- author = {Robert L. Constable and Scott Fraser Smith},
- title = {Computational Foundations of Basic Recursive Function Theory},
- pages = {360--371},
- crossref = {LICS88},
- key = {Constable88}}
-
-@INCOLLECTION{Coquand:aafttc91,
- author = {Thierry Coquand},
- title = {An Algorithm for Testing Type Conversion in Type Theory},
- booktitle = {Logical Frameworks},
- year = {1991},
- pages = {255--279},
- crossref = {HuetPlotkin:lf91}}
-
-@INPROCEEDINGS{CoscoyEtAl:etfp95,
- author = {Yann Coscoy and Gilles Kahn and Laurent Th{\'e}ry},
- title = {Extracting Text from Proofs},
- booktitle = {Typed Lambda Calculi and Applications},
- pages = {109--123},
- crossref = {TLCA95}}
-
-@INPROCEEDINGS{CuGh91,
- author = {Pierre-Louis Curien and Giorgio Ghelli},
- title = {Subtyping + Extensionality: Confluence of $\beta\eta$-top reduction
- in $F_\leq$},
- year = {1991},
- crossref = {TACS91}}
-
-@INPROCEEDINGS{Dahn:iaitpi97,
- author = {B. I. Dahn and J. Gehne and Th. Honigmann and A. Wolf},
- title = {Integration of Automated and Interactive Theorem Proving in {ILF}},
- pages = {57--60},
- crossref = {CADE97}}
-
-@INPROCEEDINGS{DahHai:umatp98,
- author = {Ingo Dahn and Andreas Haida and Thomas Honigmann and Christoph Wernhard},
- title = {Using {Mathematica} and Automated Theorem Provers to Access a Mathematical
- Library},
- crossref = {CADE15-WS-Integration}}
-
-@INPROCEEDINGS{DahWer:foppemml97,
- author = {Ingo Dahn and Christoph Wernhard},
- title = {First Order Proof Problems Extracted from an Article in the {Mizar
- Mathematical Library}},
- pages = {58--62},
- crossref = {FTP97}}
-
-@INPROCEEDINGS{Dalianis:anlgsfv93,
- author = {Hercules Dalianis},
- title = {A natural language generation system for validating specifications
- for telephone services},
- booktitle = {Proceedings of the 5\textsuperscript{th} Innovative Applications of Artificial Intelligence
- Conference},
- year = {1993},
- crossref = {IAAI93}}
-
-@INPROCEEDINGS{DalianisHovy:ainlg93,
- author = {Hercules Dalianis and Eduard H. Hovy},
- title = {Aggregation in Natural Language Generation},
- booktitle = {Proceedings of the 4\textsuperscript{th} European Workshop on Natural Language Generation},
- year = {1993},
- pages = {67--73},
- crossref = {EWNLG93}}
-
-@INPROCEEDINGS{Dello06:makna,
- author = {Karsten Dello and Elena Paslaru Bontas Simperl and Robert Tolksdorf},
- title = {Creating and using Semantic Web information with {Makna}},
- crossref = {semwiki06}}
-
-@Article{ColQui:rtsm69,
- author = {Allan M. Collins and M. Ross Quillian},
- title = {Retrieval time from semantic memory},
- journal = {Journal of verbal learning and verbal behavior},
- year = 1969,
- volume = 8,
- number = 2,
- pages = {240--247},
- doi = {10.1016/S0022-5371(69)80069-1}
-}
-
-@INPROCEEDINGS{DenCol:tpt00,
- author = {Louise A. Dennis and Graham Collins and Michael Norrish and Richard
- Boulton and Konrad Slind and Graham Robinson and Mike Gordon and
- Tom Melham},
- title = {The PROSPER Toolkit},
- crossref = {TACAS00}}
-
-@INCOLLECTION{DenDah:ctp98,
- author = {J{\"o}rg Denzinger and Ingo Dahn},
- title = {Cooperating Theorem Provers},
- volume = {2},
- pages = {483--416},
- crossref = {BibSch:adabfa98}}
-
-@INPROCEEDINGS{DeSc:goetpu94,
- author = {J{\"o}rg Denzinger and Matthias Schulz},
- title = {Goal oriendted equational theorem proving using team work},
- pages = {343--354},
- crossref = {KI94}}
-
-@INCOLLECTION{DeMi93,
- author = {Nachum Dershowitz and Subrata Mitra},
- title = {Higher-Order Unification with Convergent Systems},
- year = {1993},
- crossref = {HOA93}}
-
-@MISC{Quint94activedocuments,
- author = {Vincent Quint and Vincent Quint (inria},
- title = {Active Documents as a Paradigm for Human-Computer Interaction},
- year = {1994}
-}
-
-@INPROCEEDINGS{Digricoli81,
- author = {Vincent J. Digricoli},
- title = {The Efficacy of RUE resolution, experimental results and heuristic
- theory},
- year = {1981},
- pages = {539--547},
- crossref = {IJCAI81}}
-
-@INPROCEEDINGS{Digricoli79,
- author = {Vincent J. Digricoli},
- title = {REsolution by unificatoin and equality},
- year = {1979},
- crossref = {WADE79}}
-
-@MISC{DoWa88,
- author = {Michael R. Donat and Lincoln A. Wallen},
- title = {Learning and Applying Generalized Solutions using Higher-Order Resolution},
- year = {1988},
- crossref = {CADE88}}
-
-@MISC{SKMH:Tfokm:aids,
- author = {Wolfgang Scholl and Christine Konig and Bertolt Meyer and Peter Heisig},
- title = {The future of knowledge management: an international delphi study},
- year = {2004},
- url = {http://www.emeraldinsight.com/Insight/viewPDF.jsp?Filename=html/Output/Published/EmeraldFullTextArticle/Pdf/2300080202.pdf}}
-
-@MISC{MeSo:ACoPViKM:AECSoSiKM,
- author = {Bertolt Meyer and Wolfgang Scholl},
- title = {A Comparison of Paradigmatic Views in Knowledge Management: An Empirical Case Study on Shortcomings in KM},
- year = {2005},
- url = {http://amor.rz.hu-berlin.de/%7Eh04440am/public/WI05-Beitrag105.pdf}}
-
-@INPROCEEDINGS{DoJo92,
- author = {Daniel Dougherty and Patricia Johann},
- title = {A Combinatory Logic Approach to Higher-Order {$E$}-Unification},
- year = {1992},
- pages = {79--93},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{Dowek92,
- author = {Gilles Dowek},
- title = {Third Order Matching is Decidable},
- year = {1992},
- pages = {2--10},
- crossref = {LICS92}}
-
-@INPROCEEDINGS{Dowek:tomid92,
- author = {Gilles Dowek},
- title = {Third Order Matching is Decidable},
- year = {1992},
- pages = {2--10},
- crossref = {LICS92}}
-
-@INPROCEEDINGS{DowekHK95,
- author = {Gilles Dowek and Th{\'e}r{\`e}se Hardin and Claude Kirchner},
- pages = {366--374},
- crossref = {LICS95},
- email = {Gilles.Dowek@inria.fr and Therese.Hardin@litp.ibp.fr and Claude.Kirchner@loria.fr},
- source = {ftp://theory.lcs.mit.edu/pub/meyer/lics.bib}}
-
-@INPROCEEDINGS{DowHarKir:houes95,
- author = {Gilles Dowek and Th{\'e}r{\`e}se Hardin and Claude Kirchner},
- title = {Higher-Order Unification via Explicit Substitutions},
- pages = {366--374},
- crossref = {LICS95}}
-
-@INPROCEEDINGS{DowHarKirPfe:ueshop96,
- author = {Gilles Dowek and Th{\'e}r{\`e}se Hardin and Claude Kirchner and Frank
- Pfenning},
- title = {Unification via Explicit Substitutions: The Case of Higher-Order
- Patterns},
- pages = {259--273},
- crossref = {JICSLP98}}
-
-@INPROCEEDINGS{EdgarPelletier:nleond93,
- author = {Andrew Edgar and Francis Jeffry Pelletier},
- title = {Natural Language Explanation of Natural Deduction Proofs},
- booktitle = {Proceedings of the 1\textsuperscript{st} Conference of the Pacific Association for
- Computational Linguistics},
- crossref = {PACL93}}
-
-@INCOLLECTION{EiFr:vpeids95,
- author = {Jan van Eijck and Nissim Francez},
- title = {Verb-Phrase Ellipsis in Dynamic Semantics},
- pages = {29--59},
- crossref = {PoMa:alhwaw95}}
-
-@INCOLLECTION{EiKa:rdic95,
- author = {Jan van Eijk and Hans Kamp},
- title = {Representing Discourse in Context},
- NOcrossref = {BdTM:holal95}}
-
-@INPROCEEDINGS{EisOhl:mkrp86,
- author = {Norbert Eisinger and Hans J{\"u}gen Ohlbach},
- title = {The Markgraph Karl Refutation Procedure (MKRP)},
- pages = {681--682},
- crossref = {CADE86}}
-
-@INPROCEEDINGS{ElhadadRobin:ccrwfu92,
- author = {Michael Elhadad and Jacques Robin},
- title = {Controlling Content Realization with Functional Unification Grammars},
- booktitle = {Aspects of Automated Natural Language Generation},
- pages = {89--104},
- crossref = {DaleEtAl:aoanlg92}}
-
-@INPROCEEDINGS{Elliot89,
- author = {C. Elliot},
- title = {Higher-Order Unification with Dependent Function Types},
- year = {1989},
- crossref = {RTA89}}
-
-@INPROCEEDINGS{eumi-ptp97,
- author = {Eusterbrock, J. and Michalis, N.},
- crossref = {PTP97}}
-
-@INPROCEEDINGS{Farmer:aifir00,
- author = {William M. Farmer},
- title = {An Infrastructure for Intertheory Reasoning},
- pages = {115--131},
- crossref = {CADE00}}
-
-@INPROCEEDINGS{FaGu:lt92,
- author = {William M. Farmer and Josuah Guttman and Xavier Thayer},
- firstkey = {Farmer, Guttman, \& Thayer},
- title = {Little Theories},
- pages = {467--581},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{Farmer93,
- author = {William M. Farmer},
- title = {Theory Interpretation in Simple Type Theory},
- year = {1993},
- crossref = {HOA93}}
-
-@INCOLLECTION{Fehrer:dds98,
- author = {Detlef Fehrer},
- title = {Developing Deduction Systems: The Toolbox Style},
- volume = {2},
- chapter = {6},
- pages = {149--166},
- crossref = {BibSch:adabfa98}}
-
-@INPROCEEDINGS{Fehrer:wtseimtiaafatp96,
- author = {Detlef Fehrer},
- title = {Why the Structure Encountered in Mathematical Textbooks is Adequate
- also for Automated Theorem Proving},
- crossref = {ECAI-RMK96}}
-
-@INPROCEEDINGS{FeHo97,
- author = {Detlef Fehrer and Helmut Horacek},
- title = {Exploiting the Addressee's Inferential Capabilities in Presenting
- Mathematical Proofs},
- booktitle = {Proceedings of the 15\textsuperscript{th} {International} {Joint} {Conference} on {Artificial} {Intelligence} ({IJCAI})},
- year = {1997},
- pages = {959--964},
- crossref = {IJCAI97}}
-
-@INPROCEEDINGS{FetLoe:uhop96,
- author = {Roland Fettig and Bern L{\"o}chner},
- title = {Unification of Higher-Order Patterns in a Simply Typed Lambda-Calculus
- with Finite Products and Terminal Type},
- pages = {347--361},
- crossref = {RTA96}}
-
-@INPROCEEDINGS{Fiedler:ddaoeo01,
- author = {Armin Fiedler},
- title = {Dialog-driven Adaptation of Explanations of Proofs},
- booktitle = {Proceedings of the 17\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- pages = {1295--1300},
- crossref = {IJCAI01}}
-
-@INPROCEEDINGS{Fiedler:mwacaf98,
- author = {Armin Fiedler},
- title = {Macroplanning with a Cognitive Architecture for the Adaptive Explanation
- of Proofs},
- booktitle = {Proceedings of the 9\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Generation}},
- pages = {88--97},
- crossref = {INLG98}}
-
-@INPROCEEDINGS{Fiedler:paipe01,
- author = {Armin Fiedler},
- title = {{\it P.rex\/}: An Interactive Proof Explainer},
- booktitle = {Automated Reasoning --- 1\textsuperscript{st} International Joint Conference, IJCAR
- 2001},
- pages = {416--420},
- crossref = {IJCAR01}}
-
-@INPROCEEDINGS{Fiedler:uacatp99,
- author = {Armin Fiedler},
- title = {Using a Cognitive Architecture to Plan Dialogs for the Adaptive Explanation
- of Proofs},
- pages = {358--363},
- crossref = {IJCAI99}}
-
-@INPROCEEDINGS{Fiedler:tape97,
- author = {Armin Fiedler},
- title = {Towards a Proof Explainer},
- year = {1997},
- pages = {53--54},
- crossref = {PTP97}}
-
-@INPROCEEDINGS{FiedlerHoracek:aietlp01,
- author = {Armin Fiedler and Helmut Horacek},
- title = {Argumentation in Explanations to Logical Problems},
- booktitle = {Computational Science --- ICCS 2001},
- pages = {969--978},
- crossref = {ICCS01}}
-
-@INPROCEEDINGS{FiedlerHuang:aitgoa95,
- author = {Armin Fiedler and Xiaorong Huang},
- title = {Aggregation in the Generation of Argumentative Texts},
- pages = {5--9},
- crossref = {EWNLG95}}
-
-@INCOLLECTION{FisSch:dbscr98,
- author = {Bernd Fischer and Johann Schmann and Gregor Snelting},
- title = {Deduction-Based Software Component Retrieval},
- volume = {3},
- chapter = {11},
- pages = {265--292},
- crossref = {BibSch:adabfa98}}
-
-@InProceedings{HPPG:DsgnEnvMetadataOnto06,
- author = {Jens Hartmann and Paslaru Bontas, Elena and Ra{\'u}l Palma and Asunci{\'o}n G{\'o}mez-P{\'e}rez},
- title = {{DEMO} -- {Design} {Environment} for {Metadata} {Ontologies}},
- pages = {427--441},
- crossref = {eswc2006}}
-
-@INPROCEEDINGS{FiGaReStST06:COW,
- author = {Jochen Fischer and Zeno Gantner and Steffen Rendle and Manuel Stritt
- and Lars Schmidt-Thieme},
- title = {Ideas and Improvements for Semantic Wikis.},
- year = {2006},
- pages = {650--663},
- crossref = {eswc2006}}
-
-@Article{PM:OntoHowBuild04,
- author = {Helena Sofia Pinto and Jo{\~a}o P. Martins},
- title = {Ontologies: How can They be Built?},
- journal = {Knowledge and Information Systems},
- year = {2004},
- volume = {6},
- pages = {441--464}}
-
-@INPROCEEDINGS{ST:OntoEngRealChk06,
- author = {Elena {Paslaru Bontas Simperl} and Christoph Tempich},
- title = {Ontology Engineering: A Reality Check},
- pages = {836--854},
- crossref = {eswc2006}}
-
-@InProceedings{KPHTB:MethOntoEval08,
- author = {Dionysios D. Kehagias and Ioannis Papadimitriou and Joana Hois
- and Dimitrios Tzovaras and John Bateman},
- title = {A Methodological Approach for Ontology Evaluation and Refinement},
- booktitle = {ASK-IT Final Conference},
- year = {2008},
- month = jun}
-
-@INPROCEEDINGS{Fisher:aoactp97,
- author = {Michael Fisher},
- title = {An Open Approach to Concurrent Theorem Proving},
- crossref = {PPAI97}}
-
-@INPROCEEDINGS{FisIre:mapp98,
- author = {Michael Fisher and Andrew Ireland},
- title = {Multi-Agent Proof-Planning},
- year = {1998},
- pages = {33--42},
- crossref = {CADE15-WS-AI}}
-
-@INPROCEEDINGS{FrPf91,
- author = {Tim Freeman and Frank Pfenning},
- title = {Refinement Types for ML},
- pages = {268--277},
- crossref = {SLDI91}}
-
-@INPROCEEDINGS{ijcai83:923,
- author = {Fribourg, L.},
- title = {A Superposition Oriented Theorem Prover},
- booktitle = {Proceedings of the 8\textsuperscript{th} International Joint Conference on Artificial
- Intelligence},
- year = {1983},
- editor = {Bundy, Alan},
- pages = {923--925},
- address = {Karlsruhe, FRG},
- month = aug,
- publisher = {William Kaufmann},
- bibtype = {INPROCEEDINGS},
- location = {MPI-ZB},
- shelf = {IJCAI83-2.proc},
- signature = {Proceedings: IJCAI83-2},
- status = {available}}
-
-@INPROCEEDINGS{lncs202:325,
- author = {Fribourg, L.},
- title = {Handling Function Definitions through Innermost Superposition and
- Rewriting},
- booktitle = {Proceedings of the 1\textsuperscript{st} International Conference on Rewriting Techniques
- and Applications},
- year = {1985},
- editor = {Jean-Pierre Jouannaud},
- number = {202},
- series = {LNCS},
- pages = {325--344},
- address = {Dijon, France},
- month = may,
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- location = {Fachbereichsbibliothek Informatik},
- signature = {C 53 :3},
- status = {available}}
-
-@ARTICLE{TCS-35-1:s129,
- author = {Fribourg, Laurent},
- title = {A Superposition Oriented Theorem Prover},
- journal = {Theoretical Computer Science},
- year = {1985},
- volume = {35},
- pages = {129--164},
- number = {1},
- bibtype = {ARTICLE},
- location = {MPI-ZB}}
-
-@INPROCEEDINGS{Fribourg84,
- author = {L. Fribourg},
- title = {A Narrowing Procedure with Constructors},
- year = {1984},
- pages = {259--281},
- crossref = {CADE84}}
-
-@INCOLLECTION{Gandy:aeponb80,
- author = {R. O. Gandy},
- title = {An Early Proof of Normalization by A. M. Turing},
- pages = {453--455},
- crossref = {HiSe80}}
-
-@INCOLLECTION{Gandy:posn80,
- author = {R. O. Gandy},
- title = {Proofs of Strong Normalization},
- pages = {457--477},
- crossref = {HiSe80}}
-
-@INPROCEEDINGS{GarKon:dptr99,
- author = {Claire Gardent and Karsten Konrad},
- title = {Definites and the proper treatment of rabbits},
- pages = {53--69},
- crossref = {ICOS99}}
-
-@INPROCEEDINGS{GaAi:ttplsl94,
- author = {Jacques Garrigue and Hassan A{\"i}t-Kaci},
- title = {The Typed Polymorphic Label-Selective $\lambda$-Calculus},
- pages = {35--47},
- crossref = {POPL94}}
-
-@INPROCEEDINGS{Ghani:eidttt97,
- author = {Neil Ghani},
- title = {Eta-Expansions in Dependent Type Theory --- The {Calculus of Constructions}},
- crossref = {TLCA97},
- pages = {164--180}}
-
-@INPROCEEDINGS{GieAhr:hetiatp99,
- author = {Martin Giese and Wolfgang Ahrendt},
- title = {Hilbert's $\epsilon$-Terms in Automated Theorem Proving},
- pages = {171--185},
- crossref = {TABLEAUX99}}
-
-@INPROCEEDINGS{GiuPecTal:rttaafomrs96,
- author = {Fausto Giunchilia and Paolo Pecciari and Carolyn Talcott},
- title = {Reasoning Theories -- Towards and Architecture for Open Mechanized
- Reasoning Systems},
- pages = {97--114},
- crossref = {FROCOS96}}
-
-@INPROCEEDINGS{GoLe:svrd94,
- author = {C. Goller and Reinhold Letz and Klaus Mayr and Johann Schumann},
- title = {{SETHEO} V3.2: Recent Developments},
- year = {1994},
- pages = {778--782},
- crossref = {CADE94}}
-
-@INPROCEEDINGS{GoSelMcAlTret98,
- author = {C. P. Gomes and B. Selman and K. McAloon and C. Tretkoff},
- title = {Randomization in Backtrack Search: Exploiting Heavy-Tailed Profiles
- for Solving Hard Scheduling Problems},
- pages = {208--213},
- crossref = {AIPS98}}
-
-@INPROCEEDINGS{Goubault93,
- author = {Jean Goubault},
- title = {A Rule-Based Algorithm for Rigid {$E$}-Unification},
- crossref = {KGC93}}
-
-@INPROCEEDINGS{Goubault94,
- author = {Jean Goubault},
- title = {Higher-order Rigid {$E$}-unification},
- year = {1994},
- crossref = {LPAR94}}
-
-@INPROCEEDINGS{eurocolt95:222,
- author = {Gurvits, L. and Koiran, P.},
- title = {Approximation and learning of convex superpositions},
- booktitle = {Proceedings of the 2\textsuperscript{nd} European Conference on Computational Learning
- Theory},
- editor = {Paul Vit{\'a}nyi},
- number = {904},
- series = {LNAI},
- pages = {222--236},
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- caddress = {Barcelona, Spain},
- cmonth = mar,
- cyear = {1995},
- location = {Fachbereichsbibliothek Informatik},
- pyear = {1995},
- signature = {C 0 36:1},
- status = {available}}
-
-@INPROCEEDINGS{lncs355:513,
- author = {Hantao Zhang, Deepak Kapur},
- title = {Consider Only General Superpositions in Completion Procedures},
- booktitle = {Proceedings of the 3\textsuperscript{rd} International Conference on Rewriting Techniques
- and Applications},
- editor = {N. Dershowitz},
- number = {355},
- series = {LNCS},
- pages = {513--529},
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- caddress = {Chapel Hill, NC, USA},
- cnote = {April 1989},
- location = {MPI-ZB},
- pyear = {1989},
- shelf = {LNCS},
- signature = {Proceedings: LNCS 355},
- status = {available}}
-
-@INPROCEEDINGS{Harrison:ammfh96,
- author = {John Harrison},
- title = {A {Mizar} mode for {HOL}},
- crossref = {TPHOL96}}
-
-@INPROCEEDINGS{Hasegawa:mgtp97,
- author = {Ryuzo Hasegawa},
- title = {Model Generation Theorem Provers and Their Applications},
- pages = {7--8},
- crossref = {ICLP97}}
-
-@INPROCEEDINGS{HazaelMassieux05:grddl,
- author = {Dominique Haza{\"e}l-Massieux},
- title = {{Bridging XHTML, XML and RDF with GRDDL}},
- crossref = {xtech05},
- url = {http://www.idealliance.org/proceedings/xtech05/papers/03-06-01/}}
-
-@INPROCEEDINGS{HeBaSi06:harvesting-wikipedia-ontology,
- author = {Martin Hepp and Daniel Bachlechner and Katharina Siorpaes},
- title = {Harvesting Wiki Consensus -- Using Wikipedia Entries as Ontology
- Elements},
- crossref = {semwiki06},
- url = {http://www.heppnetz.de/files/SemWiki2006-Harvesting Wiki Consensus-LNCS-final.pdf}}
-
-@INPROCEEDINGS{HollandMinkleyEtAl:vohlfp99,
- author = {Amanda M. Holland-Minkley and Regina Barzilay and Robert L. Constable},
- title = {Verbalization of High-Level Formal Proofs},
- pages = {277--284},
- crossref = {AAAI99}}
-
-@INPROCEEDINGS{HoCa:ctpasmc95,
- author = {K. Homann and J. Calmet},
- title = {Combining Theorem Proving and Symbolic Mathematical Computing},
- pages = {18--29},
- crossref = {AISMC94}}
-
-@INPROCEEDINGS{HomCal:sfsmrac96,
- author = {Karsten Homann and Jacques Calmet},
- title = {Structures for Symbolic Mathematical Reasoning and Computation},
- pages = {216--227},
- crossref = {DISCO96}}
-
-@INBOOK{Horacek:aivotp92,
- title = {An Integrated View of Text Planning},
- author = {Helmut Horacek},
- booktitle = {Aspects of Automated Natural Language Generation},
- crossref = {DaleEtAl:aoanlg92}}
-
-@INPROCEEDINGS{Horacek:grdime97,
- author = {Helmut Horacek},
- title = {Generating Referential Descriptions in Multimedia Environments},
- booktitle = {Referring Phenomena in a Multimedia Context and Their Computational
- Treatment},
- pages = {59--66},
- crossref = {SIGMEDIA-97}}
-
-@INPROCEEDINGS{Horacek:ppinho99,
- author = {Helmut Horacek},
- title = {Presenting Proofs in a Human-Oriented Way},
- booktitle = {Proceedings of the 16\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- pages = {142--156},
- crossref = {CADE99}}
-
-@INPROCEEDINGS{HoracekFiedler:tutroh01,
- author = {Helmut Horacek and Armin Fiedler},
- title = {Towards Understanding the Role of Hints in Tutorial Dialogs},
- booktitle = {Proceedings of the 5\textsuperscript{th} Workshop on Formal Semantics and Pragmatics
- of Dialog (BI-DIALOG 2001)},
- pages = {40--44},
- crossref = {BIDIALOG01}}
-
-@INPROCEEDINGS{Hovy:attpoc90,
- author = {Eduard D. Hovy},
- title = {Approaches to the Planning of Coherent Text},
- booktitle = {Natural Language in Artificial Intelligence and Computational Linguistics},
- pages = {83--102},
- crossref = {ParisEtAl:nlgiai91}}
-
-@INCOLLECTION{Howard:tfnoc80,
- author = {William A. Howard},
- title = {The formulae-as-types notion of construction},
- booktitle = {To H. B. Curry: Essays on combinatory logic, lambda calculus and
- formalism},
- year = {1980},
- pages = {479--490},
- note = {Hitherto unpublished note of 1969, rearranged, corrected and annotated
- by Howard, 1979},
- crossref = {SeldinHindley:thbcei80}}
-
-@INPROCEEDINGS{Howe:cmtin88,
- author = {Howe, D. J.},
- title = {Computational Metatheory in {Nuprl}},
- crossref = {CADE88},
- key = {Howe}}
-
-@INPROCEEDINGS{Howe:imfhin96,
- author = {Douglas Howe},
- title = {Importing mathematics from HOL in Nuprl},
- pages = {267--282},
- crossref = {TPHOL96}}
-
-@INPROCEEDINGS{Huang89b,
- author = {Xiaorong Huang},
- title = {Proof Transformation Towards Human Reasoning Style},
- pages = {37--42},
- crossref = {GWAI89}}
-
-@INPROCEEDINGS{Huang92a,
- author = {Xiaorong Huang},
- title = {An Explanatory Framework for Human Theorem Proving},
- pages = {55--66},
- crossref = {GWAI92}}
-
-@INPROCEEDINGS{Huang93,
- author = {Xiaorong Huang},
- title = {A Reconstructive approach towards proof presentation},
- pages = {12},
- crossref = {DEDTREFF93}}
-
-@online{TReC:online,
- title={Text Retrieval Conference Homepage},
- url={http://trec.nist.gov/},
- date={2014-08-22},
- urldate={2014-08-22}}
-
-@INPROCEEDINGS{Huang94b,
- author = {Xiaorong Huang},
- title = {Planning Reference Choices for Argumentative Texts},
- pages = {145--152},
- crossref = {WGENERATION94}}
-
-@INPROCEEDINGS{Huang94c,
- author = {Xiaorong Huang},
- title = {Planning Argumentative Texts},
- pages = {329--333},
- crossref = {COLING94}}
-
-@INPROCEEDINGS{Huang:prcfat97,
- author = {Xiaorong Huang},
- title = {Planning Reference Choices for Argumentative Texts},
- booktitle = {35\textsuperscript{th} Annual Meeting of the Association for Computational Linguistics
- and 8\textsuperscript{th} Conference of the European Chapter of the Association for
- Computational Linguistics},
- year = {1997},
- crossref = {ACL97}}
-
-@INPROCEEDINGS{Huang:prcfat94,
- author = {Xiaorong Huang},
- title = {Planning Reference Choices for Argumentative Texts},
- year = {1994},
- crossref = {INLG94}}
-
-@INPROCEEDINGS{Huang90,
- author = {Xiaorong Huang},
- title = {Reference Choices in Mathematical Proofs.},
- year = {1990},
- pages = {720--725},
- crossref = {ECAI90}}
-
-@INPROCEEDINGS{HuangFiedler:gmp95,
- author = {Xiaorong Huang and Armin Fiedler},
- title = {Generating Multilingual Proofs},
- pages = {54--63},
- crossref = {WSMTG-IJCAI95}}
-
-@INPROCEEDINGS{HuangFiedler:paaatu96,
- author = {Xiaorong Huang and Armin Fiedler},
- title = {Paraphrasing and Aggregating Argumentative Texts Using Text Structure},
- pages = {21--30},
- crossref = {INLG96}}
-
-@INPROCEEDINGS{HuangFiedler:pmfp96,
- author = {Xiaorong Huang and Armin Fiedler},
- title = {Presenting Machine-Found Proofs},
- pages = {221--225},
- crossref = {CADE96}}
-
-@INPROCEEDINGS{HuangFiedler:pvip97,
- author = {Xiaorong Huang and Armin Fiedler},
- title = {Proof Verbalization in {{\em PROVERB}}},
- year = {1997},
- pages = {35--36},
- crossref = {PTP97}}
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{HueRodWat:cftm02,
- author = {Sandy Huerter and Igor Rodionov and Stephen Watt},
- title = {Content-Faithful Transformations for MathML},
- url = {http://www.mathmlconference.org/2002/presentations/huerter/},
- crossref = {MathML02}}
-
-@INPROCEEDINGS{Hughes:sc82,
- author = {R. J. M. Hughes},
- title = {Super-Combinators},
- pages = {1--10},
- crossref = {LFP82}}
-
-@INPROCEEDINGS{Hutter:calculemus04,crossref = {Hutter:tgmc04}}
-
-
-@INPROCEEDINGS{Hutter:tgmoc04,
- author = {Dieter Hutter},
- title = {Towards a generic Management of Change},
- pages = {7--18},
- crossref = {IJCAR_WS7}}
-
-@INPROCEEDINGS{huse-uitp96,
- author = {Hutter, D. and Sengler, C.},
- title = {A Graphical User Interface for an Inductive Theorem Prover},
- crossref = {UITP96}}
-
-@inproceedings{INKA5,
- author={S. Autexier and D. Hutter and H. Mantel and A. Schairer},
- title={System description: {INKA} 5.0 -- a logical voyager},
- editor={H. Ganzinger},
- booktitle={16\textsuperscript{th} International Conference on Automated Deduction, CADE-16},
- address={Trento},
- number={1732},
- series={LNAI},
- year={1999},
- publisher={Springer}}
-
-@INPROCEEDINGS{HuSe:itng96,
- author = {Hutter, Dieter and Sengler, Claus},
- title = {{INKA} -- The Next Generation},
- pages = {288--292},
- crossref = {CADE96}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{LuettichEA06a,
- author = {Klaus L{\"u}ttich and Till Mossakowski},
- title = {Reasoning Support for {CASL} with Automated Theorem Proving Systems},
- pages = {74--91},
- crossref={WADT06},
- url = {http://www.informatik.uni-bremen.de/~till/papers/casl2spass.pdf}}
-
-
-
-@article{ABFL-05-a,
- author = {Serge Autexier and Christoph Benzm{\"u}ller and Armin Fiedler and Henri Lesourd},
- editor = {David Aspinall and Christoph L{\"u}th},
- title = {Integrating Proof Assistants as Reasoning and Verification Tools into a Scientific {WYSIWYG} Editor},
- journal = {Proceedings of UITP'05},
- series = {ENTCS},
- year = {2006}}
-@article{SBA-05-a,
- author = {J{\"o}rg Siekmann and Christoph Benzm{\"u}ller and Serge Autexier},
- editor = {Benzm{\"u}ller, Christoph},
- title = {Computer Supported Mathematics with {OMEGA}},
- journal = {Journal of Applied Logic, special issue on Mathematics Assistance Systems},
- month = dec,
- year = {2005}}
-
-@inproceedings{Aut-05-a,
- author = {Autexier, Serge},
- editor = {Nieuwenhuis, Robert},
- booktitle = {Proceedings of the 20\textsuperscript{th} International Conference on Automated Deduction (CADE-20)},
- title = {The CORE Calculus},
- number = {3632},
- series = {LNAI},
- publisher = {Springer},
- address = {Tallinn, Estonia},
- month = jul,
- year = {2005}}
-@Techreport{WS:VFTut,
- author = "Christoph Walther and Stephan Schweitzer",
- title = "The {VeriFun} {Tutorial}",
- number = {VFR 02/04},
- institution = {Programmiermethodik, Technische Universit{\"a}t Darmstadt},
- year = 2002}
-@InProceedings{Wolfram00:mathnotation,
- author = {Stephen Wolfram},
- title = {Mathematical notation, past and future.},
- booktitle = {International MathML Conference},
- year = 2000,
- url = {http://www.stephenwolfram.com/publications/talks/mathml}}
-
-@INPROCEEDINGS{JePi72,
- author = {D. C. Jensen and Thomasz Pietrzykowski},
- title = {A complete Mechanization of $(\omega )$-Order Type Theory},
- volume = {1},
- pages = {82--92},
- crossref = {ACM72}}
-
-
-
-
-@INPROCEEDINGS{JouRub:rpohot96,
- author = {Jouannaud, Jean-Pierre and Rubio, Albert},
- title = {A Recursive Path Ordering for Higher-Order Terms in $\eta$-Long $\beta$-Normal
- Form},
- pages = {108--122},
- crossref = {RTA96}}
-
-@INPROCEEDINGS{Kajler:capaei92,
- author = {Norman Kajler},
- title = {{CAS/Pi}: a Protable and Extensible Interface for Comuter Algebra
- Systems},
- pages = {376--386},
- crossref = {ISSAC92}}
-
-@ARTICLE{JSC-06-1:19,
- author = {Kapur, D. and Musser, D. R. and Narendran, P.},
- title = {Only Prime Superpositions Need be Considered in the Knuth-Bendix
- Completion Procedure},
- journal = {Journal of Symbolic Computation},
- year = {1988},
- volume = {6},
- pages = {19--36},
- number = {1},
- bibtype = {ARTICLE},
- idnumber = {Z 117},
- location = {Fachbereichsbibliothek Informatik}}
-
-
-@INPROCEEDINGS{Kerber91a,
- author = {Manfred Kerber},
- title = {{How to Prove Higher Order Theorems in First Order Logic}},
- year = {1991},
- pages = {137--142},
- crossref = {IJCAI91}}
-
-
-
-
-
-@INPROCEEDINGS{Ketonen84,
- author = {J. Ketonen},
- title = {{EKL} -- A Mathematically Oriented Proof Checker },
- year = {1994},
- crossref = {CADE84}}
-
-@INPROCEEDINGS{kiesel06:kaukolu,
- author = {Malte Kiesel},
- firstkey = {Kiesel},
- title = {Kaukolu: Hub of the Semantic Corporate Intranet},
- organization = {DFKI},
- crossref = {semwiki06},
- url = {http://www.dfki.uni-kl.de/~kiesel/2006-06-12-Kaukolu-SemWikiESWC2006.pdf}}
-
-@INPROCEEDINGS{KiCl90,
- author = {Claude Kirchner and Francis Klay},
- title = {Syntactic Theories and Unification},
- crossref = {LICS90}}
-
-
-
-
-
-@INPROCEEDINGS{Youssef:rmsm06,
- author = {Abdou Youssef},
- title = {Roles of Math Search in Mathematics},
- crossref = {MKM06},
- pages = {2--16}}
-
-
-@INPROCEEDINGS{Youssef:mrrhgms07,
- author = {Abdou Youssef},
- title = {Methods of Relevance Ranking and Hit-content Generation in Math Search},
- crossref = {MKM06},
- pages = {393--406}}
-
-
-
-
-
-
-
-@INPROCEEDINGS{KerPol:atnmkm05,
- author = {Manfred Kerber and Martin Pollet},
- title = {A tough nut for mathematical knowledge management},
- crossref = {MKM05},
- pages = {81--95}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{KolWal:somme95,
- author = {Thomas Kolbe and Christoph Walther},
- title = {Second-Order Matching modulo Evaluation -- A Technique for Reusing
- Proofs},
- crossref = {IJCAI95},
- page = {190--195}}
-
-@INPROCEEDINGS{KonWol:kimba99,
- author = {Karsten Konrad and D. A. Wolfram},
- title = {Kimba, A Model Generator for Many-Valued First-Order Logics},
- pages = {282--286},
- crossref = {CADE99}}
-
-@INPROCEEDINGS{Kraan93,
- author = {I. Kraan and D. Basin and A. Bundy},
- title = {Middle-out reasoning for program synthesis},
- crossref = {ICLP93}}
-
-@Book{Pierce:aitit80,
- author = {Pierce, John R.},
- title = {An Introduction to Information Theory. Symbols, Signals and Noise},
- publisher = {Dover Publications Inc.},
- year = 1980}
-
-@INPROCEEDINGS{KriHut:MMiSS03,
- author = {Krieg-Br{\"u}ckner, B. and D. Hutter and A. Lindow and C. L{\"u}th
- and A. Mahnke and E. Melis and P. Meier and A. Poetzsch-Heffter and
- M. Roggenbach and G. Russell and J.-G. Smaus and M. Wirsing},
- title = {MultiMedia Instruction in Safe and Secure Systems},
- pages = {82--117},
- crossref = {WADT03}}
-
-@MISC{ontoworld:smw,
- author = {Markus Kr{\"o}tzsch and others},
- title = {{Semantic MediaWiki} documentation -- Ontoworld.org},
- howpublished = {\url{http://ontoworld.org/wiki/Semantic_MediaWiki}},
- url = {http://ontoworld.org/wiki/Semantic_MediaWiki},
- note = {seen January 2007},
- crossref = {ontoworld},
- key = {Ontoworld: Semantic MediaWiki}}
-
-@online{SemanticMediaWiki,
- title = {{Semantic MediaWiki}},
- url = {http://semantic-mediawiki.org},
- urldate = {2010-03-04}}
-
-@online{Archiplanet,
- title = {{Archiplanet}},
- url = {http://www.archiplanet.org},
- urldate = {2010-03-07}}
-
-@online{CIDOC-CRM,
- title = {{The CIDOC Conceptual Reference Model}},
- url = {http://cidoc.ics.forth.gr},
- urldate = {2010-03-07}}
-
-@online{GeoNames,
- title = {{GeoNames}},
- url = {http://www.geonames.org},
- urldate = {2014-02-21},}
-
-@INPROCEEDINGS{Kutsia:mtf03,
- author = {Temur Kutsia},
- title = {Matching in Flat Theories},
- crossref = {UNIF03}}
-
-@article{Kutsia:sesvsf07,
- author = {Temur Kutsia},
- title = {Solving equation with sequence variables and sequence functions},
- year = 2007,
- journal = {Journal of Symbolic Computation},
- volume = 42,
- pages = {352--388}}
-
-@INPROCEEDINGS{KutBuc:plsvsfs04,
- author = {Temur Kutsia and Bruno Buchberger},
- title = {Predicate Logic with Sequence Variables and Sequence Function Symbols},
- pages = {205--219},
- crossref = {MKM04}}
-
-
-
-@INPROCEEDINGS{infocom95-3:993,
- author = {La Corte, A. and Lombardo, A. and Schembra, O.},
- title = {Modeling Superposition of {ON-OFF} Correlated Traffic Sources in
- Multimedia Applications},
- booktitle = {Proceedings of the 14\textsuperscript{th} Annual Joint Conference of the IEEE Computer
- and Communications Societies (INFOCOM'95)},
- pages = {993--1000},
- publisher = {IEEE Computer Society Press},
- bibtype = {INPROCEEDINGS},
- caddress = {Boston, MA, USA},
- cmonth = jun,
- cyear = {1995},
- location = {MPI-ZB},
- pyear = {1995},
- shelf = {INFOCOM95-3.proc},
- signature = {Proceedings: INFOCOM95-3},
- status = {available}}
-
-
-
-
-
-@INPROCEEDINGS{LibMel:marmca06:biblatex,
- author = {Paul Libbrecht and Erica Melis},
- title = {{Methods for Access and Retrieval of Mathematical Content in ActiveMath}},
- pages = {331--342},
- url = {http://www.activemath.org/publications/Libbrecht-Melis-Access-and-Retrieval-ActiveMath-ICMS-2006.pdf},
- Crossref = {ICMS06}}
-
-@INPROCEEDINGS{LibMel:marmca06,
- author = {Paul Libbrecht and Erica Melis},
- title = {{Methods for Access and Retrieval of Mathematical Content in ActiveMath}},
- pages = {331--342},
- note = {\url{http://www.activemath.org/publications/Libbrecht-Melis-Access-and-Retrieval-ActiveMath-ICMS-2006.pdf}},
- url = {http://www.activemath.org/publications/Libbrecht-Melis-Access-and-Retrieval-ActiveMath-ICMS-2006.pdf},
- Crossref = {ICMS06}}
-
-@INPROCEEDINGS{LiBa:ALbTOf98,
- author = {Maxim Lifantsev and Leo Bachmeier},
- pages = {277--293},
- crossref = {TPHOL98}}
-
-@INPROCEEDINGS{LoSt:tocral93,
- author = {Carlos Loria-Saenz and Joachim Steinbach},
- title = {Termination of Combined (rewrite and $\lambda$-calculus) systems},
- pages = {143--147},
- crossref = {CTRS92}}
-
-@INPROCEEDINGS{LuGa89,
- author = {Francisca Lucio-Carrrasco and Antonio Gavilanes-Franco},
- title = {A first Order Logic for Partial Functions},
- pages = {47--58},
- crossref = {STACS89}}
-
-@INPROCEEDINGS{Lusk92,
- author = {Ewing L. Lusk},
- title = {Controlling Redundancy in Large Search Spaces: Argonne-Style Theorem
- Proving Through the Years},
- year = {1992},
- pages = {96--106},
- crossref = {LPAR92}}
-
-@INPROCEEDINGS{Lusk:crilss92,
- author = {Ewing L. Lusk},
- title = {Controlling Redundancy in Large Search Spaces: Argonne-Style Theorem
- Proving Through the Years},
- year = {1992},
- pages = {96--106},
- crossref = {LPAR92}}
-
-@INPROCEEDINGS{LyPi:atofho95,
- author = {Olav Lysne and Javier Piris},
- title = {A Termination Ordering for Higher-Order Rewrite Systems},
- pages = {26--40},
- crossref = {RTA95}}
-
-@INPROCEEDINGS{Jordi:Linear,
- author = {L{\'e}vy, Jordi},
- title = {Linear Second Order Unification},
- crossref = {RTA96}}
-
-@INPROCEEDINGS{MahKri:lod04,
- author = {Achim Mahnke and Krieg-Br{\"u}ckner, Bernd},
- title = {Literate Ontology Development},
- pages = {753--757},
- keywords = {ontology development},
- status = {Reviewed},
- crossref = {WOSE-2004}}
-
-@INPROCEEDINGS{ManBry:satpiip88,
- author = {Rainer Manthey and Fran{\c c}ois Bry},
- title = {{SATCHMO}: {A} theorem prover implemented in {Prolog}},
- pages = {415--434},
- crossref = {CADE88}}
-
-@INPROCEEDINGS{ManBry:satpip88,
- author = {Rainer Manthey and Fran{\c c}ois Bry},
- title = {{SATCHMO}: {A} theorem prover implemented in {Prolog}},
- year = {1988},
- pages = {415--434},
- crossref = {CADE88}}
-
-
-
-
-@TechReport{IonMin:MathML99,
- key = {MathML1.1},
- editor = {Patrick Ion and Robert Miner},
- author = {Stephen Buswell and Stan Devitt and Angel Diaz and Patrick Ion and Robert Miner and
- Nico Poppelier and Bruce Smith and Neil Soiffer and Robert Sutor and Stephen Watt},
- title = {{Mathematical} {Markup} {Language} ({MathML}) 1.01 Specification},
- institution = {World Wide Web Consortium (W3C)},
- year = 1999,
- type = {W3C Recommendation},
- url = {http://www.w3.org/TR/REC-MathML}}
-
-
-@Misc{GudHad:soapad03,
- author = {Martin Gudgin and Marc Hadley and Jean-Jacques Moreau and Henrik Frystyk Nielsen},
- title = {SOAP 1.2 Part 2: Adjuncts},
- type = {W3C Recommendation},
- year = 2003,
- url = {http://www.w3.org/TR/2003/REC-soap12-part2-20030624}}
-
-@Misc{Mitra:soapPrimer03,
- author = {Nilo Mitra},
- title = {SOAP 1.2 Part 0: Primer},
- type = {W3C Recommendation},
- year = 2003,
- url = {http://www.w3.org/TR/2003/REC-soap12-part0-20030624}}
-
-@Misc{ims_lom,
- author = {IMS Global Learning Consortium},
- title = {Learnig Resource Metadata Specification},
- year = {2001},
- url = {http://www.imsglobal.org/metadata/}}
-
-@InProceedings{Melisetal-FadedEx-ITS04-2004,
- author = {E. Melis and G. Goguadze},
- title = {Towards Adaptive Generation of Faded Examples},
- booktitle = {International Conference on Intelligent Tutoring Systems},
- editor = {J. Lester and R. Vicari and F. Paraguacu},
- pages = {762--771},
- year = 2004,
- series = {LNCS},
- number = {3220},
- ISBN = {3-540-22948-5},
- publisher = {Springer-Verlag},
- url = {Melisetal-FadedEx-ITS04-2004.pdf}}
-
-@article{GoguenRosu02,
- author = {J. Goguen and G. Rosu},
- title = {Institution morphisms},
- journal = {Formal aspects of computing},
- volume = {13},
- year = 2002,
- pages = {274--307}}
-
-@Article{VdH01,
- author = {Joris Van der Hoeven},
- title = {GNU {TeXMacs}: A free, structured, wysiwyg and technical text editor},
- year = 2001,
- pages = {39--40},
- journal = {Cahiers GUTenberg},
- month = may}
-
-@PhdThesis{Fiedler-01-a,
- author = {Fiedler, Armin},
- title = {User-adaptive Proof Explanation},
- school = {Naturwissenschaftlich-Technische Fakult{\"a}t I,
- Universit{\"a}t des Saarlandes},
- type = {PhD Thesis},
- url = {},
- year = 2001,
- address = "Saarbr{\"u}cken, Germany"}
-
-@PhDThesis{AUT03,
- author = {Serge Autexier},
- title = {Hierarchical Contextual Reasoning},
- school = {Saarland University},
- year = 2003}
-
-@inproceedings{lclamsysdesc,
- author = "Richardson, J. D. C. and A. Smaill and I. Green",
- title = "System Description: Proof Planning in Higher-Order Logic with Lambda-Clam",
- booktitle = "Conference on Automated Deduction (CADE'98)",
- editor = "C. Kirchner and H. Kirchner",
- pages = "129--133",
- year = "1998",
- series = "LNCS",
- number = 1421,
- publisher = "Springer-Verlag",
- url = "citeseer.nj.nec.com/richardson98system.html" }
-
-@Misc{GudHad:soapmf03,
- author = {Martin Gudgin and Marc Hadley and Jean-Jacques Moreau and Henrik Frystyk Nielsen},
- title = {SOAP 1.2 Part 1: Messaging Framework},
- type = {W3C Recommendation},
- year = 2003,
- url = {http://www.w3.org/TR/2003/REC-soap12-part1-20030624}}
-
-@INPROCEEDINGS{ManLib:apo05,
- author = {Shahid Manzoor and Paul Libbrecht and Carsten Ullrich and Erica Melis},
- title = {{Authoring Presentation for {\sc{OpenMath}}}},
- pages = {33--48},
- crossref = {MKM05}}
-
-@InProceedings{AM-authoring-from-dev-on,
- author = {P. Libbrecht},
- title = {Authoring Web Content in ActiveMath: From Developer Tools and Further },
- booktitle = {Proceedings of the Second International Workshop on Authoring Adaptive and Adaptable Educational Hypermedia, AH-2004: Workshop Proceedings, Part II, CS-Report 04-19},
- year = 2004,
- pages = {455--460},
- projects = {LeActiveMath},
- editor = {Alexandra Christea and Franca Garzotto},
- publisher = {Technische Universiteit Eindhoven}}
-
-@INPROCEEDINGS{Marin:fpsv03,
- author = {Mircea Marin},
- title = {Functional Programming with Sequence Varaibles},
- crossref = {UNIF03}}
-
-@INPROCEEDINGS{MaMo73,
- author = {A. Martinelli and U. Montanari},
- title = {An Efficient Unification Algorithm},
- crossref = {IJCAI73}}
-
-@INPROCEEDINGS{McCune:otter90,
- author = {William McCune},
- title = {Otter 2.0},
- pages = {663--664},
- crossref = {CADE90}}
-
-@INCOLLECTION{McDonald:nlgaac83,
- author = {David D. McDonald},
- title = {Natural Language Generation as a Computational Problem},
- booktitle = {Computational Models of Discourse},
- crossref = {BradyBerwick:cmod84}}
-
-@INPROCEEDINGS{Meier:sdttom00,
- author = {Andreas Meier},
- title = {System Description: {\sc Tramp}: Transformation of Machine-Found
- Proofs into {ND}-Proofs at the Assertion Level},
- booktitle = {{Automated} {Deduction} -- CADE-17},
- pages = {460--464},
- crossref = {CADE00}}
-
-@INPROCEEDINGS{Melis:amoadp95,
- author = {Erica Melis},
- title = {A Model of Analogy-Driven Proof-Plan Construction},
- pages = {182--189},
- crossref = {IJCAI95}}
-
-@INPROCEEDINGS{Melis:atipp98,
- author = {Erica Melis},
- title = {{AI}-Techniques in Proof Planning},
- pages = {494--498},
- crossref = {ECAI98}}
-
-@INPROCEEDINGS{MelisEtAl:asd01,
- author = {E. Melis and E. Andres and A. Franke and G. Goguadze and P. Libbrecht
- and M. Pollet and C. Ullrich},
- title = {{ActiveMath} System Description},
- pages = {580--582},
- crossref = {AIED01}}
-
-@incollection {MelisEtAl:ActiveMath_2006,
- author = {Melis, Erica and Haywood, Jeff and Smith, Tim},
- title = {LeActiveMath},
- booktitle = {Innovative Approaches for Learning and Knowledge Sharing},
- series = {LNCS},
- editor = {Nejdl, Wolfgang and Tochtermann, Klaus},
- publisher = {Springer Verlag},
- isbn = {978-3-540-45777-0},
- pages = {660--666},
- number = {4227},
- url = {http://dx.doi.org/10.1007/11876663_69},
- year = {2006}
-}
-
-@inproceedings{OneyBrandt:InteractiveDocumentation2012,
- author = {Oney, Stephen and Brandt, Joel},
- title = {Codelets: linking interactive documentation and example code in the editor},
- booktitle = {Proceedings of the 2012 ACM annual conference on Human Factors in Computing Systems},
- series = {CHI '12},
- year = {2012},
- isbn = {978-1-4503-1015-4},
- location = {Austin, Texas, USA},
- pages = {2697--2706},
- numpages = {10},
- url = {http://doi.acm.org/10.1145/2208636.2208664},
- doi = {10.1145/2208636.2208664},
- acmid = {2208664},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {documentation, example, programming, structured editing},
-}
-
-@INPROCEEDINGS{MelisLeron:appsft99,
- author = {Erica Melis and Uri Leron},
- title = {A Proof Presentation Suitable for Teaching Proofs},
- booktitle = {Artificial Intelligence in Education},
- pages = {483--490},
- crossref = {AIED99}}
-
-@INPROCEEDINGS{MelWhi:iaitp96,
- author = {E. Melis and J. Whittle},
- title = {Internal Analogy in Inductive Theorem Proving},
- pages = {92--105},
- crossref = {CADE96}}
-
-@INPROCEEDINGS{Mer96,
- author = {Josep Maria Merenciano and Glyn Morrill},
- title = {Generation as deduction},
- year = {1996},
- crossref = {LACL96}}
-
-@INPROCEEDINGS{Miller:etpatc84,
- author = {Miller, Dale},
- title = {Expansion Tree Proofs and Their Conversion to Natural Deduction Proofs},
- pages = {375--303},
- crossref = {CADE84}}
-
-@INPROCEEDINGS{MiMo87,
- author = {J. Mitchell and E. Moggi},
- title = {Kripke-style models for typed lambda calculus},
- crossref = {LICS87},
- keywords = {Models,PartialFuncs}}
-
-@INPROCEEDINGS{Mitchell84,
- author = {J. C. Mitchell},
- title = {Coersion and Type Inference (Summary)},
- pages = {175--185},
- crossref = {POPL84}}
-
-@INPROCEEDINGS{MooreParis:ptfad89,
- author = {Johanna D. Moore and C{\'e}cile L. Paris},
- title = {Planning Text for Advisory Dialogues},
- booktitle = {Proceedings of the 27\textsuperscript{th} Annual Meeting of the Association for Computational
- Linguistics},
- year = {1989},
- pages = {203--211},
- crossref = {ACL89}}
-
-@INPROCEEDINGS{MooreSwartout:aratet91,
- author = {Johanna D. Moore and William R. Swartout},
- title = {A Reactive Approach to Explanation: Taking the User's Feedback into
- Account},
- booktitle = {Natural Language Generation in Artificial Intelligence},
- pages = {3--48},
- crossref = {ParisEtAl:nlgiai91}}
-
-@INPROCEEDINGS{Morris69,
- author = {James B. Morris},
- title = {{$E$}-Resolution},
- year = {1969},
- pages = {287--294},
- crossref = {IJCAI69}}
-
-@INPROCEEDINGS{Mossakowski:tdghb02,
- author = {Till Mossakowski},
- title = {Heterogeneous development graphs and heterogeneous borrowing},
- pages = {310--325},
- crossref = {FOSSACS02}}
-
-
-@INPROCEEDINGS{MosAutHut:edgwh01,
- author = {Till Mossakowski and Serge Autexier and Dieter Hutter},
- pages = {269--284},
- title = {Extending Development Graphs With Hiding},
- crossref = {FASE01}}
-
-@INCOLLECTION{MuBe:d95,
- author = {Reinhard Muskens and Johan van Benthem and Albert Visser},
- title = {Dynamics},
- crossref = {BeTM:holal95}}
-
-@INPROCEEDINGS{MuWe94,
- author = {Olaf M{\"u}ller and Franz Weber},
- title = {Theory and Practice of Minimal Modular Higher-Order {$E$}-Unification},
- year = {1994},
- pages = {650--677},
- crossref = {CADE94}}
-
-@INPROCEEDINGS{NarWen:oovrshol98,
- author = {Wolfgang Naraschewski and Markus Wenzel},
- title = {Object-Oriented Verification based on Record Subtyping in Higher-Order
- Logic},
- pages = {349--366},
- crossref = {TPHOL98}}
-
-@INPROCEEDINGS{Kammuller99locales:a,
- author = {Florian Kammuller and Markus Wenzel},
- title = {Locales: A sectioning concept for {Isabelle}},
- booktitle = {Theorem Proving in Higher Order Logics (TPHOLs 99)},
- series = {LNCS},
- number ={1690},
- year = {1999},
- pages = {149--165},
- publisher = {Springer}}
-
-@INPROCEEDINGS{Naylor:mpmsmvso02,
- author = {William Naylor},
- title = {Mappings between Presentation Markup and Semantic Markup for Variable-Sized
- Objects},
- crossref = {MathML02}}
-
-@inproceedings{DalGaeHuc:ddmf96,
- author = {St{\'e}phane Dalmas and Marc Ga{\"e}tano and Claude Huchet},
- title = {A Deductive Database for Mathematical Formulas.},
- year = {1996},
- pages = {287--296},
- crossref = {DISCO96}}
-
-@INPROCEEDINGS{Niemelae:atcfmmr96,
- author = {Ilkka Niemel{\"a}},
- title = {{A Tableau Calculus for Minimal Model Reasoning}},
- pages = {278--294},
- crossref = {TABLEAUX96}}
-
-@inproceedings{NayPad:smms05,
- author = {William Naylor and Julian A. Padget},
- title = {Semantic Matching for Mathematical Services.},
- pages = {174--189},
- ee = {http://dx.doi.org/10.1007/11618027_12},
- crossref = {MKM05}}
-
-@INPROCEEDINGS{Nipkow-LICS-93,
- author = {Tobias Nipkow},
- title = {Functional Unification of Higher-Order Patterns},
- pages = {64--74},
- crossref = {LICS93}}
-
-@ARTICLE{Tobies:prgml00,
- author = {Stephan Tobies},
- title = {{PSpace} Reasoning for Graded Modal Logics},
- journal = {Journal of Logic and Computation},
- year = {2000},
- volume = {11},
- pages = {85--106}}
-
-@INPROCEEDINGS{Nipkow-TLCA-93,
- author = {Tobias Nipkow},
- title = {Orthogonal Higher-Order Rewrite Systems are Confluent},
- crossref = {TLCA93}}
-
-@INPROCEEDINGS{Nipkow94,
- author = {Tobias Nipkow},
- title = {Functional Unification of Higher-Order Patterns},
- year = {1994},
- note = {to appear},
- crossref = {LICS94}}
-
-@INPROCEEDINGS{Nipkow93,
- author = {Tobias Nipkow},
- title = {Functional Unification of higher-order Patterns},
- year = {1993},
- crossref = {LICS93}}
-
-@INPROCEEDINGS{Nipkow91,
- author = {Tobias Nipkow},
- title = {Higher-Order Critical Pairs},
- year = {1991},
- pages = {342--349},
- crossref = {LICS91}}
-
-@INPROCEEDINGS{Nipkow89,
- author = {Tobias Nipkow},
- title = {Combining Matching Algorithms: The Regular Case.},
- year = {1989},
- pages = {434--358},
- crossref = {RTA89}}
-
-@INPROCEEDINGS{NiQi92,
- author = {Tobias Nipkow and Zhenyu Qian},
- title = {Reduction and Unification in Lambda Calculi with Subtypes},
- year = {1992},
- pages = {66--78},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{NiQi91,
- author = {Tobias Nipkow and Zhenyu Qian},
- title = {Modular Higher-Order {$E$}-Unification},
- year = {1991},
- pages = {200--214},
- crossref = {RTA91}}
-
-@INPROCEEDINGS{Nivelle:ardpgf98,
- author = {de Nivelle, Hans},
- title = {A Resolution Decision Procedure for the Guarded Fragment},
- year = {1998},
- publisher = {Springer Verlag},
- crossref = {CADE98}}
-
-
-@INCOLLECTION{OhSi89,
- author = {Hans J{\"u}rgen Ohlbach and J{\"o}rg Siekmann},
- title = {The {Markgraf} {Karl} {Refutation} {Procedure}},
- year = {1989},
- pages = {41--112},
- crossref = {Complog89}}
-
-@INPROCEEDINGS{OrDeMoVoHa06:annotation-navigation-semwiki,
- author = {Eyal Oren and Renaud Delbru and Knud M{\"o}ller and Max V{\"o}lkel and Siegfried Handschuh},
- firstkey = {Oren, Delbru, M{\"o}ller, V{\"o}lkel, \& Handschuh},
- title = {Annotation and Navigation in Semantic Wikis},
- crossref = {semwiki06}}
-
-@INPROCEEDINGS{OwRu92,
- author = {S. Owre and J. M. Rushby and N. Shankar},
- title = {{PVS:} A Prototype Verification System},
- year = {1992},
- pages = {748--752},
- crossref = {CADE92}}
-
-@inproceedings{PVSUI-UITP08,
- AUTHOR = {Sam Owre},
- TITLE = {A Brief Overview of the {PVS} User Interface},
- BOOKTITLE = {8th International Workshop User Interfaces for
- Theorem Provers (UITP'08)},
- MONTH = aug,
- YEAR = 2008,
- ADDRESS = {Montreal, Canada},
- url={http://www.ags.uni-sb.de/~omega/workshops/UITP08/UITP08-proceedings.pdf}}
-
-@INPROCEEDINGS{padovani03:latex-mathml,
- author = {Luca Padovani},
- title = {On the Roles of {LaTeX} and {MathML} in Encoding and Processing Mathematical
- Expressions},
- pages = {66--79},
- crossref = {MKM03}}
-
-@INPROCEEDINGS{Panaget:uatrlc94,
- author = {Franck Panaget},
- title = {Using a textual representational level component in the context of
- discourse or dialogue generation},
- booktitle = {Proceedings of the 7\textsuperscript{th} International Workshop on Natural Language
- Generation},
- pages = {127--136},
- crossref = {INLG94}}
-
-@INPROCEEDINGS{Paris:gaebae91,
- author = {C{\'e}cile L. Paris},
- title = {Generation and Explanation: Building an Explanation Facility for
- the Explainable Expert Systems Framework},
- booktitle = {Natural Language Generation in Artificial Intelligence},
- pages = {49--82},
- crossref = {ParisEtAl:nlgiai91}}
-
-@INPROCEEDINGS{Pelletier91,
- author = {Francis Jeffry Pelletier},
- title = {The Philosophy of Automated Theorem Proving},
- year = {1991},
- crossref = {IJCAI91}}
-
-@INPROCEEDINGS{PfenningSchuermann:sdtamf99,
- author = {Frank Pfenning and Carsten Sch{\"u}rmann},
- title = {System Description: Twelf --- A Meta-Logical Framework for Deductive
- Systems},
- booktitle = {Proceedings of the 16\textsuperscript{th} {Conference} on {Automated} {Deduction}},
- pages = {202--206},
- crossref = {CADE99}}
-
-@Manual{McCune:p9manual06,
- title = {Pover9 Manual},
- author = {William McCune},
- url = {http://www.cs.unm.edu/~mccune/prover9/manual-examples.html}}
-
-@INPROCEEDINGS{Pitt:awitpml96,
- author = {Jeremy Pitt},
- title = {A {WWW} Interface to a Theorem Prover for Modal Logic},
- pages = {83--90},
- crossref = {UITP96}}
-
-@INPROCEEDINGS{PlaZhu:oshl97,
- author = {David A. Plaisted and Yunshan Zhu},
- title = {{Ordered Semantic Hyper Linking}},
- crossref = {AAAI97}}
-
-@InProceedings{RiaVor:Vampire01,
- author = {Alexandre Riazanov and Andrei Voronkov},
- title = {Vampire 1.1 (System Description)},
- crossref = {IJCAR01},
- pages = {376--380}}
-
-@INPROCEEDINGS{vandePol:tpfhor93,
- author = {J. van de Pol},
- title = {Termination proofs for higher-order rewrite systems},
- pages = {305--325},
- crossref = {HOA93}}
-
-@INPROCEEDINGS{posc-uitp95,
- author = {Posegga, J. and Schneider, K.},
- title = {{Interactive First-Order Deduction with BDDs}},
- crossref = {UITP95}}
-
-@INPROCEEDINGS{Prehofer:dhoup94,
- author = {Christian Prehofer},
- title = {Decidable Higher-Order Unification Problems},
- year = {1994},
- pages = {635--649},
- crossref = {CADE94}}
-
-@INPROCEEDINGS{Prehofer:shoe94,
- author = {Christian Prehofer},
- title = {Solving Higher-Order Equations},
- year = {1994},
- pages = {507--516},
- crossref = {LICS94}}
-
-@INPROCEEDINGS{Prehofer92,
- author = {Christian Prehofer},
- title = {An Efficient Constraint Language for Order-Sorted Resolution},
- year = {1992},
- crossref = {JELIA92}}
-
-@INPROCEEDINGS{Reeves87,
- author = {S. Reeves},
- title = {Semantic Tableaux as a Framework for Automated Theorem-Proving},
- pages = {125--139},
- crossref = {AISB87}}
-
-@INPROCEEDINGS{ReGaJa05:WEESA,
- author = {Gerald Reif and Harald Gall and Mehdi Jazayeri},
- title = {{WEESA}: Web engineering for semantic Web applications.},
- pages = {722--729},
- crossref = {www2005}}
-
-@PhdThesis{Reif:WEESA05,
- author = {Gerald Reif},
- title = {WEESA -- Web Engineering for Semantic Web Applications},
- school = {Technische Universit{\"a}t Wien},
- year = {2005},
- month = may}
-
-@INPROCEEDINGS{Reiter:hacnlg94,
- author = {Ehud Reiter},
- title = {Has a Consensus {NL} Generation Architecture Appeared, and is it
- Psycholinguistically Plausible?},
- year = {1994},
- pages = {163--170},
- crossref = {INLG94}}
-
-@INPROCEEDINGS{CADE98:129,
- author = {J. D. C. Richardson and A. Smaill and I. M. Green},
- title = {{System description: {Proof} planning in higher-order logic with
- $\lambda${\sl Clam}}},
- pages = {129--133},
- crossref = {CADE98}}
-
-@INPROCEEDINGS{RicSmaGre:ppihol98,
- author = {Julian D. C. Richardson and Alan Smaill and Ian M. Green},
- title = {System description: {Proof} planning in higher-order logic with $\lambda${\sl
- Clam}},
- crossref = {CADE98}}
-
-@INPROCEEDINGS{Robinson68,
- author = {J. A. Robinson},
- title = {New Directions in Theorem Proving},
- pages = {63--67},
- crossref = {IFIP68}}
-
-@INCOLLECTION{Robinson91,
- author = {J. A. Robinson},
- title = {Formal and Informal Proofs},
- year = {1991},
- pages = {267--282},
- crossref = {Boyer:arehwb91}}
-
-@INPROCEEDINGS{lncs582:371,
- author = {Rubio, R. Nieuwenhuis A.},
- title = {Basic superposition is complete},
- booktitle = {Proceedings of European Symposium on Programming (ESOP '92)},
- editor = {Krieg-Br{\"u}ckner, Bernd},
- number = {582},
- series = {LNCS},
- pages = {371--389},
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- caddress = {Rennes, FRA},
- cmonth = feb,
- cyear = {1992},
- location = {Fachbereichsbibliothek Informatik},
- pyear = {1992},
- signature = {C 37 :4},
- status = {available}}
-
-@INPROCEEDINGS{fgcs88-2:524,
- author = {Rusinowitch, M.},
- title = {Theorem-Proving with Resolution and Superposition: An Extension of
- the Knuth and Bendix Procedure to a Complete Set of Inference Rules},
- pages = {524--531},
- bibtype = {INPROCEEDINGS},
- NOcrossref = {fgcs88-2},
- location = {MPI-ZB}}
-
-@ARTICLE{JSC-11-1:21,
- author = {Rusinowitch, M.},
- title = {Theorem-proving with Resolution and Superposition},
- journal = {Journal of Symbolic Computation},
- year = {1991},
- volume = {11},
- pages = {21--50},
- number = {1\&2},
- bibtype = {ARTICLE},
- idnumber = {Z 117},
- location = {Fachbereichsbibliothek Informatik}}
-
-@INPROCEEDINGS{Salzer:oamvo96,
- author = {Gernot Salzer},
- title = {Optimal Axiomatizations for Multiple-Valued Operators and Quantifiers
- based on Semilattices},
- pages = {688--702},
- crossref = {CADE96}}
-
-@ARTICLE{JSC-11-3:205,
- author = {Sattler-Klein, A.},
- title = {Research Note : Elimination of Composite Superpositions May Cause
- Abortion},
- journal = {Journal of Symbolic Computation},
- year = {1991},
- volume = {11},
- pages = {205--212},
- number = {3},
- bibtype = {ARTICLE},
- idnumber = {Z 117},
- location = {Fachbereichsbibliothek Informatik}}
-
-@INPROCEEDINGS{schaffert06:learning-with-semantic-wikis,
- author = {Sebastian Schaffert and Diana Bischof and Tobias B{\"u}rger and
- Andreas Gruber and Wolf Hilzensauer and Sandra Schaffert},
- firstkey = {Schaffert, Bischof, B{\"u}rger, Gruber, Hilzensauer, \& S. Schaffert},
- title = {Learning with Semantic Wikis},
- crossref = {semwiki06},
- howpublished = {\url{http://www.wastl.net/download/paper/Schaffert06_SemWikiLearning.pdf}},
- institution = {Salzburg {Research} {Forschungsgesellschaft}},
- url = {http://www.wastl.net/download/paper/Schaffert06_SemWikiLearning.pdf}}
-
-@INPROCEEDINGS{Scheevel:nagrp86,
- author = {M. Scheevel},
- title = {Norma: a graph reduction processor},
- pages = {212--219},
- crossref = {LFP86}}
-
-@INPROCEEDINGS{Schmidt-Schauss86,
- author = {Manfred Schmidt-Schau{\ss}},
- title = {Unification in Many-Sorted Equational Theories},
- year = {1986},
- pages = {538--552},
- crossref = {CADE86}}
-
-@INCOLLECTION{Scott80,
- author = {Dana S. Scott},
- title = {Relating theories of the $\lambda$-calculus},
- year = {1980},
- crossref = {HiSe80},
- keyowrds = {PartialFuncs}}
-
-@INPROCEEDINGS{Sibun:tloot90,
- author = {Penelope Sibun},
- title = {The Local Organization of Text},
- booktitle = {Proceedings of the 5\textsuperscript{th} International Natural Language Generation
- Workshop},
- year = {1990},
- pages = {120--127},
- crossref = {INLG90}}
-
-@INPROCEEDINGS{Siekmann76,
- author = {J{\"o}rg. H. Siekmann},
- title = {Unification of Commutative Terms},
- pages = {531--545},
- crossref = {EUROSAM79}}
-
-
-
-
-
-@INPROCEEDINGS{icga97:97,
- author = {Slavov, Vanio and Nikolaev, Nikolay I.},
- title = {Inductive Genetic Programming and Superposition of Fitness Landscapes},
- booktitle = {Proceedings of the 7\textsuperscript{th} International Conference on Genetic Algorithms},
- editor = {Thomas B{\"a}ck},
- pages = {97--104},
- publisher = {Morgan Kaufmann},
- bibtype = {INPROCEEDINGS},
- caddress = {East Lansing, MI, USA},
- cnote = {July 19--23 1997},
- location = {MPI-ZB},
- pyear = {1997},
- shelf = {ICGA97.proc},
- signature = {Proceedings: ICGA97},
- status = {available}}
-
-@Article{CX:OntoDataIntegration05,
- author = {Isabel F. Cruz and Huiyong Xiao},
- title = {The Role of Ontologies in Data Integration},
- journal = {Engineering Intelligent Systems for Electrical Engineering and Communication},
- year = {2005},
- volume = {13},
- number = {4},
- pages = {245--252},
- issn = {1363--2078}}
-
-@InBook{CX:OntoDataIntegration09,
- author = {Isabel F. Cruz and Huiyong Xiao},
- editor = {Andreas Tolk and Lakhmi Jain},
- title = {Ontology Driven Data Integration in Heterogeneous Networks},
- booktitle = {Complex Systems in Knowledge-Based Environments},
- series = {Studies in Computational Intelligence},
- number = {168},
- pages = {75--97},
- publisher = {Springer},
- year = {2009}}
-
-@INPROCEEDINGS{cream,
- author = {Siegfried Handschuh and Steffen Staab and Alexander Maedche},
- title = {CREAting relational Metadata (CREAM) --- a framework for semantic annotation},
- booktitle = {The Emerging Semantic Web},
- publisher = {IOS Press},
- editor = {I. Cruz and S. Decker and J. Euzenat},
- year = 2002}
-
-@INPROCEEDINGS{Snyder90,
- author = {Wayne Snyder},
- title = {Higher Order ${E}$-Unification},
- year = {1990},
- pages = {573--578},
- crossref = {CADE90}}
-
-@INPROCEEDINGS{Snyder:hoeu90,
- author = {Wayne Snyder},
- title = {Higher Order ${E}$-Unification},
- year = {1990},
- pages = {573--578},
- crossref = {CADE90}}
-
-@INPROCEEDINGS{SnLy91,
- author = {Wayne Snyder and Christopher Lynch},
- title = {Goal-Directed Strategies for Paramodulation},
- year = {1991},
- pages = {200--214},
- crossref = {RTA91}}
-
-@INPROCEEDINGS{Socher93,
- author = {Rolf Socher},
- title = {Unification in Order-Sorted Logic With Term Declarations},
- year = {1993},
- pages = {301--308},
- crossref = {LPAR93}}
-
-@INPROCEEDINGS{Statman:otltic86,
- author = {Rick Statman},
- title = {On translating lambda terms into combinators: the basis problem},
- pages = {378--382},
- crossref = {LICS86}}
-
-@INPROCEEDINGS{rta96:33,
- author = {Stuber, J{\"u}rgen},
- title = {Superposition Theorem Proving for Abelian Groups Represented as Integer Modules},
- booktitle = {Proceedings of the 7\textsuperscript{th} International Conference on Rewriting Techniques
- and Applications (RTA-96)},
- editor = {Ganzinger, Harald},
- number = {1103},
- series = {LNCS},
- pages = {33--47},
- address = {New Brunswick, NJ, USA},
- publisher = {Springer-Verlag},
- bibtype = {INPROCEEDINGS},
- cmonth = {July~27--30},
- crossref = {RTA96},
- cyear = {1996},
- location = {Fachbereichsbibliothek Informatik},
- pyear = {1996},
- signature = {C 53 :7},
- status = {available}}
-
-
-@INPROCEEDINGS{TheiSorPol:icati06,
- author = {Frank Thei{\ss} and Volker Sorge and Martin Pollet},
- title = {Interfacing to Computer Algebra via Term Indexing},
- crossref = {CALCULEMUS06}}
-
-@INPROCEEDINGS{Ueberberg95,
- author = {J. Ueberberg},
- title = {{Interactive} {Theorem} {Proving} and {Computer} {Algebra}},
- pages = {1--9},
- crossref = {AISMC94}}
-
-
-@Article{Ban:MizarTypes,
- author = {Grzegorz Bancerek},
- title = {On the structure of {Mizar} types},
- journal = {Electronic Notes in Theoretical Computer Science},
- year = {2003},
- volume = {85},
- number = {7},
- publisher = {Elsevier}}
-
-
-@INPROCEEDINGS{Urban:tmfotp03,
- author = {Josef Urban},
- title = {Translating Mizar for First-Order Theorem Provers},
- pages = {203--215},
- crossref = {MKM03}}
-
-@INPROCEEDINGS{GS:QueryMetadataMath03,
- author = {Ferruccio Guidi and Irene Schena},
- title = {A Query Language for a Metadata Framework about Mathematical Resources},
- pages = {105--118},
- crossref = {MKM03}}
-
-@INPROCEEDINGS{Uribe92,
- author = {T. E. Uribe},
- title = {Sorted Unification using Set Constraints},
- year = {1992},
- pages = {163--177},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{VraKro06:onto-background,
- author = {Denny Vrande{\v c}i{\'c} and Markus Kr{\"o}tzsch},
- firstkey = {Kr{\"o}tzsch \& Vrande{\v c}i{\'c}},
- title = {Reusing Ontological Background Knowledge in Semantic Wikis},
- crossref = {semwiki06},
- url = {http://www.aifb.kit.edu/images/c/c7/2006_1211_Vrandecic_Reusing_Ontolog_1.pdf}}
-
-@MISC{voelkel06:semanticwikistateoftheart,
- author = {Max V{\"o}lkel and Malte Kiesel and Sebastian Schaffert and Bj{\"o}rn
- Decker and Eyal Oren},
- title = {Semantic Wiki State of The Art Paper -- Ontoworld},
- howpublished = {\url{http://ontoworld.org/index.php/Semantic_Wiki_State_of_The_Art_Paper}},
- note = {seen January 2007},
- crossref = {ontoworld},
- type = {draft},
- url = {http://ontoworld.org/index.php/Semantic_Wiki_State_of_The_Art_Paper}}
-
-@INPROCEEDINGS{CheyerLevy:CollProgEnvWebInt06,
- author = {Adam Cheyer and Joshua Levy},
- title = {A Collaborative Programming Environment for Web Interoperability},
- keywords = {WubHub},
- crossref = {semwiki06}}
-
-@INPROCEEDINGS{VoOr06:wif,
- author = {Max V{\"o}lkel and Eyal Oren},
- firstkey = {V{\"o}lkel \& Oren},
- title = {{Towards a Wiki Interchange Format (WIF)}},
- crossref = {semwiki06}}
-
-@INPROCEEDINGS{WalkerRambow:trocmi94,
- author = {Marilyn A. Walker and Owen Rambow},
- title = {The Role of Cognitive Modeling in Achieving Communicative Intentions},
- booktitle = {Proceedings of the 7\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Generation}},
- pages = {171--180},
- crossref = {INLG94}}
-
-@INPROCEEDINGS{WaNuBu:tuoppt92,
- author = {Toby Walsh and A. Nunes and Alan Bundy},
- title = {The use of proof plans to sum series},
- pages = {325--339},
- crossref = {CADE92}}
-
-@INPROCEEDINGS{Walther84,
- author = {Christoph Walther},
- title = {Unification in Many-Sorted Theories},
- pages = {593--602},
- crossref = {ECAI84}}
-
-@INPROCEEDINGS{Weidenbach:uplstd96,
- author = {Weidenbach, Christoph},
- title = {Unification in Pseudo-Linear Sort Theories is Decidable},
- pages = {343--357},
- crossref = {CADE96}}
-
-@InProceedings{WeiSchHil:Spass07,
- author = {Christoph Weidenbach and Renate A. Schmidt and Thomas Hillenbrand and
- Rostislav Rusev and Dalibor Topic},
- title = {Spass Version 3.0 (System Description)},
- crossref = {CADE07},
- pages = {514--520}}
-
-@INPROCEEDINGS{WeidenbachEtAl:spass02,
- author = {Weidenbach, Christoph and Brahm, Uwe and Hillenbrand, Thomas and
- Keen, Enno and Theobalt, Christian and Topi{\'c}, Dalibor},
- title = {{SPASS} Version 2.0},
- booktitle = {Automated Deduction --- CADE-18},
- pages = {275--279},
- crossref = {CADE02}}
-
-@INPROCEEDINGS{WeGaRo:sfv96,
- author = {Weidenbach, Christoph and Gaede, Bernd and Rock, Georg},
- title = {SPASS \& FLOTTER, Version 0.42},
- crossref = {CADE96}}
-
-@INPROCEEDINGS{WeOh90,
- author = {Christoph Weidenbach and Hans J{\"u}rgen Ohlbach},
- title = {A Resolution Calculus with Dynamic Sort Structures and Partial Functions},
- year = {1990},
- pages = {688--693},
- crossref = {ECAI90}}
-
-@INPROCEEDINGS{Wenzel:isar99,
- author = {Markus Wenzel},
- title = {Isar --- a Generic Interpretative Approach to Readable Formal Proof
- Documents},
- booktitle = {Theorem Proving in Higher Order Logics: TPHOLs'99},
- pages = {167--184},
- crossref = {TPHOL99}}
-
-@INPROCEEDINGS{Wenzel:tcohol97,
- author = {Markus Wenzel},
- title = {Type Classes and Overloading in Higher-Order Logic},
- pages = {307--322},
- crossref = {TPHOL97}}
-
-@INPROCEEDINGS{Werner93,
- author = {Andreas Werner},
- title = {A Semantic Approach to Order-Sorted Rewriting},
- year = {1993},
- crossref = {RTA93}}
-
-@INPROCEEDINGS{Wirth98:fostc,
- author = {Claus-Peter Wirth},
- title = {Full First-Order Sequent and Tableau Calculi With Preservation of
- Solutions and the Liberalized delta-Rule but Without Skolemization},
- pages = {283--298},
- crossref = {FTP98}}
-
-@INPROCEEDINGS{YoungEtAl:taprod94,
- author = {R. Michael Young and Johanna D. Moore and Martha E. Pollack},
- title = {Towards a Principled Representation of Discourse Plans},
- crossref = {COGSCI94}}
-
-@INPROCEEDINGS{Zaionc85,
- author = {M. Zaionc},
- title = {The Set of Unifiers in Typed $\lambda $-Calculus as Regular Expressions},
- year = {1985},
- crossref = {RTA85}}
-
-@INPROCEEDINGS{KaZh88,
- author = {Hantao Zhang and Deepak Kapur},
- title = {Frist Order Theorem Proving using Conditional Rewrite Rules},
- year = {1988},
- pages = {1--20},
- crossref = {CADE88}}
-
-@INPROCEEDINGS{KaZh:fotpuc88,
- author = {Hantao Zhang and Deepak Kapur},
- title = {Frist Order Theorem Proving using Conditional Rewrite Rules},
- year = {1988},
- pages = {1--20},
- crossref = {CADE88}}
-
-@INPROCEEDINGS{ZhaZha:clsabtfcs96,
- author = {Jian Zhang and Hantao Zhang},
- title = {Combining Local Search and Backtracking Techniques for Constraint
- Satisfaction},
- crossref = {AAAI96}}
-
-@INPROCEEDINGS{ZukermanMcConachy:gcdtaa93,
- author = {Ingrid Zukerman and R. McConachy},
- title = {Generating Concise Discourse that Addresses a User's Inferences},
- pages = {1202--1207},
- crossref = {IJCAI93}}
-
-@online{meta:dummy-edit,
- title = {Dummy edit},
- subtitle = {From {Meta}, a {Wikimedia} project coordination wiki},
- url = {http://meta.wikimedia.org/w/index.php?title=Help:Dummy_edit&diff=prev&oldid=1320951},
- date = {2008-12-23}}
-
-@online{Priestley:ditamm,
- author = {Michael Priestly},
- title={DITA Maturity Model},
- note={White Paper, JustSystems},
- url = {http://na.justsystems.com/files/Whitepaper-DITA_MM.pdf},
- urldate = {2012-06-11}}
-
-@online{dita-standard:on,
- title={Darwin Information Typing Architecture (DITA) Version 1.2},
- note={{OASIS} Standard},
- url = {http://docs.oasis-open.org/dita/v1.2/os/spec/DITA1.2-spec.html},
- date = {2010-10-01}}
-
-@online{wikibooks:on,
- title = {Wikibooks},
- url = {https://en.wikibooks.org},
- urldate = {2012-06-11}}
-
-@online{meta:flagged-revisions,
- title = {Flagged Revisions},
- subtitle = {From {Meta}, a {Wikimedia} project coordination wiki},
- url = {http://meta.wikimedia.org/w/index.php?title=Flagged_Revisions&oldid=2020634},
- date = {2010-06-26}}
-
-@online{meta:minor-edit:on,
- crossref = {meta:minor-edit:base},
- subtitle = {From {Meta}, a {Wikimedia} project coordination wiki},
- date = {2010-09-25}}
-
-@MISC{meta:minor-edit,
- crossref = {meta:minor-edit:base},
- year = {2010},
- howpublished = {\url{http://meta.wikimedia.org/w/index.php?title=Help:Minor_edit&oldid=398318}},
- crossref = {wikimedia-meta},
- key = {Wikimedia Meta-Wiki: Minor edit}}
-
-@MISC{meta:minor-edit:base,
- title = {Minor edit},
- url = {http://meta.wikimedia.org/w/index.php?title=Help:Minor_edit&oldid=2132961}}
-
-@MISC{meta:external-editors,
- title = {External editors (from {Wikimedia} Meta-Wiki)},
- howpublished = {\url{http://meta.wikimedia.org/w/index.php?title=Help:External_editors&oldid=491214}},
- month = jun,
- year = {2006},
- crossref = {wikimedia-meta},
- key = {Wikimedia Meta-Wiki: External editors},
- url = {http://meta.wikimedia.org/w/index.php?title=Help:External_editors&oldid=491214}}
-
-@MISC{meta:section,
- title = {Section (from {Wikimedia} Meta-Wiki)},
- howpublished = {\url{http://meta.wikimedia.org/w/index.php?title=Help:Section&oldid=480808}},
- month = dec,
- year = {2006},
- crossref = {wikimedia-meta},
- key = {Wikimedia Meta-Wiki: Section},
- url = {http://meta.wikimedia.org/w/index.php?title=Help:Section&oldid=480808}}
-
-@MISC{meta:templates-history,
- title = {Revision history of pages containing templates (from {Wikimedia} Meta-Wiki)},
- howpublished = {\url{http://meta.wikimedia.org/w/index.php?title=Help:Template&oldid=490638\#Revision_history_of_pages_containing_templates}},
- month = dec,
- year = {2006},
- crossref = {wikimedia-meta},
- key = {Wikimedia Meta-Wiki: Revision history of pages containing templates},
- url = {http://meta.wikimedia.org/w/index.php?title=Help:Template&oldid=490638\#Revision_history_of_pages_containing_templates}}
-
-@MISC{meta:watching-pages,
- title = {Watching pages (from {Wikimedia} Meta-Wiki)},
- howpublished = {\url{http://meta.wikimedia.org/w/index.php?title=Help:Watching_pages&oldid=291069}},
- month = feb,
- year = {2006},
- crossref = {wikimedia-meta},
- key = {Wikimedia Meta-Wiki: Watching pages},
- url = {http://meta.wikimedia.org/w/index.php?title=Help:Watching_pages&oldid=291069}}
-
-@MISC{ontoworld:swiki-classes,
- title = {Classification of semantic wikis (results of the {SemWiki} 2006 workshop,
- from {Ontoworld} wiki)},
- howpublished = {\url{http://ontoworld.org/index.php/SemWiki2006_Results}},
- note = {seen June 2006},
- crossref = {ontoworld},
- key = {Ontoworld: SemWiki2006 Results},
- url = {http://ontoworld.org/index.php/SemWiki2006_Results}}
-
-@MISC{wikipedia:is-not,
- title = {{Wikipedia: What Wikipedia is not} (from {Wikipedia}, the free encyclopedia)},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Wikipedia:What_Wikipedia_is_not&oldid=93870775}},
- month = dec,
- year = {2006},
- crossref = {wikipedia},
- key = {Wikipedia: What Wikipedia is not},
- url = {http://en.wikipedia.org/w/index.php?title=Wikipedia:What_Wikipedia_is_not&oldid=93870775}}
-
-@MISC{wikipedia:semanticwiki,
- title = {{Semantic} {Wiki} (from {Wikipedia}, the free encyclopedia)},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Semantic_Wiki&oldid=92323454}},
- month = dec,
- year = {2006},
- crossref = {wikipedia},
- key = {Wikipedia: Semantic Wiki},
- url = {http://en.wikipedia.org/w/index.php?title=Semantic_Wiki&oldid=92323454}}
-
-@MISC{wikipedia:encyclopedia,
- title = {{Encyclopedia} (from {Wikipedia}, the free encyclopedia)},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Encyclopedia&oldid=93907921}},
- month = dec,
- year = {2006},
- crossref = {wikipedia},
- key = {Wikipedia: Encyclopedia},
- url = {http://en.wikipedia.org/w/index.php?title=Encyclopedia&oldid=93907921}}
-
-@MISC{wikipedia:social-bookmarking,
- title = {{Social} {Bookmarking} (from {Wikipedia}, the free encyclopedia)},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=Social_bookmarking&oldid=41146964}},
- month = feb,
- year = {2006},
- crossref = {wikipedia},
- key = {Wikipedia: Social Bookmarking},
- url = {http://en.wikipedia.org/w/index.php?title=Social_bookmarking&oldid=41146964}}
-
-@MISC{URL:rcampus,
- title = {RCampus: An Open Education Management System.},
- month = may,
- year = {2008},
- key = {RCampus},
- url = {http://www.rcampus.com/}}
-
-
-@MISC{wikipedia:webfolio,
- title = {{Webfolio} (from {Wikipedia}, the free encyclopedia)},
- month = may,
- year = {2008},
- crossref = {wikipedia},
- key = {Wikipedia: Webfolio},
- url = {http://en.wikipedia.org/w/index.php?title=Webfolio&oldid=177256335}}
-
-@MISC{wikipedia:ePortfolio,
- title = {{ePortfolio} (from {Wikipedia}, the free encyclopedia)},
- month = may,
- year = {2008},
- crossref = {wikipedia},
- key = {Wikipedia: ePortfolio},
- url = {http://en.wikipedia.org/w/index.php?title=Electronic_portfolio&oldid=211930354}}
-
-@Misc{wikipedia:MathematicalBeauty,
- title = {{Mathematical beauty}},
- year = {2011},
- note = {\seen August 2011},
- crossref = {wikipedia},
- howpublished = {Online:\url {http://en.wikipedia.org/w/index.php?title=Mathematical_beauty&oldid=442587127}},
- url = {http://en.wikipedia.org/w/index.php?title=Mathematical_beauty&oldid=442587127}
-}
-
-
-
-@ARTICLE{vanBenthemJutting:tipts93,
- author = {L. S. {van Benthem Jutting}},
- title = {Typing in Pure Type Systems},
- journal = {Information and Computation},
- year = {1993},
- volume = {105},
- pages = {30--41},
- number = {1}}
-
-@TECHREPORT{MertensStZe:Benutzermodell04,
- author = {Peter Mertens and M. St{\"o}sslein and Th. Zeller},
- title = {{Personalisierung und Benutzermodellierung in der betrieblichen Informationsverarbeitung --- Stand und Entwicklungsm{\"o}glichkeiten}},
- institution = {Bereich Wirtschaftsinformatik I, Universit{\"a}t Erlangen-N{\"u}rnberg},
- year = {2004},
- url = {http://www.wi1.uni-erlangen.de/veroeffentlichungen/download/Arbeitsbericht_WI_I_2_2004.pdf}}
-
-@Article{MertensStZe:Benutzermodell03,
- author = {Peter Mertens and M. St{\"o}sslein and Th. Zeller},
- title = {{Benutzermodellierung und Personalisierung in der Wirtschaftsinformatik --- Austrahlung auf Controlling-Anwendungssysteme}},
- year = {2003},
- journal = {Controlling and Management},
- volume = {2},
- pages = {24--29}}
-
-@TECHREPORT{vanBenthemJutting:tipts90,
- author = {L. S. {van Benthem Jutting}},
- title = {Typing in Pure Type Systems},
- institution = {Department of Computer Science, University of Nijmegen},
- year = {1990},
- address = {Nijmegen, \NETHERLANDS}}
-
-@ARTICLE{deVega:bumm95,
- author = {{de Vega}, M.},
- title = {Backward updating of mental models during continuous reading of narratives},
- journal = {Journal of Experimental Psychology: Learning, Memory, and Cognition},
- year = {1995},
- volume = {21},
- pages = {373--385}}
-
-
-
-@INCOLLECTION{DeBruijn:tmv94,
- author = {de Bruijn, Nicolaas Govert},
- title = {The Mathematical Vernacular, A Language for Mathematics with Typed Sets},
- booktitle = {Selected Papers on Automath},
- publisher = {Elsevier},
- year = {1994},
- editor = {Nederpelt, R. P and J. H. Geuvers and R. C. {de Vrijer}},
- volume = {133},
- series = {Studies in Logic and the Foundations of Mathematics},
- pages = {865 -- 935}}
-
-@INPROCEEDINGS{DeBruijn-70-a,
- author = {de Bruijn, Nicolaas Govert},
- title = {The Mathematical Language \textsc{Automath}, its Usage and some of
- its Extensions},
- booktitle = {Symposium on Automatic Demonstration},
- year = {1970},
- number = {125},
- series = {LNM},
- pages = {29--61},
- publisher = {Springer Verlag}}
-
-@BOOK{vanDijkKin:sdc83,
- title = {Strategies of Discourse Comprehension},
- publisher = {Academic Press},
- year = {1983},
- author = {{van Dijk}, T. A. and Kintsch, W.},
- address = {Orlando, Florida}}
-
-@MISC{URL:Mathdex,
- title = {Mathdex},
- howpublished = {\webpageat\url{http://www.mathdex.com}},
- url = {http://www.mathdex.com},
- note = {\seen Mar 2007},
- key = {Mathdex}}
-
-@MISC{MathWeb:Web,
- author = {The MathWeb group},
- title = {MathWeb.org: Supporting Mathematics on the Web},
- note = {http://www.mathweb.org},
- key = {MathWeb}}
-
-@MISC{MathWebWiki:Web,
- author = {The MathWeb group's Wiki},
- title = {MathWeb.org/Wiki: Supporting Mathematics on the Web},
- note = {http://www.mathweb.org/wiki/},
- key = {MathWebWiki}}
-
-@InCollection{Fensel:omf08,
- author = {Dieter Fensel},
- title = {Foreword},
- crossref = {HeppDeLdeM:omswswsba08},
- pages = {9--11}}
-
-@Book{HeppDeLdeM:omswswsba08,
- editor = {Martin Hepp and De Leenheer, Pieter and de Moor, Aldo and York Sure},
- title = {Ontology Management: Semantic Web, Semantic Web Services, and Business
- Applications},
- booktitle = {Ontology Management: Semantic Web, Semantic Web Services, and Business
- Applications},
- publisher = {Springer Verlag},
- year = 2008,
- series = {Semantic Web and beyond: Computing for Human Experience}}
-
-
-@InCollection{Hepp:Ontologies,
- author = {Martin Hepp},
- title = {Ontologies: State of the Art, Business, Potential, and Grand Challenges},
- booktitle = {Ontology Management: Semantic Web, Semantic Web Services, and Business Applications},
- publisher = {Springer},
- year = 2008,
- editor = {Martin Hepp and Pieter De Leenheer and Aldo de Moor and York Sure},
- chapter = {1},
- pages = {3--22},
- series = {Semantic Web and Beyond: Computing for Human Experience},
- note = {ISBN 978-0-387-69899-1}}
-
-@InCollection{DzborMotta:EngineeringAndCustomizingOntologies,
- author = {Martin Dzbor and Enrico Motta},
- title = {Engineering and Customizing Ontologies: The Human-Computer Challenge in Ontology Engineering},
- booktitle = {Ontology Management: Semantic Web, Semantic Web Services, and Business Applications},
- publisher = {Springer},
- year = 2008,
- editor = {Martin Hepp and Pieter De Leenheer and Aldo de Moor and York Sure},
- chapter = {2},
- pages = {25--57},
- series = {Semantic Web and Beyond: Computing for Human Experience},
- note = {ISBN 978-0-387-69899-1}}
-
-
-
-@MISC{Mozart:Web,
- author = {The Oz group},
- title = {The Mozart Programming System},
- note = {http://www.mozart-oz.org/},
- key = {Mozart}}
-
-@BOOK{Smilauer:ns66,
- title = {Novo{\v c}esk{\'a} skladba},
- publisher = {SPN},
- year = {1966},
- author = {V. {\v S}milauer},
- address = {Praha}}
-
-@INPROCEEDINGS{NewShaSim:eeltm57,
- author = {A. Newell and C. Shaw and H. Simon},
- title = {Empirical explorations with the logic theory machine: A case stdy
- in Heuristics},
- booktitle = {Proceedings of the 1957 Western Joint Computer Conference},
- year = {1957},
- publisher = {McGraw-Hill}}
-
-@InProceedings{Strotmann:ctoo04,
- author = {Andreas Strotmann},
- title = {The Categorial Type of OpenMath Objects},
- crossref = {MKM04},
- pages = {378--392}}
-
-@Article{AbbLeeStr:ocmicakn98,
- author = {John Abbott and Andre van Leeuwen and Andreas Strotmann},
- title = {OpenMath: Communicating Mathematical Information between Co-operating Agents in a Knowledge Network},
- journal = {Journal of Intelligent Systems},
- year = 1998,
- volume = 8}
-
-@TECHREPORT{AbLeSt:oom96,
- author = {J. Abbot and A. van Leeuwen and A. Strotmann},
- title = {{Objectives} of {OpenMath}},
- institution = {RIACA},
- year = {1996},
- number = {12},
- address = {Technische Universiteit Eindhoven, \NETHERLANDS},
- month = jun}
-
-@ARTICLE{AbLeSt95,
- author = {J. Abbot and A. van Leeuwen and A. Strotmann},
- title = {{Objectives} of {OpenMath}},
- journal = {Journal of Symbolic Computation},
- year = {1995},
- volume = {11}}
-
-@INPROCEEDINGS{ahb96:tfolqtd,
- author = {Serge Abiteboul and Laurent Herr and Jan Van den Bussche},
- title = {{Temporal} versus {First}-{Order} {Logic} to {Query} {Temporal} {Databases}},
- booktitle = {ACM Symposium on Principles of Database Systems},
- year = {1996},
- pages = {49--57},
- publisher = {ACM Press}}
-
-@INPROCEEDINGS{AFV96,
- author = {Michele Abrusci and Christophe Fouquer{\'e} and Jacqueline Vauzeilles},
- title = {Tree adjoining grammar and non-commutative linear logic},
- crossref = {LACL96}}
-
-@online{HHA:RDFaTutorial08,
- author = {Michael Hausenblas and Ivan Herman and Ben Adida},
- year = 2008,
- type = {ISWC08 Tutorial},
- title = {{RDFa} -- Bridging the Web of Documents and the Web of Data},
- url = {http://www.w3.org/2008/Talks/1026-ISCW-RDFa/},
- urldate = {2009-11-26}}
-
-@misc{Wiedijk:tdbf,crossref={Wiedijk:tdbf:base},
- howpublished = {web page at \url{http://www.cs.ru.nl/~freek/factor/}}}
-@online{Wiedijk:tdbf:on,crossref={Wiedijk:tdbf:base},
- urldate = {2013-03-07},
-}
-@misc{Wiedijk:tdbf:base,
- author = {Freek Wiedijk},
- title = {The ``{de Bruijn} factor''},
- url = {http://www.cs.ru.nl/~freek/factor/},
- date = {2012-03-01},
- year = 2012}
-
-@ARTICLE{AlbOBr:umm93,
- author = {Albrecht, J. E. and {O'Brien}},
- title = {Updating a mental model: {Maintaining} both local and globalcoherence},
- journal = {{Journal of Experimental Psychology: Learning, Memory, and Cognition}},
- year = {1993},
- volume = {19},
- pages = {1061--1070}}
-
-@ARTICLE{AlcGarMak:ltc85,
- author = {C. Alchourron and P. Gardenfors and D. Makinson},
- title = {On the Logic of Theory Change},
- journal = {Journal of Symbolic Logic},
- year = {1985},
- volume = {50},
- pages = {510--530}}
-
-@BOOK{Allen:nlu95,
- title = {Natural Language Understanding},
- publisher = {Benjamin/Cummings},
- year = {1995},
- author = {James Allen},
- keywords = {lamapunbibs},
- edition = {2.}}
-
-@BOOK{Allen:nlu87,
- title = {Natural Language Understanding},
- publisher = {Pbencum},
- year = {1987},
- author = {James Allen},
- keywords = {lamapunbibs},
- address = {Menlo Park}}
-
-@TECHREPORT{AllBick:fdl02,
- author = {Stuart Allen and Mark Bickford and Robert Constable and Richard Eaton
- and Christoph Kreitz and Lori Lorigo},
- title = {{FDL}: A Prototype Formal Digital Library -- Description and Draft
- Reference Manual},
- institution = {Computer Science, Cornell},
- year = {2002},
- url = {http://www.cs.cornell.edu/Info/Projects/NuPrl/html/FDLProject/02cucs-fdl.pdf}}
-
-@INCOLLECTION{IntelligentOnlineKnowledgeResources,
- author = {Heidrun Allert and Hadhami Dhraief and Wolfgang Nejdl},
- title = {{Intelligent Online Knowledge Resources for Instructional Learning.
- Computer-Supported and Computer-Aided Design for Online Knowledge
- Resources}},
- booktitle = {{Agents of Change}},
- publisher = {Leske {and} Budrich},
- year = {2003},
- editor = {Gabriele Kreutzner, Heidi Schelhowe},
- pages = {147--154}}
-
-@BOOK{Alshawi87,
- title = {Memory and Context for Language Interpretation},
- publisher = {Cambridge University Press},
- year = {1987},
- author = {Hiyan Alshawi},
- address = {Cambridge}}
-
-@INPROCEEDINGS{AlsCro:msi92,
- author = {Alshawi, H and Crouch, R.},
- title = {Monotonic semantic interpretation},
- booktitle = {Proceedings of the 30\textsuperscript{th} {ACL}},
- year = {1992},
- pages = {32--39}}
-
-@INPROCEEDINGS{alshawicrouch92,
- author = {Alshawi, H. and Crouch, R.},
- title = {{Monotonic} {Semantic} {Interpretation}},
- booktitle = {Proceedings of the {ACL}},
- year = {1992},
- pages = {32--39}}
-
-@TECHREPORT{ALF96,
- author = {Thorsten Altenkirch and Veronica Gaspes and Bengt Nordstr{\"o}m and
- Bj{\"o}rn von Sydow},
- title = {A user's guide to {ALF}},
- institution = {Department of Computing Science, G{\"o}teborg/Chalmers University},
- year = {1996}}
-
-@BOOK{ande:enta75,
- title = {Entailment: the {Logic} of {Relevance} and {Necessity}, Vol I},
- publisher = {Princeton University Press},
- year = {1975},
- author = {Anderson, A. R. and Belnap, N. D. Jr.},
- address = {Princeton}}
-
-@ARTICLE{Anderson:actast96,
- author = {John R. Anderson},
- title = {{ACT}---A Simple Theory of Complex Cognition},
- journal = {American Psychologist},
- year = {1996},
- volume = {51},
- pages = {355--365},
- number = {4},
- month = apr}
-
-@BOOK{Anderson:rotm93,
- title = {Rules of the Mind},
- publisher = {Lawrence Erlbaum Associates},
- year = {1993},
- author = {John R. Anderson},
- address = {Hillsdale, NJ}}
-
-@BOOK{Anderson:tacot90,
- title = {The Adaptive Character of Thought},
- publisher = {Lawrence Erlbaum Associates},
- year = {1990},
- author = {John R. Anderson},
- series = {Studies in Cognition},
- address = {Hillsdale, NJ}}
-
-@BOOK{AndersonLebiere:tacot98,
- title = {The Atomic Components of Thought},
- publisher = {Lawrence Erlbaum},
- year = {1998},
- author = {John R. Anderson and Christian Lebiere}}
-
-@MISC{EducationalSemanticWeb,
- author = {T. Anderson and D. Whitelock},
- title = {{The Educational Semantic Web}},
- year = {2004},
- note = {seen 2.1.2005 at www-jime.open.ac.uk/2004}}
-
-@TECHREPORT{AndBen:mlbfpl96,
- author = {H. Andr{\'e}ka and J. van Benthem and I. N{\'e}meti},
- title = {Modal Languages and Bounded Fragments of Predicate Logic},
- institution = {{Institute for Logic, Language and Computation}},
- year = {1996},
- number = {ML-96-03}}
-
-@ARTICLE{An-00-a,
- author = {Andreoli, Jean-Marc},
- title = {Focussing and Proof construction},
- journal = {Annals of Pure and Applied Logic},
- year = {2000},
- volume = {107},
- pages = {131--163},
- number = {1}}
-
-@BOOK{andr:truth86,
- title = {An {Introduction} to {Mathematical} {Logic} and {Type} {Theory}:
- to {Truth} through {Proof}},
- publisher = {Academic Press},
- year = {1975},
- author = {Andrews,P. B.},
- address = {Orlando, Florida}}
-
-@ARTICLE{Andrews:ocahol89,
- author = {Peter B. Andrews},
- title = {{On Connections and Higher Order Logic}},
- journal = {Journal of Automated Reasoning},
- year = {1989},
- volume = {5},
- pages = {257--291}}
-
-@BOOK{Andrews86,
- title = {{An Introduction to Mathematical Logic and Type Theory: To Truth
- Through Proof}},
- publisher = {Academic Press},
- year = {1986},
- author = {Peter B. Andrews}}
-
-@Book{Andrews02,
- author = {Peter B. Andrews},
- title = {An Introduction to Mathematical Logic and Type Theory: To Truth Through
- Proof},
- publisher = {Kluwer Academic Publishers},
- year = 2002,
- edition = {second}}
-
-@online{bugzilla:on,
- crossref = {bugzilla:base},
- urldate = {2009-10-27}}
-
-@Misc{bugzilla:URL,
- howpublished = {\webpageat\url{http://www.bugzilla.org}},
- year = {\seen 2005},
- crossref = {bugzilla:base}}
-
-@misc{bugzilla:base,
- key = {Bugzilla},
- title = {Bugzilla},
- url = {http://www.bugzilla.org}}
-
-
-@Misc{deskzilla:URL,
- key = {DeskZilla},
- title = {DeskZilla},
- howpublished = {\webpageat\url{http://www.deskzilla.com}},
- url = {http://www.deskzilla.com},
- year = {\seen 2005}}
-
-
-@Misc{Veillard:xsltproc:URL,crossref={Veillard:xsltproc:base},
- howpublished = {System Home page at \url{http://xmlsoft.org/XSLT/xsltproc2.html}}}
-@Misc{Veillard:xsltproc:base,
- key = {xsltproc},
- author = {Daniel Veillard},
- title = {The XSLT C library for Gnome; The xsltproc tool},
- url = {http://xmlsoft.org/XSLT/xsltproc2.html}}
-
-@Misc{Veillard:libxml2:online,crossref={Veillard:libxml2:base},urldate={2011-07-11}}
-@Misc{Veillard:libxml2,crossref={Veillard:libxml2:base},
- howpublished = {System Home page at \url{http://xmlsoft.org}}}
-@Misc{Veillard:libxml2:base,
- key = {libxml2},
- author = {Daniel Veillard},
- title = {The {XML} C parser and toolkit of Gnome; libxml},
- url = {http://xmlsoft.org}}
-
-@Misc{Tobin:RXP,
- key = {RXP},
- author = {Richard Tobin},
- title = {RXP -- an {XML} parser available under the {GPL}},
- howpublished = {System Home page at \url{http://www.cogsci.ed.ac.uk/~richard/rxp.html}},
- url = {http://www.cogsci.ed.ac.uk/~richard/rxp.html}}
-
-@Misc{Mojolicious,
- author={Sebastian Riedel},
- title={Mojolicious - Perl real-time web framework},
- howpublished = {System homepage at \url{http://mojolicio.us/}}}
-
-
-@Misc{Marpa,
- author={Jeffrey Kegler},
- title={Marpa, A Practical General Parser},
- howpublished = {System homepage at \url{http://jeffreykegler.github.com/Marpa-web-site/}}}
-
-@Book{Vlist:rng03,
- author = {Vlist, Eric van der},
- title = {{Relax NG}},
- publisher = {O'Reilly},
- year = 2003}
-
-@Misc{Lennox04,
- author = {Richard Lennox},
- title = {Development of an {RDF/XML} based data model for bibliographic data},
- howpublished = {Dissertation for Bachelor of Science in Computer Science},
- year = 2004,
- note = {http://richardlennox.net/dissertation.pdf}}
-@InProceedings{icce05,
- author = {Georgi Goguadze and Gonz{\'a}lez Palomo, Alberto and Erica Melis},
- title = {Interactivity of Exercises in ActiveMath},
- booktitle = {International Conference on Computers in Education (ICCE)},
- year = 2005,
- address = {Singapore},
-
- projects = {iClass, LeActiveMath}}
-
-@Misc{URL:omsoc,
- key = {OM Society},
- title = {{\openmath}},
- howpublished = {\webpageat\url{http://www.openmath.org}},
- url = {http://www.openmath.org}}
-
-@online{riaca-openmath:on,
- urldate = {2009-10-22},
- crossref = {riaca-openmath:base}}
-
-@Misc{URL:riaca-openmath,
- howpublished = {\webpageat\url{http://www.riaca.win.tue.nl/projects/openmath/}},
- crossref = {riaca-openmath:base}}
-
-@Misc{riaca-openmath:base,
- key = {RIACA OpenMath products},
- title = {{RIACA OpenMath products}},
- institution = {RIACA},
- url = {http://www.riaca.win.tue.nl/projects/openmath/}}
-
-@Misc{URL:roml,
- key = {ROML},
- title = {{ROML, The RIACA {\openmath} Library}},
- howpublished = {\webpageat\url{http://crystal.win.tue.nl/download/}},
- url = {http://crystal.win.tue.nl/download/}}
-
-
-
-@TechReport{LeAMD7,
- author = {Arjeh Cohen and Hans Cuypers and Dorina Jibetean and Mark Spanbroek},
- title = {{LeActiveMath} Exercise Language},
- year = {2004},
- month = dec,
- institution = {{LeActiveMath Consortium}},
- type = {{Deliverable}},
- number = {{D7}},
- url = {http://www.leactivemath.org/deliverables/D7_Exercise_Language.pdf}}
-
-@inproceedings{LibbrechtG06,
- author = {Paul Libbrecht and
- Christian Gross},
- title = {Authoring LeActiveMath Calculus Content},
- booktitle = {MKM},
- year = {2006},
- pages = {251--265},
- ee = {http://dx.doi.org/10.1007/11812289_20},
- crossref = {DBLP:conf/mkm/2006},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-
-
-@InProceedings{Ullrich-TutorialPlanningYRT-AIED-2005,
- author = {C. Ullrich},
- title = {Tutorial Planning: Adapting Course Generation to Today's Needs},
- booktitle = {Young Researcher Track Proceedings of 12\textsuperscript{th} International Conference on Artificial Intelligence in Education},
- pages = {155--160},
- year = 2005,
- editor = {M. Grandbastian},
- address = {Amsterdam}}
-
-@InProceedings{Ullrich-InstructionalOntology-ISWC-2004,
- author = {C. Ullrich},
- title = {Description of an Instructional Ontology and its Application in Web Services for Education},
- booktitle = {Poster Proceedings of the 3\textsuperscript{rd} International Semantic Web Conference, ISWC2004},
- pages = {93--94},
- year = 2004,
- address = {Hiroshima, Japan}}
-
-@Article{Conejo-Siette-IJAIED-04,
- author = {R. Conejo and E. Guzman and E. Millan and M. Trella and J. L. Perez-de-la-Cruz and A. Rios},
- title = {{SIETTE: A Web-Based Tool for Adaptive Teaching}},
- year = {2004},
- journal = {International Journal of Artificial Intelligence in Education (IJAIED 2004)},
- volume ={14},
- pages={29--61}
- }
-
-@techreport{lom3_6,crossref={IEEE-1484.12.1-LOM}}
-@techreport{IEEE-1484.12.1-LOM,
- author = {{IEEE Learning Technology Standards Committee}},
- title = {Standard for {Learning} {Object} {Metadata}},
- institution = {IEEE},
- number = {1484.12.1},
- year = {2002}}
-
-@techreport{IEEE-1484.12.4-LOM-RDF,
- author = {{IEEE Learning Technology Standards Committee}},
- title = {Standard for {Resource} {Description} {Framework} ({RDF}) binding for {Learning} {Object} {Metadata} data model},
- institution = {IEEE},
- number = {1484.12.4},
- year = {2002}}
-
-@Book{bloom56,
- editor = {B. S. Bloom},
- title = {Taxonomy of educational objectives: The
- classification of educational goals: {Handbook I}, cognitive domain},
- publisher = {Longmans, Green},
- year = 1956,
- address = {New York, Toronto}}
-
-@Misc{URL:jsp,
- key = {JSP},
- title = {{JavaServer Pages}},
- howpublished = {\webpageat\url{http://java.sun.com/products/jsp}},
- url = {http://java.sun.com/products/jsp}}
-
-@online{monet:on,
- crossref = {monet:base},
- urldate = {2010-07-15}}
-
-@Misc{URL:monet,
- howpublished = {\webpageat\url{http://monet.nag.co.uk}},
- crossref = {monet:base}}
-
-@Misc{monet:base,
- key = {Monet},
- title = {{MONET -- Mathematics on the net}},
- url = {http://monet.nag.co.uk}}
-
-@Misc{Mozart:URL,
- key = {Mozart},
- title = {The {Mozart} Programming System},
- howpublished = {\url{http://www.mozart-oz.org}},
- url = {http://www.mozart-oz.org}}
-
-
- @Misc{www-math-mailinglists:URL,
- key = {WWW-Math Mailing Lists},
- title = {{www-math} Mailing Lists},
- note = {\seen May 2008},
- url = {http://www.nabble.com/w3.org---www-math-f11705.html},
- howpublished = {\url{www-math-request@w3.org}, \url{http://www.nabble.com/w3.org---www-math-f11705.html}}}
-@Misc{scala-mailinglists:URL,
- key = {Scala Mailing Lists},
- title = {{Scala} Mailing Lists},
- note = {\seen May 2008},
- url = {http://www.scala-lang.org/community/index.html},
- howpublished = {\url{scala-user@listes.epfl.ch}, \url{http://www.scala-lang.org/community/index.html}}}
-
-@Misc{MBase-Demo:URL,
- key = {MBase},
- title = {MBase},
- howpublished = {\url{http://mbase.mathweb.org:8000}},
- url = {http://mbase.mathweb.org:8000}}
-
-@Misc{AuthoringComments:URL,
- author = {Paul Libbrecht},
- title = {Authoring OMDocs for ActiveMath},
- howpublished = {\url{http://www.activemath.org/~paul/AuthoringComments/}},
- url = {http://www.activemath.org/~paul/AuthoringComments/}}
-
-
-@article{Sutcliffe98,
- author = "Sutcliffe, G. and Suttner, C.",
- title = "The {TPTP} Problem Library: {CNF} Release v1.2.1",
- journal = "Journal of Automated Reasoning",
- year=1998,
- volume=21,
- number=2,
- pages = "177--203"}
-
-@article{Sutcliffe:TPTP09,
- author = "Geoff Sutcliffe",
- title = "The {TPTP} Problem Library and Associated Infrastructure: The {FOF} and {CNF} Parts, v3.5.0",
- journal = "Journal of Automated Reasoning",
- year=2009,
- volume=43,
- number=4,
- pages = "337--362"}
-
-@article{Sutcliffe01,
- author = "Sutcliffe, G.",
- title = "The {CADE}-17 {ATP} System Competition",
- journal = "Journal of Automated Reasoning",
- year=2001,
- volume=27,
- number=3,
- pages = "227--250"}
-
-@ARTICLE{GoguenBurstall92,
- AUTHOR = "J. A. Goguen and R. M. Burstall",
- JOURNAL = "Journal of the Association for Computing Machinery",
- VOLUME = 39,
- PAGES = {95--146},
- NOTE = {Predecessor in: LNCS 164, 221--256, 1984.},
- YEAR = 1992}
-
-@book{Schneider04,
- author = "Klaus Schneider",
- title = "Verification of Reactive Systems",
- publisher = "Springer Verlag",
- year = 2004}
-
-
-@article{VSE00,
- author = {Autexier, S. and Hutter, D. and Langenstein, B. and Mantel, H. and Rock, G. and Schairer, A. and Stephan, W. and Vogt, R. and Wolpers, A.},
- title = {VSE: Formal methods meet industrial needs},
- journal = {International Journal on Software Tools for Technology Transfer, Special issue on Mechanized Theorem Proving for Technology},
- volume = {3},
- number = {1},
- publisher = {Springer},
- month = sep,
- year = {2000}}
-
-@INCOLLECTION{Meseguer89,
-AUTHOR = "J. Meseguer",
-TITLE = "General Logics",
-BOOKTITLE = "Logic Colloquium 87",
-PAGES = {275--329},
-PUBLISHER = "North Holland",
-YEAR = 1989}
-
-@inproceedings{kaufmann96acl,
- author = "M. Kaufmann and J S. Moore",
- title = "{ACL2}: An Industrial Strength Version of {Nqthm}",
- booktitle = "Compass'96: Eleventh Annual Conference on Computer Assurance",
- publisher = "National Institute of Standards {and} Technology",
- address = "Gaithersburg, Maryland",
- pages = "23",
- year = "1996",
- url = "citeseer.nj.nec.com/article/kaufmann96acl.html" }
-
-@book(NQTHM,
- author = "R. S. Boyer and J S. Moore",
- title = "A Computational Logic.",
- series = "ACM monograph series.",
- publisher = "Academic Press, New York",
- year = "1979")
-
-@inproceedings(pub507,
- key = "Bundy @i<et al>",
- author = "Bundy, A. and van Harmelen, F. and Horn, C. and
- Smaill, A.",
- title = "The {Oyster-Clam} system",
- booktitle = "10\textsuperscript{th} International Conference on Automated
- Deduction",
- publisher = "Springer-Verlag",
- editor = "Stickel, M. E.",
- pages = "647--648",
- year = 1990,
- note = "LNAI
- No. 449. Also available from Edinburgh as DAI
- Research Paper 507."
-)
-
-@TECHREPORT{Mossakowski:hug06,
- author = {Till Mossakowski and Christian Maeder and Mihai Codescu},
- title = {Hets User Guide},
- version = {0.98},
- institution = {DFKI Bremen},
- year = {2013},
- date = {2013-03-05},
- url = {http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/UserGuide.pdf},
-}
-
-@unpublished{Hets06,
- Author = {T. Mossakowski and Christian Maeder and Klaus
- L{\"u}ttich and Stefan W{\"o}lfl},
- Title = {The heterogeneous tool set},
- Note = {Submitted for publication}}
-
-@ARTICLE{Andrews:tpvgm81,
- author = {Peter B. Andrews},
- title = {Theorem Proving via General Matings},
- journal = {Journal of the Association for Computing Machinery},
- year = {1981},
- volume = {28},
- pages = {193--214},
- number = {2},
- month = apr}
-
-@ARTICLE{Andrews:RbM76,
- author = {Peter B. Andrews},
- title = {Refutations by Matings},
- journal = {IEEE Trans. Comp.},
- year = {1976},
- volume = {C-25},
- pages = {801--807},
- number = {8}}
-
-@ARTICLE{Andrews:ratcoa74,
- author = {Peter B. Andrews},
- title = {Resolution and the Consistency of Analysis},
- journal = {Notre Dame Journal of Formal Logic},
- year = {1974},
- volume = {15},
- pages = {73--84},
- number = {1}}
-
-@MISC{Andrews73,
- author = {Peter B. Andrews},
- year = {1973},
- note = {letter to Roger Hindley dated January 22, 1973}}
-
-@ARTICLE{Andrews:gmae72,
- author = {Peter B. Andrews},
- title = {General Models and Extensionality},
- journal = {Journal of Symbolic Logic},
- year = {1972},
- volume = {37},
- pages = {395--397},
- number = {2}}
-
-@ARTICLE{Andrews:gmdacitt72,
- author = {Peter B. Andrews},
- title = {General Models Descriptions and Choice in Type Theory},
- journal = {Journal of Symbolic Logic},
- year = {1972},
- volume = {37},
- pages = {385--394},
- number = {2}}
-
-@ARTICLE{Andrews71,crossref={Andrews:ritt71}}
-@ARTICLE{Andrews:ritt71,
- author = {Peter B. Andrews},
- title = {Resolution in Type Theory},
- journal = {Journal of Symbolic Logic},
- year = {1971},
- volume = {36},
- pages = {414--432},
- number = {3}}
-
-@BOOK{Andrews65,
- title = {A Transfinite Type Theory with Type Variables},
- publisher = {North Holland Publishing Company},
- year = {1965},
- author = {Peter B. Andrews},
- series = {North Holland Series on Logic and the Foundations of Mathematics}}
-
-@ARTICLE{AnBi:tatps96,
- author = {Peter B. Andrews and Matthew Bishop and Sunil Issar and Dan Nesmith
- and Frank Pfenning and Hongwei Xi},
- title = {{TPS: A} Theorem-Proving System for Classical Type Theory},
- journal = {Journal of Automated Reasoning},
- year = {1996},
- volume = {16},
- pages = {321--353}}
-
-@ARTICLE{andrews:tatpsfctt96,
- author = {Peter B. Andrews and Matthew Bishop and Sunil Issar and Dan Nesmith
- and Frank Pfenning and Hongwei Xi},
- title = {{TPS}: A Theorem Proving System for Classical Type Theory},
- journal = { Journal of Automated Reasoning},
- year = {1996},
- volume = {16},
- pages = {321--353},
- number = {3}}
-
-@ARTICLE{AnCo:ahol84,
- author = {Peter B. Andrews and Eve Longini-Cohen and Dale Miller and Frank
- Pfenning},
- title = {Automating Higher Order Logics},
- journal = {Contemp. Math},
- year = {1984},
- volume = {29},
- pages = {169--192},
- old-key = {AnCo84}}
-
-@BOOK{AounLi:sos93,
- title = {Syntax of scope},
- publisher = {The MIT Press},
- year = {1993},
- author = {Aoun, J. and Y. Li},
- address = {Cambridge}}
-
-@TECHREPORT{AppByr:DOM98,
- author = {Vidur Apparao and Steve Byrne and Mike Champion and Scott Isaacs
- and Ian Jacobs and Arnaud Le Hors and Gavin Nicol and Jonathan Robie
- and Robert Sutor and Chris Wilson and Lauren Wood},
- title = {{Document Object Model} ({DOM}) Level 1 Specification},
- institution = {World Wide Web Consortium (W3C)},
- year = {1998},
- type = {{W3C} Recommendation},
- number = {REC-DOM-Level-1},
- url = {http://www.w3.org/TR/REC-DOM-Level-1},
- key = {Apparao}}
-
-@ARTICLE{AraBau:areavdd00,
- author = {Chandrabose Aravindan and Peter Baumgartner},
- title = {Theorem proving techniques for view deletion in databases},
- journal = {Journal of Symbolic Computation},
- year = {2000},
- volume = {29},
- pages = {119 -- 147},
- number = {2}}
-
-@INPROCEEDINGS{ArmandoMelisRanise98,
- author = {A. Armando and E. Melis and S. Ranise},
- title = {Constraint Solving in Logic Programming and in Automated Deduction:
- a Comparison},
- booktitle = {Artificial Intelligence: Methodology, Systems, Applications (AIMSA'98).
- Proceedings of the 8\textsuperscript{th} Conference AIMSA'98},
- year = {1998},
- series = {LNAI},
- number = {1480},
- pages = {28--38},
- publisher = {Springer},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/ArmandoMelisRanise98.ps.gz}}
-
-@INPROCEEDINGS{ArSmGa:atsodpiacm96,
- author = {Armando, A. and Smaill, A. and Gallagher, J.},
- title = {Automating the Synthesis of Decision Procedures in a Constructive
- Metatheory},
- booktitle = {Proceedings of AI/MATH-96},
- year = {1996},
- address = {Florida},
- note = {Extended version submitted to the Annals of Mathematics and Artificial
- Intelligence}}
-
-@INPROCEEDINGS{ArmZin:timrs00,
- author = {Armando, Alessandro and Zini, Daniele},
- title = {{Towards Interoperable Mechanized Reasoning Systems: the Logic Broker
- Architecture}},
- booktitle = {Proc. of the AI*IA-TABOO Joint Workshop `From Objects to Agents:
- Evolutionary Trends of Software Systems'},
- year = {2000},
- editor = {Poggi, A.},
- address = {Parma, Italy},
- month = may # {~29--30}}
-
-@BOOK{Asher:rtaoid93,
- publisher = {Kluwer},
- year = {1993},
- author = {Nick Asher},
- address = {Dordrecht}}
-
-@ARTICLE{ashe:dete87,
- author = {Asher, N. and Bonevac, D.},
- title = {Determiners and {Resource} {Situations}},
- journal = {Linguistics and Philosophy},
- year = {1987},
- volume = {10},
- pages = {567--596}}
-
-@ARTICLE{ashe:exte85,
- author = {Asher, N. and Bonevac, D.},
- title = {How {Extensional} is {Extensional} {Perception}?},
- journal = {Linguistics and Philosophy},
- year = {1985},
- volume = {8},
- pages = {203--228}}
-
-
-
-@TECHREPORT{AsLo85,
- author = {A. Asperti and Gl Longo},
- title = {Categories of partial morphisms and the relation between type-structures},
- institution = {Dipartimiento de Informatica, Universita di Pisa},
- year = {1985},
- type = {Technical Report},
- number = {S-7-85},
- note = {beschaffen},
- keywords = {PartialFuncs}}
-
-@INPROCEEDINGS{AsCe89,
- author = {E. Astesian and M. Cerioli},
- title = {On the existence of initial models for partial (higher-order) conditional
- specifications},
- booktitle = {Proc TAPSOFT 89},
- year = {1989},
- number = {351},
- series = {LNCS},
- pages = {74--88},
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{auer05:powl,
- author = {S{\"o}ren Auer},
- title = {{pOWL} -- A Web Based Platform for Collaborative Semantic Web Development},
- booktitle = {Proc.\ of 1\textsuperscript{st} Workshop Workshop Scripting for the Semantic Web (SFSW)},
- year = {2005},
- venue = {Hersonissos, Greece},
- eventdate = {2005-05},
- url = {http://www.semanticscripting.org/SFSW2005/papers/Auer-Powl.pdf}}
-
-@INPROCEEDINGS{aumueller05:shawn,
- author = {David Aum{\"u}ller},
- title = {{SHAWN}: {Structure} {Helps} a {Wiki} {Navigate}},
- booktitle = {Proceedings of the {BTW}-Workshop ``{WebDB Meets IR}''},
- year = {2005},
- editor = {W. M{\"u}ller and R. Schenkel},
- month = mar,
- url = {http://dbs.uni-leipzig.de/~david/2005/aumueller05shawn.pdf}}
-
-@inproceedings{aumueller05:wiksar,
- author = {David Aum{\"u}ller and S{\"o}ren Auer},
- title = {Towards a Semantic Wiki Experience -- Desktop Integration and
- Interactivity in {WikSAR}},
- booktitle = { Proc.\ of 1\textsuperscript{st} Workshop on The Semantic Desktop -- Next
- Generation Personal Information Management and Collaboration
- Infrastructure},
- venue = {Galway, Ireland},
- eventdate = {2005-11},
- year = {2005},
- URL = {http://www.semanticdesktop.org/SemanticDesktopWS2005/final/22_aumueller_semanticwikiexperience_final.pdf}}
-
-
-
-
-@INPROCEEDINGS{Aut-01-a,
- author = {Autexier, Serge},
- booktitle = {Proceedings of the $4^{th}$ Workshop on Strategies in Automated Deduction
- (STRATEGIES'01)},
- year = {2001},
- editor = {Bonacina, Maria-Paola and Gramlich, Bernhard},
- volume = {TR DII 10/01},
- pages = {87--99},
- month = jun,
- publisher = {Universit{\'a} degli studi di Siena}}
-
-@PHDTHESIS{Au-03-a,
- author = {Autexier, Serge},
- title = {Hierarchical Contextual Reasoning},
- school = {Fachrichtung Informatik, Universit{\"a}t des Saarlandes, Saarbr{\"u}cken\GERMANY},
- year = {2003}}
-
-@ARTICLE{autexier03:_asser_proof_repres_under_specif,
- author = {Serge Autexier and Christoph Benzm{\"u}ller and Armin Fiedler and
- Helmut Horacek and Bao Quoc Vo},
- title = {Assertion-level Proof Representation with Under-Specification},
- journal = {Electronic Notes in Theoretical Computer Science},
- year = {2003},
- note = {To appear}}
-
-@TECHREPORT{ABH-03-a,
- author = {Serge Autexier and Christoph Benzm{\"u}ller and Dieter Hutter},
- title = {Towards a Framework to Integrate Proof Search Paradigms},
- institution = {Fachrichtung Informatik, Universit{\"a}t des Saarlandes, Saarbr{\"u}cken,
- Germany},
- year = {2003},
- type = {SEKI Report},
- number = {SR-03-02}}
-
-
-
-@TECHREPORT{ViDiGhEvGiJaKaTiTzVi:PsALTtepTaEk,
- author = {G{\'e}raldine Vidou and Rose Dieng-Kuntz and Adil El Ghali and Christina Evangelou and Alain Giboin and St{\'e}phane Jacquemart and Nikos Karacapilidis and Amira Tifous and Manolis Tzagarakis},
- title = {Pedagogically sustained Adaptive LEarning Through the exploitation of Tacit and Explicit knowledge},
- institution = {Palette: Project no. FP6-028038},
- year = {2006},
- type = {Deliverable},
- number = {D.KNO.01},
- url = {http://www-sop.inria.fr/acacia/project/palette/models/D.KNO.01.pdf}}
-
-@INPROCEEDINGS{AH-02-a,
- author = {Autexier, Serge and Hutter, Dieter},
- title = {Maintenance of Formal Software Development by Stratified Verification},
- booktitle = {Proceedings of LPAR'02},
- year = {2002},
- editor = {Baaz, Mathias and Voronkov, Andrei},
- series = {LNCS},
- address = {Tbilissi, Georgia},
- month = sep,
- publisher = {Springer}}
-
-@INPROCEEDINGS{ah02:mfsdsv,
- author = {Serge Autexier and Dieter Hutter},
- title = {{Maintenance} of {Formal} {Software} {Developments} by {Stratified}
- {Verification}},
- booktitle = {Proceedings 9\textsuperscript{th} International Conference on Logic for Programming
- Artificial Intelligence and Reasoning},
- year = {2002},
- series = {LNAI},
- publisher = {Springer-Verlag}}
-
-@InProceedings{ah01:tefsd,
- author = {Dieter Hutter and Axel Schairer},
- title = {Towards an Evolutionary Formal Software Development},
- crossref = {ASE01},
- year = 2001}
-
-@ARTICLE{AutHutLan:VSEfmmin98,
- author = {Serge Autexier and Dieter Hutter and Bruno Langenstein and Heiko
- Mantel and Georg Rock and Axel Schairer and Werner Stephan and Roland
- Vogt and Andreas Wolpers},
- title = {VSE: Formal methods meet industrial needs},
- journal = {International Journal on Software Tools for Technology Transfer,
- Special issue on Mechanized Theorem Proving for Technology, Springer
- Verlag},
- year = {1998}}
-
-@INPROCEEDINGS{AutHut:tefsduc00,
- author = {Serge Autexier and Dieter Hutter and Heiko Mantel and Axel Schairer},
- title = {Towards an Evolutionary Formal Software-Development Using {CASL}},
- booktitle = {Proceedings Workshop on Algebraic Development Techniques, WADT-99},
- year = {2000},
- pages = {73--88},
- editor = {C. Choppy and D. Bert},
- publisher = {Springer Verlag},
- series = {LNCS},
- number= {1827}}
-
-@online{Harrison:hltp11,
- year = {2011},
- author = {John Harrison},
- title = {The HOL Light theorem prover},
- url = {http://www.cl.cam.ac.uk/~jrh13/hol-light/},
- urldate = {2014-12-17}}
-
-@INPROCEEDINGS{AuMo-02-a,
- author = {Autexier, Serge and Mossakowski, Till},
- title = {Integrating {HOL-CASL} into the Development Graph Manager {MAYA}},
- booktitle = {Proceedings of FROCOS'02},
- year = {2002},
- editor = {A. Armando},
- number = {2309},
- series = {LNAI},
- pages = {2--17},
- month = apr,
- publisher = {Springer}}
-
-@PHDTHESIS{Unknown99,
- author = {Unknown Author},
- title = {Unknown Title},
- school = {Worcester College},
- year = {Unknown Year},
- note = {I have a manuscript of the thesis (the author is a student advised
- by Professor Gandy) without a title page.)}}
-
-@TECHREPORT{AvgOli:tposcitcc95,
- author = {Avgustinova, Tania and Karel Oliva},
- title = {The Position of Sentential Clitics in the Czech Clause},
- institution = {University of Saarland},
- year = {1995},
- type = {CLAUS-Report},
- number = {68}}
-
-@INPROCEEDINGS{AitGar:lslc93,
- author = {Hassan A{\"i}t-Kaci and Jacques Garrigue},
- title = {Label-Selective Lambda-Calculus: Syntax and Confluence},
- booktitle = {Proceedings of the 13\textsuperscript{th} International Conference on Foundations of
- Software Technology and Theoretical Computer Science},
- year = {1993},
- number = {761},
- series = {LNCS},
- address = {Bombay, India}}
-
-@ARTICLE{SmoPodAit:afcsflp94,
- author = {Hassan A{\"i}t-Kaci and Andreas Podelski and Gert Smolka},
- title = {A Feature Constraint System for Logic Programming with Entailment},
- journal = {Theoretical Computer Science},
- year = {1994},
- volume = {122},
- pages = {263--283}}
-
-@TECHREPORT{Baeuerle:er87,
- author = {Rainer B{\"a}uerle},
- title = {Ereignisse und {Repr{\"a}sentationen}},
- institution = {IBM Deutschland GmbH},
- year = {1987},
- type = {LILOG-Report},
- number = {43}}
-
-@INCOLLECTION{BaSi94,
- author = {Franz Baader and J{\"o}rg Siekmann},
- title = {Unification Theory},
- booktitle = {Logic in Artificial Intelligence and Logic Programming},
- publisher = {Oxford University Press},
- year = {1994},
- editor = { Dov Gabbay}}
-
-@INCOLLECTION{BaSi:ut94,
- author = {Franz Baader and J{\"o}rg Siekmann},
- title = {Unification Theory},
- booktitle = {Logic in Artificial Intelligence and Logic Programming},
- publisher = {Oxford University Press},
- year = {1994},
- editor = { Dov Gabbay}}
-
-@UNPUBLISHED{BaFe93b,
- author = {Matthias Baaz and Christian G. Ferm{\"u}ller},
- title = {Resolution-Based Theorem Proving for Many-Valued Logics},
- note = {Journal Version\fc},
- year = {1993}}
-
-@INPROCEEDINGS{BaFe93a,
- author = {Matthias Baaz and Christian G. Ferm{\"u}ller and Gerald Quirchmayr and
- Richard Zach},
- title = {A Many-Valued Logic for Defualt Reasoning},
- booktitle = {Proc. of the 8\textsuperscript{th} International Symposion on Computer and Information
- Sciences},
- year = {1993},
- address = {Istambul}}
-
-@TECHREPORT{BaFe92a,
- author = {Matthias Baaz and Christian G. Ferm{\"u}ller and Richard Zach},
- title = {Dual Systems of Sequents and Tableaux for Many-Valued Logics},
- institution = {Technische Universit{\"a}t Wien, Institut f{\"u}r Computersprachen},
- year = {1993},
- type = {Technical Report},
- number = {TUW-E185.2BFZ.2-92},
- note = {Short Version in~\cite{ISMVL93}}}
-
-@TECHREPORT{BaFe93,
- author = {Matthias Baaz and Christian G. Ferm{\"u}ller and Richard Zach},
- title = {Systematic Construction of Natural Deduction systems for Many-Valued
- Logics: Extended Report},
- institution = {Technische Universit{\"a}t Wien, Institut f{\"u}r Computersprachen},
- year = {1993},
- type = {Technical Report},
- number = {TUW-E185.2BFZ.1-93},
- note = {Short Versiom in~\cite{ISMVL93}}}
-
-@ARTICLE{Bach:ae86,
- author = {Bach, E.},
- title = {The algebra of events},
- journal = {Linguistics \& Philosophy},
- year = {1986},
- volume = {9},
- pages = {5--16}}
-
-@INCOLLECTION{BaDe89,
- author = {Leo Bachmair and Nachum Dershowitz and David Plaisted},
- title = {Completion without Failure},
- booktitle = {Resolution of Equations in Algebraic Structures},
- publisher = {Academic Press, INC.},
- year = {1989},
- editor = {H. Ait-Kaci, M. Nivat},
- volume = {2}}
-
-@INPROCEEDINGS{BachmairGanzinger91,
- author = {Bachmair, Leo and Ganzinger, Harald},
- title = {Completion of first-order clauses with equality by strict superposition},
- booktitle = {Conditional and Typed Rewriting Systems : 2\textsuperscript{nd} International CTRS
- Workshop 1990},
- year = {1991},
- editor = {Kaplan, S. and Okada, M. },
- series = {LNCS},
- number = {516},
- pages = {162--180},
- address = {Berlin},
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- idnumber = {P-91-23},
- location = {MPI-ZB}}
-
-@TECHREPORT{BachmairGanzinger97,
- author = {Bachmair, Leo and Ganzinger, Harald},
- title = {Strict basic superposition and chaining},
- institution = {Max-Planck-Institut f{\"u}r Informatik},
- year = {1997},
- type = {Max-Planck-Institut f{\"u}r Informatik : research report},
- address = {Saarbr{\"u}cken},
- bibtype = {TECHREPORT},
- idnumber = {MPI-I-TR-97-2-011},
- isbn = {0946-011X},
- location = {MPI-ZB},
- signature = {Reports: MPI-I-TR-97-2-011},
- status = {available},
- volume = {97-2-011}}
-
-@TECHREPORT{BachmairGanzinger93,
- author = {Bachmair, Leo and Ganzinger, Harald},
- title = {Associative-Commutative Superposition},
- year = {1993},
- type = {Technical Report No.},
- address = {Saarbruecken},
- bibtype = {TECHREPORT},
- dfkinumber = {R:S94-246},
- location = {DFKI Saarbr{\"u}cken},
- publisher = {Max-Planck-Institut fuer Informatik},
- status = {available},
- volume = {MPII-1993-267}}
-
-@INPROCEEDINGS{BaGaLySn:bpas92,
- author = {Leo Bachmair and Harald Ganzinger and Christopher Lynch and Wayne
- Snyder},
- title = {Basic Paramodulation and Superposition},
- pages = {462--476}}
-
-@INPROCEEDINGS{BaGa:bpas92a,
- author = {Leo Bachmair and Harald Ganzinger and Christopher Lynch and Wayne
- Snyder},
- title = {Basic Paramodulation and Superposition},
- year = {1992},
- crossref = {CADE92}}
-
-@TECHREPORT{BachmairGanzingerWaldmann93,
- author = {Bachmair, Leo and Ganzinger, Harald and Waldmann, Uwe},
- title = {Superposition with Simplification as a Decision Procedure for the
- Monadic Class with Equality},
- year = {1993},
- type = {Technical Report No.},
- address = {Saarbruecken},
- bibtype = {TECHREPORT},
- dfkinumber = {R:S94-220},
- location = {DFKI Saarbr{\"u}cken},
- publisher = {Max-Planck-Institut f{\"u}r Informatik},
- status = {available},
- volume = {MPII-1993-204}}
-
-@ARTICLE{BacRogVij:afoaottoft95,
- author = {Ralf Backofen and James Rogers and K. Vijay-Shankar},
- title = {A First-order axiomatisation of the theory of finite trees},
- journal = {Journal of Logic, Language and Information},
- year = {1995}}
-
-@BOOK{BaeRib:mir00,
- title = {Modern Information Retrieval},
- publisher = {Addison-Wesley},
- year = {2000},
- author = {Ricardo Baeza-Yates and Berthier Ribeiro-Neto}}
-
-@BOOK{ModernInformationRetrieval,
- title = {{Modern Information Retrieval}},
- publisher = {Addison-Wesley},
- year = {1999},
- author = {Ricardo Baeza-Yates and Berthier Ribeiro-Neto}}
-
-@INCOLLECTION{Ballauff:Gegensaetze,
- author = {Theodor Ballauff},
- title = {{Gegens{\"a}tze in der modernen Bildungstheorie}},
- booktitle = {{Bildungstheorien}},
- publisher = {Herder},
- year = {1978},
- editor = {J{\"u}ergen-Eckardt Pleines},
- pages = {137--148}}
-
-@INPROCEEDINGS{KnowledgeArtifacts,
- author = {Stefania Bandini and Ettore Colombo and Gianluca Colombo and Fabio
- Sartori and Carla Simone},
- title = {{The Role of Knowledge Artifacts in Innovation Management: The Case
- of a Chemical Compound Designer CoP}},
- pages = {327--345},
- crossref = {ComTech2003}}
-
-@INPROCEEDINGS{KnowledgeSharingInICT,
- author = {Bart v. d. Hooff and Wim Elving and Jan Michiel Meeuwsen and Claudette
- Dumoulin},
- title = {{Knowledge Sharing in Knowledge Communities}},
- pages = {119--141},
- crossref = {ComTech2003}}
-
-@INPROCEEDINGS{Knauf:Storyboarding,
- author = {Klaus Jantke and Rainer Knauf},
- title = {{Didactic Design though Storyboarding: Standard Concepts for Standard Tools.}},
- booktitle = {Proc. of the 4\textsuperscript{th} Winter Internationals Symposiums of Information and Communication Technologies, First International Workshop on Dissemanitation of E-Learning Technologies and Applications},
- pages = {20--25},
- year = {2005},
- address = {Cape Town, South Africa},
- publisher = {Computer Science Press},
- editor = {Beate R. Baltes and Lilian Edwards and Fernando Galindo and Jozef Hvorecky and Klaus P. Jantke and Leon Jololian and Philip Leith and Alta van der Merwe and John Morison and Wolfgang Nejdl and C. V. Ramamoorthy and Ramzi Seker and Burkhard Shaffer and Iouliia Skliarova and Valery Sklyarov and John Waldron}}
-
-@online{olia:on,crossref={olia:base},urldate = {2013-11-09},label={OLiA}}
-@misc{olia:url,crossref={olia:base},
- key = {OLiA},
- howpublished = {\url{http://nachhalt.sfb632.uni-potsdam.de/owl/}},
- note = {seen Nov. 2013}}
-@misc{olia:base,
- title = {{OLiA} Ontologies},
- url = {http://nachhalt.sfb632.uni-potsdam.de/owl/}}
-
-@INPROCEEDINGS{Bala94,
- author = {Bruno G. Bara and Philip N. Johnson-Laird and Vincenzo Lombardo},
- title = {Mental Models in Propositional Reasoning},
- booktitle = {Proceddings of 16\textsuperscript{th} Annual Conference of the Cognitive Science Society},
- year = {1994},
- editor = {Ashwin Ram and Kurt Eiselt},
- pages = {15--20},
- address = {Atlanta, USA},
- publisher = {Lawrence Erlbaum Associates},
- annote = {ISBN 0-8058-1803-0,ISSN 1047-1316}}
-
-@BOOK{Barendregt84,
- title = {The Lambda Calculus},
- publisher = {North Holland},
- year = {1984},
- author = {H. P. Barendregt}}
-
-@BOOK{Barendregt80,
- title = {The Lambda-Calculus: Its Syntax and Semantics},
- publisher = {North-Holland},
- year = {1980},
- author = {Hendrik P. Barendregt}}
-
-@ARTICLE{BaCh84,
- author = {H. Barringer and H. H. Cheng and C. B. Jones},
- title = {A Logic Covering Undefinedness in Program Proofs},
- journal = {Acta Informatica},
- year = {1984},
- volume = {21},
- pages = {251--269},
- keywords = {PartialFuncs},
- location = {beschaffen}}
-
-@ARTICLE{BaCh:alcuip84,
- author = {H. Barringer and J. H. Cheng and C. B. Jones},
- title = {A Logic Covering Undefinedness in Program Proofs},
- journal = {Acta Informatica},
- year = {1984},
- volume = {21},
- pages = {251--269}}
-
-@BOOK{Barrow:HimmelVollerZahlen,
- title = {{Ein Himmel voller Zahlen. Auf den Spuren mathematischer Wahrheiten}},
- publisher = {Rowohlt},
- year = {2002},
- author = {John D. Barrow},
- note = {Original publication 1992 ``Pi in the Sky''}}
-
-@UNPUBLISHED{Bartels:sot95,
- author = {Christine Bartels},
- title = {Second Occurrence Test},
- note = {Ms.}}
-
-@BOOK{BarShe:ira92,
- title = {Introduction to real analysis},
- publisher = {J. Wiley \& Sons},
- year = {1992},
- author = {Bartle, R. and Sherbert, D.},
- address = {New York},
- edition = {2}}
-
-@BOOK{BarShe:itra82,
- title = {Introduction to Real Analysis},
- publisher = {Wiley},
- year = {1982},
- author = {Robert G. Bartle and Donald Sherbert},
- edition = {2}}
-
-@INPROCEEDINGS{barton85,
- author = {E. Barton and R. Berwick},
- title = {Parsing with assertion sets and information monotonicity},
- booktitle = {Proceedings of the ninth International Joint Conference on Artificial
- Intelligence},
- year = {1985}}
-
-@BOOK{barw:situ89,
- title = {The {Situation} in {Logic}},
- publisher = {CSLI},
- year = {1989},
- author = {Barwise, J. },
- address = {Stanford, CA}}
-
-@ARTICLE{barw:scen81,
- author = {Barwise, J.},
- title = {Scenes and {Other} {Situations}},
- journal = {Journal of Philosophy},
- year = {1981},
- volume = {78},
- pages = {369--397},
- note = {reprinted in \cite{barw:situ89}}}
-
-@ARTICLE{barw:axio74,
- author = {Barwise, J.},
- title = {Axioms for {Abstract} {Model} Theory},
- journal = {Annals of Mathematical Logic},
- year = {1974},
- volume = {7},
- pages = {221--265}}
-
-@Article{BarCoo:gqnl81,crossref={BarCoo:gqanl81}}
-@ARTICLE{BarCoo:gqanl81,
- author = {John Barwise and Robin Cooper},
- title = {Generalized quantifiers and natural language},
- journal = {Linguistics and Philosophy},
- keywords = {lamapunbibs},
- year = {1981},
- volume = {4},
- pages = {159--219}}
-
-@ARTICLE{barw:gene81,
- author = {Barwise, J. and Cooper, R.},
- title = {Generalized {Quantifiers} and {Natural} {Language}},
- journal = {Linguistics and Philosophy},
- year = {1981},
- volume = {4},
- pages = {159--219}}
-
-@ARTICLE{barw:shif85,
- author = {Barwise, J. and Perry, J.},
- title = {Shifting {Situations} and {Shaken} {Attitudes}},
- journal = {Linguistics and Philosophy},
- year = {1985},
- volume = {8},
- pages = {103--161}}
-
-@BOOK{barw:situ83,
- title = {Situations and {Attitudes}},
- publisher = {MIT Press},
- year = {1983},
- author = {Barwise, J. and Perry, J.},
- address = {Cambridge, Massachusetts}}
-
-@TECHREPORT{Bateman:ktkpmd94,
- author = {John Bateman},
- title = {{KPML}: The {KOMET}-{Penman} (Multilingual) Development Environment},
- institution = {IPSI, GMD},
- year = {1994},
- address = {Darmstadt}}
-
-@TECHREPORT{BatemanEtAl:agookf90,
- author = {John A. Bateman and Robert T. Kasper and Johanna D. Moore and Richard
- A. Whitney},
- title = {A General Organization of Knowledge for Natural Language Processing:
- the {Penman} Upper Model},
- keywords = {lamapunbibs},
- institution = {University of Southern California, Information Science Institute},
- year = {1990}}
-
-@INPROCEEDINGS{Battle06:gloze,
- author = {Steve Battle},
- title = {{Gloze: XML to RDF and back again}},
- booktitle = {Jena User Conference},
- year = {2006},
- month = may,
- url = {http://jena.hpl.hp.com/juc2006/proceedings.html}}
-
-@ARTICLE{BaClZh:aectpsc98,
- author = {A. Bauer and E. Clarke and X. Zhao},
- title = {{Analytica --- an Experiment in Combining Theorem Proving and Symbolic
- Computation}},
- journal = {Journal of Automated Reasoning},
- year = {1998},
- volume = {21},
- pages = {295--325},
- number = {3}}
-
-@MASTERSTHESIS{Bauer:isar99,
- author = {Gertrud Bauer},
- title = {{Lesbare} formale {Beweise} in {Isabelle}/{Isar} --- der {Satz} von
- {Hahn}-{Banach}},
- school = {TU M{\"u}nchen\GERMANY},
- year = {1999}}
-
-@BOOK{BauGre:ssc70,
- title = {Skladba spivosn{\'e} {\v c}e{\v s}tiny},
- publisher = {SPN},
- year = {1970},
- author = {J. Bauer and M. Grepl},
- address = {Praha}}
-
-@MISC{Baumgartner:fdpll00,
- author = {Peter Baumgartner},
- title = {{FDPLL -- A First-Order Davis-Putnam-Logeman-Loveland Procedure}},
- note = {Submitted},
- url = {http://www.uni-koblenz.de/~peter/FDPLL/FDPLLshort.ps}}
-
-@INPROCEEDINGS{BauFurNie:ht96,
- author = {Peter Baumgartner and Ulrich Furbach and Ilkka Niemel{\"a}},
- title = {{Hyper Tableaux}},
- booktitle = {Proc. JELIA 96},
- year = {1996},
- number = {1126},
- series = {LNAI},
- organization = {European Workshop on Logic in AI},
- publisher = {Springer},
- url = {http://www.uni-koblenz.de/~peter/Publications/tableaux-jelia-llncs.ps.gz}}
-
-@INPROCEEDINGS{BauKue:acbmc99,
- author = {Peter Baumgartner and Michael K{\"u}hn},
- title = {Abducing coreference by model construction},
- booktitle = {Proceedings of Inference in Computational Semantics},
- year = {1999},
- editor = {Christof Monz and Maarten de Rijke},
- pages = {21--39},
- address = {Amsterdam}}
-
-@ARTICLE{BauKue:acbmc00,
- author = {Peter Baumgartner and Michael K{\"u}hn},
- title = {{Abducing Coreference by Model Construction}},
- journal = {Journal of Language and Computation},
- year = {2000},
- volume = {1},
- pages = {175--190},
- number = {2},
- publisher = {Hermes Science Publishers}}
-
-@MASTERSTHESIS{Baur:susmt99,
- author = {Judith Baur},
- title = {Syntax und Semantik mathematischer Texte -- ein Prototyp},
- school = {Fachrichtung Computerlinguistik, Universit{\"a}t des Saarlandes},
- year = {1999},
- address = {Saarbr{\"u}cken\GERMANY}}
-
-@ARTICLE{Baxter78,
- author = {L. D. Baxter},
- title = {The Undecidability of the Third Order Dyadic Unification Problem},
- journal = {Information and Control},
- year = {1978},
- volume = {38},
- number = {2}}
-
-@PHDTHESIS{Beaver:paaids95,
- author = {David Beaver},
- title = {Presupposition and Assertion in dynamic Semantics},
- school = {University of Edinburgh},
- year = {1995}}
-
-@INPROCEEDINGS{BG96,
- author = {Denis Bechet and Philippe de Groote},
- title = {Constructing different phonological brackettings from a proof net},
- crossref = {LACL96},
- year = {1996}}
-
-@ARTICLE{BePo:ltbd95,
- author = {Bernhard Beckert and Joachim Posegga},
- title = {{Lean, Tableau-based Deduction}},
- journal = {Journal of Automated Reasoning},
- year = {1995},
- volume = {15},
- pages = {339--358},
- number = {3}}
-
-@INPROCEEDINGS{beckett04:modernising-semweb-markup,
- author = {Dave Beckett},
- title = {Modernising Semantic Web Markup},
- booktitle = {XML Europe},
- eventdate = {2004-04-18/2004-04-21},
- year = {2004},
- venue = {Amsterdam, The Netherlands},
- institution = {{Institute for Learning and Research Technology (ILRT), University
- of Bristol}},
- url = {http://www.dajobe.org/papers/xmleurope2004/}}
-
-@techreport{w3c:turtle,
- author = {David Beckett and Tim Berners-Lee},
- title = {Turtle -- Terse {RDF} Triple Language},
- year = 2008,
- month= jan,
- date = {2008-01-04},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Team Submission},
- url = {http://www.w3.org/TeamSubmission/2008/SUBM-turtle-20080114/}}
-
-@MISC{beckett06:turtle,
- author = {Dave Beckett},
- title = {Turtle -- Terse {RDF} Triple Language},
- year = 2007,
- month= nov,
- url = {http://www.dajobe.org/2004/01/turtle/}}
-
-@MISC{LivDoc,
- author = {Karsten Krutz and Christian Maier and Sebastian Abeck},
- title = {Living Documents: Flexibles Lernmedium f{\"u}r innovative Lernszenarien},
- year = {2006},
- institution = {{Cooperation and Management, Institut f{\"u}r Telematik, Universit{\"a}t Karlsruhe (TH)}}}
-
-@ARTICLE{VirtLab,
- author = {Sabina Jeschke and Thomas Richter and Ruedi Seiler},
- title = {{Konzepte Intelligenter Assistenten In Virtuellen Laboren f{\"u}r Mathematik}},
- crossref = {LNI05}}
-
-@BOOK{LNI05,
- title = {Lecture Notes in Informatics},
- publisher = {Bonner K{\"o}llen Verlag},
- year = {2005},
- editor = {Armin B. Cremers and Rainer Manthey and Peter Martini and Volker Steinhage }}
-
-
-@BOOK{Beeson85,
- title = {Foundations of Constructive Mathematics},
- publisher = {Springer Verlag},
- year = {1985},
- author = {Michael J. Beeson},
- keywords = {PartialFuncs}}
-
-@ARTICLE{BeHe92,
- author = {Christoph Beierle and U. Hedtst{\"u}ck and U. Pletat and P. Schmitt
- and J. Siekmann},
- title = {An Order Sorted Logic for Knowlege Representation},
- journal = {Journal of Artificial Intelligence},
- year = {1992},
- volume = {55},
- pages = {149--191}}
-
-@ARTICLE{Bellmann:SelektionUndAnpassung,
- author = {Johannes Bellmann},
- title = {{Selektion und Anpassung: Lerntheorien im Umfeld von Evolutionstheorie
- und Pragmatismus}},
- journal = {Zeitschrift f{\"u}r P{\"a}dagogik},
- year = {2005},
- volume = {49. Beiheft},
- pages = {62--76},
- number = {51},
- month = apr}
-
-@INCOLLECTION{beln:usef77,
- author = {Belnap, N. D. Jr.},
- title = {A {Useful} {Four}-{Valued} Logic},
- booktitle = {Modern Uses of Multiple-Valued Logic},
- publisher = {Reidel},
- year = {1977},
- editor = {Dunn, J. M. and Epstein, G.},
- pages = {8--37},
- address = {Dordrecht}}
-
-@TECHREPORT{BeEa64,
- author = {J. H. Bennet and W. B. Easton and J. R. Guard and D. B. Loveman and
- T. H. Mott},
- title = {Semi-Automated Mathematics: {SAM IV}},
- institution = {Air Force Cambridge Research Laboratories},
- year = {1964},
- type = {Scientific Report},
- number = {64--827},
- month = oct}
-
-@PHDTHESIS{benn:some74,
- author = {Bennett, M.},
- title = {Some {Extensions} of a {Montague} {Fragment} of {English}},
- school = {UCLA},
- year = {1974}}
-
-@UNPUBLISHED{BeVi:lsop,
- author = {Johan van Bentem and Wilfried Meyer-Viol},
- title = {Logical Semantics of Programming},
- note = {manuscript for a book}}
-
-@UNPUBLISHED{Benthem:dlatfoi,
- author = {Johan van Benthem},
- title = {Dynamic Logic and the Flow of Information},
- note = {manuscript for a book}}
-
-@BOOK{bent:expl96,
- title = {Exploring {Logical} {Dynamics}},
- publisher = {CSLI},
- year = {1996},
- author = {van Benthem, J. F. A. K.},
- address = {Stanford}}
-
-@BOOK{Benthem:eld96,
- title = {Exploring Logical Dynamics},
- publisher = {CSLI Publications and FOLLI},
- year = {1996},
- author = {Johan van Benthem}}
-
-@MISC{bent:modstat,
- author = {van Benthem, J. F. A. K},
- title = {Modal {State} {Semantics}},
- year = {1994},
- note = {Unpublished Manuscript},
- publisher = {University of Amsterdam}}
-
-@TECHREPORT{Benthem:latfoi91,
- author = {Johan van Benthem},
- title = {Logic and the Flow of Information},
- institution = {{Institute for Logic, Language and Computation, Universiteit van Amsterdam}},
- year = {1991},
- type = {ILLC Report},
- number = {LP-91-10}}
-
-@BOOK{Benthem:lia91,
- title = {Language in Action, Categories, Lambdas and Dynamic Logic},
- publisher = {North Holland},
- year = {1991},
- author = {Johan van Benthem},
- volume = {130},
- series = {Studies in Logic and Foundation of Mathematics}}
-
-@INCOLLECTION{bent:high83,
- author = {van Benthem, J. F. A. K. and Doets, K.},
- title = {Higher-{Order} {Logic}},
- booktitle = {Handbook of Philosophical Logic},
- publisher = {Reidel},
- year = {1983},
- editor = {Gabbay, D. M. and Guenthner, F.},
- volume = {I},
- pages = {275--329},
- address = {Dordrecht}}
-
-@ARTICLE{BeEi:mltsap94,
- author = {Johan van Benthem and Jan van Eijck and Vera Stebletsova},
- title = {Modal Logic, Transition Systems and Processes},
- journal = {Journal of Logic Computation},
- year = {1994},
- volume = {4},
- pages = {811--855},
- number = {5}}
-
-@INPROCEEDINGS{benzmueller01:_proof_trans_expan_param_infer_machin,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Martin Pollet and Volker
- Sorge },
- title = {Proof Transformation and Expansion with a Parameterizable Inference
- Machine},
- booktitle = {{\PROC} of the 8\textsuperscript{th} Workshop on Automated Reasoning, Bridging the
- Gap between Theory and Practice},
- year = {2001},
- address = {York, UK},
- keywords = {!OMEGA!,ARTICLE,SFB},
- url = {http://www.ags.uni-sb.de/~chris/papers/C16.ps.gz}}
-
-@ARTICLE{ags-2002-d-32,
- author = {Christoph BenzM{\"u}ller},
- title = {Comparing Approaches to Resolution based Higher-Order Theorem Proving},
- journal = {Synthese, An International Journal for Epistemology, Methodology
- and Philosophy of Science, Kluwer},
- year = {2002},
- volume = {133},
- pages = {203--235},
- number = {1--2},
- issn = {0039-7857}}
-
-@ARTICLE{benzmueller00:_compar_approac_resol_higher_order_theor_provin,
- author = {Christoph BenzM{\"u}ller},
- title = {Comparing Approaches to Resolution based Higher-Order Theorem Proving},
- journal = {Synthese, An International Journal for Epistemology, Methodology
- and Philosophy of Science, Kluwer},
- year = {2001},
- note = {To appear},
- chrisnote = {J3},
- keywords = {ARTICLE,LOGIC},
- url = {http://www.ags.uni-sb.de/~chris/papers/J4.ps.gz}}
-
-@MISC{leo:bpos,
- author = {Christoph BenzM{\"u}ller},
- year = {1997},
- note = {LEO benchmarks {\tt http://www.ags.uni-sb.de/projects/deduktion/projects/hot/mizar/}}}
-
-
-@INPROCEEDINGS{ags-2001-d-20,
- author = {Christoph BenzM{\"u}ller and Andreas Meier and Martin Pollet and Volker
- Sorge},
- title = {Proof expansion and transformation with a parameterisable inference
- machine.},
- booktitle = {Proceedings of the Eighth Workshop on Automated Reasoning, Bridging
- the Gap between Theory and Practice},
- year = {2001},
- month = mar,
- publisher = {University of York, England},
- chrisnote = {W9},
- url = {http://www.ags.uni-sb.de/~chris/papers/W9.pdf}}
-
-@INPROCEEDINGS{benzmueller99:_exten_higher_order_param_rue_resol,
- author = {Christoph Benzm{\"u}ller},
- title = {Extensional Higher-Order Paramodulation and {RUE}-Resolution},
- crossref = {CADE99},
- pages = {399--413}}
-
-@inproceedings{MaPr:FoCDoc03,
- author = {Manuel Maarek and Virgile Prevosto},
- title = {{FoCDoc}: The Documentation System of {FoC}},
- pages = {31--43},
- crossref = {CALCULEMUS03}}
-
-@INPROCEEDINGS{ags-2003-d-4,
- author = {Christoph Benzm{\"u}ller},
- title = {The Calculemus research training network: A short overview},
- crossref = {CALCULEMUS03}}
-
-@INPROCEEDINGS{ags-2003-d-5,
- author = {Christoph Benzm{\"u}ller},
- title = {The Calculemus research training network: A short overview},
- booktitle = {Proceedings of the First QPQ Workshop on Deductive Software Components
- at CADE-19},
- year = {2003},
- address = {Miami, USA}}
-
-@TECHREPORT{ags-2002-d-7,
- author = {Christoph Benzm{\"u}ller},
- title = {{A remark on higher order RUE-resolution with EXTRUE}},
- institution = {Dept.of Computer Science, Saarland University, Saarbr{\"u}cken, Germany},
- year = {2002},
- type = {SEKI Reports},
- number = {SR--02--05},
- chrisnote = {R21},
- url = {http://www.ags.uni-sb.de/~chris/papers/R21.pdf}}
-
-@ARTICLE{ags-2001-d-12,
- author = {Christoph Benzm{\"u}ller},
- title = {An Agent Based Approach to Reasoning},
- year = {2001},
- month = mar,
- chrisnote = {W10},
- publisher = {University of York},
- url = {http://www.ags.uni-sb.de/~chris/papers/W10.pdf}}
-
-@PHDTHESIS{Ben:eaeiahotp99,
- author = {Christoph Benzm{\"u}ller},
- title = {Equality and Extensionality in Automated Higher-Order Theorem Proving},
- school = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1999},
- address = {Saarbr{\"u}cken, Germany},
- keywords = {!OMEGA!,LOGIC},
- url = {http://www.ags.uni-sb.de/~chris/papers/T2.ps.gz}}
-
-@TECHREPORT{Ben:HtmPEiHOR98,
- author = {Christoph Benzm{\"u}ller},
- title = {An Adaption of Paramodulation and RUE-Resolution to Higher-Order
- Logic},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1998},
- type = {SEKI-Report},
- number = {SR-98-07}}
-
-@TECHREPORT{Ben:acaasafehor97,
- author = {Christoph Benzm{\"u}ller},
- title = {A Calculus and a System Architecture for Extensional Higher-Order
- Resolution},
- institution = {Department of Mathematical Sciences, Carnegie Mellon University,
- Pittsburgh,USA},
- year = {1997},
- type = {Research Report},
- number = {97-198},
- month = jun}
-
-@ARTICLE{BeBiSo:itao98,
- author = {Christoph Benzm{\"u}ller and Matthew Bishop and Volker Sorge},
- title = {Integrating TPS and OMEGA},
- journal = {Journal of Universal Computer Science},
- year = {1999},
- volume = {5},
- pages = {188--207},
- number = {3},
- month = mar,
- note = {Special issue on Integration of Deduction System},
- url = {http://www.ags.uni-sb.de/~chris/papers/J1.ps.gz}}
-
-@ARTICLE{BeBiSo:itao99,
- author = {Christoph Benzm{\"u}ller and Matthew Bishop and Volker Sorge},
- title = {{Integrating {\sc Tps} and {$\Omega$\sc mega}}},
- journal = {Journal of Universal Computer Science},
- year = {1999},
- volume = {5},
- number = {2}}
-
-
-
-
-@misc{WizardofOZExperiment:wikipedia,
- author = "Wikipedia",
- title = "Wizard of Oz experiment --- Wikipedia, The Free Encyclopedia",
- year = "2009",
- url = "http://en.wikipedia.org/w/index.php?title=Wizard_of_Oz_experiment&oldid=291146893",
- note = "[Online; accessed 20-May-2009]"
- }
-
-
-
-
-
-
-@TECHREPORT{ags-2002-d-30,
- author = {Christoph Benzm{\"u}ller and Armin Fiedler and Andreas Meier and
- Martin Pollet},
- title = {Irrationality of $\sqrt{2}$ --- A Case Study in Omega},
- institution = {Department of Computer Science, Saarland University},
- year = {2002},
- type = {Seki Report},
- number = {SR--02--03},
- address = {Saarbr{\"u}cken, Germany}}
-
-@INPROCEEDINGS{ags-2002-d-26,
- author = {Christoph Benzm{\"u}ller and Corrado Giromini and Andreas Nonnengart},
- title = {Symbolic Verification of Hybrid Systems supported by Mathematical
- Services},
- crossref = {CALCULEMUS02},
- url = {http://www.ags.uni-sb.de/~chris/papers/W17.pdf}}
-
-@INPROCEEDINGS{ags-2002-d-25,
- author = {Christoph Benzm{\"u}ller and Corrado Giromini and Andreas Nonnengart
- and J{\"u}rgen Zimmer},
- title = {Reasoning Services in the MathWeb-SB for Symbolic Verification of
- Hybrid Systems},
- booktitle = {Proceedings of the Verification Workshop -- VERIFY'02 in connection
- with FLOC 2002},
- year = {2002},
- address = {K{\o}benhavn},
- chrisnote = {W18},
- url = {http://www.ags.uni-sb.de/~chris/papers/W18.pdf}}
-
-@INPROCEEDINGS{ags-2001-d-11,
- author = {Christoph Benzm{\"u}ller and Mateja Jamnik and Manfred Kerber and
- Volker Sorge},
- title = {Experiments with an Agent-oriented Reasoning system},
- booktitle = {Proceedings of KI' 2001},
- year = {2001},
- number = {2174},
- series = {LNAI},
- publisher = {Springer},
- chrisnote = {C10},
- url = {http://www.ags.uni-sb.de/~chris/papers/C10.pdf}}
-
-@INPROCEEDINGS{ags-2001-d-13,
- author = {Christoph Benzm{\"u}ller and Mateja Jamnik and Manfred Kerber and
- Volker Sorge},
- crossref = {CALCULEMUS01},
- title = {An Agent-oriented Approach to Reasoning},
- url = {http://www.ags.uni-sb.de/~chris/papers/W11.pdf}}
-
-@UNPUBLISHED{benzmueller01,
- author = {Christoph Benzm{\"u}ller and Mateja Jamnik and Manfred Kerber and
- Volker Sorge},
- title = {An agent based approach to reasoning},
- note = {Submitted to IJCAI 2001},
- year = {2001},
- chrisnote = {S2},
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/~chris/papers/ijcai01.ps.gz}}
-
-@MISC{benzmueller01:_agent_approac_reason,
- author = {C. Benzm{\"u}ller and M. Jamnik and M. Kerber and V. Sorge},
- title = {An Agent-oriented Approach to Reasoning},
- year = {2001},
- note = {submitted},
- keywords = {!OMEGA!,ARTICLE,SFB,AGENTS},
- url = {http://www.ags.uni-sb.de/~chris/papers/S2.ps.gz}}
-
-@INPROCEEDINGS{BeJaKeSo00poster,
- author = {C. Benzm{\"u}ller and M. Jamnik and M. Kerber and V. Sorge},
- title = {Resource Guided Concurrent Deduction},
- booktitle = {{\PROC} of the Seventh Workshop on Automated Reasoning, Bridging
- the Gap between Theory and Practice},
- year = {2000},
- address = {King's College, London,\UK},
- month = {20--21 July},
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/~sorge/publications/2000/aisb00.ps.gz}}
-
-@INPROCEEDINGS{benzmueller00:_resour_guided_concur_deduc,
- author = {Christoph Benzm{\"u}ller and Mateja Jamnik and Manfred Kerber and
- Volker Sorge},
- title = {Resource Guided Concurrent Deduction},
- booktitle = {Proceedings of the AISB'2000 Symposium `How to design a functioning
- mind'},
- year = {2000},
- address = {Birmingham, England},
- month = apr,
- note = {Also in: Proceedings of the 7\textsuperscript{th} Workshop on Automated Reasoning `Bridging
- the Gap between Theory and Practice'},
- chrisnote = {C12},
- keywords = {!OMEGA!,ARTICLE,SFB},
- url = {http://www.ags.uni-sb.de/~chris/papers/C12.ps.gz}}
-
-
-
-@INPROCEEDINGS{BeJaKeSo:ABMR99,
- author = {Christoph Benzm{\"u}ller and Mateja Jamnik and Manfred Kerber and
- Volker Sorge},
- title = {Agent Based Mathematical Reasoning},
- crossref = {CALCULEMUS99},
- url = {http://www.ags.uni-sb.de/~chris/papers/C8.ps.gz}}
-
-@INPROCEEDINGS{ags-2001-d-15,
- author = {Christoph Benzm{\"u}ller and Manfred Kerber},
- title = {A Lost Proof},
- booktitle = {Proceedings of the IJCAR 2001 Workshop: Future Directions in Automated
- Reasoning},
- year = {2001},
- address = {Siena, Italy},
- chrisnote = {W13},
- url = {http://www.ags.uni-sb.de/~chris/papers/W13.pdf}}
-
-
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{ags-2001-d-14,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Erica Melis and Martin
- Pollet and Volker Sorge},
- title = {Proof Planning: A Fresh Start?},
- booktitle = {Proceedings of the IJCAR 2001 Workshop: Future Directions in Automated
- Reasoning},
- year = {2001},
- address = {Siena, Italy},
- chrisnote = {W12},
- url = {http://www.ags.uni-sb.de/~chris/papers/W12.pdf}}
-
-@INPROCEEDINGS{ags-2001-d-16,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Erica Melis and Martin
- Pollet and Volker Sorge},
- title = {Proof Planning: A Fresh Start?},
- booktitle = {Proceedings of the IJCAR 2001 Workshop: Future Directions in Automated
- Reasoning},
- year = {2001},
- address = {Siena, Italy},
- chrisnote = {W12},
- url = {http://www.ags.uni-sb.de/~chris/papers/W12.pdf}}
-
-@INPROCEEDINGS{BMMPS-01-a,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Erica Melis and Martin
- Pollet and Volker Sorge},
- title = {Proof Planning: A Fresh Start?},
- booktitle = {Proceedings of the IJCAR 2001 Workshop: Future Directions in Automated
- Reasoning},
- year = {2001},
- pages = {25--37},
- address = {Siena, Italy},
- chrisnote = {W12},
- url = {http://www.ags.uni-sb.de/~chris/papers/W12.pdf}}
-
-@MISC{c.01:_proof_plann,
- author = {C. Benzm{\"u}ller and A. Meier and E. Melis and M. Pollet and V.
- Sorge},
- title = {Proof Planning: A Fresh Start?},
- year = {2001},
- note = {submitted},
- keywords = {!OMEGA!,ARTICLE,SFB,AGENTS},
- url = {http://www.ags.uni-sb.de/~chris/papers/S1.ps.gz}}
-
-@INPROCEEDINGS{ags-2003-d-3,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Volker Sorge},
- title = {Bridging Theorem Proving and Mathematical Knowledge Retrieval},
- booktitle = {Festschrift in Honour of J{\"o}rg Siekmann},
- year = {2003},
- series = {LNAI},
- publisher = {Springer},
- note = {To appear},
- keywords = {lamapunbibs},
- chrisnote = {c13},
- url = {http://www.ags.uni-sb.de/~chris/papers/C13.pdf}}
-
-@INPROCEEDINGS{ags-2002-d-28,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Volker Sorge},
- title = {Agent-based Theorem Proving},
- booktitle = {Proceedings of the 9\textsuperscript{th} Workshop on Automated Reasoning: Bridging
- the Gap between Theory and Practice},
- year = {2002},
- address = {London, England},
- keywords = {lamapunbibs},
- chrisnote = {W15},
- url = {http://www.ags.uni-sb.de/~chris/papers/W15.pdf}}
-
-@INPROCEEDINGS{ags-2001-d-18,
- author = {Christoph Benzm{\"u}ller and Andreas Meier and Volker Sorge},
- title = {Distributed Assertion Retrieval},
- booktitle = {First International Workshop on Mathematical Knowledge Management
- RISC-Linz},
- year = {2001},
- address = {Schloss Hagenberg, Austria},
- chrisnote = {W14},
- url = {http://www.ags.uni-sb.de/~chris/papers/W14.pdf}}
-
-@INPROCEEDINGS{benzmueller99:_critic_agent_suppor_inter_theor_provin,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {Critical Agents Supporting Interactive Theorem Proving},
- booktitle = {Proceedings of the 9\textsuperscript{th} {Portuguese} {Conference} on {Artificial}
- {Intelligence} (EPIA'99)},
- year = {1999},
- editor = {Pedro Borahona and Jose J. Alferes},
- number = {1695},
- series = {LNAI},
- pages = {208--221},
- address = {Evora, Portugal},
- publisher = {Springer},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~chris/papers/C10.ps.gz}}
-
-@INPROCEEDINGS{BeSo:ITWO98,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {Integrating TPS with OMEGA},
- booktitle = {Theorem Proving in Higher Order Logics: Emerging Trends},
- year = {1998},
- editor = {Jim Grundy and Malcolm Newey},
- series = {Technical Report 98-08, Department of Computer Science and Computer
- Science Lab, The Australian National University},
- pages = {1--19},
- address = {Canberra, Australia},
- month = oct,
- url = {http://www.ags.uni-sb.de/~chris/papers/C6.ps.gz}}
-
-@InProceedings{BuckleyBenzmuellerUITP05,
- key = {BuckleyBenzmuellerUITP05},
- author = {Mark Buckley and Christoph Benzm{\"u}ller},
- title = {{System Description: A Dialogue Manager supporting Natural Language Tutorial Dialogue on Proofs}},
- booktitle = {Proceedings of the ETAPS Satellite Workshop on User Interfaces for Theorem Provers (UITP)},
- year = 2005,
- pages = {40--67},
- address = {Edinburgh, Scotland},
- editor = {David Aspinall and Christoph L{\"u}th},
- keywords = {lamapunbibs},
- url = {http://www.coli.uni-saarland.de/~buckley/content/BuckleyBenzmuellerUITP05.pdf}
-}
-
-
-@ARTICLE{GrunHosMug:immvsde98,
- author = {John Grundy and John Hosking and Rick Mugridge},
- title = {Inconsistency management for multiple-view software development environments},
- journal = {IEEE Transactions on Software Engineering},
- year = {1998},
- volume = {24},
- pages = {960--981},
- number = {11}}
-
-@INPROCEEDINGS{BeSo00,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {OANTS -- An open approach at combining Interactive and Automated
- Theorem Proving},
- crossref = {CALCULEMUS00},
- url = {http://www.ags.uni-sb.de/~sorge/publications/2000/BeSo00.ps.gz}}
-
-@INPROCEEDINGS{BeSo:AISB99,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {Towards Fine-Grained Proof Planning with Critical Agents},
- booktitle = {Proceedings of the 6\textsuperscript{th} Workshop on Automated Reasoning},
- year = {1999},
- pages = {19--21},
- publisher = {Edinburgh College of Art \& Divison of Informatics, University of
- Edinburgh},
- keywords = {!OMEGA!,SFB},
- url = {http://www.ags.uni-sb.de/~chris/papers/C7.ps.gz}}
-
-@UNPUBLISHED{BeSo:casitp99,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {{Critical Agents Supporting Interactive Theorem Proving}},
- note = {Submitted to the 15\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence} ({IJCAI})},
- year = {1999}}
-
-@INPROCEEDINGS{BeSo98-AIMSA,
- author = {Christoph Benzm{\"u}ller and Volker Sorge},
- title = {A Blackboard Architecture for Guiding Interactive Proofs},
- booktitle = {Proceedings of 8\textsuperscript{th} International Conference on Artificial Intelligence:
- Methodology, Systems, Applications (AIMSA'98)},
- year = {1998},
- series = {LNAI},
- address = {Sozopol, Bulgaria},
- keywords = {!OMEGA!,ARTICLE,SFB},
- url = {http://www.ags.uni-sb.de/~chris/papers/C5.ps.gz}}
-
-@INPROCEEDINGS{vandenberg96,
- author = {Martin H. van den Berg},
- title = {Discourse Grammar and Dynamic Logic},
- booktitle = {Proceedings of the Tenth Amsterdam Colloquium},
- year = {1996},
- editor = {P. Dekker and M. Stokhof},
- pages = {93--111},
- address = {ILLC/Department of Philosophy, University of Amsterdam}}
-
-@ARTICLE{Bergmann:patdl81,
- author = {Merrie Bergmann},
- title = {Presupposition and two-dimensional logic},
- journal = {Journal of Philosophical Logic},
- year = {1981},
- volume = {10},
- pages = {27--53}}
-
-@INCOLLECTION{BergMunozVelosoMelis98,
- author = {R. Bergmann and H. Munoz-Avila and M. M. Veloso and E. Melis},
- title = {Case-Based Reasoning Applied to Planning},
- booktitle = {Case-Based Reasoning Technology from Foundations to Applications},
- publisher = {Springer},
- year = {1998},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/BergMunozVelosoMelis98.ps.gz}}
-
-@BOOK{Bergstra:as89,
- title = {Algebraic specification},
- publisher = {ACM Press},
- year = {1989},
- author = {J. A. Bergstra}}
-
-@TECHREPORT{Berkelhammer:seki04,
- author = {Jessi Berkelhammer},
- title = {A Proof Representation},
- institution = {Saarland University},
- year = {2004},
- type = {SEKI Report},
- number = {SR-2004-02}}
-
-@BOOK{Bernays:ast91,
- title = {Axiomatic Set Theory},
- publisher = {Dover Publications},
- year = {1991},
- author = {Bernays, Paul}}
-
-@ARTICLE{Bernays41,
- author = {Paul Bernays},
- title = {A System of Axiomatic Set-Theory},
- journal = {Journal of Symbolic Logic},
- year = {1941},
- volume = {6},
- pages = {1--17}}
-
-@ARTICLE{Bernays37,
- author = {Paul Bernays},
- title = {A System of Axiomatic Set-Theory},
- journal = {Journal of Symbolic Logic},
- year = {1937},
- volume = {2},
- pages = {65--77}}
-
-@TECHREPORT{berners-lee90:design-issues,
- author = {Tim Berners-Lee},
- title = {Design Issues for the World Wide Web},
- institution = {World Wide Web Consortium/CERN},
- year = {1990},
- latschecked = {July 2006},
- url = {http://www.w3.org/DesignIssues/}}
-
-@ARTICLE{FieTay:pdmwa02,
- title = {Principled Design of the Modern Web Architecture},
- author = {Roy T. Fielding and Richard N. Taylor},
- journal = {ACM Transactions on Internet Technology},
- volume = {2},
- month = may,
- year = {2002},
- url = {http://www.ics.uci.edu/~taylor/documents/2002-REST-TOIT.pdf}}
-
-@TECHREPORT{BerFie:uri98,
- author = {Tim Berners-Lee and Roy T. Fielding and Larry. Masinter},
- title = {{Uniform Resource Identifiers (URI), Generic Syntax}},
- institution = {Internet Engineering Task Force (IETF)},
- year = {1998},
- type = {RFC},
- number = {2717},
- url = {http://www.ietf.org/rfc/rfc2717.txt}}
-
-@TECHREPORT{FieGet:http99,
- author = {R. Fielding and J. Gettys and J. Mogul and H. Frystyk and L. Masinter and P. Leach and T. Berners-Lee},
- title = {Hypertext Transfer Protocol -- {HTTP/1.1}},
- institution = {Internet Engineering Task Force (IETF)},
- year = {1999},
- type = {RFC},
- number = {2616},
- url = {http://www.ietf.org/rfc/rfc2616.txt}}
-
-@TECHREPORT{RFC2119,
- author = {Scott Bradner},
- title = {Key words for use in {RFC}s to indicate requirement levels},
- institution = {Internet Engineering Task Force (IETF)},
- year = 1997,
- type = {RFC},
- number = {2119},
- url = {http://www.ietf.org/rfc/rfc2119.txt}}
-
-@TECHREPORT{DueSui:iri05,
- author = {Martin D{\"u}rst and Michel Suignard},
- title = {Internationalized Resource Identifiers ({IRIs})},
- institution = {Internet Engineering Task Force (IETF)},
- year = {2005},
- type = {RFC},
- number = {3987},
- url = {http://www.ietf.org/rfc/rfc3987.txt}}
-
-@TECHREPORT{DeeHin:RFC2460,
- author = {S. Deering and R. Hinden},
- title = {Internet Protocol, Version 6 ({IPv6}) Specification},
- institution = {Internet Engineering Task Force (IETF)},
- year = {1998},
- type = {RFC},
- number = {2460},
- url = {http://www.ietf.org/rfc/rfc2460.txt}}
-
-@misc{RFC760,
- key = {RFC760},
- title = {{DOD} Standard Internet Protocol},
- institution = {Internet Engineering Task Force (IETF)},
- year = {1980},
- type = {RFC},
- number = {760},
- url = {http://tools.ietf.org/rfc/rfc760.txt}}
-
-@TECHREPORT{BerFieMas:05,
- author = {Tim Berners-Lee and Roy T. Fielding and Larry Masinter},
- title = {Uniform Resource Identifier ({URI}): Generic Syntax},
- institution = {Internet Engineering Task Force (IETF)},
- year = 2005,
- type = {RFC},
- number = 3986,
- url = {http://www.ietf.org/rfc/rfc3986.txt}}
-
-
-
-@ARTICLE{Berners-Lee:SemanticWeb,
- author = {Tim Berners-Lee and James Hendler and Ora Lassila},
- title = {{The Semantic Web}},
- subtitle = {A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities},
- journal = {Scientific American},
- year = {2001},
- volume = {284}}
-
-@BOOK{BertotCasteran:coq04,
- title = {Interactive Theorem Proving and Program Development --- Coq'Art:
- The Calculus of Inductive Constructions},
- publisher = {Springer Verlag},
- year = {2004},
- author = {Bertot, Yves and Cast{\'e}ran, Pierre},
- series = {Texts in Theoretical Computer Science. An EATCS Series}}
-
-@INPROCEEDINGS{BGP-03-a,
- author = {Bertot, Yves and Guilhot, Fr{\'e}d{\'e}rique and Pottier, Lo{\"i}c},
- title = {Visualizing geometrical statements with GeoView},
- booktitle = {Workshop on User Interface for Theorem Provers (UITP03)},
- year = {2003},
- address = {Rome}}
-
-@ARTICLE{bekate-tasc94,
- author = {Bertot, Y. and Kahn, G. and Therry, L.},
- title = {Proof by Pointing},
- journal = {Theoretical Aspects of Computer Software},
- year = {1994},
- volume = {789},
- pages = {141--160}}
-
-@INCOLLECTION{Beth69,
- author = {E. W. Beth},
- title = {Semantic Entailmentand Formla derivability},
- booktitle = {The Philosophy of Mathematics},
- publisher = {Oxford University Press},
- year = {1969},
- editor = {J. Hintikka},
- pages = {9--49},
- note = {First published in~\cite{Beth55}}}
-
-@ARTICLE{Beth55,
- author = {E. W. Beth},
- title = {Semantic Entailmentand Formla derivability},
- journal = {Medelingen von de Koninklijke Nederlandse Akademie van Wetenschappen,
- Afdeling Letterkunde},
- year = {1955},
- volume = {18},
- pages = {309--342},
- number = {13}}
-
-@MISC{Bibel90,
- author = {Wolfgang Bibel},
- title = {Perspectives of Automated Deduction},
- howpublished = {Invited Talk at CADE 90 in Kaiserslautern West Germany},
- year = {1990},
- keywords = {ATP}}
-
-@ARTICLE{Bibel:mim83,
- author = {Wolfgang Bibel},
- title = {Matings in Matrices},
- journal = {Communications of the ACM},
- year = {1983},
- volume = {26},
- pages = {844--852}}
-
-@BOOK{Bibel:atp82,
- title = {Automated Theorem Proving},
- publisher = {Vieweg, Braunschweig},
- year = {1982},
- author = {Wolfgang Bibel}}
-
-@UNPUBLISHED{BiMa90,
- author = {J. C. Bicarregui and B. M. Matthews},
- title = {The Incremental Development of an Algorithm for Matching with Higher
- Order Variables},
- year = {1990},
- keywords = {Matching, HOL, Algorithm}}
-
-@INCOLLECTION{Bierwisch:oglp88,
- author = {Manfred Bierwisch},
- title = {On the grammar of local prepositions},
- booktitle = {Syntax, {Semantik} und das {Lexikon}},
- publisher = {Akademie-Verlag},
- year = {1988},
- editor = {Bierwisch, M. and W. Motsch and I. Zimmermann},
- pages = {1--65},
- address = {Berlin}}
-
-@INCOLLECTION{Bierwisch:skrle83,
- author = {Manfred Bierwisch},
- title = {Semantische und konzeptionelle {Repr{\"a}sentation} lexikalischer {Einheiten}},
- booktitle = {Untersuchungen zur {Semantik}},
- publisher = {Akademie-Verlag},
- year = {1983},
- editor = {Ru\hspace{-0.175cm}$^\circ\check{\rm z}$i$\check{\rm c}$ka, R. and
- Motsch, W.},
- pages = {61--99},
- address = {Berlin}}
-
-@MISC{Bird89,
- author = {Richard S. Bird},
- title = {Lectures on Constructive Functional Programming},
- howpublished = {NATO Asi Series Vol. F55, M. Broy (ed.), Springer Velag},
- year = {1989}}
-
-@ARTICLE{bitt:cros94,
- author = {Bittner, M.},
- title = {Cross-{Linguistic} {Semantics}},
- journal = {Linguistics and Philosophy},
- year = {1994},
- volume = {17},
- pages = {53--108}}
-
-@BOOK{Blachman93,
- title = {Mathematica griffbereit; Version 2},
- publisher = {Vieweg},
- year = {1993},
- author = {Blachman, Nancy},
- address = {Wiesbaden}}
-
-@book{BlaBos:rainl05,
- author = {Blackburn, Patrick and Bos, Johan},
- title = {Representation and Inference for Natural Language. A First Course in Computational Semantics},
- publisher = {CSLI},
- year = {2005}}
-
-@UNPUBLISHED{bg98,
- author = {Patrick Blackburn and Claire Gardent},
- title = {A specification language for discourse},
- note = {Ms. University of Saarbruecken},
- year = {1998}}
-
-@INPROCEEDINGS{BlaGar98,
- author = {Patrick Blackburn and Claire Gardent},
- title = {A specification language for discourse},
- booktitle = {{Proceedings of Logical Aspects of Computational Linguistics}},
- year = {1998},
- adress = {Grenoble}}
-
-@INPROCEEDINGS{BlaGar:sllfg,
- author = {P. Blackburn and C. Gardent},
- title = {A specification language for Lexical Functional Grammar},
- booktitle = {Proceedings of the 7\textsuperscript{th} Conference of the {European} {Chapter} of
- the {Association} for {Computational} {Linguistics}},
- year = {1995},
- address = {Dublin}}
-
-@TECHREPORT{BlGa:tat93,
- author = {Patrick Blackburn and Claire Gardent and Wilfried Meyer-Viol},
- title = {Talking about Trees},
- institution = {{Institute for Logic, Language and Computation, Universiteit van
- Amsterdam}},
- year = {1994},
- type = {ILLC Report},
- number = {CL-93-03}}
-
-@INPROCEEDINGS{BlaGarMey:tat,
- author = {P. Blackburn and C. Gardent and W. Meyer-Viol},
- title = {Talking about trees},
- booktitle = {Proceedings of {EACL} `93},
- year = {1993},
- address = {Utrecht}}
-
-@INPROCEEDINGS{BlaGarRij:rota,
- author = {P. Blackburn and C. Gardent and M. de Rijke},
- title = {Rich ontologies for tense and aspect},
- booktitle = {Proceedings of the 4\textsuperscript{th} {STASS} conference},
- year = {1994},
- organization = {CSLI},
- publisher = {University of Chicago Press}}
-
-@INPROCEEDINGS{BlaGarRij:baf,
- author = {P. Blackburn and C. Gardent and M. de Rijke},
- title = {Back and forth through time and events},
- booktitle = {Proceedings of the 9\textsuperscript{th} {Amsterdam} {Colloquium}},
- year = {1993},
- address = {Amsterdam}}
-
-@INCOLLECTION{blam:part86,
- author = {Blamey, S.},
- title = {Partial {Logic}},
- booktitle = {Handbook of Philosophical Logic},
- year = {1986},
- editor = {Gabbay, D. M. and Guenthner, F.},
- volume = {III},
- pages = {1--70}}
-
-@ARTICLE{Bledsoe90,
- author = {W. W. Bledsoe},
- title = {Challenge Problems in Elementary Calculus},
- journal = {Journal of Automated Reasoning},
- year = {1990},
- volume = {6},
- pages = {341--359},
- publisher = {Kluwer Academic Publisher, Netherlands}}
-
-@ARTICLE{bledsoe90challenge,
- author = {Woodrow W. Bledsoe},
- title = {Challenge Problems in Elementary Calculus},
- journal = {Journal of Automated Reasoning},
- year = {1990},
- volume = {6},
- number = 3,
- pages = {341--359}}
-
-@ARTICLE{bledsoe85keynoteaddress,
- author = {Woodrow W. Bledsoe},
- title = {{I Had a Dream: AAAI Presidential Address, August 1985}},
- journal = {AI Magazine},
- year = {1986},
- volume = {7},
- pages = {57--61},
- number = {1},
- key = {Bledsoe}}
-
-@TECHREPORT{Bledsoe82,
- author = {W. W. Bledsoe},
- title = {Using examples to generate instantiations for set variables},
- institution = {Unversity of Texas at Austin},
- year = {1982},
- type = {Technical Report},
- number = {ATP-67},
- month = jul}
-
-@ARTICLE{Bledsoe79,
- author = {W. W. Bledsoe},
- title = {A Maximal Method for Set Variables in Automatic Theorem Proving},
- journal = {Machine Intelligence},
- year = {1979},
- volume = {9},
- pages = {53--99}}
-
-@PHDTHESIS{Blaesius86,
- author = {Karl-Hans Bl{\"a}sius},
- title = {Equality Reasoning based on Graphs},
- school = {Universit{\"a}t Kaiserslautern},
- year = {1986}}
-
-@PHDTHESIS{Blaesius:erbog86,
- author = {Karl Hans Bl{\"a}sius},
- title = {Equality Reasoning Based on Graphs},
- school = {Universit{\"a} Kaiserslautern},
- year = {1986}}
-
-@TECHREPORT{Bocharov89,
- author = {A. V. Bocharov},
- title = {{DE}li{A}: {A} {System} of {Exact} {Analysis} of {Differential} {Equations}
- using {S.}~{Lee} {Approach}},
- institution = {Program Systems Institute},
- year = {1989},
- number = {OWIMEX},
- address = {Pereslavl-Zalessky, USSR}}
-
-@INCOLLECTION{BerlinerSommerUni:FrauenUndWissenschaft,
- author = {G. Bock and B. Duden},
- title = {{Arbeit aus Liebe --- Liebe als Arbeit}},
- booktitle = {Frauen und Wissenschaft:Beitr{\"a}ge zur Berliner Sommeruniversit{\"a}t
- f{\"u}r Frauen*Juli 1976},
- publisher = {Courage Verlag Berlin},
- year = {1977},
- editor = {Gruppe Berliner Dozentinnen},
- pages = {118--199}}
-
-@ARTICLE{BoddyD94,
- author = {Mark Boddy and Thomas L. Dean},
- title = {Deliberation Scheduling for Problem Solving in Time-Constrained Environments},
- journal = {Artificial Intelligence},
- year = {1994},
- volume = {67},
- pages = {245--285}}
-
-@TECHREPORT{BoPl:tlkrs91,
- author = {Toni Bollinger and Udo Pletat},
- title = {The {LILOG} Knowlege Representation System},
- institution = {Institut f{\"u}r Wissensbasierte Systeme},
- year = {1991},
- type = {IWBS-Report},
- number = {156}}
-
-@ARTICLE{BonHsi:podsaas94,
- author = {Maria Paola Bonacina and Jieh Hsiang},
- title = {{Parallelization of Deduction Strategies: An Analytical Study}},
- journal = {Journal of Automated Reasoning},
- year = {1994},
- volume = {1},
- pages = {1--33},
- number = {13}}
-
-@TECHREPORT{bos:CSS98,
- author = {B. Bos and H. Lie and C. Lilley and I. Jacobs},
- title = {Cascading Style Sheets, Level 2 {CSS2} Specification},
- type= {{W3C Recommendation}},
- institution= {{World Wide Web Consortium (W3C)}},
- year = {May 12, 1998},
- howpublished = {\url{http://www.w3.org/TR/REC-CSS2}},
- url = {http://www.w3.org/TR/REC-CSS2}}
-
-@TECHREPORT{BosCelHick:CSS09,
- author = {Bert Bos and Tantek Celik and Ian Hickson and H{\o a}kon Wium Lie},
- title = {Cascading Style Sheets Level 2 Revision 1 ({CSS 2.1}) Specification},
- type= {{W3C Candidate Recommendation}},
- institution= {{World Wide Web Consortium (W3C)}},
- year = {2009},
- howpublished = {\url{http://www.w3.org/TR/CSS2}},
- url = {http://www.w3.org/TR/CSS2}}
-
-@INPROCEEDINGS{Bos:pavpe94,
- author = {Johan Bos},
- title = {Presupposition and {VP} Ellipsis},
- booktitle = {Proceedings of {COLING}},
- year = {1994},
- address = {Kyoto}}
-
-@INPROCEEDINGS{BosMasGlaMilPin:acdffn,
- author = {Bos, J. and Mastenbroek, E. and McGlashan, S. and Millies, S. and
- Pinkal, M.},
- title = {A Compositional {DRS}-based Formalism for {NLP}-Applications},
- booktitle = {Proceedings of the {International} {Workshop} on {Computational}
- {Semantics}, {Tilburg}},
- year = {1994},
- pages = {21--31}}
-
-@MANUAL{Bosma94,
- title = {{Handbook} of {Magma} {Functions}},
- author = {W. Bosma and J. Cannon},
- address = {Sydney},
- year = {1994}}
-
-@TECHREPORT{BouBunSliGor:apibch97,
- author = {Richard Boulton and Alan Bundy and Konrad Slind and Mike Gordon},
- title = {A Prototype Interface between CLAM and HOL },
- institution = {University of Edinburgh, Department of Artificial Intelligence, },
- year = {1997},
- number = {854},
- month = jun}
-
-@BOOK{Bourbaki:tos68,
- title = {Theory of Sets},
- publisher = {Springer Verlag},
- year = {1968},
- author = {Nicolas Bourbaki},
- series = {Elements of Mathematics}}
-
-@BOOK{Bourbaki:a74,
- title = {Algebra I},
- publisher = {Springer Verlag},
- year = {1974},
- author = {Nicolas Bourbaki},
- series = {Elements of Mathematics}}
-
-@Book{Bourbaki:gt89,
- Title = {General Topology 1-4},
- Author = {N. Bourbaki},
- Publisher = {Springer Verlag},
- Year = {1989},
- series = {Elements of Mathematics}}
-
-@MISC{Box:soap00,
- author = {Don Box and David Ehnebuske and Gopal Kakivaya and Andrew Layman
- and Noah Mendelsohn and Henrik Frystyk Nielsen and Satish Thatte
- and Dave Winer},
- title = {Simple Object Access Protocol (SOAP) 1.1},
- year = {2000},
- url = {http://www.w3.org/TR/SOAP},
- key = {SOAP}}
-
-@MISC{Box:soap07,
- author = {Don Box and David Ehnebuske and Gopal Kakivaya and Andrew Layman
- and Noah Mendelsohn and Henrik Frystyk Nielsen and Satish Thatte
- and Dave Winer},
- title = {Simple Object Access Protocol (SOAP) 1.2},
- year = {2007},
- url = {http://www.w3.org/TR/SOAP},
- key = {SOAP}}
-
-
-@ARTICLE{BoLu86,
- author = {Robert Boyer and Ewing Lusk and William McCune and Ross Overbeek
- and Mark Stickel and Lawrence Wos},
- title = {Set Theory for first-order Logic: Clauses for {G{\"o}}del's Axioms},
- journal = {Journal of Automated Reasoning},
- year = {1986},
- volume = {2},
- pages = {287--327}}
-
-@INCOLLECTION{BoMo:tcpics81,
- author = {Boyer, R. S. and Moore, J. S.},
- title = {Metafunctions},
- booktitle = {The Correctness Problem in Computer Science},
- publisher = {Academic Press},
- year = {1981},
- editor = {Boyer, R. S. and Strother Moore, J.},
- pages = {103--184},
- key = {Boyer \& Moore}}
-
-@BOOK{BoMo79,
- title = {A Computational Logic},
- publisher = {Academic Press},
- year = {1979},
- author = {Robert S. Boyer and J Strother Moore},
- address = {New York, USA}}
-
-@BOOK{BradyBerwick:cmod83,
- title = {Computational Models of Discourse},
- publisher = {MIT Press},
- year = {1983},
- author = {Brady and Berwick}}
-
-@INCOLLECTION{IdentitySubjectivityDifference,
- author = {Rosi Braidotti},
- title = {{Identity, Subjectivity and Difference: A Critical Genealogy}},
- booktitle = {{thinking differently: A Reader in European Women's Studies}},
- publisher = {Zed Books},
- year = {2002},
- editor = {Gabriele Griffin and Rosi Braidotti},
- pages = {159--180}}
-
-@ARTICLE{Braine78,
- author = {Martin D. S. Braine},
- title = {On the Relation Between the Natural Logic of Reasoning and Standard
- Logic},
- journal = {Psychological Review},
- year = {1978},
- volume = {85},
- pages = {1--21},
- number = {1},
- month = jan}
-
-@INCOLLECTION{Braun:Foerderstufenpaedagogik,
- author = {Karl-Heinz Braun},
- title = {{F{\"o}rderstufenp{\"a}dagogik im gesellschaftlichen Widerspruch. Zu
- den bildungspolitischen Grundsatzdiskussionen in Sachsen-Anhalt(1994-1996)}},
- booktitle = {Bildungsfragen in kritisch-konstruktiver Perspektive},
- publisher = {BELTZ, Deutscher Studien Verlag},
- year = {1997},
- editor = {Wilfried Hendricks and Barbara Koch-Priewe and Hanno Schmitt and
- Heinz St{\"u}big},
- pages = {35--62}}
-
-@TECHREPORT{Bray:XML97,
- author = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen},
- title = {{Extensible} {Markup} {Language} ({XML})},
- institution = {World Wide Web Consortium ({W3C})},
- year = {1997},
- type = {{W3C} Recommendation},
- month = dec,
- url = {http://www.w3.org/TR/PR-xml.html}
-,
- key = {Bray}}
-
-@INPROCEEDINGS{BrGa89,
- author = {Val Breazu-Tannen},
- title = {Polymorphic Rewriting Conserves Algebraic Strong Normalization and
- Confluence},
- booktitle = {Proceedings of the ICALP},
- year = {1989},
- pages = {137--150}}
-
-@TECHREPORT{BrCo88,
- author = {Val Breazu-Tannen and Thierry Coquand},
- title = {Extensional Models for Polymorphism},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-25, LINC LAB 109},
- location = {miko}}
-
-@PHDTHESIS{bred:tabtfhpsg96,
- author = {Andrew Bredenkamp},
- title = {Towards a Binding Theory for {Head}-{Driven} {Phrase} {Strucutre}
- {Grammar}},
- school = {University of Essex},
- year = {1996}}
-
-@INPROCEEDINGS{BriCopBog:ep90,
- author = {Briscoe, T. and Copestake, A. and B. Boguraev},
- title = {Enjoy the paper: lexical semantics via lexicology},
- booktitle = {Proceedings of the 13\textsuperscript{th} {COLING}},
- year = {1990},
- pages = {42--47},
- address = {Helsinki}}
-
-@ARTICLE{Brooks91,
- author = {Rodney A. Brooks},
- title = {Intelligence without Representation},
- journal = {Artificial Intelligence},
- year = {1991},
- volume = {47},
- pages = {139--159}}
-
-@BOOK{SocialLifeOfInformation,
- title = {{The Social Life of Information}},
- publisher = {{Harvard Business School Press}},
- year = {2000},
- author = {John Seely Brown and Paul Duguid}}
-
-@BOOK{eck:ThiJ,
- title = {{Thinking in Java}},
- publisher = {{Markt und Technik}},
- year = {2003},
- author = {Bruce Eckel},
- howpublished = {Published at
- \url{http://www.planetpdf.com/developer/article.asp?ContentID=6632}
- download-link:
- \url{http://www.planetpdf.com/codecuts/pdfs/eckel/TIJ3.zip}},
- url = {http://www.planetpdf.com/developer/article.asp?ContentID=6632}}
-
-@ARTICLE{BrownDuguid:OrgLearningAndCoPs,
- author = {John Seely Brown and Paul Duguid},
- title = {{Organizational Learning and Communities of Practice:Toward a Unified
- View of working, Learning and Innovation}},
- journal = {{Organization Science}},
- year = {1991},
- volume = {2},
- pages = {40--57},
- number = {1}}
-
-@INPROCEEDINGS{Da:SVCoP,
- author = {N. J. Davis},
- title = {{Supporting Virtual Communities of Practice}},
- booktitle = {{Industrial Knowledge Management}},
- year = {2000},
- editor = {R. Roy},
- publisher = {Springer Verlag}}
-
-@ARTICLE{Broy88,
- author = {M. Broy},
- title = {Equational Specification of Partial Higher-Order Algebras},
- journal = {Theoretical Computer Science},
- year = {1988},
- volume = {57},
- pages = {3--45},
- note = {beschaffen},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{BrWi82,
- author = {M. Broy and M. Wirsing},
- journal = {Acta Informatica},
- year = {1982},
- volume = {18},
- pages = {47--64},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{BrLo90,
- author = {Kim B. Bruce and Giuseppe Longo},
- title = {A Modest Model of Records, Inheritance and Bounded Quantification},
- journal = {Information and Computation},
- year = {1990},
- volume = {87},
- pages = {196--240}}
-
-@ARTICLE{Bruijn:lcnwnd72,
- author = {de Bruijn, Nicolaas Govert},
- title = {Lambda Calculus Notation with Nameless Dummies},
- journal = {Indag Math},
- year = {1972},
- volume = {34},
- pages = {381--392}}
-
-@ARTICLE{Bruijn:tmtlc91,
- author = {de Bruijn, Nicolaas Govert},
- title = {Telescopic Mappings in Typed Lambda Calculus},
- journal = {Information and Computation},
- year = {1991},
- volume = {91},
- pages = {189--204},
- number = {2},
- publischer = {Academic Press}}
-
-@ARTICLE{Bruijn72,
- author = {de Bruijn, Nicolaas Govert},
- title = {Lambda Calculus Notation with Nameless Dummies, a Tool for Automatic
- Formula Manipulation, with an Application to the {Church-Rosser}
- Theorem},
- journal = {Indagationes Mathematicae},
- year = {1972},
- volume = {34},
- pages = {381--392},
- number = {5}}
-
-@INPROCEEDINGS{BryTor:admcrfs98,
- author = {Fran{\c c}ois Bry and Sunna Torge},
- title = {A Deduction Method Complete for Refutation and Finite Satisfiability},
- year = {1998},
- number = {1489},
- pages = {122 -- 134},
- journal = {LNCS}}
-
-@TECHREPORT{BryTor:mgfaatmcffs,
- author = {Francois Bry and Sunna Torge},
- title = {{Model Generation for Applications -- A Tableaux Method Complete
- for Finite Satisfiability}},
- institution = {LMU Institut f{\"u}r Informatik, M{\"u}nchen},
- year = {1997},
- type = {Research Report},
- number = {PMS-FB-1997-15},
- location = {{\tt http://www.pms.informatik.uni-muenchen.de/publikationen/}}}
-
-@TECHREPORT{BryYah:puhtmmg,
- author = {Francois Bry and Adnan Yahya},
- title = {{Positive Unit Hyper-Resolution Tableaux for Minimal Model Generation}},
- institution = {LMU Institut f{\"u}r Informatik, M{\"u}nchen},
- year = {1997},
- type = {Research Report},
- number = {PMS-FB-1997-8},
- location = {{\tt http://www.pms.informatik.uni-muenchen.de/publikationen/}}}
-
-@inproceedings{AutSac:fcboapl06,
- author = {Serge Autexier and Sacerdoti Coen, Claudio},
- title = {A Formal Correspondence Between OMDoc with Alternative Proofs and the
- $\overline\lambda\mu\tilde\mu$-calculus},
- pages = {67--81},
- ee = {http://dx.doi.org/10.1007/11812289_7},
- crossref = {MKM06},
- pubs = {projects/omdocbiblio}}
-
-@INPROCEEDINGS{Buchberger:synasc03,
- author = {Bruno Buchberger},
- title = {Algorithm invention and verification by lazy thinking},
- crossref = {SYNASC03}}
-
-@ARTICLE{Buchberger96,
- author = {Bruno Buchberger},
- title = {{Mathematische} {Software}-{Systeme}: {Drastische} {Erweiter} ung
- des ``{Intelligenzniveaus}'' entsprechender {Programme} erwartet.},
- journal = {Informatik Spektrum},
- year = {1996},
- volume = {19/2},
- pages = {100--101}}
-
-@ARTICLE{Buchberger:mssdei96,
- author = {Bruno Buchberger},
- title = {{Mathematische Software-Systeme: Drastische Erweiterung des
- ``Intelligenzniveaus''
- entsprechender Programme erwartet.}},
- journal = {Informatik Spektrum},
- year = {1996},
- volume = {19},
- pages = {100--101},
- number = {2}}
-
-@INPROCEEDINGS{buchberger97survey,
- author = {Bruno Buchberger and Tudor Jebelean and Franz Kriftner and Mircea
- Marin and Elena Tomuta and Daniela Vasaru},
- title = {A Survey of the Theorema Project},
- booktitle = {International Symposium on Symbolic and Algebraic Computation},
- year = {1997},
- pages = {384--391},
- url = {citeseer.nj.nec.com/buchberger97survey.html}}
-
-@INPROCEEDINGS{bundy02critique,
- author = {Alan Bundy},
- title = {A Critique of Proof Planning},
- booktitle = {{Computational Logic: Logic Programming and Beyond -- Essays in Honour
- of Robert A. Kowalski, Part II}},
- year = {2002},
- editor = {Antonis C. Kakas and Fariba Sadri},
- number = {2408},
- series = {LNCS},
- pages = {160--177},
- publisher = {Springer}}
-
-@INPROCEEDINGS{Bundy90,
- author = {Alan Bundy},
- crossref = {CADE90},
- pages = {633--640},
- annote = {Full version in~\cite{Complog89}}}
-
-@ARTICLE{BunHar:ewppfi91,
- author = {A. Bundy and F. van Harmelen and J. Hesketh and A. Smaill},
- title = {Experiments with proof plans for induction},
- journal = {Journal of Automated Reasoning},
- year = {1991},
- volume = {7},
- pages = {303--324}}
-
-@ARTICLE{Bundyetal91,
- author = {A. Bundy and F. van Harmelen and J. Hesketh and A. Smaill},
- title = {{Experiments with proof plans for induction}},
- journal = {Journal of Automated Reasoning},
- year = {1991},
- volume = {7},
- pages = {303--324}}
-
-@INPROCEEDINGS{lclam2,
- author = {A. Bundy and F. van Harmelen and C. Horn and A. Smaill},
- title = {{The Oyster-Clam System}},
- crossref = {CADE90},
- pages = {647--648}}
-
-@INPROCEEDINGS{Bundyetal90,
- author = {A. Bundy and F. van Harmelen and A. Ireland and A. Smaill},
- title = {{Extensions to the rippling-out tactic for guiding inductive proofs}},
- crossref = {CADE90},
- pages = {132--146}}
-
-@INPROCEEDINGS{BuHa90b,
- author = {Alan Bundy and Frank van Harmelen and Alan Smaill and Andrew Ireland},
- title = {Extensions to the Rippling-Out Tactic for Guiding Inductive Proofs},
- crossref={CADE90},
- pages = {132--146}}
-
-@ARTICLE{BundyStevens:rahfgip93,
- author = {Alan Bundy and Andrew Stevens and Frank van Harmelen and Andrew Ireland
- and Alan Smaill},
- title = {Rippling: A heuristic for guiding inductive proofs},
- journal = {Journal for Artificial Intelligence},
- year = {1993},
- volume = {62},
- pages = {185--253}}
-
-@ARTICLE{BunSte:rahfgip93,
- author = {Alan Bundy and A. Stevens and Frank van Harmelen and Andrew Ireland
- and Alan Smaill},
- title = {Rippling:a Heuristic for Guiding Inductive Proofs},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {62},
- pages = {185--253}}
-
- @online{khan:ed13:on,crossref={khan:ed13:base},
- url = {https://www.khanacademy.org/exercisedashboard},
- urldate = {2013-05-09}}
- @misc{khan:ed13,crossref={khan:ed13:base},
- howpublished={\url{https://www.khanacademy.org/exercisedashboard}}}
- @misc{khan:ed13:base,
- author = "Khan Academy",
- title = "{Exercise Dashboard}",
- year = {2013}}
-
-@INPROCEEDINGS{bktt02:asd,
- author = {Peter Buneman and Sanjeev Khanna and Keishi Tajima and Wang Chiew
- Tan},
- title = {{Archiving} {Scientific} {Data}},
- booktitle = {{SIGMOD} Conference},
- year = {2002},
- url = {citeseer.ist.psu.edu/buneman02archiving.html}}
-
-@INPROCEEDINGS{BunKha:asd02,
- author = {Peter Buneman and Sanjeev Khanna and Keishi Tajima and Wang Chiew
- Tan},
- title = {Archiving Scientific Data},
- booktitle = {ACM SIGMOD International Conference on Management of Data (SIGMOD)},
- year = {2002}}
-
-@MASTERSTHESIS{BurWal:mg02,
- author = {Aljoscha Burchard and Stephan Walther},
- title = {{BuGS} A Tableau Machine for Language Understanding},
- school = {Computational Linguistics, Saarland University},
- year = {2001}}
-
-@ARTICLE{Burmeister82,
- author = {P. Burmeister},
- title = {Partial Algebras -- survey of an unifying approach towards a two-valued
- model theory for partial algebras},
- journal = {Algebra Universalis},
- year = {1982},
- volume = {15},
- note = {beschaffen},
- keyowrds = {PartialFuncs}}
-
-@INPROCEEDINGS{BusHor98,crossref={BuHo:INLGWS98}}
-@INPROCEEDINGS{BuHo:INLGWS98,
- author = {Stephan Busemann and Helmut Horacek},
- title = {A Flexible Shallow Approach to Text Generation},
- booktitle = {International Workshop on Natural Language Generation},
- year = {1998},
- keywords = {!OMEGA!,ARTICLE}}
-
-@INPROCEEDINGS{buswell99:mathematics-xml,
- author = {Stephen Buswell},
- title = {The Interchange of Mathematics in {XML}: {MathML}, {OpenMath} and
- their Application},
- booktitle = {Proceedings of XML Europe 99},
- year = {1999},
- month = may,
- url = {http://www.infoloom.com/gcaconfs/WEB/granada99/bus.HTM}}
-
-
-
-
-@INPROCEEDINGS{Butler92,
- author = {G. Butler},
- title = {The Progress Towards an Intelligent Assistant -- A Discussion Paper},
- pages = {107--115},
- address = {International Conference, AISMC-1 Karlsruhe \GERMANY}}
-
-@BOOK{Butler:fafpg91,
- title = {Fundamental Algorithms for Permutation Groupes},
- publisher = {Springer Verlag},
- year = {1991},
- author = {Greg Butler},
- number = {559},
- series = {LNCS}}
-
-@ARTICLE{CB:sbpos89,
- author = {Czeslaw Bylinski},
- title = {Some Basic Properties of Sets},
- journal = {Journal of Formalized Mathematics},
- year = {1989},
- volume = {1}}
-
-@INPROCEEDINGS{ags-2002-d-24,
- author = {Jochen B{\"u}denbender and Erik Andres and Adrian Frischauf and George
- Goguadze and Paul Libbrecht and Erica Melis and Carsten Ullrich},
- title = {Using Computer Algebra Systems as Cognitive Tools},
- booktitle = {6\textsuperscript{th} International Conference on Intelligent Tutor Systems (ITS-2002)},
- year = {2002},
- editor = {S. A. Cerri and G. Gouarderes and F. Paraguacu},
- number = {2363},
- series = {LNCS},
- pages = {802--810},
- publisher = {Springer},
- annote = {bei erica, ISBN 3-540-43750-9}}
-
-@INPROCEEDINGS{CafPel:dpmbt95,
- author = {Ricardo Caferra and Nicolas Peltier},
- title = {{Decision Procedures using Model Building techniques}},
- booktitle = {Computer Science Logic (CSL '95)},
- year = {1995}}
-
-@ARTICLE{CafZab:amfssframbecs,
- author = {Ricardo Caferra and Nicolas Zabel},
- title = {{A Method for simultaneous Search for Refutations and Models by Equational
- Constraint Solving}},
- journal = {Journal of Symbolic Computation},
- year = {1995},
- volume = {1},
- pages = {1--29},
- number = {11},
- month = nov}
-
-@INPROCEEDINGS{CalReaZee:gucg89,
- author = {Joe Calder and Reape, Michael and Zeevat, Henk},
- title = {An algorithm for generation in unification categorial grammar},
- booktitle = {Proceedings of {EACL} '89},
- year = {1989},
- address = {Manchester}}
-
-@ARTICLE{Calmet:caaai97,
- author = {Jacques Calmet},
- title = {Computer Algebra and Artificial Intelligence},
- journal = {Mathematics and Computers in Simulation }}
-
-@UNPUBLISHED{CalHom:pigt97,
- author = {Jacques Calmet and Karsten Homann},
- title = {Proofs in Group Theory: An Interface between DTP and MAGMA},
- note = {Submitted to Journal of Symbolic Computing}}
-
-@ARTICLE{CalHom:tamsb97,
- author = {Jacques Calmet and Karsten Homann},
- title = {Towards a Mathematics Software Bus},
- journal = {Theoretical Computer Science},
- year = {1997},
- volume = {107}}
-
-@BOOK{CanPla:apwm98,
- title = {{Algebraic Programming with Magma}},
- publisher = {Springer-Verlag},
- year = {1998},
- author = {J. Cannon and C. Playoust},
- volume = {1, 2}}
-
-@UNPUBLISHED{CapCoh:doms98,
- author = {Olga Caprotti and Arjeh M. Cohen},
- title = {Draft of the {Open Math} Standard},
- note = {{The Open Math Society},~\url{http://www.openmath.org}},
- year = {1998},
- key = {Caprotti}}
-
-@TECHREPORT{CS-02-a,
- author = {Olga Caprotti and Wolfgang Schreiner},
- title = {MathBroker Overview},
- institution = {Project Report, RISC-Linz, Johannes Kepler University, Linz, Austria},
- year = {2002}}
-
-@INCOLLECTION{CaKn:paiafp90,
- author = {J. G. Carbonell and C. A. Knoblock and S.Minton and M. M. Veloso},
- title = {Prodigy: An Integrated Architecture for Planning and Learning},
- booktitle = {Architecture for Intelligence},
- publisher = {Erlbaum},
- year = {1990},
- editor = {K. VanLehn},
- address = {Hillsdale},
- note = {also Tech Report CMU-CS-89-189}}
-
-@ARTICLE{Cardelli88,
- author = {Luca Cardelli},
- title = {A Semantics of multiple Inheritance},
- journal = {Information and Computation},
- year = {1988},
- volume = {76},
- pages = {138--164}}
-
-@INCOLLECTION{CaWe85,
- author = {Luca Cardelli and P. Wegener},
- booktitle = {ACM Computing Surveys},
- year = {1985},
- number = {17}}
-
-@TECHREPORT{CarIon:MathML01,
- crossref = {CarIon:MathML03}}
-
-@ARTICLE{Carlson:uaebp77,
- author = {Carlson, G.},
- title = {A unified analysis of the {English} bare plural},
- journal = {Linguistics \& Philosophy},
- year = {1977},
- volume = {1},
- pages = {413--457}}
-
-@BOOK{carn:abri29,
- title = {Abri{\ss} der {Logistik}},
- publisher = {Verlag von Julius Springer},
- year = {1929},
- author = {Carnap, R.},
- address = {Vienna}}
-
-@ARTICLE{Carnielli91,
- author = {Walter A. Carnielli},
- title = {On Sequents and tableaux for many-valued Logics},
- journal = {Journal of Non-Classical Logic},
- year = {1991},
- volume = {8},
- pages = {59--76},
- number = {1}}
-
-@ARTICLE{Carnielli87,
- author = {Walter A. Carnielli},
- title = {SystematiZation of finite many-valued Logics through the method of
- tableaux},
- journal = {Journal of Symbolic Logic},
- year = {1987},
- volume = {52},
- pages = {473--493}}
-
-@INCOLLECTION{Carpenter:sacduwattai94,
- author = {Bob Carpenter},
- title = {Skeptical and credulous default unification with applications to
- templates and inheritance},
- booktitle = {Inheritance, Defaults and the Lexicon},
- publisher = {Cambridge University Press},
- year = {1994},
- editor = {Ted Briscoe and others},
- pages = {13--37}}
-
-@BOOK{Carpenter92,
- title = {The Logic of Typed Feature Structures},
- publisher = {Cambridge University Press},
- year = {1992},
- author = {Bob Carpenter},
- number = {32},
- series = {Cambridge Tracts in Theoretical Computer Science}}
-
-@BOOK{Carpenter:tlotfs92,
- title = {The Logic of typed feature structures},
- publisher = {Cambridge University Press},
- year = {1992},
- author = {Bob Carpenter}}
-
-@INPROCEEDINGS{CarpenterJust:3cssfm95,
- author = {P. A. Carpenter and M. A. Just},
- title = {3{CAPS}---Simulation Systems for Modeling a Limited-Capacity Working
- Memory},
- booktitle = {Proceedings of the 17\textsuperscript{th} {Annual} {Conference} of the {Cognitive}
- {Science} {Society}},
- year = {1995}}
-
-@INCOLLECTION{ContestedTerrainGenderAndMedia,
- author = {Cynthia Carter and Linda Steiner},
- title = {{Mapping the Contested Terrain of Media and Gender Research}},
- booktitle = {{Critical Readings: Media and Gender}},
- publisher = {Open University Press},
- year = {2004},
- editor = {Cynthia Carter and Linda Steiner},
- pages = {11--36}}
-
-@PHDTHESIS{Chao:oe87,
- author = {Wyn Chao},
- title = {On Ellipsis},
- school = {University of Massachusssetts},
- year = {1987}}
-
-@BOOK{ChaGed:flatim92,
- title = {First leaves: a tutorial introduction to Maple V},
- publisher = {Springer Verlag},
- year = {1992},
- author = {Char, Bruce W. and Geddes, Keith O. and Gonnet, Gaston H. and Leong,
- Benton L. and Monagan, Michael B. and Watt, Stephen M.},
- address = {Berlin}}
-
-@INPROCEEDINGS{Charniak:antomp86,
- author = {E. Charniak},
- title = {A neat theory of marker passing},
- booktitle = {Proceedings {AAAI}-86},
- year = {1986}}
-
-@INPROCEEDINGS{ChaRaj:cdhsi96,
- author = {Sudarshan S. Chawathe and Anand Rajaraman and Hector Garcia-Molina
- and Jennifer Widom},
- title = {Change detection in hierarchically structured information},
- booktitle = {ACM SIGMOD International Conference on Management of Data (SIGMOD)},
- year = {1996},
- pages = {493--504},
- url = {citeseer.nj.nec.com/chawathe96change.html}}
-
-@INPROCEEDINGS{Cheikhrouhou97ki,
- author = {Lassaad Cheikhrouhou},
- title = {{Planning Diagonalization Proofs}},
- booktitle = {21\textsuperscript{st} Annual German Conference on Artificial Intelligence (KI'97)},
- year = {1997},
- editor = {Gerhard Brewka and Christopher Habel and Bernhard Nebel},
- pages = {377--380}}
-
-@PHDTHESIS{Cheikhrouhou:diss,
- author = {Lassaad Cheikhrouhou},
- title = {A New Proof Planning Framework and Proofs by Diagonalization in {$\Omega$\sc
- mega}},
- school = {Universit{\"a}t des Saarlandes},
- address = {Saarbr{\"u}cken\GERMANY}}
-
-@PHDTHESIS{Cheikhrouhou04diss,
- author = {Lassaad Cheikhrouhou},
- title = {Proof Planning},
- school = {Computer Science Department, Saarland University, Saarbr{\"u}cken,
- Germany},
- year = {2004},
- note = {to appear}}
-
-@INPROCEEDINGS{Cheikhrouhou99-FLoC99-WS,
- author = {Lassaad Cheikhrouhou},
- title = {Proof {Planning} using {Strategic} {Methods}},
- booktitle = {Proceedings of the FLoC'99 Workshop on Strategies in Automated Deduction
- (STRATEGIES'99)},
- year = {1999},
- month = jul}
-
-@INPROCEEDINGS{ChSi-AIMSA98,
- author = {Lassaad Cheikhrouhou and J{\"o}rg H. Siekmann},
- title = {{Planning} {Diagonalization} {Proofs}},
- booktitle = {Proceedings of 8\textsuperscript{th} International Conference on Artificial Intelligence:
- Methodology, Systems, Applications (AIMSA'98)},
- year = {1998},
- editor = {Fausto Giunchiglia},
- pages = {167--180},
- address = {Sozopol, Bulgaria},
- month = sep,
- publisher = {Springer Verlag, Berlin\GERMANY, LNAI\ 1480}}
-
-@INPROCEEDINGS{ChSo00,
- author = {Lassaad Cheikhrouhou and Volker Sorge},
- title = {{PDS} --- A Three-Dimensional Data Structure for Proof Plans},
- booktitle = {Proceedings of the International Conference on Artificial and Computational
- Intelligence for Decision, Control and Automation in Engineering
- and Industrial Applications (ACIDCA'2000)},
- year = {2000},
- address = {Monastir, Tunisia},
- month = {22--24 {\March}},
- pages = {144--149},
- url = {http://www.ags.uni-sb.de/~sorge/publications/1998/cade98-ws.ps.gz}}
-
-@INPROCEEDINGS{ChSo98,
- author = {Lassaad Cheikhrouhou and Volker Sorge},
- title = {{Planning Equivalence Proofs}},
- booktitle = {Workshop on Using AI Methods in Deduction at CADE-15},
- year = {1998},
- month = {\July 6--9},
- url = {http://www.ags.uni-sb.de/~sorge/publications/1998/cade98-ws.ps.gz}}
-
-@ARTICLE{Chester:ttofpi76,
- author = {Daniel Chester},
- title = {The Translation of Formal Proofs into {English}},
- journal = {AI},
- year = {1976},
- volume = {7},
- pages = {178--216}}
-
-@INPROCEEDINGS{ChiTsoZan:vmxd01,
- author = {Shu-Yao Chien and Vassilis J. Tsotras and Carlo Zaniolo},
- title = {Version Management of {XML} Documents: Copy-Based versus Edit-Based
- Schemes},
- booktitle = {RIDE-DM 2001}}
-
-@Book{Hu-96-a,
- author = {Huang, Xiaorong},
- title = {Human Oriented Proof Presentation: A Reconstructive Approach},
- publisher = {Infix},
- year = 1996,
- number = 112,
- series = {DISKI},
- address = {Sankt Augustin, Germany}}
-@InProceedings{mkmlanguage,
- author = {Autexier, Serge and Benzm{\"u}ller, Christoph and Fiedler, Armin and Horacek,
- Helmut and Vo, Quoc Bao},
- title = {Assertion Level Proof Representation with Underspecification},
- booktitle = {Proceedings of {MKM} Symposium},
- year = 2003,
- editor = {Kamareddine, Fairouz},
- address = {Heriot-Watt, Edinburgh},
- month = nov}
-@inproceedings{AF-05-a,
- author = {Serge Autexier and Armin Fiedler},
- crossref = {MKM05},
- title = {Textbook Proofs Meet Formal Logic -- The Problem of Underspecification and
- Granularity}}
-@Unpublished{dialog,
- key = {R30,lamapunbibs},
- author = {Manfred Pinkal and J{\"o}rg Siekmann and Christoph Benzm{\"u}ller and Ivana
- Kruijff-Korbayova},
- title = {DIALOG: Natural Language-based Interaction with a Mathematics Assistance
- System},
- note = {Project proposal in the Collaborative Research Centre SFB 378 on
- Resource-adaptive Cognitive Processes},
- pages = {1--31},
- year = 2004,
- url = {http://www.ags.uni-sb.de/~chris/papers/R30.pdf}}
-
-
-@ARTICLE{ChiTsoZan:xdv01,
- author = {Shu-Yao Chien and Vassilis J. Tsotras and Carlo Zaniolo},
- title = {{XML} Document Versioning},
- journal = {SIGMOD Records},
- year = {2001},
- volume = {30},
- number = {3}}
-
-@inproceedings{CarCon:tpc12,
- title = {Theory Presentation Combinators},
- author = {Jacques Carette and Russell O'Connor},
- crossref = {CICM12},
- pages = {202--215},
- url = {http://www.cas.mcmaster.ca/~carette/publications/tpc.pdf}}
-
-@inproceedings{Windsteiger:smccptstp01,
- author = {Wolfgang Windsteiger},
- title = {On a Solution of the Mutilated Checkerboard Problem using the Theorema Set Theory Prover},
- pages = {28--47},
- crossref = {CALCULEMUS01}}
-
-
-@Misc{URL:creativecommonsWorldwide,crossref={creativecommonsWorldwide:base},
- key = {Creative Commons Worldwide},
- howpublished = {\webpageat\url{http://creativecommons.org/worldwide}}}
-@online{creativecommonsWorldwide:on,crossref={creativecommonsWorldwide:base},
- label = {CCW},
- urldate = {2014-11-02}}
-@Misc{creativecommonsWorldwide:base,
- title = {{Creative Commons Worldwide}},
- url = {http://creativecommons.org/worldwide}}
-
-@Misc{URL:creativecommonsMetadata,crossref={creativecommonsMetadata:base},
- key = {Creative Commons Worldwide},
- howpublished = {\webpageat\url{http://creativecommons.org/worldwide}}}
-@online{creativecommonsMetadata:on,crossref={creativecommonsMetadata:base},
- label = {CCM},
- urldate = {2014-11-02}}
-@Misc{creativecommonsMetadata:base,
- title = {{Metadata Commons Worldwide}},
- url = {http://creativecommons.org/learn/technology/metadata}}
-
-@INPROCEEDINGS{ChiTsoZanZha:ecqsmxd02,
- author = {Shu-Yao Chien and Vassilis J. Tsotras and Carlo Zaniolo and Donghui
- Zhang},
- title = {Efficient Complex Query Support for Multiversion {XML} Documents},
- booktitle = {The 8\textsuperscript{th} Conference on Extending Database Technology (EDBT 2002)},
- year = {2002}}
-
-@INPROCEEDINGS{ChiTsoZanZha:sqmxd01,
- author = {Shu-Yao Chien and Vassilis J. Tsotras and Carlo Zaniolo and Donghui
- Zhang},
- title = {Storing and Querying Multiversion {XML} Documents using Durable Node
- Numbers},
- booktitle = {Proc. of The 2\textsuperscript{nd} International Conference on Web Information Systems
- Engineering (WISE)},
- year = {2001}}
-
-@BOOK{Chierchia:dom95,
- title = {Dynamics of Meaning: Anaphora, Presupposition, and the Theory of
- Grammar},
- publisher = {The University of Chicago Press},
- year = {1995},
- author = {Chierchia, Gennaro}}
-
-@ARTICLE{Chierchia:qwq93,
- author = {Chierchia, Gennaro},
- title = {Questions with quantifiers},
- journal = {Natural Language Semantics},
- keywords = {lamapunbibs},
- year = {1993},
- volume = {1},
- pages = {181--234}}
-
-@ARTICLE{Chierchia:adb92,
- author = {Chierchia, Gennaro},
- title = {Anaphora and Dymaic Binding},
- journal = {Language \& Philosophy},
- year = {1992},
- volume = {15},
- pages = {111--183}}
-
-@BOOK{chie:mean91,
- title = {Meaning and {Grammar}},
- publisher = {MIT Press},
- year = {1991},
- author = {Chierchia, G. and McConnell-Ginet, S.},
- address = {Cambridge, Massachusetts}}
-
-@ARTICLE{ChiTur:man88,
- author = {G. Chierchia and R. Turner},
- title = {Semantics and Property Theory},
- journal = {Linguistics and Philosophy},
- year = {1988},
- volume = {11},
- pages = {261--302}}
-
-@TECHREPORT{ags-2001-d-2,
- author = {Seungyeob Choi and Andreas Meier},
- title = {Proof Planning in Omega with Semantic Guidance},
- institution = {University of Birmingham, School of Computer Science},
- year = {2001},
- number = {CSRP--01--11},
- month = dec,
- email = {S.Choi@cs.bham.ac.uk},
- file = {/2001/CSRP-01-11.ps.gz},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2001/CSRP-01-11.ps.gz}}
-
-@INBOOK{ChoLas:papt91,
- chapter = {Principles and Parameter Theory},
- title = {Syntax: An International Handbook of Contemporary Research},
- publisher = {Walter de Gruyter},
- year = {1991},
- editor = {J. Jacobs and A. van Stechow and W. Sternefeld and T. Vennemann},
- author = {Noam Chomsky and Howard Lasnik},
- note = {To appear}}
-
-@BOOK{Chomsky:b86,
- title = {Barriers},
- publisher = {MIT Press},
- year = {1986},
- author = {Noam Chosmky},
- address = {Cambridge, Massachusetts}}
-
-@BOOK{Chomsky:ligab81,
- title = {Lectures in Government and Binding},
- publisher = {Foris},
- year = {1981},
- author = {Noam Chosmky},
- address = {Dordrecht}}
-
-@MASTERSTHESIS{Christen97,
- author = {Christen, Michael},
- title = {A Calculus of Simplification for Superposition},
- school = {Universit{\"a}t des Saarlandes},
- year = {1997},
- type = {Diplomarbeit (Ganzinger)},
- address = {Saarbr{\"u}cken},
- bibtype = {MASTERSTHESIS},
- idnumber = {D 12808},
- location = {Fachbereichsbibliothek Informatik},
- signature = {CHR m 97:1},
- status = {available}}
-
-@ARTICLE{chur:form40,
- author = {Church, A.},
- title = {A {Formulation} of the {Simple} {Theory} of {Types}},
- journal = {Journal of Symbolic Logic},
- year = {1940},
- volume = {5},
- pages = {56--68}}
-
-@ARTICLE{Church:afotst40,
- author = {Alonzo Church},
- title = {A Formulation of the Simple Theory of Types},
- journal = {Journal of Symbolic Logic},
- year = {1940},
- volume = {5},
- pages = {56--68}}
-
-@ARTICLE{Church:asopft32,
- author = {Alonzo Church},
- title = {A set of postulates for the foundation of logic},
- journal = {Anals of Mathematics},
- year = {1932/33},
- volume = {2},
- pages = {346--366 and 839--864},
- number = {33-34}}
-
-@INPROCEEDINGS{ClaHav:catgnc74,
- author = {Clark, H. H. and Haviland, S. E.},
- title = {Comprehension and the given-new contract},
- booktitle = {Discourse production and comprehension (Vol.1)},
- year = {1974},
- editor = {Freedle, R. O.},
- publisher = {Ablex, Norwood, NJ}}
-
-@INCOLLECTION{Clark:b77,
- author = {Clark, H. H.},
- title = {Bridging},
- booktitle = {Thinking: Readings in Cognitive Science},
- publisher = {Cambridge University Press, Cambridge},
- year = {1977},
- editor = {P. N. Johnson-Laird and P. C. Wason}}
-
-@MISC{Clark:csx97,
- author = {James Clark},
- title = {Comparison of SGML and XML},
- howpublished = {World Wide Web Consortium Note},
- year = {1997},
- url = {http://www.w3.org/TR/NOTE-sgml-xml.html}}
-
-@TECHREPORT{Clarke94,
- author = {Edmund Clarke and Xudong Zhao},
- title = {{Combining} {Symbolic} {Computation} and {Theorem} {Proving}: {Some}
- {Problems} of {Ramanujan}},
- institution = {Carnegie Mellon University, School of Computer Science},
- year = {1994},
- type = {Technical Report},
- number = {CMU//CS-94-103},
- month = jan,
- pages = {10}}
-
-@TECHREPORT{Clarke92-1,
- author = {Edmund Clarke and Xudong Zhao},
- title = {{Analytica} -- {A} {Theorem} {Prover} for {Mathematica}},
- institution = {Carnegie Mellon University, School of Computer Science},
- year = {1992},
- type = {Technical Report},
- number = {CMU//CS-92-117},
- month = oct,
- pages = {45}}
-
-@TECHREPORT{Clarke92-2,
- author = {Edmund Clarke and Xudong Zhao},
- title = {{Analytica} -- {An} {Experiment} in {Combining} {Theorem} {Proving}
- and {Symbolic} {Computation}},
- institution = {Carnegie Mellon University, School of Computer Science},
- year = {1992},
- type = {Technical Report},
- number = {CMU//CS-92-147},
- month = oct,
- pages = {19}}
-
-@INPROCEEDINGS{Clarke92proc,
- author = {Edmund Clarke and Xudong Zhao},
- title = {{Analytica}-{A} {Theorem} {Prover} in {Mathematica}},
- booktitle = {Automated Deduction-{CADE}-II},
- year = {1992},
- pages = {761--763},
- address = {11\textsuperscript{th} International Conference on Automated Deduction, Saratoga Springs,
- New York},
- month = {15.--18. Juni}}
-
-@INPROCEEDINGS{ClHu94,
- author = {J{\"u}rgen Cleve and Dieter Hutter},
- title = {{A methodology for equational reasoning}},
- booktitle = {Proceedings Hawaii International Conference on System Sciences 27},
- year = {1994}}
-
-@TECHREPORT{ClHu93,
- author = {J{\"u}rgen Cleve and Dieter Hutter},
- title = {Guiding equational proofs by attribute functions},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1993},
- type = {Technical Report},
- number = {SR-93-15}}
-
-@BOOK{ClMe81,
- title = {Programming in Prolog},
- publisher = {Springer Verlag},
- year = {1981},
- author = {W. F. Clocksin and C. S. Mellish}}
-
-@TECHREPORT{CoFI98,
- author = {CoFI, Language Design Task Group},
- title = {CASL --- The {CoFI} Algebraic Specification Language --- Summary,
- version 1.0},
- url = {http://www.brics.dk/Projects/CoFI},
- year = {1998}}
-
-@BOOK{CohCuySterk:ida99,
- title = {Algebra Interactive!},
- publisher = {Springer Verlag},
- year = {1999},
- author = {Arjeh Cohen and Hans Cuypers and Hans Sterk},
- note = {Interactive Book on CD}}
-
-@INPROCEEDINGS{cmps-cade03,
- author = {Arjeh Cohen and Scott Murray and Martin Pollet and Volker Sorge},
- title = {Certifying Solutions to Permutation Group Problems},
- NOcrossref = {CADE03},
- pages = {258--273}}
-
-@TECHREPORT{CoMe94,
- author = {A. M. Cohen and L. Meertens},
- title = {{The} {ACELA} {Project}: {Aims} and {Plans}},
- institution = {CWI},
- year = {1994},
- address = {Amsterdam, Niederlande}}
-
-@ARTICLE{Cohn89,
- author = {Anthony G. Cohn},
- title = {Taxonomic reasoning with many-sorted Logics},
- journal = {Artificial Intelligence Review},
- year = {1989},
- volume = {3},
- pages = {89--128}}
-
-@ARTICLE{Cohn87,
- author = {Anthony G. Cohn},
- title = {A More Expressive Forumlation of Many Sorted Logic},
- journal = {Journal of Autmated Reasoning},
- year = {1987},
- volume = {3},
- pages = {113--200}}
-
-@INCOLLECTION{CollinotH92,
- author = {Anne Collinot and Barbara Hayes-Roth},
- title = {Real-Time Performance of Intelligent Autonomous Agents},
- booktitle = {Decentralized AI 3: Proc.\ of the Third European Workshop on Modelling
- Autonomous Agents in a Multi-Agent World},
- publisher = {North-Holland},
- year = {1992},
- editor = {E. Werner and Y. Demazeau},
- pages = {341--356},
- address = {Amsterdam}}
-
-@INPROCEEDINGS{colton:cade02,
- author = {Simon Colton},
- title = {The {HR} Program for Theorem Generation},
- booktitle = {Proceedings of the 18\textsuperscript{th} International Conference on {Automated} {Deduction}
- (CADE-18)},
- year = {2002},
- number = {2392},
- series = {LNAI},
- pages = {285--289},
- address = {K{\o}benhavn},
- publisher = {Springer}}
-
-@MISC{xmlrpc,
- author = {Userland Com.},
- title = {{XML} {Remote} {Procedure} {Call} {Specification}},
- url = {http://www.xmlrpc.com/},
- howpublished = {\webpageat\url{http://www.xmlrpc.com/}}}
-
-@online{Solr,crossref={Solr:base},urldate={2010-06-24}}
-@online{Solr:on,crossref={Solr:base},urldate={2010-06-24}}
-@online{Solr:base,
- key = {Solr},
- label = {Solr},
- author = {{Apache Software Foundation}},
- title = {{Apache Solr}},
- url = {http://lucene.apache.org/solr/}}
-
-@MISC{NutchURL,crossref={Nutch:base},
- howpublished = {\url{http://nutch.apache.org/}},
- key = {Nutch}}
-@online{nutch:on,crossref = {Nutch:base},urldate={2012-04-06}}
-@MISC{Nutch:base,
- label = {Nutch},
- author = {{Apache Software Foundation}},
- title = {Welcome to Apache Nutch\textregistered},
- url = {http://nutch.apache.org/}}
-
-@online{lucene:on,
- crossref = {Lucene:base},
- urldate = {2010-05-04}}
-
-@MISC{LuceneURL,
- howpublished = {\url{http://lucene.apache.org/}},
- year = {2000--2006},
- crossref={Lucene:base}}
-
-@MISC{Lucene:base,
- author = {{Apache Software Foundation}},
- title = {Lucene},
- url = {http://lucene.apache.org/},
- key = {Lucene}}
-
-@MISC{mizar,
- title = {Mizar},
- howpublished = {\url{http://www.mizar.org}},
- url = {http://www.mizar.org},
- key = {Mizar},
- year = {1973--2006}}
-
-@online{mizar:online,
- label = {Miz},
- title = {Mizar},
- url = {http://www.mizar.org},
- urldate = {2013-02-27},}
-
-@online{FormalizedMathematics,
- title = {Formalized Mathematics},
- subtitle = {a computer assisted approach},
- url = {http://fm.mizar.org},
- urldate = {2009-12-02}}
-
-@online{MizarSystem,crossref={MizarSystem:base},
- urldate = {2010-07-31}}
-
-@misc{MizarSystem:web,crossref={MizarSystem:base},
-}
-
-@misc{MizarSystem:base,
- title = {Mizar System},
- url = {http://mizar.org/system/},
-}
-
-@online{MizarKB:on,
- label = {MizLib},
- crossref = {MizarKB:base},
- urldate = {2012-09-27}}
-
-@MISC{MizarKB,
- howpublished = {Web Page at {\url{http://www.mizar.org/library}}},
- note = {\seen May 2008},
- key = {MizarKB},
- crossref = {MizarKB:base}}
-
-@MISC{MizarKB:base,
- title = {Mizar Mathematical Library},
- url = {http://www.mizar.org/library}}
-
-@INPROCEEDINGS{Comon90a,
- author = {Hubert Comon},
- title = {Equational Formulas in Order-Sorted Algebras},
- booktitle = {Proc. ICALP-90},
- year = {1990},
- keywords = {OSL},
- location = {miko, Unif-bib}}
-
-@TECHREPORT{Comon90b,
- author = {Hubert Comon},
- title = {Solving Symbolic Ordering Constraints},
- institution = {CNRS},
- year = {1990},
- type = {Rapport de Recherche},
- number = {584},
- keywords = {OSL, Constraints},
- location = {miko, Unif-bib}}
-
-@MISC{connolly96:linking,
- editor = {Dan Connolly},
- author = {Scott Berkun and Eric Brown and Murray Maloney and Rory Stark and Liam Quin
- and Ramanathan V. Guha},
- title = {Describing and Linking Web Resources},
- howpublished = {\url{http://www.w3.org/Architecture/NOTE-link.html}},
- year = {1996},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} note},
- note = {Seen August 2006},
- url = {http://www.w3.org/Architecture/NOTE-link.html}}
-
-@BOOK{Constable86,
- title = {Implementing Mathematics with the Nuprl Proof Development System},
- publisher = {Prentice-Hall},
- year = {1986},
- author = {Robert L. Constable and S. Allen and H. Bromly and W. Cleaveland
- and J. Cremer and R. Harper and D. Howe and T. Knoblock and N. Mendler
- and P. Panangaden and J. Sasaki and S. Smith},
- address = {Englewood Cliffs, NJ\USA}}
-
-@ARTICLE{Conway:uncol58,
- author = {M. Conway},
- title = {Proposal for an UNCOL},
- journal = {Communications of the ACM},
- year = {1958},
- volume = {1}}
-
-@INCOLLECTION{Cooper:tiop79,
- author = {Robin Cooper},
- title = {The Interpretation of Pronouns},
- booktitle = {Syntax and Semantics},
- year = {1979},
- editor = {F. Heny and H. S. Schnelle},
- number = {10},
- pages = {61--93}}
-
-@BOOK{Cooper:qast83,
- title = {Quantification and syntactic theory},
- publisher = {Reidel},
- year = {1983},
- author = {Cooper, R.},
- address = {Dordrecht}}
-
-@ARTICLE{CopBri:spse95,
- author = {Copestake, A. and T. Briscoe},
- title = {Semi-productive polysemy and sense extension},
- journal = {Journal of Semantics},
- year = {1995},
- volume = {12},
- pages = {15--67}}
-
-@UNPUBLISHED{copflisag:mrsai97,
- author = {A. Copestake and D. Flickinger and I. Sag},
- title = {Minimal Recursion Semantics. {An} introduction},
- note = {CSLI, Stanford University},
- year = {1997},
- url = {ftp://ftp-csli.stanford.edu/linguistics/sag/mrs.ps.gz}}
-
-@TECHREPORT{CoqV6,
- author = {Projet Coq},
- title = {The Coq Proof Assistant (Version 6.0) --- Reference Manual},
- institution = {ENS Lyon -- INRIA Rocquencourt},
- year = {1996}}
-
-@TECHREPORT{CoGu88,
- author = {Thierry Coquand and Carl A. Gunter and Glynn Winskel},
- title = {Domain Theoretic Models of Polymorphism},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-38, LINC LAB 115},
- location = {miko}}
-
-@ARTICLE{CoquandHuet:tcoc88,
- author = {Thierry Coquand and G{\'e}rard Huet},
- title = {The {Calculus of Constructions}},
- journal = {Information and Computation},
- year = {1988},
- volume = {76},
- pages = {95--120},
- number = {2/3}}
-
-@INCOLLECTION{CoHu85,
- author = {Thierry Coquand and G{\'e}rard Huet},
- title = {A theory of Constructions},
- booktitle = {Semantics of Data Types},
- publisher = {Springer Verlag},
- year = {1985}}
-
-@TECHREPORT{CoscoyEtAl:etfp95:tr,
- author = {Yann Coscoy and Gilles Kahn and Laurent Th{\'e}ry},
- title = {Extracting Text from Proofs},
- institution = {INRIA},
- year = {1995},
- number = {2459},
- address = {Sophia-Antipolis France }}
-
-@TECHREPORT{CoGa85,
- author = {Bruno Courcelle and Jean H. Gallier},
- title = {Decidable Subcases of the equivalence Problem for Recursive Program
- Schemes},
- institution = {University of Pennsylvania},
- year = {1985},
- type = {Technical Report},
- number = {MS-CIS-85-15},
- location = {miko}}
-
-@INPROCEEDINGS{Coy:Softengines,
- author = {Wolfgang Coy},
- title = {{Soft Engines --- Mass-Produced Software for Working People?}},
- booktitle = {Software Development and Reality Construction},
- year = {1992},
- editor = {Christiane Floyd and Heinz Z{\"u}llighoven and Reinhard Budde and Reinhard
- Keil-Slawik},
- pages = {269--279},
- publisher = {Springer-Verlag},
- note = {Conference held at Schloss Eringerfeld in Germany, 1988}}
-
-@BOOK{crane05:ajaxinaction,
- title = {Ajax in Action},
- publisher = {Manning Publications},
- year = {2005},
- author = {Dave Crane and Eric Pascarello and Darren James},
- isbn = {1-932394-61-3}}
-
-@UNPUBLISHED{CriWeb:eiidp97,
- author = {Dan Cristea and Bonnie Lynn Webber},
- title = {Expectations in Incremental Discourse Processing},
- note = {Proceedings of {ACL}},
- year = {1997}}
-
-@INPROCEEDINGS{Crouch:eqsa95,
- author = {Crouch, R.},
- title = {Ellipsis and quantification: a substitutional approach},
- booktitle = {Proceedings of {EACL}'95},
- year = {1995},
- pages = {229--236}}
-
-@INCOLLECTION{Crutzen:ICTRepresentations,
- author = {Cecile K. M. Crutzen},
- title = {{ICT-Representations as Transformative Critical Rooms}},
- booktitle = {{Agents of Change}},
- publisher = {Leske {and} Budrich},
- year = {2003},
- editor = {Gabriele Kreutzner, Heidi Schelhowe},
- pages = {87--106}}
-
-@PHDTHESIS{Cullingford:sa78,
- author = {R. E. Cullingford},
- title = {Script Application: Computer Understanding of Newspaper Stories},
- school = {Yale University, New Haven, CT},
- year = {1978}}
-
-@online{cunningham:wiki-design-principles:on,
- urldate = {2009-10-29},
- crossref = {cunningham:wiki-design-principles:base}}
-
-@MISC{cunningham:wiki-design-principles,
- howpublished = {\url{http://c2.com/cgi/wiki?WikiDesignPrinciples}},
- note = {last edited July 2006},
- note = {Seen August 2006},
- crossref = {cunningham:wiki-design-principles:base}}
-
-@MISC{cunningham:wiki-design-principles:base,
- author = {Ward Cunningham and others},
- title = {Wiki Design Principles},
- url = {http://c2.com/cgi/wiki?WikiDesignPrinciples}}
-
-@online{c2:PPP,
- urldate = {2010-10-03},
- url = {http://c2.com/cgi/wiki?PeopleProjectsAndPatterns},
- title = {People, Projects, and Patterns}}
-
-@online{cunningham:whatiswiki:on,
- urldate = {2009-10-28},
- date = {2002-06-27},
- crossref = {cunningham:whatiswiki:base}}
-
-@MISC{cunningham:whatiswiki,
- howpublished = {\url{http://wiki.org/wiki.cgi?WhatIsWiki}},
- note = {Seen November 2006},
- crossref = {cunningham:whatiswiki:base}}
-
-@MISC{cunningham:whatiswiki:base,
- author = {Ward Cunningham and others},
- title = {What is Wiki},
- month = jun,
- year = {2002},
- url = {http://wiki.org/wiki.cgi?WhatIsWiki}}
-
-@INPROCEEDINGS{Curien93,
- author = {R{\'e}gis Curien},
- title = {Second Order {E}-Matching as a Tool for Automated Theorem Proving},
- booktitle = {Progress in Artificial Intelligence, 6\textsuperscript{th} Protuguese Conference on
- AI, EPIA '93},
- year = {1993},
- editor = {Miguel Filgueiras and Lu{\'i}s Damas},
- number = {727},
- series = {LNAI},
- pages = {242--257},
- address = {Porto, Portugal},
- month = oct,
- publisher = {Springer Verlag}}
-
-@MISC{CuQi94,
- author = {R{\'e}gis Curien and Zhenyu Qian},
- title = {Modular Second-Order {$E$}-Matchning for Regular Theories},
- year = {1994},
- note = {draft}}
-
-@INCOLLECTION{curr:some63,
- author = {Curry, H. B.},
- title = {Some {Logical} {Aspects} of {Grammatical} {Structure}},
- booktitle = {Structure of Language and its Mathematical Aspects: Proceedings of
- the Twelfth Symposium in Applied Mathematics},
- publisher = {AMS},
- year = {1963},
- pages = {56--68}}
-
-@BOOK{CuFe58,
- title = {Combinatory Logic, Volume 1},
- publisher = {North Holland},
- year = {1958},
- author = {H. B. Curry and R. Feys}}
-
-@BOOK{AgoGab:hotm99,
- title = {Handbook of Tableau Methods},
- publisher = {Kluwer},
- year = {1999},
- author = {Marcello D'Agostino and Dov Gabbay and Reiner H{\"a}hnle and Joachim
- Posegga}}
-
-@ARTICLE{FehHor99,
- author = {D. Fehrer, H. Horacek},
- title = {Presenting Inequations in Mathematical Proofs},
- journal = {Information Sciences, Special Issue on Logical Methods of Computational
- Intelligence},
- year = {1999}}
-
-@INCOLLECTION{Doelling:psc93,
- author = {J. D{\"o}lling},
- title = {Polysemy and sort coercion in semantic representations},
- booktitle = {Discourse and lexical meaning},
- year = {1993},
- editor = {P. Bosch and P. Gerstl},
- series = {Arbeitspapiere des SFB 340, Nr. 30},
- pages = {61--78}}
-
-@INCOLLECTION{Doelling:mrlr98,
- author = {J. D{\"o}lling},
- title = {Modifikation von Resultatszust{\"a}nden und lexikalisch-semantischen
- Repr{\"a}sentationen},
- booktitle = {Lexikalische {Semantik} aus kognitiver {Sicht}},
- publisher = {Narr},
- year = {1998},
- editor = {P. Ludewig and B. Geurts},
- pages = {173--206}}
-
-@INCOLLECTION{Doelling:sssb94,
- author = {J. D{\"o}lling},
- title = {Sortale {Selektionsbeschr{\"a}nkungen} und systematische
- {Bedeutungsvariationen}},
- booktitle = {Kognitive {Semantik}},
- publisher = {Narr},
- year = {1994},
- editor = {Monika Schwarz},
- pages = {41--59},
- address = {T{\"u}bingen}}
-
-@INCOLLECTION{Doelling:fis92,
- author = {J. D{\"o}lling},
- title = {Flexible {Interpretation} durch {Sortenverschiebung}},
- booktitle = {F{\"u}gungspotenzen},
- publisher = {Akademie-Verlag},
- year = {1992},
- editor = {I. Zimmermann and A. Strigin},
- pages = {23--62},
- address = {Berlin}}
-
-@ARTICLE{Doelling:odsssa95,
- author = {J. D{\"o}lling},
- title = {Ontological domains, semantic sorts and systematic ambiguity},
- journal = {International Journal of Human-Computer Studies},
- year = {1995},
- volume = {43},
- pages = {785--807}}
-
-@MISC{dahl05:semantic-wikis,
- author = {Irene Dahl and Michael Eisenbach},
- title = {{Semantic} {Wikis}},
- lastchecked = {March 2006},
- year = {2005},
- language = {German},
- school = {Universit{\"a}t Karlsruhe (TH)},
- type = {term paper},
- url = {http://www.aifb.uni-karlsruhe.de/Lehre/Sommer2005/SemTech/stuff/semwiki.pdf}}
-
-@TECHREPORT{Dahl:oscsi72,
- author = {{\"O}sten Dahl},
- title = {On so-called sloppy identity},
- institution = {University of G{\"o}teborg},
- year = {1972},
- type = {Gothenburg Papers in Theoretical Linguistics},
- number = {11}}
-
-@MISC{mizarbenchmark,
- author = {Ingo Dahn},
- year = {1997},
- note = {Statistics for Problems from the Mizar Library.},
- url = {http://www-irm.mathematik.hu-berlin.de/~ilf/miz2atp/mizstat.html}}
-
-@BOOK{Dale:gre92,
- title = {Generating Referring Expressions},
- publisher = {MIT Press},
- year = {1992},
- author = {Robert Dale},
- series = {ACL-MIT Press Series in Natural Language Processing}}
-
-@ARTICLE{dalhad91,
- author = {Robert Dale and Nick Haddock},
- title = {Content Determination in the generation of referring expressions},
- journal = {Computational Intelligence},
- year = {1991}}
-
-@INPROCEEDINGS{dls:lfgc93,
- author = {Dalrymple, M. and Lamping, J. and Saraswat, V.},
- title = {{L}{F}{G} {Semantics} via {Constraints}},
- booktitle = {Proceedings of the Sixth Meeting of the European {A}{C}{L}},
- year = {1993},
- publisher = {European Chapter of the Association for Computational Linguistics}}
-
-@INPROCEEDINGS{DalKanMchPet:wdrm94,
- author = {Dalrymple, Mary and Kanasawa, Makoto and Mchombo, Sam and Stanley
- Peters},
- title = {What do reciprocals mean?},
- booktitle = {Proceedings of SALT IV},
- year = {1994},
- editor = {M.Harvey and L.Santelmann},
- address = {Rochester:New York}}
-
-@BOOK{lfgbundel,
- title = {{Formal} {Issues} in {Lexical}-{Functional} {Grammar}},
- publisher = {CSLI},
- year = {1995},
- author = {Dalrymple, M. and Kaplan, R. M. and Maxwell III, J. T. and Zaenen,
- A.},
- address = {Stanford, {CA}}}
-
-@ARTICLE{DalLamPerSar:qai97,
- author = {Dalrymple, Mary and Lamping, John and Pereira,Fernando and Saraswat,
- Vijay},
- title = {Quantifiers, anaphora, and intensionality},
- journal = {Journal of Logic, Language, and Information},
- year = {1997},
- volume = {6},
- pages = {219--273}}
-
-@ARTICLE{DalShiPer:eahou91,
- author = {Mary Dalrymple and Stuart Shieber and Fernando Pereira},
- title = {Ellipsis and Higher-Order Unification},
- journal = {Linguistics \& Philosophy},
- year = {1991},
- volume = {14},
- pages = {399--452}}
-
-@ARTICLE{DaShPe:eahou91,
- author = {Mary Dalrymple and Stuart Shieber and Fernando Pereira},
- title = {Ellipsis and Higher-Order-Unification},
- journal = {Linguistics and Philosophy},
- year = {1991},
- volume = {14},
- pages = {399--452}}
-
-@BOOK{DanHla:mc87,
- title = {Mluvnice {\v c}e{\c s}tiny},
- publisher = {Academia},
- year = {1987},
- author = {F. Dane{\v s} and Z. Hlavsa},
- volume = {3},
- address = {Praha}}
-
-@ARTICLE{Darlington71,
- author = {J. L. Darlington},
- title = {A Partial Mechanization of Second Order Logic},
- journal = {Machine Intelligence},
- year = {1971},
- volume = {6},
- pages = {91--100}}
-
-@ARTICLE{Darlington71a,
- author = {J. L. Darlington},
- title = {Deductive Plan Formation in Higher-order Logic},
- journal = {Machine Intelligence},
- year = {1971},
- volume = {7},
- pages = {129--137}}
-
-@ARTICLE{Darlington68,
- author = {J. L. Darlington},
- title = {Automatic Theorem porving with Equality Substitutions and Mathematical
- Induction},
- journal = {Machine Intelligence},
- year = {1968},
- volume = {3},
- pages = {113--130}}
-
-@TECHREPORT{Davenport:stso99,
- author = {James H. Davenport},
- title = {A Small {\openmath} Type System},
- institution = {The {\openmath} Esprit Project},
- year = {1999},
- url = {http://www.openmath.org/standard/sts.pdf}}
-
-@INCOLLECTION{Davenport89,
- author = {James H. Davenport},
- title = {Algebraic Computations and Structures},
- booktitle = {Computer Algebra},
- publisher = {Marcel Dekker},
- year = {1989},
- editor = {Chudnovsky, David V. and Jenks, Richard D.},
- number = {113},
- series = {LNPAM},
- pages = {129--144}}
-
-@TECHREPORT{Davenport92,
- author = {J. H. Davenport},
- title = {The {AXIOM} System},
- institution = {Numerical Algorithms Group, Inc.},
- year = {1992},
- type = {AXIOM Technical Report},
- number = {TR5/92 (ATR/3) (NP2492)},
- address = {Downer's Grove, IL, USA and Oxford, UK},
- month = dec}
-
-@BOOK{Davenport88,
- title = {Computer Algebra. Systems and Algorithms for Algebraic Computation},
- publisher = {Academic Press},
- year = {1988},
- author = {Davenport, J. H. and Siret, Y. and Tournier, E.},
- address = {London; San Diego; New York}}
-
-@BOOK{WorkingKnowledge,
- title = {{Working Knowledge}},
- publisher = {{Harvard Business School Press}},
- year = {1998},
- author = {Thomas H. Davenport and Laurence Prusak},
- edition = {2000}}
-
-@Book{Parsons:esesss90,
- author = {Parsons, Terence},
- title = {Events in the Semantics of English: A Study in Subatomic Semantics},
- series = {Current Studies in Linguistics},
- publisher = {MIT Press},
- year = 1990,
- volume = 19}
-
-@Article{Vendler:vat57,
- author = {Vendler, Zeno},
- title = {Verbs and times},
- journal = {Philosophical Review},
- year = 1957,
- volume = 56,
- pages = {143--160}}
-
-@Article{Bach:tae86,
- author = {Bach, Emmon},
- title = {The algebra of events},
- journal = {Linguistics and Philosophy},
- year = 1986,
- volume = 9,
- pages = {5--16}}
-
-@INCOLLECTION{Davidson:las67,
- author = {Donald Davidson},
- title = {The logical form of action sentences},
- booktitle = {The logic of decision and action},
- publisher = {Pittsburgh University Press},
- year = {1967},
- editor = {N. Rescher},
- pages = {81--95},
- address = {Pittsburgh}}
-
-@Article{Davidson:tam67,
- author = {Donald Davidson},
- title = {Truth and Meaning},
- journal = {Synthese},
- year = 1967,
- volume = 17}
-
-@PHDTHESIS{Davis:lsalithl96,
- author = {A. Davis},
- title = {Lexical Semantics and Linking in the Hierarchical Lexicon},
- school = {Stanford University},
- year = {1996}}
-
-@INPROCEEDINGS{DavKoe:lacowciahl96,
- author = {A. Davis and J. P. Koenig},
- title = {Linking as Constraints on Word classes in a Hierarchical Lexicon},
- booktitle = {Proceedings of the Third International HPSG Conference},
- year = {1996},
- address = {Marseilles}}
-
-@MISC{MassIndividualism,
- author = {Jim Davis},
- title = {{Coordinated Autonomy -- A Statement of Principles for Information
- Technology at UCLA}},
- url = {http://www.icompass.ucla.edu/vision.htm}}
-
-@INPROCEEDINGS{Davis:acpfpa57,
- author = {Martin Davis},
- title = {A Computer Program for Presburger's Algorithm},
- booktitle = {Summary of talks presented at the Summer Institute for Symbolic Logic},
- year = {1957},
- pages = {215--233},
- address = {Cornell University},
- note = {reprinted \cite{SiekmannWrightson:aori83}}}
-
-@ARTICLE{DavPut:acpfqt60,
- author = {Davis, M. and H. Putnam},
- title = {{A computing procedure for quantification theory}},
- journal = {Journal of the Association for Computing Machinery},
- year = {1960},
- volume = {7},
- pages = {394--397},
- number = {3},
- month = jul}
-
-@BOOK{Dawson97,
- title = {Logical dilemmas : the life and work of Kurt G{\"o}del},
- publisher = {A. K. Peters},
- year = {1997},
- author = {Dawson, John W. Jr.},
- address = {Wellesley, MA},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-6531},
- isbn = {1-56881-025-3},
- location = {MPI-ZB},
- signature = {Books: Dawson},
- status = {available}}
-
-@BOOK{bakk:math80,
- title = {Mathematical {Theory} of {Program} {Correctness}},
- publisher = {Prentice-Hall},
- year = {1980},
- author = {De {Bakker}, J. },
- address = {Englewood Cliffs, NJ}}
-
-@TECHREPORT{Deach:exls99,
- author = {Stephen Deach},
- title = {Extensible Stylesheet Language (XSL) Specification},
- institution = {World Wide Web Consortium ({W3C})},
- year = {1999},
- type = {W3C Working Draft},
- url = {http://www.w3.org/TR/WD-xsl},
- key = {XSL}}
-
-@TECHREPORT{Clark:xslt99,
- key = {XSLT99},
- editor = {James Clark},
- title = {XSL Transformations (XSLT) Version 1.0},
- institution = {World Wide Web Consortium ({W3C})},
- year = {1999},
- type = {W3C Recommendation},
- url = {http://www.w3.org/TR/xslt}}
-
-@MISC{Debray93,
- author = {Saumya K. Debray},
- title = {Static Analysis of Logic Programs},
- howpublished = {Advanced Tutorial on ILPS'93},
- year = {1993}}
-
-
-@TECHREPORT{egg98a,
- author = {Markus Egg and others},
- title = {{ChoLi: A Natural Language System for Semantic Construction and Evaluation}},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1998},
- type = {CLAUS Report},
- number = {103},
- keywords = {lamapunbibs},
- month = jan,
- note = {{\tt http://coli.uni-sb.de/claus/claus97.html}}}
-
-@INPROCEEDINGS{AspPadSacSch:tlfm00,
- author = {Andrea Asperti and Luca Padovani and Claudio Sacerdoti Coen and Irene Schena},
- title = {Towards a Library of Formal Mathematics},
- booktitle = {Panel session of the 13\textsuperscript{th} International Conference on Theorem Proving in Higher Order Logics (TPHOLS'2000},
- year = {2000}}
-@TECHREPORT{choli, crossref={DebEggGar:anlssce98}}
-@TECHREPORT{DebEggGar:anlssce98,
- author = {Ralph Debusmann and Markus Egg and Claire Gardent and Alexander Koller
- and Karsten Konrad and Joachim Niehren and Guido Schaefer and Stephan
- Thater and Verena Winter and Feiyu Xu},
- title = {A Natural Language System for Semantic Construction and Evaluation},
- institution = {University of the Saarland},
- year = {1998},
- type = {CLAUS Report},
- number = {102},
- keywords = {lamapunbibs},
- address = {Saarbr{\"u}cken}}
-
-
-@INCOLLECTION{Deemter:tlae96,
- author = {Deemter, K.v.},
- title = {Towards a logic of ambiguous expressions},
- booktitle = {Semantic ambiguity and underspecification},
- publisher = {CSLI Publications},
- year = {1996},
- editor = {Deemter, K. and Peters, S.},
- pages = {203--237},
- address = {Stanford}}
-
-@TECHREPORT{Dekker:raiids94,
- author = {Paul Dekker},
- title = {Representation and Information in Dynamic Semantics},
- institution = {{Institute for Logic, Language and Computation, Universiteit van
- Amsterdam}},
- year = {1994},
- type = {ILLC Report},
- number = {LP-94-12},
- month = aug}
-
-@INPROCEEDINGS{Dekker:difam90,
- author = {Dekker, Paul},
- title = {Dynamic Interpretation, Flexibility and Monotonicity},
- booktitle = {Proceedings of the seventh Amsterdam Colloquium},
- year = {1990},
- organization = {ITLI, Amsterdam}}
-
-@INPROCEEDINGS{dennis00:_prosp_toolk,
- author = {Louise A. Dennis and Graham Collins and Michael Norrish and Richard
- Boulton and Konrad Slind and Graham Robinson and Mike Gordon and
- Tom Melham},
- title = {The PROSPER Toolkit},
- booktitle = {Proceedings of the 6\textsuperscript{th} International Conference on Tools and Algorithms
- for the Construction and Analysis of Systems},
- year = {2000},
- number = {1785},
- series = {LNCS},
- address = {Berlin, Germany},
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{denzinger-schulz96,
- author = {J. Denzinger and S. Schulz},
- title = {Learning Domain Knowledge to Improve Theorem Proving},
- crossref = {CADE96},
- pages = {62--76}}
-
-@PHDTHESIS{Denzinger:tamtdd93,
- author = {J{\"o}rg Denzinger},
- title = {Teamwork: A method to design distributed knowledge based theorem
- provers},
- school = {Universit{\"a}t Kaiserslautern},
- year = {1993},
- note = {(in german)}}
-
-@TECHREPORT{DeFu94,
- author = {J{\"o}rg Denzinger and Matthias Fuchs},
- title = {Goal oriented equational theorem proving using team work},
- institution = {Universit{\"a}t Kaiserslautern},
- year = {1994},
- type = {SEKI-Report},
- number = {SR-94-04}}
-
-@ARTICLE{DenSch:dadalep97,
- author = {J{\"o}rg Denzinger and J. Kronenburg and Stephan Schulz},
- title = {DISCOUNT -- A distributed and learning equational prover},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {189--198},
- number = {2}}
-
-@TECHREPORT{DeSc94,
- author = {J{\"o}rg Denzinger and Stephan Schulz},
- title = {Analysis and Representation of Equational Proofs Generated by a Distributed
- Completion Based Proof System},
- institution = {Universit{\"a}t Kaiserslautern},
- year = {1994},
- type = {SEKI-Report},
- number = {SR-94-05}}
-
-@TECHREPORT{DeRDan:xpointer01,crossref={xpointer}}
-@TECHREPORT{xpointer,
- key = {W3C XPointer},
- editor = {Steve DeRose and Ron Daniel Jr. and Paul Grosso and Eve Maler and Jonathan Marsh and Norman Walsh},
- title = {XML Pointer Language ({XPointer})},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2001},
- type = {{W3C} Working Draft},
- url = {http://www.w3.org/TR/2002/WD-xptr-20020816/}}
-
-@TECHREPORT{DeRMal:xlink01,
- author = {Steve DeRose and Eve Maler and David Orchard and Ben Trafford},
- title = {{XML} Linking Language ({XLink} Version 1.0)},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2001},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/2000/REC-xlink-20010627/},
- key = {XLink}}
-
-@ARTICLE{Dershowitz87,
- author = {Nachum Dershowitz},
- title = {Termination of Rewriting},
- journal = {Journal of Symbolic Computation},
- year = {1987},
- volume = {3},
- pages = {69--116}}
-
-@INPROCEEDINGS{desimone87,
- author = {Desimone, R. V.},
- title = {Learning Control Knowledge within an Explanation-Based Learning Framework},
- booktitle = {Progress in Machine Learning -- Proceedings of 2\textsuperscript{nd} European Working
- Session on Learning, EWSL-87},
- year = {1987},
- editor = {Bratko, I. and Lavra{\v c}, N.},
- address = {Wilmslow, UK},
- publisher = {Sigma Press},
- note = {Also available from Edinburgh as DAI Research Paper 321}}
-
-@BOOK{Deussen:hua71,
- title = {Halbgruppen und Automaten},
- publisher = {Springer Verlag},
- year = {1971},
- author = {Peter Deussen},
- number = {99},
- series = {Heidelberger Taschenb{\"u}cher, Sammlung Informatik}}
-
-@ARTICLE{Diehl93,
- author = {Stanford Diehl},
- title = {Acrobat vs. Common Ground},
- journal = {BYTE},
- year = {1993},
- pages = {133--136},
- month = oct}
-
-@BOOK{Dieudonne-69-a,
- title = {Foundations of Modern Analysis},
- publisher = {Academic Press},
- year = {1969},
- editor = {Smith, Paul and Eilenberg, Samuel},
- author = {Dieudonn{\'e}, Jean Alexandre},
- volume = {10-I},
- series = {Pure and Applied Mathematics},
- address = {New York, NY\USA}}
-
-@BOOK{DijKin:sodc83,
- title = {Strategies of discourse comprehension},
- publisher = {Academic Press, New York},
- year = {1983},
- author = {Dijk, T. A. van and Kintsch, W.}}
-
-@TECHREPORT{FucDen97b,
- author = {Dirk Fuchs, J{\"o}rg Denzinger},
- title = {Knowledge-based Cooperation between Theorem Provers by TECHS},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1997},
- type = {Seki Report},
- number = {SR-97-11},
- pages = {21},
- url =
- {file://ftp.uni-kl.de/reports_uni-kl/computer_science/SEKI/1997/Fuchs.SR-97-11.ps.gz}}
-
-@INPROCEEDINGS{DF-03-a,
- author = {Dixon, Lucas and Fleuriot, Jacques},
- title = {\textsc{IsaPlanner}: A Prototype Proof Planner in {Isabelle}},
- NOcrossref = {CADE03}}
-
-@ARTICLE{Dougherty:houuc93,
- author = {Daniel Dougherty},
- title = {Higher-Order Unification using Combinators},
- journal = {Theoretical Computer Science B},
- year = {1993},
- volume = {114},
- pages = {273--298},
- number = {2}}
-
-@ARTICLE{Dougherty90b,
- author = {D. Dougherty},
- title = {Adding Algebraic Rewriting to the Untyped Lambda Calculus},
- journal = {Information and Computation},
- year = {1990}}
-
-@INPROCEEDINGS{Dougherty90a,
- author = {Daniel J. Dougherty},
- title = {Higher Order Unification via Combinators},
- booktitle = {Informal proceedings of the Workshop on Unification, UNIF-90},
- year = {1990},
- address = {Leeds, GB},
- month = may,
- keywords = {HOL, Combinators, Unification}}
-
-@UNPUBLISHED{Dougherty90c,
- author = {Daniel J. Dougherty},
- title = {Some Reduction Properties of a Lambda Calculus with Coproducts and
- Recursive Types},
- month = jun,
- year = {1990},
- keywords = {HOL, Lambda Calculus}}
-
-@UNPUBLISHED{Dougherty89,
- author = {Daniel J. Dougherty},
- title = {Adding Algebraic Rewriting to the Untyped Lambda Calculus},
- month = mar,
- year = {1989},
- keywords = {Rewriting, HOL, untyped Lambda Calculus}}
-
-@ARTICLE{DoJo92a,
- author = {Daniel J. Dougherty and Patricia Johann},
- title = {An Improved General {$E$}-Unification Method},
- journal = {Journal of Symbolic Computation},
- year = {1992},
- volume = {14},
- pages = {303--320}}
-
-@ARTICLE{Dowek:tomid94,
- author = {Gilles Dowek},
- title = {Third order matching is decidable},
- journal = {Annals of pure and applied mathematics},
- year = {1994},
- volume = {69},
- pages = {135--155}}
-
-@INPROCEEDINGS{DowHar:uves96,
- author = {Giles Dowek and Therese Hardin and Claude Kirchner and Frank Pfenning},
- title = {Unification via Explicit Substitutions: The Case of Higher-Order
- Patterns},
- booktitle = {Joint International Conference and Symposium on Logic Programming
- (JICSLP'96)},
- year = {1996},
- address = {Bonn, Germany}}
-
-@INPROCEEDINGS{DowekEtAl:otdote93,
- author = {Gilles Dowek and G{\'e}rard Huet and Benjamin Werner},
- title = {On the Definition of the Eta-Long Normal Form in Type Systems of
- the Cube},
- booktitle = {Informal Proceedings of the Workshop on Types for Proofs and Programs},
- year = {1993},
- editor = {Herman Geuvers},
- address = {Nijmegen, The Netherlands}}
-
-@INCOLLECTION{dowt:gram82,
- author = {Dowty, D. R.},
- title = {Grammatical {Relations} and {Montague} Grammar},
- booktitle = {The Nature of Syntactic Representation},
- publisher = {Reidel},
- year = {1982},
- editor = {Jacobson, P. and Pullum, G. K.},
- pages = {79--130},
- address = {Dordrecht}}
-
-@BOOK{Dowty:wmmg79,
- title = {Word meaning and {Montague} grammar},
- publisher = {Reidel},
- year = {1979},
- author = {D. Dowty},
- address = {Dordrecht}}
-
-@BOOK{dowt:intr81,
- title = {Introduction to {Montague} {Semantics}},
- publisher = {Reidel},
- year = {1981},
- author = {Dowty, D. R. and Wall, R. E. and Peters, S.},
- address = {Dordrecht}}
-
-@ARTICLE{DuCharme:fddsj97,
- author = {DuCharme, Bob},
- title = {Formatting Documents with DSSSL Specifications and Jade},
- journal = {The SGML Newsletter},
- year = {1997},
- volume = {10},
- pages = {6--10},
- number = {5}}
-
-@ARTICLE{TUWA:LiC,
- author = {{The University of Western Australia}},
- title = {{Learning in Context}},
- journal = {Issues of Teaching and Learning},
- year = {1998},
- month = sep,
- volume = {4},
- number = {8},
- howpublished = {on the web
- \url{http://www.csd.uwa.edu.au/newsletter/issue0898/learning.html}},
- url = {http://www.csd.uwa.edu.au/newsletter/issue0898/learning.html},
- key = {lic}}
-
-@ARTICLE{TUWA:CoL,
- author = {{The University of Western Australia}},
- title = {{Contexts of Learning}},
- journal = {Issues of Teaching and Learning},
- year = {1998},
- month = sep,
- volume = {4},
- number = {8},
- howpublished = {on the web
- \url{http://www.csd.uwa.edu.au/newsletter/issue0898/contexts.html}},
- url = {http://www.csd.uwa.edu.au/newsletter/issue0898/contexts.html},
- key = {lic}}
-
-@MISC{TIP:FC,
- author = {Theory Into Practice (TIP) database},
- title = {{Functional Context by T. Sticht}},
- howpublished = {Web article at \url{http://tip.psychology.org/sticht.html}},
- url = {http://tip.psychology.org/sticht.html},
- year = {Seen November 2007}}
-
-@MISC{TIP:EL,
- author = {{Theory Into Practice (TIP) database}},
- title = {{Experiental Learning by C. Rogers}},
- howpublished = {Web article at \url{http://tip.psychology.org/rogers.html}},
- url = {http://tip.psychology.org/rogers.html},
- year = {Seen November 2007}}
-
-@MISC{TIP:SL,
- author = {{Theory Into Practice (TIP) database}},
- title = {{Situated Learning by J. Lave}},
- howpublished = {Web article at \url{http://tip.psychology.org/lave.html}},
- url = {http://tip.psychology.org/lave.html},
- year = {Seen November 2007}}
-
-@BOOK{YKMR:CiP:DTaLiaDW,
- title = {{Constructionism in practice: Designing, thinking, and learning in a digital
- world}},
- publisher = {Lawrence Erlbaum Associates},
- year = {1996},
- editor = {Yasmin Kafai and Mitchel Resnick}}
-
-@BOOK{JBr:GBtIG,
- title = {{Going Beyond the Information Given}},
- publisher = {Norton},
- year = {New York, 1973},
- author = {J. Bruner}}
-
-@UNPUBLISHED{Duchier:tntb98,
- author = {Denys Duchier},
- title = {{The {\sc NeGra} tree bank}},
- note = {Private communication},
- year = {1998}}
-
-@INPROCEEDINGS{DucGar99,
- author = {Denys Duchier and Claire Gardent},
- title = {{A Constraint-based treatment of descriptions}},
- booktitle = {{Proceedings of the Third International Workshop on Computational
- Semantics}},
- year = {1999}}
-
-@TECHREPORT{Duggan93,
- author = {Dominic Duggan},
- title = {Unification with Extended Patterns},
- institution = {Department of Computer Science, University of Waterloo},
- year = {1993},
- type = {Technical Report},
- number = {93--37},
- address = {Ontario, Canada}}
-
-@TECHREPORT{Duggan93a,
- author = {Dominic Duggan},
- title = {Hihger-Order Substitutions},
- institution = {Department of Computer Science, University of Waterloo},
- year = {1993},
- type = {Technical Report},
- number = {93--44},
- address = {Ontario, Canada}}
-
-@ARTICLE{dunn:intu76,
- author = {Dunn, J. M.},
- title = {Intuitive {Semantics} for {First}-{Degree} {Entailments} and `{Coupled}
- {Trees}'},
- journal = {Philosophical Studies},
- year = {1976},
- volume = {29},
- pages = {149--168}}
-
-@ARTICLE{Dyckhoff:cfscfil92,
- author = {Roy Dyckhoff},
- title = {Contraction-Free Sequent Calculi for Intuitionistic Logic},
- journal = {The Journal of Symbolic Logic},
- year = {1992},
- volume = {57},
- pages = {795--807},
- number = {3}}
-
-@INPROCEEDINGS{Dymetman-IJCAI97,
- author = {Marc Dymetman},
- title = {Charts, Interaction-Free Grammars, and the Compact Representation
- of Ambiguity},
- booktitle = {Proceedings of {IJCAI} `97},
- year = {1997},
- address = {Nagoya, Japan}}
-
-@MISC{These-Dym,
- author = {Dymetman, Marc},
- title = {{Transformations de grammaires logiques et r{\'e}versibilit{\'e} en Traduction
- Automatique}},
- howpublished = {Th{\`e}se de Doctorat d'Etat},
- year = {1992},
- note = {Universit{\'e} Joseph Fourier (Grenoble 1), Grenoble, France.}}
-
-@INPROCEEDINGS{Dymetman-Coling96,
- author = {Marc Dymetman and Max Copperman},
- title = {Extended Dependency Structures and their Formal Interpretation},
- booktitle = {Proceedings of {COLING} `96},
- year = {1996},
- address = {Copenhagen}}
-
-@INPROCEEDINGS{Eas:sdpata,
- author = {Katherine A. Eastaughffe},
- title = {{Support for Interactive Theorem Proving: Some Design Principles
- and Their Application}}}
-
-@BOOK{Ebbinghaus77,
- title = {Einf{\"u}hrung in die Mengenlehre},
- publisher = {Wissenschaftliche Buchgesellschaft},
- year = {1977},
- author = {H. D. Ebbinghaus}}
-
-@INPROCEEDINGS{Egg:aqia96,
- author = {Egg, M.},
- title = {Aspect and quantification: an iterative approach},
- booktitle = {Proceedings of the 10\textsuperscript{th} {Amsterdam} {Colloquium}},
- year = {1996},
- editor = {Dekker, P. and Stokhof, M.},
- pages = {203--221},
- organization = {ILLC}}
-
-@INPROCEEDINGS{Egg:cra95,
- author = {Egg, M.},
- title = {Conditions on reinterpretations of aktionsart},
- booktitle = {The {Blaubeuren} {Papers}},
- year = {1995},
- editor = {Hamm, F. and Kolb, J. and Stechow, A.v.},
- volume = {SfS-Report-08-95},
- pages = {79--103},
- publisher = {Universit{\"a}t T{\"u}bingen, Seminar f{\"u}r Sprachwissenschaft}}
-
-@ARTICLE{Egg:i95,
- author = {Markus Egg},
- title = {The intergressive as a new category of verbal aktionsart},
- journal = {Journal of Semantics},
- year = {1995},
- volume = {12},
- pages = {311--356}}
-
-@BOOK{Egg:ak94,
- title = {Aktionsart und {Kompositionalit{\"a}t}},
- publisher = {Akademie-Verlag},
- year = {1994},
- author = {Markus Egg},
- address = {Berlin}}
-
-@INPROCEEDINGS{EggFel:sscaw97,
- author = {Egg, M. and Feldhaus, A.},
- title = {Syntax and semantics of complex and ambiguous {\em wh}-questions},
- crossref = {IWCS97}}
-
-
-
-@INPROCEEDINGS{EggHer:thac94,
- author = {Egg, M. and Herweg, M.},
- title = {A type hierarchy for aspectual classification},
- booktitle = {{KONVENS} '94, {Verarbeitung} nat{\"u}rlicher {Sprache}},
- year = {1994},
- editor = {H. Trost},
- pages = {92--101},
- publisher = {Springer}}
-
-
-
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{EggLeb:sumaat95,
- author = {Egg, M. and Lebeth, K.},
- title = {Semantic underspecification and modifier attachment ambiguities},
- booktitle = {Integrative Ans{\"a}tze in der Computerlinguistik (DGfS/CL'95)},
- year = {1995},
- editor = {Kilbury, J. and Wiese, R.},
- pages = {19--24},
- address = {D{\"u}sseldorf}}
-
-@UNPUBLISHED{EggLeb:sih96,
- author = {Egg, M. and Lebeth, K.},
- title = {Semantic interpretation in {HPSG}},
- note = {Paper presented at the 3\textsuperscript{rd} {Conference} on {HPSG}, {Marseilles},
- {May} 20\textsuperscript{th}-22\textsuperscript{th}, 1996},
- year = { 1996}}
-
-@INPROCEEDINGS{EggNieRuhXu:clssu98,
- author = {Egg, M. and J. Niehren and P. Ruhrberg and F. Xu},
- title = {Constraints over lambda-structures in semantic underspecification},
- booktitle = {Proceedings of {ACL/COLING} '98},
- year = {1998},
- address = {Montreal, Canada}}
-
-@ARTICLE{Eijck:adlfa99,
- author = {Jan van Eijck},
- title = {Axiomatising Dynamic Logics for Anaphora},
- journal = {Journal of Language and Computation},
- year = {1999},
- volume = {1},
- pages = {103--126},
- number = {1},
- url = {http://www.dcs.kcl.ac.uk/journals/jlac/V11/index.html}}
-
-@UNPUBLISHED{Eijck:acfdpl98,
- author = {van Eijck, Jan},
- title = {A Calculus for Dynamic Predicate Logic},
- note = {University of Amsterdam},
- year = {1998}}
-
-@TECHREPORT{Eijck:drwv98,
- author = {van Eijck, Jan},
- title = {Dynamic Reasoning Without Variables},
- institution = {ILLC, Amsterdam},
- year = {1998},
- number = {LP-97-10}}
-
-@ARTICLE{Eijck:tlws97,
- author = {van Eijck, Jan},
- title = {Type Logic with States},
- journal = {Logic Journal of the IGPL},
- year = {1997},
- volume = {5},
- number = {5},
- month = sep}
-
-@ARTICLE{eijck:typstat,
- author = {van Eijck, J.},
- title = {Typed {Logics} with {States}},
- journal = {Journal of the IGPL},
- year = {1997}}
-
-@UNPUBLISHED{Eijck:ffil,
- author = {Jan van Eijck},
- title = {Formal Forays into Language},
- note = {Lecture Notes manuscript},
- month = apr,
- year = {1995}}
-
-@ARTICLE{Eijck:pfacoe94,
- author = {Jan van Eijck},
- title = {Presupposition Failure -- A comedy of Errors},
- journal = {Formal Aspects of Computing},
- year = {1994},
- volume = {6A},
- pages = {766--787}}
-
-@ARTICLE{Eijck:tdod93,
- author = {Jan van Eijck},
- title = {Teh Dynamics of Description},
- journal = {Journal of Semantics},
- year = {1993},
- volume = {10},
- pages = {239--267}}
-
-@INCOLLECTION{EijKam:rdic95,
- author = {van Eijck, Jan and Kamp, Hans},
- title = { Representing Discourse in Context},
- booktitle = { Handbook of Logic and Language},
- publisher = {Elsevier Science B. V.},
- year = { 1996},
- editor = { Johan van Benthem and Alice ter Meulen},
- pages = {179--238}}
-
-@ARTICLE{EiVr:raul95,
- author = {Jan van Eijck and Fer-Jan de Vries},
- title = {Reasoning about Update Logic},
- journal = {Journal of Philosophical Logic},
- year = {1995},
- volume = {24},
- pages = {19--45}}
-
-@PHDTHESIS{Eisinger88,
- author = {Norbert Eisinger},
- title = {Completeness, Confluence, and Related Properties of Clause Graph
- Resolution},
- school = {Universit{\"a}t Kaiserslautern},
- year = {1988}}
-
-@TECHREPORT{EiOhPr:eorics89,
- author = {Norbert Eisinger and Hans J{\"u}rgen Ohlbach and Axel Pr{\"a}cklein},
- title = {Elimination of Redundancies in Clause Sets and Clause Graphs},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1989},
- type = {SEKI-Report},
- number = {SR-89-10},
- address = {Kaiserslautern},
- month = oct,
- note = {Also published as: Reduction Rules for Resolution-Based Systems,
- in Artificial Intelligence 50 (1991), pages 141--181, Elsevier Science
- Publishers B.V.}}
-
-@BOOK{Elgin:BetweenAbsoluteAndArbitrary,
- title = {{Between the Absolute and the Arbitrary}},
- publisher = {Cornell University Press},
- year = {1997},
- author = {Catherine Z. Elgin}}
-
-@ARTICLE{Ellemers:SocialIdentity,
- author = {Naomi Ellemers and Russell Spears and Bertjan Doosje},
- title = {{Self and Social Identity}},
- journal = {Annual Review of Psychology},
- year = {2002},
- volume = {53},
- pages = {161--186},
- month = feb}
-
-@INPROCEEDINGS{ElPf88,
- author = {C. Elliott and F. Pfenning},
- booktitle = {Proceedings of the SIGPLAn '88 Symposium on Language Design and
- Implementation},
- year = {1988},
- organization = {ACM}}
-
-@TECHREPORT{CoPf87,
- author = {Conal Elliott and Frank Pfenning},
- title = {A Family of Program Derivations for Higher-Order Unification},
- institution = {Carnegie Mellon University},
- year = {1987},
- type = {Ergo Report},
- number = {87--45},
- month = nov}
-
-@UNPUBLISHED{ElHo:kaatpfp95,
- author = {Tarek Mohamed Elnadi and Alber Hoogewijs},
- title = {{KARNAK$^*$} and automated theorem prover for {PPC$^*$}},
- note = {to appear in the bulletin of Belgian mathematical society SIMON STEVIN},
- year = {1995}}
-
-@ARTICLE{Enc:trate86,
- author = {En{\c c}, M.},
- title = {Towards a referential analysis of temporal expressions},
- journal = {Linguistics \& Philosophy},
- year = {1986},
- volume = {9},
- pages = {405--426}}
-
-@BOOK{Engdahl:cq86,
- title = {Constituent questions. The syntax and semantics of questions with
- special reference to Swedish},
- publisher = {Reidel},
- year = {1986},
- author = {Engdahl, E.},
- address = {Dordrecht}}
-
-@TECHREPORT{Ernst71a,
- author = {G. W. Ernst},
- title = {A Matching Procedure for Type Theory},
- institution = {Case Western Reserve University},
- year = {1971}}
-
-@ARTICLE{Ernst71b,
- author = {G. W. Ernst},
- title = {The Utility of Independent subgoals in Theorem Proving},
- journal = {Information and Control},
- year = {1971},
- volume = {18},
- pages = {81--91},
- number = {3}}
-
-@ARTICLE{Evans:p80,
- author = {Evans, Gareth},
- title = {Pronouns},
- journal = {Linguistic Inquiry},
- year = {1980},
- volume = {11},
- pages = {337--362},
- number = {2}}
-
-@ARTICLE{Evans:pqarc77,
- author = {Evans, Gareth},
- title = {Pronouns, Quantifiers and Relative Clauses ({I})},
- journal = {Canadian Journal of Philosophy},
- year = {1977},
- volume = {7},
- pages = {467--536},
- number = {3}}
-
-@ARTICLE{Farmer:mifr04,
- author = {William M. Farmer},
- title = {{MKM}: A new Interdisciplinary Field of Research},
- journal = {{Bulletin of the ACM Special Interest Group on Symbolic and Automated
- Mathematics (SIGSAM)}},
- year = {2004},
- volume = {38},
- number = 2,
- pages = {47--52}}
-
-@ARTICLE{Farmer91,
- author = {William M. Farmer},
- title = {Simple second-order languages for which unification is undecidable},
- journal = {Theoretical Computer Science},
- year = {1991},
- volume = {87},
- pages = {25--41},
- number = {251},
- address = {Bedford, Massachusetts},
- institution = {MITRE Corporation}}
-
-@TECHREPORT{Farmer91a,
- author = {William M. Farmer},
- title = {A simple type theory with partial functions and sub-types},
- institution = {MITRE Corporation},
- year = {1991},
- type = {Technical Report},
- address = {Bedford, MA01730 USA}}
-
-@ARTICLE{Farmer:ssolfw91,
- author = {William M. Farmer},
- title = {Simple second-order languages for which unification is undecidable},
- journal = {Theoretical Computer Science},
- year = {1991},
- volume = {87},
- pages = {25--41},
- number = {251},
- address = {Bedford, Massachusetts},
- institution = {MITRE Corporation}}
-
-@ARTICLE{Farmer90,
- author = {William M. Farmer},
- title = {A partial-function version of {Church's} simple theory of types},
- journal = {Journal of Symbolic Logic},
- year = {1990},
- volume = {55},
- pages = {1269--1291}}
-
-@TECHREPORT{Farmer86,
- author = {William M. Farmer},
- title = {An Unification Algorithm for Second Order Monadic Terms},
- institution = {MITRE Corporation},
- year = {1986},
- type = {MITRE-Report},
- number = {251},
- address = {Bedford, Massachusetts}}
-
-@ARTICLE{FaGu93,
- author = {William M. Farmer and Joshua D. Guttman and F. Javier Thayer},
- title = {{IMPS}: An {Interactive} {Mathematical} {Proof} {System}},
- journal = {Journal of Automated Reasoning},
- year = {1993},
- volume = {11},
- pages = {213--248},
- number = {2},
- month = oct}
-
-@TECHREPORT{FaGu90,
- author = {William M. Farmer and Joshua D. Guttman and F. Javier Thayer},
- title = {IMPS: An Interactive Mathematical Proof System},
- institution = {MITRE Corporation},
- year = {1990},
- type = {System Report},
- address = {Bedford, MA01730 USA}}
-
-@ARTICLE{fefe:towa84,
- author = {Feferman, S.},
- title = {Toward {Useful} {Type} {Free} {Theories} {I}},
- journal = {Journal of Symbolic Logic},
- year = {1984},
- volume = {49},
- pages = {75--111}}
-
-@INPROCEEDINGS{FehrerEtAl:hamrcd97,
- author = {Detlef Fehrer and Armin Fiedler and Helmut Horacek},
- title = {Human and Machine Reasoning Capabilities --- Differences and Communication},
- booktitle = {21. Deutsche Jahrestagung f{\"u}r {K}{\"u}nstliche
- {Intelligenz}---{Workshop}
- 10: {Inferenzsysteme} aus logischer und kognitiver {Sicht}},
- year = {1997},
- pages = {1--4}}
-
-@ARTICLE{FehrerHoracek:piimp98,
- author = {Detlef Fehrer and Helmut Horacek},
- title = {Presenting Inequations in Mathematical Proofs},
- journal = {Information Sciences},
- year = {1998},
- note = {\fc}}
-
-@MASTERSTHESIS{Feldhaus:fuf96,
- author = {Feldhaus, A.},
- title = {Fragen {\"u}ber {Fragen}. {Eine} {HPSG}-{Analyse} ausgew{\"a}hlter
- {Ph{\"a}\-no\-me\-ne}
- des deutschen w-{Fragesatzes}},
- school = {Universit{\"a}t T{\"u}bingen},
- year = {1996}}
-
-@TECHREPORT{Felty87,
- author = {Amy Felty},
- title = {Implementing Theorem Provers in Logic Programming},
- institution = {University of Pennsylvania},
- year = {1987},
- type = {Technical Report},
- number = {MS-CIS-87-109, LINC LAB 87},
- location = {miko}}
-
-@MISC{FeGu90,
- author = {Amy Felty and Elsa Gunter and Dale Miller and Frank Pfenning},
- title = {A Tutorial on Lambda Prolog},
- howpublished = {Tutorial at CADE'90},
- year = {1990}}
-
-@TECHREPORT{FeHa88,
- author = {Amy Felty and Greg Hager},
- title = {Explaining Modal Logic Proofs},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-18, LINC LAB 105},
- howpublished = {\url{http://repository.upenn.edu/cgi/viewcontent.cgi?article=1647&context=cis_reports}},
- url = {http://repository.upenn.edu/cgi/viewcontent.cgi?article=1647&context=cis_reports},
- location = {miko}}
-
-@TECHREPORT{FeltyMiller:pear88,
- author = {Amy Felty and Dale Miller},
- title = {Proof Explanation and Revision},
- institution = {University of Pennsylvania},
- year = {1988},
- month = mar,
- howpublished = {\url{http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.47.8837&rep=rep1&type=pdf}},
- doi = {10.1.1.47.8837},
- url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.47.8837&rep=rep1&type=pdf},
- number = {MC-CIS-88-17},
- address = {Philadelphia, PA}}
-
-@TECHREPORT{FeMi88a,
- author = {Amy Felty and Dale Miller},
- title = {Specifying Theorem Provers in a Higher-Order Logic Programming Language},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-12, LINC LAB 99},
- location = {miko}}
-
-@TECHREPORT{FeMi88b,
- author = {Amy Felty and Dale Miller},
- title = {Proof Explanation and Revision},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-17, LINC LAB 104},
- location = {miko}}
-
-@INPROCEEDINGS{FZT:LXS-04,
- author = {Matthias Ferdinand and Christian Zirpins and David Trastour},
- title = {Lifting XML Schema to OWL},
- booktitle = {Web Engineering},
- eventtitle = {4\textsuperscript{th} International Conference on Web Engineering (ICWE)},
- venue = {Munich, Germany},
- eventdate = {2004-06-26/2004-06-30},
- year = {2004},
- editor = {Koch, Nora and Fraternali, Piero and Wirsing, Martin},
- number = {3140},
- series = {LNCS},
- pages = {354--358},
- publisher = {Springer}}
-
-@ARTICLE{FerLei96:hamb96,
- author = {Christian Ferm{\"u}ller and Alexander Leitsch},
- title = {Hyperresolution and Automated Model Building},
- journal = {Journal of Logic and Computation},
- year = {1996},
- volume = {6},
- pages = {173--203},
- number = {2},
- month = apr}
-
-@ARTICLE{FerLei:hamb96,
- author = {Christian Ferm{\"u}ller and Alexander Leitsch},
- title = {Hyperresolution and Automated Model Building},
- journal = {Journal of Logic and Computation},
- year = {1996},
- volume = {6},
- pages = {173--230},
- number = {2},
- annote = {FermuellerLeitschModelBuildingResolutionTr.ps.gz}}
-
-@BOOK{FerLei:rdp93,
- title = {Resolution for the Decision Problem},
- publisher = {Springer Verlag},
- year = {1993},
- author = {Christian Ferm{\"u}ller and Alexander. Leitsch and Tannel. Tammet
- and N. Zamov},
- number = {679},
- series = {LNCS}}
-
-@UNPUBLISHED{FeZa93,
- author = {Christian G. Ferm{\"u}ller and Richard Zach},
- title = {Analytic Proof Systems for First-Order Many-Valued Logics},
- note = {Draft},
- year = {1993}}
-
-@INPROCEEDINGS{Fiedler99-IJCAI,
- author = {Armin Fiedler},
- title = {Using a Cognitive Architecture to Plan Dialogs for the Adaptive Explanation
- of Proofs},
- booktitle = {Proceedings of 16\textsuperscript{th} International Joint Conference on Artificial
- Intelligence (IJCAI)},
- year = {1999},
- editor = {Thomas Dean},
- pages = {358--363},
- address = {Stockholm, \SWEDEN},
- publisher = {Morgan Kaufmann},
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/Fiedler99-IJCAI.ps.gz}}
-
-@INPROCEEDINGS{ags-2001-d-7,
- author = {Armin Fiedler},
- title = {{P.rex}: An Interactive Proof Explainer},
- booktitle = {Automated Reasoning --- 1\textsuperscript{st} International Joint Conference, IJCAR
- 2001},
- year = {2001},
- editor = {Rejeev Gor{\'e} and Alexander Leitsch and Tobias Nipkow},
- number = {2083},
- series = {LNAI},
- pages = {416--420},
- venue = {Siena, Italy},
- eventdate = 2001,
- publisher = {Springer}}
-
-@INPROCEEDINGS{Fiedler:dastco00,
- author = {Armin Fiedler},
- title = {Determining and Structuring the Content of Presentations of Proofs
- in Natural Language},
- booktitle = {\PROC of 17\textsuperscript{th} International Conference on Automated Deduction---Workshop
- W4: Automated Deduction in Education},
- year = {2000},
- editor = {Erica Melis and Dana Scott},
- pages = {44--51},
- address = {Pittsburgh, PA, USA},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/Fiedler-CADE00-WS4.ps.gz}}
-
-@INPROCEEDINGS{ags-2001-k-9,
- author = {Armin Fiedler},
- title = {Dialog-driven Adaptation of Explanations of Proofs},
- booktitle = {Proceedings of the 17\textsuperscript{th} {International} {Joint} {Conference} on
- {Artificial}
- {Intelligence} ({IJCAI})},
- year = {2001},
- editor = {Bernhard Nebel},
- pages = {1295--1300},
- address = {Seattle, WA},
- publisher = {Morgan Kaufmann}}
-
-@PHDTHESIS{ags-2001-d-8,
- author = {Armin Fiedler},
- title = {User-adaptive proof explanation},
- school = {Naturwissenschaftlich-Technische Fakult{\"a}t I, Saarland University},
- year = {2001},
- address = {Saarbr{\"u}cken, Germany}}
-
-@PHDTHESIS{Fiedler:uape01,
- author = {Armin Fiedler},
- title = {User-adaptive proof explanation},
- school = {Naturwissenschaftlich-Technische Fakult{\"a}t I, Universit{\"a}t
- des Saarlandes},
- year = {2001},
- address = {Saarbr{\"u}cken\GERMANY}}
-
-@INPROCEEDINGS{Fiedler98-INLG,
- author = {Armin Fiedler},
- title = {Macroplanning with a Cognitive Architecture for the Adaptive Explanation
- of Proofs},
- booktitle = {Proceedings of 9\textsuperscript{th} International Workshop on Natural Language Generation},
- year = {1998},
- pages = {88--97},
- address = {Niagara-on-the-Lake, Ontario, Canada},
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/Fiedler98-INLG.ps.gz}}
-
-@MASTERSTHESIS{Fiedler:eefnmv98,
- author = {Armin Fiedler},
- title = {{Ein} {Erfassungssystem} f{\"u}r neurobiologische {Me{\ss}werte}
- von im {Windkanal} fliegenden {Heuschrecken}},
- school = {Fachrichtung Zoologie, Saarland University},
- year = {1998},
- address = {Saarbr{\"u}cken\GERMANY},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/Fiedler98-Master-bio.ps.gz}}
-
-@MASTERSTHESIS{Fiedler:mzpmb96,
- author = {Armin Fiedler},
- title = { {Mikroplanungstechniken} zur {Pr{\"a}sentation} mathematischer {Beweise}},
- school = {University of the Saarland},
- year = {1996}}
-
-@INPROCEEDINGS{ags-2002-k-9,
- author = {Armin Fiedler and Andreas Franke and Helmut Horacek and Markus Moschner
- and Martin Pollet and Volker Sorge},
- title = {Ontological Issues in the Representation and Presentation of Mathematical
- Concepts},
- booktitle = {Proceedings of the ECAI 2002 Workshop on Ontologies and Semantic
- Interoperability},
- year = {2002},
- editor = {J{\'e}r{\^o}me Euzenat and Asuncion G{\'o}mez P{\'e}rez and Nicola
- Guarino and Heiner Stuckenschmidt},
- pages = {62--66},
- address = {Lyon, France}}
-
-@ARTICLE{Lopez-etal99,
- author = {M. F. Lopez and A. G{\'o}mez-P{\'e}rez and J. P. Sierra and A. P. Sierra},
- title = {{Building} a chemical ontology using {Methontology} and the {Ontology}
- {Design} {Environment}},
- journal = {{IEEE} Intelligent Systems},
- year = {1999},
- volume = {14},
- pages = {37--45},
- number = {5},
- month = {January/February},
- topics = {area.ontology}}
-
-@Article{GW:OntoClean2002,
- author = {Nicola Guarino and Christopher Welty},
- title = {Evaluating Ontological Decisions with {OntoClean}},
- journal = {Communications of the ACM},
- year = {2002},
- volume = {45},
- number = {2},
- pages = {61--65},
- month = feb}
-
-@INPROCEEDINGS{ags-2002-e-10,
- author = {Armin Fiedler and Malte Gabsdil},
- title = {Supporting Progressive Refinement of {Wizard}-of-{Oz} Experiments},
- booktitle = {Proceedings of the ITS 2002 --- Workshop on Empirical Methods for
- Tutorial Dialogue Systems},
- year = {2002},
- editor = {Carolyn Penstein Rose and Vincent Aleven},
- pages = {62--69},
- address = {San Sebasti{\'a}n, Spain}}
-
-@INPROCEEDINGS{ags-2001-d-9,
- author = {Armin Fiedler and Helmut Horacek},
- title = {Argumentation in Explanations to Logical Problems},
- booktitle = {Computational Science --- ICCS 2001},
- year = {2001},
- editor = {Vassil N. Alexandrov and Jack J. Dongarra and Benjoe A. Juliano and
- Ren{\'e} S. Renner and C. J. Kenneth Tan},
- number = {2074},
- series = {LNCS},
- pages = {969--978},
- address = {San Francisco, CA},
- publisher = {Springer}}
-
-@INPROCEEDINGS{ags-2002-d-31,
- author = {Armin Fiedler and Helmut Horacek},
- title = {Argumentation with Deductive Reasoning},
- booktitle = {Proceedings of the ECAI 2002 Workshop on Computational Models of
- Natural Argument},
- year = {2002},
- editor = {Giuseppe Carenini and Floriana Grasso and Chris Reed},
- pages = {55--63},
- address = {Lyon, France}}
-
-@MISC{Fiedler:pm96,
- author = {Armin Fiedle{r, ed}},
- title = {{PROMI-Manual}. {Version} 1.2},
- year = {1994},
- note = {Universit{\"a}t des Saarlandes\GERMANY}}
-
-@BOOK{Field:TruthAndAbsenceOfFact,
- title = {{Truth and the Absence of Fact}},
- publisher = {Oxford University Press},
- year = {2001},
- author = {Hartry Field}}
-
-@BOOK{FieMay:iai94,
- title = {Indices and Identity},
- publisher = {MIT Press},
- year = {1994},
- author = {Robert Fiengo and Robert May},
- address = {Cambridge}}
-
-@ARTICLE{fingab:atdls,
- author = {M. Finger and D. M. Gabbay},
- title = {Adding a temporal dimension to a logic system},
- journal = {Journal of Logic, Language and Information},
- year = {1992 },
- volume = {1},
- pages = {203--235},
- number = {3}}
-
-@INPROCEEDINGS{FinFri:kqml94,
- author = {T. Finin and R. Fritzson},
- title = {{KQML} --- A Language and Protocol for Knowledge and Information
- Exchange},
- booktitle = {Proceedings of the 13\textsuperscript{th} Intl.~Distributed Artificial Intelligence
- Workshop},
- year = {1994},
- pages = {127--136},
- address = {Seattle, WA, USA}}
-
-@UNPUBLISHED{Fintel:amtoaq95,
- author = {Kai von Fintel},
- title = {A minimal theory of adverbial quantification},
- note = {Unpublished draft Ms. MIT, Cambridge},
- month = mar,
- year = {1995}}
-
-@ARTICLE{Fischer:sbboscl00,
- author = {Bernd Fischer},
- title = {Specification-Based Browsing of Software Component Libraries},
- journal = {Automated Software Engineering},
- year = {2000},
- volume = {7},
- pages = {179--200},
- number = {2}}
-
-@BOOK{Fitting90,
- title = {First-Order Logic and Automated Threorem Proving},
- publisher = {Springer Verlag},
- year = {1990},
- author = {Melvin Fitting}}
-
-@BOOK{Fitting:folaatp90,
- title = {First-Order Logic and Automated Theorem Proving},
- publisher = {Springer Verlag},
- year = {1990},
- author = {Melvin Fitting}}
-
-@INPROCEEDINGS{ags-2001-k-2,
- author = {Norman Y. Foo and Dongmo Zhang and Quoc Bao Vo and Samir Chopra},
- title = {Encoding solutions of the frame problem in dynamic logic},
- booktitle = {International Conference on Logic Programming and Non-monotonic Reasoning
- -- LPNMR' 01},
- year = {2001},
- pages = {240--253},
- publisher = {Springer}}
-
-@INPROCEEDINGS{ags-2001-k-4,
- author = {Norman Y. Foo and Dongmo Zhang and Quoc Bao Vo and Pavlos Peppas},
- title = {Circumscriptive Models and Automata},
- booktitle = {Workshop on Non-monotonic Reasoning, Action and Change -- co-located
- with IJCAI-01 Proceedings},
- year = {2001},
- editor = {Micha\-{\"e}l Thielscher and Marianne Williams},
- pages = {7--13}}
-
-@MISC{xalan_web,
- author = {{The Apache Software Foundation}},
- title = {Xalan-Java},
- howpublished = {Web page at {\url{http://xml.apache.org/xalan-j}}},
- url = {http://xml.apache.org/xalan-j},
- key = {XALAN}}
-
-@UNPUBLISHED{Fox:livb96,
- author = {Dany Fox},
- title = {Locality in Variable Binding},
- note = {MIT},
- year = {1996}}
-
-@ARTICLE{Fraenkel28,
- author = {Adolf Abraham Fraenkel},
- title = {{Zusatz} {zu} {vorstehendem} {Aufsatz} {Herrn} {v.} {Neumanns}},
- journal = {Mathematische Annalen},
- year = {1928},
- volume = {99},
- pages = {392--393}}
-
-@ARTICLE{Fraenkel:dbdua22,
- author = {Adolf Abraham Fraenkel},
- title = {Der {Begriff} ``definit'' und die {Unabh{\"a}ngigkeit} des {Auswahlsaxioms}},
- journal = {Sitzungsberichte der Preussischen Akademie der Wissenschaften, Physikalisch-mathematische Klasse},
- year = {1922},
- note = {reprinted as~\cite{Fraenkel:tndiac22}}}
-
-@InCollection{Fraenkel:tndiac22,
- author = {Adolf Abraham Fraenkel},
- title = "The notion of ``definite'' and the independence of the axiom of choice",
- crossref = {Heijenoort67},
- pages = {284--289}}
-
-@ARTICLE{Fraenkel22,
- author = {Adolf Abraham Fraenkel},
- title = {{Zu} {den} {Grundlagen} {der} {Cantor}-{Zer\-me\-lo\-schen} {Men\-gen\-leh\-re}},
- journal = {Mathematische Annalen},
- year = {1922},
- volume = {86},
- pages = {230--237}}
-
-@MASTERSTHESIS{Franke-03-a,
- author = {Franke, Andreas},
- title = {Inhaltsorientierte Verwaltung mathematischen Wissens},
- school = {Computer Science Department, Saarland University},
- year = {2003},
- type = {diploma thesis},
- address = {P.O. Box 15 11 50, 66041 Saarbr{\"u}cken},
- month = oct}
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{ags-2002-d-15,
- author = {Andreas Franke and Markus Moschner and Martin Pollet},
- title = {Cooperation between the Mathematical Knowledge Base {{\sc MBase}}
- and the Theorem Prover Omega},
- crossref = {CALCULEMUS02},
- url = {http://www.ags.uni-sb.de/~calculemus2002/proc.ps.gz}}
-
-@MISC{fsf02:gfdl-1.2,
- author = {{Free Software Foundation}},
- title = {{GNU Free Documentation License}},
- howpublished = {\url{http://www.gnu.org/licenses/fdl.html}},
- url = {http://www.gnu.org/licenses/fdl.html},
- month = nov,
- year = {2002},
- note = {Seen July 2006},
- timestamp = {2006.07.27}}
-
-@INCOLLECTION{freg:sinn92,
- author = {Frege, G.},
- title = {{\"U}ber {Sinn} und {Bedeutung}},
- booktitle = {Funktion, Begriff, Bedeutung. F{\"u}nf Logische Studien},
- publisher = {Vanden Hoeck},
- year = {1892},
- editor = {G. Patzig},
- address = {G{\"o}ttingen}}
-
-@BOOK{frey93,
- title = {Syntaktische {Bedingungen} f{\"u}r die {Interpretation} -- {\"U}ber
- {Bindung}, implizite {Argumente} und {Skopus}},
- publisher = {Akademie-Verlag},
- year = {1993},
- author = {Frey, W.},
- address = {Berlin}}
-
-@BOOK{Frey:sbsi93,
- title = {Syntaktische {Bedingungen} f{\"u}r die semantische {Interpretation}},
- publisher = {Akademie-Verlag},
- year = {1993},
- author = {Frey, W.},
- address = {Berlin}}
-
-@INCOLLECTION{Wissenskulturen,
- author = {Johannes Fried and Thomas Kailer},
- title = {{Einleitung: Wissenskultur(en) und gesellschaftlicher Wandel -- Beitr{\"a}ge
- zu einem forschungsstrategischen Konzept}},
- booktitle = {{Wissenskulturen: Beitr{\"a}ge zu einem forschungsstrategischen Konzept}},
- publisher = {Akademie Verlag},
- year = {2003},
- editor = {Johannes Fried and Thomas Kailer},
- number = {1},
- series = {{Wissenskultur und gesellschaftlicher Wandel}},
- pages = {7--19}}
-
-@ARTICLE{frie:lamb80,
- author = {Friedman, J. and Warren, D.},
- title = {Lambda {Normal} {Forms} in an {Intensional} {Logic} for {English}},
- journal = {Studia Logica},
- year = {1980},
- volume = {39},
- pages = {311--324}}
-
-@MANUAL{Friedman:jess00,
- title = {Jess, the Java Expert System Shell},
- author = {E. Friedman-Hill},
- year = {2000},
- note = {{\tt http://herzberg.ca.sandia.gov/jess/}}}
-
-@ARTICLE{Frisch91,
-
- author = {Alan M. Frisch},
- title = {The Substitutional Framework for Sorted Deduction: Fundamental Results
- on Hybrid Reasoning},
- journal = {Artificial Intelligence},
- year = {1990},
- volume = {49},
- pages = {161--198}}
-
-@online{copyleft:on,
-url = {https://www.gnu.org/copyleft/},
-title={What is Copyleft?},
-urldate = {2015-04-25}}
-
-@online{git-annex:on,
-url = {https://git-annex.branchable.com/},
-label = {GA},
-title= {git-annex},
-urldate = {2015-04-25}}
-
-@online{LGPL:on,crossref={LGPL:base},urldate={2013-05-22}}
-@MISC{LGPL,crossref={LGPL:base},
- howpublished = {\url{http://www.gnu.org/copyleft/lesser.html}}}
-@MISC{LGPL:base,
- author = {{Free Software Foundation}},
- title = {{GNU} Lesser General Public License},
- type = {Software License},
- url = {http://www.gnu.org/copyleft/lesser.html},
- year = {1999},
- key = {LGPL}}
-
-@online{AGPL:on,crossref={AGPL:base},urldate={2013-05-22}}
-@MISC{AGPL,crossref={AGPL:base},
- howpublished = {\url{http://www.gnu.org/licenses/agpl.html}}}
-@MISC{AGPL:base,
- author = {{Free Software Foundation}},
- title = {{GNU} Affero General Public License},
- type = {Software License},
- url = {http://www.gnu.org/licenses/agpl.html},
- year = {1999},
- key = {AGPL}}
-
-@MISC{LPPL,
- author = {{\LaTeX} Project},
- title = {The {\LaTeX} project public license},
- type = {Software License},
- url = {http://www.latex-project.org/lppl/},
- year = {2007},
- key = {LPPL}}
-
-@online{GPL:on,crossref={GPL:base},urldate={2013-05-22}}
-@MISC{GPL,crossref={GPL:base},
- howpublished = {\url{http://www.gnu.org/copyleft/gpl.html}}}
-@MISC{GPL:base,
- author = {{Free Software Foundation}},
- title = {GNU General Public License},
- type = {Software License},
- url = {http://www.gnu.org/copyleft/gpl.html},
- year = {1991},
- key = {GPL}}
-
-@article{BhaSriHer99,
- author = {Bhargava, Hemant K. and Sridhar, Suresh and Herrick, Craig},
- journal = {IEEE Computer},
- number = 3,
- pages = {31-39},
- title = {Beyond Spreadsheets: Tools for Building Decision Support Systems.},
- url = {http://dblp.uni-trier.de/db/journals/computer/computer32.html#BhargavaSH99},
- volume = 32,
- year = 1999
-}
-
-
-@TECHREPORT{Fuchs:ehuppe95,
- author = {Matthias Fuchs},
- title = {Experiments in the Heuristic Use of Past Proof Experience},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1995},
- type = {Seki Report},
- number = {SR-95-10},
- pages = {57},
- url =
- {file://ftp.uni-kl.de/reports_uni-kl/computer_science/SEKI/1995/Fuchs.SR-95-10.ps.gz}}
-
-@ARTICLE{fuchs98,
- author = {Fuchs, M. and Fuchs, M.},
- title = {Feature-based Learning of Search-guiding Heuristics for Theorem Proving},
- journal = {{AI} {Communications}},
- year = {1998},
- volume = {11},
- pages = {175--189}}
-
-@BOOK{MuPAD96,
- title = {MuPAD User's Manual},
- publisher = {{John Wiley and sons, Chichester, New York}},
- year = {1996},
- author = {Benno Fuchssteine{r et al.~(The MuPAD Group)}},
- edition = {erste},
- month = mar}
-
-@PHDTHESIS{Fukui:tcpia86,
- author = {Fukui, N.},
- title = {A theory of category projection and its applications},
- school = {MIT},
- year = {1986}}
-
-@BOOK{Gabbay:lds96,
- title = {Labelled Deductive Systems},
- publisher = { Oxford University Press},
- year = {1996},
- author = {Dov Gabbay},
- number = {33},
- series = {Oxford Logic Guides}}
-
-@INCOLLECTION{Gadamer:Bildung,
- author = {Hans-Georg Gadamer},
- title = {{Bildung}},
- booktitle = {{Bildungstheorien}},
- publisher = {Herder},
- year = {1978},
- editor = {J{\"u}rgen-Eckardt Pleines},
- pages = {55--63}}
-
-@TECHREPORT{Gallier89,
- author = {Jean H. Gallier},
- title = {On Girards Candidats de Reducibilite},
- institution = {University of Pennsylvania},
- year = {1990},
- type = {Technical Report},
- number = {MS-CIS-89-31, LOGIC \& COMPUTATION 07}}
-
-@TECHREPORT{GaNa88,
- author = {Jean H. Gallier and Paliath Narendran and Stan Raatz and Wayne Snyder},
- title = {Theorem Proving using Equational Matings and Rigid {$E$}-Unification},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-15, LINC LAB 102},
- location = {miko}}
-
-@ARTICLE{GaSn89a,
- author = {Jean H. Gallier and Wayne Snyder},
- title = {Complete Sets of Transformations for general ${E}$-Unification},
- journal = {Theoretical Computer Science},
- year = {1989},
- volume = {1},
- pages = {203--260},
- number = {67}}
-
-@BOOK{gall:inte75,
- title = {Intensional and {Higher}-{Order} {Modal} {Logic}},
- publisher = {North-Holland},
- year = {1975},
- author = {Gallin, D.},
- address = {Amsterdam}}
-
-@ARTICLE{GP94,
- author = {Galmiche, Didier and Guy Perrier},
- title = {On proof normalisation in linear logic},
- journal = {Theoretical Computer Science},
- year = {1994},
- volume = {135},
- pages = {67--110}}
-
-@CONFERENCE{Per92,
- author = {D. Galmiche and G. Perrier},
- title = {A procedure for Automatic Proof Nets Construction},
- crossref = {LPAR92},
- pages = {42--53}}
-
-@BOOK{Galton:loa84,
- title = {The logic of aspect},
- publisher = {Clarendon Press},
- year = {1984},
- author = {A. Galton},
- address = {Oxford}}
-
-
-@BOOK{gamu:logi82,crossref={Gamut:llmil91}}
-
-@BOOK{Gamut:llmil91,
- title = {{Logic, Language and Meaning, Volume I, Introduction to Logic}},
- publisher = {University of Chicago Press},
- year = {1991},
- author = {Gamut, L. T. F.},
- volume = {1},
- address = {Chicago}}
-
-@BOOK{Gamut:llmillg91,
- title = {Logic, Language and Meaning, Volume II, Intensional Logic and Logical
- Grammar},
- publisher = {University of Chicago Press},
- year = {1991},
- author = {Gamut, L. T. F.},
- volume = {2},
- address = {Chicago}}
-
-@INPROCEEDINGS{ClusteringConceptualGraphs,
- author = {Jean-Gabriel Ganascia and Julien Velcin},
- title = {Clustering of Conceptual Graphs with Sparse Data},
- booktitle = {ICCS 2004},
- year = {2004},
- number = {3127},
- series = {LNAI},
- organization = {ICCS},
- publisher = {Springer Verlag}}
-
-@ARTICLE{Ganzinger91,
- author = {Harald Ganzinger},
- title = {A Completion Procedure for Conditional Equations},
- journal = {Journal of Symbolic Computation},
- year = {1991},
- volume = {11},
- pages = {51--81}}
-
-@INPROCEEDINGS{Gardent:mlag,
- author = { Claire Gardent },
- title = {A multi-level approach to gapping},
- booktitle = {Proceedings of the {Stuttgart} {Ellipsis} {Workshop}},
- year = {1992},
- editor = {Steve Berman and Arild Hestvik},
- address = {University of Stuttgart}}
-
-@INPROCEEDINGS{Gardent:dsve,
- author = { Claire Gardent },
- title = {Dynamic Semantics and {VP} Ellipsis },
- booktitle = {Logics in {AI}},
- year = {1990},
- editor = {van Eijck, Jan},
- pages = {251--267},
- address = {Amsterdam, The Netherlands},
- publisher = {Springer-Verlag}}
-
-@INCOLLECTION{Gardent:si97,
- author = {Claire Gardent},
- title = {Sloppy Identity},
- booktitle = {Logical Aspects of Computational Linguistics},
- publisher = {Springer},
- year = {1997},
- editor = {Christian Retor{\'e}},
- pages = {188--207}}
-
-@TECHREPORT{Gardent:dtag97,
- author = {Claire Gardent},
- title = {Discourse Tree Adjoining Grammars},
- institution = {University of the Saarland},
- year = {1997},
- type = {CLAUS Report},
- number = {89},
- address = {Saarbr{\"u}cken}}
-
-@TECHREPORT{Gardent:phouad97,
- author = {Claire Gardent},
- title = {Parallelism, {HOU} and deaccenting},
- institution = {University of Saarbr{\"u}cken},
- year = {1997},
- type = {CLAUS Report},
- number = {85},
- note = {Submitted for Publication}}
-
-@ARTICLE{Gardent:apetdr96,
- author = {Claire Gardent},
- title = {Anaphores parall{\`e}les et Techniques de R{\'e}solution},
- journal = {Langages},
- year = {1996},
- volume = {123},
- pages = {75--98},
- month = sep}
-
-@INPROCEEDINGS{Gardent:gwdd95,
- author = {Claire Gardent},
- title = {Generating with Discourse Grammar},
- booktitle = {Proceedings of the 5\textsuperscript{th} {International} {Workshop} on {Natural} {Language}
- {Understanding} and {Logic} {Programming} },
- year = {1995},
- address = {Lisbon, Portugal}}
-
-@TECHREPORT{Gardent:dmd94,
- author = {Claire Gardent},
- title = {Discourse multiple dependencies},
- institution = {{Institute for Logic, Language and Computation}},
- year = {1994},
- type = {ILLC Research Report LP-94-18}}
-
-@INPROCEEDINGS{Gardent:ubamvpe93,
- author = { Claire Gardent },
- title = {A unification based approach to multiple {VP} Ellipsis},
- booktitle = {Proceedings of {EACL} `93},
- year = {1993},
- address = {Utrecht}}
-
-@PHDTHESIS{Gardent:gveubg,
- author = {Claire Gardent},
- title = {Gapping and {VP} Ellipsis in a Unification Based Grammar},
- school = {University of Edinburgh},
- year = {1991}}
-
-@TECHREPORT{GarBlo:gd,
- author = {Claire Gardent and Siebe Bloembergen},
- title = {Generating discourse},
- institution = {University of Utrecht},
- year = {1994},
- type = {LRE 61-062 Project Report C.2}}
-
-@INPROCEEDINGS{GarDor:rdp,
- author = {Claire Gardent and Joke Dorrepaal },
- title = {Reversible discourse processing },
- crossref = {IWCS94}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@ARTICLE{GarKon00,
- author = {Claire Gardent and Karsten Konrad},
- title = {Interpreting Definites Using Model Generation},
- journal = {Journal of Language and Computation},
- year = {2000},
- volume = {1},
- pages = {193--209},
- number = {2}}
-
-@ARTICLE{GarKon:idumg00,
- author = {Claire Gardent and Karsten Konrad},
- title = {Interpreting Definites Using Model Generation},
- journal = {Journal of Language and Computation},
- year = {2000},
- volume = {1},
- pages = {193--209},
- number = {2},
- publisher = {Hermes Science Publishers}}
-
-@INPROCEEDINGS{GarPla:gfads90,
- author = {Claire Gardent and Agnes Plainfosse},
- title = {Generating from a {Deep} {Structure}},
- booktitle = {Proceedings of {COLING} `90},
- year = {1990},
- address = {Helsinki}}
-
-@TECHREPORT{GarPru:pd,
- author = {Claire Gardent and Hub Pruest},
- title = {Parsing discourse},
- institution = {University of Utrecht},
- year = {1994},
- type = {LRE 61-062 Project Report C.1}}
-
-@INPROCEEDINGS{GarWeb98,
- author = {Claire Gardent and Bonnie Webber},
- title = {Describing Discourse Semantics},
- booktitle = {Proceedings of the 4\textsuperscript{th} TAG+ Workshop},
- year = {1998},
- address = {University of Pennsylvania, Philadelphia}}
-
-@UNPUBLISHED{GarWeb:uidsas98,
- author = {Claire Gardent and Bonnie Webber},
- title = {Underspecification in Discourse Structure and Semantics},
- note = {Submitted for publication},
- year = {1998}}
-
-@UNPUBLISHED{gw98b,
- author = {Claire Gardent and Bonnie Webber},
- title = {Incremental Discourse Processing},
- note = {In preparation},
- year = {1998}}
-
-@TECHREPORT{garrett05:biblatex,
- author = {Jesse James Garrett},
- title = {Ajax: A new approach to web applications},
- institution = {Adaptive Path},
- year = {2005},
- date = {2005-02-18},
- month = feb,
- urldate = {2009-10-22},
- url = {http://www.adaptivepath.com/publications/essays/archives/000385.php }}
-
-@TECHREPORT{garrett05:ajax,
- author = {Jesse James Garrett},
- title = {Ajax: A new approach to web applications},
- institution = {Adaptive Path},
- year = {2005},
- date = {2005-02-18},
- month = feb,
- note = {Seen February 2006},
- url = {http://www.adaptivepath.com/publications/essays/archives/000385.php }}
-
-@ARTICLE{GarSan:iar77,
- author = {Garrod, S. and Sanford, A.},
- title = {Interpreting Anaphoric Relations: The Integration of Semantic Information
- while Reading},
- journal = {Journal of Verbal Learning and Verbal Behavior},
- year = {1977},
- volume = {16},
- pages = {77--90}}
-
-@ARTICLE{GarSan:otrcoidr85,
- author = {Garrod, S. and Sanford, A. J.},
- title = {On the real-time character of interpretation during reading},
- journal = {Language and Cognitive Processes},
- year = {1985},
- volume = {1},
- pages = {43--59}}
-
-@INCOLLECTION{GarSan:rsdc94,
- author = {S. C. Garrod and T. J. Sanford},
- title = {Resolving sentences in a discourse context},
- booktitle = {Handbook of Psycholinguistics},
- publisher = {Academic Press},
- year = {1994},
- editor = {M. A. Gernsbacher},
- pages = {675--698},
- address = {San Diego}}
-
-@BOOK{Gasser93,
- title = {Architectures and Environments for AI -- Individual-agent, distributed,
- and social Architectures for intelligent System},
- publisher = {Lecture Notes for ACAI},
- year = {1993},
- author = {Les Gasser}}
-
-@ARTICLE{Gawron:csar95,
- author = {Jean Mark Gawron},
- title = {Comparatives, Superlatives, and Resolution},
- journal = {Linguistics \& Philosophy},
- year = {1995},
- volume = {18},
- pages = {333--380},
- number = {4}}
-
-@ARTICLE{gazd:cros80,
- author = {Gazdar, G.},
- title = {A {Cross}-{Categorial} {Semantics} for {Coordination}},
- journal = {Linguistics and Philosophy},
- year = {1980},
- volume = {3},
- pages = {407--409}}
-
-@BOOK{Geddes92,
- title = {Algorithms for Computer Algebra},
- publisher = {Kluwer Academic Press},
- year = {1992},
- author = {Geddes, Keith O. and Czapor, Stephen R. and Labahn, George},
- address = {Boston; Dortrecht; London}}
-
-@ARTICLE{GeiPanSch:stcfv97,
- author = {Tim Geisler and Sven Panne and Heribert Sch{\"u}tz},
- title = {Satchmo: The Compiling and Functional Variants},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {227--236},
- number = {2}}
-
-@INPROCEEDINGS{Gelernter:roagtp59,
- author = {H. Gelernter},
- title = {Realization of a Geometry-Theorem Proving Machine},
- booktitle = {Proceedings of an International Conference on Information Processing},
- year = {1959},
- pages = {273--282},
- address = {Paris France },
- note = {reprinted \cite{SiekmannWrightson:aori83} and \cite{FeigenbaumFeldman:cat95}}}
-
-@TECHREPORT{Genesereth:92,
- author = {M. Genesereth and R. Fikes and others},
- title = {Knowledge Interchange Format: Version 3.0 Reference Manual},
- institution = {Computer Science Department, Stanford University},
- year = {1992}}
-
-@BOOK{gn87:lfai,
- title = {Logical foundations of artificial intelligence},
- publisher = {Morgan Kaufmann Publishers Inc.},
- year = {1987},
- author = {Michael R. Genesereth and Nils J. Nilsson},
- address = {San Francisco, CA, USA},
- isbn = {0-934613-31-1}}
-
-@article{Hilbert:udu26,
- author = {Hilbert, David},
- year = {1926},
- title = {{\"U}ber das Unendliche},
- journal = {Mathematische Annalen},
- volume = {95},
- pages = {161--190},
- doi = {10.1007/BF01206605}}
-
-@ARTICLE{Gentzen:uudlsi35,
- author = {Gerhard Gentzen},
- title = {Untersuchungen {\"u}ber das logische {Schlie{\ss}en} {I}},
- journal = {Mathematische Zeit\-schrift},
- year = {1935},
- volume = {39},
- pages = {176--210}}
-
-@ARTICLE{Gentzen:uudlsii35,
- author = {Gerhard Gentzen},
- title = {Untersuchungen {\"u}ber das logische {Schlie{\ss}en} {II}},
- journal = {Mathematische Zeit\-schrift},
- year = {1935},
- volume = {39},
- pages = {572--595}}
-
-@ARTICLE{Gentzen:uudlsiii35,
- author = {Gerhard Gentzen},
- title = {Untersuchungen {\"u}ber das logische {Schlie{\ss}en} {I} \& {II}},
- journal = {Mathematische Zeit\-schrift},
- year = {1935},
- volume = {39},
- pages = {176--210, 572--595}}
-
-@INPROCEEDINGS{Gerber:Resource:98,
- author = {C. Gerber and C. G. Jung},
- title = {Resource Management for Boundedly Optimal Agent Societies},
- booktitle = {{Proceedings of the ECAI'98 Workshop on Monitoring and Control of
- Real-Time Intelligent Systems}},
- year = {1998},
- pages = {23--28},
- editor = {A. I. Mouaddib and S. Zilberstein}}
-
-@PHDTHESIS{Geuvers:lats93,
- author = {J. Herman Geuvers},
- title = {Logics and Type Systems},
- school = {Katholieke Universiteit Nijmegen},
- year = {1993}}
-
-@ARTICLE{giles05:nature-encyclopedias,
- author = {Giles, Jim},
- title = {Internet encyclopaedias go head to head},
- journal = {Nature},
- year = {2005},
- volume = {438},
- pages = {900--901},
- number = {7070},
- month = dec,
- issn = {0028-0836},
- publisher = {Nature Publishing Group},
- url = {http://dx.doi.org/10.1038/438900a}}
-
-@INPROCEEDINGS{gilm:cons74,
- author = {Gilmore, P. C.},
- title = {The {Consistency} of {Partial} {Set} {Theory} without {Extensionality}},
- booktitle = {Axiomatic Set Theory. Proceedings of Symposia in Pure Mathematics
- 13, Part II},
- year = {1974},
- address = {Providence},
- publisher = {AMS}}
-
-@ARTICLE{gin96,
- author = {Ginzburg, J.},
- title = {Questions},
- journal = {Linguistics \& Philosophy},
- year = {1996},
- volume = {14},
- pages = {459--527, 567-609}}
-
-@ARTICLE{Giordano:SharedValuesAsAnchorsOfALearningCommunity,
- author = {Daniela Giordano},
- title = {{Shared values as anchors of a learning community: a case study in
- information systems design}},
- journal = {Journal of Educational Media},
- year = {2004},
- volume = {29},
- pages = {213--227},
- number = {3},
- month = oct}
-
-@PHDTHESIS{Girard:ifeedc72,
- author = {Jean-Yves Girard},
- title = {Interpr{\'e}tation fonctionelle et {\'e}limination des coupures de
- l'arithmetique d'ordre sup{\'e}rieur},
- school = {Universit{\'e} de Paris VII France },
- year = {1972}}
-
-@PHDTHESIS{Girard:ifeedcdlds72,
- author = {Jean-Yves Girard},
- title = {Interpr{\'e}tation fonctionelle et {\'e}limination des coupures de
- l'arithmetique d'ordre sup{\'e}rieur},
- school = {Universit{\'e} de Paris VII},
- year = {1972}}
-
-@BOOK{GirLafTay:pat89,
- title = {Proofs and Types},
- publisher = {Cambridge University Press},
- year = {1989},
- author = {Jean-Yves Girard and Yves Lafont and Paul Taylor},
- number = {7},
- series = {Cambridge Tracts in Theoretical Computer Science}}
-
-@BOOK{GirTayLaf:pat89,
- title = {Proofs and Types},
- publisher = {Cambridge University Press},
- year = {1989},
- author = {Jean-Yves Girard and Paul Taylor and Yves Lafont},
- volume = {7},
- series = {Cambridge Tracts in Theoretical Computer Science},
- address = {Press Syndicate of the University of Cambridge, The Pitt Building,
- Trumpington Street, Cambridge CB2 1RP, GB}}
-
-@ARTICLE{GleMeyLin:mmcfdtc87,
- author = {A. M. Glenberg and M. Meyer and K. Lindem},
- title = {Mental models contribute to foregrounding during text comprehension},
- journal = {Journal of Memory and Language},
- year = {1987},
- volume = {26},
- pages = {69--83}}
-
-@INPROCEEDINGS{GnKi88,
- author = {Isabelle Gnaedig and Claude Kirchner and H{\'e}l{\`e}ne Kirchner},
- title = {Equational Completion in Order-sorted Algebras},
- booktitle = {Proceedings of the CAAP'88},
- year = {1988},
- number = {299},
- series = {LNCS},
- publisher = {Springer Verlag},
- keywords = {OSLogic, completion}}
-
-@PHDTHESIS{Goerdt85,
- author = {A. Goerdt},
- title = {Ein Hoare Kalk{\"u}l f{\"u}r getypte {$\lambda$}-Terme. Korrektheit,
- Vollst{\"a}ndigkeit, Anwendungen},
- school = {RWTH Aachen},
- year = {1985},
- note = {beschaffen}}
-
-@BOOK{gold:logi87,
- title = {Logics of {Time} and {Computation}},
- publisher = {CSLI Lecture Notes},
- year = {1987},
- author = {Goldblatt, R.},
- address = {Stanford}}
-
-@INCOLLECTION{Goldblatt:lotac87,
- author = {Goldblatt, R.},
- title = {Logics of Time and Computation},
- booktitle = {CSLI Lecture Notes},
- publisher = {Chicago University Press, Chicago},
- year = {1987}}
-
-@BOOK{Goldfarb:sgml90,
- title = {The SGML Handbook},
- publisher = {Oxford University Press},
- year = {1990},
- author = {C. F. Goldfarb}}
-
-@ARTICLE{Goldfarb81,
- author = {Warren D. Goldfarb},
- title = {The Undecidability of the Second-Order Unification Problem},
- journal = {Theoretical Computer Science},
- year = {1981},
- volume = {13},
- pages = {225--230},
- keywords = {hou, fp}}
-
-@ARTICLE{Goldfarb:tuotso81,
- author = {Warren D. Goldfarb},
- title = {The Undecidability of the Second-Order Unification Problem},
- journal = {Theoretical Computer Science},
- year = {1981},
- volume = {13},
- pages = {225--230},
- keywords = {hou, fp}}
-
-@MISC{GooSaa:pisgml,
- author = {Michel Goossens and Janne Saarela},
- title = {A Practical Introduction to {SGML}},
- howpublished = {Web manuscript at
- \url{http://wwwasdoc.web.cern.ch/wwwasdoc/WWW/publications/sgmlen/sgmlen.html}},
- url = {http://wwwasdoc.web.cern.ch/wwwasdoc/WWW/publications/sgmlen/sgmlen.html},
- year = {Seen 2005}}
-
-@TECHREPORT{Gordon85,
- author = {Mike Gordon},
- title = {{HOL:} A Machine Oriented Formulation of Higher-order Logic},
- institution = {University of Cambridge, Computer Laboratory},
- year = {1985},
- number = {68},
- month = jul,
- keywords = {hol,atp,hol,lang,lcf,conal}}
-
-@BOOK{GoMi79,
- title = {Edinburgh {LCF}: A Mechanized Logic of Computation},
- publisher = {Springer Verlag},
- year = {1979},
- author = {M. Gordon and R. Milner and C. Wadsworth},
- number = {78},
- series = {LNCS}}
-
-@BOOK{Gordon79,
- title = {Edinburgh {LCF}: A Mechanized Logic of Computation},
- publisher = {Springer Verlag},
- year = {1979},
- author = {Michael Gordon and Robin Milner and Christopher Wadsworth},
- number = {78},
- series = {LNCS}}
-
-@BOOK{GoMe93,
- title = {Introduction to {HOL} -- A theorem proving environment for higher
- order logic},
- publisher = {Cambridge University Press},
- year = {1993},
- author = {M. J. C. Gordon and T. F. Melham}}
-
-@BOOK{gorrell95,
- title = {Syntax and Parsing},
- publisher = {Cambridge University Press},
- year = {1995},
- author = {Paul Gorrell}}
-
-@TECHREPORT{Gould66,
- author = {William Eben Gould},
- title = {A Matching Procedure for $\omega $-Order Logic},
- institution = {Applied Logic Corporation},
- year = {1966},
- address = {One Palmer Square, Princeton, NJ}}
-
-@TECHREPORT{Gould:ampfoo66,
- author = {William Eben Gould},
- title = {A Matching Procedure for $\omega $-Order Logic},
- institution = {Applied Logic Corporation},
- year = {1966},
- address = {One Palmer Square, Princeton, NJ}}
-
-@TECHREPORT{Gould65,
- author = {William Eben Gould},
- title = {{CRT}-Aided Semi-Automated Mathematics},
- institution = {Applied Logic Corporation},
- year = {1965},
- type = {Semi-annual Report},
- month = dec}
-
-@UNPUBLISHED{Graedel:rpg,
- author = {Ernst Graedel},
- title = {On the Restraining Power of Guards},
- note = {To Appear}}
-
-@BOOK{Graf:ti96,
- title = {Term Indexing},
- publisher = {Springer Verlag},
- year = {1996},
- author = {Graf, Peter},
- number = {1053},
- series = {LNCS}}
-
-@PHDTHESIS{Graf:ti95,
- author = {Graf, Peter},
- title = {Term Indexing},
- school = {Universitaet des Saarlandes},
- year = {1995},
- address = {Saarbruecken, Germany},
- month = jul,
- bibtype = {PHDTHESIS}}
-
-@INCOLLECTION{Grice:lac75,
- author = {P. Grice},
- title = {Logic and conversation},
- booktitle = {Syntax and semantics 3: Speech acts},
- publisher = {Academic Press},
- year = {1975},
- editor = {P. Cole and J. Morgan},
- pages = {41--58},
- address = {New York}}
-
-@INCOLLECTION{GroSto:q97,
- author = {Jeroen Groenendijk and Martin Stokhof},
- title = {Questions},
- booktitle = {Handbook of logic and language},
- publisher = {Elsevier},
- year = {1997},
- editor = {J. van Benthem and A. ter Meulen},
- pages = {1055--1124}}
-
-@INCOLLECTION{GroSto:dmg90,
- author = {Jeroen Groenendijk and Martin Stokhof},
- title = {Dynamic {Montague} {Grammar}},
- booktitle = {Papers from the Second Symposium on Logic and Language},
- publisher = {Akad{\'e}miai Kiad{\'o}, Budapest},
- year = {1990},
- editor = {L. K{\'a}lm{\'a}n and L. P{\'o}los},
- pages = {3--48}}
-
-@ARTICLE{GroSto:dpl91,
- author = {Jeroen Groenendijk and Martin Stokhof},
- title = {Dynamic Predicate Logic},
- journal = {Linguistics \& Philosophy},
- year = {1991},
- volume = {14},
- pages = {39--100}}
-
-@INCOLLECTION{GroSto:ttods90,
- author = {Jeroen Groenendijk and Martin Stokhof},
- title = {Two Theories of Dynamic Semantics},
- booktitle = {Logic in {AI}, Proceedings of the European Workshop {JELIA '90},
- {Amsterdam}},
- publisher = {Springer-Verlag},
- year = {1990},
- series = {LNAI}}
-
-@PHDTHESIS{groe:stud84,
- author = {Groenendijk, J. and Stokhof, M.},
- title = {Studies on the {Semantics} of {Questions} and the {Pragmatics} of
- {Answers}},
- school = {University of Amsterdam},
- year = {1984}}
-
-@PHDTHESIS{GroSto:ssqpa84,
- author = {Jeroen Groenendijk and Martin Stokhof},
- title = {Studies on the semantics of questions and the pragmatics of answers},
- school = {University of Amsterdam},
- year = {1984}}
-
-@ARTICLE{GroSto:saw82,
- author = {Jeroen Groenendijk and Martin Stokhof},
- title = {Semantic analysis of {\em wh\/}-complements},
- journal = {Linguistics \& Philosophy},
- year = {1982},
- volume = {5},
- pages = {175--233}}
-
-@UNPUBLISHED{GrSt:cam95,
- author = {Jeroen Groenendijk and Martin Stokhof and Frank Veltmann},
- title = {Coreference and Modality},
- note = {to appear as a ILLC Report, University of Amsterdam}}
-
-@TECHREPORT{GrST:tmbi94,
- author = {Jeroen Groenendijk and Martin Stokhof and Frank Veltmann},
- title = {This might be it},
- institution = {{Institute for Logic, Language and Computation, Universiteit van
- Amsterdam}},
- year = {1994},
- type = {ILLC Report},
- number = {LP-94-13},
- month = sep}
-
-@TECHREPORT{GrST:usfmpl94,
- author = {Jeroen Groenendijk and Martin Stokhof and Frank Veltmann},
- title = {Update Semantics for Modal Predicate Logic},
- institution = {{Institute for Logic, Language and Computation, Universiteit van
- Amsterdam}},
- year = {1994},
- type = {ILLC Report},
- number = {LP-94-14},
- month = sep}
-
-@INPROCEEDINGS{Gro95,
- author = {de Groote, Philippe},
- title = {Linear logic with {Isabelle}: pruning the proof search tree},
- booktitle = {4\textsuperscript{th} Workshop on theorem proving with analytic tableaux and related
- methods},
- year = {1995},
- series = {LNAI},
- month = mar,
- publisher = {Springer-Verlag}}
-
-@INPROCEEDINGS{GR96,
- author = {Philippe de Groote and Christian Retor{\'e}},
- title = {Semantic readings of proof nets},
- booktitle = {Formal Grammar},
- year = {1996},
- editor = {Geert-Jan Kruijff and Glyn Morrill and Dick Oehrle},
- pages = {57--70},
- address = {Prague},
- month = aug,
- publisher = {FoLLI}}
-
-@TECHREPORT{GroMal:xes03,
- author = {Paul Grosso and Eve Maler and Jonathan Marsh and Norman Walsh},
- title = {{XPointer} element() Scheme},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2003},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/xptr-element},
- key = {XPointer}}
-
-@TECHREPORT{DerMah:xxs03,
- author = {Steven DeRose and Eve Maler and Ron Daniel Jr.},
- title = {{XPointer} xpointer() Scheme},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2003},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/xptr-xpointer},
- key = {XPointer}}
-
-@TECHREPORT{GroMal:xf03,
- author = {Paul Grosso and Eve Maler and Jonathan Marsh and Norman Walsh},
- title = {W3C XPointer Framework},
- institution = {World Wide Web Consortium (W3C)},
- year = 2003,
- type = {{W3C} Recommendation},
- month = mar,
- date = {2003-03-25},
- url = {http://www.w3.org/TR/2003/REC-xptr-framework-20030325/}}
-
-@INCOLLECTION{Grosz:fdnld,
- author = {B. Grosz},
- title = {Focusing and description in natural language dialogues},
- booktitle = {Elements of discourse understanding},
- publisher = {Cambridge University Press},
- year = {1981},
- editor = {A. Joshi and B. Webber and I. Sag},
- pages = {84--105},
- address = {Cambridge}}
-
-@TECHREPORT{Grosz:rufsdu,
- author = {B. Grosz},
- title = {The representation and use of focus in a system for dialog understanding},
- institution = {SRI International},
- year = {1977},
- type = {Technical Report},
- number = {151}}
-
-@ARTICLE{GroSid:aiatsod86,
- author = {B. Grosz and C. Sidner},
- title = {Attention, Intention and the Structure of Discourse},
- journal = {Computational Linguistics},
- year = {1986},
- volume = {12},
- pages = {175--204},
- number = {3},
- month = {July--September}}
-
-@ARTICLE{GroszSidner:aiatso86,
- author = {Barbara J. Grosz and Candace L. Sidner},
- title = {Attention, Intentions, and the Structure of Discourse},
- journal = {Computational Linguistics},
- year = {1986},
- volume = {12},
- pages = {175--204},
- number = {3}}
-
-@MISC{ILFKB,
- author = {The ILF Group},
- title = {The ILF Mathematical Library},
- howpublished = {Internet page at
- \url{http://www-irm.mathematik.hu-berlin.de/~ilf/mathlib.html}},
- url = {http://www-irm.mathematik.hu-berlin.de/~ilf/mathlib.html},
- key = {ILFKB}}
-
-@MISC{Omg:Corba:Web,
- author = {The Object Management Group},
- title = {The Common Object Request Broker Architecture},
- note = {http://www.corba.org/},
- key = {Corba}}
-
-@MANUAL{Simath94,
- title = {{SIMATH} {Manual}},
- author = {The SIMATH Group},
- organization = {Fachbereich Mathematik, Universit{\"a}t des Saarlandes},
- address = {Saarbr{\"u}cken},
- year = {1994}}
-
-@TECHREPORT{W3C:xhtml10, crossref={W3C:xhtml2000}}
-@TECHREPORT{W3C:xhtml2002, crossref={W3C:xhtml2000}}
-@TECHREPORT{W3C:xhtml2000,
- author = {{The W3C HTML Working Group}},
- title = {XHTML 1.0 The Extensible HyperText Markup Language (Second Edition) --
- A Reformulation of HTML 4 in XML 1.0},
- institution = {World Wide Web Consortium (W3C)},
- year = 2002,
- date = {2002-08-01},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/2002/REC-xhtml1-20020801}}
-
-@MISC{w3c:web:xhtml,
- author = {{W3C}},
- title = {{XHTML 1.0 The Extensible HyperText Markup Language (Second Edition)}},
- howpublished = {\url{http://www.w3.org/TR/xhtml1/}},
- year = {2000},
- note = {Seen July 2007},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/xhtml1/}}
-
-
-
-@TECHREPORT{OpenEBook:oeps99,
- author = {The {Open eBook} Group},
- title = {Open eBook[tm] Publication Structure 1.0},
- institution = {The {OpenEBook} Initiative},
- year = {1999},
- type = {Draft Recommendation},
- url = {http://www.openEbook.org},
- key = {OpeneBook}}
-
-@INPROCEEDINGS{GroBreManMoe:puagidg94,
- author = {Claire Grover and Chris Brew and Suresh Manandhar and Marc Moens},
- title = {Priority Union and Generalisation in Discourse Grammar},
- booktitle = {Proceedings of the 31\textsuperscript{th} Annual Meeting of the {Association} for
- {Computational}
- {Linguistics}},
- year = {1994}}
-
-@ARTICLE{gruber93:atatpos,
- crossref = {gruber93:translation-portable-ontologies}}
-
-@ARTICLE{gruber93:translation-portable-ontologies,
- author = {Gruber, Thomas R.},
- title = {A translation approach to portable ontology specifications},
- journal = {Knowledge Acquisition},
- year = {1993},
- volume = {5},
- pages = {199--220},
- number = {2},
- month = jun,
- address = {London, UK},
- citeulike-article-id = {244074},
- doi = {10.1006/knac.1993.1008},
- issn = {1042-8143},
- keywords = {ontology},
- priority = {3},
- publisher = {Academic Press Ltd.},
- url = {http://portal.acm.org/citation.cfm?id=173747}}
-
-@TECHREPORT{Guard64,
- author = {J. R. Guard},
- title = {Automated Logic for Semi-Automated Mathematics},
- institution = {Air Force Cambridge Research Laboratories},
- year = {1964},
- type = {Scientific Report},
- number = {64--411},
- month = mar}
-
-@ARTICLE{GuOg69,
- author = {J. R. Guard and F. C. Oglesby and J. H. Bennet and L. G. Settle},
- title = {Semi-Automated Mathematics},
- journal = {Journal of the Association of Computing Machinery},
- year = {1969},
- volume = {16},
- pages = {49--62},
- number = {1}}
-
-@BOOK{Goedel40,
- title = {The Consistency of the Axiom of Choice and of the Generalized
- Continuum-Hypothesis
- with the Axioms of Set Theory},
- publisher = {Princeton University Press},
- year = {1940},
- author = {Kurt G{\"o}del},
- volume = {3},
- series = {Annals of Mathematics Studies},
- address = {Princeton, New Jersey; eighth printing 1970}}
-
-@ARTICLE{Goedel31,
- author = {Kurt G{\"o}del},
- title = {{\"U}ber formal unentscheidbare {S{\"a}}tze der {Principia Mathematica}
- und verwandter {Systeme} {I}},
- journal = {Monatshefte der Mathematischen Physik},
- year = {1931},
- volume = {38},
- pages = {173--198},
- note = {English Version in~\cite{Heijenoort67}}}
-
-@ARTICLE{Goedel:uvuw31,
- author = {Kurt G{\"o}del},
- title = {{\"U}ber Vollst{\"a}ndikeit und Widerspruchsfreiheit},
- journal = {Ergebnisse eines mathematischen Kolloquiums (1932)},
- year = {1931},
- volume = {3},
- pages = {12--13}}
-
-@ARTICLE{Goedel30,
- author = {Kurt G{\"o}del},
- title = {{Die} {Vollst{\"a}ndigkeit} der {Axiome} {des} {logischen}
- {Funktionenkalk{\"u}ls}},
- journal = {Monatshefte f{\"u}r Mathematik und Physik},
- year = {1930},
- volume = { 37},
- pages = {349--360},
- note = {English Version in~\cite{Heijenoort67}}}
-
-@BOOK{omg:uno94,
- title = {{Universal} {Networked} {Objects}},
- year = {1994},
- author = {{The} {Object} {Management} {Group}},
- series = {{OMG} {TC} {Document}},
- address = {{Framingham}},
- month = sep,
- vol = {94-9-32}}
-
-@INPROCEEDINGS{HorKon99,
- author = {H. Horacek, K. Konrad},
- title = {Presenting Herbrand Models with Linguistically Motivated Techniques},
- booktitle = {CIMCA-99},
- year = {1999},
- location = {Wien}}
-
-@MASTERSTHESIS{Hoehl,
- author = {H{\"o}hl, C.},
- title = {Funktionale {Implementierung} eines {Unfikationsalgorithmus} f{\"u}r
- {Stratified} {Second}-{Order} {Terme}},
- school = {Johann Wolfgang Goethe-Universit{\"a}t},
- year = {1997},
- note = {Universit{\"a}t Frankfurt:
- \url{http://www.ki.informatik.uni-frankfurt.de/papers/masters.html}},
- url = {http://www.ki.informatik.uni-frankfurt.de/papers/masters.html}}
-
-@ARTICLE{J9,
- author = {Malte H{\"u}bner and Serge Autexier and Christoph Benzm{\"u}ller and
- Andreas Meier},
- title = {Interactive Theorem Proving with Tasks},
- journal = {Electronic Notes in Theoretical Computer Science},
- year = {2004},
- note = {To appear}}
-
-@INPROCEEDINGS{HBAM-03-a,
- author = {H{\"u}bner, Malte and BenzM{\"u}ller, Christoph and Autexier, Serge and
- Meier, Anreas},
- title = {Interactive Proof Construction at the Task Level},
- booktitle = {Proceedings of the Workshop User Interfaces for Theorem Provers (UITP'03)},
- year = {2003},
- editor = {L{\"u}th, Christoph and Aspinall, David},
- address = {Rome, Italy},
- month = sep}
-
-
-
-
-@TECHREPORT{HaeKerWei:csdfgsd96,
- author = {Reiner H{\"a}hnle and Manfred Kerber and Christoph Weidenbach},
- title = {Common Syntax of DFG-Schwerpunktprogramm ``Deduktion''},
- institution = {Universit{\"a}t Karlsruhe, Fakult{\"a}t f{\"u}r Informatik},
- year = {1996},
- type = {Interner Bericht},
- number = {10/96}}
-
-@MISC{HarMoe03:racer,
- author = {Volker Haarslev and Ralf M{\"o}ller},
- title = {Racer: A core inference engine for the semantic web},
- howpublished = {\url{http://www.franz.com/products/racer/Racer_whitepaper.pdf}},
- year = {2003},
- url = {http://www.franz.com/products/racer/Racer_whitepaper.pdf}}
-
-@BOOK{Hadamard:tpoiit44,
- title = {The Psychology of Invention in the Mathematical Field},
- publisher = {Dover Publications},
- year = {1944},
- author = {Jacques Hadamard},
- address = {New York, USA; edition 1949}}
-
-@INCOLLECTION{vanHahn91,
- author = {Walther van Hahn},
- title = {System Architectures as the Key Issue for Speech Understanding},
- booktitle = {Natural Language and Speech: Symposium Proceedings},
- publisher = {Springer},
- year = {1991},
- editor = {E. Klein and F. Veltman},
- pages = {184--188},
- address = {Berlin, Heidelberg}}
-
-@BOOK{Haider:dsg83,
- title = {Deutsche {Syntax} -- generativ},
- publisher = {Narr},
- year = {1983},
- author = {Haider, H.},
- address = {T{\"u}bingen}}
-
-@INPROCEEDINGS{HaIvMaTa03:piazza,
- author = {Alon Y. Halevy and Zachary G. Ives and Peter Mork and Igor Tatarinov},
- title = {Piazza: data management infrastructure for semantic web applications},
- pages = {556--567},
- crossref = {www2003}}
-
-@BOOK{Hall:ttg59,
- title = {The Theory of Groups},
- publisher = {The Macmillan Company},
- year = {1959},
- author = {Marshal Hall},
- address = {New York}}
-
-@BOOK{Halliday:fg85,
- title = {An Introduction to Functional Grammar},
- publisher = {Edward Arnold},
- year = {1985},
- author = {M. A. K. Halliday},
- address = {London}}
-
-@BOOK{Halliday:aitfg94,
- title = {An Introduction to Functional Grammar},
- publisher = {Edward Arnold},
- year = {1994},
- author = {M. A. K. Halliday},
- edition = {2.}}
-
-@ARTICLE{Hamblin:qmg73,
- author = {Hamblin, C.},
- title = {Questions in {Montague} grammar},
- journal = {Foundations of Language},
- year = {1973},
- volume = {10},
- pages = {41--53}}
-
-@INPROCEEDINGS{HaMi88a,
- author = {H. Hannan and Dale Miller},
- title = {Enriching a Meta-Language with Higher-Order Features},
- booktitle = {Workshop on Meta-Programming in Logic Programming},
- year = {1988},
- address = {Bristol}}
-
-@INPROCEEDINGS{HaMi88b,
- author = {John Hannan and Dale Miller},
- title = {Uses of Higher Order Unification for Implementing Program Transformers},
- booktitle = {Fifth International Symposium on Logic Programming},
- year = {1988},
- editor = {K. Bowen and R. Kowalski},
- publisher = {MIT Press}}
-
-@TECHREPORT{HaMi88c,
- author = {John Hannan and Dale Miller},
- title = {Uses of Higher-Order Unification for Implementing Program Transformers},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-46, LINC LAB 118},
- location = {miko}}
-
-@TECHREPORT{HaMi88d,
- author = {John Hannan and Dale Miller},
- title = {Enriching a Meta-Language with Higher-Order Features},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-45, LINC LAB 118},
- location = {miko}}
-
-@INCOLLECTION{CyborgManifesto,
- author = {Donna Haraway},
- title = {{A Cyborg Manifesto:Science, Technology, and Socialist-Feminism in
- the late Twentieth Century}},
- booktitle = {{Simians, Cyborgs and Women:The Reinvention of Nature}},
- publisher = {Routledge},
- year = {1991},
- pages = {149--181},
- note = {seen 18.11.2004 at
- {\url{http://www.stanford.edu/dept/HPS/Haraway/CyborgManifesto}}},
- url = {http://www.stanford.edu/dept/HPS/Haraway/CyborgManifesto}}
-
-@MISC{HarDev:uim03,
- author = {Douglas Wilhelm Harder and Stan Devitt},
- title = {Units in MathML},
- howpublished = {W3C Working Group Note},
- year = {2003},
- url = {http://www.w3.org/TR/mathml-units}}
-
-@MISC{SIbrochure,
- Key = {SIbrochure},
- title = {The International System of Units (SI) 8. Edition},
- organization = {Bureau International des Poids et Mesures},
- year = {2006},
- url = {http://www.bipm.org/utils/common/pdf/si_brochure_8_en.pdf}}
-
-@INCOLLECTION{Harding:StrongObjectivity,
- author = {Sandra Harding},
- title = {{Rethinking Standpoint Epistemology: What Is ``Strong Objectivity''?}},
- booktitle = {{The Feminist Standpoint Theory Reader: Intellectual and Political
- Controversies}},
- publisher = {Routledge},
- year = {2004},
- editor = {Sandra Harding}}
-
-@UNPUBLISHED{Hardt:diovpe96,
- author = {Daniel Hardt},
- title = {Dynamic Interpretation of verb phrase ellipsis},
- note = {Ms., University of Villanova},
- year = {1996}}
-
-@INCOLLECTION{Harel:dl84,
- author = {Harel, D.},
- title = {Dynamic Logic},
- booktitle = {Handbook of Philosophical Logic},
- publisher = {Reidel, Dordrecht},
- year = {1984},
- editor = {Gabbay, D. and G{\"u}nthner, F.},
- volume = {2},
- pages = {497--604}}
-
-@INCOLLECTION{harel84,
- author = {Harel, D.},
- title = {Dynamic {Logic}},
- booktitle = {Handbook of Philosophical Logic},
- publisher = {Reidel},
- year = {1984},
- editor = {Gabbay, D. M. and Guenthner, F.},
- volume = {II},
- pages = {497--604},
- address = {Dordrecht}}
-
-@BOOK{HarKozTiu:dlfc00,
- title = {Dynamic Logic (Foundations of Computing)},
- publisher = {MIT Press},
- year = {2000},
- author = {David Harel and Dexter Kozen and Jerzy Tiuryn}}
-
-
-@BOOK{Harold:xb01,
- title = {{XML Bible}},
- publisher = {Hungry Minds},
- year = {2001},
- author = {Eliotte Rusty Harold},
- edition = {Gold Edition}}
-
-@ARTICLE{HarperEtAl:affdl93,
- author = {Robert Harper and Furio Honsell and Gordon Plotkin},
- title = {A framework for defining logics},
- journal = {Journal of the Association for Computing Machinery},
- year = {1993},
- volume = {40},
- pages = {143--184},
- number = {1}}
-
- @misc{epub:wikipedia:URL,
- author = "Wikipedia",
- title = "EPUB --- Wikipedia{,} The Free Encyclopedia",
- year = "2011",
- url = {https://secure.wikimedia.org/wikipedia/en/w/index.php?title=EPUB&oldid=417503598},
- note = {[Online; accessed 15-March-2011]}}
-@TECHREPORT{HarperPfenning:oeacfi99,
- author = {Robert Harper and Frank Pfenning},
- title = {On Equivalence and Canonical Forms in the {LF} Type Theory},
- institution = {School of Computer Science},
- year = {1999},
- number = {CMU-CS-99-159},
- address = {Carnegie Mellon University}}
-
-@ARTICLE{hst94:stplr,
- author = {Robert Harper and Donald Sannella and Andrzej Tarlecki},
- title = {{Structured} {Theory} {Presentations} and {Logic} {Representations}},
- journal = {Annals of Pure and Applied Logic},
- year = {1994},
- volume = {67},
- pages = {113--160},
- number = {1-3},
- url = {citeseer.ist.psu.edu/harper94structured.html}}
-
-@TECHREPORT{HaPi90,
- author = {Robert W. Harper and Benjamin C. Pierce},
- title = {Extensible Records Without Subsumption},
- institution = {Carnegie Mellon University},
- year = {1990},
- type = {Techreport},
- number = {CMU-CS-90-102},
- location = {miko}}
-
-@TECHREPORT{Harrison:fm96,
- author = {John Harrison},
- title = {Formalized Mathematics},
- institution = {Turku Centre for Computer Science (TUCS)},
- year = {1996},
- type = {Technical Report},
- number = {36},
- address = {Lemmink{\"a}isenkatu 14 A, FIN-20520 Turku, Finland},
- url = {http://www.cl.cam.ac.uk/users/jrh/papers/form-math3.html}}
-
-@INPROCEEDINGS{HaTh93a,
- author = {J. Harrison and L. Th{\'e}ry},
- title = {{Extending} the {HOL} {Theorem} {Prover} with a {Computer} {Algebra}
- {System} to {Reason} {About} the {Reals}},
- booktitle = {Higher Order Logic Theorem Proving and its Applications (HUG `93)},
- year = {1993},
- editor = {J. J. Joyce and C.-J. H. Seger},
- number = {780},
- series = {LNCS},
- pages = {174--184},
- publisher = {Springer Verlag, Berlin}}
-
-@INPROCEEDINGS{HaTh93b,
- author = {Harrison, John and Th{\'e}ry, Laurent},
- title = {{Reasoning} {About} the {Reals}: {The} {Marriage} of {HOL} and {Maple}},
- crossref = {LPAR93},
- pages = {351--353}}
-
-@ARTICLE{HaTh:asacham98,
- author = {J. Harrison and L. Th{\'e}ry},
- title = {{A Skeptic's Approach to Combining HOL and Maple}},
- journal = {Journal of Automated Reasoning},
- year = {1998},
- volume = {21},
- pages = {279--294},
- number = {3}}
-
-@ARTICLE{TCS-26-3:335,
- author = {Hartmanis, J.},
- title = {On {G{\"o}del} Speed-Up and Succinctness of Language Representations},
- journal = {Theoretical Computer Science},
- year = {1983},
- volume = {26},
- pages = {335--342},
- number = {3},
- bibtype = {ARTICLE},
- location = {MPI-ZB}}
-
-@ARTICLE{TCS-17-1:75,
- author = {Hartmanis, J.},
- title = {A Note on Natural Complete Sets and {G{\"o}del} Numberings},
- journal = {Theoretical Computer Science},
- year = {1982},
- volume = {17},
- pages = {75--89},
- number = {1},
- bibtype = {ARTICLE},
- location = {MPI-ZB}}
-
-@INCOLLECTION{Hartmann:TransnationalizingEducation,
- author = {Eva Hartmann},
- title = {{Transnationalizing Tertiary Education in a Global Information Society}},
- booktitle = {{Agents of Change}},
- publisher = {Leske {and} Budrich},
- year = {2003},
- editor = {Gabriele Kreutzner, Heidi Schelhowe},
- pages = {25--42}}
-
-@MASTERSTHESIS{Hartmeier:admw97,
- author = {Michael Hartmeier},
- title = {{Aufbau einer Datenbank f{\"u}r mathematisches Wissen}},
- school = {Friedrich-Alexander-Universit{\"a}t Erlangen-N{\"u}rnberg},
- year = {1997}}
-
-@TECHREPORT{HasOho:atcc97,
- author = {Masatomo Hashimoto and Atsushi Ohori},
- title = {A Typed Context Calculus},
- institution = {Research Institute for Mathematical Sciences, Kyoto University},
- year = {1997},
- note = {Available as a preprint no. RIMS-1098}}
-
-@INCOLLECTION{Hayes-Roth91,
- author = {Barbara Hayes-Roth},
- title = {Making Intelligent Systems Adaptive},
- booktitle = {Architectures for Intelligence},
- publisher = {Lawrence Earlbaum},
- year = {1991},
- editor = {K. van Lehn}}
-
-@ARTICLE{Hayes-Roth85,
- author = {Barbara Hayes-Roth},
- title = {A Blackboard Architecture for Control},
- journal = {Artificial Intelligence},
- year = {1985},
- volume = {26},
- pages = {251--321}}
-
-@MISC{W3C05:grddl,
- author = {Dominique Haza{\"e}l-Massieux and Dan Connolly},
- title = {{Gleaning Resource Descriptions from Dialects of Languages (GRDDL)}},
- howpublished = {\url{http://www.w3.org/TeamSubmission/grddl/}},
- year = {2005},
- note = {Seen July 2006},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} team submission},
- url = {http://www.w3.org/TeamSubmission/grddl/}}
-
-@TECHREPORT{Hearn95,
- author = {A. C. Hearn},
- title = {REDUCE User's Manual: Version 3.6},
- institution = {Rand Corporation},
- year = {1995},
- address = {Santa Monica, CA, USA}}
-
-@TECHREPORT{Hearn87,
- author = {A. C. Hearn},
- title = {REDUCE User's Manual: Version 3.3},
- institution = {Rand Corporation},
- year = {1987},
- address = {Santa Monica, CA, USA}}
-
-@INCOLLECTION{Hefendehl:Wissensform,
- author = {Lisa Hefendehl-Hebeker},
- title = {{Die Wissensform des Formelwissens}},
- booktitle = {{Beitr{\"a}ge zur Didaktik der Primarstufe, Festschrift f{\"u}r Siegbert
- Schmidt}},
- publisher = {Dr. Kovac},
- year = {2001},
- editor = {W. Weiser und B. Wollring}}
-
-@INCOLLECTION{Heid:Verantwortlichkeit,
- author = {Helmut Heid},
- title = {{Kann man zur Verantwortlichkeit erziehen? {\"U}ber Bedingungen der
- M{\"o}glichkeit verantwortlichen Handelns}},
- booktitle = {{Die aufgegebene Aufkl{\"a}rung: Experimente p{\"a}dagogischer Vernunft}},
- publisher = {Juventa Verlag Weinheim und M{\"u}nchen},
- year = {2004},
- editor = {Johanna Hopfner und Michael Winkler},
- series = {Beitr{\"a}ge zur p{\"a}dagogischen Grundlagenforschung},
- pages = {145--154}}
-
-@BOOK{Heijenoort70,
- title = {Frege and G{\"o}del: {Two} fundamental texts in mathematical logic},
- publisher = {Harvard Univ. Press (facsimile: UMI Books Demand)},
- year = {1970},
- author = {van Heijenoort, Jean},
- address = {Cambridge, MA},
- edition = {authorized facsilime 1993},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-2448},
- isbn = {0-8357-8138-0},
- location = {MPI-ZB},
- signature = {Books: van Heijenoort},
- status = {available}}
-
-
-@INCOLLECTION{heim:fcs83,
- author = {Heim, I.},
- title = {File {Chance} {Semantics} and the {Familiarity} {Theory} of {Definiteness}},
- booktitle = {Meaning, Use and Interpretation of Language},
- publisher = {de Gruyter},
- year = {1983},
- editor = {B{\"a}uerle, R. and Schwarze, C. and von Stechow, A.},
- address = {Berlin}}
-
-@PHDTHESIS{heim82,
- author = {Heim, I.},
- title = {The {Semantics} of {Definite} and {Indefinite} {Noun} {Phrases}},
- school = {Umass, Amherst},
- year = {1982},
- note = {published in 1989 by Garland, New York}}
-
-@PHDTHESIS{Heim:tsodai82,
- author = {Irene Heim},
- title = {The Semantics of Definite and Indefinite Noun Phrases},
- school = {University of Massachusetts},
- year = {1982}}
-
-@ARTICLE{HeiLasMay:rap91,
- author = {Heim, Irene and Lasnik, Howard and Robert May},
- title = {Reciprocity and Plurality},
- journal = {Linguistic Inquiry},
- year = {1991},
- volume = {22},
- pages = {63--101},
- number = {1}}
-
-@BOOK{Heintz:InnenweltDerMathematik,
- title = {{Die Innenwelt der Mathematik. Zur Kultur und Praxis einer beweisenden
- Disziplin}},
- publisher = {Springer Verlag},
- address = {Wien},
- year = {2000},
- author = {Bettina Heintz},
- hyphenation = {ngerman}}
-
-@BOOK{Heintz:HerrschaftDerRegel,
- title = {{Die Herrschaft der Regel: Zur Grundlagengeschichte des Computers}},
- publisher = {Campus Verlag},
- year = {1993},
- author = {Bettina Heintz},
- hyphenation = {ngerman}}
-
-@INPROCEEDINGS{HeRe90,
- author = {Maritta Heisel and Wolfgang Reif and Werner Stephan},
- title = {{Tactical} {Theorem} {Proving} in {Program} {Verification}},
- crossref = {CADE90},
- pages = {115--131}}
-
-@INBOOK{HeRe91,
- chapter = {21},
- pages = {547--574},
- title = {{Automating} {Software} {Design}},
- publisher = {AAAI Press},
- year = {1991},
- author = {Maritta Heisel and Wolfgang Reif and Werner Stephan}}
-
-@INPROCEEDINGS{HeRe89,
- author = {Maritta Heisel and Wolfgang Reif and Werner Stephan},
- title = {{A} {Dynamic} {Logic} for {Program} {Verification}},
- booktitle = {Proceedings of Logic at Botik},
- year = {1989},
- number = {363},
- series = {LNCS},
- pages = {134--145},
- publisher = {Springer Verlag}}
-
-@TECHREPORT{hendricks05:rhaptos,
- author = {Brent Hendricks},
- title = {Rhaptos Software Architecture},
- institution = {Rice {University}},
- year = {2005},
- month = dec,
- note = {Seen February 2006},
- url = {http://rhaptos.org/docs/architecture/architecture-2005-12.pdf}}
-
-@PHDTHESIS{hend:stud93,
- author = {Hendriks, H. L. W. H.},
- title = {Studied {Flexibility}: {Categories} and {Types} in {Syntax} and {Semantics}},
- school = {University of Amsterdam},
- year = {1993}}
-
-@ARTICLE{Henkin:dcp96,
- author = {Leon Henkin},
- title = {The discovery of my completeness proofs},
- journal = {The Bulletin of Symbolic Logic},
- year = {1996},
- volume = {2},
- pages = {127--158},
- number = {2}}
-
-@ARTICLE{henk:prop63,
- author = {Henkin, L.},
- title = {A {Theory} of {Propositional} {Types}},
- journal = {Fundamenta {Mathematicae}},
- year = {1963},
- volume = {52},
- pages = {323--344}}
-
-@ARTICLE{henk:comp50,
- author = {Henkin, L.},
- title = {Completeness in the {Theory} of {Types}},
- journal = {Journal of Symbolic Logic},
- year = {1950},
- volume = {15},
- pages = {81--91}}
-
-@ARTICLE{Henkin50,
- author = {Leon Henkin},
- title = {Completeness in the Theory of Types},
- journal = {Journal of Symbolic Logic},
- year = {1950},
- volume = {15},
- pages = {81--91},
- number = {2}}
-
-@ARTICLE{Henkin:cittot50,
- author = {Leon Henkin},
- title = {Completeness in the Theory of Types},
- journal = {Journal of Symbolic Logic},
- year = {1950},
- volume = {15},
- pages = {81--91},
- number = {2}}
-
-@INCOLLECTION{Connexions,crossref = "HenBar:tcpposke03"}
-@INPROCEEDINGS{HenBar:tcpposke03,
- author = {Geneva Henry and Richard G. Baraniuk and Christopher Kelty},
- title = {The {ConneXions} Project: Promoting Open Sharing of Knowledge for Education},
- booktitle = {Syllabus, Technology for Higher Education},
- year = {2003},
- url = {http://www.syllabus.com/summer2003/pdf/T03.pdf}}
-
-@TECHREPORT{HeSm93,
- author = {Andreas V. Hense and Gert Smolka},
- title = {Principal Types for Object-Oriented Languages},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1993},
- type = {Research Report},
- number = {A 02/93},
- address = {Saarbr{\"u}cken Germany}}
-
-@BOOK{Hentig:DieMenschenStaerken,
- title = {{Die Menschen st{\"a}rken, die Sachen kl{\"a}ren}},
- publisher = {Philipp Reclam},
- year = {1985},
- author = {Hartmut von Hentig}}
-
-@PHDTHESIS{Herbrand30,
- author = {Jaques Herbrand},
- title = {Recherches sur la th{\'e}orie de la d{\'e}monstration},
- school = {Universit{\'e} de Paris},
- year = {1930},
- note = {Englisch translation in~\cite{Heijenoort67}}}
-
-@UNPUBLISHED{Hermann90,
- author = {Miki Hermann},
- title = {Crossed Term Rewriting Systems},
- keywords = {Rewriting}}
-
-@TECHREPORT{HeKi89,
- author = {M. Hermann and Claude Kirchner and H{\'e}l{\`e}ne Kirchner},
- title = {Implementations of Term Rewriting Systems},
- institution = {Centre de Recherche en Informatique de Nancy},
- year = {1989},
- type = {Technical Report},
- number = {CRIN 89-R-218},
- keywords = {Rewriting, implementation}}
-
-@ARTICLE{Herweg:ce91,
- author = {M. Herweg},
- title = {A critical examination of two classical approaches to aspect},
- journal = {Journal of Semantics},
- year = {1991},
- volume = {8},
- pages = {363--402}}
-
-@ARTICLE{Herweg:tkua91,
- author = {Herweg, M.},
- title = {Temporale {Konjunktionen} und {Aspekt}},
- journal = {Kognitionswissenschaft},
- year = {1991},
- volume = {2},
- pages = {51--90}}
-
-@BOOK{Herweg:z90,
- title = {Zeitaspekte},
- publisher = {Deutscher Universit{\"a}ts-Verlag},
- year = {1990},
- author = {M. Herweg},
- address = {Wiesbaden}}
-
-
-
-@BOOK{heuser:analysis90,
- title = {Lehrbuch der Analysis, Teil 1},
- publisher = {Teubner},
- year = {1990},
- author = {Harro Heuser}}
-
-@INCOLLECTION{Heydorn:NeufassungBildungsbegriff,
- author = {Heinz-Joachim Heydorn},
- title = {{Zu einer Neufassung des Bildungsbegriffs --- M{\"u}ndigkeit ---}},
- booktitle = {{Bildungstheorien}},
- publisher = {Herder},
- year = {1978},
- editor = {J{\"u}rgen-Eckardt Pleines},
- pages = {187--194}}
-
-@MASTERSTHESIS{Hibsch73,
- author = {G{\"u}nter Hibsch},
- title = {{Ansatz f{\"u}r ein mechanisches Beweisverfahren f{\"u}r die
- Pr{\"a}dikatenlogik
- zweiter Stufe mit Anwendungen auf die Zahlentheorie}},
- school = {TU-M{\"u}nchen},
- year = {1973}}
-
-@INPROCEEDINGS{Hickey:fottvdt96,
- author = {Jason J. Hickey},
- title = {Formal objects in Type theory using very dependent types},
- booktitle = {Foundations of of Object Oriented Languages 3},
- year = {1996}}
-
-@INCOLLECTION{Higginbotham:sc97,
- author = {J. Higginbotham},
- title = {The semantics of questions},
- booktitle = {The handbook of contemporary semantic theory},
- publisher = {Blackwell},
- year = {1997},
- editor = {S. Lappin},
- pages = {361--383},
- address = {Oxford}}
-
-@ARTICLE{Higginbotham:os85,
- author = {J. Higginbotham},
- title = {On semantics},
- journal = {Linguistic Inquiry},
- year = {1985},
- volume = {16},
- pages = {547--593}}
-
-@ARTICLE{higg:logi83,
- author = {Higginbotham, J.},
- title = {The {Logic} of {Perceptual} {Reports}: an {Extensional} {Alternative}
- to {Situation} {Semantics}},
- journal = {Journal of Philosophy},
- year = {1983},
- volume = {80},
- pages = {100--127}}
-
-@ARTICLE{HigMay:qqc81,
- author = {J. Higginbotham and R. May},
- title = {Questions, quantifiers, and crossing},
- journal = {The Linguistic Review},
- year = {1981},
- volume = {1},
- pages = {41--80}}
-
-@INPROCEEDINGS{Hilbert:dgdm27,
- author = {David Hilbert},
- title = {{Die Grundlagen der Mathematik}},
- booktitle = {Abhandlungen aus dem mathematischen Seminar der Hamburgischen
- Universit{\"a}t
- 6},
- year = {1927},
- pages = {65--85}}
-
-@Article{Hilbert:ad18,
- author = {David Hilbert},
- title = {Axiomatisches Denken},
- journal = {Mathematische Annalen},
- year = 1918,
- volume = 78,
- pages = {405--415},
- note ={English translation in~\cite{Ewald:fkth96}}}
-
-
-@Book{Ewald:fkth96,
- editor = {William Bragg Ewald},
- title = {From Kant to Hilbert. A Source Book in the Foundations of Mathematics},
- publisher = {Oxford University Press},
- year = 1996,
- volume = 2}
-
-@INPROCEEDINGS{Hilbert:udgdlu04,
- author = {David Hilbert},
- title = {{\"U}ber die {Grundlagen} der {Logik} und der {Arithmetik}},
- booktitle = {Verhandlungen des Dritten Internationalen Mathematiker-Kongress in
- Heidelberg},
- year = {1904},
- pages = {174--185},
- publisher = {Teubner, Leibzig}}
-
-@BOOK{HiLl94,
- title = {The Goedel Programming Language},
- publisher = {MIT Press},
- year = {1994},
- author = {Patricia Hill and John Lloyd},
- series = {Logic Programming series}}
-
-@BOOK{HiSe86,
- title = {Introduction to Combinators and Lambda Calculus},
- publisher = {Cambridge University Press},
- year = {1986},
- author = {J. Hindley and J. Seldin}}
-
-@ARTICLE{Hinrichs:tade86,
- author = {Hinrichs, E.},
- title = {Temporal anaphora in discourses of {English}},
- journal = {Linguistics \& Philosophy},
- year = {1986},
- volume = {9},
- pages = {63--82}}
-
-@TECHREPORT{HinNak:agvs93,
- author = {Hinrichs, Erhard and Nakazawa, Tsuneko},
- title = {Aspects of {German} {VP} Structure},
- institution = {Seminar f{\"u}r Sprachwissenschaft, Eberhard-Karls-Universit{\"a}t},
- year = {1993},
- type = {Report},
- number = {Nr. 01-93},
- address = {T{\"u}bingen}}
-
-@ARTICLE{Hintikka55,
- author = {K. J. J. Hintikka},
- title = {Form and Content in Quantification Theory},
- journal = {Acta Philosophica Fennica},
- year = {1955},
- volume = {8},
- pages = {7--55}}
-
-@INPROCEEDINGS{Hirschbuehler:vdabqs82,
- author = {Hirschb{\"u}hler, P.},
- title = {{VP} deletion and across the board quantifier scope},
- booktitle = {Proceedings of {NELS} 12},
- year = {1982}}
-
-@ARTICLE{Hirst:doarnlur,
- author = {G. Hirst},
- title = {Discourse-Oriented Anaphora Resolution in Natural Language Understanding:
- A Review},
- journal = {American Journal of Computational Linguistics},
- year = {1981},
- volume = {7},
- pages = {85--98},
- number = {2},
- month = {April--June}}
-
-@BOOK{Hobbs:lac90,
- title = {Literature and Cognition},
- publisher = {CSLI},
- year = {1990},
- author = {Jerry Hobbs},
- number = {21},
- series = {CSLI Lecture Notes}}
-
-@ARTICLE{Hobbs:cc79,
- author = {Jerry Hobbs},
- title = {Coherence and coreference},
- journal = {Cognitive Science},
- year = {1979},
- volume = {3},
- pages = {67--90},
- number = {1},
- month = {January--March}}
-
-@INPROCEEDINGS{HobKeh:tpce97,
- author = {Hobbs, J. and Kehler, A.},
- title = {A theory of parallelism and the case of {VP} ellipsis},
- booktitle = {Proceedings of {ACL}},
- year = {1997},
- address = {Madrid}}
-
-@ARTICLE{HobShi:aafgqs87,
- author = {Hobbs, J. R. and Shieber, S.},
- title = {An Algorithm for Generating Quantifier Scoping},
- journal = {Computational Linguistics},
- year = {1987},
- volume = {13},
- pages = {47--63}}
-
-@ARTICLE{HobStiAppMar:iaa93,
- author = {Hobbs, J. and M. Stickel and D. Appelt and P. Martin},
- title = {Interpretation as abduction},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {63},
- pages = {69--142}}
-
-@MISC{LearningObjects,
- author = {H. Wayne Hodgins},
- title = {{The Future of Learning Objects}},
- year = {2002},
- note = {A keynote presentation at the United Engineering Foundation Conference}}
-
-@ARTICLE{hwz00:dffotl,
- author = {Ian Hodkinson and Frank Wolter and Michale Zakharyaschev},
- title = {{Decidable} {Fragments} of {First}-{Order} {Temporal} {Logics}},
- journal = {Annals of Pure and Applies Logic},
- year = {2000},
- volume = {106},
- pages = {85--134}}
-
-@BOOK{Hoffmann:ecitt97,
- title = {Extensional Constructs in Intensional Type Theory},
- publisher = {Springer},
- year = {1997},
- author = {Hoffmann, Martin},
- address = {London}}
-
-@PHDTHESIS{Homann:slmp96,
- author = {Karsten Homann},
- title = {{Symbolisches L{\"o}sen mathematischer Probleme durch Kooperation
- algorithmischer
- und logischer Systeme}},
- school = {Unversit{\"a}t Karlsruhe},
- year = {1996},
- note = {DISKI 152, Infix; St. Augustin}}
-
-@INPROCEEDINGS{HoCa:time94,
- author = {K. Homann and J. Calmet},
- title = {{Towards} an {Intelligent} {Mathematical} {Environment}},
- booktitle = {Proceedings of Workshop From Theorem Provers to Mathematical Assistants
- -- Issues and Possible Solutions -- 11\textsuperscript{th} European Conference on Artificial
- Intelligence (ECAI '94)},
- year = {1994},
- editor = {F. Giunchiglia and M. Kerber and D. Pastre},
- pages = {48--53},
- address = {Amsterdam, Niederlande},
- month = {8.--12. August}}
-
-@ARTICLE{Hoogewijs87,
- author = {A. Hoogewijs},
- title = {Partial-Predicate Logic in Computer Science},
- journal = {Acta Informatica},
- year = {1987},
- volume = {24},
- pages = {381--393},
- note = {beschaffen},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{Hoogewijs:pplics87,
- author = {Albert Hoogewijs},
- title = {Partial-Predicate Logic in Computer Science},
- journal = {Acta Informatica},
- year = {1987},
- volume = {24},
- pages = {381--393}}
-
-@INCOLLECTION{ags-2001-k-5,
- author = {Helmut Horacek},
- title = {Textgenerierung},
- booktitle = {Computerlinguistik und Sprachtechnologie},
- publisher = {Spektrum Akad.\ Verl.},
- year = {2001},
- editor = {K.-U. Carstensen}}
-
-@INPROCEEDINGS{Hor00a,
- author = {H. Horacek},
- title = {Presenting Mathematical Concepts as an Example for Inference-Rich
- Domains},
- booktitle = {International Conference on Application of Natural Language to Information
- Systems NLDB'2000},
- year = {2000},
- editor = {M. Bouzeghoub and Z. Kedad and E. M{\'e}tais},
- location = {Versailles}}
-
-@INPROCEEDINGS{ags-2002-k-8,
- author = {Helmut Horacek},
- title = {Varying Cardinality in Metonymic Extensions to Nouns},
- booktitle = {Cybernetics and Systems'2002},
- year = {2002},
- editor = {Robert Trappl},
- address = {Wien}}
-
-@INPROCEEDINGS{Hor00b,
- author = {H. Horacek},
- title = {Presenting Equation Proofs in a Human-Oriented Style},
- booktitle = {Cybernetics and Systems'2000},
- year = {2000},
- editor = {R. Trappl},
- location = {Wien}}
-
-@INPROCEEDINGS{Hor98a,
- author = {H. Horacek},
- title = {Planning Natural and Concise Presentations of Mathematical Proofs},
- booktitle = {Cybernetics and Systems'98},
- year = {1998},
- editor = {R. Trappl},
- location = {Wien}}
-
-@INPROCEEDINGS{ags-2002-k-6,
- author = {Helmut Horacek},
- title = {Varying Cardinality in Metonymic Extensions to Nouns},
- booktitle = {COLING2002},
- year = {2002},
- address = {Taipei}}
-
-@INPROCEEDINGS{ags-2002-k-7,
- author = {Helmut Horacek},
- title = {Aggregation with Strong Regularities and Alternatives},
- booktitle = {International Conference on Natural Language Generation},
- year = {2002},
- address = {New York}}
-
-@INPROCEEDINGS{ags-2001-k-6,
- author = {Helmut Horacek},
- title = {An Approach to Building Domain Models Interactively},
- booktitle = {International Conference on Application of Natural Language to Information
- Systems NLDB'2001},
- year = {2001},
- address = {Madrid}}
-
-@INPROCEEDINGS{ags-2001-k-7,
- author = {Helmut Horacek},
- title = {Expressing References to Rules in Proof Presentations},
- booktitle = {(short paper) CADE-01},
- year = {2001},
- address = {Siena}}
-
-@INPROCEEDINGS{ags-2001-k-8,
- author = {Helmut Horacek},
- title = {Ontological Aspects in Representing Mathematical Knowledge for Reasoning
- and Presentation Purposes},
- booktitle = {Workshop on Ontologies at KI-2001},
- year = {2001},
- address = {Wien}}
-
-@ARTICLE{Hor01,crossref={Horacek:tirdtm00}}
-@ARTICLE{Horacek:tirdtm00,
- author = {Helmut Horacek},
- title = {Tailoring Inference-Rich Descriptions Through Making Compromises
- Between Conflicting Cooperation Principles. },
- journal = {Int. J. Human-Computer Studies},
- year = {2000},
- pages = {1117--1146},
- number = {53}}
-
-@INPROCEEDINGS{Hor99a,
- author = {H. Horacek},
- title = {Presenting Proofs in a Human-Oriented Way},
- booktitle = {CADE-99},
- year = {1999},
- pages = {142--156},
- location = {Trento}}
-
-@INPROCEEDINGS{Hor99b,
- author = {H. Horacek},
- title = {Generating Deductive Argumentation in Variable Lengths},
- booktitle = {European Workshop on Natural Language Generation-99},
- year = {1999},
- location = {Toulouse}}
-
-@INPROCEEDINGS{Horacek:EMCSR98,
- author = {Helmut Horacek},
- title = {Planning Natural and Concise Presentations of Mathematical Proofs},
- booktitle = {European Meeting on Cybernetics and Systems Research},
- year = {1998},
- keywords = {!OMEGA!,ARTICLE}}
-
-@INPROCEEDINGS{Hor98b,crossref={Horacek:gird98}}
-@INPROCEEDINGS{Horacek:gird98,
- author = {Helmut Horacek},
- title = {Generating Inference-Rich Discourse Through Revisions of {RST}-Trees},
- booktitle = {Proceedings of AAAI-98},
- pages = {814--820},
- year = {1998},
- publisher = {Morgan Kaufmann}}
-
-@ARTICLE{Horacek:amfaet97,
- author = {Helmut Horacek},
- title = {A Model for Adapting Explanations to the User's Likely Inferences},
- journal = {User Modeling and User-Adapted Interaction},
- year = {1997},
- volume = {7},
- pages = {1--55}}
-
-@INPROCEEDINGS{horacek95,
- author = {Helmut Horacek},
- title = {More on generating referring expressions},
- booktitle = {Fifth European Workshop on Natural Language Generation},
- year = {1995}}
-
-@INPROCEEDINGS{HorBus99,
- author = {H. Horacek and S. Busemann},
- title = {Application-Oriented Report Generation},
- booktitle = {Applications of Natural Language to Information Systems},
- year = {1999},
- editor = {G. Fliedl, H. Mayr},
- pages = {183--186},
- publisher = {{\"O}sterreichische Computer Gesellschaft}}
-
-@INPROCEEDINGS{HoBu:KI98,
- author = {Helmut Horacek and Stephan Busemann},
- title = {Towards a Methodology for Developing Application-Oriented Report
- Generation},
- booktitle = {KI-98},
- year = {1998},
- keywords = {!OMEGA!,ARTICLE}}
-
-@INPROCEEDINGS{Hags-2001-e-8,
- author = {Helmut Horacek and Armin Fiedler},
- title = {Towards Understanding the Role of Hints in Tutorial Dialogs},
- booktitle = {Proceedings of the 5\textsuperscript{th} Workshop on Formal Semantics and Pragmatics
- of Dialog (BI-DIALOG 2001)},
- year = {2001},
- editor = {P. K{\"u}hnlein and H. Rieser and H. Zeevat},
- pages = {40--44},
- address = {Bielefeld, Germany}}
-
-@INPROCEEDINGS{HF94,
- author = {Merle Horne and Marcus Filipsson},
- title = {Computational extraction of lexico-grammatical information for generation
- of Swedish intonation},
- booktitle = {Proceedings of the Second ESCA/IEEE Workshop on Speech Synthesis},
- year = {1994},
- pages = {220--223},
- address = {New Paltz NY}}
-
-@INCOLLECTION{Horvitz89,
- author = {Eric J. Horvitz},
- title = {Reasoning About Beliefs and Actions Under Computational Resource
- Constraints},
- booktitle = {Uncertainty in Artificial Intelligence 3},
- publisher = {North-Holland},
- year = {1989},
- editor = {L. N. Kanal and T. S. Levitt and J. F. Lemmer},
- pages = {301--324},
- address = {Amsterdam},
- keywords = {unc}}
-
-@INPROCEEDINGS{HY90,
- author = {Jill House and Nick Youd},
- title = {Contextually appropriate intonation in speech synthesis},
- booktitle = { Proceedings of the First ESCA Workshop on Speech Synthesis},
- year = {1990},
- editor = {Gerard Bailly and Christian Beno{\^i}t},
- pages = {185--188},
- address = {Autrans, France}}
-
-@ARTICLE{Hovy:adguds93,
- author = {Eduard H. Hovy},
- title = {Automated Discourse Generation Using Discourse Structure Relations},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {63},
- pages = {341--385}}
-
-@TECHREPORT{Hovy:sprfae92,
- author = {Eduard H. Hovy},
- title = {Sentence Planning Requirements for Automated Explanation Generation},
- institution = {GMD},
- year = {1992},
- type = {Diamod},
- number = {23},
- address = {St.\ Augustin\GERMANY}}
-
-@BOOK{Hovy:gnlupc88,
- title = {Generating Natural Language under Pragmatic Constraints},
- publisher = {Lawrence Erlbaum},
- year = {1988},
- author = {Hovy, Eduard H.},
- address = {Hillsdale, NJ}}
-
-@INCOLLECTION{Howe:sfehin96,
- author = {Douglas Howe},
- title = {Semantic foundations for embedding HOL in Nuprl},
- booktitle = {Algebraic Methodolgy and Software Technology},
- publisher = {Springer Verlag},
- year = {1996},
- editor = {Martin Wirsing and Maurice Nivat},
- number = {1101},
- series = {LNCS},
- pages = {85--101}}
-
-@INPROCEEDINGS{HowSto:aoatccst94,
- author = {Douglas Howe and Scott D. Stoller},
- title = {An operational approach to combining classical set theory and functional
- programming languages},
- booktitle = {International Symposium TACS '94},
- year = {1994},
- editor = {Goos, G. and Hartmanis, J.},
- series = {LNCS},
- pages = {36--55},
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{Huang:rpatal94,
- author = {Xiaorong Huang},
- title = {Reconstructing Proofs at the Assertion Level},
- crossref = {CADE94},
- pages = {738--752}}
-
-@INPROCEEDINGS{Huang:pasemf94,
- author = {Xiaorong Huang},
- title = {PROVERB: A System Explaining Machine-Found Proofs},
- booktitle = {Proceedings of 16\textsuperscript{th} Annual Conference of the Cognitive Science Society},
- year = {1994},
- editor = {Ashwin Ram and Kurt Eiselt},
- pages = {427--432},
- address = {Atlanta, USA},
- publisher = {Lawrence Erlbaum Associates}}
-
-@INPROCEEDINGS{Huang92b,
- author = {Xiaorong Huang},
- title = {Applications of Assertions as Elementary Tactics in Proof Planning},
- booktitle = {Artificial Intelligence V -- Methodology, Systems, Applications},
- year = {1992},
- editor = {V. Sgurev and B. du Boulay},
- pages = {25--34},
- publisher = {Elsevier Science, the Netherlands}}
-
-@TECHREPORT{Huang95a,
- author = {Xiaorong Huang},
- title = {Transforming resolution proofs into natural deduction proofs at the
- assertion level},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1995},
- type = {SEKI-Report},
- address = {Saarbr{\"u}cken, Germany},
- note = {Forthcoming}}
-
-@PHDTHESIS{Huang:hoppar94,
- author = {Xiaorong Huang},
- title = {Human Oriented Proof Presentation: A Reconstructive Approach},
- school = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1994},
- address = {Saarbr{\"u}cken\GERMANY}}
-
-@INPROCEEDINGS{Huang:pat94,
- author = {Xiaorong Huang},
- title = {Planning argumentative texts},
- booktitle = {Proceedings of 15\textsuperscript{th} {International} {Conference} on {Computational}
- {Linguistics}},
- year = {1994},
- pages = {329--333},
- address = {Kyoto, Japan}}
-
-@TECHREPORT{Huang91,
- author = {Xiaorong Huang},
- title = {An Extensible Natural Calculus for Argument Presentation},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1991},
- type = {SEKI-Report},
- number = {SR-91-03},
- address = {Kaiserslautern, Germany}}
-
-@TECHREPORT{Huang89a,
- author = {Xiaorong Huang},
- title = {A human Oriented Proof Presentation Model},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1989},
- type = {SEKI-Report},
- number = {SR-89-11},
- address = {Kaiserslautern, Germany}}
-
-@INPROCEEDINGS{HuangFiedler:pvaaao97,
- author = {Xiaorong Huang and Armin Fiedler},
- title = {Proof presentation as an application of {NLG}},
- booktitle = {Proceedings of 15\textsuperscript{th} International Joint Conference on Artificial
- Intelligence},
- year = {1997},
- address = {Nagoya, Japan}}
-
-@TECHREPORT{HuKe94d,
- author = {Xiaorong Huang and Manfred Kerber and J{\"o}rn Richts and Arthur Sehn},
- title = {Planning Mathematical Proofs with Methods},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1994},
- type = {SEKI-Report},
- number = {SR-94-08},
- address = {Saarbr{\"u}cken, Germany}}
-
-@ARTICLE{HuangKerber:pmpwm95,
- author = {Xiaorong Huang and Manfred Kerber and J{\"o}rn Richts and Arthur
- Sehn},
- title = {Planning Mathematical Proofs with Methods},
- journal = {Journal of Information Processing and Cybernetics, EIK},
- year = {1995}}
-
-@PHDTHESIS{Huet:reddlo76,
- author = {G{\'e}rard P. Huet},
- title = {R{\'e}solution d'{\'E}quations dans des Langages d'ordre 1,2,...,w.},
- school = {Universit{\'e} de Paris VII },
- year = {1976},
- type = {Th{\`e}se d`{\'E}tat},
- location = {Unif-bib}}
-
-@ARTICLE{Huet:auaftlc75,
- author = {G{\'e}rard P. Huet},
- title = {An Unification Algorithm for Typed $\lambda$-Calculus},
- journal = {Theoretical Computer Science},
- year = {1975},
- volume = {1},
- pages = {27--57}}
-
-@INPROCEEDINGS{Huet:amott73,
- author = {G{\'e}rard P. Huet},
- title = {A Mechanization of Type Theory},
- booktitle = {Proceedings of the Third International Joint Conference on Artificial
- Intelligence},
- year = {1973},
- pages = {139--146}}
-
-@ARTICLE{Huet:tuouit73,
- author = {G{\'e}rard P. Huet},
- title = {The Undecidability of Unification in Third Order Logic},
- journal = {Information and Control},
- year = {1973},
- volume = {22},
- pages = {257--267},
- number = {3},
- keywords = {hou, fp}}
-
-@ARTICLE{Huet:tuouitol73,
- author = {G{\'e}rard P. Huet},
- title = {The Undecidability of Unification in Third Order Logic},
- journal = {Information and Control},
- year = {1973},
- volume = {22},
- pages = {257--267},
- number = {3},
- keywords = {hou, fp}}
-
-@PHDTHESIS{Huet:cracmf72,
- author = {G{\'e}rard P. Huet},
- title = {Constrained Resolution: A Complete Method for Higher Order Logic},
- school = {Case Western Reserve University},
- year = {1972}}
-
-@PHDTHESIS{Huet:cracmfhol72,
- author = {G{\'e}rard P. Huet},
- title = {Constrained Resolution: A Complete Method for Higher Order Logic},
- school = {Case Western Reserve University},
- year = {1972}}
-
-@ARTICLE{HuLa78,
- author = {G{\'e}rard P. Huet and B. Lang},
- title = {Proving and applying Program Transformations expressed with Second
- Order Logic},
- journal = {Acta Informatica},
- year = {1978},
- volume = {11},
- pages = {31--55}}
-
-@ARTICLE{Huet:acpoco81,
- author = {G{\'e}rard Huet},
- title = {A Complete Proof of Correctness of the Knuth-Bendix-Completion-Algorithm},
- journal = {Journal of Computer and System Science},
- year = {1981},
- volume = {23}}
-
-@TECHREPORT{HuOp80,
- author = {G{\'e}rard P. Huet and Derek C. Oppen},
- title = {Equations and Rewrite Rules: A Survey},
- institution = {SRI International},
- year = {1980},
- type = {Technical Report},
- number = {CSL-111}}
-
-@INPROCEEDINGS{Hughes:PoliticalViolence,
- author = {Bryn Hughes},
- title = {{Political Violence and Democracy: Do Societal Identity Threats Matter?
- The Security and Politics of Identity}},
- booktitle = {Australasian Political Studies Association Conference},
- year = {2004},
- note = {seen 2005/06/06 at
- {\url{http://www.adelaide.edu.au/apsa/docs_papers/Others/Hughes.pdf}}},
- url = {http://www.adelaide.edu.au/apsa/docs_papers/Others/Hughes.pdf}}
-
-@PHDTHESIS{Hughes:tdaiop84,
- author = {R. J. M. Hughes},
- title = {The design and implementation of programming languages},
- school = {Programming Research Group, Oxford University},
- year = {1984}}
-
-@ARTICLE{humb:worl81,
- author = {Humberstone, I. L.},
- title = {From {Worlds} to {Possibilities}},
- journal = {Journal of Philosophical Logic},
- year = {1981},
- volume = {10},
- pages = {313--339}}
-
-@TECHREPORT{Hustadt91,
- author = {Ulrich Hustadt},
- title = {A Complete Transformation System for Polymorphic Higher-Order Unification},
- institution = {Max-Planck-Institut f{\"u}r Informatik},
- year = {1991},
- type = {Technical Report},
- number = {MPI-I-91-228},
- address = {Saarbr{\"u}cken, Germany}}
-
-@TECHREPORT{Hustadt:actsfphou91,
- author = {Ulrich Hustadt},
- title = {A Complete Transformation System for Polymorphic Higher-Order Unification},
- institution = {Max-Planck-Institut f{\"u}r Informatik},
- year = {1991},
- type = {Technical Report},
- number = {MPI-I-91-228},
- address = {Saarbr{\"u}cken, Germany}}
-
-@INPROCEEDINGS{Hutter90,
- author = {Dieter Hutter},
- title = {Guiding Induction Proofs},
- crossref = {CADE90},
- pages = {147--161}}
-
-@INPROCEEDINGS{hut04:tgmc,
- author = {Dieter Hutter},
- title = {{Towards} a {Generic} {Management} of {Change}},
- booktitle = {Workshop on Computer-Supported Mathematical Theory Development},
- year = {2004},
- series = {IJCAR},
- publisher = {International Joint Conference on Automated Reasoning}}
-
-@TECHREPORT{Hutter:rat99,
- author = {Dieter Hutter},
- title = {Reasoning about Theories},
- institution = {Deutsches Forschungszentrum f{\"u}r K{\"u}nstliche Intelligenz (DFKI)},
- year = {1999}}
-
-@ARTICLE{Hutter:cttcer97,
- author = {Dieter Hutter},
- title = {Colouring Terms to Control Equational Reasoning},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {399--442}}
-
-@ARTICLE{Hutter94b,
- author = {D. Hutter},
- title = {Colouring Terms to Control Equational Reasoning},
- journal = {Journal of Automated Reasoning},
- year = {1994},
- note = {\fc}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-@ARTICLE{HutLan:vse96,
- author = {Dieter Hutter and Bruno Langenstein and Claus Sengler and J{\"o}rg
- H. Siekmann and Werner Stephan and Andreas Wolpers},
- title = {Verification Support Environment},
- journal = {High Integrity Systems},
- year = {1996},
- volume = {1},
- number = {6}}
-
-@INPROCEEDINGS{HwaSch:elslnlp,
- author = {C. Hwang and L. Schubert},
- title = {Episodic logic: a situational logic for natural language processing},
- booktitle = {Situation theory and its applications},
- year = {1993},
- volume = {3},
- number = {37},
- series = {CSLI Lecture Notes},
- address = {Stanford, CA}}
-
-@ARTICLE{Haehnle:eddimvl96,
- author = {Reiner H{\"a}hnle},
- title = {Exploiting Data Dependencies in Many-Valued Logics},
- journal = {Journal of Applied Non-Classical Logics},
- year = {1996},
- volume = {6},
- pages = {49--69},
- number = {1}}
-
-@BOOK{Haehnle:adimvl94,
- title = {Automated Deduction in Multiple-Valued Logics},
- publisher = {Oxford University Press},
- year = {1994},
- author = {Reiner H{\"a}hnle},
- volume = {10},
- series = {International Series of Monographs on Computer Science},
- issn_isbn = {0-19-853989-4},
- location = {94DA22, 95A4987}}
-
-@PHDTHESIS{Haehnle92,
- author = {Rainer H{\"a}hnle},
- title = {Tableaux-Based Theorem Proving in Multiple-Valued Logics},
- school = {Universit{\"a}t Karlsruhe, Germany},
- year = {1992}}
-
-@ARTICLE{HaSc:tldrif94,
- author = {Reiner H{\"a}hnle and Peter H. Schmitt},
- title = {The liberalized $\delta$-rule in Free Variable Tableaux},
- journal = {Journal of Automated Reasoning},
- year = {1994},
- volume = {12},
- pages = {211--222},
- number = {2}}
-
-@MASTERSTHESIS{ags-2003-d-12,
- author = {Malte H{\"u}bner},
- title = {{Interactive Theorem Proving with Indexed Formulas}},
- school = {Department of Computer Science, Saarland University},
- year = {2003}}
-
-@TECHREPORT{ags-2003-d-8,
- author = {Malte H{\"u}bner},
- title = {Interactive Theorem Proving with Indexed Formulas},
- institution = {Department of Computer Science, Saarland University},
- year = {2003},
- type = {Seki Report},
- number = {SR--03--04},
- address = {Saarbr{\"u}cken, Germany}}
-
-@INPROCEEDINGS{ags-2002-d-27,
- author = {Malte H{\"u}bner and Serge Autexier and Christoph Benzm{\"u}ller},
- title = {Agent-based Proof Search with Indexed Formulas},
- crossref = {CALCULEMUS02-wip},
- url = {http://www.ags.uni-sb.de/~chris/papers/W16.pdf}}
-
-@INPROCEEDINGS{ags-2003-d-13,
- author = {Malte H{\"u}bner and Christoph Benzm{\"u}ller and Serge Autexier
- and Andreas Meier},
- title = {Interactive Proof Construction at the Task Level},
- booktitle = {Proceedings of the Workshop User Interfaces for Theorem Provers (UITP
- 2003)},
- year = {2003},
- address = {Rome, Italy}}
-
-@INPROCEEDINGS{ags-2003-d-9,
- author = {M. H{\"u}bner and C. Benzm{\"u}ller and S. Autexier and A. Meier},
- title = {Interactive Proof Construction at the Task Level},
- booktitle = {Proceedings of the Workshop User Interfaces for Theorem Provers (UITP
- 2003)},
- year = {2003},
- address = {Rome, Italy}}
-
-@INPROCEEDINGS{Ireland92,
- author = {Andrew Ireland},
- title = {The Use of Planning Critics in Mechanizing Inductive proofs},
- crossref = {LPAR92},
- pages = {178--189}}
-
-@ARTICLE{IreBun:puofiip95,
- author = {Andrew Ireland and Alan Bundy},
- title = {Productive Use of Failure in Inductive Proof},
- journal = {Special Issue of the Journal of Automated Reasoning},
- year = {1995},
- volume = {16},
- pages = {79--111},
- number = {1--2}}
-
-@BOOK{Israel:DialecticsOfLanguage,
- title = {{The Language of Dialectics and the Dialectics of Language}},
- publisher = {Munksgaard, Humanities Press, USA},
- year = {1979},
- author = {Joachim Israel},
- edition = {1\textsuperscript{st} edition},
- note = {(American) ISBN 0 391 01000X}}
-
-@INPROCEEDINGS{Sedivy:uimpiiollp95,
- author = {J. Sedivy and M. Tanenhaus and M. Spivey-Knolwton and K. Eberhardt and G.
- Carlson},
- title = {Using intonationally-marked presuppositional informaiotn in on-line
- language processing: evidence from eye movements to a visual model},
- booktitle = {Proceedings of the 17\textsuperscript{th} Annual Conference of the Cognitive Science
- Society},
- year = {1995},
- pages = {375--380},
- address = {NJ:Erlbaum},
- publisher = {Hillsdale}}
-
-@BOOK{Jackendoff:siigg72,
- title = {Semantic Interpretation in Generative Grammar},
- publisher = {The MIT Press},
- year = {1972},
- author = {Ray S. Jackendoff}}
-
-@TECHREPORT{ags-2001-d-10,
- author = {Mateja Jamnik and Manfred Kerber and Christoph BenzM{\"u}ller},
- title = {Learning method outlines in proof planning},
- institution = {School of Computer Science, The University of Birmingham},
- year = {2001},
- type = {Cognitive Science Research Paper},
- number = {CSRP--01--08},
- keywords = {!OMEGA!,SFB,!TECHREPORT!},
- url = {http://www.ags.uni-sb.de/~chris/papers/R14.ps.gz}}
-
-@TECHREPORT{ags-2001-d-21,
- author = {Mateja Jamnik and Manfred Kerber and Christoph BenzM{\"u}ller},
- title = {Automatic Learning of Proof Methods in Proof Planning},
- institution = {University of Birmingham, School of Computer Science},
- year = {2001},
- number = {CSRP--01--08},
- chrisnote = {R14},
- email = {M.Jamnik@cs.bham.ac.uk, M.Kerber@cs.bham.ac.uk, M.Pollet@cs.bham.ac.uk},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2002/CSRP-01-08.ps.gz}}
-
-@MISC{jamnik01:_learn-sub,
- author = {M. Jamnik and Manfred Kerber and Christoph Benzm{\"u}ler},
- title = {Learning method outlines in proof planning},
- year = {2001},
- note = {submitted},
- keywords = {!OMEGA!,ARTICLE,SFB,LEARNING},
- url = {http://www.ags.uni-sb.de/~chris/papers/S3.ps.gz}}
-
-@TECHREPORT{ags-2002-d-21,
- author = {Mateja Jamnik and Manfred Kerber and Christoph Benzm{\"u}ller},
- title = {Towards Learning new Methods in Proof Planning.},
- institution = {University of Birmingham, School of Computer Science},
- year = {2002},
- number = {CSRP--00--09},
- month = jun,
- chrisnote = {R13},
- email = {M.Jamnik@cs.bham.ac.uk, M.Kerber@cs.bham.ac.uk, M.Pollet@cs.bham.ac.uk},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2002/CSRP-02-05.ps.gz}}
-
-@INPROCEEDINGS{ags-2001-d-1,
- author = {Mateja Jamnik and Manfred Kerber and Christoph Benzm{\"u}ller},
- title = {Towards Learning New Methods in Proof Planning},
- booktitle = {Proceedings of the CADE-17 Workshop: The role of Automated Deduction
- in Mathematics},
- year = {2001},
- month = mar,
- chrisnote = {W6},
- url = {http://www.ags.uni-sb.de/~chris/papers/W6.pdf}}
-
-@INPROCEEDINGS{ags-2001-d-19,
- author = {Mateja Jamnik and Manfred Kerber and Christoph Benzm{\"u}ller},
- title = {Learning proof methods in proof planning},
- booktitle = {Proceedings of the Eighth Workshop on Automated Reasoning, Bridging
- the Gap between Theory and Practice},
- year = {2001},
- month = mar,
- publisher = {University of York},
- chrisnote = {W8},
- url = {http://www.ags.uni-sb.de/~chris/papers/W8.pdf}}
-
-@TECHREPORT{jamnik01:_learn,
- author = {M. Jamnik and M. Kerber and C. Benzm{\"u}ller},
- title = {Learning method outlines in proof planning},
- institution = {School of Computer Science, The University of Birmingham},
- year = {2001},
- type = {Cognitive Science Research Paper},
- number = {CSRp-01-8},
- keywords = {!OMEGA!,SFB,!TECHREPORT!},
- url = {http://www.ags.uni-sb.de/~chris/papers/R14.ps.gz}}
-
-
-@INPROCEEDINGS{ags-2002-d-14,
- author = {Mateja Jamnik and Manfred Kerber and Martin Pollet},
- title = {Automatic Learning in Proof Planning},
- booktitle = {15\textsuperscript{th} European Conference on Artificial Intelligence (ECAI)},
- year = {2002},
- editor = {Frank van Harmelen},
- pages = {282--286},
- publisher = {IOS Press}}
-
-@INPROCEEDINGS{ags-2002-d-13,
- author = {Mateja Jamnik and Manfred Kerber and Martin Pollet},
- title = {LearnOmatic: System Description},
- booktitle = {Proceedings of the 18\textsuperscript{th} International Conference on {Automated} {Deduction}
- (CADE-18)},
- year = {2002},
- editor = {Andrei Voronkov},
- number = {2392},
- series = {LNAI},
- pages = {150--155},
- publisher = {Springer}}
-
-@TECHREPORT{ags-2002-d-12,
- author = {Mateja Jamnik and Manfred Kerber and Martin Pollet},
- title = {Automatic Learning in Proof Planning},
- institution = {The University of Birmingham, School of Computer Science},
- year = {2002},
- number = {CSRP--02--03},
- month = mar,
- email = {M.Jamnik@cs.bham.ac.uk, M.Kerber@cs.bham.ac.uk, M.Pollet@cs.bham.ac.uk},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2002/CSRP-02-03.ps.gz}}
-
-@ARTICLE{ags-2003-d-15,
- author = {Mateja Jamnik and Manfred Kerber and Martin Pollet and Christoph
- Benzm{\"u}ller},
- title = {Automatic Learning of Proof Methods in Proof Planning},
- journal = {Logic Journal of the IGPL},
- year = {2003},
- volume = {11},
- pages = {647--674},
- number = {6},
- month = nov,
- publisher = {Oxford University Press}}
-
-@TECHREPORT{ags-2002-d-22,
- author = {Mateja Jamnik and Manfred Kerber and Martin Pollet and Christoph
- Benzm{\"u}ller},
- title = {Automatic Learning of Proof Methods in Proof Planning},
- institution = {University of Birmingham, School of Computer Science},
- year = {2002},
- number = {CSRP--02--05},
- month = jun,
- chrisnote = {R16},
- email = {M.Jamnik@cs.bham.ac.uk, M.Kerber@cs.bham.ac.uk, M.Pollet@cs.bham.ac.uk},
- file = {/2002/CSRP-02-05.ps.gz},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2002/CSRP-02-05.ps.gz}}
-
-@INCOLLECTION{jans:indi84,
- author = {Janssen, Th.},
- title = {Individual {Concepts} are {Useful}},
- booktitle = {Varieties of of Formal Semantics},
- publisher = {Foris},
- year = {1984},
- editor = {Landman, F. and Veltman, F.},
- pages = {171--192},
- address = {Dordrecht}}
-
-@BOOK{jans:foun86,
- title = {Foundations and {Applications} of {Montague} {Grammar}},
- publisher = {Centre for Mathematics {and} Computer Science},
- year = {1986},
- author = {Janssen, Th.},
- address = {Amsterdam}}
-
-@UNPUBLISHED{Jaspars:puadl95,
- author = {Jan Jaspers},
- title = {Partial Up and Down Logic},
- note = {unpublished manuscript}}
-
-@BOOK{Jenks92,
- title = {{AXIOM}: The Scientific Computation System},
- publisher = {Springer-Verlag},
- year = {1992},
- author = {Richard D. Jenks and Robert S. Sutor}}
-
-@ARTICLE{Jennings:abse00,
- author = {N. R. Jennings},
- title = {On Agent-Based Software Engineering},
- journal = {Artificial Intelligence},
- year = {2000},
- volume = {117},
- number = {2}}
-
-@INBOOK{JenWoo:hat00,
- chapter = {Agent-Oriented Software Engineering},
- title = {Handbook of Agent Technology},
- publisher = {AAAI/MIT Press},
- year = {2000},
- author = {N. R. Jennings and M. Wooldridge}}
-
-@TECHREPORT{JePi73,
- author = {D. Jensen and T. Pietrzykowski },
- title = {Mechanizing $\omega$-Order Type Theory through Unification. },
- institution = {{Department of Applied Analysis and Computation, University of Waterloo}},
- year = {1973},
- type = {Internal Report},
- number = {CS-73-13},
- location = {Unif-bib}}
-
-@TECHREPORT{JePi:moottt73,
- author = {D. Jensen and T. Pietrzykowski },
- title = {Mechanizing $\omega$-Order Type Theory through Unification. },
- institution = {{Department of Applied Analysis and Computation, University of Waterloo}},
- year = {1973},
- type = {Internal Report},
- number = {CS-73-13},
- location = {Unif-bib}}
-
-@ARTICLE{JePi76,
- author = {D. C. Jensen and T. Pietrzykowski},
- title = {Mechanizing $\omega $-order Type Theory through Unification},
- journal = {Theoretical Computer Science},
- year = {1976},
- volume = {3},
- pages = {123--171},
- keywords = {hou, fp}}
-
-@ARTICLE{JePi:moottt76,
- author = {D. C. Jensen and T. Pietrzykowski},
- title = {Mechanizing $\omega $-order Type Theory through Unification},
- journal = {Theoretical Computer Science},
- year = {1976},
- volume = {3},
- pages = {123--171},
- keywords = {hou, fp}}
-
-@TECHREPORT{DenFucFuc:hpascsam96,
- author = {Joerg Denzinger and Matthias Fuchs and Marc Fuchs},
- title = {High Performance {ATP} Systems by Combining Several {AI} Methods},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1996},
- type = {Seki Report},
- number = {SR-96-09},
- pages = {24},
- url =
- {file://ftp.uni-kl.de/reports_uni-kl/computer_science/SEKI/1996/Denzinger.SR-96-09.ps.gz}}
-
-@TECHREPORT{Johann93,
- author = {Patricia Johann},
- title = {A Combinator-based Order-sorted Higher-order Unification Algorithm},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1993},
- type = {SEKI-Report},
- number = {SR-93-16}}
-
-@PHDTHESIS{Johann91,
- author = {Patricia Johann},
- title = {Complete Sets of Transformations for Unification Problems},
- school = {Wesleyan University},
- year = {1991}}
-
-
-
-
-@INPROCEEDINGS{johnson91,
- author = {Johnson, M.},
- title = {{Logic} and {Feature} {Structures}},
- booktitle = {Proceedings of the Twelfth International Joint Conference on Artificial
- Intelligence},
- year = {1991},
- address = {Sydney, {Australia}}}
-
-@BOOK{johnson:diss88,
- title = {{Attribute}-{Value} {Logic} and the {Theory} of {Grammar}},
- publisher = {CSLI},
- year = {1988},
- author = {Johnson, M.},
- address = {Stanford, {CA}}}
-
-@BOOK{JohnsonLaird:mm83,
- title = {Mental Models},
- publisher = {Cambridge University Press},
- year = {1983},
- author = {Johnson-Laird, P. N.}}
-
-@BOOK{JohLaiByr:d91,
- title = {Deduction},
- publisher = {Lawrence Erlbaum Associates Publishers},
- year = {1991},
- author = {Johnson-Laird, P. N. and Byrne, Ruth M. J.}}
-
-@BOOK{Johnson-Laird88,
- title = {The Computer and the Mind},
- publisher = {Harvard University Press},
- year = {1988},
- author = {Philip N. Johnson-Laird},
- address = {Cambridge, MA}}
-
-@BOOK{Johnson-Laird86,
- title = {An Introduction to Cognitive Science},
- year = {1986},
- author = {Philip N. Johnson-Laird}}
-
-@BOOK{Johnson-Laird:mm83,
- title = {Mental Models},
- publisher = {Harvard Univ. Press},
- year = {1983},
- author = {Philip N. Johnson-Laird},
- address = {Cambridge, Massachusetts}}
-
-@BOOK{JoBy91,
- title = {Deduction},
- publisher = {Lawrence Erlbaum Associates},
- year = {1991},
- author = {Philip N. Johnson-Laird and Ruth. M.J Byrne}}
-
-@INCOLLECTION{sjHLT,
- author = {Karen Sparck~Jones},
- title = {Document Processing: Summarization},
- booktitle = {Survey of the State of the Art in Human Language Technology},
- publisher = {NSF/EC/CSLU},
- year = {1996},
- editor = {Ron Cole},
- chapter = {7.4},
- address = {Oregon Graduate Institute},
- url = {http://www.cse.ogi.edu/CSLU/HLTsurvey/HLTsurvey.html}}
-
-@INPROCEEDINGS{jonsson95,
- author = {Arne Jonsson},
- title = {Dialogue Actions for Natural Language Interfaces},
- booktitle = {IJCAI'95, Proceedings of the Eleventh International Joint Conference
- on Artificial Intelligence},
- year = {August 1995},
- address = {Montreal Canada},
- note = {found on www.ida.liu.se. Don't include in bulk pack}}
-
-@INCOLLECTION{joshi87,crossref={Joshi:aittag87}}
-@INCOLLECTION{Joshi:aittag87,
- author = {Aravind Joshi},
- title = {An Introduction to Tree Adjoining Grammars},
- booktitle = {Mathematics of Language},
- publisher = {John Benjamins},
- year = {1987},
- editor = {Manaster-Ramer},
- address = {Amsterdam}}
-
-@TECHREPORT{Joshi:aitt85,
- author = {Aravind K. Joshi},
- title = {An Introduction to {TAG}s},
- institution = {{Department of Computer and Information Science, Moore School, University
- of Pennsylvania}},
- year = {1985},
- number = {MS-CIS-86-64},
- address = {Philadelphia, PA}}
-
-@ARTICLE{JoRu:Rofhot98,
- author = {Jouannaud, Jean-Pierre and Rubio, Albert},
- title = {Rewrite orderings for higher-order terms in $\eta$-lon $\beta$-normal
- form and the recursive path ordering.},
- journal = {Theoretical Computer Science},
- year = {1998},
- note = {\fc},
- bibtype = {ARTICLE}}
-
-@UNPUBLISHED{JoKi89,
- author = {Jean Pierre Jouannaud and Clauce Kirchner},
- note = {Preprint}}
-
-@BOOK{Jutting79,
- title = {Checking {Landau's} ``{Grundlagen}'' in the {AUTOMATH} System},
- publisher = {Mathematisch Centrum},
- year = {1979},
- author = {Jutting, L. S. {van Benthem}},
- volume = {83},
- series = {Mathematical Centre Tracts},
-
- address = {Amsterdam, Netherlands}}
-
-@INPROCEEDINGS{Jung:RoboCup:98,
- author = {C. G. Jung},
- title = {Experimenting with Layered, Resource-Adapting Agents in the RoboCup
- Simulation},
- booktitle = {Proc.~of the ROBOCUP'98 Workshop},
- year = {1998}}
-
-@book{JurMar:salp09,
- title = {Speech And Language Processing, An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition},
- author ={Daniel Jurafsky and James H. Martin},
- publisher = {Prentice Hall},
- year = 2009,
- edition = {second}}
-
-@inproceedings{Farmer:fsbmaqe14,
- author = {William M. Farmer},
- title = {The formalization of syntax-based mathematical algorithms using quotation and evaluation},
- crossref = {CICM13},
- pages = {35--50},
- url = {http://imps.mcmaster.ca/doc/quote-eval.pdf}}
-
-@inproceedings{KalURb:arshl,
- author = {Cezary Kaliszyk and Josef Urban},
- title = {Automated Reasoning Service for {HOL Light}},
- url = {http://cl-informatik.uibk.ac.at/users/cek/docs/kaliszyk-cicm13.pdf},
- crossref={CICM13},
- pages = {120-135}
-}
-
-@MISC{AitKaci93,
- author = {Hassan A{\"i}t Kaci},
- title = {Programming with Life},
- howpublished = {Advanced Tutorial on ILPS'93},
- year = {1993}}
-
-@ARTICLE{KN-04-a,crossref = {KamNed:arbflm04}}
-@ARTICLE{KamNed:arbflm04,
- author = {Fairouz Kamareddine and Rob Nederpelt},
- title = {A refinement of de {Bruijn's} formal language of mathematics},
- journal = {Logic, Language and Information},
- year = 2004,
- volume = 13,
- pages = {287--340},
- number = 3}
-
-@ARTICLE{KamKno:pars95,
- author = {S. Kambhampati and C. Knoblock and Q. Yang},
- title = {Planning as Refinement Search: A Unified Framework for Evaluating
- Design Tradeoffs in Partial-Order Planning},
- journal = {Artificial Intelligence, special issue on Planning and Scheduling},
- year = {1995},
- volume = {76},
- pages = {167--238}}
-
-@INCOLLECTION{kamp81,
- author = {Kamp, Hans},
- title = {A {Theory} of {Truth} and {Semantic} {Representation}},
- booktitle = {Formal Methods in the Study of Language},
- publisher = {Mathematisch Centrum},
- year = {1981},
- editor = {Groenendijk, J. and Janssen, Th. and Stokhof, M.},
- pages = {277--322},
- address = {Amsterdam}}
-
-@INCOLLECTION{Kamp:atotas81,
- author = {Hans Kamp},
- title = {A Theory of Truth and Semantic Representation},
- booktitle = {Formal Methods in the Study of Language},
- publisher = {Mathematisch Centrum Tracts},
- year = {1981},
- editor = {J. Groenendijk and Th. Janssen and M. Stokhof},
- pages = {277--322},
- address = {Amsterdam, \NETHERLANDS}}
-
-@MISC{kamp:scen83,
- author = {Kamp, Hans},
- title = {A {Scenic} {Tour} through the {Land} of {Naked} {Infinitives}},
- year = {1983},
- note = {Unpublished manuscript}}
-
-@ARTICLE{KamRey:acffodrs96,
- author = {Kamp, Hans and Reyle, Uwe},
- title = {A Calculus for First Order Discourse Representation Structures},
- journal = {Journal of Logic, Language and Information},
- year = {1996},
- volume = {5},
- pages = {297--348},
- number = {3-4}}
-
-@inproceedings{Lehmann:uleclplc97,
- author = {Meir M. Lehman and J. F. Ramil and P. D. Wernick and D. E. Perry and W. M. Turski},
- year = {1997},
- title= {Metrics and laws of software evolution -- the nineties view},
- booktitle = {Proc. 4th International Software Metrics Symposium (METRICS '97)},
- pages = {20--32},
- doi = {10.1109/METRIC.1997.637156}}
-
-@book{Brooks:tmmm75,
- author = {Fred Brooks},
- title = {The Mythical Man-Month},
- publisher = {Addison-Wesley},
- year = {1975},
- isbn = {0-201-00650-2}}
-
-@online{gitflow:on,crossref={gitflow:base},urldate={2015-03-19},label={GITF}}
-@misc{gitflow:url,crossref={gitflow:base},urldate={2015-03-19},key={GITF},
-howpublished = {online at \url{http://nvie.com/posts/a-successful-git-branching-model/}}}
-@misc{gitflow:base,
- title = {A successful Git branching model},
- author = {Vincent Driessen},
- year = {2010},
- url = {http://nvie.com/posts/a-successful-git-branching-model/}}
-
-@BOOK{KamRey:fdtl93,
- title = {From Discourse to Logic: Introduction to Model-Theoretic Semantics of Natural
- Language, Formal Logic and Discourse Representation Theory},
- publisher = {Kluwer},
- year = {1993},
- author = {Hans Kamp and Uwe Reyle},
- address = {Dordrecht}}
-
-@ARTICLE{kaplan89,
- author = {Kaplan, R. M.},
- title = {{The} {Formal} {Architecture} of {Lexical}-{Functional} {Grammar}},
- journal = {Journal of Information Science and Engineering},
- year = {1989},
- volume = {5},
- pages = {305--322}}
-
-@INCOLLECTION{kaplanbresnan82,
- author = {Kaplan, R. and Bresnan, J.},
- title = {Lexical-{Functional} {Grammar}: a {Formal} {System} for {Grammatical}
- {Representation}},
- booktitle = {The Mental Representation of Grammatical Relations},
- publisher = {{The} {MIT} {Press}},
- year = {1982},
- editor = {Bresnan, J.},
- pages = {173--281},
- address = {Cambridge, {MA}}}
-
-@INCOLLECTION{kapbres82,
- author = {Ron Kaplan and Joan Bresnan},
- title = {Lexical-Functional Grammar: A formal system for Grammatical Representation},
- booktitle = {The Mental Representation of Grammatical Relations},
- publisher = {MIT Press},
- year = {1982},
- pages = {173--280}}
-
-@BOOK{KaOf63,
- title = {Multiplication of Multidigit Numbers by Automata},
- publisher = {Soviet Physics-Doklady},
- year = {1963},
- author = {A. Karatsuba and Y. Ofman}}
-
-@BOOK{KarMer:ftg79,
- title = {Fundamentals of the Theory of Groups},
- publisher = {Springer Verlag},
- year = {1979},
- author = {M. I. Kargapolov and J. I. Merzljakov},
- series = {Graduate Texts in Mathematics}}
-
-@ARTICLE{Karttunen:ssq77,
- author = {Karttunen, L.},
- title = {Syntax and semantic of questions},
- journal = {Linguistics \& Philosophy},
- year = {1977},
- volume = {1},
- pages = {3--44}}
-
-@INCOLLECTION{KarPet:iq80,
- author = {Karttunen, L. and Peters, S.},
- title = {Interrogative quantifiers},
- booktitle = {Time, tense, and quantifiers},
- publisher = {Niemeyer},
- year = {1980},
- editor = {Rohrer, C.},
- pages = {181--205},
- address = {T{\"u}bingen}}
-
-@INPROCEEDINGS{kasrou86,
- author = {R. Kasper and W. Rounds},
- title = {Logical Semantics for feature structures},
- booktitle = {Proceedings of the 24\textsuperscript{th} Annual Meeting of the ACL},
- year = {1986},
- pages = {257--266},
- address = {Columbia University, New York}}
-
-@BOOK{Kaufmann92,
- title = {Mathematica als Werkzeug: eine Einf{\"u}hrung},
- publisher = {Birkh{\"a}user Verlag},
- year = {1992},
- author = {Kaufmann, Stefan},
- address = {Berlin}}
-
-@MISC{saxon_web,
- author = {Michael Kay},
- title = {SAXON, The XSLT and XQuery Processor},
- howpublished = {Web page at {\url{saxon.sf.net}}},
- url = {saxon.sf.net},
- key = {SAXON}}
-
-@MISC{keen:logi78,
- author = {Keenan, E. and Faltz, L.},
- title = {Logical {Types} for {Natural} {Language}},
- year = {1978},
- note = {UCLA Occasional Papers in Linguistics, 3}}
-
-@PHDTHESIS{Kehler:icfitcodi95,
- author = {Andrew Kehler},
- title = {Interpreting Cohesive Forms in the Context of Discourse Inference},
- school = {Harvard University},
- year = {1995}}
-
-@INCOLLECTION{FoxKeller1,
- author = {Evelyn Fox Keller},
- title = {{The Wo/Man Scientist}},
- booktitle = {{The Outer Circle: Women in the Scientific Community}},
- publisher = {Yale University Press},
- year = {1991},
- editor = {Hariett Zuckerman and Jonathan R. Cole and John T. Bruer},
- pages = {227--236}}
-
-@INCOLLECTION{Keller:ncs88,
- author = {Keller, W.},
- title = {Nested {Cooper} storage: the proper treatment of quantification in
- ordinary noun phrases},
- booktitle = {Natural language parsing and linguistic theories},
- publisher = {Reidel},
- year = {1988},
- editor = {U. Reyle and C. Rohrer},
- pages = {432--447}}
-
-@ARTICLE{Kempen:cragic91,
- author = {Gerard Kempen},
- title = {Conjunction reduction and gapping in clause-level coordination: an
- inheritance-based approach},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7},
- pages = {357--360}}
-
-@INPROCEEDINGS{KenBog96,
- author = {Christopher Kennedy and Branimir Boguraev},
- title = {Anaphora for Everyone: Pronominal Anaphora Resolution without a Parser},
- booktitle = {Proceedings of COLING},
- year = {1996}}
-
-@INPROCEEDINGS{Kerber:sactfs94,
- author = {Manfred Kerber},
- title = {Sound and Complete Translations from Sorted Higher-Order Logic into
- Sorted First-Order Logic},
- booktitle = {Proceedings of the 3\textsuperscript{rd} International Pacific Rim Conference on Artificial
- Intelligence, PRICAI-94},
- year = {1994},
- editor = {Michael Georgeff and Zhongzhi Shi and Benjamin W. Wah},
- pages = {149--154},
- publisher = {International Academic Publishers, China}}
-
-@PHDTHESIS{Kerber92,
- author = {Manfred Kerber},
- title = {On the Representation of Mathematical Concepts and their Translation
- into First-Order Logic},
- school = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1992},
- address = {Kaiserslautern, Germany}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@INCOLLECTION{KeMeSi:cerhkb96,
- author = {M. Kerber and E. Melis and J. Siekmann},
- title = {Calculemus et Exemplificamus: Reasoning with Hybrid Knowledge Bases},
- booktitle = {Creativity and Computation},
- publisher = {MIT Press},
- year = {1997},
- editor = {T. Dartnall }}
-
-@TECHREPORT{KeMeSi:RWAAE,
- author = {Manfred Kerber and Erica Melis and J{\"o}rg Siekmann},
- title = {{Reasoning with Assertions and Examples}},
- institution = {Fachbereich Informatik, Unversit{\"a}t des Saarlandes},
- year = {1993},
- type = {SEKI-Report},
- number = {SR-93-10}}
-
-@TECHREPORT{KeMe92,
- author = {Manfred Kerber and Erica Melis and J{\"o}rg Siekmann},
- title = {Analogical Reasoning with Typical Examples},
- institution = {Unversit{\"a}t des Saarlandes},
- year = {1992},
- type = {SEKI-Report},
- number = {SR-92-13}}
-
-@INPROCEEDINGS{ags-2002-k-4,
- author = {Manfred Kerber and Martin Pollet},
- title = {On the Design of Mathematical Concepts},
- booktitle = {10\textsuperscript{th} Symposion on the Integration of Symbolic Computation and Mechanized
- Reasoning, Work in Progress Papers},
- year = {2002},
- editor = {Olga Caprotti and Volker Sorge},
- number = {SR--02--04},
- series = {SEKI Reports},
- pages = {33--49},
- address = {Saarbr{\"u}cken, Germany},
- organization = {Department of Computer Science, Saarland University},
- type = {Seki Report}}
-
-@INPROCEEDINGS{ags-2002-k-3,
- author = {Manfred Kerber and Martin Pollet},
- title = {On the Design of Mathematical Concepts},
- booktitle = {Second Workshop on the Role of Automated Deduction in Mathematics
- (in conjunction with CADE-18 and FLoC 2002)},
- year = {2002},
- editor = {Simon Colton and Volker Sorge},
- pages = {43--60}}
-
-@INPROCEEDINGS{ags-2002-k-1,
- author = {Manfred Kerber and Martin Pollet},
- title = {On the Design of Mathematical Concepts},
- booktitle = {15\textsuperscript{th} Australian Joint Conference on Artificial Intelligence},
- year = {2002},
- editor = {Bob McKay and John Slaney},
- number = {2557},
- series = {LNAI},
- pages = {716},
- publisher = {Springer}}
-
-@TECHREPORT{ags-2002-k-2,
- author = {Manfred Kerber and Martin Pollet},
- title = {On the Design of Mathematical Concepts},
- institution = {The University of Birmingham, School of Computer Science},
- year = {2002},
- number = {CSRP--02--06},
- month = may,
- email = {M.Kerber@cs.bham.ac.uk, M.Pollet@cs.bham.ac.uk},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/2002/CSRP-02-06.ps.gz}}
-
-@INCOLLECTION{KerSie:i95,
- author = {Manfred Kerber and J{\"o}rg Siekmann},
- title = {Inferenzsysteme},
- booktitle = {Handbuch der Kognitionswissenschaften},
- year = {1995}}
-
-@TECHREPORT{KilgerFinkler:igfrta95,
- author = {Anne Kilger and Wolfgang Finkler},
- title = {Incremental generation for real--time applications},
- institution = {DFKI, Saarbr{\"u}cken},
- year = {1995},
- number = {RR-95-11}}
-
-@ARTICLE{KilgerFinkler:tbig95,
- author = {Anne Kilger and Wolfgang Finkler},
- title = {{TAG}-Based Incremental Generation},
- journal = {Computational Linguistics},
- year = {1995},
- note = {\fc}}
-
-@UNPUBLISHED{Kirchner,
- author = {Claude Kirchner},
- title = {From Unification in combination of Equational Theories to A New AC-Unification
- Algorithm},
- location = {miko}}
-
-@UNPUBLISHED{KiKi90,
- author = {Claude Kirchner and H{\'e}l{\`e}ne Kirchner and Michael Rusinowitch},
- title = {Deduction with Symbolic Constraints},
- year = {1990},
- keywords = {Constraint Logic, Deduction}}
-
-@UNPUBLISHED{KiVi90,
- author = {Claude Kirchner and Patrick Viry},
- title = {Implementing Parallel Rewriting},
- year = {1990},
- keywords = {Rewriting, parallel}}
-
-@MISC{Klafki:Erziehungswissenschaft,
- author = {Wolfgang Klafki},
- title = {{Grundz{\"u}ge kritisch-konstruktiver Erziehungswissenschaft}},
- howpublished = {online at
- {\url{http://archiv.ub.uni-marburg.de/sonst/1998/0003/k04.html}}},
- url = {http://archiv.ub.uni-marburg.de/sonst/1998/0003/k04.html},
- year = {1998},
- note = {seen 2005/05/31}}
-
-@BOOK{Kleene52,
- title = {Introduction to Meta-Mathematics},
- publisher = {North Holland},
- year = {1952},
- author = {Stephen C. Kleene}}
-
-@MASTERSTHESIS{klein:uieslkmtus96,
- author = {Gerald Klein},
- title = {{Unifikation in einem sortiertem $\lambda$-Kalk{\"u}l mit Termdeklarationen
- und Schnittsorten}},
- school = {FB Informatik, Universit{\"a}t des Saarlandes},
- year = {1996}}
-
-@MASTERSTHESIS{klein:ifths97,
- author = {Lars Klein},
- title = {{Indexing f{\"u}r Terme h{\"o}herer Stufe}},
- school = {FB Informatik, Universit{\"a}t des Saarlandes},
- year = {1997}}
-
-@INPROCEEDINGS{Klein02:interpreting-xml-rdfs,
- author = {Michel Klein},
- title = {{Interpreting XML via an RDF Schema}},
- booktitle = {ECAI workshop on Semantic Authoring, Annotation \& Knowledge Markup
- (SAAKM 2002)},
- year = {2002},
- address = {Lyon, France},
- month = jul # {~23},
- url = {http://www.cs.vu.nl/~mcaklein/papers/ECAI02-SAAKM.pdf}}
-
-@BOOK{Klein:til94,
- title = {Time in language},
- publisher = {Routlege},
- year = {1994},
- author = {Klein, W.},
- address = {London and New York}}
-
-@INPROCEEDINGS{KnCo:fmitt86,
- author = {Knoblock, T. B. and Constable, R. L.},
- title = {Formalized Metareasoning in Type Theory},
- booktitle = {Proceedings of LICS},
- year = {1986},
- pages = {237--248},
- organization = {IEEE},
- key = {Knoblock \& Constable}}
-
-@INPROCEEDINGS{Knuth:LearningFromErrors,
- author = {Donald E. Knuth},
- title = {{Learning from our Errors}},
- booktitle = {Software Development and Reality Construction},
- year = {1992},
- editor = {Christiane Floyd and Heinz Z{\"u}llighoven and Reinhard Budde and Reinhard
- Keil-Slawik},
- pages = {28--30},
- publisher = {Springer-Verlag},
- note = {Conference held at Schloss Eringerfeld in Germany, 1988}}
-
-@BOOK{Knuth:ttb84,
- title = {The {\TeX}book},
- publisher = {Addison Wesley},
- year = {1984},
- author = {Donald E. Knuth}}
-
-@INPROCEEDINGS{KnBe70,
- author = {Donald E. Knuth and Peter B. Bendix},
- title = {Simple word problems in Universal algebras},
- year = {1970},
- editor = {J. Leech},
- pages = {263--297},
- publisher = {Pergamon Press}}
-
-@INPROCEEDINGS{KnBe:cpiaa70,
- author = {Donald E. Knuth and Peter B. Bendix},
- title = {Simple word problems in Universal algebras},
- year = {1970},
- editor = {J. Leech},
- pages = {263--297},
- publisher = {Pergamon Press}}
-
-@INPROCEEDINGS{KoeAnd:euishsmc93,
- author = {Ken Koedinger and J. R. Anderson},
- title = {Effective use of intelligent software in high school math classrooms},
- booktitle = {Proceedings of the World Conference on Artificial Intelligence in
- Education},
- year = {1993},
- pages = {241--248}}
-
-@MASTERSTHESIS{Koerstein92,
- author = {Koerstein, Ralf},
- title = {{Einsatz} eines relationalen {Datenbankmanagementsystems} zur {Verwaltung}
- mathematischen {Wissens} f{\"u}r automatische {Theorembeweiser}},
- school = {Universit{\"a}t Kaiserslautern, Fachbereich Informatik},
- year = {1992},
- type = {Diplomarbeit},
- address = {Kaiserslautern},
- note = {also SEKI Working Paper SWP--92--06},
- key = {data base, knowledge representation}}
-
-
-
-@comment{also Kohlhase:oomd05}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@InProceedings{BRNM:KnowledgeWikisCommunities,
- author = {Joachim Baumeister and Jochen Reutelsh{\"o}fer and Karin Nadrowski and Axel
- Misok},
- title = {{Using Knowledge Wikis to Support Scientific Communities}},
- crossref = {SCOOP07}}
-
-@InProceedings{NeHe:FSDAtGSFfPSP,
- author = {German Nemirovskij and Eberhard Heuel},
- title = {{From Semantic Document Annotation to Global Search Facilities for Personalised
- Study Programmes}},
- crossref = {SCOOP07}}
-
-
-
-@InProceedings{Schiller:tcapt07,
- author = {Marvin Schiller and Dominik Dietrich and Christoph BenzM{\"u}ller},
- title = {{Towards Computer-Assisted Proof Tutoring}},
- crossref = {SCOOP07}}
-
-
-
-
-
-@InProceedings{BSPG:SAPfDUE,
- author = {C. Beckmann and M. Schirmer and T. Paul-Stueve and Tom Gross},
- title = {Sens-ation: A Platform for Developing Ubiquitous Environments},
- crossref = {MC07}}
-
-
-
-@InProceedings{GoguadzeTsigler:aieiam-ui07,
- author = {George Goguadze and Jan Tsigler},
- title = {Authoring Interactive Exercises in ActiveMath},
- crossref = {MathUI07}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{CO:CommProofIntMathDoc00,
- author = {Olga Caprotti and Martijn Oostdijk},
- title = {On Communicating Proofs in Interactive Mathematical Documents},
- crossref = {AISC00},
- pages={53--64}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@Book{Galilei:assayer23,
- author = {Galileo Galilei},
- title = {The Assayer},
- publisher = {Rome},
- year = 1623,
- month = oct}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@Book{MeiMun:mgi00,
- author = {Meinel and Mundhenk},
- title = {Mathematische Grundlagen der Informatik},
- publisher = {Teubner},
- year = 2000}
-
-
-
-@UNPUBLISHED{KerKoh:rwb97,
- note = {manuscript},
- year = 1997}
-
-
-
-
-
-
-
-
-@INPROCEEDINGS{Koller:ecusu98,
- author = {Koller, Alexander},
- title = {Evaluating context unification for semantic underspecification},
- booktitle = {Proceedings of the {Third} {Student} {Session} of the {ESSLLI}},
- year = {1998},
- editor = {Kruijff-Korbayov{\'a}, Ivana},
- pages = {188--199},
- keywords = {lamapunbibs},
- address = {Saarbr{\"u}cken}}
-
-@INPROCEEDINGS{Konolige:agtoa90,
- author = {K. Konolige},
- title = {A general theory of abduction},
- booktitle = {Working Notes {AAAI} {Spring} {Symposium} on {Automated} {Abduction}},
- year = {1990}}
-
-@INPROCEEDINGS{Konrad98:Hot,
- author = {Karsten Konrad},
- title = {HOT: A Concurrent Automated Theorem Prover based on Higher-Order
- Tableaux},
- keywords = {lamapunbibs},
- crossref = {TPHOL98}}
-
-@PHDTHESIS{Konrad:mgfnls00,
- author = {Karsten Konrad},
- title = {Model Generation for Natural Language Semantics},
- school = {Universit{\"a}t des Saarlandes},
- keywords = {lamapunbibs},
- year = {2000}}
-
-@PHDTHESIS{Ganesalingam:tlom09,
- author = {Mohan Ganesalingam},
- title = {The Language of Mathematics},
- school = {Cambridge University},
- keywords = {lamapunbibs},
- year = {2009}}
-
-@Book{Ganesalingam:tlom13,
- author = {Mohan Ganesalingam},
- title = {The Language of Mathematics, A Linguistic and Philosophical Investigation},
- publisher = {Springer Verlag},
- year = 2013,
- doi = {10.1007/978-3-642-37012-0},
- volume = 7805,
- series = {LNCS}}
-
-@PHDTHESIS{Huang:fanlp08,
- author = {Liang Huang},
- title = {Forest-based Algorithms in Natural Language Processing},
- school = {University of Pennsylvania},
- keywords = {lamapunbibs},
- year = {2008}}
-
-@ARTICLE{Mok06generatingcompact,
- author = {Wai Yin Mok and David W. Embley},
- title = {Generating Compact RedundancyFree XML Documents from Conceptual-Model Hypergraphs},
- journal = {IEEE Transactions on Knowledge and Data Engineering},
- year = {2006},
- volume = {18},
- pages = {2006}
-}
-
-@article{DBLP:journals/coling/Harper94,
- author = {Mary P. Harper},
- title = {Storing Logical Form in a Shared-Packed Forest},
- journal = {Computational Linguistics},
- volume = {20},
- number = {4},
- year = {1994},
- pages = {649--660},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@TECHREPORT{Kon:hotaca98,
- author = {Karsten Konrad},
- title = {HOT: A Concurrent Automated Theorem Prover based on Higher-Order
- Tableaux},
- institution = {Fachbereich Informatik, Universit{\"a}t Saarbr{\"u}cken},
- year = {1998},
- type = {Seki Report},
- number = {SR-98-03},
- hardcopy = {no},
- pages = {15},
- url = {http://www.ags.uni-sb.de/~konrad/papers/hot.ps.gz}}
-
-@UNPUBLISHED{Konrad98:mgnfnl,
- author = {Karsten Konrad},
- title = {Model Generation without Normal Forms and Applications in Natural
- Language Semantics},
- note = {submitted},
- month = oct,
- year = {1998}}
-
-@TECHREPORT{Konrad:ihot98,
- author = {Karsten Konrad},
- title = {{HOT: An Automated Theorem Prover based on Higher-Order Tableaux}},
- institution = {Fachbereich Informatik, Universit{\"a}t Saarbr{\"u}cken},
- year = {1998},
- type = {Seki Report},
- number = {SR-98-03}}
-
-@MISC{Konrad:ssl97,
- author = {Karsten Konrad},
- year = {1997},
- note = {ColorLambda: An implementation of the simply typed $\lambda$-calculus
- in {\sc Oz}.},
- url = {http://www.ags.uni-sb.de/~konrad/soft.html}}
-
-@UNPUBLISHED{Koons:dsfd88,
- author = {Koons, R.},
- title = {Deduction System for {DRT}},
- note = {Austin, Texas},
- year = {1988}}
-
-@INCOLLECTION{Kowalski93,
- author = {Robert Kowalski},
- title = {Logic without Model Theory},
- booktitle = {What is a logical System},
- publisher = {Oxford University Press},
- editor = {Dov Gabbay}}
-
-@ARTICLE{Kowalski:alc79,
- author = {Robert Kowalski},
- title = {{Algorithm} = {Logic} + {Control}},
- journal = {Communications of the Association for Computing Machinery},
- year = {1997},
- volume = {22},
- pages = {424--436}}
-
-@ARTICLE{Kowalski:appucg75,
- author = {Robert Kowalski},
- title = {A Proof Procedure Using Connection Graphs},
- journal = {Journal of the Association for Computing Machinery (ACM), ACM, Inc.,
- 1133 Avenue of the Americas, New York 10036},
- year = {1975},
- volume = {22},
- pages = {572--595},
- number = {4}}
-
-@PHDTHESIS{Krahmer:dap95,
- author = {Emiel Krahmer},
- title = {Discourse and Presupposition},
- school = {University of Tilburg},
- year = {1995}}
-
-@INPROCEEDINGS{umbrbath,
- author = {Krahmer, E. and Muskens, R. A.},
- title = {Umbrellas and Bathrooms},
- booktitle = {Proceedings of SALT IV},
- year = {1994},
- editor = {Harvey, M. and Santelmann, L.},
- pages = {179--194},
- address = {Cornell},
- publisher = {Cornell University},
- note = {(A preliminary version of `Negation and Disjunction in Discourse
- Representation Theory')}}
-
-@ARTICLE{dndrt,
- author = {Krahmer, E. and Muskens, R. A.},
- title = {Negation and {Disjunction} in {Discourse} {Representation} {Theory}},
- journal = {Journal of Semantics},
- year = {1995},
- volume = {12},
- pages = {357--376}}
-
-@ARTICLE{KraMus:nadidrt95,
- author = {Emiel Krahmer and Reinhard Muskens},
- title = {Negation and Disjunction in Discourse Representation Theory},
- journal = {Journal of Semantics},
- year = {1995},
- volume = {12},
- pages = {357--376}}
-
-@book{Kratzer:MoC12,
- title = {Modals and Conditionals},
- subtitle = {New and Revised Perspectives},
- author = {Angelika Kratzer},
- series = {Oxford Studies in Theoretical Linguistics},
- publisher = {Oxford University Press},
- year = {2012}}
-
-
-@INCOLLECTION{Kratzer:slilp95,
- author = {Kratzer, Angelika},
- title = {Stage-level and individual-level predicates},
- booktitle = {The generic book},
- publisher = {University of Chicago Press},
- year = {1995},
- editor = {Carlson, G. and Pelletier, F.},
- pages = {125--175}}
-
-@INCOLLECTION{Kratzer:trof91,
- author = {Angelika Kratzer},
- title = {The representation of focus},
- booktitle = {Semantik: Ein internationales Handbuch der zeitgenoessischen Forschung},
- publisher = {Berlin: Walter de Gruyter},
- year = {1991},
- editor = {Arnim van Stechow and Dieter Wunderlich}}
-
-@TECHREPORT{KrQi88,
- author = {H-J. Kreowski and Zhenyu Qian},
- title = {Relation-Sorted Algebraic Specifications with built-in Coercers:
- Basic Notions and Results},
- institution = {PROSPECTA-Report},
- year = {1988},
- number = {M.1.1.S3.SN-44},
- address = {Hamburg, Germany}}
-
-@TECHREPORT{MMISS-TechReport04,
- author = {B. Krieg-Br{\"u}ckner and B. Kr{\"a}mer and D. Basin and J. Siekmann
- and M. Wirsing},
- title = {MultiMedia {Instruction} in {Safe} and {Secure} {Systems}},
- institution = {Universit{\"a}t Bremen},
- year = {2004},
- type = {Abschlussbericht},
- note = {BMBF project 01NM070, 2001-2004}}
-
-@INPROCEEDINGS{SemInter-DELFI04,
- author = {Bernd Krieg-Br{\"u}ckner and Arne Lindow and Christoph L{\"u}th and
- Achim Mahnke and George Russell},
- title = {Semantic Interrelation of Documents via an Ontology},
- booktitle = {{DeLFI 2004}},
- year = {2004},
- editor = {G. Engels and S. Seehusen},
- volume = {P-52},
- series = {LNI},
- pages = {271--282},
- publisher = {Springer-Verlag},
- isbn = {3-88579-381-4},
- status = {Reviewed},
- url = {http://www.mmiss.de/papers/semantic_interrelation.pdf}}
-
-@INCOLLECTION{Krifka:acsfmfc92,
- author = {Manfred Krifka},
- title = {A compositional semantics for multiple focus constructions},
- booktitle = {Informationsstruktur and Grammatik},
- year = {1992},
- editor = {Joachim Jacobs},
- address = {Heidelberg},
- note = {Sonderheft 4}}
-
-@INCOLLECTION{Krifka:rtg88,
- author = {Manfred Krifka},
- title = {The relational theory of genericity},
- booktitle = {Genericity in natural language},
- publisher = {Seminar f{\"u}r Sprachwissenschaft},
- year = {1988},
- editor = {M. Krifka},
- pages = {285--312},
- address = {T{\"u}bingen}}
-
-@INCOLLECTION{Krifka:trlbnrtc92,
- author = {Manfred Krifka},
- title = {Thematic roles as links between nominal reference and temporal constitution},
- booktitle = {Lexical matters},
- publisher = {CSLI},
- year = {1992},
- editor = {Sag, I. and A. Sabolcsi},
- pages = {29--53},
- address = {Stanford}}
-
-@UNPUBLISHED{Krifka:faocaslasoe95,
- author = {Manfred Krifka},
- title = {Focus and/or context: A second look at Second Occurence Expressions},
- note = {Unpublished Ms. University of Texas, Austin},
- month = feb,
- year = {1995}}
-
-@BOOK{Krifka:nz89,
- title = {Nominalreferenz und {Zeitkonstitution}},
- publisher = {Fink},
- year = {1989},
- author = {Manfred Krifka},
- address = {M{\"u}nchen}}
-
-@INCOLLECTION{KPCMCL:gi95,
- author = {Krifka, M. and Pelletier, F. and Carlson, G. and {ter Meulen}, A.
- and Chierchia, G. and Link, G.},
- title = {Genericity: an introduction},
- booktitle = {The generic book},
- publisher = {University of Chicago Press},
- year = {1995},
- editor = {Carlson, G. and Pelletier, F.},
- pages = {1--124}}
-
-@INCOLLECTION{krip:nami72,
- author = {Kripke, S.},
- title = {Naming and {Necessity}},
- booktitle = {Semantics of Natural Language},
- publisher = {Reidel},
- year = {1972},
- editor = {Davidson, D. and Harman, G.},
- pages = {253--355},
- address = {Dordrecht}}
-
-@INCOLLECTION{krip:puzz79,
- author = {Kripke, S.},
- title = {A {Puzzle} {About} {Belief}},
- booktitle = {Meaning and Use},
- publisher = {Reidel},
- year = {1979},
- editor = {Margalit, A.},
- pages = {239--283},
- address = {Dordrecht}}
-
-@INCOLLECTION{krip:iden71,
- author = {Kripke, S.},
- title = {Identity and {Necessity}},
- booktitle = {Identity and Individuation},
- publisher = {New York University Press},
- year = {1971},
- editor = {Munitz, M.},
- pages = {135--164}}
-
-@ARTICLE{krowne03:building-dl-cbpp,
- author = {Aaron Krowne},
- title = {Building a Digital Library the Commons-based Peer Production Way},
- journal = {{D-Lib} Magazine},
- year = {2003},
- volume = {9},
- number = {10},
- month = oct,
- issn = {1082-9873},
- organization = {Virginia Tech},
- url = {http://www.dlib.org/dlib/october03/krowne/10krowne.html}}
-
-@MASTERSTHESIS{krowne03:collaborative-math-libraries,
- author = {Aaron Krowne},
- title = {An Architecture for Collaborative Math and Science Digital Libraries},
- school = {Virginia Tech},
- year = {2003},
- url = {http://scholar.lib.vt.edu/theses/available/etd-09022003-150851/}}
-
-@MASTERSTHESIS{Kursawe:terdes82,
- author = {Peter Kursawe},
- title = {{Transformation} eines {Resolutionsbeweises}: {Der} erste {Schritt}
- auf dem {Weg} zum nat{\"u}rlichen {Schlie{\ss}en}},
- school = {Fakult{\"a}t f{\"u}r Informatik, Universit{\"a}t Karlsruhe},
- year = {1982},
- address = {Karlsruhe\GERMANY}}
-
-@PHDTHESIS{Kuschert:dmaa99,
- author = {Susanna Kuschert},
- title = {Dynamic meaning and accommodation},
- school = {University of the Saarland},
- year = {1999}}
-
-@TECHREPORT{Kuschert:ddfnl97,
- author = {Susanna Kuschert},
- title = {Dynamic Deduction for Natural Language},
- institution = {Universit{\"a}t des {Saarlandes}},
- year = {1998},
- type = {{CLAUS} Report},
- number = {102},
- note = {Information Theoretic Approaches to Logic, Language
- and Computation, Taiwan}}
-
-@INPROCEEDINGS{Kuschert:aba97,
- author = {Susanna Kuschert},
- title = {Akkommodation bei {Anaphernresolution}?},
- booktitle = {{Tagungsband der Fachtagung der Gesellschaft f{\"u}r Kognitionswissenschaft
- 1997}},
- year = {1997},
- address = {Jena}}
-
-@TECHREPORT{Kuschert:adar97,
- author = {Susanna Kuschert},
- title = {Accomodation during Anaphora Resolution},
- institution = {Universit{\"a}t des {Saarlandes}},
- year = {1997},
- type = {{CLAUS} Report},
- number = {92}}
-
-@BOOK{Kuschert:hod96,
- title = {Higher Order Dynamics: Relating operational and denotational semantics
- for $\lambda$-{DRT}},
- publisher = {{CLAUS}-Report~84, Universit{\"a}t des {Saarlandes}},
- year = {1996},
- author = {Susanna Kuschert}}
-
-@MASTERSTHESIS{Kuschert:eedlud95,
- author = {Susanna Kuschert},
- title = {{Eine} {Erweiterung} des $\lambda$-Kalk{\"u}ls um
- {Diskursrepr{\"a}sentationsstrukturen}},
- school = {Universit{\"a}t des Saarlandes},
- year = {1995}}
-
-@UNPUBLISHED{Kuschert:ydhncui97,
- author = {Susanna Kuschert and Lars Konieczny},
- title = {You don't have no chance. {Use} it.},
- note = {Presented as a poster at the {\em AMLAP97 (Architectures and Mechanisms
- for Language Processing)}, Edinburgh},
- year = {1997}}
-
-@INPROCEEDINGS{LaF:mxf02,
- author = {La Fontaine, Robin},
- title = {Merging {XML} Files: A New Approach Providing Intelligent Merge of
- XML Data Sets},
- booktitle = {XML Europe 2002 -- Conference Proceedings},
- year = {2002},
- url = {http://www.idealliance.org/papers/xmle02/dx_xmle02}}
-
-@PHDTHESIS{Labrou:sfaacl96,
- author = {Yannis Labrou},
- title = {Semantics for an Agent Communication Language},
- school = {University of Maryland, Baltimore County},
- year = {1996}}
-
-@TECHREPORT{LabFin:apfanks97,
- author = {Yannis Labrou and Tim Finin},
- title = {A Proposal for a new {KQML} Specification},
- institution = {{Computer Science and Electrical Engineering Department, University
- of Maryland, Baltimore County}},
- year = {1997},
- type = {Technical Report},
- number = {TR CS-97-03}}
-
-@PHDTHESIS{Lahiri:ei91,
- author = {Utpal Lahiri},
- title = {Embedded interrogatives and predicates that embed them},
- school = {MIT},
- year = {1991}}
-
-@BOOK{Lakatos76,
- title = {Proofs and Refutations},
- subtitle = {The Logic of Mathematical Discovery},
- publisher = {Cambridge University Press},
- year = {1976},
- author = {Imre Lakatos}}
-
-@ARTICLE{Lam96,
- author = {Fran{\c c}ois Lamarche},
- title = {From proof nets to games},
- crossref = {LINEAR96},
- year = {1996}}
-
-@BOOK{LaSc86,
- title = {Introduction to Higher-Order Categorical Logic},
- publisher = {Cambridge University Press},
- year = {1986},
- author = {J. Lambek and P. J. Scott},
- volume = {7},
- series = {Cambridge Studies in Advanced Mathematics},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{lamb:intu81,
- author = {Lambek, J. and Scott, P. J.},
- title = {Intuitionist {Type} {Theory} and {Foundations}},
- journal = {Journal of Philosophical Logic},
- year = {1981},
- volume = {10},
- pages = {101--115}}
-
-@ARTICLE{Lamport:htwap94,
- author = {Leslie Lamport},
- title = {How To Write A Proof},
- journal = {American Mathematical Monthly},
- year = {1994},
- volume = {102},
- pages = {600 -- 608},
- number = {7}}
-
-@BOOK{Lamport:ladps94,
- title = {LaTeX: A Document Preparation System, 2/e},
- publisher = {Addison Wesley},
- year = {1994},
- author = {Leslie Lamport}}
-
-@ARTICLE{Lamport:tla94,
- author = {Leslie Lamport},
- title = {The temporal logic of actions.},
- journal = {ACM Transactions on Programming Languages and Systems},
- year = {1994},
- volume = {16},
- pages = {872--923},
- number = {3}}
-
-@BOOK{Landau30,
- title = {{Grundlagen} {der} {Analysis}},
- publisher = {Wissenschaftliche Buchgesellschaft},
- year = {1930},
- author = {Edmund Landau},
- address = {Darmstadt, Germany; second edition},
- note = {Reprint of the edition, Leipzig, 1970}}
-
-@PHDTHESIS{land:towa86,
- author = {Landman, A.},
- title = {Towards a {Theory} of {Information}},
- school = {University of Amsterdam},
- year = {1986}}
-
-@ARTICLE{Lang:sdkv77,
- author = {Ewald Lang},
- title = {Semantik der Koordinativen Verkn{\"u}pfung},
- journal = {Studia Grammatika XIV},
- year = {1977}}
-
-@BOOK{lang:part88,
- title = {Partiality, {Truth} and {Persistence}},
- publisher = {CSLI Lecture Notes},
- year = {1988},
- author = {Langholm, T.},
- address = {Stanford}}
-
-@MISC{LaLe93,
- author = {Serge Lapierre and Francois Lepage},
- title = {The Strong Completeness of First-order Functional Calculus with identity
- for partial interpretations},
- year = {1993},
- address = {Montreal, Canada}}
-
-@INPROCEEDINGS{Lappin:tsbovper92,
- author = {Shalom Lappin},
- title = {The syntactic basis of ellipsis resolution},
- booktitle = {Proceedings of the Stuttgart Ellipsis Workshop},
- year = {1992},
- editor = {Steve Berman and Arild Hestvik},
- address = {University of Stuttgart}}
-
-@ARTICLE{LapLea94,
- author = {Shalom Lappin and Herbert Leass},
- title = {An Algorithm for Pronominal Anaphora Resolution},
- journal = {Computational Linguistics},
- year = {1994},
- volume = {20},
- pages = {535--561},
- number = {4}}
-
-@MISC{LapPol:hofglis02,
- author = {Shalom Lappin and Carl Pollard},
- title = {A Higher-Order Fine-Grained Logic for Intensional Semantics},
- howpublished = {Manuscript},
- year = {2002}}
-
-@MISC{LapPol:shs00,
- author = {Shalom Lappin and Carl Pollard},
- title = {Strategies for Hyperintensional Semantics},
- howpublished = {Manuscript, King's College, London and Ohio State University},
- year = {2000}}
-
-@BOOK{LarSeg:kom95,
- title = {Knowledge of Meaning},
- publisher = {MIT Press},
- year = {1995},
- author = {R. Larson and G. Segal},
- address = {Cambridge Ma}}
-
-@ARTICLE{LasAsh:tidracse93,
- author = {Alex Lascarides and Nick Asher},
- title = {Temporal Interpretation, Discourse Relations and Common Sense Entailments},
- journal = {Linguistics \& Philosophy},
- year = {1993},
- volume = {16},
- pages = {437--493}}
-
-@INCOLLECTION{LasObe:atd92,
- author = {Alex Lascarides and Jon Oberlander},
- title = {Abducing Temporal Discourse},
- booktitle = {Aspects of Automated Natural Language Generation},
- publisher = {Springer Verlag},
- year = {1992},
- pages = {167 -- 182},
- address = {Berlin}}
-
-@ARTICLE{Lasnik:roc76,
- author = {Howard Lasnik},
- title = {Remarks on Coreference},
- journal = {Linguistic Analysis},
- number = {2.1}}
-
-@InProceedings{ThomMcK:hssmrod97,
- author = {Henry Thompson and David McKelvie},
- title = {Hyperlink semantics for standoff markup of read-only documents},
- booktitle = {SGML Europe 97},
- year = 1997}
-
-@TECHREPORT{LasSwi:rdf99,
- author = {Ora Lassila and Ralph R. Swick},
- title = {{Resource Description Framework ({RDF}) Model and Syntax Specification}},
- institution = {World Wide Web Consortium (W3C)},
- year = {1999},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/1999/REC-rdf-syntax}}
-
-@MISC{LauMar:xwd00,
- author = {Andreas Laux and Lars Martin},
- title = {{XUpdate}: XML update language},
- note = {\seen May 2008},
- note = {XML:DB working draft at \url{http://www.xmldb.org/xupdate/xupdate-wd.html}},
- url = {http://www.xmldb.org/xupdate/xupdate-wd.html}}
-
-@MISC{LauMar:XUpdate00,
- author = {Andreas Laux and Lars Martin},
- title = {{\tt{XUpdate}} -- {XML} Update Language},
- howpublished = {Working Draft of the {XML:DB} Initiative},
- year = {2000},
- url = {http://www.xmldb.org/xupdate/xupdate-wd.html}}
-
-@BOOK{SituatedLearning,
- title = {{Situated Learning: Legitimate Peripheral Participation (Learning in Doing:
- Social, Cognitive and Computational Perspectives S.)}},
- publisher = {Cambridge University Press},
- year = 1991,
- author = {Jean Lave and Etienne Wenger}}
-
-@ARTICLE{BrCoDu:SCatCoL,
- author = {J. S. Brown and A. Collins and S. Duguid},
- title = {Situated cognition and the culture of learning},
- journal = {Educational Researcher},
- year = {1989},
- volume = {18},
- number = {1},
- pages = {32--42}}
-
-@INCOLLECTION{LeaTal:cscmb,
- author = {Luiz V. Leao and Sarosh N. Talukdar},
- title = {{COPS: A System for Constructing Multiple Blackboards}},
- booktitle = {Readings in Distributed Artificial Intelligence},
- publisher = {Morgan Kaufmann},
- year = {1988},
- editor = {Alan H. Bond and Les Gasser},
- pages = {547ff}}
-
-@ARTICLE{LeTh68,
- author = {H. Leblanc and R. Thomason},
- title = {Completeness Theorems for some presupposition-free Logics},
- journal = {Fundamenta Mathematicae},
- year = {1968},
- volume = {62},
- pages = {125--164}}
-
-@INPROCEEDINGS{LR96tar,
- author = {Alain Lecomte and Christian Retor{\'e}},
- title = {Words as Modules: a lexicalised grammar in the framework of linear
- logic proof nets},
- booktitle = {International Conference on Mathematical Linguistics II},
- year = {1997},
- editor = {Carlos Martin-Vide},
- address = {Tarragona},
- publisher = {John Benjamins},
- note = {To appear}}
-
-@BOOK{Ledermann:igt73,
- title = {Introduction to Group Theory},
- publisher = {Lommong Group},
- year = {1973},
- author = {W. Ledermann},
- address = {Harlow}}
-
-@ARTICLE{Lee:Plaisted:92,
- author = {S.-J. Lee and D. Plaisted},
- title = {{Eliminating Duplicates with the Hyper-Linking Strategy}},
- journal = {Journal of Automated Reasoning},
- year = {1992},
- volume = {9},
- pages = {25--42}}
-
-@ARTICLE{LeePla:pssfmtp93,
- author = {Shie-Jue Lee and David A. Plaisted},
- title = {Problem solving by searching for models with a theorem prover},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {69},
- pages = {205--233},
- number = {1-2}}
-
-@MISC{BernersLee:tsw98,
- author = {Tim Berners-Lee},
- title = {The Semantic Web},
- type = {W3C Architecture Note},
- year = 1998,
- url = {http://www.w3.org/DesignIssues/Semantic.html}}
-
-@INCOLLECTION{Leibniz86,
- author = {G. W. Leibniz},
- title = {Projet et Essais pour arriver {\`a} quelque certitude pour finir une
- bonne partie des disputes et pour avancer l'art d'inventer},
- booktitle = {Logik-Texte: Kommentierte Auswahl zur Geschichte der modernen Logik},
- publisher = {Akademie-Verlag},
- year = {1686},
- editor = {Karel Berka and Lothar Kreisler},
- chapter = {I.1},
- pages = {15--17},
- address = {Berlin, Deutschland},
- note = {Deutsche {\"U}bersetzung aus G.~W.~Leibniz, Fragmente zur Logik,
- Akademie-Verlag, Berlin, 1960}}
-
-@INCOLLECTION{Leivant94,
- author = {Daniel Leivant},
- title = {Higher {Order} {Logic}},
- booktitle = {Handbook of Logic in Artificial Intelligence and Logic Programming},
- publisher = {Oxford University Press},
- year = {1994},
- editor = {Dov M. Gabbay, C. J. Hogger and J. A. Robinson},
- volume = {2},
- pages = {229--321}}
-
-@ARTICLE{Lenat83,
- author = {Douglas B.\ Lenat},
- title = {EURISKO: A Program That Learns New Heuristics and Domain Concepts},
- journal = {Artificial Intelligence},
- year = {1983},
- volume = {21},
- pages = {61--98}}
-
-@ARTICLE{Lenat:tnoh82,
- author = {Douglas B.\ Lenat},
- title = {The Nature of Heuristics},
- journal = {AI Journal},
- year = {1982},
- volume = {19},
- pages = {189--249}}
-
-@PHDTHESIS{Lenat:aaiatd76,
- author = {Douglas B.\ Lenat},
- title = {{AM}: An Artificial Intelligence Approach to Discovery in Mathematics
- as Heuristic Search},
- school = {AI Lab, Stanford University},
- year = {1976},
- note = {AIM-286, STAN-CS-76-570, and Heuristic Programming Project Report
- HPP-76-8}}
-
-@TECHREPORT{LerPin:cevb95,
- author = {Lerner, Jan-Yves and Pinkal, Manfred},
- title = {Comparative Ellipsis and Variable Binding},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1995},
- number = {64},
- address = {Saarbr{\"u}cken}}
-
-@TECHREPORT{LerPin:cnq92,
- author = {Lerner, Jean-Yves and Pinkal, Manfred},
- title = {Comparatives and Nested Quantification},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1992},
- number = {21},
- address = {Saarbr{\"u}cken}}
-
-@ARTICLE{Leron:hptros85,
- author = {Uri Leron},
- title = {Heuristic Presentations: the Role of Structuring},
- journal = {For the Learning of Mathematics},
- year = {1985},
- volume = {5},
- pages = {7--13},
- number = {3},
- month = nov}
-
-@ARTICLE{Leron:smp83,
- author = {Uri Leron},
- title = {Structuring Mathematical Proofs},
- journal = {The American Mathematical Monthly},
- year = {1983},
- volume = {90},
- pages = {174--185}}
-
-@ARTICLE{LetMayGol:cicrctc94,
- author = {R. Letz and K. Mayr and C. Goller},
- title = {{Controlled Integrations of the Cut Rule into Connection Tableau
- Calculi}},
- journal = {Journal of Automated Reasoning},
- year = {1994},
- volume = {13}}
-
-@BOOK{leuf06:semanticweb,
- title = {{The} {Semantic} {Web}: Crafting Infrastructures for Agency},
- publisher = {John Wiley \& Sons},
- year = {2006},
- author = {Bo Leuf},
- isbn = {0-470-01522-5}}
-
-@BOOK{leuf01:wikiway,
- title = {{The} {Wiki} {Way}: Collaboration and Sharing on the Internet},
- publisher = {Addison-Wesley Professional},
- year = {2001},
- author = {Bo Leuf and Ward Cunningham},
- isbn = {0-201-71499-X}}
-
-@TECHREPORT{Leusen:troiitroc97,
- author = {Noor van Leusen},
- title = {The Role of Inference in the Resolution of Corrections},
- institution = {Universit{\"a}t des {Saarlandes}},
- year = {1997},
- type = {{CLAUS} Report},
- number = {93}}
-
-@TECHREPORT{noor97a,
- author = {Noor van Leusen},
- title = {{The Role of Inference in the Resolution of Corrections}},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1997},
- type = {CLAUS Report},
- number = {93},
- month = dec,
- note = {{\tt http://coli.uni-sb.de/claus/claus97.html}}}
-
-@INCOLLECTION{lewi:tens74,
- author = {Lewis, D.},
- title = {'{Tensions}},
- booktitle = {Semantics and Philosophy},
- publisher = {New York University Press},
- year = {1974},
- editor = {Munitz, M. K. and Unger, P. K.},
- address = {New York}}
-
-@ARTICLE{Lewis:sialg79,
- author = {David Lewis},
- title = {Scorekeeping in a language game},
- journal = {Journal of Philosophical Logic},
- year = {1979},
- volume = {8},
- pages = {339--359}}
-
-@INPROCEEDINGS{ags-2002-e-2,
- author = {Paul Libbrecht},
- title = {Mathematical Systems Accessed on the Web: an Overview},
- booktitle = {Electronic Proceedings of the ISSAC-2002 Workshop on Internet Accessible
- Mathematical Computation (IAMC'02)},
- year = {2002},
- editor = {Paul Wang and Norbert Kajler},
- url = {http://www.symbolicnet.org/conferences/iamc2002/}}
-
-@INPROCEEDINGS{ags-2001-e-6,
- author = {Paul Libbrecht and A. Frischauf and Erica Melis and M. Pollet and
- C. Ullrich},
- title = {Interactive Exercises in the ActiveMath Learning Environment},
- booktitle = {ISSAC-2001 Workshop on Internet Accessible Mathematical Computation},
- year = {2001},
- editor = {Paul Wang and Norbert Kajler and Angel Diaz},
- url = {http://icm.mcs.kent.edu/research/iamc01proceedings.html}}
-
-@INPROCEEDINGS{ags-2001-e-2,
- author = {Paul Libbrecht and Erica Melis and C. Ullrich},
- title = {{Generating Personalized Documents Using a Presentation Planner}},
- booktitle = {ED-MEDIA 2001-World Conference on Educational Multimedia, Hypermedia
- and Telecommunications},
- year = {2001},
- pages = {1124--1125},
- keywords = {!ACTIVEMATH!}}
-
-@INPROCEEDINGS{ags-2001-e-3,
- author = {Paul Libbrecht and Erica Melis and C. Ullrich},
- title = {The ActiveMath Learning Environment. System Description},
- crossref = {CALCULEMUS01},
- pages = {173--177}}
-
-@ARTICLE{ags-2001-e-5,
- author = {Paul Libbrecht and Erica Melis and C. Ullrich},
- title = {ActiveMath , a Web-Based Learning Environment},
- journal = {IEEE Learning Technology Newsletter},
- year = {2001},
- month = jul,
- url = {http://lttf.ieee.org/learn_tech/issues.html},
- annote = {ISSN 1438-0625}}
-
-@MASTERSTHESIS{Lindholm:3masot01,
- author = {Tancred Lindholm},
- title = {A 3-way Merging Algorithm for Synchronizing Ordered Trees -- the
- {3DM} merging and differencing Tool for {XML}},
- school = {Helsinki University of Technology},
- year = {2001},
- url = {http://www.cs.hut.fi/~ctl/3dm/}}
-
-
-@PHDTHESIS{Lingenfelder:tasocg90,
- author = {Christoph Lingenfelder},
- title = {Transformation and Structuring of Computer Generated Proofs},
- school = {Universit{\"a}t Kaisers\-lautern},
- year = {1990},
- address = {Kaisers\-lautern\GERMANY}}
-
-@INCOLLECTION{link91,
- author = {Link, G.},
- title = {Plural},
- booktitle = {Handbuch der {Semantik}},
- publisher = {de Gruyter},
- year = {1991},
- editor = {A. v.Stechow and D. Wunderlich},
- pages = {418--440},
- address = {Berlin}}
-
-@UNPUBLISHED{LinSol:oiag99,
- author = {Steve Linton and Andrew Solomon},
- title = {{\openmath}, IAMC and GAP},
- note = {Paper presented at the 1999 {OpenMath} Workshop at Eindhoven},
- year = {1999}}
-
-@MISC{LiQi94,
- author = {Jun Liu and Zhenyu Qian},
- title = {Higher-Order Normalizing Basic Narrowing},
- year = {1994},
- note = {draft}}
-
-@TECHREPORT{LiSi75,
- author = {M. Livesey and J{\"o}rg H. Siekmann},
- title = {Decidability and Termination Results for Stringunification},
- institution = {Essex University},
- year = {1975},
- type = {Internal Report Memo},
- number = {CSM-12}}
-
-@BOOK{EhLoWo:soadt96,
- publisher = {Teubner},
- year = {1996},
- author = {Loeckx, J. and Ehrig, H.-D. and Wolf, M},
- address = {Chichester;New York;Brisbane},
- note = {ISBN 3-519-02115-3}}
-
-@BOOK{LoeEhrWol:sadt96,
- publisher = {Teubner},
- year = {1996},
- author = {Loeckx, J. and Ehrig, H.-D. and Wolf, M},
- address = {Chichester, New York, Brisbane},
- note = {ISBN 3-519-02115-3}}
-
-@MISC{lomas05:social-bookmarking,
- author = {Cyprien Lomas},
- title = {7 things you should know about social bookmarking},
- howpublished = {\url{http://www.educause.edu/ir/library/pdf/ELI7001.pdf}},
- year = {2005},
- note = {Seen March 2006},
- organization = {EDUCAUSE Learning Initiative},
- url = {http://www.educause.edu/ir/library/pdf/ELI7001.pdf}}
-
-@INPROCEEDINGS{lncs176:397,
- author = {Longo, G. and Moggi, E.},
- title = {{G{\"o}del} numberings, principal morphisms, combinatory algebras},
- booktitle = {Proceedings of the 11\textsuperscript{th} Symposium on Mathematical Foundations of
- Computer Science},
- year = {1984},
- editor = {M. P. Chytil and V. Koubek},
- number = {176},
- series = {LNCS},
- pages = {397--406},
- address = {Praha, Czechoslovakia},
- month = sep,
- publisher = {Springer},
- bibtype = {INPROCEEDINGS},
- location = {MPI-ZB},
- shelf = {LNCS},
- signature = {Proceedings: LNCS 176},
- status = {available}}
-
-@TECHREPORT{LongoMoggi:cndaim88,
- author = {G. Longo and E. Moggi},
- title = {Constructive Natural Deduction and its Modest Interpretation},
- institution = {Carnegie Mellon University},
- year = {1988},
- type = {Technical Report},
- number = {CMU-CS-88-131},
- address = {Pittsburgh, PA}}
-
-@ARTICLE{Lorenz94:Tableau,
- author = {Sven Lorenz},
- title = {A Tableau Prover for Domain Minimization},
- journal = {Journal of Automated Reasoning},
- year = {1994},
- volume = {13},
- pages = {375--390}}
-
-@ARTICLE{Lorenz:tpdm94,
- author = {Sven Lorenz},
- title = {A Tableau Prover for Domain Minimization},
- journal = {Journal of Automated Reasoning},
- year = {1994},
- volume = {13},
- pages = {375--390}}
-
-@PHDTHESIS{Loria-Saenz93,
- author = {Carlos Loria-Saenz},
- title = {A Theoretical Framework for Reasoning about Program Construction
- based on Extensions of Rewrite Systems},
- school = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1993},
- address = {Kaiserslautern, Germany},
- date = dec}
-
-@BOOK{Loveland:atpalb78,
- title = {Automated Theorem Proving: A Logical Basis},
- publisher = {North Holland},
- year = {1978},
- author = {D. Loveland},
- address = {New York}}
-
-@TECHREPORT{Lucchesi:tuotup72,
- author = {Claudio. L. Lucchesi},
- title = {The Undecidability of the Unification Problem for Third Order Languages},
- institution = {University of Waterloo},
- year = {1972},
- type = {Report},
- number = {CSRR 2059},
- address = {Waterloo, Canada},
- keywords = {hou, fp}}
-
-@ARTICLE{LuMa82,
- author = {C. L. Lucena and T. S. E. Maibaum},
- title = {Higher Order Data Types},
- journal = {Int. Journal of Computer Science},
- year = {1982},
- volume = {9},
- pages = {31--53}}
-
-@UNPUBLISHED{Lugiez94,
- author = {D. Lugiez},
- title = {Higher-Order Disunification: Some Decidable Cases},
- note = {submitted to LICS94}}
-
-@BOOK{Lueneburg:vua81,
- title = {{Vorlesungen} {\"u}ber {Analysis}},
- publisher = {BI Wissenschaftsverlag},
- year = {1981},
- author = {L{\"u}neburg, Heinz}}
-
-@MISC{jordiweb,
- author = {L{\'e}vy, Jordi},
- title = {An implementation of Second-Order linear Unification in {Prolog}},
- year = {1996},
- note = {Universit{\"a}t Barcelona: url = {http://www.iiia.csic.es/~levy/lso.pro}}}
-
-@INPROCEEDINGS{MarHinFle:tatat83,
- author = {M. P.Marcus and D. Hindle and M. M.Fleck},
- title = {Talking about Talkning about Trees},
- booktitle = {Proceedings of the 21\textsuperscript{st} Annual Meeting of the {Association} for
- {Computational}
- {Linguistics}},
- year = {1983},
- address = {Cambridge, MA}}
-
-@UNPUBLISHED{Mueck90,
- author = {Andy M{\"u}ck},
- title = {Compilation of Unification},
- year = {1990},
- keywords = {Unification},
- location = {miko, Unif-bib}}
-
-@INPROCEEDINGS{ms05:emk,
- author = {Achim Mahnke and Jan Scheffczyk},
- title = {{Engineering} {Mathematical} {Knowledge}},
- crossref = {MKM05}}
-
-@ARTICLE{Makanin77,
- author = {G. S. Makanin},
- title = {The Problem of Solvabiliy of Equations in a free Semigroup},
- journal = {Math. USSR Sbornik},
- year = {1977},
- volume = {32},
- pages = {129--198},
- number = {2}}
-
-@INPROCEEDINGS{Manger:agafmx01,
- author = {Gerald W. Manger},
- title = {A generic Algorithm for Merging {SGML/XML}-Instances},
- booktitle = {{XML} Europe 2001 -- Conference Proceedings},
- year = {2001},
- url = {ttp://www.gca.org/papers/xmleurope2001/papers/html/s29-1.html}}
-
-@ARTICLE{ManTho:rpid86,
- author = {W. Mann and Sandra Thompson},
- title = {Relational Propositions in Discourse},
- journal = {Discourse Processes},
- year = {1986},
- volume = {9},
- pages = {57--90}}
-
-@TECHREPORT{ManTho:rst83,
- author = {William Mann and Sandra Thompson},
- title = {Rhethorical Structure Theory: A Theory of Text Organization},
- institution = {University of Southern California, Information Science Institute},
- year = {1983},
- type = {Technical Report},
- number = {ISI/RR-83-115},
- address = {Marina del Rey, CA\USA}}
-
-@TECHREPORT{MannThompson:rstato87,
- author = {William C. Mann and Sandra A. Thompson},
- title = {Rhetorical Structure Theory: A Theory of Text Organization},
- institution = {Univerisity of Southern California, Information Science Institute},
- year = {1987},
- type = {ISI Reprint Series},
- number = {ISI/RS-87-190},
- address = {Marina del Rey, CA\USA}}
-
-@UNPUBLISHED{ManSag:dbasagr95,
- author = {Christopher Manning and Ivan Sag},
- title = {Dissociations between argument structure and grammatical relations},
- note = {Working Draft},
- month = jul,
- year = {1995}}
-
-@TECHREPORT{manola04:rdfprimer,
- author = {Frank Manola and Eric Miller},
- title = {{RDF} {Primer}},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2004,
- type = {{W3C} {Recommendation}},
- month = feb,
- url = {http://www.w3.org/TR/2004/REC-rdf-primer-20040210/}}
-
-@TECHREPORT{RDF1.1primer,
- author = {Guus Schreiber and Yves Raimond},
- title = {{RDF} 1.1 Primer},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2014,
- type = {{W3C} Working Group Note},
- url = {http://www.w3.org/TR/rdf-primer}}
-
-@TECHREPORT{RDFa1.1primer,
- author = {Ivan Herman and Ben Adida and Manu Sporny and Mark Birbeck},
- title = {{RDF} 1.1 Primer (Second Edition)},
- subtitle = {Rich Structured Data Markup for Web Documents},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2013,
- type = {{W3C} Working Group Note},
- url = {http://www.w3.org/TR/rdfa-primer}}
-
-@BOOK{Manovich:NewMedia,
- title = {{The Language of New Media}},
- publisher = {The MIT Press},
- year = {2001},
- author = {Lev Manovich}}
-
-@BOOK{MarStu:pwcai99,
- title = {Programming With Constraints: An Introduction},
- publisher = {MIT Press},
- year = {1999},
- author = {Kim Marriott and Peter J. Stuckey}}
-
-@TECHREPORT{Marsh:xmlb01,
- author = {Jonathan Marsh},
- title = {XML Base},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2001},
- type = {{{W3C} Recommendation}},
- url = {http://www.w3.org/TR/xmlbase/},
- editor = {Jonathan Marsh},
- key = {Marsh}}
-
-@online{Marc:relators03:on,
- urldate = {2009-10-22},
- crossref = {Marc:relators03}}
-
-@misc{Marc:relators03,
- title = {{MARC} code list for Relators, Sources, Description Conventions},
- institution = {Library of Congress Network Development and MARC Standards Office},
- year = 2003,
- key = {MARC},
- label = {MR},
- url = {http://www.loc.gov/marc/relators}}
-
-@online{LCSH,
- title = {Library of Congress Subject Headings},
- urldate = {2011-12-17},
- url = {http://id.loc.gov/authorities/subjects.html},
-}
-
-@TechReport{XML:id05,crossref={W3C05:xmlid}}
-
-@TECHREPORT{W3C05:xmlid,
- author = {Jonathan Marsh and Daniel Veillard and Norman Walsh},
- title = {{\tt{xml:id}} Version 1.0},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2005},
- date = {2005-09-09},
- type = {{W3C} Recommendation},
- month = sep,
- url = {http://www.w3.org/TR/2005/REC-xml-id-20050909/}}
-
-@TECHREPORT{MaMe90,
- author = {N. Marti-Oliet and J. Meseguer},
- title = {Inclusions and Subtypes},
- institution = {Stanford Research Institute},
- year = {1990},
- type = {Technical Report},
- number = {SRI-CSL-90-16}}
-
-@BOOK{mbk00:xmlp,
- title = {XML professionell.},
- publisher = {MITP Verlag GmbH},
- year = {2000},
- author = {D. Martin and M. Birbeck and M. Kay}}
-
-@ARTICLE{MartinLoef:otmotl96,
- author = {Per Martin-L{\"o}f},
- title = {On the Meanings of the Logical Constants and the Justifications of
- the Logical Laws},
- journal = {Nordic Journal of Philosophical Logic},
- year = {1996},
- volume = {1},
- pages = {11--60},
- number = {1},
- keywords = {misc},
- url = {http://www.hf.uio.no/filosofi/njpl/vol1no1/meaning/meaning.html}}
-
-@BOOK{Martin-Loef84,
- title = {Intuitionistic Type Theory},
- publisher = {Bibliopolis},
- year = {1994},
- author = {Per Martin-L{\"o}f}}
-
-@InCollection{martinloef73,
- author = {Per Martin-L{\"o}f},
- booktitle = "Proceedings of the '73 Logic Colloquium",
- title = "An Intuitionistic Theory of Types: Predicative Part",
- editor = {Rose, H. E. and Shepherdson, J. C.},
- publisher = "North-Holland",
- year = "1975",
- pages = {73--118}}
-
-@TECHREPORT{MartinLoef:otmotl85,
- author = {Per Martin-L{\"o}f},
- title = {On the meanings of the logical constant and the justifications of
- the logical laws},
- institution = {Scuola di Specializazione in Logica Matematica, Diparitmento di
- Matematica,
- Univerist{\`a} di Siena},
- year = {1985},
- number = {2},
- address = {Firenze, \ITALY}}
-
-@UNPUBLISHED{MartinLoef:toapeoa85,
- author = {Per Martin-L{\"o}f},
- title = {Truth of a proposition, evidence of a judgement, validity of a proof},
- note = {Notes to a talk given at the workshop {\em {Theory} of {Meaning}},
- {Centro} {Fiorentino} di {Storia} e {Filosofia} della {Scienza},
- Firenze, \ITALY},
- year = {1985}}
-
-@INCOLLECTION{mate:syno52,
- author = {Mates, B.},
- title = {Synonymity},
- booktitle = {Semantics and the Philosophy of Language},
- publisher = {The University of Illinois Press},
- year = {1952},
- editor = {Linsky},
- pages = {111--136},
- address = {Urbana}}
-
-@BOOK{CODL:97,
- title = {{The} {Concise} {Oxford} {Dictionary} of {Linguistics}.},
- publisher = {Oxford University Press},
- year = {1997},
- author = {P. H. Matthews}}
-
-@BOOK{Matthiesen:oon90,
- title = {Overview of {Nigel}},
- publisher = {ISI Penman note},
- year = {1990},
- author = {Christian M. I. M. Matthiesen}}
-
-@BOOK{MatthiesenBateman:tgasfl91,
- title = {Text Generation and Systemic-Functional Linguistics},
- publisher = {Pinter Publishers},
- year = {1990},
- author = {Christian M. I. M. Matthiesen and John A. Bateman},
- address = {London, \UK}}
-
-@BOOK{May:lf85,
- title = {Logical Form. Its structure and derivation},
- publisher = {MIT Press},
- year = {1985},
- author = {Robert May},
- address = {Cambridge/Mass.}}
-
-@ARTICLE{McCalla:EcologicalWeb,
- author = {Gord McCalla},
- title = {{The Ecological Approach to the Design of E-Learning Environments:
- Purpose-based Capture and Use of Information About Learners}},
- journal = {Journal of Interactive Media in Education},
- year = {2004},
- volume = {7},
- note = {Special Issue on the Educational Semantic Web (eds T. Anderson, D.
- Whitelock)}}
-
-@INPROCEEDINGS{McCarthy:62,
- author = {John McCarthy},
- title = {Computer Programs for Checking Mathematical Proofs},
- booktitle = {Recursive Function Theory, Proceedings of Symposia in Pure Mathematics},
- year = {1962},
- volume = {5},
- organization = {American Mathematical Society}}
-
-@TECHREPORT{McCune:otter03,
- author = {William McCune},
- title = {Otter 3.3 Reference Manual},
- institution = {{Mathematics and Computer Science Division, Argonne National Laboratory}},
- year = {2003},
- type = {Technical Report},
- number = {ANL/MCS-TM-263},
- address = {Argonne, IL\USA}}
-
-@ARTICLE{McCune:sotrp97,
- author = {William McCune},
- title = {Solution of the {Robbins} Problem},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {19},
- pages = {263--276},
- number = {3}}
-
-@TECHREPORT{mcc:adppaiatfomsqep94,
- author = {William McCune},
- title = {{A Davis-Putnam program and ist applications to finite first-order
- model search; Quasigroup existence problems}},
- institution = {Argonne National Laboratory},
- year = {1994},
- type = {Technical Report},
- number = {ANL/MCS-TM-194}}
-
-@ARTICLE{McCune:ewdtia92,
- author = {William McCune},
- title = {Experiments with discrimination-tree indexing and path-indexing for
- term rertrieval},
- journal = {Journal of Automated Reasoning},
- year = {1992},
- volume = {9},
- pages = {147--167},
- number = {2}}
-
-@ARTICLE{McCune:aimffm88,
- author = {William McCune},
- title = {An Indexing Method for finding more general formulas},
- journal = {Association for Automated Reasoning Newsletter},
- year = {1988},
- volume = {1},
- pages = {7--8},
- number = {9},
- month = jan}
-
-@ARTICLE{McCWos:occi97,
- author = {William McCune and Larry Wos},
- title = {Otter {CADE-13} Competition Incarnations},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {211--220},
- number = {2},
- note = {Speacial Issue on the CADE-13 Automated Theorem Proving System Competition}}
-
-@TECHREPORT{McCune:ormag94,
- author = {W. W. McCune},
- title = {Otter 3.0 Reference Manual and Guide},
- institution = {Argonne National Laboratory},
- year = {1994},
- type = {Technical Report},
- number = {ANL-94-6},
- address = {Argonne, Illinois 60439, USA}}
-
-@TECHREPORT{McCune:oug90,
- author = {W. W. McCune},
- title = {Otter 2.0 Users Guide},
- institution = {Argonne National Laboratory},
- year = {1990},
- type = {Technical Report},
- number = {ANL-90-9},
- address = {Argonne, Illinois 60439, USA},
- keywords = {ATP}}
-
-@INPROCEEDINGS{mcdonald92,
- author = {D. McDonald},
- title = {Type-driven suppression of redundancy in the generation of inference
- rich reports},
- booktitle = {6\textsuperscript{th} International Workshop on Natural Language Generation},
- year = {1992}}
-
-@BOOK{McKeown:tg85,
- title = {Text Generation},
- publisher = {Cambridge University Press},
- year = {1985},
- author = {Kathleen R. McKeown},
- address = {Cambridge, \UK}}
-
-@BOOK{McLuhan:GutenbergGalaxy,
- title = {{The Gutenberg Galaxy:The Making of Typographic Man}},
- publisher = {University of Toronto Press},
- year = {1962},
- author = {Marshall McLuhan}}
-
-@BOOK{Meder:Sprachspieler,
- title = {{Der Sprachspieler: Der postmoderne Mensch oder das Bildungsideal
- im Zeitalter der neuen Technologien}},
- publisher = {Janus Presse K{\"o}ln},
- year = {1987},
- author = {Norbert Meder},
- volume = {4},
- series = {Janus Wissenschaft}}
-
-@INPROCEEDINGS{Tramp00,
- author = {Andreas Meier},
- title = {{TRAMP}: {Transformation} of {Machine}-{Found} {Proofs} into {Natural}
- {Deduction} {Proofs} at the {Assertion} {Level}},
- crossref = {CADE00},
- pages = {460--464}}
-
-@PHDTHESIS{meierdiss04,
- author = {Andreas Meier},
- title = {Proof Planning with Multiple Strategies},
- school = {Computer Science Department, Saarland University, Saarbr{\"u}cken,
- Germany},
- year = {2004}}
-
-@TECHREPORT{Meier-SR-00-03,
- author = {Andreas Meier},
- title = {Randomization and Heavy-Tailed Behavior in Proof Planning},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {2000},
- type = {Seki Report},
- number = {SR-00-03},
- address = {Saarbr{\"u}cken, Germany},
- keywords = {OMEGA,STRATEGIES,PLANNING,AI},
- pages = {52},
- url = {http://www.ags.uni-sb.de/~ameier/publications/2000/SR-00-03.ps.gz}}
-
-@TECHREPORT{Meier:tagpal99,
- author = {Andreas Meier},
- title = {Translation of Automatically Generated Proofs at Assertion Level},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1999},
- number = {\fc}}
-
-@MASTERSTHESIS{Meier:uaebf97,
- author = {Andreas Meier},
- title = {{\"U}bersetzung automatisch erzeugter {Beweise} auf {Faktenebene}},
- school = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1997},
- address = {Saarbr{\"u}cken, Germany}}
-
-@INPROCEEDINGS{ags-2001-d-3,crossref={MeierGomesMelisECP01}}
-@INPROCEEDINGS{MeierGomesMelisECP01,
- author = {A. Meier and C. Gomes and E. Melis},
- title = {Randomization and Restarts in Proof Planning},
- booktitle = {European Conference on Planning},
- year = {2001},
- editor = {A. Cesta and D. Borrajo},
- series = {LNAI},
- pages = {403--408},
- publisher = {Springer-Verlag},
- annote = {bei erica}}
-
-@TECHREPORT{ags-2002-d-11,
- author = {Andreas Meier and Erica Melis and Martin Pollet},
- title = {Towards Extending Domain Representations},
- institution = {Department of Computer Science, Saarland University},
- year = {2002},
- type = {Seki Reports},
- number = {SR--02--01},
- address = {{Saarbr{\"u}cken}, Germany},
- pages = {10}}
-
-@INPROCEEDINGS{ags-2001-d-4,
- author = {Andreas Meier and Martin Pollet and Volker Sorge},
- title = {{Exploring} the {Domain} of {Residue} {Classes}},
- booktitle = {Workshop on Computer Algebra and Automated Theorem Proving: Interactions,
- held on the Eight International Conference on Computer Aided Systems
- Theory (EUROCAST 2001)},
- year = {2001},
- editor = {B. Buchberger}}
-
-@INPROCEEDINGS{MePoSo01b,
- author = {Andreas Meier and Martin Pollet and Volker Sorge},
- title = {{Classifying Isomorphic Residue Classes}},
- booktitle = {A Selection of Papers from the 8\textsuperscript{th} International Workshop on Computer
- Aided Systems Theory (EuroCAST 2001)},
- year = {2001},
- editor = {R. Moreno-Diaz and B. Buchberger and J.-L. Freire},
- number = {2178},
- series = {LNCS},
- pages = {494 -- 508},
- address = {Las Palmas, Spain},
- month = feb,
- publisher = {Springer Verlag, Berlin Germany},
- note = {In print.}}
-
-@ARTICLE{ags-2002-d-17,
- author = {Andreas Meier and Martin Pollet and Volker Sorge},
- title = {Comparing Approaches to the Exploration of the Domain of Residue
- Classes},
- journal = {Journal of Symbolic Computation, Special Issue on the Integration
- of Automated Reasoning and Computer Algebra Systems},
- year = {2002},
- volume = {34},
- pages = {287--306},
- number = {4},
- month = oct,
- note = {Steve Linton and Roberto Sebastiani, eds.},
- publisher = {Elsevier}}
-
-@TECHREPORT{ags-2001-d-5,
- author = {Andreas Meier and Martin Pollet and Volker Sorge},
- title = {{Classifying Residue Classes --- Results of a Case Study}},
- institution = {Department of Computer Science, Saarland University},
- year = {2001},
- type = {Seki Report},
- number = {SR--01--01},
- address = {Saarbr{\"u}cken, Germany},
- note = {Electronic Version at
- \url{http://www.ags.uni-sb.de/~sorge/publications/2001/SR-01-01.ps.gz}},
- url = {http://www.ags.uni-sb.de/~sorge/publications/2001/SR-01-01.ps.gz}}
-
-@TECHREPORT{MeiPoSo-SR-00-04,
- author = {Andreas Meier and Martin Pollet and Volker Sorge},
- title = {Exploring the Domain of Residue Classes},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {2000},
- type = {Seki Report},
- number = {SR-00-04},
- address = {Saarbr{\"u}cken, Germany},
- keywords = {OMEGA,CAS,CALCULEMUS,STRATEGIES,PLANNING},
- pages = {30},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/SR-00-04.ps.gz}}
-
-@INPROCEEDINGS{MeSo00b,
- author = {Andreas Meier and Volker Sorge},
- title = {{Exploring the Domain of Residue Classes}},
- booktitle = {Workshop on The Role of Automated Deduction in Mathematics at CADE-17},
- year = {2000},
- editor = {S. Colton and U. Martin and V. Sorge},
- pages = {50--54},
- address = {Pittsburgh, PA, USA},
- month = jun,
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/~sorge/publications/2000/cade00-ws.ps.gz}}
-
-@INPROCEEDINGS{MeSo00a,
- author = {Andreas Meier and Volker Sorge},
- title = {{Exploring Properties of Residue Classes}},
- crossref = {CALCULEMUS00}}
-
-@INPROCEEDINGS{ags-2002-d-18,
- author = {Andreas Meier and Volker Sorge and Simon Colton},
- title = {Employing Theory Formation to Guide Proof Planning},
- crossref = {CALCULEMUS02}}
-
-@UNPUBLISHED{Meinke91,
- author = {K. Meinke},
- title = {Universal Algebra in Higher Types},
- year = {1991},
- annote = {To appear in Theoretical Computer Science}}
-
-@INPROCEEDINGS{MelisGWCBR98,
- author = {E. Melis},
- title = {Similarity and Reuse of Proofs in Software Verification},
- booktitle = {Proceedings of the German Workshop on Case-Based Reasoning},
- year = {1998},
- editor = {L. Gierl},
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/MelisGWCBR98.ps.gz}}
-
-@INCOLLECTION{MelisJs60,
- author = {E. Melis},
- title = {Why Proof Planning for Maths Education and How?},
- booktitle = {{Festschrift in Honor of J{\"o}rg Siekmann}},
- publisher = {Springer-Verlag},
- year = {2003},
- editor = {D. Hutter and W. Stephan},
- series = {LNAI}}
-
-@INPROCEEDINGS{MelisAIPS98,
- author = {E. Melis},
- title = {The ``Limit'' Domain},
- booktitle = {Proceedings of the Fourth International Conference on Artificial
- Intelligence in Planning Systems (AIPS-98)},
- year = {1998},
- editor = {R. Simmons and M. Veloso and S. Smith},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/MelisAIPS98.ps.gz}}
-
-@INPROCEEDINGS{ags-2002-e-5,
- author = {Erica Melis},
- title = {Call for a Common Web-Repository of Interactive Exercises},
- booktitle = {Internet-Accessible Mathematical Computation},
- year = {2002},
- url = {url: http://icm.mcs.kent.edu/research/iamc01proceedings.html
- http://www.symbolicnet.org/conferences/iamc2002/}}
-
-@INPROCEEDINGS{ags-2002-e-8,
- author = {Erica Melis},
- title = {Knowledge Representation for Web-Based User-Adaptive Education Systems},
- booktitle = {BMBF-workshop: Standardisierung im eLearning},
- year = {2002},
- pages = {78--81},
- month = apr}
-
-@INPROCEEDINGS{MelisBmbfWs02,
- author = {E. Melis},
- title = {Knowledge Representation for Web-Based User-Adaptive Education Systems},
- booktitle = {BMBF-workshop: Standardisierung im eLearning},
- year = {2002},
- pages = {78--81},
- month = apr}
-
-@TECHREPORT{Hags-2001-e-9,
- author = {Erica Melis},
- title = {User Model Description},
- institution = {{DFKI}},
- year = {2001},
- type = {{DFKI Report}}}
-
-@INPROCEEDINGS{MelisIAMC02,
- author = {E. Melis},
- title = {Call for a Common Web-Repository of Interactive Exercises},
- booktitle = {Internet-Accessible Mathematical Computation},
- year = {2001},
- note = {url: http://icm.mcs.kent.edu/research/iamc01proceedings.html
- http://www.symbolicnet.org/conferences/iamc2002/}}
-
-@TECHREPORT{MelisUMseki01,
- author = {E. Melis},
- title = {User Model Description},
- institution = {DFKI},
- year = {2001},
- type = {DFKI Report},
- note = {wird erscheinen}}
-
-@INPROCEEDINGS{MelisCadews00,
- author = {E. Melis},
- title = {The `Interactive Textbook' Project},
- booktitle = {Proceedings of {CADE-17} workshop on deduction in Education},
- year = {2000},
- pages = {26--34},
- keywords = {ACTIVEMATH,ARTICLE},
- url = {http://www.ags.uni-sb.de/~melis/Pub/MelisCadews00.ps.gz}}
-
-@INPROCEEDINGS{MelisGI00,
- author = {E. Melis},
- title = {ActiveMath: Web-Based Environment for the Dynamic Generation of Mathematics
- Documents Employing External Systems},
- booktitle = {10. Arbeitstreffen der GI-Fachgruppe 1.1.5 ``Intelligente
- Lehr-/Lernsysteme''},
- year = {2000},
- pages = {110--117},
- publisher = {debis},
- keywords = {ACTIVEMATH,ARTICLE}}
-
-@ARTICLE{Melis:thbcp98,
- author = {Erica Melis},
- title = {The {Heine-Borel} Challenge Problem. In Honor of {Woody Bledsoe}},
- journal = {Journal of Automated Reasoning},
- year = {1998},
- volume = {20},
- pages = {255--282}}
-
-@INPROCEEDINGS{MelisAIMA98,
- author = {E. Melis},
- title = {Planning and Presenting Proofs},
- booktitle = {Fifth International Symposium on Artificial Intelligence and Mathematics},
- year = {1998},
- address = {Ford Lauderdale, FL},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/MelisAIMA98.ps.gz}}
-
-@INPROCEEDINGS{MelisCADEwsStrat98,
- author = {E. Melis},
- title = {Proof Planning with Multiple Strategies},
- booktitle = {CADE-15 workshop: Strategies in Automated Deduction},
- year = {1998},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/MelisCADEwsStrat98.ps.gz}}
-
-@INPROCEEDINGS{MelisCalculemus98,
- author = {E. Melis},
- title = {Combining Proof Planning with Constraint Solving},
- crossref = {CALCULEMUS98},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/MelisCalculemus98.ps.gz}}
-
-@INPROCEEDINGS{MelisECAI98,
- author = {E. Melis},
- title = {{AI}-Techniques in Proof Planning},
- booktitle = {European Conference on Artificial Intelligence {(ECAI-98)}},
- year = {1998},
- pages = {494--498},
- address = {Brighton},
- publisher = {Kluwer},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/MelisECAI98.ps.gz}}
-
-@ARTICLE{MelisJAR98,
- author = {E. Melis},
- title = {The {Heine-Borel} Challenge Problem: In Honor of {Woody Bledsoe}},
- journal = {Journal of Automated Reasoning},
- year = {1998},
- volume = {20},
- pages = {255--282},
- number = {3},
- keywords = {!OMEGA!,SFB,ARTICLE}}
-
-@TECHREPORT{MelisSR-97-08,
- author = {Erica Melis},
- title = {Proof Planning Limit Theorems},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1997},
- type = {Seki Report},
- number = {SR-97-08}}
-
-@TECHREPORT{Melis:ipar96,
- author = {E. Melis},
- title = {Island Planning and Refinement},
- institution = {Universit{\"at} des Saarlandes, FB Informatik},
- year = {1996},
- type = {Seki Report},
- number = {SR-96-10},
- url = {http://jswww.cs.uni-sb.de/pub/seki/index.html}}
-
-@UNPUBLISHED{Melis:trcjoo95,
- author = {Erica Melis},
- title = {Twards the Representation of Control Knowledge in a Proof Planner},
- note = {Blue Note BN-001},
- year = {1995}}
-
-@INPROCEEDINGS{Melis:hmpt94,
- author = {E. Melis},
- title = {How Mathematicians Prove Theorems},
- booktitle = {Proc. of the Annual Conference of the Cognitive Science Society},
- year = {1994},
- address = {Atlanta, Georgia U.S.A.}}
-
-@TECHREPORT{Melis93,
- author = {Erica Melis},
- title = {Analogy between Proofs -- A Case Study},
- institution = {Fachbereich Informatik, Unversit{\"a}t des Saarlandes },
- year = {1993},
- type = {SEKI-Report},
- number = {SR-93-13}}
-
-@INPROCEEDINGS{ags-2002-e-6,
- author = {Erica Melis and Erik Andres},
- title = {About the Global Suggestion Mechanisms in ActiveMath},
- booktitle = {{ITS-02} Workshop on Creating Diagnostic Assessments},
- year = {2002},
- pages = {13--22},
- annote = {bei erica}}
-
-@INPROCEEDINGS{ags-2001-e-1,
- author = {Erica Melis and Eric Andres and George Goguadze and Paul Libbrecht
- and Martin Pollet and Carsten Ullrich},
- title = {ActiveMath: System Description},
- booktitle = {Artificial Intelligence in Education},
- year = {2001},
- editor = {Johanna D. Moore and Carol Redfield and W. Lewis Johnson},
- pages = {580--582},
- address = {Amsterdam},
- publisher = {IOS Press},
- keywords = {!ACTIVEMATH!}}
-
-@ARTICLE{activemathAIEDJ01,
- author = {E. Melis and J. Buedenbender and E. Andres and Adrian Frischauf and G.
- Goguadze and P. Libbrecht and M. Pollet and C. Ullrich},
- title = {The {\sc{ActiveMath}} Learning Environment},
- journal = {Artificial Intelligence and Education},
- year = {2001},
- volume = {12},
- number = {4}}
-
-@ARTICLE{mediaCompetence,
- author = {Harald Gapski and Gernot Gehrke},
- title = {Media Competence. A New Concept for Framing Information Society.},
- journal = {European Cultural Foundation (ed.) Newsletter},
- year = {1999},
- volume = {Jg. XXII},
- number = {1}}
-
-@ARTICLE{MelBue:krma03,
- author = {Erica Melis and Jochen B{\"u}denbender and George Goguadze and Paul
- Libbrecht and Carsten Ullrich},
- title = {Knowledge Representation and Management in ActiveMath},
- journal = {Annals of Mathematics and Artificial Intelligence},
- year = {2003},
- volume = {38},
- number = {1--3},
- pages = {47--64}}
-
-@INPROCEEDINGS{ags-2001-e-7,
- author = {Erica Melis and Jochen B{\"u}denbender and George Goguadze and Paul
- Libbrecht and C. Ullrich},
- title = {Knowledge Representation and Management in ActiveMath},
- booktitle = {LLWA -- Tagungsband der GI-Workshopwoche ``Lernen -- Lehren -- Wissen
- -- Adaptivit{\"a}t''},
- year = {2001},
- series = {Research Reports},
- pages = {173--179},
- month = oct,
- publisher = {University of Dortmund}}
-
-@INPROCEEDINGS{MelisCarbonell98,
- author = {E. Melis and J. G. Carbonell},
- title = {An Argument for Derivational Analogy},
- booktitle = {Advances in Analogy Research: Integration of Theory and Data from
- Cognitive, Computational, and Neurosciences},
- year = {1998},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/MelisCarbonell98.ps.gz}}
-
-@INPROCEEDINGS{MelisFiedler:otboes00,
- author = {Erica Melis and Armin Fiedler},
- title = {On the Benefit of Expert Services in Mathematics Education Systems},
- booktitle = {Proceedings of the Fifth International Conference on Intelligent
- Tutoring Systems---Workshop W1: Modeling Human Teaching Tactics and
- Strategies},
- year = {2000},
- editor = {Ben du Boulay},
- pages = {84--85},
- address = {Montr{\'e}al, Canada},
- keywords = {!OMEGA!,SFB},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/MeFi-ITS00-WS1.ps.gz}}
-
-@INPROCEEDINGS{its2000ws1,
- author = {E. Melis and A. Fiedler},
- title = {On the Benefit of Expert Services in Mathematics Education Systems},
- booktitle = {Proceedings of {ITS-2000} workshop on Modeling Human Teaching Tactics
- and Strategies},
- year = {2000},
- editor = {B. Du Boulay},
- pages = {84--85},
- address = {Montreal},
- keywords = {ACTIVEMATH,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~melis/Pub/w1its.ps.gz}}
-
-@ARTICLE{activemathKI03,
- author = {E. Melis and G. Goguadze and P. Libbrecht and C. Ullrich},
- title = {{Wissensmodellierung und -nutzung in {\activemath}}},
- journal = {KI},
- year = {2003},
- pages = {12--18},
- number = {1},
- annote = {ISDN}}
-
-@INPROCEEDINGS{MelisEtalCogsci01,
- author = {E. Melis and Ch. Glasmacher and C. Ullrich and P. Gerjets},
- title = {Automated Proof Planning for Instructional Design},
- booktitle = {Annual Conference of the Cognitive Science Society},
- year = {2001},
- pages = {633--638}}
-
-@INPROCEEDINGS{MelisHoracek00,
- author = {E. Melis and H. Horacek},
- title = {Dialog Issues for a Tutor System Incorporating Expert Problem Solvers},
- booktitle = {AAAI Fall Symposium on Building Dialog Systems for Tutorial Applications},
- year = {2000},
- editor = {R. Friedman and C. Rose},
- pages = {37--44},
- publisher = {AAAI},
- keywords = {ACTIVEMATH,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/~melis/Pub/aaai00.ps.gz}}
-
-@TechReport{DCMI:dmt03,
- author = {DCMI Usage Board, The},
- title = {{DCMI} Metadata Terms},
- institution = {Dublin Core Metadata Initiative},
- year = 2003,
- key = {DCMI},
- type = {{DCMI} Recommendation},
- url = {http://dublincore.org/documents/dcmi-terms/}}
-
-@INPROCEEDINGS{Melhor00,
- author = {Erica Melis and Helmut Horacek},
- title = {Dialog Issues for a Tutor System Incorporating Expert Problem Solvers},
- booktitle = {AAAI-2000 Fall Symposium -- Building Dialogue Systems for Tutorial
- Applications},
- year = {2000},
- editor = {Carolyn Ros{\'e} and Reva Freedman},
- address = {Falmouth, Massachussetts}}
-
-@INPROCEEDINGS{MelisAIED99,
- author = {E. Melis and U. Leron},
- title = {A Proof Presentation Suitable for Teaching Proofs},
- booktitle = {9\textsuperscript{th} International Conference on Artificial Intelligence in Education},
- year = {1999},
- editor = {S. P. Lajoie and M. Vivet},
- pages = {483--490},
- address = {Le Mans},
- publisher = {IOS Press}}
-
-@INPROCEEDINGS{MelisLieberNapoli98,
- author = {E. Melis and Jean Lieber and A. Napoli},
- title = {Reformulation in Case-Based Reasoning},
- booktitle = {Advances in Case-Based Reasoning, 4\textsuperscript{th} European Workshop, EWCBR-98},
- year = {1998},
- editor = {B. Smyth and P. Cunningham},
- series = {LNAI},
- number = {1488},
- pages = {172--183},
- publisher = {Springer},
- keywords = {!OMEGA!,SFB,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/MelisLieberNapoli98.ps.gz}}
-
-@INPROCEEDINGS{MelisMeier99,
- author = {E. Melis and A. Meier},
- title = {Proof Planning with Multiple Strategies II},
- booktitle = {FLoC'99 workshop on Strategies in Automated Deduction},
- year = {1999},
- editor = {B. Gramlich, H. Kirchner and F. Pfenning},
- pages = {61--72}}
-
-@INPROCEEDINGS{MelisMeierCL2000,
- author = {E. Melis and A. Meier},
- title = {Proof Planning with Multiple Strategies},
- booktitle = {First International Conference on Computational Logic},
- year = {2000},
- editor = {J. Loyd and V. Dahl and U. Furbach and M. Kerber and K. Lau and C.
- Palamidessi and L. M. Pereira and Y. Sagivand and P. Stuckey},
- number = {1861},
- series = {Lecture Notes on Artificial Intelligence},
- pages = {644--659},
- publisher = {Springer-Verlag},
- keywords = {OMEGA,SFB,ARTICLE,Proof Planning},
- url = {http://www.ags.uni-sb.de/~melis/Pub/MelisMeierCL2000.ps.gz}}
-
-@INPROCEEDINGS{MelisPolletAIPSws00,
- author = {E. Melis and M. Pollet},
- title = {Domain Knowledge for Search Heuristics in Proof Planning},
- booktitle = {AIPS 2000 workshop: Analyzing and Exploiting Domain Knowledge},
- year = {2000},
- pages = {12--15},
- keywords = {OMEGA,SFB,ARTICLE,PROOF PLANNING}}
-
-@INPROCEEDINGS{MelisSchairer98,
- author = {E. Melis and A. Schairer},
- title = {Similarities and Reuse of Proofs in Formal Software Verification},
- booktitle = {Advances in Case-Based Reasoning, 4\textsuperscript{th} European Workshop, EWCBR-98},
- year = {1998},
- editor = {B. Smyth and P. Cunningham },
- series = {LNAI},
- number = 1488,
- pages = {76--87},
- publisher = {Springer},
- keywords = {!OMEGA!,ARTICLE},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/MelisSchairer98.ps.gz}}
-
-@InProceedings{MelSie:aitsm04,
- author = {E. Melis and J. Siekmann},
- title = {ActiveMath: An Intelligent Tutoring System for Mathematics},
- year = {2004},
- series = {LNAI},
- number = {3070},
- pages = {91--101},
- publisher = {Springer-Verlag},
- booktitle = {Seventh International Conference `Artificial Intelligence and Soft
- Computing' (ICAISC)}}
-
-@INCOLLECTION{MelisSiekmann98,
- author = {E. Melis and J. H. Siekmann},
- title = {Concepts in Proof Planning},
- booktitle = {Intellectics and Computational Logic. Papers in Honor of {Wolfgang Bibel}},
- publisher = {Kluwer},
- year = {1999},
- pages = {249--264},
- url = {http://www.ags.uni-sb.de/\textasciitilde
- omega/pub/postscript/MelisSiekmann98.ps.gz}}
-
-@ARTICLE{MelisSiekmannAij99,
- author = {E. Melis and J. H. Siekmann},
- title = {Knowledge-Based Proof Planning},
- journal = {Artificial Intelligence},
- year = {1999},
- volume = {115},
- pages = {65--105},
- number = {1}}
-
-@INCOLLECTION{MelSie:cipp99,
- author = {E. Melis and J. H. Siekmann},
- title = {Concepts in Proof Planning},
- booktitle = {Intellectics and Computational Logic. Papers in Honor of {Wolfgang
- Bibel}},
- publisher = {Kluwer},
- year = {1999},
- pages = {249--264}}
-
-@ARTICLE{MelSie:kbpp99,
- author = {E. Melis and J. H. Siekmann},
- title = {Knowledge-Based Proof Planning},
- journal = {Artificial Intelligence},
- year = {1999},
- volume = {115},
- pages = {65--105},
- number = {1},
- month = nov}
-
-@INPROCEEDINGS{MelisSorge99,
- author = {E. Melis and V. Sorge},
- title = {Employing External Reasoners in Proof Planning},
- crossref = {CALCULEMUS99},
- pages = {123--134}}
-
-@INPROCEEDINGS{MelisUllrichICCBR99,
- author = {E. Melis and C. Ullrich},
- title = {Flexibly Interleaving Processes},
- booktitle = {International Conference on Case-Based Reasoning},
- year = {1999},
- editor = {K.-D. Althoff and R. Bergmann},
- number = {1650},
- series = {LNAI},
- pages = {263--275},
- publisher = {Springer}}
-
-@ARTICLE{MU-01-a,
- author = {Erica Melis and Carsten Ullrich},
- title = {How to Teach it -- Polya-Inspired Scenarios in ActiveMath},
- journal = {AI in Education (AIED-2003), IOS Press},
- year = {2001},
- pages = {141--147},
- url = {http://www.activemath.org}}
-
-@ARTICLE{MelisWhittleJAR98,
- author = {E. Melis and J. Whittle},
- title = {Analogy in Inductive Theorem Proving},
- journal = {Journal of Automated Reasoning},
- year = {1999},
- volume = {22},
- pages = {117--147},
- number = {2},
- keywords = {!OMEGA!,ARTICLE}}
-
-@INPROCEEDINGS{MelisZimmerMuellerECAI,
- author = {E. Melis and J. Zimmer and T. M{\"u}ller},
- title = {Extensions of Constraint Solving for Proof Planning},
- booktitle = {European Conference on Artificial Intelligence},
- year = {2000},
- editor = {W. Horn},
- pages = {229--233},
- keywords = {OMEGA,SFB,ARTICLE,CONSTRAINT SOLVING,PROOF PLANNING},
- url = {http://www.ags.uni-sb.de/~melis/Pub/MelisZimmerMuellerECAI.ps.gz}}
-
-@INPROCEEDINGS{MelisZimmerMueller00,
- author = {E. Melis and J. Zimmer and T. M{\"u}ller},
- title = {Integrating Constraint Solving into Proof Planning},
- booktitle = {Frontiers of Combining Systems, FroCos-2000},
- year = {2000},
- editor = {Ringeissen},
- series = {Lecture Notes on Artificial Intelligence},
- publisher = {Springer}}
-
-@INPROCEEDINGS{Mer:gad96,
- author = {Josep Maria Merenciano},
- title = {Generation as deduction},
- crossref = {LACL96},
- year = {1996}}
-
-@TECHREPORT{MeteerEtAl:mdai87,
- author = {M. Meteer and D. McDonald and S. Anderson and D. Forster and L. Gay
- and A. Huettner and P. Sibun},
- title = {Mumble-86: Design and Implementation},
- institution = {University of Massachusetts},
- year = {1987},
- number = {87-87}}
-
-@BOOK{Meteer:eatpoe92,
- title = {Expressibility and the Problem of Efficient Text Planning},
- publisher = {Pinter Publishes},
- year = {1992},
- author = {Marie W. Meteer},
- address = {London, \UK},
- annote = {DFKI I-2071-18, ISBN 1 85567 022 5}}
-
-@ARTICLE{Meteer91,
- author = {Marie W. Meteer},
- title = {Bridging the generation gap between text planning and linguistic
- realization},
- journal = {Computational Intelligence},
- year = {1991}}
-
-@ARTICLE{Meteer:btggbt91,
- author = {Marie W. Meteer},
- title = {Bridging the Generation Gap between Text Planning and Linguistic
- Realization},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7},
- pages = {296--304}}
-
-@INPROCEEDINGS{MeMi87,
- author = {A. Meyer and J. Mitchell and E. Moggi and R. Statman},
- title = {Empty types in polymorphic lambda calculus},
- booktitle = {14\textsuperscript{th} Symposion on Principles of Programming Languages},
- year = {1987},
- organization = {ACM}}
-
-@ARTICLE{Meyer82a,
- author = {A. R. Meyer},
- title = {What is a model of the lambda calculus?},
- journal = {Information and Control},
- year = {1982},
- volume = {52},
- pages = {87--122}}
-
-@ARTICLE{MeyerKieras:eactoe97,
- author = {D. E. Meyer and D. E. Kieras},
- title = {{EPIC}: A Computational Theory of Executive Cognitive Processes and
- Multiple-Task Performance: Part 1. {Basic} Mechanisms},
- journal = {Psychological Review},
- year = {1997},
- volume = {104},
- pages = {3--65}}
-
-@ARTICLE{MeyerKieras:eactoe97II,
- author = {D. E. Meyer and D. E. Kieras},
- title = {{EPIC}: A Computational Theory of Executive Cognitive Processes and
- Multiple-Task Performance: Part 2. {Accounts} of Psychological Refractory-Period
- Phenomena},
- journal = {Psychological Review},
- year = {1997},
- volume = {104},
- pages = {749--791}}
-
-@BOOK{Middleton:ContentForm,
- title = {{Key Terms in Popular Music and Culture}},
- publisher = {Malden, Massachussetts},
- year = {1999},
- author = {Richard Middleton},
- note = {ISBN 0631212639}}
-
-@ARTICLE{MilYou:tadlmf02,
- author = {Bruce R. Miller and Abdou Youssef},
- title = {Technical Aspects of the Digital Library of Mathematical Functions},
- journal = {Annals of Mathematics and Artificial Intelligence},
- year = {2003},
- volume = {38},
- pages = {121--136},
- number = {1-3},
- url = {citeseer.ist.psu.edu/599441.html}}
-
-@INPROCEEDINGS{Miller89,
- author = {Dale Miller},
- booktitle = {Extensions of Logic Programming: International Workshop, T{\"u}bingen
- FRG, December 1989},
- year = {1989},
- editor = {Peter Schroeder-Heister},
- pages = {253--281},
- number = 475,
- series = {LNCS},
- publisher = {Springer-Verlag}}
-
-@ARTICLE{Miller:uuamp92,
- author = {Dale Miller},
- title = {Unification under a mixed Prefix},
- journal = {Journal of Symbolic Computation},
- year = {1992},
- volume = {14},
- pages = {321--358}}
-
-@ARTICLE{Miller:alplwl91,
- author = {Dale Miller},
- journal = {Journal of Logic and Computation},
- year = {1991},
- volume = {4},
- pages = {497--536},
- number = {1}}
-
-@ARTICLE{Mil87:crp,
- author = {Dale Miller},
- title = {A Compact Representation of Proofs},
- journal = {Studia Logica},
- year = {1987},
- volume = {46},
- pages = {345--368},
- number = {4}}
-
-@UNPUBLISHED{Miller86,
- author = {Dale Miller},
- title = {Finding Substitutions for Predicate Variables},
- note = {unpublished Draft},
- year = {1986}}
-
-@PHDTHESIS{Miller:pihol83,
- author = {Dale Miller},
- title = {Proofs in Higher-Order Logic},
- school = {Carnegie-Mellon University},
- year = {1983}}
-
-@INPROCEEDINGS{MiNa86a,
- author = {Dale A. Miller and Gopalan Nadathur},
- title = {Higher-Order Logic Programming},
- booktitle = {Proceedings of the Third International Conference on Logic Programming},
- year = {1986},
- month = jul,
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{MiNa87,
- author = {Dale Miller and Gopalan Nadathur},
- title = {A Logic Programming Approach to Manipulating Formulas and Programs},
- booktitle = {IEEE Symposium on Logic Programming},
- year = {1987},
- address = {Salt Lake City}}
-
-@INPROCEEDINGS{MiNa86b,
- author = {Dale Miller and Gopalan Nadathur},
- title = {Some Uses of Higher Order Logic in Computational Linguistics},
- booktitle = {24\textsuperscript{th} Annual Meeting of the Association for Computational Linguistics},
- year = {1986}}
-
-@TECHREPORT{MilPin:edvddi92,
- author = {S. Millies and M. Pinkal},
- title = {{Eine} deklarative {Version} der {DRT} in typisierter {Merkmalslogik}},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1992},
- type = {GUK Arbeitspapier},
- number = {22},
- address = {Saarbr{\"u}cken}}
-
-@ARTICLE{Milner77,
- author = {R. Milner},
- journal = {Theoretical Computer Science},
- year = {1977},
- volume = {4},
- note = {beschaffen, seiten}}
-
-@ARTICLE{Milward:ddg94,
- author = {David Milward},
- title = {Dynamic Dependency Grammar},
- journal = {Linguistics \& Philosophy},
- year = {1994},
- volume = {17},
- pages = {561--605}}
-
-@INPROCEEDINGS{MilCoo:ii94,
- author = {David Milward and Robin Cooper},
- title = {Incremental Interpretation: Applications, Theory and Relationship
- to Dynamic Semantics},
- booktitle = {Proceedings of {COLING} `94},
- year = {1994},
-
-
- address = {Kyoto, Japan}}
-
-@UNPUBLISHED{Minor,
- author = {John T. Minor},
- title = {Proving a Subset of Second-Order Logic with First-order Proof Procedures},
- note = {School of Electrical Engineering and Computer Science, University
- of Oklahoma}}
-
-@PHDTHESIS{Minton88,
- author = {Steven Minton},
- title = {Learning Effective Search Control Knowledge: An Explanation-Based
- Approach},
- school = {Computer Science Department, Carnegie Mellon University},
- year = {1988}}
-
-@INCOLLECTION{Mitchell:sp94,
- author = {D. C. Mitchell},
- title = {Sentence Parsing},
- booktitle = {Handbook of Psycholinguistics},
- publisher = {Academic Press},
- year = {1994},
- editor = {M. A. Gernsbacher}}
-
-@ARTICLE{MoeSte:totr88,
- author = {Moens, M. and M. Steedman},
- title = {Temporal ontology and temporal reference},
- journal = {Computational Linguistics},
- year = {1988},
- volume = {14},
- keywords = {lamapunbibs},
- pages = {3--14}}
-
-@TECHREPORT{MoeSte:tinlp86,
- author = {Moens, M. and M. Steedman},
- title = {Temporal information and natural language processing},
- institution = {CCS, University of Edinburgh},
- year = {1986},
- keywords = {lamapunbibs},
- number = {Research Paper RP-2}}
-
-@PHDTHESIS{Moggi88,
- author = {Eugenio Moggi},
- title = {The Partial Lambda-Calculus},
- school = {University of Edinburgh},
- year = {1988},
- keyowrds = {PartialFuncs},
- keywords = {pf},
- location = {miko}}
-
-@INPROCEEDINGS{Moggi86,
- author = {E. Moggi},
- title = {Categories of partial morphisms and the partial lambda-calculus},
- booktitle = {Proceedings Workshop on Category Theory and Computer Programming},
- year = {1986},
- number = {240},
- series = {LNCS},
- publisher = {Springer Verlag},
- keyowrds = {PartialFuncs}}
-
-@INCOLLECTION{Montague:tptoqioe73,crossref={Montague:tptoqi73}}
-
-@INCOLLECTION{Montague:tptoqi73,
- author = {Richard Montague},
- title = {The Proper Treatment of Quantification in Ordinary {English}},
- booktitle = {Formal Philosophy. {Selected} Papers},
- publisher = {Yale University Press},
- year = {1974},
- editor = {R. Thomason},
- address = {New Haven}}
-
-@INCOLLECTION{Montague:ug,
- author = {Richard Montague},
- title = {Universal {Grammar}},
- booktitle = {Formal Philosophy: Selected Papers of Richard Montague},
- publisher = {Yale University Press},
- year = {1970},
- editor = {R. H. Thomason}}
-
-@BOOK{mont:form74,
- title = {Formal {Philosophy}},
- publisher = {Yale University Press},
- year = {1974},
- author = {Montague, R.},
- address = {New Haven}}
-
-@INCOLLECTION{mont:prop73,crossref={Montague:tptoqi73}}
-
-@INCOLLECTION{mont:univ70,
- author = {Montague, R.},
- title = {Universal {Grammar}},
- booktitle = {Formal Philosophy},
- publisher = {Yale University Press},
- year = {1970},
- pages = {222--246},
- address = {New Haven}}
-
-@INBOOK{Montague:efl70,
- chapter = {Linguaggi nella Societa e nella Tecnica, B. Visentini et al eds},
- pages = {189--224},
- title = {English as a Formal Language},
- publisher = {Edizioni di Communita, Milan},
- year = {1970},
- author = {Montague, R.},
- note = {Reprinted in~\cite{Thomason:fp74}, 188--221}}
-
-@INPROCEEDINGS{MonRij:atcfaq98,
- author = {Monz, C. and de~Rijke, M. },
- title = {A Tableaux Calculus for Ambiguous Quantification},
- crossref = {TABLEAUX98},
- pages = {232--246}}
-
-@INPROCEEDINGS{MonRij:arcfds98,
- author = {Monz, C. and de~Rijke, M.},
- title = {A Resolution Calculus for Dynamic Semantics},
- crossref = {JELIA98}}
-
-@INPROCEEDINGS{MonRij:lrfds98,
- author = {Monz, C. and de~Rijke, M.},
- title = {Labeled Resolution for Discourse Semantics},
- booktitle = {Proceedings of the First International Workshop on Labelled Deduction
- {(LD'98)}},
- year = {1998},
- publisher = {Dept. of Computer Science, University of Freiburg}}
-
-@ARTICLE{MooneyEtAl:chlson91,
- author = {David J. Mooney and Sandra Carberry and Kathleen Mc{Coy}},
- title = {Capturing High-Level Structure of Naturally Occurring, Extended Explanations
- Using Bottom-Up Strategies},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7},
- pages = {334--356}}
-
-@ARTICLE{MooPol92,
- author = {Johanna Moore and Martha Pollack},
- title = {A problem for {RST}: The need for multi-level discouse analysis},
- journal = {Computational Linguistics},
- year = {1992},
- volume = {18(4)},
- pages = {537--544}}
-
-@InProceedings{SacerdotiCoen:enlt05,
- author = {Sacerdoti Coen, Claudio},
- title = {Explanation in Natural Language of $\overline\lambda\mu\overline\mu$-terms},
- crossref = {MKM05}}
-
-@PHDTHESIS{Moore:aratei89,
- author = {Johanna D. Moore},
- title = {A Reactive Approach to Explanation in Expert and Advice-Giving Systems},
- school = {University of California},
- year = {1989},
- address = {Los Angeles, CA}}
-
-@ARTICLE{MooreParis:ptfadc93,
- author = {Johanna D. Moore and C{\'e}cile L. Paris},
- title = {Planning text for advisory dialogues: Capturing intentional and rhetorical
- information},
- journal = {Computational Linguistics},
- year = {1993},
- volume = {19},
- pages = {651--695},
- annote = {copied}}
-
-@ARTICLE{MooreParis:rfaese91,
- author = {Johanna D. Moore and C{\'e}cile L. Paris},
- title = {Requirements for an Expert System Explanation Facility},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7},
- pages = {367--370},
- annote = {DFKI}}
-
-@BOOK{Moortgat:ci88,
- title = {Categorial Investigations: Logical and Linguistic Aspects of the
- Lambek Calculus},
- publisher = {Foris},
- year = {1988},
- author = {Michael Moortgat},
- keywords = {lamapunbibs},
- address = {Dordrecht}}
-
-@INPROCEEDINGS{MooMos:95,
- author = {Megan Moser and Johanna Moore},
- title = {Investigating Cue Selection and Placement in Tutorial Discourse},
- booktitle = {Proc. 33\textsuperscript{rd} Annual Meeting, Association forComputational Linguistics},
- year = {1995},
- pages = {130--135},
- address = {MIT, Boston MA}}
-
-@TECHREPORT{Moshier93,
- author = {M. Andrew Moshier},
- title = {On Completeness Theorems for Feature Logics},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1993},
- number = {31}}
-
-@PHDTHESIS{tm05:hets,
- author = {Till Mossakowski},
- title = {{Heterogeneous} {Specification} and the {Heterogeneous} {Tool} {Set}},
- school = {{Universit{\"a}t} Bremen},
- year = {2005},
- type = {Habilitation}}
-
-@ARTICLE{MossakowskiEtAl05,crossref={MosAutHut:dgpmss06}}
-@ARTICLE{MosAutHut:dgpmss06,
- author = {T. Mossakowski and S. Autexier and D. Hutter},
- title = {Development Graphs -- Proof Management for Structured Specifications},
- journal = {Journal of Logic and Algebraic Programming},
- year = {2006},
- volume = {67},
- pages = {114--145},
- number = {1-2},
- issn = {1567-8326},
- keywords = {development graph proof logic institution completeness},
- url = {http://www.tzi.de/~till/papers/dgh_journal.ps},
- status = {Reviewed}}
-
-@INCOLLECTION{moss:densem90,
- author = {Mosses, P.},
- title = {Denotational {Semantics}},
- booktitle = {Handbook of Theoretical Computer Science},
- publisher = {Elsevier},
- year = {1990},
- editor = {van Leeuwen, A. J.},
- pages = {577--632},
- address = {Amsterdam}}
-
-@ARTICLE{Mostowski57,
- author = {Andrzej Mostowski},
- title = {On a generalization of quantifiers},
- journal = {Fundamenta Mathematicae},
- year = {1957},
- volume = {{\bf 44}},
- pages = {12--36}}
-
-@BOOK{Mostowski52,
- title = {Sentences undecidable in formalized arithmetic : an exposition of
- the theory of K. G{\"o}del},
- publisher = {North-Holland Publ.},
- year = {1952},
- author = {Mostowski, Andrzej},
- series = {Studies in logic and the foundations of mathematics},
- address = {Amsterdam},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-out-of-print},
- location = {MPI-ZB},
- signature = {Books: Mostowski},
- status = {available}}
-
-@BOOK{muggleton90,
- title = {Inductive Acquisition of Expert Knowledge},
- publisher = {Addison-Wesley},
- year = {1990},
- author = {Muggleton, S.},
- address = {Reading, MA},
- key = {Muggleton}}
-
-@MISC{MurLau:xmt01,
- author = {M. Murata and St. Laurent, S. and D. Kohn},
- title = {XML Media Types},
- howpublished = {RFC 3023},
- month = jan,
- year = {2001},
- url = {ftp://ftp.isi.edu/in-notes/rfc3023.txt}}
-
-@INCOLLECTION{coref,
- author = {Muskens, R. A.},
- title = {Coreference},
- booktitle = {The Encyclopedia of Language and Linguistics},
- publisher = {Pergamon},
- year = {1993},
- editor = {Asher, R. E. and Simpson, J. M. Y.},
- volume = {2},
- pages = {769},
- address = {Oxford}}
-
-@INCOLLECTION{existpred,
- author = {Muskens, R. A.},
- title = {Existence {Predicate} ({Modeltheoretic})},
- booktitle = {The Encyclopedia of Language and Linguistics},
- publisher = {Pergamon},
- year = {1993},
- editor = {Asher, R. E. and Simpson, J. M. Y.},
- volume = {3},
- pages = {1191},
- address = {Oxford}}
-
-@INCOLLECTION{partinf,
- author = {Muskens, R. A.},
- title = {Partial {Information}},
- booktitle = {The Encyclopedia of Language and Linguistics},
- publisher = {Pergamon},
- year = {1993},
- editor = {Asher, R. E. and Simpson, J. M. Y.},
- volume = {6},
- pages = {2952--2953},
- address = {Oxford}}
-
-@INCOLLECTION{percverbs,
- author = {Muskens, R. A.},
- title = {Perception {Verbs}},
- booktitle = {The Encyclopedia of Language and Linguistics},
- publisher = {Pergamon},
- year = {1993},
- editor = {Asher, R. E. and Simpson, J. M. Y.},
- volume = {6},
- pages = {2999--3000},
- address = {Oxford}}
-
-@INCOLLECTION{propatt,
- author = {Muskens, R. A.},
- title = {Propositional {Attitudes}},
- booktitle = {The Encyclopedia of Language and Linguistics},
- publisher = {Pergamon},
- year = {1993},
- editor = {Asher, R. E. and Simpson, J. M. Y.},
- volume = {6},
- pages = {3380--3383},
- address = {Oxford},
- note = {(Also to appear in the {\em Concise Encyclopedia of Philosophy of
- Language})}}
-
-@INCOLLECTION{musk:goin99,
- author = {Muskens, R. A.},
- title = {Going {Partial} in {Montague} {Grammar}},
- booktitle = {Semantics and Contextual Expression. Proceedings of the Sixth Amsterdam
- Colloquium},
- publisher = {Foris},
- year = {1989},
- editor = {Bartsch, R. and van~Benthem, J. F. A. K. and van Emde Boas, P.},
- address = {Dordrecht}}
-
-@INCOLLECTION{Muskens:goin99,
- author = {Muskens, R. A.},
- title = {Going {Partial} in {Montague} {Grammar}},
- booktitle = {Semantics and Contextual Expression},
- publisher = {Foris},
- year = {1989},
- editor = {Bartsch, R. and van Benthem, J. F. A. K. and van Emde Boas, P.},
- address = {Dordrecht}}
-
-@INPROCEEDINGS{compdrt,
- author = {Muskens, R. A.},
- title = {A {Compositional} {Discourse} {Representation} {Theory}},
- booktitle = {Proceedings of the Ninth Amsterdam Colloquium},
- year = {1994},
- editor = {Dekker, P. and Stokhof, M.},
- pages = {467--486},
- address = {Amsterdam},
- publisher = {ILLC, University of Amsterdam},
- note = {(A preliminary version of `Combining Montague Semantics and Discourse
- Representation')}}
-
-@techreport{CD:alg1:on,crossref={CD:alg1:base},urldate={2010-10-07}}
-@techreport{CD:alg1,crossref={CD:alg1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/alg1.ocd}}}
-@Misc{CD:alg1:base,
- key = {CDalg1},
- title = {\texttt{alg1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/alg1.ocd}}
-
-@techreport{CD:arith1:on,crossref={CD:arith1:base},urldate={2010-10-07}}
-@techreport{CD:arith1,crossref={CD:arith1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/arith1.ocd}}}
-@Misc{CD:arith1:base,
- key = {CDarith1},
- title = {\texttt{arith1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/arith1.ocd}}
-
-@techreport{CD:meta:on,crossref={CD:meta:base},urldate={2010-10-07}}
-@techreport{CD:meta,crossref={CD:meta:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/meta.ocd}}}
-@Misc{CD:meta:base,
- key = {CDmeta},
- title = {\texttt{meta}},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/meta.ocd}}
-
-@techreport{CD:logic1:on,crossref={CD:logic1:base},urldate={2010-10-07}}
-@techreport{CD:logic1,crossref={CD:logic1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/logic1.ocd}}}
-@Misc{CD:logic1:base,
- key = {CDlogic1},
- title = {\texttt{logic1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/logic1.ocd}}
-
-@techreport{CD:quant1:on,crossref={CD:quant1:base},urldate={2010-10-07}}
-@techreport{CD:quant1,crossref={CD:quant1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/quant1.ocd}}}
-@Misc{CD:quant1:base,
- key = {CDquant1},
- title = {\texttt{quant1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/quant1.ocd}}
-
-@techreport{CD:sdata1:on,crossref={CD:sdata1:base},urldate={2010-10-07}}
-@techreport{CD:sdata1,crossref={CD:sdata1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/sdata1.ocd}}}
-@Misc{CD:sdata1:base,
- key = {CDsdata1},
- title = {\texttt{sdata1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/sdata1.ocd}}
-
-@techreport{CD:relation1:on,crossref={CD:relation1:base},urldate={2010-10-07}}
-@techreport{CD:relation1,crossref={CD:relation1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/relation1.ocd}}}
-@Misc{CD:relation1:base,
- key = {CDrelation1},
- title = {\texttt{relation1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/relation1.ocd}}
-
-@techreport{CD:piece1:on,crossref={CD:piece1:base},urldate={2010-10-07}}
-@techreport{CD:piece1,crossref={CD:piece1:base},year = {2004},
- howpublished = {\url{http://www.openmath.org/cd/piece1.ocd}}}
-@techreport{CD:piece1:base,
- key = {CDpiece1},
- title = {\texttt{piece1}},
- institution = {The OpenMath Society},
- type = {OpenMath Content Dictionary},
- url = {http://www.openmath.org/cd/piece1.ocd}}
-
-
-@Article{BraCor:raefca02,
- author = {Bradford, R. and Corless, R. M. and Davenport, J. H. and Jeffrey, D. J. and
- Watt, S. M.},
- title = {Reasoning About the Elementary Functions of Complex Analysis.},
- journal = {Annals of Mathematics and Artificial Intelligence},
- year = 2002,
- volume = 36,
- pages = {303 -- 318}}
-
-@INPROCEEDINGS{Muskens:acdrt94,
- author = {Reinhard Muskens},
- title = {A Compositional Discourse Representation Theory},
- booktitle = {Proceedings of the 9\textsuperscript{th} {Amsterdam} {Colloquium}},
- year = {1994},
- editor = {P. Dekker and M. Stokhof},
- pages = {467--486},
- organization = {ILLC, Amsterdam}}
-
-@INCOLLECTION{musk:tens95,
- author = {Muskens, R. A.},
- title = {Tense and the {Logic} of {Change}},
- booktitle = {Lexical Knowledge in the Organization of Language},
- publisher = {John Benjamins},
- year = {1995},
- editor = {Egli, U. and Pause, E. P. and Schwarze, C. and Von Stechow, A. and
- Wienold, G.},
- pages = {147--183},
- address = {Amsterdam}}
-
-@INCOLLECTION{Muskens:tens95,
- author = {Muskens, R. A.},
- title = {Tense and the {Logic} of {Change}},
- booktitle = {Lexical Knowledge in the Organization of Language},
- publisher = {John Benjamins},
- year = {1995},
- editor = {Egli, U. and Pause, E. P. and Schwarze, C. and Von Stechow, A. and
- Wienold, G.},
- pages = {147--183},
- address = {Amsterdam}}
-
-@INCOLLECTION{musk:OU95,
- author = {Muskens, R. A.},
- title = {Order-{Independence} and {Underspecification}},
- booktitle = {Ellipsis, Underspecification, Events and More in Dynamic Semantics},
- publisher = {{DYANA} {Deliverable} R.2.2.{C}},
- year = {1995},
- editor = {Groenendijk, J.},
- note = {Also in: Kamp, H. and Partee, B. (eds.), 1997, Context-dependence
- in the Analysis of Linguistic Meaning, Universit{\"a}t Stuttgart, pp.
- 311--328}}
-
-@INCOLLECTION{Muskens:OU95,
- author = {Muskens, R. A.},
- title = {Order-{Independence} and {Underspecification}},
- booktitle = {Ellipsis, Underspecification, Events and More in Dynamic Semantics},
- publisher = {{DYANA} {Deliverable} R.2.2.{C}},
- year = {1995},
- editor = {Groenendijk, J.},
- note = {{\tt ftp://illc-sun.illc.uva.nl/pub/dyana/R2.2.C/Muskens.ps}}}
-
-@INPROCEEDINGS{logomn,
- author = {Muskens, R. A.},
- title = {Logical {Omniscience} and {Classical} {Logic}},
- booktitle = {Logics in AI, Proceedings of Jelia '92},
- year = {1992},
- editor = {Pearce, D. and Wagner, G.},
- pages = {52--64},
- address = {Berlin},
- publisher = {Springer-Verlag},
- note = {(A preliminary version of `Hyperfine-grained Meanings in Classical
- Logic')}}
-
-@INCOLLECTION{Muskens:anap91,
- author = {Muskens, R. A.},
- title = {Anaphora and the {Logic} of {Change}},
- booktitle = {Logics in AI, Proceedings of JELIA '90},
- publisher = {Springer-Verlag},
- year = {1991},
- editor = {Van Eijck, J.},
- pages = {414--430},
- address = {Berlin}}
-
-@UNPUBLISHED{Muskens:oiau97,
- author = {Reinhard Muskens},
- title = {Order-Independence and Underspecification},
- note = {University of Tilburg},
- year = {1997}}
-
-@TECHREPORT{progsem,
- author = {Muskens, R. A.},
- title = {Program {Semantics} and {Classical} {Logic}},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1997},
- type = {CLAUS Report},
- number = {86},
- month = jan,
- note = {{\tt http://coli.uni-sb.de/claus/claus86.html}}}
-
-@ARTICLE{musk:comb96,
- author = {Muskens, R. A.},
- title = {Combining {Montague} {Semantics} and {Discourse} {Representation}},
- journal = {Linguistics and Philosophy},
- year = {1996},
- volume = {19},
- pages = {143--186}}
-
-@ARTICLE{Muskens:cmsadr96,
- author = {Reinhard Muskens},
- title = {Combining {Montague} Semantics and Discourse Representation},
- journal = {Linguistics \& Philosophy},
- year = {1996},
- volume = {14},
- pages = {143 -- 186}}
-
-@ARTICLE{Muskens:comb96,
- author = {Muskens, R. A.},
- title = {Combining {Montague} {Semantics} and {Discourse} {Representation}},
- journal = {Linguistics and Philosophy},
- year = {1996},
- volume = {19},
- pages = {143--186}}
-
-@BOOK{mp,
- title = {Meaning and {Partiality}},
- publisher = {CSLI},
- year = {1995},
- author = {Muskens, R. A.},
- address = {Stanford}}
-
-@INPROCEEDINGS{cgdrt,
- author = {Muskens, R. A.},
- title = {Categorial {Grammar} and {Discourse} {Representation} {Theory}},
- booktitle = {Proceedings of COLING 94},
- year = {1994},
- pages = {508--514},
- address = {Kyoto}}
-
-@ARTICLE{musk:hype91,
- author = {Muskens, R. A.},
- title = {Hyperfine-{Grained} {Meanings} in {Classical} {Logic}},
- journal = {Logique et Analyse},
- year = {1991},
- volume = {133/134},
- pages = {159--176}}
-
-@ARTICLE{Muskens:hype91,
- author = {Muskens, R. A.},
- title = {Hyperfine-{Grained} {Meanings} in {Classical} {Logic}},
- journal = {Logique et Analyse},
- year = {1991},
- volume = {133/134},
- pages = {159--176}}
-
-@ARTICLE{musk:rela89,
- author = {Muskens, R. A.},
- title = {A {Relational} {Formulation} of the {Theory} of {Types}},
- journal = {Linguistics and Philosophy},
- year = {1989},
- volume = {12},
- pages = {325--346}}
-
-@ARTICLE{Muskens89,
- author = {Reinhard Muskens},
- title = {A Relational Formulation of the Theory of Types},
- journal = {Linguistics and Philosophy},
- year = {1989},
- volume = {21},
- pages = {325--346}}
-
-@PHDTHESIS{Muskens:map89,
- author = {Reinhard Muskens},
- title = {Meaning and Partiality},
- school = {Universiteit van Amsterdam},
- year = {1989},
- month = nov}
-
-@ARTICLE{Muskens:rela89,
- author = {Muskens, R. A.},
- title = {A {Relational} {Formulation} of the {Theory} of {Types}},
- journal = {Linguistics and Philosophy},
- year = {1989},
- volume = {12},
- pages = {325--346}}
-
-@INCOLLECTION{MusBenVis:d97,
- author = {R. Muskens and J. van Benthem and A. Visser},
- title = {Dynamics},
- booktitle = {Handbook of Logic and Language},
- publisher = {Elsevier},
- year = {1997},
- editor = {J. van Benthem and A. ter Meulen},
- chapter = {10},
- pages = {587--648}}
-
-@INPROCEEDINGS{descr,
- author = {Muskens, R. A. and Krahmer, E.},
- title = {Description {Theory}, {LTAG}s and {Underspecified} {Semantics}},
- booktitle = {Fourth International Workshop on Tree Adjoining Grammars and Related
- Frameworks},
- year = {1998},
- pages = {112--115},
- address = {Philadelphia, PA},
- publisher = {Institute for Research in Cognitive Science}}
-
-@INCOLLECTION{dynamics,
- author = {Muskens, R. A. and van Benthem, J. F. A. K. and Visser, A.},
- title = {Dynamics},
- booktitle = {Handbook of Logic and Language},
- publisher = {Elsevier},
- year = {1997},
- editor = {van Benthem, J. F. A. K. and Ter Meulen, A.},
- pages = {587--648},
- address = {Amsterdam}}
-
-@BOOK{Myers-Briggs:GiftsDiffering,
- title = {{Gifts Differing: Understanding Personlity Type}},
- publisher = {Davies-Black Publishing},
- year = {1995},
- author = {Isabel Briggs Myers and Peter B. Myers},
- note = {{First edition in 1980}}}
-
-@PHDTHESIS{Moeller87,
- author = {B. M{\"o}ller},
- title = {Higher-Order Algebraic Specifications},
- school = {TU M{\"u}nchen},
- year = {1987}}
-
-@INPROCEEDINGS{MulNiePod:ocoft97,
- author = {Martin M{\"u}ller and Joachim Niehren and Andreas Podelski},
- title = {Ordering Constraints over Feature Trees},
- booktitle = {Proceedings of the Third International Conference on Principles and
- Practice of Constraint Programming},
- year = {1997},
- editor = {Gert Smolka},
- number = {1330},
- series = {LNCS},
- pages = {297--311},
- address = {Schloss Hagenberg, Linz, Austria},
- publisher = {Springer-Verlag}}
-
-@MASTERSTHESIS{Mueller93,
- author = {Olaf M{\"u}ller},
- title = {{Optimierung der modularen {$E$}-{Unifikation} h{\"o}herer {Stufe}}},
- school = {Universit{\"a}t Karlsruhe},
- year = {1993},
- address = {Germany},
- month = may}
-
-@INPROCEEDINGS{Mueller:CLNLP:97,
- author = {Martin M{\"u}ller},
- title = {Ordering Constraints over Feature Trees with Ordered Sorts},
- booktitle = {Computational Logic and Natural Language Understanding},
- year = {1997},
- editor = {P. Lopez and Suresh Manandhar and Werner Nutt},
- series = {LNAI},
- publisher = {Springer Verlag}}
-
-@PHDTHESIS{Nadathur86,
- author = {Gopalan Nadathur},
- title = {A Higher-Order Logic as the Basis for Logic Programming},
- school = {University of Pennsylvania},
- year = {1986}}
-
-@TECHREPORT{NadMil:holp94,
- author = {Gopalan Nadathur and Dale Miller},
- title = {Higher-Order Logic Programming},
- institution = {Department of Computer Science, Duke University},
- year = {1994},
- type = {Technical Report},
- number = {CS-1994-38},
- note = {To appear in Volume 5 of the Handbook of Logic in AI and Logic Programming}}
-
-@TECHREPORT{MiNa88,
- author = {Gopalan Nadathur and Dale Miller},
- title = {An Overview over $\Lambda${PROLOG}},
- institution = {University of Pennsylvania},
- year = {1988},
- type = {Technical Report},
- number = {MS-CIS-88-40, LINC LAB 116},
- location = {miko}}
-
-@INPROCEEDINGS{NadMil:aool88,
- author = {Gopalan Nadathur and Dale Miller},
- title = {An overview of $\lambda$Prolog},
- booktitle = {Fifth International Logic Programming Conference},
- year = {1988},
- pages = {810--827},
- publisher = {MIT Press, Seattle, Washington}}
-
-@ARTICLE{Nakhimovsky:aactsn,
- author = {A. Nakhimovsky},
- title = {Aspect, aspectual class and the temporal structure of narrative},
- journal = {Computational Linguistics},
- year = {1988},
- volume = {14},
- pages = {29--43},
- number = {2}}
-
-@INPROCEEDINGS{NarPfeSta:upccc93,
- author = {Paliath Narendran and Frank Pfenning and Richard Statman},
- title = {On the Unification Problem for {Cartesian} Closed Categories},
- booktitle = {Eighth Annual {IEEE} Symposium on Logic in Computer Science},
- year = {1993},
- editor = {Moshe Vardi},
- pages = {57--63},
- address = {Montreal, Canada},
- month = jun,
- keywords = {functional programming, theorem proving},
- urldvi = {http://www.cs.cmu.edu/~fp/papers/lics93.dvi.gz},
- urlps = {http://www.cs.cmu.edu/~fp/papers/lics93.ps.gz}}
-
-@INCOLLECTION{nerbonne92,
- author = {Nerbonne, J.},
- title = {Constraint-based {Semantics}},
- booktitle = {Proceedings of the Eighth Amsterdam Colloquium},
- publisher = {{ILLC}},
- year = {1992},
- editor = {Dekker, P. and Stokhof, M.},
- address = {Amsterdam}}
-
-@TECHREPORT{Nerbonne:fbssi92,
- author = {Nerbonne, J.},
- title = {A feature-based syntax/semantics interface},
- institution = {DFKI},
- year = {1992},
- number = {RR-92-42},
- address = {Saarbr{\"u}cken}}
-
-@TECHREPORT{Nesmith94,
- author = {Dan Nesmith},
- title = {An Application of Klop's Conterexample to a Higher-Order Rewrite
- System},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1994},
- type = {SEKI-Report},
- number = {SR-94-06}}
-
-@INPROCEEDINGS{NesmithPfenning:pidvss90,
- author = {Daniel Nesmith and Frank Pfenning},
- title = {Presenting Intuitive Deductions via Symmetric Simplification},
- crossref = {CADE90},
- pages = {336--350}}
-
-@INCOLLECTION{Netter:ttfh96,
- author = {Klaus Netter},
- title = {Towards a theory of functional heads},
- booktitle = {German in Head-Driven Phrase Structure Grammar},
- publisher = {CSLI},
- year = {1994},
- editor = {Nerbonne, John and Netter, Klaus and Pollard, Carl}}
-
-@ARTICLE{Neumann28,
- author = {Neumann, John von},
- title = {{Die} {Axiomatisierung} {der} {Mengenlehre}},
- journal = {Mathematische Zeitschrift},
- year = {1928},
- volume = { 27},
- pages = {669--752}}
-
-@ARTICLE{Neumann28a,
- author = {Neumann, John von},
- title = {{\"U}ber {die} {Definition} {durch} {transfinite} {Induktion} {und}
- {verwandte} {Fragen} {der} {allgemeinen} {Mengenlehre}},
- journal = {Mathematische Annalen},
- year = {1928},
- volume = { 99},
- pages = {373--391}}
-
-@ARTICLE{Neumann25,
- author = {Neumann, John von},
- title = {{Eine} {Axiomatisierung} {der} {Mengenlehre}},
- journal = {Journal f{\"u}r die reine und angewandte Mathematik},
- year = {1925},
- volume = {154},
- pages = {219--240}}
-
-@BOOK{Newell:utoc90,
- title = {Unified Theories of Cognition},
- publisher = {Havard University Press},
- year = {1990},
- author = {A. Newell},
- address = {Cambridge, MA}}
-
-@INPROCEEDINGS{NewellEtAl:eeotlt57,
- author = {A. Newell and C. Shaw and H. Simon},
- title = {Empirical Explorations of the Logic Theory Machine},
- booktitle = {Proceedings of the Western Joint Computer Conference {(WJCC)}},
- year = {1957},
- pages = {218--239}}
-
-@INPROCEEDINGS{Newey92,
- author = {Newey, M. C.},
- title = {Proof Based Computation},
- booktitle = {Proceedings of the International Workshop on the HOL Theorem Proving
- System and its Applications},
- year = {1992},
- editor = {Archer, Myla and Joyce, Jennifer J. and Levitt, Karl N. and Windley,
- Phillip J.},
- pages = {380--383},
- publisher = {IEEE Computer Society Press},
- caddress = {Davis, CA, USA},
- cmonth = aug,
- cyear = {1991}}
-
-@INPROCEEDINGS{NieKol:dccu98,
- author = {Joachim Niehren and Alexander Koller},
- title = {Dominance Constraints in Context Unification},
- booktitle = {Third International Conference on Logical Aspects of Computational
- Linguistics},
- year = {1998},
- address = {Grenoble, France}}
-
-@MISC{NieKol:dcicu98,
- author = {Joachim Niehren and Alexander Koller},
- title = {{Dominance Constraints in Context Unification}},
- month = jan,
- year = {1998}}
-
-@INPROCEEDINGS{NieRuhPin:eutc97,
- author = {Niehren, Joachim and Pinkal, Manfred and Ruhrberg, Peter},
- title = {On equality up-to constraints over finite trees, context unification
- and one-step rewriting},
- booktitle = {Proceedings of {CADE}'97},
- year = {1997}}
-
-@INPROCEEDINGS{PinRuhNie:auatudp97,
- author = {Niehren, Joachim and Pinkal, Manfred and Ruhrberg, Peter},
- title = {A uniform approach to underspecification and parallelism},
- booktitle = {Proceedings of {ACL}'97},
- year = {1997},
- pages = {410--417},
- address = {Madrid, Spain}}
-
-@InProceedings{WVE:BreakingDownUsability99,
- author = {Martijn van Welie and Gerrit C. van der Veer and Anton Eli{\"e}ns},
- title = {Breaking down Usability},
- booktitle = {Proceedings of Interact},
- pages = {613--620},
- year = {1999},
- eventdate = {1999-08-30/1999-09-03},
- venue = {Edinburgh, Scotland}}
-
-@BOOK{nielsen99:web-usability,
- title = {Designing Web Usability : The Practice of Simplicity},
- publisher = {New Riders Press},
- year = {1999},
- author = {Jakob Nielsen},
- isbn = {1-56205-810-X}}
-
-@BOOK{Nielsen:UsabilityEng93,
- title = {Usability Engineering},
- publisher = {Academic Press},
- year = {1993},
- author = {Jakob Nielsen},
- address = {London}}
-
-@inproceedings{NielsenMolich:HeuristicEvaluationOfUIs:1990,
- author = {Nielsen, Jakob and Molich, Rolf},
- title = {Heuristic Evaluation of User Interfaces},
- booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
- series = {CHI '90},
- year = {1990},
- isbn = {0-201-50932-6},
- location = {Seattle, Washington, USA},
- pages = {249--256},
- numpages = {8},
- url = {http://doi.acm.org/10.1145/97243.97281},
- doi = {10.1145/97243.97281},
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@UNPUBLISHED{Nipkow90b,
- author = {Tobias Nipkow},
- title = {Equational Reasoning in {Isabelle}}}
-
-@INPROCEEDINGS{Nipkow90a,
- author = {Tobias Nipkow},
- title = {Higher Order Unification, Polymorphism, and Subsorts},
- booktitle = {Proceedings of the CTRS-90},
- year = {1990},
- keywords = {HOL, OSL, Polymorphism, Unification}}
-
-@TECHREPORT{Nipkow90c,
- author = {Tobias Nipkow},
- title = {Higher-Order Unification, Polymorphism, and Subsorts},
- institution = {Cambridge University Computer Lab},
- year = {1990},
- type = {Technical report},
- number = {210},
- location = {miko}}
-
-@BOOK{Nipkow-Paulson-Wenzel:2002,
- title = {{Isabelle/HOL} --- A Proof Assistant for Higher-Order Logic},
- publisher = {Springer},
- year = {2002},
- author = {Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel},
- number = {2283},
- series = {LNCS}}
-
-@TECHREPORT{NiSn90,
- author = {Tobias Nipkow and Gregor Snelting},
- title = {Type Classes and Overloading Resolution via Order-Sorted Unification},
- institution = {University of Cambridge, Computer Laboratory},
- year = {1990},
- type = {Technical Report},
- number = {200},
- month = aug,
- location = {miko, Unif-bib}}
-
-@PHDTHESIS{Noord:rinlp93,
- author = {van Noord, G.},
- title = {Reversibility in Natural Language Processing},
- school = {University of Utrecht},
- year = {1993},
- address = {The Netherlands}}
-
-@INPROCEEDINGS{NooBou:aatpolr94,
- author = {Gertjan van Noord and Gosse Bouma},
- title = {Adjuncts and the Processing of Lexical Rules},
- booktitle = {Proceedings of {COLING} 94},
- year = {1994},
- pages = {250--256},
- address = {Kyoto}}
-
-@INPROCEEDINGS{ags-2002-d-2,
- author = {Immanuel Normann},
- title = {Prototype User Interface for an Interactive Theorem Prover},
- year = {2002},
- editor = {J{\"u}rgen Zimmer and Christoph Benzm{\"u}ller},
- number = {SR--02--06},
- series = {SEKI Reports},
- pages = {91--94},
- address = {Saarbr{\"u}cken, Germany},
- organization = {Department of Computer Science, Saarland University}}
-
-@INPROCEEDINGS{Norvig:iitu87,
- author = {P. Norvig},
- title = {Inference in Text Understanding},
- booktitle = {Proceedings {AAAI} 87},
- year = {1987},
- address = {Seattle, Wa}}
-
-@INPROCEEDINGS{Norvig:faiiasup83,
- author = {P. Norvig},
- title = {Frame activated inferences in a story understanding program},
- booktitle = {Proceedings {IJCAI} '83},
- year = {1983},
- pages = {624--626},
- address = {Karlsruhe, Germany}}
-
-@MISC{ConceptMaps,
- author = {Joseph D. Novak},
- title = {{The Theory Underlying Concept Maps and How To Construct Them}},
- howpublished = {{\url{http://cmap.coginst.uwf.edu/info/printer.html}}},
- url = {http://cmap.coginst.uwf.edu/info/printer.html},
- note = {seen 11/30/2004}}
-
-@ARTICLE{Nunberg:id93,
- author = {G. Nunberg},
- title = {Indexicality and deixis},
- journal = {Linguistics \& Philosophy},
- year = {1993},
- volume = {16},
- pages = {1--43}}
-
-@ARTICLE{Nunberg:tnssp79,
- author = {G. Nunberg},
- title = {The non-uniqueness of semantic solutions: polysemy},
- journal = {Linguistics \& Philosophy},
- year = {1979},
- volume = {3},
- pages = {143--184}}
-
-@PHDTHESIS{Nutt93,
- author = {Werner Nutt},
- title = {Algorithms for Constraints in Deduction and Knowlege Representation},
- school = {Universit{\"a}t des Saarlandes},
- year = {1993}}
-
-@ARTICLE{Oberschelp62,
- author = {Arnold Oberschelp},
- title = {{Untersuchungen zur mehrsortigen Quantorenlogik}},
- journal = {Mathematische Annalen },
- year = {1962},
- volume = {145},
- pages = {297--333}}
-
-@ARTICLE{Obtulowitz82,
- author = {A. Obtulowitz},
- title = {The Logic of Categories of partial Functions and its applications},
- journal = {Dissertationes Mathematicae},
- year = {1982},
- volume = {241},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{Ochs:paud79,
- author = {Elinor Ochs},
- title = {Planned and Unplanned Discourse},
- journal = {Syntax and Semantics},
- year = {1979},
- volume = {12},
- pages = {51--80}}
-
-@ARTICLE{Odlyzko:tlogr95,
- author = {Odlyzko, A. M.},
- title = {Tragic loss or good riddance? The impending demise of traditional scholarly
- journals},
- journal = {International Journal of Human-Computer Studies},
- year = {1995},
- volume = {42},
- pages = {71--122}}
-
-@PHDTHESIS{Ohlbach88,
- author = {Hans J{\"u}rgen Ohlbach},
- title = {A Resolution Calculus for Modal Logics},
- school = {Universit{\"a}t Kaiserslautern},
- year = {1988},
- keywords = {logics}}
-
-@INCOLLECTION{OhSi:tmkrp89,
- author = {Hans J{\"u}rgen Ohlbach and J{\"o}rg Siekmann},
- title = {The {Markgraf} {Karl} {Refutation} {Procedure}},
- booktitle = {Computational Logic -- Essays in Honor of {Alan} {Robinson}},
- publisher = {MIT Press, Cambridge},
- year = {1989},
- pages = {41--112}}
-
-@ARTICLE{Ohori:aprcc95,
- author = {Atsushi Ohori},
- title = {A polymorphic record calculus and its compilation},
- journal = {ACM Transactions on Programming Languages and Systems},
- year = {1995},
- volume = {17},
- pages = {844--895},
- number = {6}}
-
-@TECHREPORT{Ohori89,
- author = {Atsushi Ohori},
- title = {A Simple Semantics for ML Polymorphism},
- institution = {University of Pennsylvania},
- year = {1989},
- type = {Technical Report},
- number = {MS-CIS-89-21, LOGIC \& COMPUTATION 05},
- location = {miko}}
-
-
-
-@ARTICLE{orey:mode59,
- author = {Orey, S.},
- title = {Model {Theory} for the {Higher} {Order} {Predicate} {Calculus}},
- journal = {Transactions of the American Mathematical Society},
- year = {1959},
- volume = {92},
- pages = {72--84}}
-
-@TECHREPORT{Owe85,
- author = {O. Owe},
- title = {An Approach to Program Reasoning Based on a First-Order Logic for
- Partial Functions},
- institution = {{Department of Electrical Engineering and Computer Science, University
- of California, San Diego}},
- year = {1985},
- type = {Computer Science Report},
- number = {CS-081},
- note = {beschaffen},
- keyowrds = {PartialFuncs}}
-
-@BOOK{Owen:afar90,
- title = {Analogy for Automated Reasoning},
- publisher = {Academic Press},
- year = {1990},
- author = {S. Owen}}
-
-@INPROCEEDINGS{OzoCanEas:xiasd,
- author = {M. A. Ozols and A. Cant and K. A. Eastaughffe},
- title = {{XIsabelle}: A System Description},
- booktitle = {Proceedings of 14\textsuperscript{th} International Conference on Automated Deduction},
- year = {1997},
- pages = {400--403},
- publisher = {Springer-Verlag}}
-
-@InProceedings{Ostrowski:OntologyRefactoring08,
- author = {David A. Ostrowski},
- title = {Ontology Refactoring},
- booktitle = {{IEEE} International Conference on Semantic Computing},
- year = {2008},
- publisher = {IEEE},
- doi = {10.1109/ICSC.2008.38}}
-
-@misc{BunBouHowPlo:trb85:hp,crossref={BunBouHowPlo:trb85},
- howpublished={\url{http://homepages.inf.ed.ac.uk/bundy/how-tos/resbible.html}}}
-
-@techreport{BunBouHowPlo:trb85,
- author = {Alan Bundy and Ben du Boulay and Jim Howe and Gordon Plotkin},
- title= {The Researcher's Bible},
- institution = {Informatics, The University of Edinburgh},
- year= {1985},
- url = {http://homepages.inf.ed.ac.uk/bundy/how-tos/resbible.html},
- urldate = {2010-09-13}}
-
-
-@online{Fowler:Refactoring,
- author = {Martin Fowler},
- title = {Refactoring Home Page},
- url = {http://www.refactoring.com},
- urldate = {2010-02-13}}
-
-@online{Protege4ShortcutsRefactor,
- author = {Nick Drummond},
- title = {Protege 4.x Menu Actions and Keyboard Shortcuts},
- url = {http://protegewiki.stanford.edu/index.php?title=Protege4Shortcuts&oldid=6142#Refactor},
- year = 2009,
- month = jun,
- date = {2009-06-30}}
-
-@online{oreilly05:web20:on,
- urldate = {2009-10-22},
- crossref = {oreilly05:web20:base}}
-
-@MISC{oreilly05:web20,
- howpublished = {\url{http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html}},
- note = {Seen March 2006},
- crossref = {oreilly05:web20:base}}
-
-@MISC{oreilly05:web20:base,
- author = {Tim O{'}Reilly},
- title = {What is {Web} 2.0},
- year = 2005,
- month = sep,
- url = {http://oreilly.com/web2/archive/what-is-web-20.html}}
-
-@INPROCEEDINGS{lics91:280,
- author = {Pacholski, L. and Szwast, W.},
- title = {On the 0-1 Law for the Class of Existential Second Order Minimal
- G{\"o}del Sentences with Equality},
- booktitle = {Proceedings of the 6\textsuperscript{th} Annual IEEE Symposium on Logic in Computer
- Science},
- year = {1991},
- editor = {Albert R. Meyer},
- pages = {280--285},
- address = {Amsterdam, The Netherlands},
- month = jul,
- publisher = {IEEE Computer Society Press},
- bibtype = {INPROCEEDINGS},
- location = {MPI-ZB},
- shelf = {LICS91.proc},
- signature = {Proceedings: LICS91},
- status = {available}}
-
-@PHDTHESIS{Padovani:fos96,
- author = {V. Padovani},
- title = {Filtrage d'order sup{\'e}rieur},
- school = {Universit{\'e} Paris VII},
- year = {1996},
- type = {Th{\'e}se de doctorat}}
-
-@TECHREPORT{Panaget:tmpcoa94,
- author = {Franck Panaget},
- title = {The Micro-Planning Component of a Generation System},
- institution = {IRST},
- year = {1994}}
-
-@ARTICLE{Papert:ExplorationIntoMathEducation,
- author = {Seymour Papert},
- title = {{An Exploration in the Space of Mathematics Educations}},
- journal = {International Journal of Computers for Mathematical Learning},
- year = {1996},
- volume = {1},
- pages = {95--123},
- number = {1}}
-
-@book{Papert:Mindstorms80,
- author = {Seymour Papert},
- title = {Mindstorms},
- subtitle = {Children, Computers, and Powerful Ideas},
- publisher = {Basic Books},
- year = 1980}
-
-@ARTICLE{Paris:trotud91,
- author = {C{\'e}cile Paris},
- title = {The Role of the User's domain knowledge in generation},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7},
- pages = {71--93}}
-
-@ARTICLE{Paris:todtau88,
- author = {C{\'e}cile Paris},
- title = {Tailoring Objects Descriptions to a User's Level of Expertise},
- journal = {Computational Linguistics},
- year = {1988},
- volume = {14},
- pages = {64--78}}
-
-@INPROCEEDINGS{ParisEtAl:astfwm95,
- author = {C{\'e}cile Paris and Keith Vander Linden and Markus Fischer and Anthony
- Hartley and Lyn Pemberton and Richard Power and Donia Scott},
- title = {A Support Tool for Writing Multilingual Instructions},
- booktitle = {Proceedings of the 14\textsuperscript{th} IJCAI},
- year = {1995},
- address = {Montreal, Canada},
- publisher = {Morgan Kaufman}}
-
-@PHDTHESIS{Ghomi82,
- author = {K. Parsaye-Ghomi},
- title = {Higher Order Data Types},
- school = {UCLA, Department of Computer Science},
- year = {1982}}
-
-@INPROCEEDINGS{Partee:tfq,
- author = {B. Partee},
- title = {Topic, focus and quantification},
- booktitle = {SALT I},
- year = {1990},
- editor = {S. Moore and A. Wyner},
- address = {Cornell}}
-
-@ARTICLE{Partee:ssatpe73,
- author = {Partee, B.},
- title = {Some structural analogies between tenses and pronouns in {English}},
- journal = {The Journal of Philosophy},
- year = {1973},
- volume = {70},
- pages = {601--609}}
-
-@INCOLLECTION{parteerooth83,
- author = {Partee, B. and Rooth, M.},
- title = {Generalized {Conjunction} and {Type} {Ambiguity}},
- booktitle = {Meaning, Use and Interpretation of Language},
- publisher = {de Gruyter},
- year = {1983},
- editor = {Ba{\"u}erle, R. and Schwarze, C. and von Stechow, A.},
- address = {Berlin}}
-
-@TECHREPORT{Paulson:gapt96,
- author = {Lawrence C. Paulson},
- title = {Generic Automatic Proof Tools},
- institution = {Computer Laboratory, University of Cambridge},
- year = {1996},
- type = {Technical Report},
- number = {396}}
-
-@BOOK{Paulson:iagtp94,
- title = {{Isabelle}: A Generic Theorem Prover},
- publisher = {Springer Verlag},
- year = {1994},
- author = {Lawrence C. Paulson},
- series = {LNCS},
- number = {828}}
-
-@ARTICLE{Paulson:stfv93,
- author = {Lawrence C. Paulson},
- title = {Set Theory for Verification: I. From Foundations to Functions},
- journal = {Journal of Automated Reasoning},
- year = {1993},
- volume = {11},
- pages = {353--389}}
-
-@BOOK{Paulson91,
- title = {ML for the working programmer},
- publisher = {Cambridge University Press},
- year = {1991},
- author = {Lawrence C. Paulson}}
-
-@ARTICLE{Paulson86b,
- author = {L. C. Paulson},
- title = {Natural deduction as Higher-Order Resolution},
- journal = {Journal of Logic Programming},
- year = {1986},
- volume = {3},
- pages = {237--258},
- number = {3}}
-
-@TECHREPORT{Paulson:Isabelle05,
- author = {Lawrence C. Paulson},
- title = {Isabelle Reference Manual},
- institution = {Computer Laboratory, University of Cambridge},
- year = {2005},
- month = oct}
-
-@TECHREPORT{Paulson90,
- author = {Lawrence C. Paulson and Tobias Nipkow},
- title = {Isabelle Tutorial and User's Manual},
- institution = {Computer Laboratory, University of Cambridge},
- year = {1990},
- number = {189},
- month = jan}
-
-@TECHREPORT{Pelletier:fditaa87,
- author = {Francis Jeffry Pelletier},
- title = {Further Developments in {THINKER}, an Automated Theorem Prover},
- institution = {Australia National University, Project on Automated Reasoning},
- year = {1987},
- number = {87-16}}
-
-@ARTICLE{Peltier:pspemmt99,
- author = {N. Peltier},
- title = {Pruning the Search Space and Extracting More Models in Tableaux},
- journal = {Logic Journal of the IGPL},
- year = {1999},
- volume = {7},
- pages = {217--251},
- number = {2},
- url = {http:////home/ohlbach/Bulletin/V72/peltier}}
-
-@PHDTHESIS{Peltier:ntcmda97,
- author = {Peltier, Nicolas},
- title = {Nouvelles Techniques pour la Construction de Mod{\`e}les finis ou infinis
- en D{\'e}duction Automatique},
- school = {Institut National Polytechnique de Grenoble},
- year = {1997},
- url = {ftp://ftp.imag.fr/pub/Mediatheque.IMAG/theses/97-Peltier.Nicolas/}}
-
-@ARTICLE{Pereira:css90,
- author = {F. Pereira},
- title = {Categorial semantics and scoping},
- journal = {Computational Linguistics},
- year = {1990},
- volume = {16},
- pages = {1--10}}
-
-@BOOK{PerShi:panla87,
- title = {Prolog and Natural-Language Analysis},
- publisher = {CLSI Lecture Notes},
- year = {1987},
- author = {Pereira, F. C. N. and Shieber, S. M.},
- address = {Standford}}
-
-@INPROCEEDINGS{PerWar:pad83,
- author = {F. Pereira and D. Warren},
- title = {Parsing as deduction },
- booktitle = {Proceedings 21\textsuperscript{st} {Annual} {Meeting} of the {Association} for
- {Computational}
- {Linguistics}},
- year = {1983},
- pages = {137--144},
- address = {Cambride, MA}}
-
-@TECHREPORT{Perlin90,
- author = {Mark W. Perlin},
- title = {Scoping, Inheritance, and Frames},
- institution = {Carnegie Mellon University},
- year = {1990},
- type = {Techreport},
- number = {CMU-CS-90-114},
- location = {miko}}
-
-@INPROCEEDINGS{PER97,
- author = {Perrier,G.},
- title = {A Decidable Fragment of {Second} {Order} {Linear} {Logic}},
- booktitle = {Proceedings of Logical Foundations of Computer Science, LFCS'97,Yaroslav,
- Russia},
- year = {1997},
- publisher = {Springer Verlag}}
-
-@ARTICLE{perr:from86,
- author = {Perry, J.},
- title = {From {Worlds} to {Situations}},
- journal = {Journal of Philosophical Logic},
- year = {1986},
- volume = {15},
- pages = {83--107}}
-
-@INCOLLECTION{perr:cont84,
- author = {Perry, J.},
- title = {Contradictory {Situations}},
- crossref = {land:vari84},
- pages = {313--323}}
-
-@INCOLLECTION{Petzelt:Bildungsproblem,
- author = {Alfred Petzelt},
- title = {{Zur Fundierung des Bildungsproblems}},
- booktitle = {{Bildungstheorien}},
- publisher = {Herder},
- year = {1978},
- editor = {J{\"u}rgen-Eckardt Pleines},
- pages = {78--99}}
-
-@BOOK{Peyton-Jones:tiofpl87,
- title = {The Implementation of Functional Programming Languages},
- publisher = {Prentice-Hall},
- year = {1987},
- author = {S. L. Peyton-Jones}}
-
-@INPROCEEDINGS{Pfenning93,
- author = {Frank Pfenning},
- title = {Refinement Types for Logical Frameworks},
- booktitle = {Informal Proceedings of the 1993 Workshop on Types for Proofs and
- Programs},
- year = {1993},
- editor = {Herman Geuvers},
- pages = {285--301},
- address = {Nijmegen, The Netherlands},
- month = may,
- publisher = {University of Nijmegen}}
-
-@INCOLLECTION{Pfenning91,
- author = {Frank Pfenning},
- title = {Logic Programming in the {LF} Logical Framework},
- booktitle = {Logical Frameworks},
- publisher = {Cambridge University Press},
- year = {1991},
- editor = {G{\'e}rard P. Huet and Gordon D. Plotkin}}
-
-@BOOK{Pfenning:cad00,
- title = {Computation and Deduction},
- publisher = {Cambridge University Press},
- author = {Frank Pfenning},
- url = {http://www.cs.cmu.edu/~twelf/notes/cd.ps}}
-
-@UNPUBLISHED{Pfenning:atp93,
- author = {Frank Pfenning},
- title = {Automated Theorem Proving},
- note = {Notes for the course Computation and Deduction, School of Computer
- Science, Carnegie Mellon University},
- note = {Spring 1993}}
-
-@TECHREPORT{Pfenning92,
- author = {Frank Pfenning},
- title = {Intersection Types for a logical Framework},
- institution = {Carnegie Mellon University},
- year = {1992},
- type = {POP-Report},
- number = {92--106},
- location = {miko}}
-
-@INPROCEEDINGS{Pfenning91b,
- author = {Frank Pfenning},
- title = {Unification and Anti-Unification in the {Calculus} of {Constructions}},
- booktitle = {Sixth Annual Symposium on Logic in Computer Science},
- year = {1991},
- month = jul,
- publisher = {IEEE}}
-
-@INPROCEEDINGS{Pfenning88,
- author = {F. Pfenning},
- title = {Partial Polymorphic Type Inference and Higher-Order Unification},
- booktitle = {Proceedings of the 1988 ACM Conference on Lisp and Functional Programming},
- year = {1988},
- organization = {ACM}}
-
-@PHDTHESIS{Pfenning:ptihol87,
- author = {F. Pfenning},
- title = {Proof Transformations in Higher-Order Logic},
- school = {Carnegie-Mellon University},
- year = {1987},
- address = {Pittsburgh, PA}}
-
-@PHDTHESIS{Pierce91,
- author = {Bencamin C. Pierce},
- title = {Programming with Intersection Types and Bounded Polymorphism},
- school = {School of Computer Science, Carnegie Mellon University},
- year = {1991},
- month = dec,
- number = {CMU-CS-91-205}}
-
-@TECHREPORT{Pierce90,
- author = {Benjamin C. Pierce},
- title = {A Taste of Category Theory for Computer Scientists},
- institution = {Carnegie Mellon University},
- year = {1990},
- type = {Techreport},
- number = {CMU-CS-90-113R},
- location = {miko}}
-
-@ARTICLE{Pietrzykowski73,
- author = {Thomasz Pietrzykowski},
- title = {A Complete Mechanization of Second-Order Type Theory},
- journal = {Journal of the Association for Computing Machinery},
- year = {1973},
- volume = {20},
- pages = {333--364}}
-
-@ARTICLE{Pietrzykowski:acmoso73,
- author = {Thomasz Pietrzykowski},
- title = {A Complete Mechanization of Second-Order Type Theory},
- journal = {Journal of the {Association} for {Computing} {Machinery}},
- year = {1973},
- volume = {20},
- pages = {333--364}}
-
-@INPROCEEDINGS{Pinkal:ru96,
- author = {Manfred Pinkal},
- title = {Radical underspecification},
- booktitle = {Proceedings of the 10\textsuperscript{th} {Amsterdam} {Colloquium}},
- year = {1996},
- editor = {P. Dekker and M. Stokhof},
- pages = {587--606},
- address = {Amsterdam},
- organization = {ILLC}}
-
-@INPROCEEDINGS{Pinkal:cfsu95,
- author = {Manfred Pinkal},
- title = {Constraints for Semantic Underspecification},
- booktitle = {Context-dependence in the Analysis of Linguistic Meaning},
- year = {1995},
- editor = {Hans Kamp and Barbara Partee},
- note = {Proceedings of the Workshops in Prague (Feb 1995) and Bad Teinach
- (May 1995), Volume 2: Comments and Replies, pages 155-166, Arbeitspapier
- des IMS, Universit{\"a}t Stuttgart, 1997. (erscheint).}}
-
-@INPROCEEDINGS{pinkal96,
- author = {Pinkal, M.},
- title = {{Radical} {Underspecification}},
- booktitle = {Proceedings of the Tenth Amsterdam Colloquium},
- year = {1996},
- pages = {587--606}}
-
-
-
-@InProceedings{SmiSoWatXie:cpbmi05,
- author = {Elena Smirnova and Clare So and Stephen Watt and Xiaofang Xie},
- title = {Components for Pen-Based Mathematical Interfaces},
- booktitle = {ACA 2005 Special Session on Pen-Based Mathematical Computing},
- year = 2005}
-
-@inproceedings{QiuFrei:cbqe93,
- author = {Yonggang Qiu and Hans-Peter Frei},
- title = {Concept Based Query Expansion.},
- year = 1993,
- pages = {160--169},
- crossref = {SIGIR93}}
-
-
-@INPROCEEDINGS{ESmStW:Notation,
- author = {Elena Smirnova and Stephen M. Watt},
- title = {{Notation Selection in Mathematical Computing Environments}},
- booktitle = {Proceddings Transgressive Computing 2006: A conference in honor of Jean
- Della Dora (TC 2006)},
- year = {2006},
- pages = {339--355},
- keywords = {lamapunbibs},
- address = {Granada, Spain}}
-
-@INPROCEEDINGS{ESmStW:GTfMCwRtNS,
- author = {Elena Smirnova and Stephen M. Watt},
- title = {{Generating TeX from Mathematical Content with Respect to Notational
- Settings}},
- booktitle = {Proceedings International Conference on Digital Typography and Electronic
- Publishing: Localization and Internationalization (TUG 2006)},
- year = {2006},
- pages = {96--105},
- address = {Marrakech, Morocco}}
-
-@INPROCEEDINGS{NaWa:MSftCoMDiMF,
- crossref = {Naylor:conversion}}
-@INPROCEEDINGS{Naylor:conversion,
- author = {Bill Naylor and Stephen M. Watt},
- title = {{Meta-Stylesheets for the Conversion of Mathematical Documents into Multiple
- Forms}},
- booktitle = {Proceedings of the International Workshop on Mathematical Knowledge
- Management},
- year = {2001},
- url = {http://www.emis.de/proceedings/MKM2001}}
-
-@INPROCEEDINGS{Lib:authoring,
- author = {P. Libbrecht},
- title = {{Authoring web content in activemath}},
- booktitle = {Proceedings of the Second International Workshop on Authoring Adaptive
-and Adaptable Educational Hypermedia},
- year = {2004},
- pages = {445--460}}
-
-@INCOLLECTION{Pleines:SystematikDesBildungsbegriffs,
- author = {J{\"u}rgen-Eckardt Pleines},
- title = {{Zur Systematik des Bildungsbegriffs}},
- booktitle = {{Bildungstheorien}},
- publisher = {Herder},
- year = {1978},
- editor = {J{\"u}rgen-Eckardt Pleines},
- pages = {172--186}}
-
-@ARTICLE{Plotkin72,
- author = {G. Plotkin},
- title = {Building in Equational Theories},
- journal = {Machine Intelligence},
- year = {1972},
- volume = {7},
- pages = {73--90}}
-
-@BOOK{Poenitsch:BildungUndRelativitaet,
- title = {{Bildung und Relativit{\"a}t: Konturen sp{\"a}tmoderner P{\"a}dagogik}},
- publisher = {K{\"o}nigshausen und Neumann},
- year = {2004},
- author = {Andreas Poenitsch},
- note = {Habilitationsschrift von 2001}}
-
-@ARTICLE{Poigne86,
- author = {A. Poign{\'e}},
- title = {On Specifications, Theories, and Models with Higher Types},
- journal = {Information and Control},
- year = {1986},
- volume = {68},
- pages = {1--46}}
-
-@TECHREPORT{vandePol93,
- author = {J. C. van de Pol},
- title = {Proving Termination of Higher Order Rewrite Systems},
- institution = {Department of Philosophy, Utrecht University},
- year = {1993},
- number = {93},
- month = jun,
- note = {Logic Group Preprint series}}
-
-@TECHREPORT{Polanyi:tldm86,
- author = {Livia Polanyi},
- title = {The Linguistic Discourse Model: Towards a formal theory of discourse
- structure},
- institution = {BBN Laboratories},
- year = {1986},
- number = {TR-6409}}
-
-@INPROCEEDINGS{Polanyi:atodsadc85,
- author = {Livia Polanyi},
- title = {A theory of discourse structure and discourse coherence},
- booktitle = {Proceedings of the 21\textsuperscript{st} Meeting of the Chicago Linguistic Society},
- year = {1985}}
-
-@BOOK{PolSag:hpsg94,
- title = {Head-driven phrase structure grammar},
- publisher = {CSLI and University of Chicago Press},
- year = {1994},
- author = {Carl Pollard and Ivan Sag}}
-
-@BOOK{PolSag:ibsas87,
- title = {Information-Based Syntax and Semantics},
- publisher = {CSLI Lecture Notes No. 13},
- year = {1987},
- author = {Carl Pollard and Ivan Sag}}
-
-@INPROCEEDINGS{ags-2002-k-5,
- author = {Martin Pollet},
- title = {Frame-base Representation for Mathematical Concepts},
- year = {2002},
- editor = {J{\"u}rgen Zimmer and Christoph Benzm{\"u}ller},
- number = {SR--02--06},
- series = {SEKI Report},
- pages = {101--104},
- address = {Saarbr{\"u}cken, Germany},
- organization = {Department of Computer Science, Saarland University},
- type = {SEKI Report}}
-
-@INPROCEEDINGS{pomeme-uitp03,
- author = {Martin Pollet and Erica Melis and Andreas Meier},
- title = {User Interface for Adaptive Suggestions for Interactive Proof},
- booktitle = {Proceedings of the Workshop User Interfaces for Theorem Provers (UITP
- 2003)},
- year = {2003},
- pages = {133--142},
- address = {Rome, Italy},
- publisher = {Aracne Editrice S.R.L.},
- note = {Also available as: Technical Report No. 189, Institut f{\"u}r Informatik,
- Albert-Ludwig-Universit{\"a}t, Freiburg.}}
-
-@INPROCEEDINGS{PoSo-calculemus03,
- author = {Martin Pollet and Volker Sorge},
- title = {Integrating Computational Properties at the Term Level},
- crossref = {CALCULEMUS03}}
-
-@BOOK{Polya:htsi73,
- title = {{How to Solve it}},
- subtitle = {A New Aspect of Mathematical Method},
- publisher = {Princeton University Press},
- year = {1973},
- author = {George P{\'o}lya}}
-
-@Book{Polya:MPS69-eng,
- year = {1969},
- title = {Mathematics and Plausible Reasoning Volume I: Induction and Analogy in Mathematics},
- author = {G. P{\'o}lya},
- publisher = {Princeton University Press}}
-
-@Book{Polya:MPS69,
- year = {1969},
- title = {Mathematik und plausibles Schlie{\ss}en: Band 1 Induktion und Analogie in
- der Mathematik},
- author = {G. P{\'o}lya},
- publisher = {Birkh{\"a}user Verlag Basel und Stuttgart}}
-
-@TECHREPORT{PosSchm96,
- author = {Joachim Posegga and Peter H. Schmitt},
- title = {{Implementing Semantic Tableaux}},
- institution = {Fakult{\"a}t f{\"u}r Informatik, Unversit{\"a}t Karlsruhe},
- year = {1996},
- type = {Interner Bericht},
- url = {http://i12www.ira.uka.de/~posegga/leantap/leantap.html}}
-
-@INPROCEEDINGS{pratt76,
- author = {Pratt, V. R.},
- title = {Semantical {Considerations} on {Floyd}-{Hoare} {Logic}},
- booktitle = {Proc. 17\textsuperscript{th} IEEE Symp. Found. Comp. Sci.},
- year = {1976},
- pages = {46--57}}
-
-@INPROCEEDINGS{Pratt:scofhl76,
- author = {Pratt, V.},
- title = {Semantical considerations of {Floyd}-{Hoare} logic},
- booktitle = {Proceedings of the 17\textsuperscript{th} Symposium on Foundations of Computer Science},
- year = {1976},
- pages = {109--121}}
-
-@ARTICLE{Prawitz68,
- author = {Dag Prawitz},
- title = {Hauptsatz for Higher Order Logic},
- journal = {Journal of Symbolic Logic},
- year = {1968},
- volume = {33},
- pages = {452--457}}
-
-@ARTICLE{Prawitz60,
- author = {Dag Prawitz},
- title = {An Improved Proof Procedure},
- journal = {Theoria},
- year = {1960},
- volume = {26},
- pages = {102--139}}
-
-@PHDTHESIS{Prehofer:hoerfl95,
- author = {Christian Prehofer},
- title = {Higher-Order Equational Reasoning: From Logic to Programming},
- school = {Technische Universit{\"a}t M{\"u}nchen},
- year = {1994},
- note = {forthcoming}}
-
-@BOOK{ProbstRaubRomhardt,
- title = {{Wissen managen}},
- publisher = {{Gabler Verlag}},
- year = {1997},
- author = {G. Probst and St. Raub and Kai Romhardt},
- edition = {4 (2003)}}
-
-@MISC{ozwebpage,
- author = {{Programming Systems Lab Saarbr{\"u}cken}},
- year = {1998},
- note = {The Oz Webpage: \url{http://www.ps.uni-sb.de/oz/}},
- url = {http://www.ps.uni-sb.de/oz/}}
-
-@PHDTHESIS{Praecklein92a,
- author = {Axel Pr{\"a}cklein},
- title = {Integration of Rewriting, Narrowing, Compilation, and Heuristics
- for Equality Reasoning in Resolution-Based Theorem Proving},
- school = {Universit{\"a}t des Saarlandes},
- year = {1992}}
-
-@book{Harary:gt69,
- title = {Graph Theory},
- publisher = {Addison Wesley},
- year = {1969},
- author = {Frank Harary}}
-
-@TECHREPORT{Praecklein90,
- author = {Axel Pr{\"a}cklein},
- title = {Soving equality reasoning problems with a connection graph theorem
- prover},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1990},
- type = {SEKI-Report},
- number = {SR-90-07},
- address = {Kaiserslautern, Germany}}
-
-@PHDTHESIS{Prust92,
- author = {Hub Pr{\"u}st},
- title = {On Discourse structuring, VP anaphora and Gapping},
- school = {University of Amsterdam},
- year = {1992}}
-
-@ARTICLE{PruSchBer:dgavpa94,
- author = {H. Pr{\"u}st and R. Scha and M. van den Berg},
- title = {Discourse grammar and Verb Phrase Anaphora},
- journal = {Linguistics \& Philosophy},
- year = {1994},
- volume = {17},
- pages = {261--327}}
-
-@ARTICLE{Pulman:asatc97,
- author = {Pulman, S.},
- title = {Aspectual shift as type coercion},
- journal = {Transactions of the Philological Society},
- year = {1997},
- volume = {95}}
-
-@ARTICLE{Pulman:houatiof95,
- author = {Steve Pulman},
- title = {Higher Order Unification and the Interpretation of Focus},
- journal = {Linguistics \& Philosophy},
- year = {1997},
- volume = {20},
- pages = {73--115}}
-
-@ARTICLE{Pulman:gpaml86,
- author = {Steve Pulman},
- title = {Grammars, Parsers and Memory Limitations},
- journal = {Language and Cognitive Processes},
- year = {1986},
- volume = {1},
- pages = {197--225},
- number = {3}}
-
-@TECHREPORT{Pulman:houati94,
- author = {Stephen G. Pulman},
- title = {Higher Order Unification and the Interpretation of Focus},
- institution = {SRI Cambridge, UK},
- year = {1994},
- number = {CRC-049}}
-
-@INPROCEEDINGS{Pulman:houatsof93,
- author = {Steve G. Pulman},
- title = {Higher-Order Unification and the Semantics of Focus},
- booktitle = {Third Nordic Conference on Text Comprehension in Man and Machine},
- year = {1993},
- pages = {113--127},
- address = {Link{\"o}ping University}}
-
-@INCOLLECTION{Pustejovsky:tcls93,
- author = {James Pustejovsky},
- title = {Type coercion and lexical selection},
- booktitle = {Semantics and the lexicon},
- publisher = {Kluwer},
- year = {1993},
- editor = {J. Pustejovsky},
- pages = {73--94},
- address = {Dordrecht}}
-
-@ARTICLE{Pustejovsky:tsolu98,
- author = {James Pustejovsky},
- title = {The semantics of lexical underspecification},
- journal = {Folia Linguistica},
- year = {1998},
- volume = {32},
- pages = {323--347}}
-
-@BOOK{Pustejovsky:tgl95,
- title = {The Generative Lexicon},
- publisher = {MIT Press},
- year = {1995},
- author = {James Pustejovsky},
- address = {Cambridge, MA}}
-
-@ARTICLE{Pustejovsky:gl91,
- author = {J. Pustejovsky},
- title = {The generative lexicon},
- journal = {Computational Linguistics},
- year = {1991},
- volume = {17},
- pages = {409--441}}
-
-@ARTICLE{Pustejovsky:tgl91,
- author = {James Pustejovsky},
- title = {The Generative Lexicon},
- journal = {Computational Linguistics},
- year = {1991},
- volume = {17}}
-
-@ARTICLE{PusBog:lkrnlp93,
- author = {J. Pustejovsky and B. Boguraev},
- title = {Lexical knowledge representation and natural language processing},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {63},
- pages = {193--223}}
-
-@BOOK{EthicsWithoutOntology,
- title = {{Ethics without Ontology}},
- publisher = {Harvard University Press},
- year = {2004},
- author = {Hilary Putnam}}
-
-@BOOK{Putnam:CollapseOfFactValueDichotomy,
- title = {{The Collapse of the Fact/Value Dichotomy and Other Essays}},
- publisher = {Harvard University Press},
- year = {2002},
- author = {Hilary Putnam}}
-
-@ARTICLE{putn:syno54,
- author = {Putnam, H.},
- title = {Synonymity and the {Analysis} of {Belief} {Sentences}},
- journal = {Analysis},
- year = {1954},
- volume = {14},
- pages = {114--122}}
-
-@INPROCEEDINGS{Qian93,
- author = {Zhenyu Qian},
- title = {Linear Unification of Higher-Order Patterns},
- booktitle = {Proceedings of TAPSOFT(CAAP)'93},
- year = {1993},
- editor = {M.-C. Gaudel, J.-P. Jouannaud},
- number = {668},
- series = {LNCS},
- pages = {391--405},
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{Qian:luohop93,
- author = {Zhenyu Qian},
- title = {Linear Unification of Higher-Order Patterns},
- booktitle = {Proceedings of TAPSOFT(CAAP)'93},
- year = {1993},
- editor = {M.-C. Gaudel, J.-P. Jouannaud},
- number = {668},
- series = {LNCS},
- pages = {391--405},
- publisher = {Springer Verlag}}
-
-@ARTICLE{Qian:uhoplts96,
- author = {Zhenyu Qian},
- title = {Unification of higher-order patterns in linear time and space},
- journal = {Journal of Logic and Computation},
- year = {1996},
- volume = {6},
- pages = {315--341},
- number = {3}}
-
-@PHDTHESIS{Qian91,
- author = {Zhenyu Qian},
- title = {Extensions of Order-Sorted Algebraic Specifications: Parameterization,
- Higher-Functions and Polymorphism},
- school = {Universit{\"a}t Bremen},
- year = {1991},
- month = {M{\"a}rz}}
-
-@PHDTHESIS{Qian90,
- author = {Zhenyu Qian},
- title = {Extensions of Algebraic Specifications: Subtype Polymorphism, Higher
- Order Functions and Parameterization},
- school = {University of Bremen},
- year = {1990}}
-
-@INPROCEEDINGS{Qian90a,
- author = {Zhenyu Qian},
- title = {Higher-Order Order-Sorted Algebras},
- booktitle = {Proceedings of the $2^{nd}$ International Conference on Algebraic
- and Logic Programming},
- year = {1990},
- number = {463},
- series = {LNCS},
- pages = {86--100},
- address = {Nancy, France},
- publisher = {Springer Verlag}}
-
-@INPROCEEDINGS{Qian89,
- author = {Zhenyu Qian},
- title = {Relation-Sorted Algebraic Specifications with Built-in Coercers:
- Parameterization and Parameter Passing},
- booktitle = {Proceedings in Categorical Methods in Computer Science with Aspects
- from Topology},
- year = {1989},
- number = {393},
- series = {LNCS},
- publisher = {Springer Verlag}}
-
-@MISC{QiWa94,
- author = {Zhenyu Qian and Kang Wang},
- title = {Modular {AC} Unification of Higher-Order Patterns},
- year = {1994},
- note = {draft}}
-
-@BOOK{Quaife9,
- title = {Automated Development of Fundamental Mathematic Theories},
- publisher = {Kluwer},
- year = {199?},
- author = {Art Quaife}}
-
-@ARTICLE{Quaife92,
- author = {Art Quaife},
- title = {Automated Deduction in von {Neumann}-{Bernays}-{G{\"o}del} Set Theory},
- journal = {Journal of Automated Reasoning},
- year = {1992},
- volume = {8},
- pages = {91--148},
- number = {1}}
-
-@BOOK{quin:from53,
- title = {From a {Logical} {Point} of {View}},
- publisher = {Harper {and} Row},
- year = {1953},
- author = {Quine, W. V. O.},
- address = {New York}}
-
-@TECHREPORT{RagHor:html98,
- author = {Dave Raggett and Arnaud Le Hors and Ian Jacobs},
- title = {{HTML} 4.0 {Specification}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {1998},
- type = {{W3C} Recommendation},
- number = {REC-html40},
- month = apr,
- url = {http://www.w3.org/TR/PR-xml.html},
- key = {Raggett}}
-
-@INPROCEEDINGS{Ramsay:aafc96,
- author = {Ramsay, A.},
- title = {Aspekt and aktionsart: fighting or cooperating?},
- booktitle = {Proceedings of {COLING} 1996},
- year = {1996},
- pages = {889--894}}
-
-@INPROCEEDINGS{Ranta:ttilm94,
- author = {Aarne Ranta},
- title = {Type theory and the informal language of mathematics},
- booktitle = {Types for Proofs and Programs},
- year = {1994},
- editor = {H. Barendregt and T. Nipkow},
- number = {806},
- series = {LNCS},
- pages = {352--365}}
-
-@inproceedings{BarCoh:RaHMCbHaM,
- author = {Henk Barendregt and Arjeh M. Cohen},
- title = {Representing and handling mathematical concepts by humans and machines},
- crossref={ISSAC00},
- doi = {10.1145/345542.345555}}
-
-
-@article{BarCoh:ecm01,
- author = {Henk Barendregt and Arjeh M. Cohen},
- title = {Electronic communication of mathematics and the interaction of computer algebra
- systems and proof assistants},
- Journal = {Journal of Symbolic Computation},
- year = 2001,
- volume = 32,
- pages = {3--22}}
-
-@inproceedings{KSS:pmc07,
-author = {C.H.A. Koster and M. Seutter and O. Seibert},
-title = {Parsing the Medline Corpus},
-booktitle= {Proceedings RANLP},
-year={2007},
-pages= {325--329}}
-
-
-@INCOLLECTION{Ranta:sclm95,
- author = {Aarne Ranta},
- title = {Syntactic categories in the language of mathematics},
- booktitle = {Types for Proofs and Programs},
- publisher = {Springer Verlag},
- year = {1995},
- editor = {P. Dybjer and B. Nordstr{\"o}m and J. Smith},
- number = {996},
- series = {LNCS},
- pages = {162--182}}
-
-@INCOLLECTION{Ranta:crsc96,
- author = {Aarne Ranta},
- title = {Context-relative syntactic categories and the formalization of mathematical
- text},
- booktitle = {Types for Proofs and Programs},
- publisher = {Springer Verlag},
- year = {1996},
- editor = {S.Berardi and M.\ Coppo},
- number = {1158},
- series = {LNCS}}
-
-@ARTICLE{Ranta:GF04,
- author = {Aarne Ranta},
- title = {Grammatical Framework --- A Type-Theoretical Grammar Formalism},
- journal = {Journal of Functional Programming},
- year = {2004},
- volume = {14},
- pages = {145--189},
- number = {2}}
-
-@Book{ranta-2011,
- author = {Aarne Ranta},
- title = {{Grammatical Framework:
- Programming with Multilingual Grammars}},
- publisher = {{CSLI Publications}},
- year = {2011},
- address = "Stanford",
- note = "ISBN-10: 1-57586-626-9 (Paper), 1-57586-627-7 (Cloth)"
-}
-
-@ARTICLE{Ranta:ttigpsg95,
- author = {Aarne Ranta},
- title = {Type-theoretical interpretation and generalization of phrase structure
- grammar},
- journal = {Bulletin of the IGPL},
- year = {1995}}
-
-@BOOK{raymond99:cathedral-bazaar,
- title = {The Cathedral and the Bazaar: Musings on Linux and Open Source by
- an Accidental Revolutionary},
- publisher = {O'Reilly},
- year = {1999},
- author = {Eric S. Raymond},
- url = {http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/},
- isbn = {1565927249}}
-
-@ARTICLE{RecPir95,
- author = {Recker, M. M. and Pirolli, P.},
- title = { Modeling individual differences in students' learning strategies},
- journal = {The Journal of the learning sciences},
- year = {1995},
- volume = {4},
- pages = {1--38},
- number = {1}}
-
-@BOOK{Reichel87,
- title = {Initial Computability, Algebraic Specifications, and Partial Algebras},
- publisher = {Oxford University Press},
- year = {1987},
- author = {H. Reichel},
- keyowrds = {PartialFuncs}}
-
-@BOOK{Reichman:gcttly85,
- title = {Getting Computers to Talk Like You and Me},
- publisher = {MIT Press},
- year = {1985},
- author = {Rachel Reichman}}
-
-@BOOK{Reichman:gcttlyam85,
- title = {Getting computers to talk like you and me},
- publisher = {MIT Press},
- year = {1985},
- author = {R. Reichman}}
-
-@BOOK{Reid:plpd87,
- title = {PostScript, Language, Program Design},
- publisher = {Addison Wesley},
- year = {1987},
- author = {Glenn C. Reid}}
-
-@BOOK{Reimann:lbwab97,
- title = {{Lernprozesse} beim {Wissenserwerb} aus {Beispielen}},
- publisher = {Huber Verlag},
- year = {1997},
- author = {P. Reimann},
- address = {Bern}}
-
-@INBOOK{rein:91,
- chapter = {6},
- title = {Binding in Polish},
- publisher = {Cambridge},
- year = {1991},
- editor = {Jan Koster and Eric Reuland},
- author = {Ewa Reinders-Machowska}}
-
-@ARTICLE{Reinhart:caba83,
- author = {Tania Reinhart},
- title = {Coreference and Bound Anaphora},
- journal = {Linguistics \& Philosophy},
- year = {1983},
- volume = {6},
- pages = {47--88}}
-
-@ARTICLE{reiter91,
- author = {Ehud Reiter},
- title = {A new model of lexical choice for nouns},
- journal = {Computational Intelligence},
- year = {1991}}
-
-@PHDTHESIS{Reithinger:epazig91,
- author = {Reithinger, Norbert},
- title = {Eine parallele {Architektur} zur inkrementellen {Generierung} multimodaler
- {Dialogbeitr{\"a}ge}},
- school = {Universit{\"a}t des Saarlandes},
- year = {1991},
- address = {Saarbr{\"u}cken\GERMANY},
- annote = {Also available as book, Infix, Sankt Augustin, 1991}}
-
-@INPROCEEDINGS{Ret97tlca,
- author = {Christian Retor{\'e}},
- title = {Pomset logic: a non-commutative extension of classical linear logic},
- crossref = {TLCA97}}
-
-@ARTICLE{Ret96tal,
- author = {Christian Retor{\'e}},
- title = {Calcul de Lambek et logique lin{\'e}aire},
- journal = {Traitement Automatique des Langues},
- year = {1997},
- volume = {37},
- pages = {39--71},
- number = {2}}
-
-@ARTICLE{Ret97,
- author = {Christian Retor{\'e}},
- title = {A semantical characterisation of the correctness of a proof net},
- journal = {Mathematical Structures in Computer Science},
- year = {1997},
- note = {to appear in the special issue on LDPL'95}}
-
-@ARTICLE{Ret96,
- author = {Christian Retor{\'e}},
- title = {Perfect matchings and series-parallel graphs: Multiplicative proof nets as {R}\&{B}-graphs},
- crossref = {LINEAR96},
- year = {1996}}
-
-@INCOLLECTION{Reyle:cld96,
- author = {Reyle, U.},
- title = {Co-indexing labeled {DRS}s to represent and reason with ambiguities},
- booktitle = {Semantic ambiguity and underspecification},
- publisher = {CSLI Publications},
- year = {1996},
- editor = {Deemter, K. and Peters, S.},
- pages = {239--268},
- address = {Stanford}}
-
-
-@ARTICLE{reyle93,
- author = {Reyle, U.},
- title = {{Dealing} with {Ambiguities} by {Underspecification}: Construction,
- Representation and Deduction},
- journal = {Journal of Semantics},
- year = {1993},
- volume = {10},
- pages = {123--179}}
-
-@ARTICLE{Reyle:dwabu93,
- author = {Reyle, U.},
- title = {Dealing with ambiguities by underspecification: construction, representation,
- and deduction},
- journal = {Journal of Semantics},
- year = {1993},
- volume = {10},
- pages = {123--179}}
-
-@INCOLLECTION{Reyle:dwabu92,
- author = {Reyle, U.},
- title = {Dealing with Ambiguities by Underspecification: a First Order Calculus
- for Unscoped Representations },
- booktitle = {Proceedings of the Eighth {Amsterdam} {Colloquium}},
- year = {1992}}
-
-@ARTICLE{ReyGab:ddcodrs94,
- author = {Reyle, Uwe and Gabbay, Dov M.},
- title = {Direct Deductive computation on Discourse Representation Structures},
- journal = {Linguistics \& Philosophy},
- year = {1994},
- volume = {17},
- pages = {343--390}}
-
-@INCOLLECTION{Reynolds80,
- author = {J. Reynolds},
- title = {Using category theory to design implicit conversions and generic
- operations},
- booktitle = {Semantics-Directed Compiler Generation},
- publisher = {Springer Verlag},
- year = {1980},
- number = {94},
- series = {LNCS},
- pages = {211--258}}
-
-@BOOK{RichKnight:ai91,
- title = {Artificial Intelligence},
- publisher = {McGraw-Hill},
- year = {1991},
- author = {Elaine Rich and Kevin Knight}}
-
-@INPROCEEDINGS{lclam1,
- author = {J. D. C. Richardson and A. Smaill and I. M. Green},
- title = {{System description: {Proof} planning in higher-order logic with
- $\lambda${\sl Clam}}},
- crossref = {CADE98},
- pages = {129--133}}
-
-@INCOLLECTION{Rieger:75,
- author = {Chuck Rieger},
- title = {The commonsense algorithm as a basis for computer models of human
- memory, inference, belief and contextual language comprehension},
- booktitle = {Theoretical Issues in Natural Language Processing},
- publisher = {MIT Press},
- year = {1975}}
-
-@BOOK{Rieger-Ladich:Muendigkeit,
- title = {{M{\"u}ndigkeit als Pathosformel: Beobachtungen zur p{\"a}dagogischen
- Semantik}},
- publisher = {UVK Verlagsgesellschaft mbH},
- year = {2002},
- author = {Markus Rieger-Ladich}}
-
-@PHDTHESIS{Rijke93,
- author = {Maarten de Rijke},
- title = {Extending Modal Logic},
- school = { Universiteit van Amsterdam},
- year = {1993}}
-
-@TECHREPORT{Rijke:asodml92,
- author = {Maarten de Rijke},
- title = {A System for Dynamic Modal Logic},
- institution = {{Institute for Logic, Language and Computation, Universiteit van
- Amsterdam}},
- year = {1992},
- type = {ILLC Report},
- number = {LP-92-08}}
-
-@ARTICLE{RinBow:arfasm95,
- author = {M. Rinck and G. H. Bower},
- title = {Anaphora resolution and the focus of attention in situation models},
- journal = {Journal of Memory and Language},
- year = {1995},
- volume = {34},
- pages = {110--131}}
-
-@BOOK{Rips94,
- title = {The Psychology of Proof},
- publisher = {MIT Press},
- year = {1994},
- author = {Lance J. Rips}}
-
-@BOOK{Rips:tpop94,
- title = {The psychology of proof -- Deductive Reasoning in Human Thinking},
- publisher = {MIT Press, Cambridge},
- year = {1994},
- author = {Rips, Lance J.}}
-
-@ARTICLE{Rips83,
- author = {Lance J. Rips},
- title = {Cognitive Processes in Propositional Reasoning},
- journal = {Psychological Review},
- year = {1983},
- volume = {90},
- pages = {38--71}}
-
-@ARTICLE{Roberts:msapaid89,
- author = {Craige Roberts},
- title = {Modal Subordination and Pronominal Anaphora in Discourse},
- journal = {Linguistics \& Philosophy},
- year = {1989},
- volume = {12},
- pages = {683--721}}
-
-@ARTICLE{RoWo69,
- author = {Arthur Robinson and Larry Wos},
- title = {Paramodulation and {TP} in First Order Theories with Equality},
- journal = {Machine Intelligence},
- year = {1969},
- volume = {4},
- pages = {135--150}}
-
-@ARTICLE{RoWo:patifo69,
- author = {Arthur Robinson and Larry Wos},
- title = {Paramodulation and {TP} in First Order Theories with Equality},
- journal = {Machine Intelligence},
- year = {1969},
- volume = {4},
- pages = {135--150}}
-
-@TECHREPORT{RoRo86,
- author = {E. Robinson and G. Rosolini},
- title = {Categories of partial maps},
- institution = {Dipartimiento de Mathematica, Unversia' di Parma},
- year = {1986},
- type = {Quaderno},
- number = {18},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{Robinson69,
- author = {J. A. Robinson},
- title = {Mechanizing Higher Order Logic},
- journal = {Machine Intelligence},
- year = {1969},
- volume = {4},
- pages = {151--170}}
-
-@ARTICLE{Robinson69a,
- author = {J. A. Robinson},
- title = {A note on Mechanizing Higher Order Logic},
- journal = {Machine Intelligence},
- year = {1969},
- volume = {5},
- pages = {121--134}}
-
-@ARTICLE{Robinson:mhol69,
- author = {J. A. Robinson},
- title = {Mechanizing Higher Order Logic},
- journal = {Machine Intelligence},
- year = {1969},
- volume = {4},
- pages = {151--170}}
-
-@ARTICLE{Robinson:amolbo65,
- author = {J. A. Robinson},
- title = {A Machine-Oriented Logic based on the Resolution Principle},
- journal = {Journal of the Association for Computing Machinery},
- year = {1965},
- volume = {12},
- pages = {23--41},
- number = {1}}
-
-@INPROCEEDINGS{RogVij:rwdot92,
- author = {James Rogers and K. Vijay-Shanker},
- title = {Reasoning with Descriptions of Trees},
- booktitle = {Proc. {ACL}},
- year = {1992}}
-
-@INPROCEEDINGS{Rooth:erarr92,
- author = {Mats Rooth},
- title = {Ellipsis Redundancy and Reduction Redundancy},
- booktitle = {Proceedings of the Stuttgart Ellipsis Workshop},
- year = {1992},
- editor = {Steve Berman and Arild Hestvik},
- address = {University of Stuttgart}}
-
-@ARTICLE{Rooth:atofi92,
- author = {Mats Rooth},
- title = {A theory of Focus Interpretation},
- journal = {Natural Language Semantics},
- year = {1992},
- pages = {75--116}}
-
-@INPROCEEDINGS{RooPar:ctawso82,
- author = {Mats Rooth and B. Partee},
- title = {Conjunction type ambiguity and wide scope ``or''},
- booktitle = {Proceedings of the {First} {West} {Coast} {Conference} on {Formal}
- {Linguistics}},
- year = {1982},
- pages = {353--362},
- publisher = {Stanford University}}
-
-@BOOK{soar93,
- title = {The Soar Papers: Readings on Integrated Intelligence},
- publisher = {MIT Press},
- year = {1993},
- author = {Rosenbloom, P. S. and Laird, J. E. and Newell, A.},
- key = {Rosenbloom}}
-
-@Article{NewSim:cseisas81,
- author = {Alan Newell and Herbert A. Simon },
- title = {Computer Science as empirical inquiry: Symbols and search},
- journal = {Communications of the Association for Computing Machinery},
- year = 1981,
- volume = 19,
- pages = { 113--126}}
-
-@TechReport{xml1.1:04,
- author = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen and Eve Maler and
- Fran{\c c}ois Yergeau and John Cowan},
- title = {{Extensible Markup Language (XML) 1.1.}},
- institution = {World Wide Web Consortium (W3C)},
- year = 2004,
- type = {W3C Recommendation },
- number = {REC-xml11-20040204},
- url = {http://www.w3.org/TR/2004/REC-xml11-20040204/}}
-
-@INPROCEEDINGS{RosSte:crst92,
- author = {Dietmar Rosner and Manfred Stede},
- title = {Customizing RST for advisory dialogues},
- booktitle = {Proceedings of the 6\textsuperscript{th} International Workshop on Natural Language
- Generation},
- year = {1992},
- pages = {199--215}}
-
-@PHDTHESIS{Ross67,
- author = {J. R. Ross},
- title = {Constraints on Variables in syntax},
- school = {MIT},
- year = {1967}}
-
-@INPROCEEDINGS{Rudnicki:aomp92,
- author = {Piotr Rudnicki},
- title = {An Overview of the MIZAR Project},
- booktitle = {Proceedings of the 1992 Workshop on Types and Proofs as Programs},
- year = {1992},
- pages = {311--332}}
-
-@ARTICLE{RudSchTry:cams01,
- author = {Piotr Rudnicki and Christoph Schwarzweller and Andrzej Trybulec},
- title = {Commutative Algebra in the {Mizar} System},
- journal = {Journal of Symbolic Computation},
- year = {2001},
- volume = {32},
- pages = {143--169}}
-
-
-@ARTICLE{Russel:rwpm01,
- author = {Russell, Bertrand},
- title = {Recent work in the philosophy of mathematics},
- journal = {International Monthly},
- year = {1901},
- volume = {4},
- pages = {84ff}}
-
-@ARTICLE{russ:math08,crossref={Russell08}}
-@ARTICLE{Russell08,
- author = {Bertrand Russell},
- title = {Mathematical Logic as based on the Theory of Types},
- journal = {American Journal of Mathematics},
- year = {1908},
- volume = {XXX},
- pages = {222--262}}
-
-@ARTICLE{Russell05,
- author = {Bertrand Russell},
- title = {On Denoting},
- journal = {Mind (New Series)},
- year = {1905},
- volume = {14},
- pages = {479--493}}
-
-@BOOK{russell1921analysis,
- title={The Analysis of Mind},
- author={Bertrand Russel},
- series={Library of philosophy},
- url={http://books.google.de/books?id=4dYLAAAAIAAJ},
- year={1921},
- publisher={G. Allen \& Unwin},
- keywords={lamapunbibs}
-}
-
-@BOOK{lundquist2000language,
- title={Language, Text, and Knowledge: Mental Models of Expert Communication},
- author={Lundquist, L. and R. J. Jarvella, L.L.},
- isbn={9783110167245},
- lccn={00035163},
- series={Text, Translation, Computational Processing, 2},
- url={http://books.google.de/books?id=y4YZd4J8GiwC},
- year={2000},
- publisher={De Gruyter},
- keywords={lamapunbibs}
-}
-
-
-@INPROCEEDINGS{RaccahWordsTerms,
- author = {Pierre-Yves Raccah},
- title = {Lexical and dynamical topoi in semantic description: A theoretical and practical differentiation between words and terms},
- booktitle = {Language, Text, and Knowledge: Mental Models of Expert Communication},
- year = {2000},
- keywords={lamapunbibs},
- pages = {11--30}}
-
-@ARTICLE{Russell91,
- author = {Stuart J. Russell},
- title = {An Architecture for Bounded Rationality},
- journal = {SIGART Bulletin},
- year = {1991},
- volume = {2},
- pages = {146--150},
- number = {4}}
-
-@BOOK{RussellNorvig:aiama95,
- title = {Artificial Intelligence --- A Modern Approach},
- publisher = {Prentice Hall},
- year = {1995},
- author = {Stuart J. Russell and Peter Norvig},
- address = {Upper Saddle River, NJ}}
-
-@BOOK{bloom:handbook,
- title = {{Taxonomy of Educational Objectives: The Classification Of Educational Goals:
- Handbook I}},
- publisher = {Longmans, Green},
- year = {1956},
- editor = {B. Bloom},
- address = {New York, Toronto}}
-
-@INPROCEEDINGS{RussellSP93,
- author = {Stuart J. Russell and Devika Subramanian and Ronald Parr},
- title = {Provably Bounded Optimal Agents},
- booktitle = {Proceeings of IJCAI 93},
- year = {1993},
- pages = {338--344}}
-
-@BOOK{russell:dtrt91,
- title = {Do the Right Thing --- Studies in limited Rationality},
- publisher = {MIT Press},
- year = {1991},
- author = {Russell, S. J. and Wefald, E.}}
-
-@INPROCEEDINGS{RussellZ91,
- author = {Stuart J. Russell and Shlomo Zilberstein},
- title = {Composing Real-Time Systems},
- booktitle = {Proc.\ of the 12\textsuperscript{th} IJCAI},
- year = {1991},
- pages = {212--217},
- address = {Sydney}}
-
-@BOOK{Rade_Westergren:95,
- title = {Mathematische {Formeln},{Taschenbuch} f{\"u}r {Ingenieure},
- {Naturwissenschaftler},
- {Wirtschaftswissenschaftler}},
- publisher = {Springer},
- year = {1995},
- author = {L. R{\aa}de and B. Westergren}}
-
-@PHDTHESIS{Sag:dlf76,
- author = {Sag, Ivan},
- title = {Deletion and logical form},
- school = {MIT},
- year = {1976},
- address = {Cambridge}}
-
-@ARTICLE{Sag:ercc97,
- author = {Ivan A. Sag},
- title = {English Relative Clause Constructions},
- journal = {Journal of Linguistics},
- year = {1997}}
-
-@BOOK{Sag:dlf80,
- title = {Deletion and Logical Form},
- publisher = {Garland Publishing},
- year = {1980},
- author = {Ivan A. Sag},
- address = {New York and London}}
-
-@ARTICLE{Sandt:ppaar92,
- author = {Rob van der Sandt},
- title = {Presupposition Projection as Anaphora Resolution},
- journal = {Journal of Semantics},
- year = {1992},
- volume = {9},
- pages = {333--377}}
-
-@INPROCEEDINGS{Sanfilippo:taac93,
- author = {Sanfilippo, A.},
- title = {Thematic affectedness and aspect compositionality},
- booktitle = {Proceedings of the {Cortona} {Tense}-{Aspect} {Workshop}},
- year = {1993},
- editor = {Bertinetto, P. and Bianchi, V. and Squartini, M.}}
-
-@BOOK{SanGar:uwl81,
- title = {Understanding written language},
- publisher = {John Wiley \& Sons},
- year = {1981},
- author = {A. J. Sanford and S. C. Garrod},
- address = {Chichester}}
-
-@INCOLLECTION{SanGar:spitu94,
- author = {T. J. Sanford and S. C. Garrod},
- title = {Selective processing in text understanding},
- booktitle = {Handbook of Psycholinguistics},
- publisher = {Academic Press},
- year = {1994},
- editor = {M. A. Gernsbacher},
- pages = {699--719},
- address = {San Diego}}
-
-@UNPUBLISHED{Saurer:anoaai95,
- author = {Saurer, Werner},
- title = {A Note On Anaphora and Inference},
- note = {Universit{\"a}t des Saarlandes},
- year = {1995}}
-
-@ARTICLE{Saurer:andsfd93,
- author = {Werner Saurer},
- title = {A Natural Deduction System for Discourse Representation Theory},
- journal = {Journal of Philosophical Logic},
- year = {1993},
- volume = {22}}
-
-@INCOLLECTION{Schaefer:Verstaendigungsgefaehrdungen,
- author = {Arnold Sch{\"a}fer},
- title = {{Die aktuellen Gef{\"a}hrdungen der verst{\"a}ndigungspraktischen
- Voraussetzungen
- f{\"u}r die Realisierbarkeit einer kommunikativen Ethik und Erziehungspraxis}},
- booktitle = {P{\"a}dagogik und Ethik: Beitr{\"a}ge zu einer zweiten Reflexion},
- publisher = {Deutscher Studien Verlag},
- year = {1992},
- editor = {K{\"a}te Meyer-Drawe and Helmut Peukert and J{\"o}rg Ruhloff},
- number = {2},
- series = {{Schriften zur Bildungs- und Erziehungsphilosophie}},
- pages = {63--80}}
-
-@ARTICLE{scho:baus24,
- author = {Sch{\"o}nfinkel, M.},
- title = {{\"U}ber die {Bausteine} der mathematischen {Logik}},
- journal = {Mathematische Annalen},
- year = {1924},
- volume = {92},
- pages = {305--316}}
-
-@INPROCEEDINGS{SchPol:aacfgfd88,
- author = {R. Scha and L. Polanyi},
- title = {An augmented context free grammar for discourse},
- booktitle = {Proceedings of the 12\textsuperscript{th} International Conference of the {Association}
- for {Computational} {Linguistics}},
- year = {1988},
- pages = {573--577},
- address = {Budapest}}
-
-@INPROCEEDINGS{SchJos:aetpaftag88,
- author = {Yves Schabes and Aravind Joshi},
- title = {An Earley-type parsing algorithm for Tree Adjoining Grammars},
- booktitle = {Proceedings of the 31\textsuperscript{th} Annual Meeting of the {Association} for
- {Computational}
- {Linguistics}},
- year = {1988},
- address = {Buffalo, NY}}
-
-
-@InProceedings{schaffert06:STICA-ikewiki,
- author = {Sebastian Schaffert},
- title = {{IkeWiki}: A Semantic Wiki for Collaborative Knowledge Management},
- booktitle = {1\textsuperscript{st} International Workshop on Semantic Technologies in Collaborative
- Applications (STICA)},
- venue = {Manchester, UK},
- eventdate = {2006-06},
- year = {2006}}
-
-@TECHREPORT{schaffert06:ikewiki,
- author = {Sebastian Schaffert},
- title = {{IkeWiki}: A Semantic Wiki for Collaborative Knowledge Management},
- institution = {Salzburg Research Forschungsgesellschaft},
- year = {2006},
- url = {http://www.wastl.net/download/paper/schaffert06_ikewiki.pdf}}
-
-@MISC{schaffert05:semantic-wikis,
- author = {Sebastian Schaffert and Andreas Gruber and Rupert Westenthaler},
- title = {A Semantic Wiki for Collaborative Knowledge Formation},
- howpublished =
- {\url{http://www.wastl.net/download/paper/SemWikiForCollKnowForm_20060120.pdf}},
- year = {2005},
- institution = {Salzburg Research Forschungsgesellschaft},
- url = {http://www.wastl.net/download/paper/SemWikiForCollKnowForm_20060120.pdf}}
-
-@INPROCEEDINGS{Schank:tromilp76,
- author = {Schank, R. C.},
- title = {The role of memory in language processing},
- booktitle = {The nature of human memory},
- year = {1976},
- editor = {Cofer, C.},
- publisher = {Freeman, San Francisco}}
-
-@INPROCEEDINGS{DymTen:cfgrtplr00,
- author = {Marc Dymetman and Fr{\'e}d{\'e}ric Tendeau},
- title = {Context-Free Grammar Rewriting and the Transfer of Packed Linguistic Representations},
- page = {1016--1020},
- crossref= {COLING00}}
-
-@InCollection{KolThaPin:sutdtp10,
- author = {Alexander Koller and Stefan Thater and Manfred Pinkal},
- title = {Scope underspecification with tree descriptions: Theory and practice},
- booktitle = {Resource Adaptive Cognitive Processes},
- publisher = {Springer},
- year = 2010,
- editor = {Matthew Crocker and J{\"o}rg Siekmann},
- series = {Cognitive Technologies Series},
- address = {Berlin}
-}
-
-@inproceedings{wtt-Jojgov05,
- author = {Gueorgui I. Jojgov},
- title = {Translating a Fragment of Weak Type Theory into Type Theory with Open Terms},
- year = {2005},
- pages = {389-403},
- ee = {http://dx.doi.org/10.1007/11618027_26},
- crossref = {MKM05}}
-
-@mastersthesis{wtt-comp-miz,
- author = {G. Geleijnse},
- title = {Comparing Two User-Friendly Formal Languages for Mathematics: Weak Type Theory and Mizar},
- school = {Technische Universiteit Eindhoven},
- year = 2004,
-}
-
-@mastersthesis{wtt-form-math,
- author = {M. Scheffer},
- title = {Formalizing Mathematics using Weak Type Theory},
- school = {Eindhoven University of Technology},
- year = 2003,
-}
-
-@ARTICLE{Schank:72,
- author = {Schank, R. C.},
- title = {Conceptual dependency: a theory of natural language understanding},
- journal = {Cognitive Psychology},
- year = {1972}}
-
-@INPROCEEDINGS{sbrs03:cdeftcrhr,
- author = {Jan Scheffczyk and Uwe M. Borghoff and Peter R{\"o}dig and Lothar
- Schmitz},
- title = {{Consistent} {Document} {Engineering}: {Formalizing} {Type}-safe
- {Consistency} {Rules} for {Heterogeneous} {Repositories}},
- booktitle = {Proceedings of the 2003 ACM Symposium on Document Engineering (DocEng'03)},
- year = {2003},
- editor = {Christine Vanoirbeek and C{\'e}cile Roisin and Ethan Munson},
- pages = {140--149},
- publisher = {ACM Press}}
-
-@ARTICLE{sbrs04:tecmia,
- author = {Jan Scheffczyk and Uwe M. Borghoff and Peter R{\"o}dig and Lothar
- Schmitz},
- title = {{Towards} {Efficient} {Consistency} {Management} for {Informal}
- {Applications}},
- journal = {International Journal of Computer \& Information Science},
- year = {2004},
- volume = {5},
- pages = {109--121},
- number = {2}}
-
-@TECHREPORT{sbrs03:cdcde,
- author = {Jan Scheffczyk and Uwe M. Borghoff and Peter R{\"o}dig and Lothar
- Schmitz},
- title = {A {Comprehensive} {Description} of {Consistent} {Document} {Engineering}},
- institution = {University of the Federal Armed Forces Munich},
- year = {2003},
- type = {Report},
- month = nov}
-
-@INPROCEEDINGS{SchBor:mirpr04,
- author = {Jan Scheffczyk and Uwe M. Borghoff and Peter R{\"o}dig and Lothar
- Schmitz},
- title = {Managing inconsistent repositories via prioritized repairs},
- booktitle = {Proceedings of the ACM Symposium on Document Engineering},
- year = {2004},
- editor = {E.V. Munson and J.Y. Vion-Dury},
- timestamp = {2007.10.25}
-}
-
-
-@ARTICLE{ssbs04:fkss,
- author = {Jan Scheffczyk and Christiane Stutz and Uwe M. Borghoff and Johannes
- Siedersleben},
- title = {{Formale} {Konsistenzsicherung} in informellen {Software}-{Spezifikationen}},
- journal = {Informatik: Forschung und Entwicklung},
- year = {2004},
- volume = {19},
- pages = {17--29},
- number = {1}}
-
-@INBOOK{SS-93-a,
- chapter = {The Carnegie Mellon Proof Tutor},
- publisher = {McGraw-Hill},
- year = {1993},
- editor = {Judith V. Boettcher},
- author = {Scheines, R. and Sieg, W.},
- booktitle = {101 Success Stories of Information Technology in Higher Education:
- The Joe Wyatt Challenge}}
-
-@TECHREPORT{Scheja94,
- author = {Ortwin Scheja},
- title = {{Resolution in mehrwertigen Logiken h{\"o}herer Stufe}},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1994},
- type = {SEKI-Working-Paper},
- number = {SWP-94-07}}
-
-@MASTERSTHESIS{Scheja93,
- author = {Ortwin Scheja},
- title = {{Resolution in mehrwertigen Logiken h{\"o}herer Stufe}},
- school = {Universtit{\"a}t des Saarlandes},
- year = {1993},
- address = {Saarbr{\"u}cken}}
-
-@ARTICLE{Schelhowe:ParadigmsOfComputingScience,
- author = {Heidi Schelhowe},
- title = {{Paradigms of Computing Science: The Necessity for Methodological
- Diversity}},
- journal = {Gender, Technology and Development},
- year = {2004},
- volume = {8},
- pages = {321--334},
- number = {3}}
-
-@BOOK{Schelhowe:MaschineWerkzeugMedium,
- title = {{Das Medium aus der Maschine: zur Metamorphose des Computers}},
- publisher = {Campus Verlag},
- year = {1997},
- author = {Heidi Schelhowe},
- isbn = {3-593-35740-2}}
-
-@INCOLLECTION{Schelsky:BildungInDerWissenschaftlichenZivilisation,
- author = {Helmut Schelsky},
- title = {{Bildung in der wissenschaftlichen Zivilisation}},
- booktitle = {{Bildungstheorien}},
- publisher = {Herder},
- year = {1978},
- editor = {J{\"u}rgen-Eckardt Pleines},
- pages = {113--129}}
-
-@INPROCEEDINGS{Schild:96,
- author = {Frank Schilder},
- title = {Tree Discourse Grammar, or How to Get Attached to a Discourse},
- booktitle = {Proceedings of the Tilburg Conference on Formal Semantics},
- year = {1997},
- address = {Tilburg, Netherlands},
- month = jan}
-
-@INPROCEEDINGS{Schilder:ttdp97,
- author = {Frank Schilder},
- title = {Towards a Theory of Discourse Processing -- Flashback Sequences Described
- by {D}-trees},
- booktitle = {Proceedings of the Formal Grammar Conference ({ESSLLI}'97)},
- year = {1997},
- address = {Aix-en-Provence, France},
- month = aug}
-
-@ARTICLE{Schluss:BildungstheorienUndPolitikdidaktik,
- author = {Henning J. Schluss},
- title = {{Bildungstheoretische Kriterien der Lehrplananalyse: Ein Diskussionsangebot
- an die Politikdidaktik}},
- journal = {Onlinejournal f{\"u}r Sozialwissenschaften und ihre Didaktik 1-2002},
- year = {2002},
- volume = {1},
- url = {http://www.sowi-onlinejournal.de/2002-1/lehrplananalyse_schluss.htm},
- note = {editor: Reinhold Hedtke, online
- {\url{http://www.sowi-onlinejournal.de/2002-1/lehrplananalyse_schluss.htm}},
- seen 2005/06/02}}
-
-@ARTICLE{Schmidt51,
- author = {A. Schmidt},
- title = {Die {Zul{\"a}ssigkeit} der {Behandlung} mehrsortiger {Theorien} mittels
- der {\"u}blichen einsortigen Pr{\"a}dikatenlogik},
- journal = {Mathematische Annalen},
- year = {1951},
- volume = {123}}
-
-@ARTICLE{Schmidt38,
- author = {A. Schmidt},
- title = {{\"U}ber deduktive {Theorien} mit mehreren {Sorten} von {Grunddingen}},
- journal = {Mathematische Annalen},
- year = {1938},
- volume = {115}}
-
-@ARTICLE{SchSch:uadmu97,
- author = {Schmidt-Schau\ss, M.},
- title = {A Unification Algorithm for Distributivity and a Multiplicative Unit},
- journal = {Journal of Symbolic Computation},
- year = {1997},
- volume = {22},
- pages = {315--344}}
-
-@INPROCEEDINGS{SchulzSchauss,
- author = {Schmidt-Schau\ss, Manfred and Schulz, Klaus},
- title = {On the Exponent of Periodicity of Minimal Solutions of Context Equations},
- booktitle = {8\textsuperscript{th} International Conference on Rewriting Techniques and Applications},
- year = {1998},
- editor = {Tobias Nipkow},
- series = {LNCS},
- address = {Rutgers University, NJ, USA},
- publisher = {Springer-Verlag},
- note = {to appear}}
-
-@BOOK{Schmidt-Schauss89,
- title = {Computational Aspects of an Order-Sorted Logic with Term Declarations},
- publisher = {Springer Verlag},
- year = {1989},
- author = {Manfred Schmidt-Schau{\ss}},
- number = {395},
- series = {LNAI}}
-
-@ARTICLE{Schmidt-Schauss89a,
- author = {Manfred Schmidt-Schau{\ss}},
- title = {Combination of Unification Algorithms},
- journal = {Journal of Symbolic Computation},
- year = {1989},
- volume = {8},
- pages = {51--100},
- number = {1,2},
- note = {Special Issue on Unification. Part two}}
-
-@BOOK{Schmidt-Schauss:caoaos89,
- title = {Computational Aspects of an Order-Sorted Logic with Term Declarations},
- publisher = {Springer Verlag},
- year = {1989},
- author = {Manfred Schmidt-Schau{\ss}},
- volume = {395},
- series = {LNAI}}
-
-@PHDTHESIS{Schmidt-Schauss87,
- author = {Manfred Schmidt-Schau{\ss}},
- title = {Computational Aspects of an Order-Sorted Logic with Term Declarations},
- school = {University of Kaiserslautern},
- year = {1987},
- note = {Also \cite{Schmidt-Schauss89}}}
-
-@BOOK{Schmuller:02,
- title = {{SAMS} {Teach} {Yourself} {UML} ({Second} {Edition})},
- publisher = {SAMS},
- year = {2002},
- author = {Joseph Schmuller}}
-
-@BOOK{Schock68,
- title = {Logics without Existence Assumptions},
- publisher = {Almquist \& Wisell, Stockholm},
- year = {1968},
- author = {R. Schock}}
-
-@INCOLLECTION{ScDe93,
- author = {Danny De Schreye and Stefaan Decorte},
- title = {Termination of Logic Programs: the Never-Ending Story},
- booktitle = {Compulog 2, Delivrables Report},
- year = {1992}}
-
-@ARTICLE{Schroeder-Heister84,
- author = {P. Schroeder-Heister},
- title = {A natural extension of natural deduction},
- journal = {JSL},
- year = {1984},
- volume = {49}}
-
-@INPROCEEDINGS{Schulte:oe97,
- author = {Christian Schulte},
- title = {Oz Explorer: A Visual Constraint Programming Tool},
- booktitle = {Proceedings of the Fourteenth International Conference on Logic
- Programming},
- year = {July 1997},
- editor = {Lee Naish},
- pages = {286--300},
- address = {Leuven Belgium},
- publisher = {MIT Press}}
-
-@INPROCEEDINGS{SchulteSmolkaWuertz:94,
- author = {Christian Schulte and Gert Smolka and J{\"o}rg W{\"u}rtz},
- title = {Encapsulated Search and Constraint Programming in {Oz}},
- booktitle = {Proceedings of the {2\textsuperscript{nd}} PPCP},
- year = {1994},
- editor = {Borning, Alan H.},
- number = {874},
- series = {LNCS},
- pages = {134--150},
- address = {Orcas Island, Washington, USA}}
-
-@PHDTHESIS{schulz00,
- author = {Schulz, S.},
- title = {Learning Search Control Knowledge for Equational Deduction},
- school = {Fakult{\"a}t f{\"u}r Informatik, Technische Universit{\"a}t M{\"u}nchen},
- year = {2000},
- address = {Munich, Germany}}
-
-@INPROCEEDINGS{SchwuttkeQ93,
- author = {U. M. Schwuttke and A. G. Quan},
- title = {Enhancing Performance of Cooperating Agents in Real-Time Diagnostic Systems},
- crossref = {IJCAI93},
- pages = {332--337}}
-
-@ARTICLE{Schoenfinkel24,
- author = {Moses Sch{\"o}nfinkel},
- title = {{\"U}ber die {Bausteine} der mathematischen {Logik}},
- journal = {Mathematische Annalen},
- year = {1924},
- volume = {92},
- pages = {305--316},
- note = {Englisch Version entitled: On the building blocks of mathematical
- logic in~\cite{Heijenoort67}}}
-
-@ARTICLE{Schuette60,
- author = {Kurt Sch{\"u}tte},
- title = {Semantical and Syntactical Properties of Simple Type Theory},
- journal = {Journal of Symbolic Logic},
- year = {1960},
- volume = {25},
- pages = {305--326}}
-
-@INCOLLECTION{WomenAndTheInternet,
- author = {Anne Scott and Lesley Semmens and Lynette Willoughby},
- title = {{Women and the Internet: The Natural History of a Research Project}},
- booktitle = {{Critical Readings: Media and Gender}},
- publisher = {Open University Press},
- year = {2004},
- editor = {Cynthia Carter and Linda Steiner},
- pages = {11--36}}
-
-@INCOLLECTION{Scott79,
- author = {Dana Scott},
- title = {Identity and Existence in Intuitionistic Logic},
- booktitle = {Applications of Sheaves},
- publisher = {Springer Verlag},
- year = {1979},
- editor = {M. P. Fourman and C. J. Mulvey and D. S. Scott},
- number = {753},
- series = {LNM},
- pages = {660--696}}
-
-@INPROCEEDINGS{scott:doma82,
- author = {Scott, D. S.},
- title = {Domains for {Denotational} {Semantics}},
- booktitle = {Proceedings 9\textsuperscript{th} International Colloquium on Automata, Languages and
- Programming},
- year = {1982},
- editor = {Nielsen, M. and Schmidt, E.},
- pages = {577--613}}
-
-@UNPUBLISHED{scott96,
- author = {Donia Scott},
- title = {NLG Tools to Support Technical Authors and Translators},
- note = {Find reference}}
-
-@INPROCEEDINGS{scott:math71,
- author = {Scott, D. S. and Strachey C.},
- title = {Toward a {Mathematical} {Semantics} for {Computer} {Languages}},
- booktitle = {Proc. Symp. on Computers and Automata},
- year = {1971},
- pages = {19--46},
- publisher = {Polytechnic Institute of Brooklyn}}
-
-@MISC{scbak:theo69,
- author = {Scott, D. S. and De Bakker, J. W.},
- title = {A {Theory} of {Programs}},
- year = {1969},
- note = {Unpublished Notes. {IBM} {Vienna}}}
-
-@INCOLLECTION{ScoSou:90,
- author = {Donia Scott and Clarisse Sieckenius de Souza},
- title = {Getting the Message Across in {RST}-based Text Generation},
- booktitle = {Current Research in Natural Language Generation},
- publisher = {Academic Press},
- year = {1990},
- editor = {Robert Dale and Chris Mellish and Michael Zock},
- address = {London, England}}
-
-
-
-
-
-@inproceedings{FLG+:METHONTOLOGY97,
- author = {Mariano Fern{\'a}ndez-L{\'o}pez and Asunci{\'o}n G{\'o}mez-P{\'e}rez and Natalia Juristo},
- crossref = {AAAI97},
- pages = {33--40},
- title = {{METHONTOLOGY}: from Ontological Art towards Ontological Engineering}}
-
-@INCOLLECTION{Scott67,
- author = {Dana S. Scott},
- title = {Existence and Description in formal Logic},
- booktitle = {{Bertrand} {Russell}: {Philosopher} of the Century},
- publisher = {Allen {and} Unwin},
- year = {1967},
- editor = {Schoenmann}}
-
-@TECHREPORT{Scott70,
- author = {Dana S. Scott},
- title = {Outline of a Mathematical Theory of Computation},
- institution = {Oxford University Computing Laboratory},
- year = {1970},
- type = {Technical Monograph},
- number = {PRG-2},
- month = nov,
- keyowrds = {PartialFuncs}}
-
-@TECHREPORT{ScSt71,
- author = {Dana S. Scott and R. Statman},
- title = {Toward a mathematical semantics for computer languages},
- institution = {Oxford University Computing Laboratory},
- year = {1971},
- type = {Technical Report},
- number = {PRG-6},
- keyowrds = {PartialFuncs}}
-
-@ARTICLE{sear:prop58,
- author = {Searle, J. R.},
- title = {Proper {Names}},
- journal = {Mind},
- year = {1958},
- volume = {67},
- pages = {166--173}}
-
-@ARTICLE{SeEy:atcfd88,
- author = {Celestin Sedogbo and Michel Eytan},
- title = {A Tableau Calculus for {DRT}},
- journal = {Logique and Analyse},
- year = {1988},
- volume = {31},
- pages = {379--402}}
-
-@TECHREPORT{SedEyt:atcfd87,
- author = {Sedogbo, C. and Eytan, M.},
- title = {A tableau Calculus for {DRT}},
- institution = {Bull Report, France},
- year = {1987}}
-
-@INCOLLECTION{SegreT92,
- author = {Alberto M. Segre and Jennifer S. Turney},
- title = {SEPIA: A Resource-Bounded Adaptive Agent},
- booktitle = {AIPS-92: Proc.\ of the First International Conference on Artificial
- Intelligence Planning Systems},
- publisher = {Kaufmann},
- year = {1992},
- editor = {James Hendler},
- pages = {303--304},
- address = {San Mateo, CA}}
-
-@TECHREPORT{Sehn:dedszrvm95,
- author = {Arthur Christian Sehn},
- title = {DECLAME -- eine deklarative Sprache zur Repr{\"a}sentation von Methoden},
- institution = {Fachbereich 14 Informatik, Universit{\"a}t des Saarlandes},
- year = {1995},
- type = {Seki Working Paper},
- number = {SWP-95-02},
- url = {http://jswww.cs.uni-sb.de/~acsehn/publications/SWP-95-02.ps.gz}}
-
-@ARTICLE{SeiRobBla:toigdr85,
- author = {Seifert, C. M. and Robertson, S. P. and Black, J. B.},
- title = {Types of Inferences Generated during Reading},
- journal = {Journal of Memory and Language},
- year = {1985},
- volume = {24},
- pages = {405--422}}
-
-@InProceedings{FetManNaj:lssewp03,
- author = {Dennis Fetterly and Mark Manasse and Marc Najork and Janet Wiener},
- title = {A Large-Scale Study of the Evolution of Web Pages },
- crossref={www2003}}
-
-@InProceedings{DGNB:AdaptiveHypermediaRDF03,
- author = {Peter Dolog and Rita Gavrioloaie and Wolfgang Nejdl and Jan Brase},
- title = {Integrating Adaptive Hypermedia Techniques and Open {RDF}-based Environments},
- crossref={www2003}}
-
-@InProceedings{ChoGar:eowiic00,
- author = {J. Cho and H. Garcia-Molina},
- title = {The evolution of the web and implications for an incremental crawler},
- booktitle = {Proc. of the 26\textsuperscript{th} International Conference on Very Large Databases},
- pages = {200--209},
- year = 2000}
-
-
-
-@INCOLLECTION{Selgas:FemEpistemologiesForCST,
- author = {Fernando J. Garcia Selgas},
- title = {{Feminist Epistemologies for Critical Social Theory: From Standpoint
- Theory to Situated Knowledge}},
- booktitle = {Harding:FeministStandpoint},
- publisher = {Routledge},
- year = {2004},
- pages = {293--308},
- key = {Harding:FeministStandpoint}}
-
-@INPROCEEDINGS{SelMeu:dat,
- author = {J. Seligman and A. ter Meulen},
- title = {Dynamic Aspect Trees},
- booktitle = {Applied Logic: How, What and Why?},
- year = {1994},
- address = {Dordrecht},
- publisher = {Kluwer}}
-
-@TECHREPORT{Sem:vpeadrt94,
- author = {Helle Frisak Sem},
- title = {{VP}-ellipsis and {DRT}},
- institution = {University of Amsterdam},
- year = {1994},
- type = {DYANA-2 Report},
- number = {R2.2.B}}
-
-@BOOK{Sesink:InFormatio,
- title = {{In-formation: Die Einbildung des Computers}},
- publisher = {LIT Verlag M{\"u}nster},
- year = {2004},
- author = {Werner Sesink},
- number = {3},
- series = {Bildung und Technik}}
-
-@Book{HopMotUll:iatlc01,
- author = {Hopcroft, John E. and Motwani, Rajeev and Ullman, Jeffrey D.},
- title = {Introduction to Automata Theory, Languages, and Computation (2nd Edition)},
- publisher = {Addison Wesley},
- year = 2001}
-
-
-@BOOK{SgaHajPan:tmotsiisapa86,
- title = {The Meaning of the Sentence in Its Semantic and Pragmatic Aspects},
- publisher = {Reidel},
- year = {1986},
- author = {Sgall, Petr and Hajic{\v o}v{\'a}, Eva and Jarmila Panevov{\'a}},
- address = {Dordrecht/Boston/Lancaster/Tokyo}}
-
-@BOOK{Shankar94,
- title = {Metamathematics, machines, and G{\"o}del's proof},
- publisher = {Cambridge University Press},
- year = {1994},
- author = {Shankar, N.},
- volume = {38},
- series = {Cambridge tracts in theoretical computer science},
- address = {New York, NY},
- edition = {1\textsuperscript{st} ed.},
- bibtype = {BOOK},
- crindex = {I.2.3 Computing Methodologies, ARTIFICIAL INTELLIGENCE, Deduction
- and Theorem Proving;F.4.1 Theory of Computation, MATHEMATICAL LOGIC
- AND FORMAL LANGUAGES, Mathematical Logic, Lambda calculus and related
- systems;F.4.1 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
- LANGUAGES, Mathematical Logic, Mechanical theorem proving},
- idnumber = {MPI-I-B-4200},
- isbn = {0-521-42027-X},
- location = {MPI-ZB},
- signature = {Books: Shankar},
- status = {available}}
-
-@BOOK{Shapiro91,
- title = {Foundations without Foundationalism},
- publisher = {Oxford University Press},
- year = {1991},
- author = {Shapiro, St.},
- volume = {17},
- series = {Oxford logic guides},
- address = {New York, NY},
- edition = {1\textsuperscript{st} ed.},
- bibtype = {BOOK},
- crindex = {I.2.3 Computing Methodologies, ARTIFICIAL INTELLIGENCE, Deduction
- and Theorem Proving;F.4.1 Theory of Computation, MATHEMATICAL LOGIC
- AND FORMAL LANGUAGES, Mathematical Logic, Lambda calculus and related
- systems;F.4.1 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL
- LANGUAGES, Mathematical Logic, Mechanical theorem proving},
- location = {MPI-ZB},
- status = {available}}
-
-@BOOK{Shieber:aitubatg86,
- title = {An Introduction to Unification-Based Approaches to Grammar},
- publisher = {CSLI},
- year = {1986},
- author = {Stuart Shieber},
- address = {Stanford}}
-
-@ARTICLE{ShiPerDal:iosae96,
- author = {Stuart Shieber and Fernando Pereira and Mary Dalrymple},
- title = {Interaction of Scope and Ellipsis},
- journal = {Linguistics \& Philosophy},
- year = {1996},
- volume = {19},
- pages = {527--552}}
-
-@BOOK{Shn:dtui92,
- title = {Designing the User Interface},
- publisher = {Addison-Wesley},
- year = {1992},
- author = {B. Shneiderman},
- volume = {2}}
-
-@book{shneiderman2010designing,
- title={Designing the user interface: strategies for effective human-computer interaction},
- author={Shneiderman, Ben and Plaisant, Catherine},
- isbn={978-0-321-53735-5},
- year={2010},
- edition=5,
- publisher={Addison-Wesley}}
-
-@TECHREPORT{Shoham:AgentOriented:90,
- author = {Y. Shoham},
- title = {{Agent-Oriented Programming}},
- institution = {Stanford University},
- year = {1990},
- series = {Technical Report STAN-CS-1335-90}}
-
-@ARTICLE{sibun92,
- author = {Penni Sibun},
- title = {Generating Text without Trees},
- journal = {Computational Intelligence},
- year = {1994},
- volume = {8(1)},
- pages = {102--122}}
-
-@BOOK{Siegel:cfap96,
- title = {{CORBA}: Fundamentals and Programming},
- publisher = {John Wiley \& Sons, Inc.},
- year = {1996},
- author = {Jon Siegel}}
-
-
-
-
-
-
-
-
-@ARTICLE{Siekmann89,
- author = {J{\"o}rg H. Siekmann},
- title = {Unification Theory},
- journal = {Journal of Symbolic Computation},
- year = {1989},
- volume = {7},
- pages = {207--274}}
-
-@TECHREPORT{Siekmann75,
- author = {J{\"o}rg H. Siekmann},
- title = {String Unification},
- institution = {Essex University},
- year = {1975},
- type = {Internal Report Memo},
- number = {CSM-7}}
-
-@ARTICLE{SiWr:pcg80,
- author = {J{\"o}rg H. Siekmann and Graham Wrightson},
- title = {Paramodulated Connection Graphs},
- journal = {Acta Informatica},
- year = {1980},
- volume = {13},
- pages = {67--86}}
-
-
-@INCOLLECTION{sibefimenopo03,
- author = {J{\"o}rg Siekmann and Christoph Benzm{\"u}ller and Armin Fiedler
- and Andreas Meier and Immanuel Normann and Martin Pollet},
- title = {Proof Development in {OMEGA}: The Irrationality of Square Root of 2},
- booktitle = {Thirty Five Years of Automating Mathematics},
- publisher = {Kluwer Academic Publishers},
- year = {2003},
- editor = {Fairouz Kamareddine},
- series = {Kluwer Applied Logic series (28)},
- pages = {271--314},
- note = {ISBN 1-4020-1656-5}}
-
-@Book{Schoening:lcs89,
- author = {Sch{\"o}ning, Uwe},
- title = {Logic for Computer Scientists},
- publisher = {Birkh{\"a}user},
- year = 1989,
- volume = 8,
- series = {Progress in Computer Science and Applied Logic}}
-
-@INPROCEEDINGS{jsp-2002-d-1,
- author = {J{\"o}rg Siekmann and Christoph Benzm{\"u}ller and Armin Fiedler
- and Andreas Meier and Martin Pollet},
- title = {Proof Development with {OMEGA}: Sqrt(2) is irrational},
- booktitle = {Logic for Programming, Artificial Intelligence, and Reasoning, 9\textsuperscript{th}
- International Conference, LPAR 2002},
- year = {2002},
- editor = {Matthias Baaz and Andrei Voronkov},
- number = {2514},
- series = {LNAI},
- pages = {367--387},
- publisher = {Springer},
- chrisnote = {C12},
- isbn = {3540000100},
- url = {http://www.ags.uni-sb.de/~chris/papers/C12.pdf}}
-
-
-
-
-@BOOK{Siemers:Illich,
- title = {{Das Menschenbild bei Ivan Illich: Ans{\"a}tze einer neuen Rezeption
- f{\"u}r die P{\"a}dagogik nach dem Ende der Entschulungsdiskussion}},
- publisher = {Schneider Verlag Hohengehren GmbH},
- year = {2004},
- author = {Hagen Siemers}}
-
-@INPROCEEDINGS{silver84,
- author = {Silver, B.},
- title = {Precondition Analysis: Learning Control Information},
- booktitle = {Machine Learning 2},
- year = {1984},
- editor = {Michalski, R. S. and Carbonell, J. G. and Mitchell, T. M.},
- address = {Palo Alto, CA},
- publisher = {Tioga Press}}
-
-@ARTICLE{Sinclair:rcwooi90,
- author = {M. Sinclair},
- title = {Rules of conceptual well-formedness and optional vs. obligatory iterativity},
- journal = {Lingua},
- year = {1990},
- volume = {80},
- pages = {253--293}}
-
-@INPROCEEDINGS{Singer:dip94,
- author = {Singer, M.},
- title = {Discourse Inference Processes},
- booktitle = {Handbook of Psycholinguistics},
- year = {1994},
- editor = {Gernsbacher, M. A.},
- pages = {479--515},
- publisher = {Academic Press}}
-
-@Article{SiPaCuKaKa05:pellet,
- author = {Evren Sirin and Bijan Parsia and Cuenca Grau, Bernardo and Aditya
- Kalyanpur and Yarden Katz},
- title = {Pellet: A Practical {OWL-DL} Reasoner},
- journal = JWS,
- note = {To appear},
- year = 2006,
- url = {http://www.mindswap.org/papers/PelletJWS.pdf}}
-
-
-@InCollection{Skolem23,
- title = {The foundations of elementary arithmetic established
-by means of the recursive mode of thought, without the use of apparent vari-
-ables ranging over infinite domains},
-crossref={Heijenoort67},
- author = {Thoralf Skolem},
- pages = {302--333}}
-
-@online{Andrews:ad94:on,
- author = {Peter B. Andrews},
- title = {Accept Diversity},
- url = {http://mizar.org/qed/mail-archive/volume-2/0199.html},
- year = {1994}}
-
-@ARTICLE{Skolem19,
- author = {Albert Thoralf Skolem},
- title = {{Logisch}-kombinatorische {Untersuchungen} {\"u}ber die {Erf{\"u}llbarkeit}
- oder {Beweisbarkeit} mathematischer {S}{\"a}tze},
- journal = {Videnskapkasselskapets Skrifter},
- year = {1919},
- volume = {I},
- pages = {1--36},
- note = {English translation in~\cite{Heijenoort67}}}
-
-@ARTICLE{Skolem:ubdml28,
- author = {T. Skolem},
- title = {{\"U}ber die mathematische {Logik}},
- journal = {Norsk matematisk tidsskrift 10},
- year = {1928}}
-
-@ARTICLE{SlaFujSti:araesqep94,
- author = {J. Slaney and M. Fujita and M. Stickel},
- title = {{Automated reasonign and exhautive search: Quasigroup existence problems}},
- journal = {Computers and Mathematics with Applications},
- year = {1994}}
-
-@CONFERENCE{Smith80,
- author = {Smith, R. G.},
- title = {The Contract Net Protocol: High-Level Communication and Control in
- a Distributed Problem Solver},
- booktitle = {IEEE Transaction on Computers},
- year = {1980},
- number = {12},
- series = {C-29},
- pages = {1104--1113}}
-
-@INPROCEEDINGS{Smolka:topm95,
- author = {Gert Smolka},
- title = {The Oz Programming Model},
- booktitle = {Computer Science Today},
- year = {1995},
- editor = {Jan van Leeuwen},
- number = {1000},
- series = {LNCS},
- pages = {324--343},
- publisher = {Springer Verlag}}
-
-@ARTICLE{Smo:fclug92,
- author = {Gert Smolka},
- title = {Feature Constraint Logics for Unification Grammars},
- journal = {Journal of Logic Programming},
- year = {1992},
- volume = {12},
- pages = {51--87}}
-
-@PHDTHESIS{Smolka89,
- author = {Gert Smolka},
- title = {Logic Programming over Polymorphically Order-Sorted Types},
- school = {Universit{\"a}t Kaiserslautern},
- year = {1989}}
-
-@TECHREPORT{Smolka:aflws88,
- author = {Gerd Smolka},
- title = {A feature logic with subsorts},
- institution = {IBM Germany},
- year = {1988},
- number = {33},
- key = {LILOG}}
-
-@MISC{smolka:fls88,
- author = {Smolka, G.},
- title = {A {Feature} {Logic} with {Subsorts}},
- year = {1988},
- note = {Technical Report. {IBM} {Deutschland}}}
-
-@TECHREPORT{SmNu87,
- author = {Gert Smolka and Werner Nutt and Joseph A. Goguen and Jos{\'e} Meseguer},
- title = {Order-Sorted Equational Computation},
- institution = {Universit{\"a}t Kaiserslautern},
- year = {1987},
- type = {SEKI-Report},
- number = {SR-87-14}}
-
-@ARTICLE{SmoTre:rflp94,
- author = {Gert Smolka and Ralph Treinen},
- title = {Records for Logic Programming},
- journal = {Journal of Logic Programming},
- year = {1994},
- volume = {18},
- pages = {229--258},
- number = {3}}
-
-@BOOK{Smullyan92,
- title = {G{\"o}del's incompleteness theorems},
- publisher = {Oxford Univ. Press},
- year = {1992},
- author = {Smullyan, Raymond M.},
- volume = {19},
- series = {Oxford logic guides},
- address = {Oxford},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-2295},
- isbn = {0-19-504672-2},
- location = {MPI-ZB},
- signature = {Books: Smullyan},
- status = {available}}
-
-@BOOK{Smullyan68,
- title = {First-Order Logic},
- publisher = {Springer Verlag},
- year = {1968},
- author = {Raymond M. Smullyan}}
-
-@BOOK{Smullyan:fol68,
- title = {First-Order Logic},
- publisher = {Springer Verlag},
- year = {1968},
- author = {Raymond M. Smullyan}}
-
-@ARTICLE{Smullyan63,
- author = {Raymond M. Smullyan},
- title = {A Unifying Principle for Quantification Theory},
- journal = {Proc. Nat. Acad Sciences},
- year = {1963},
- volume = {49},
- pages = {828--832}}
-
-@TECHREPORT{SmyShe:iqti01,
- author = {Colin Smythe and Eric Shepherd and Lane Brewer and Steve Lay},
- title = {IMS Question \& Test Interoperability: An Overview},
- institution = {IMS Global Learning Consortium, Inc.},
- year = {2001},
- type = {Public Draft},
- number = {Version 1.2},
- url = {http://www.imsglobal.org/question/qtiv1p2pd/imsqti_oviewv1p2.html}}
-
-@BOOK{Snyder91,
- title = {A Proof Theory for General Unification},
- publisher = {Birkh{\"a}user},
- year = {1991},
- author = {Wayne Snyder},
- series = {Progress in Computer Science and Applied Logic}}
-
-@BOOK{Snyder:aptfgu91,
- title = {A Proof Theory for General Unification},
- publisher = {Birkh{\"a}user},
- year = {1991},
- author = {Wayne Snyder},
- series = {Progress in Computer Science and Applied Logic}}
-
-@ARTICLE{SnGa89,
- author = {Wayne Snyder and Jean Gallier},
- title = {{Higher}-{Order} {Unification} {Revisited}: {Complete} {Sets} of
- {Transformations}},
- journal = {J. Symbolic Computation},
- year = {1989},
- volume = {8},
- pages = {101--140},
- location = {Unif-bib}}
-
-@ARTICLE{SnGa:hourcs89,
- author = {Wayne Snyder and Jean Gallier},
- title = {{Higher}-{Order} {Unification} {Revisited}: {Complete} {Sets} of
- {Transformations}},
- journal = {J. Symbolic Computation},
- year = {1989},
- volume = {8},
- pages = {101--140},
- location = {Unif-bib}}
-
-@TECHREPORT{SocherAmbrosius92,
- author = {Socher-Ambrosius, Rolf},
- title = {Completeness of resolution and superposition calculi},
- institution = {Max-Planck-Institut f{\"u}r Informatik},
- year = {1992},
- type = {Max-Planck-Institut f{\"u}r Informatik : technical reports},
- address = {Saarbr{\"u}cken},
- bibtype = {TECHREPORT},
- idnumber = {MPI-I-B-TR6268},
- location = {MPI-ZB},
- signature = {Reports: -TR6268},
- status = {available},
- volume = {92-224}}
-
-@MISC{MathSciNet:on,
- author = {{American Mathematical Society}},
- title = {{MathSciNet Mathematical Reviews on the Net}},
- url = {http://www.ams.org/mathscinet/},
- urldate = {2010-08-05}}
-
-@MISC{MathSciNet,
- author = {The American Mathematical Society},
- title = {{MathSciNet Mathematical Reviews on the Net}},
- howpublished = {Internet page at \url{http://www.ams.org/mathscinet/}},
- url = {http://www.ams.org/mathscinet/},
- key = {MathSciNet}}
-
-@INPROCEEDINGS{Sorge00,
- author = {Volker Sorge},
- title = {{Non-Trivial Computations in Proof Planning}},
- crossref = {FROCOS02},
- pages = {121--135}}
-
-@PHDTHESIS{ags-2001-d-6,
- author = {Volker Sorge},
- title = {A Blackboard Architecture for the Integration of Reasoning Techniques
- into Proof Planning},
- school = {Department of Computer Science, Saarland University},
- year = {2001},
- address = {Saarbr{\"u}cken, Germany}}
-
-@MASTERSTHESIS{Sorge:iecielb96,
- author = {Volker Sorge},
- title = {{Integration} eines {Computeralgebrasystems} in eine logische {Beweisumgebung}},
- school = {Universit{\"a}t des Saarlandes},
- year = {1996},
- month = nov}
-
-@ARTICLE{souzis05:building-rhizome,
- author = {Adam Souzis},
- title = {Building a Semantic Wiki},
- journal = {IEEE Intelligent Systems},
- year = {2005},
- volume = {20},
- pages = {87--91},
- number = {5}}
-
-@MISC{Sowa:KnowledgeSoup,
- author = {John F. Sowa},
- title = {{Represenating Knowledge Soup in Language and Logic}},
- howpublished = {online at {\url{http://www.jfsowa.com/talks/souprepr.htm}}},
- url = {http://www.jfsowa.com/talks/souprepr.htm},
- year = {2002},
- note = {seen 2005/06/10}}
-
-@MISC{Sowa:GoalLangUnderstanding,
- author = {John F. Sowa},
- title = {{The Goal of Language Understanding}},
- howpublished = {online at {\url{http://www.jfsowa.com/talks/goal.pdf}}},
- url = {http://www.jfsowa.com/talks/goal.pdf},
- year = {2012},
- note = {seen 2012/11/12},
- keywords={lamapunbibs}}
-
-@inproceedings{carlson-aaai,
- Title = {Toward an Architecture for Never-Ending Language Learning},
- Author = {Andrew Carlson and Justin Betteridge and Bryan Kisiel and Burr Settles and Estevam R. Hruschka Jr. and Tom M. Mitchell},
- Booktitle = {Proceedings of the Twenty-Fourth Conference on Artificial Intelligence (AAAI 2010)},
- Year = {2010},
- keywords={lamapunbibs}}
-
-@MISC{spivack:metaweb,
- author = {Nova Spivack},
- title = {The Metaweb},
- howpublished = {\url{http://novaspivack.typepad.com/nova_spivacks_weblog/the_metaweb/}},
- year = {2003--2006},
- note = {Seen March 2006},
- url = {http://novaspivack.typepad.com/nova_spivacks_weblog/the_metaweb/}}
-
-@INCOLLECTION{Stabler:atpp91,
- author = {Ed Stabler},
- title = {Avoid the Pedestrian's Paradox},
- booktitle = {Principle-Based Parsing: Computation and Psycholinguistics},
- publisher = {Kluwer},
- year = {1991},
- editor = {R. C. Berwick and others},
- pages = {199--237},
- address = {The Netherlands}}
-
-@BOOK{stallman:em02,
- title = {GNU Emacs Manual},
- publisher = {GNU Press},
- year = {2002},
- author = {Richard M. Stallman},
- edition = {15},
- note = {online at~\url{http://www.gnu.org/manual/emacs-21.2}},
- url = {http://www.gnu.org/manual/emacs-21.2},
- annote = {ISBN 1-882114-85-X}}
-
-@INCOLLECTION{stalnaker:a79,
- author = {Stalnaker, R.},
- title = {Assertion},
- booktitle = {Syntax and Semantics 9: Pragmatics},
- publisher = {Academic Press},
- year = {1979},
- editor = {Cole, P.},
- pages = {315--32}}
-
-@ARTICLE{TCS-130-2:239,
- author = {Statman and Rick},
- title = {G{\"o}del's incompleteness theorem},
- journal = {Theoretical Computer Science},
- year = {1994},
- volume = {130},
- pages = {239--319},
- number = {2},
- bibtype = {ARTICLE},
- location = {MPI-ZB}}
-
-@ARTICLE{Statman:lrattl85,
- author = {Rick Statman},
- title = {Logical relations and the typed lambda calculus},
- journal = {Information and Computation},
- year = {1985},
- volume = {65}}
-
-@ARTICLE{stechow:drw96,
- author = {v. Stechow, Arnim},
- title = {The different readings of `{Wieder}': A structural account},
- journal = {Journal of Semantics},
- year = {1996},
- volume = {13},
- pages = {87--138}}
-
-@INCOLLECTION{steedman96,
- author = {Mark Steedman},
- title = {Computational Aspects of the Theory of Grammar},
- booktitle = {Cognitive Science},
- publisher = {MIT Press, Cambridge MA},
- year = {1996},
- keywords = {lamapunbibs},
- editor = {Lila Gleitman and Mark Liberman}}
-
-@UNPUBLISHED{steedman97,
- author = {Mark Steedman},
- title = {Temporality},
- note = {Manuscript for Tutorial, 2\textsuperscript{nd} Int'l Workshop on Temporal Logic, University
- of Manchester},
- keywords = {lamapunbibs},
- month = jul,
- year = {1997}}
-
-@INPROCEEDINGS{Steedman:tradicg91,
- author = {Mark Steedman},
- title = {Type-Raising and Directionality in Combinatory Grammar},
- booktitle = {Proceedings of the 29\textsuperscript{th} {ACL}},
- year = {1991},
- keywords = {lamapunbibs},
- address = {Berkeley, USA}}
-
-@ARTICLE{steedman90,
- author = {Mark Steedman},
- title = {Gapping as Constituent Coordination},
- journal = {Linguistics and Philosophy},
- year = {1990},
- volume = {13},
- keywords = {lamapunbibs},
- pages = {207--263}}
-
-@BOOK{Stegmueller73,
- title = {Unvollst{\"a}ndigkeit und Unentscheidbarkeit: Die metamathematischen
- Resultate von G{\"o}del, Church, Kleene, Rosser und ihre erkenntnistheoretische
- Bedeutung; Dritte, verbesserte Auflage},
- publisher = {Springer},
- year = {1973},
- author = {Stegm{\"u}ller, Wolfgang},
- address = {New York},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-0257},
- isbn = {3-211-81208-3},
- location = {MPI-ZB},
- signature = {Books: Stegm{\"u}ller},
- status = {available}}
-
-@PHDTHESIS{Steinbach93,
- author = {Joachim Steinbach},
- title = {Termination of Rewriting, Extensions, Comparison and automatic Generation
- of Simplication Orderings},
- school = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1993},
- address = {Kaiserslautern, Germany},
- date = dec}
-
-@TECHREPORT{StKu90,
- author = {Joachim Steinbach and Ulrich K{\"u}hler},
- title = {Check your ordering -- Termination proofs and open problems},
- institution = {Universit{\"a}t Kaiserslautern},
- year = {1990},
- type = {SEKI-Report},
- number = {SR-90-25 (SFB)}}
-
-@TECHREPORT{StZe90,
- author = {Joachim Steinbach and Michael Zehnter},
- title = {Vademecum on Polynomial Orderings},
- institution = {Universit{\"a}t Kaiserslautern},
- year = {1990},
- type = {SEKI-Report},
- number = {SR-90-03 (SFB)}}
-
-@INPROCEEDINGS{Stell90,
- author = {John G. Stell},
- title = {Unique-Sort Order-Sorted Theories: A Description as Monad Morphisms},
- booktitle = {2\textsuperscript{nd} International Workshop on Conditional and Typed Rewriting Systems
- CTRS'90},
- year = {1990}}
-
-@TECHREPORT{Stickel:tpimfi89,
- author = {Marc Stickel},
- title = {The path-indexing method for indexing terms},
- institution = {SRI International},
- year = {1989},
- type = {Technical Note},
- number = {473}}
-
-@INPROCEEDINGS{Stickel75,
- author = {M. E. Stickel},
- title = {A Complete Unification Algorithm for Associative-Commutative Functions},
- booktitle = {IJCAI75},
- pages = {71--82}}
-
-@ARTICLE{Stickel86,
- author = {Mark E. Stickel},
- title = {Schubert's Steamroller Problem: Formulations and Solutions},
- journal = {Journal of Automated Reasoning},
- year = {1986},
- volume = {2},
- pages = {89--101}}
-
-@INPROCEEDINGS{stone97a,
- author = {Matthew Stone},
- title = {Applying Theories of Communicative Action in Generation using Logic
- Programming},
- crossref = {AAAI97}}
-
-@TECHREPORT{stone97b,
- author = {Matthew Stone},
- title = {The Anaphoric Parallel between Modality and Tense},
- institution = {Institute for Research in Cognitive Science, University of Pennsylvania},
- year = {1997},
- type = {Report 97-06},
- note = {Submitted to {Linguistics} and {Philosophy}}}
-
-@PHDTHESIS{stone97c,
- author = {Matthew Stone},
- title = {??},
- school = {Department of Computer \& Information Science, University of Pennsylvania},
- year = {1997}}
-
-@UNPUBLISHED{stone94,
- author = {Matthew Stone},
- title = {Discourse Deixis, Discourse Structure and the Semantics of Subordination},
- note = {Manuscript, University of Pennsylvania},
- year = {1994}}
-
-@INPROCEEDINGS{sd97,
- author = {Matthew Stone and Christine Doran},
- title = {Sentence Planning as Description Using Tree Adjoining Grammar},
- booktitle = {Proceedings of the 35\textsuperscript{th} Annual Meeting of the Association for
- Computational Linguistics (ACL97/EACL97)},
- year = {1997},
- pages = {198--205},
- address = {Madrid, Spain},
- publisher = {Morgan Kaufmann, Palo Alto CA}}
-
-@UNPUBLISHED{StoWeb98,
- author = {Matthew Stone and Bonnie Webber},
- title = {Textual economy through close coupling of syntax and semantics},
- note = {University of Pennsylvannia, Sumitted for publication},
- year = {1998}}
-
-@ARTICLE{Stone:trba36,
- author = {Marshall H. Stone},
- title = {The Theory of Representation for Boolean Algebras},
- journal = {TAMS},
- year = {1936},
- volume = {40},
- pages = {37--111}}
-
-@BOOK{Stoy77,
- title = {Denotational Semantics: The Scott-Strachey Approach to Programming
- Language Theory},
- publisher = {MIT Press},
- year = {1977},
- author = {R. M. Stoy},
- note = {beschaffen}}
-
-@INPROCEEDINGS{sh96,
- author = {Michael Strube and Udo Hahn},
- title = {Functional Centering},
- booktitle = {Proc. 34\textsuperscript{th} Annual Meeting, Association forComputational Linguistics},
- year = {June 1996},
- pages = {270--277},
- address = {University of California at Santa Cruz},
- note = {cmp-lg/9605021}}
-
-@TECHREPORT{ags-2002-e-3,
- author = {Janina Strutz and Gerhard Degel},
- title = {{Offene {\"U}bungsaufgaben und Praktika im e-Learning -- Einbindung,
- Auswertung und Bewertung im Tutorsystem DaMiT}},
- institution = {Hochschule Wismar, Universit{\"a}t des Saarlandes, Germany},
- year = {2002},
- type = {Publikation},
- number = {001},
- month = sep,
- isbn = {3-89838-033-5},
- pages = {411--420}}
-
-
-@Article{Solomon:fsgc95,
- author = {Ron Solomon},
- title = {On Finite Simple Groups and Their Classification},
- journal = {Notices of the AMS},
- year = 1995,
- pages = {231--239},
- month = feb}
-
-@INPROCEEDINGS{Stuber96,
- author = {Stuber, J{\"u}rgen},
- title = {Superposition theorem proving for {Abelian} groups represented as integer modules},
- crossref = {RTA96},
- pages = {33--47}}
-
-@INPROCEEDINGS{SuSu94,
- author = {Geoff Sutcliffe and Christian Suttner and Theodor Yemenis},
- title = {The {TPTP} Problem Library},
- crossref = {CADE94}}
-
-
-@online{URL:TPTP:online,crossref={URL:TPTP:base},
- urldate = {2012-12-10}}
-@MISC{URL:TPTP,crossref={URL:TPTP:base},
- howpublished = {\webpageat\url{http://www.tptp.org}},
- note = {seen February 2008}}
-@MISC{URL:TPTP:base,
- title = {The {TPTP} Problem Library for Automated Theorem Proving},
- author = {Geoff Sutcliffe and Christian Suttner},
- url = {http://www.tptp.org},
- key = {TPTP}}
-
-@MISC{URL:TSTP,
- title = {The {TSTP} Solution Library for Automated Theorem Proving},
- author = {Geoff Sutcliffe},
- howpublished = {\webpageat\url{http://www.cs.miami.edu/~tptp/TSTP}},
- url = {http://www.cs.miami.edu/~tptp/TSTP},
- note = {seen February 2008},
- key = {TSTP}}
-
-
-@INPROCEEDINGS{SulOdeWeh:tict97,
- author = {Martin Sulzmann and Martin Odersky and Martin Wehr},
- booktitle = {Proc. 4\textsuperscript{th} Int. Workshop on Foundations of Object-Oriented Languages},
- year = {1997},
- editor = {Benjamin Pierce},
- note = {Long Version to appear in {\em Theory and Practice of Object Systems}.}}
-
-@ARTICLE{SuTa89,
- author = {P. Suppes and S. Takahashi},
- title = {An Interactive Calculus Theorem-prover for Continuity Properties},
- journal = {Journal of Symbolic Computation},
- year = {1989},
- volume = {7},
- pages = {573--590},
- number = {1},
- month = jan,
- publisher = {Academic Press, London, San Diego}}
-
-@online{CASC,
- author = {Geoff Sutcliffe and Christian Suttner},
- title = {The {CADE} {ATP} System Competition},
- subtitle = {The World Championship for Automated Theorem Proving},
- url = {http://www.cs.miami.edu/~tptp/CASC/},
- urldate = {2012-09-07}
-}
-
-@article{SutSut:CASC06,
- author = {Geoff Sutcliffe and Christian Suttner},
- title = {The State of CASC},
- journal = {AI Communications},
- volume = 19,
- number = 1,
- year = 2006,
- pages = {35--48}}
-
-@article{PelSutStu:CASC02,
- author = {Francis Jeffry Pelletier and Geoff Sutcliffe and Christian Suttner},
- title = {The development of CASC},
- journal = {AI Communications},
- volume = {15},
- number = {2},
- year = {2002},
- issn = {0921-7126},
- pages = {79--90},
- publisher = {IOS Press},
- address = {Amsterdam, The Netherlands, The Netherlands},
- }
-
-@ARTICLE{Sutcliffe:casc01,
- author = {Geoff Sutcliffe},
- title = {The CADE-17 ATP System Competition},
- journal = {Journal of Automated Reasoning},
- year = {2001}}
-
-@ARTICLE{Sutcliffe:casc00,
- author = {Geoff Sutcliffe},
- title = {The CADE-16 ATP System Competition},
- journal = {Journal of Automated Reasoning},
- year = {2000},
- volume = {24},
- pages = {371--396},
- number = {3}}
-
-@ARTICLE{SutSut:trcasc97,
- author = {Geoff Sutcliffe and Christian Suttner},
- title = {The results of the CADE-13 ATP system Competition},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {259--264},
- number = {2},
- note = {Special Issue on the CADE-13 Automated Theorem Proving System Competition}}
-
-@InCollection{SutZimSch:tdefatpt04,
- Author = "Sutcliffe, G. and Zimmer, J. and Schulz, S.",
- Year = "2004",
- Title = "{TSTP Data-Exchange Formats for Automated Theorem Proving
- Tools}",
- Editor = "Zhang, W. and Sorge, V.",
- BookTitle = "{Distributed Constraint Problem Solving and Reasoning in
- Multi-Agent Systems}",
- Pages = "201--215",
- Series = "Frontiers in Artificial Intelligence and Applications",
- Number = "112",
- Publisher = "IOS Press",
- Comment = "CASC-20,TPTPCite"}
-
-@INPROCEEDINGS{SZS03,
- author = {Geoff Sutcliffe and J{\"u}rgen Zimmer and Stephan Schulz},
- title = {Communication Formalisms for Automated Theorem Proving Tools},
- booktitle = {{Proceedings of the Workshop on Agents and Automated Reasoning, 18\textsuperscript{th}
- International Joint Conference on Artificial Intelligence}},
- year = {2003},
- editor = {Volker Sorge and Simon Colton and Michael Fisher and Jeremy Gow},
- address = {Acapulco, Mexico},
- place = {Acapulco, Mexico}}
-
-@ARTICLE{suttner:sptp97,
- author = {Christian Suttner},
- title = {{SPTHEO} -- A Parallel Theorem Prover},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {253--258},
- number = {2}}
-
-@INPROCEEDINGS{SutErt:aasgh90,
- author = {Christian Suttner and Wolfgang Ertl},
- title = {Automatic Acquisition of Search Guiding Heuristics},
- crossref = {CADE90},
- pages = {470--484}}
-
-@INCOLLECTION{Smolka:Oz:95,
- author = {{G}.~{Smolka}},
- title = {The {Oz} Programming Model},
- booktitle = {{Computer} {Science} {Today}},
- publisher = {Springer-Verlag},
- year = {1995},
- editor = {{Jan} van {Leeuwen}},
- number = {1000},
- series = {LNCS},
- pages = {324--343},
- address = {Berlin}}
-
-@ARTICLE{Tait:iioffo67,
- author = {W. Tait},
- title = {Intensional interpretation of functionals of finite type {I}},
- journal = {Information and Computation},
- year = {1967},
- volume = {32},
- pages = {198--212}}
-
-@ARTICLE{Takahashi70,
- author = {Takahashi, Moto-o},
- title = {A system of simple type theory of {Gentzen} style with inference
- on extensionality and the cut-elimination in it},
- journal = {Commentarii Mathematici Universitatis Sancti Pauli},
- year = {1970},
- volume = {XVIII},
- pages = {129--147},
- number = {II}}
-
-@ARTICLE{Takahashi68,
- author = {Takahashi,Moto-o},
- title = {Cut-Elimination in Simple Type Theory with Extensionality},
- journal = {Journal of the Mathematical Society of Japan},
- year = {1968},
- volume = {19}}
-
-@ARTICLE{Takahashi67,
- author = {Takahashi, Moto-o},
- title = {A Proof of Cut-Elimination in simple Type Theory},
- journal = {Journal of the Mathematical Society of Japan},
- year = {1967},
- volume = {19},
- pages = {399--410}}
-
-@BOOK{Takeuti87,
- title = {Proof Theory},
- publisher = {North Holland},
- year = {1987},
- author = {Gaisi Takeuti}}
-
-@ARTICLE{Takeuti53,
- author = {Gaisi Takeuti},
- title = {On a generalized logic Calculus},
- journal = {Japan Journal of Mathematics},
- year = {1953},
- volume = {23},
- pages = {39 f.}}
-
-@INCOLLECTION{Talmy:trogtc87,
- author = {Leonard Talmy},
- title = {The Relation of Grammar to Cognition},
- booktitle = {Topics in Cognitive Linguistics},
- year = {1987},
- editor = {B. Rudzka-Ostyn}}
-
-@PHDTHESIS{Tancredi:ddap92,
- author = {Christopher Tancredi},
- title = {Deletion, Deaccenting and Presupposition},
- school = {Massachusetts Institute of Technology},
- year = {1992}}
-
-@BOOK{Tarski83,
- title = {Logic, semantics, metamathematics},
- publisher = {Hackett Pub.},
- year = {1983},
- author = {Tarski, Alfred},
- address = {Indianapolis, IN},
- edition = {2\textsuperscript{nd} ed.},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-2367},
- isbn = {0-915144-75-1},
- location = {MPI-ZB},
- signature = {Books: Tarski},
- status = {available}}
-
-@BOOK{Tarski77,
- title = {Einf{\"u}hrung in die mathematische Logik},
- publisher = {Vandenhoeck \& Ruprecht},
- year = {1977},
- author = {Tarski, Alfred},
- volume = {5},
- series = {Moderne Mathematik in elementarer Darstellung},
- address = {Goettingen},
- bibtype = {BOOK},
- crindex = {F.4.1 Theory of Computation -- Mathematical Logic and Formal Languages
- -- Mathematical Logic; I.2.4 Computing Methodologies -- Artificial
- Intelligence -- Knowledge Representation Formalisms and Methods},
- dfkinumber = {M:S91-125},
- isbn = {3-525-40540-5},
- location = {DFKI Saarbr{\"u}cken},
- signature = {F-4010-20},
- status = {available}}
-
-@BOOK{TarskiMostowskiRobinson71,
- title = {Undecidable Theories},
- publisher = {North-Holland},
- year = {1971},
- author = {Tarski, Alfred and Mostowski, Andrzej and Robinson, Raphael M.},
- volume = {k.A.},
- series = {Studies in Logic and the Foundation of Mathematics},
- address = {Amsterdam;New York;Oxford},
- bibtype = {BOOK},
- idnumber = {M 1895},
- location = {Fachbereichsbibliothek Informatik},
- signature = {TAR a 71:1},
- status = {available}}
-
-@ARTICLE{Taylor:tc77,
- author = {B. Taylor},
- title = {Tense and continuity},
- journal = {Linguistics \& Philosophy},
- year = {1977},
- volume = {1},
- pages = {199--220}}
-
-@INPROCEEDINGS{TaCaCa04:platypus,
- author = {Roberto Tazzoli and Paolo Castagna and Stefano Emilio Campanini},
- title = {{Towards a Semantic WikiWikiWeb}},
- booktitle = {3\textsuperscript{rd} International Semantic Web Conference ({ISWC})},
- year = {2004},
- venue = {Hiroshima, Japan},
- eventdate = {2004}}
-
-@online{MetaMath:on,
- label = {MeMa},
- title = {Metamath Home page},
- url = {http://us.metamath.org}}
-
-@online{HalAdaBau:afpkc15,
- title = "{A formal proof of the Kepler conjecture}",
- author = {Thomas Hales and Mark Adams and Gertrud Bauer and Dat Tat Dang and John Harrison and Truong Le Hoang and Cezary Kaliszyk and Victor Magron and Sean McLaughlin and Thang Tat Nguyen and Truong Quang Nguyen and Tobias Nipkow and Steven Obua and Joseph Pleso and Jason Rute and Alexey Solovyev and An Hoai Thi Ta and Trung Nam Tran and Diep Thi Trieu and Josef Urban and Ky Khac Vu and Roland Zumkeller},
- year = {2015},
- url = {http://arxiv.org/abs/1501.02155}
-}
-
-@MANUAL{CoqManual,
- title = {The Coq Proof Assistant: Reference Manual},
- author = {Coq Development Team},
- organization = {INRIA},
- url = {https://coq.inria.fr/refman/},
- key = {COQ}}
-
-@TECHREPORT{coq-03-a,
- author = {The Coq Development Team},
- title = {The Coq proof assistant reference manual (version 7.4)},
- institution = {INRIA, Rocquencourt, France},
- year = {2003}}
-
-@INCOLLECTION{tenn:densem92,
- author = {Tennent, R. D.},
- title = {Denotational {Semantics}},
- booktitle = {Handbook of Logic in Computer Science},
- publisher = {Clarendon Press},
- year = {1992},
- editor = {Abramsky, S. and Gabbay, D. M. and Maibaum, T. S. E.},
- volume = {3},
- pages = {169--322},
- address = {Oxford}}
-
-@INPROCEEDINGS{tm97,
- author = {Simone Teufel and Marc Moens},
- title = {Sentence Extraction as a Classification Task},
- booktitle = {Proceedings of Workshop on Intelligent Scalable TextSummarization
- ({ACL97/EACL97})},
- year = {1997},
- pages = {58--65},
- address = {Madrid Spain}}
-
-@MISC{connexions06:edit-in-place,
- author = {{The Connexions Team}},
- title = {{ConneXions}: Help on Editing Modules},
- howpublished = {\url{http://cnx.org/help/EditingModules}},
- year = {2006},
- note = {Seen March 2006},
- organization = {Rice {University}},
- url = {http://cnx.org/help/EditingModules}}
-
-@online{CNXML:on,
- crossref = {connexions05:cnxml:base},
- urldate = {2010-07-31}}
-
-@MISC{connexions05:cnxml,
- crossref = {connexions05:cnxml:base},
- key = {CNXML},
- howpublished = {\url{http://cnx.org/aboutus/technology/cnxml/}},
- year = {2007},
- note = {Seen June 2007},
- organization = {Rice {University}}}
-
-@MISC{connexions05:cnxml:base,
- author = {Brent Hendricks and Adan Galvan},
- title = {The {Connexions} Markup Language ({CNXML})},
- url = {http://cnx.org/aboutus/technology/cnxml/}}
-
-@online{cnx:authoring:xml,
- title = {Connexions -- {XML} Languages},
- url = {http://cnx.org/help/authoring/xml},
- urldate = {2010-07-31}}
-
-@comment{For now, there is no better source about CollXML than this one.}
-@online{Rhaptos:XMLFormats,
- title = {Rhaptos {Trac}: {XML} formats},
- url = {https://trac.rhaptos.org/trac/rhaptos/wiki/XMLFormats?version=10},
- urldate = {2010-07-31}}
-
-@online{Rhaptos:CollStrucRedesignInception,
- title = {Rhaptos {Trac}: Collection Structure Redesign / Inception},
- url = {https://trac.rhaptos.org/trac/rhaptos/wiki/Collection Structure Redesign/Inception?version=54},
- urldate = {2010-07-31},
- date = {2009-07-20}}
-
-@MISC{connexions06:whitepaper,crossref={CNX:whitepaper}}
-
-@MISC{CNX:whitepaper,
- author = {Connexions Team},
- title = {{ConneXions}: Sharing Knowledge and Building Communities},
- howpublished = {White paper at \url{http://cnx.org/aboutus/publications/ConnexionsWhitePaper.pdf}},
- year = {2006},
- key = {CNXWhitepaper},
- organization = {Rice {University}},
- url = {http://cnx.org/aboutus/publications/ConnexionsWhitePaper.pdf}}
-
-@INPROCEEDINGS{ags-2002-d-16,
- author = {Frank Thei{\ss} and Volker Sorge},
- title = {Automatic Generation of Algorithms and Tactics},
- crossref = {CALCULEMUS02-wip},
- pages = {74--75}}
-
-@INPROCEEDINGS{Thomason:acpai85,
- author = {Thomason, R. H.},
- title = {Accommodation, conversational planning and implicature},
- booktitle = {Proceedings Workshop on Theoretical Approaches to Natural Language
- Understanding},
- year = {1985},
- publisher = {Halifax, NS}}
-
-@INPROCEEDINGS{ThoHobMoo:cg96,
- author = {Richmond Thomason and Jerry Hobbs and Johanna D. Moore},
- title = {Communicative Goals},
- booktitle = {Proceedings of the {ECAI} '96 Workshop {Gaps} and {Bridges}: {New}
- directions in Planning and Natural Language Generation},
- year = {1996}}
-
-@BOOK{Thompson91,
- title = {Type Theory and Functional Programming},
- publisher = {Addison-Wesley},
- year = {1991},
- author = {Simon Thompson},
- series = {International Computer Science Series},
- annote = {ISBN 0-201-41667-0}}
-
-@BOOK{Th:MatBew84,
- title = {Mathematische Beweise},
- publisher = {BSB B.G. Teubner Verlagsgesellschaft},
- year = {1984},
- author = {R{\"u}diger Thiele}}
-
-@BOOK{Thompson:ttafp91,
- title = {Type Theory and Functional Programming},
- publisher = {Addison Wesley},
- year = {1991},
- author = {Simon Thompson},
- series = {International Computer Science Series}}
-
-@ARTICLE{tich:foun82,
- author = {Tichy, P.},
- title = {Foundations of {Partial} {Type} {Theory}},
- journal = {Reports on Mathematical Logic},
- year = {1982},
- volume = {14},
- pages = {59--72}}
-
-@ARTICLE{Tichy82,
- author = {Pawel Tichy},
- title = {Foundations of Partial Type Theory},
- journal = {Reports on Mathematical Logic},
- year = {1982},
- volume = {14},
- pages = {59--72}}
-
-@ARTICLE{Tichy78b,
- author = {Pavel Tichy},
- title = {Questions, Answers, and Logic},
- journal = {American Philosophical Quarterly},
- year = {1978},
- volume = {15},
- pages = {257--84},
- number = {4}}
-
-@ARTICLE{Tichy78,
- author = {Pavel Tich{\'y}},
- title = {A new Theory of Subjunctive Conditionals},
- journal = {Synthese},
- year = {1978},
- volume = {37},
- pages = {433--457}}
-
-@ARTICLE{Tichy78a,
- author = {Pavel Tich{\'y}},
- title = {De Dicto and De Re},
- journal = {Philosophia},
- year = {1978},
- volume = {8},
- pages = {1--16}}
-
-@InProceedings{TolPas06:wikis-semantic-hypermedia,
- author = {Robert Tolksdorf and Elena Paslaru Bontas Simperl},
- title = {Towards Wikis as Semantic Hypermedia},
- institution = {Freie {Universit{\"a}t} {Berlin}},
- url = {http://www.wikisym.org/ws2006/proceedings/p79.pdf},
- crossref = {wikisym06}}
-
-@ARTICLE{Tichy:rcs85,
- author = {Walter F. Tichy},
- title = {{RCS} -- {A system for version control}},
- journal = {{Software} -- {Practice \& Experience}},
- publisher = {John Wiley \& Sons, Inc.},
- year = {1985},
- volume = {15},
- issue = {7},
- pages = {637--654}}
-
-@article{Tichy:rcs:delta1998,
- author = {Hunt, James J. and Vo, Kiem-Phong and Tichy, Walter F.},
- title = {Delta algorithms: an empirical analysis},
- journal = {ACM Trans. Softw. Eng. Methodol.},
- volume = {7},
- issue = {2},
- month = {April},
- year = {1998},
- issn = {1049-331X},
- pages = {192--214},
- numpages = {23},
- url = {http://doi.acm.org/10.1145/279310.279321},
- doi = {10.1145/279310.279321},
- acmid = {279321},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {benchmark, delta encoding, differencing}
-}
-
-@ARTICLE{Thomason:amtfpa80,
- author = {R. Tomason},
- title = {A Model Theory for Proposistional Attitudes},
- journal = {Linguistics and Philosophy},
- year = {1980},
- volume = {4},
- pages = {47--70}}
-
-@ARTICLE{th92,
- author = {David Traum and Elizabeth Hinkelman},
- title = {Conversational Acts in Task-oriented Spoken Dialogue},
- journal = {Computational Intelligence},
- year = {1992},
- volume = {8(3)},
- pages = {575--599}}
-
-@INPROCEEDINGS{traum94,
- author = {David R. Traum and James F. Allen},
- title = {Discourse Obligations in Dialogue Processing},
- booktitle = {Proceedings of the 32\textsuperscript{nd} {Annual} {Meeting} of the {Association}
- for {Computational} {Linguistics} (ACL)},
- year = {1994},
- pages = {1--8},
- address = {Las Cruces NM},
- note = {cmp-lg/9407011}}
-
-@ARTICLE{TryRud:eowf99,
- author = {Andrzej Trybulec and Piotr Rudnicki},
- title = {On equivalents of well-foundedness},
- journal = {Journal of Automated Reasoning},
- year = {1999},
- volume = {23},
- pages = {197--234},
- number = {3-4}}
-
-@ARTICLE{TrSw:bpos89,
- author = {Z. Trybulec and H. Swieczkowska},
- title = {Boolean Properties of Sets},
- journal = {Journal of Formalized Mathematics},
- year = {1989},
- volume = {1}}
-
-@comment{TsHo06:fact++}
-@MISC{TsHo06:factpp,
- author = {Dmitry Tsarkov and Ian Horrocks},
- title = {{FaCT++} Description Logic Reasoner: System Description},
- howpublished = {\url{http://www.cs.man.ac.uk/~horrocks/Publications/download/2006/TsHo06a.pdf}},
- year = {2006},
- url = {http://www.cs.man.ac.uk/~horrocks/Publications/download/2006/TsHo06a.pdf}}
-
-@TECHREPORT{ags-2002-e-4,
- author = {Bernd Tschiedel and Bernhard Thalheim and Oleg Rostanin},
- title = {Szenario-basiertes e-Learning f{\"u}r adaptive Inhaltspr{\"a}sentation},
- institution = {TU Cottbus, Universit{\"a}t des Saarlandes, Germany},
- year = {2002},
- type = {Publikation},
- number = {002},
- month = sep,
- isbn = {3-89838-033-5},
- pages = {330--339}}
-
-@BOOK{Turkle:WunschMaschine,
- title = {{Die Wunsch-Maschine: der Computer als zweites Ich}},
- publisher = {Rowohlt},
- year = {1984},
- author = {Sherry Turkle}}
-
-@ARTICLE{Turner:anitfa79,
- author = {D. A. Turner},
- title = {A new implementation technique for applicative languages},
- journal = {Software Practice and Experience},
- year = {1979},
- volume = {9},
- pages = {31--49}}
-
-@MASTERSTHESIS{ullrich00:_analog,
- author = {Carsten Ullrich},
- title = {{Analogie im Beweisplanen}},
- school = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {2000}}
-
-@INPROCEEDINGS{ags-2002-e-9,
- author = {Carsten Ullrich and Erica Melis},
- title = {The Poor Man's Eyetracker in ActiveMath},
- booktitle = {Proceedings of the World Conference on E-Learning in Corporate, Government,
- Healthcare, and Higher Education (eLearn-2002)},
- year = {2002},
- volume = {4},
- pages = {2313--2316},
- annote = {ISBN 1-880094-46-0}}
-
-@ARTICLE{Sandt:ppar92,
- author = {Van der Sandt, Rob A.},
- title = {Presupposition Projection as Anaphora Resolution},
- journal = {Journal of Semantics},
- year = {1992},
- volume = {9},
- pages = {333--377},
- number = {4}}
-
-@ARTICLE{EijckDeV:diahd92,
- author = {Van Eijck, Jan and De Vries, Fer-Jan},
- title = {Dynamic Interpretation and Hoare Deduction},
- journal = {Journal of Logic, Language and Information},
- year = {1992},
- volume = {1},
- pages = {1--44},
- number = {1}}
-
-@MISC{xsltproc_web,
- author = {Daniel Veillard},
- title = {The XSLT C library for Gnome: libxslt},
- howpublished = {Web page at {\url{http://xmlsoft.org/XSLT/}}},
- url = {http://xmlsoft.org/XSLT/},
- key = {xsltproc}}
-
-@ARTICLE{prodigy95,
- author = {Veloso, M. and Carbonell, J. and P{\'e}rez, A. and Borrajo, D. and
- Fink, E. and Blythe, J.},
- title = {Integrating planning and learning: The {PRODIGY} architecture},
- journal = {Journal of Experimental and Theoretical Artificial Intelligence},
- year = {1995},
- volume = {7},
- pages = {81--120},
- number = {1},
- key = {Veloso}}
-
-@PHDTHESIS{velt:logi85,
- author = {Veltman, F.},
- title = {Logics for {Conditionals}},
- school = {University of Amsterdam},
- year = {1985}}
-
-@INCOLLECTION{Vendler:vt67,
- author = {Z. Vendler},
- title = {Verbs and times},
- booktitle = {Linguistics in philosophy},
- publisher = {Cornell University Press},
- year = {1967},
- editor = {Z. Vendler},
- pages = {97--121},
- address = {New York}}
-
-@INPROCEEDINGS{vd04:nc,
- author = {Katrien Verbert and Erik Duval},
- title = {{Towards} a {Global} {Component} {Architecture} for {Learning} {Objects}:
- {A} {Comparative} {Analysis} of {Learning} {Object} {Content} {Models}},
- booktitle = {Proceedings of the EDMEDIA 2004 World Conference on Educational Multimedia,
- Hypermedia and Telecommunications},
- year = {2004},
- pages = {202--208}}
-
-@BOOK{Verkuyl:ta93,
- title = {A theory of aspectuality},
- publisher = {Cambridge University Press},
- year = {1993},
- author = {H. Verkuyl},
- series = {Cambridge studies in linguistics}}
-
-@ARTICLE{Verkuyl:acac89,
- author = {H. Verkuyl},
- title = {Aspectual classes and aspectual composition},
- journal = {Linguistics \& Philosophy},
- year = {1989},
- volume = {12},
- pages = {39--94}}
-
-@UNPUBLISHED{VerVer:spd,
- author = {H. Verkuyl and K. Vermeulen},
- title = {Shifting perpectives in discourse},
- note = {Ms., OTS, University of Utrecht},
- year = {1993}}
-
-@BOOK{vianu,
- title = {Estetic{\u a} (Volume 1)},
- publisher = {Funda{\c t}ia pentru literatur{\u a} {\c s}i art{\u a} 'regele Carol
- II'},
- year = {1934},
- author = {Tudor Vianu},
- address = {Bucharest, Romania}}
-
-@TECHREPORT{Vigneron94,
- author = {Vigneron, L.},
- title = {Superposition in AC theories : proof of completeness by semantic
- trees},
- institution = {CRIN},
- year = {1994},
- type = {Centre de Recherche en Informatique de Nancy : rapport},
- address = {Nancy},
- bibtype = {TECHREPORT},
- idnumber = {MPI-I-B-TR3333},
- location = {MPI-ZB},
- signature = {Reports: -TR3333},
- status = {available},
- volume = {045}}
-
-@ARTICLE{Vijayshanker:udotiatag92,
- author = {K. Vijay-Shankar},
- title = {Using descriptions of trees in a tree-adjoining grammar},
- journal = {Computational Linguistics},
- year = {1992},
- pages = {481--518},
- number = {18}}
-
-@PHDTHESIS{vijay87,
- author = {K. Vijay-Shankar},
- title = {A Study of Tree Adjoining Grammars},
- school = {Department of Computer \& Information Science, University of Pennsylvania},
- year = {1987}}
-
-@INPROCEEDINGS{VijJos:fsbtag88,
- author = {K. Vijay-Shanker and A. Joshi},
- title = {Feature Based TAGs},
- booktitle = {Proceedings of the 12\textsuperscript{th} International Conference of the {Association}
- for {Computational} {Linguistics}},
- year = {1988},
- pages = {573--577},
- address = {Budapest}}
-
-@TECHREPORT{Virga95,
- author = {Virga, Roberto},
- title = {Higher-order superposition for dependent types},
- institution = {Carnegie Mellon Univ.},
- year = {1995},
- type = {Carnegie Mellon University},
- address = {Pittsburgh, PA},
- bibtype = {TECHREPORT},
- idnumber = {MPI-I-B-TR3913},
- location = {MPI-ZB},
- signature = {Reports: -TR3913},
- status = {available},
- volume = {CMU-CS-95-150}}
-
-@ARTICLE{Visser:cidpl98,
- author = {Visser, Albert},
- title = {Contexts in Dynamic Predicate Logic},
- journal = {Journal of Logic, Language and Information},
- year = {1998},
- volume = {7},
- pages = {21--52}}
-
-@ARTICLE{viss:four84,
-
- author = {Visser, A.},
- title = {Four {Valued} {Semantics} and the {Liar}},
- journal = {Journal of Philosophical Logic},
- year = {1984},
- volume = {13},
- pages = {181--212}}
-
-@INPROCEEDINGS{ags-2003-d-6,
- author = {Bao Quoc Vo and Christoph Benzm{\"u}ller and Serge Autexier},
- title = {Assertion Application in Theorem Proving and Proof Planning},
- booktitle = {Proceedings of the 10\textsuperscript{th} Workshop on Automated Reasoning: Bridging
- the Gap between Theory and Practice},
- year = {2003},
- address = {Liverpool, England},
- chrisnote = {W19},
- url = {http://www.ags.uni-sb.de/~chris/papers/W19.pdf}}
-
-@INPROCEEDINGS{ags-2002-d-1,
- author = {Bao Q. Vo and Norman Foo},
- title = {Solving the ramification problem: Causal propagation in an argumentation-theoretic
- approach},
- booktitle = {Pacific Rim International Conferences on Artificial Intelligence,
- PRICAI 2002 Proceedings},
- year = {2002},
- editor = {Mitsuru Ishizuka and Abdul Sattar},
- pages = {49--59},
- publisher = {Springer}}
-
-@INPROCEEDINGS{ags-2001-k-1,
- author = {Bao Q. Vo and Norman Foo},
- title = {Solving the qualification problem (in the presence of the frame problem)},
- booktitle = {Joint Conference on Artificial Intelligence, AI'01 Proceedings},
- year = {2001},
- editor = {M. Stumptner and D. Corbett and M. Brooks},
- pages = {519--531},
- publisher = {Springer}}
-
-@INPROCEEDINGS{ags-2001-k-3,
- author = {Bao Q. Vo and Abhaya Nayak and Norman Foo},
- title = {A syntax-based approach to reasoning about action: Preliminary report},
- booktitle = {Second Australasian Workshop on Computational Logic 2001 Proceedings},
- year = {2001},
- pages = {1--10}}
-
-@ARTICLE{Vo03ijwias,
- author = {Quoc Bao Vo},
- title = {A task-oriented information mediator for mathematical assistant systems},
-
- journal = {International Journal of Web Intelligence and Agent Systems},
- year = {2004},
- note = {to appear},
- publisher = { IOS Press}}
-
-@INPROCEEDINGS{ags-2003-d-11,
- author = {Quoc Bao Vo},
- title = {A task-oriented agent-based mechanism for theorem proving},
- booktitle = {The 2003 IEEE/WIC International Conference on Intelligent Agent Technology
- (IAT 2003)},
- year = {2003},
- pages = {275--281}}
-
-@INPROCEEDINGS{ags-2003-d-7,
- author = {Quoc Bao Vo and Christoph Benzm{\"u}ller and Serge Autexier},
- title = {Assertion Application in Theorem Proving and Proof Planning},
- booktitle = {Proceedings of the International Joint Conference on Artificial Intelligence
- (IJCAI)},
- year = {2003},
- pages = {1343--1344},
- address = {Acapulco, Mexico},
- note = {poster description}}
-
-@ARTICLE{stec:kont74,
- author = {Von Stechow, A.},
- title = {$\epsilon$-$\lambda$ kontextfreie {Sprachen}: {Ein} {Beitrag} zu
- einer nat{\"u}rlichen formalen {Semantik}},
- journal = {Linguistische Berichte},
- year = {1974},
- volume = {34},
- pages = {1--33}}
-
-@INPROCEEDINGS{voss05:metadata-personendaten,
- author = {Jakob Vo{\ss}},
- title = {Metadata with {Personendaten} and beyond},
- booktitle = {Proceedings of Wikimania},
- year = {2005},
- url = {http://meta.wikimedia.org/wiki/Transwiki:Wikimania05/Paper-JV2}}
-
-
-
-@INPROCEEDINGS{voelkel06:semanticwikipedia,
- author = {Max V{\"o}lkel and Markus Kr{\"o}tzsch and Denny Vrande{\v c}i{\'c}
- and Heiko Haller and Rudi Studer},
- title = {Semantic {Wikipedia}},
- pages = {585--594},
- url = {http://www.aifb.uni-karlsruhe.de/WBS/hha/papers/SemanticWikipedia.pdf},
- crossref = {www2006}}
-
-@ARTICLE{Waerden:wdbdvv64,
- author = {Waerden, Bartel L.\ van der},
- title = {{Wie} {der} {Beweis} {der} {Vermutung} {von} {Baudet} {gefunden}
- {wurde}},
- journal = {Abh.\ Math.\ Sem.\ Univ.\ Hamburg},
- year = {1964},
- volume = {28},
- pages = {6--15}}
-
-@ARTICLE{WahAnd:pbionl93,
- author = {Wolfgang Wahlster and Elisabeth Andr{\'e} and Wolfgang Finkler and
- Hans-J{\"u}rgen Profitlich and Thomas Rist},
- title = {Plan-Based Integration of Natural Language and Graphics Generation},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {63},
- pages = {387--427}}
-
-@ARTICLE{WahlsterEtAl:pbionl93,
- author = {Wolfgang Wahlster and Elisabeth Andr{\'e} and Wolfgang Finkler and
- Hans-J{\"u}rgen Profitlich and Thomas Rist},
- title = {Plan-Based Integration of Natural Language and Graphics Generation},
- journal = {Artificial Intelligence},
- year = {1993},
- volume = {63},
- pages = {387--427}}
-
-@INCOLLECTION{walker97,
- author = {Marilyn Walker},
- title = {Centering, Anaphora Resolution, and Discourse Structure},
- booktitle = {Centering in Discourse},
- publisher = {Oxford University Press},
- year = {1997},
- editor = {Marilyn Walker and Aravind Joshi and Ellen Prince},
- address = {Oxford, England},
- note = {cmp-lg/9708005}}
-
-@ARTICLE{walker96a,
- author = {Marilyn Walker},
- title = {Limited Attention and Discourse Structure},
- journal = {Computational Linguistics},
- year = {1996},
- volume = {22},
- pages = {9 pages}}
-
-@ARTICLE{walker96b,
- author = {Marilyn Walker},
- title = {The Effect of Resource Limits and Task Complexity on Collaborative
- Planning in Dialogue},
- journal = {Artificial Intelligence},
- year = {1996},
- volume = {85(1-2)},
- pages = {181--243}}
-
-@ARTICLE{walker96c,
- author = {Marilyn Walker},
- title = {Inferring Acceptance and Rejection in Dialogue by Default Rules of
- Inference},
- journal = {Language and Speech},
- year = {1996},
- volume = {39(2-3)},
- pages = {265--304},
- note = {cmp-lg/9609002}}
-
-@ARTICLE{Walker:terlat96,
- author = {Marilyn Walker},
- title = {The Effect of Resource Limits and Task Complexity on Collaborative
- Planning in Dialogue},
- journal = {Artificial Intelligence},
- year = {1996},
- volume = {85},
- pages = {181--243}}
-
-@PHDTHESIS{walk93,
- author = {Marilyn Walker},
- title = {Informational Redundancy and Resource Bounds in Dialogue},
- school = {Department of Computer \& Information Science, University of Pennsylvania},
- year = {1993}}
-
-@BOOK{wjp97,
- title = {Centering in Discourse},
- publisher = {Oxford University Press},
- year = {1997},
- author = {Marilyn Walker and Aravind Joshi and Ellen Prince},
- address = {Oxford, England}}
-
-@BOOK{WalMue:dtdg99,
- title = {DocBook: The Definitive Guide},
- publisher = {O'Reilly},
- year = {1999},
- author = {Norman Walsh and Leonard Muellner}}
-
-@INPROCEEDINGS{Walther:amscbo83,
- author = {Christoph Walther},
- title = {A Many-Sorted Calculus Based on Resolution and Paramodulation},
- booktitle = {Proceedings of the 8\textsuperscript{th} {International} {Joint} {Conference} on {Artificial}
- {Intelligence}},
- year = {1983},
- editor = {Alan Bundy},
- pages = {882--891},
- address = {Los Altos, California, USA},
- month = aug,
- publisher = {William Kaufmann}}
-
-@ARTICLE{Walther88,
- author = {Christoph Walther},
- title = {Many-Sorted Unification},
- journal = {Journal of the Accociation for Computing Machinery},
- year = {1988},
- volume = {35},
- pages = {1--17},
- number = {1},
- month = jan}
-
-@TECHREPORT{Walther88b,
- author = {Christoph Walther},
- title = {Automated Termination Proofs},
- institution = {Fakult{\"a}t Informatik, Universit{\"a}t Karlsruhe},
- year = {1988},
- type = {Interner Bericht},
- number = {17/88}}
-
-@BOOK{Walther87,crossref={Walther:amscbo87}}
-@BOOK{Walther:amscbo87,
- title = {A Many-Sorted Calculus Based on Resolution and Paramodulation},
- publisher = {Morgan Kaufman Publishers, Inc},
- year = {1987},
- author = {Christoph Walther},
- series = {Pitman, London}}
-
-@ARTICLE{Walther85,crossref={Walther:amsoss85}}
-@ARTICLE{Walther:amsoss85,
- author = {Christoph Walther},
- title = {A Mechanical Solution of {Schubert's} Steamroller by Many-Sorted Resolution},
- journal = {Artificial Intelligence},
- year = {1985},
- volume = {26},
- pages = {217--224},
- number = {2}}
-
-@ARTICLE{Wand:tifrca91,
- author = {Wand, Mitchell},
- title = {Type Inference for Record Concatenation and Multiple Inheritance},
- journal = {Information and Computation},
- year = {1991},
- volume = {93},
- pages = {1--15},
- note = { Preliminary version appeared in {\it Proc. 4\textsuperscript{th} IEEE Symposium on
- Logic in Computer Science\/} (1989), 92--97.},
- url = {ftp://ftp.ccs.neu.edu/pub/people/wand/papers/ic-91.dvi}}
-
-@TECHREPORT{Wang91,
- author = {Wang, Dongming},
- title = {Reasoning about geometric problems using algebraic methods},
- year = {1991},
- address = {Linz},
- publisher = {RISC-Linz},
- series = {Johannes Kepler University / RISC -- Research Institute for Symbolic
- Computation : Technical Report}}
-
-@INPROCEEDINGS{Wang:lrpatp70,
- author = {Hao Wang},
- title = {On the Long-range Prospects of Automated Theorem Proving},
- booktitle = {Symposion on Automatic Demonstration},
- year = {1970},
- pages = {101--111},
- publisher = {Springer Verlag}}
-
-@ARTICLE{Wang52,
- author = {Hao Wang},
- title = {Logic of Many-Sorted Theories},
- journal = {Journal of Symbolic Logic},
- year = {1952},
- volume = {17}}
-
-@ARTICLE{WaRo75,
- author = {P. S. Wang and L. Preiss Rothschild},
- title = {Factoring Multivariate Polynomials Over the Integers},
- journal = {Mathematics of Computation},
- year = {1975},
- volume = {29},
- pages = {935--950},
- number = {131},
- month = jul}
-
-@MISC{WanDeWCai:xdiff02,
- author = {Yuan Wang and David J. DeWitt and Jin-Yi Cai},
- title = {{X-Diff}: An Effective Change Detection Algorithm for {XML} Documents},
- year = {2002},
- note = {Submitted, \url{http://www.cs.wisc.edu/~yuanwang/xdiff.html}}}
-
-@BOOK{WaJo72,
- title = {Psychology Reasoning. Structure and Content},
- publisher = {Batsford, London},
- year = {1972},
- author = {P. C. Wason and P. N. Johnson-Laird}}
-
-@BOOK{WasJohLai:por72,
- title = {Psychology of Reasoning. Structure and Content},
- publisher = {Batsford, London},
- year = {1972},
- author = {P. C. Wason and P. N. Johnson-Laird}}
-
-@INCOLLECTION{webb83,
- author = {Bonnie Webber},
- title = {So What can we Talk about Now?},
- booktitle = {Computational Models of Discourse},
- publisher = {MIT Press},
- year = {1982},
- editor = {Michael Brady and Robert Berwick},
- pages = {331--371},
- address = {Cambridge MA}}
-
-@INCOLLECTION{webber86,
- author = {Bonnie Webber},
- title = {Questions, Answers and Responses: Interacting with Knowledge Base
- Systems},
- booktitle = {On Knowledge Base Systems},
- publisher = {Springer-Verlag},
- year = {1986},
- editor = {Michael Brodie and John Mylopoulos},
- pages = {365--401}}
-
-@ARTICLE{webb91,
- author = {Bonnie Webber},
- title = {Structure and Ostension in the Interpretation of Discourse Deixis},
- journal = {Natural Language and Cognitive Processes},
- year = {1991},
- volume = {6(2)},
- pages = {107--135},
- note = {cmp-lg/9708003}}
-
-@ARTICLE{webb88,
- author = {Bonnie Webber},
- title = {Tense as Discourse Anaphor},
- journal = {Computational Linguistics},
- year = {1988},
- volume = {14(2)},
- pages = {61--73}}
-
-@ARTICLE{Webber:tda,
- author = {B. Webber},
- title = {Tense as definite anaphor},
- journal = {Computational Linguistics},
- year = {1988},
- volume = {14},
- number = {2}}
-
-@PHDTHESIS{Webber:afatda78,
- author = {Bonnie Webber},
- title = {A formal approach to discourse anaphora},
- school = {Harvard University},
- year = {1978}}
-
-@ARTICLE{webb95,
- author = {Bonnie Webber and Norman Badler and Barbara Di Eugenio and Christopher
- Geib and Libby Levison and Michael Moore},
- title = {Instructions, Intentions and Expectations},
- journal = {Artificial Intelligence},
- year = {1995},
- volume = {73},
- pages = {253--269-135}}
-
-@INPROCEEDINGS{wd90,
- author = {Bonnie Webber and Barbara D{i Eugenio}},
- title = {Free {Adjuncts} in {Natural} {Language} {Instructions}},
- booktitle = {COLING90, Proceedings of the 13\textsuperscript{th} {International} {Conference} on
- {Computational} {Linguistics}},
- year = {1990},
- pages = {395--400},
- address = {Helsinki, Finland}}
-
-@INPROCEEDINGS{wm83,
- author = {Bonnie Webber and Eric Mays},
- title = {Varieties of User Misconceptions: Detection and Correction},
- booktitle = {Proceedings of the International Joint Conference on Artificial Intelligence},
- year = {1983},
- pages = {650--652},
- address = {Karlsruhe, Germany}}
-
-@PHDTHESIS{Weber93,
- author = {Franz Weber},
- title = {{Softwareentwicklung mit Logik h{\"o}herer Stufe}},
- school = {Universit{\"a}t Karlsruhe},
- year = {1993},
- address = {Germany},
- month = jul}
-
-@techreport{fgdc:metadata,
- title = {Content Standard for Digital Geospatial Metadata Workbook},
- institution = {Federal Geographic Data Committee},
- type = {Workbook},
- version = {2.0},
- date = {2000-05-01},
- month = may,
- year = 2000,
- url = {http://www.fgdc.gov/metadata/documents/workbook_0501_bmk.pdf},
- urldate = {2010-08-11}}
-
-@techreport{DCMI:dc-rdf:tr,
- title = {Expressing {Dublin Core} metadata using the {Resource} {Description} {Framework} ({RDF})},
- author = {Mikael Nilsson and Andy Powell and Pete Johnston and Ambj{\"o}rn Naeve},
- type = {{DCMI} Recommendation},
- institution = {Dublin Core Metadata Initiative},
- date = {2008-01-14},
- url = {http://dublincore.org/documents/2008/01/14/dc-rdf/}}
-
-@techreport{DCMI:dc-xml-guidelines:tr,
- title = {Guidelines for Implementing {Dublin Core} in {XML}},
- author = {Andy Powell and Pete Johnston},
- type = {{DCMI} Recommendation},
- institution = {Dublin Core Metadata Initiative},
- date = {2003-04-02},
- url = {http://dublincore.org/documents/2003/04/02/dc-xml-guidelines/}}
-
-@techreport{DCMI:relators:tr,
- title = {{MARC} {Relator} terms and {Dublin Core}},
- author = {{DCMI Usage Board}},
- institution = {Dublin Core Metadata Initiative},
- date = {2005-12-08},
- url = {http://dublincore.org/usage/documents/relators/}}
-
-@techreport{DCMI:dcmi-terms:tr,
- title = {{DCMI} Metadata Terms},
- author = {{DCMI Usage Board}},
- type = {{DCMI} Recommendation},
- institution = {Dublin Core Metadata Initiative},
- date = {2012-06-14},
- year = 2012,
- url = {http://dublincore.org/documents/2012/06/14/dcmi-terms/}}
-
-@techreport{DCMI:dcmes08:tr,
- version = {1.1},
- title = {{Dublin Core} Metadata Element Set},
- type = {{DCMI} Recommendation},
- institution = {Dublin Core Metadata Initiative},
- date = {2013-06-14},
- crossref = {DCMI:dcmes08:base}}
-
-@MISC{DCMI:dcmes08,
- howpublished = {DCMI Recommendation},
- crossref = {DCMI:dcmes08:base}}
-
-@MISC{DCMI:dcmes08:base,
- key = {{Dublin Core} Metadata Element Set},
- title = {{Dublin Core} Metadata Element Set, Version 1.1},
- year = {2008},
- url = {http://dublincore.org/documents/2012/06/14/dces/}}
-
-@MISC{DCMI:dcmes99,
- author = {Weibel, S. and Kunze, J. and Lagoze, C. and Wolf, M.},
- title = {Dublin Core Metadata Element Set, Version 1.1: Reference Description},
- howpublished = {{DCMI} Recommendation},
- year = {1999},
- url = {http://dublincore.org/documents/1999/07/02/dces/}}
-
-@INPROCEEDINGS{Weidenbach94a,
- author = {Weidenbach, Christoph},
- title = {First-Order Tableaux with Sorts},
- booktitle = {TABLEAUX-'94, 3\textsuperscript{rd} Workshop on Theorem Proving with Analytic Tableaux
- and Related Methods},
- year = {1994},
- editor = {Krysia Broda and Marcello D'Agostino et.al.},
- pages = {247--261},
- month = apr,
- publisher = {{Imperial College of Science Technology and Medicine, TR-94/5}},
- note = {To appear in the Bulletin of the IGPL}}
-
-@ARTICLE{Weidenbach:sv97,
- author = {Christoph Weidenbach},
- title = {{SPASS}: Version 0.49},
- journal = {Journal of Automated Reasoning},
- year = {1997},
- volume = {18},
- pages = {247--252},
- number = {2},
- note = {Special Issue on the CADE-13 Automated Theorem Proving System Competition}}
-
-@PHDTHESIS{Weidenbach:cafols96,
- author = {Christoph Weidenbach},
- title = {Computational Aspects of a First-Order Logic with Sorts},
- school = {Universti{\"a}t des Saarlandes, Germany},
- year = {1996}}
-
-@ARTICLE{Weidenbach:fotws95,
- author = {Weidenbach, Christoph},
- title = {First-Order Tableaux with Sorts},
- journal = {Journal of the Interest Group in Pure and Applied Logics, IGPL},
- year = {1995},
- volume = {3},
- pages = {887--906},
- number = {6}}
-
-@TECHREPORT{Weidenbach93,
- author = {Christoph Weidenbach},
- title = {Unification in Sort Theories and its Applications},
- institution = {Max-Planck-Institut f{\"u}r Informatik},
- year = {1993},
- type = {MPI-Report},
- number = {MPI-I-93-211},
- address = {Saarbr{\"u}cken, Germany},
- month = mar}
-
-@TECHREPORT{Weidenbach91,
- author = {Christoph Weidenbach},
- title = {A Sorted Logic Using Dynamic Sorts},
- institution = {Max-Planck-Institut f{\"u}r Informatik},
- year = {1991},
- type = {Technical Report},
- number = {MPI-I-91-218},
- address = {Saarbr{\"u}cken, Germany}}
-
-@TECHREPORT{Weidenbach89,
- author = {Christoph Weidenbach},
- title = {A Resolution Calculus with Dynamic Sort Structures and Partial Functions},
- institution = {Fachbereich Informatik, Universit{\"a}t Kaiserslautern},
- year = {1989},
- type = {Seki-Report},
- number = {SR-89-23},
- address = {Kaiserslautern, Germany}}
-
-@MISC{WindowsAreNotWindows,
- author = {David Weinberger},
- title = {{When a window isn't a window, just a pane}},
- howpublished = {online},
- month = mar,
- year = {2004},
- note = {KMWorld magazine, Vol. 13, Issue 3, seen 4.4.2005}}
-
-@BOOK{Weizenbaum:MachtDerComputer,
- title = {{Die Macht der Computer und die Ohnmacht der Vernunft}},
- publisher = {Suhrkamp},
- year = {1978},
- author = {Joseph Weizenbaum},
- number = {274},
- series = {wissenschaft}}
-
-@INPROCEEDINGS{WeSk:mfpfsa96,
- author = {Ch. Wei{\ss} and W. Skut},
- title = {Modelling Focus Projection with Finite State Automata},
- booktitle = {Proceedings of Traitement de Langage Naturel},
- year = {1996},
- address = {Marseille}}
-
-@ARTICLE{Welty:OntologyResearch,
- author = {Christopher Welty},
- title = {{Ontology research}},
- journal = {AI-Magazine},
- year = {2003},
- month = {Fall},
- note = {{seen 12-16-2004 at www.findarticles.com/p/articles}}}
-
-@BOOK{CultivatingCoPs,
- title = {{Cultivating of Communities of Practice}},
- publisher = {Harvard Business School Press},
- year = {2002},
- author = {E. Wenger and R. A. McDermott and W. Snyder}}
-
-@PHDTHESIS{White:acac94,
- author = {White, M.},
- title = {A computational approach to aspectual composition},
- school = {University of Pennsylvania},
- year = {1994}}
-
-@BOOK{WhRu10,crossref={WhiRus:pm10}}
-@BOOK{WhiRus:pm10,
- title = {Principia Mathematica},
- publisher = {Cambridge University Press},
- year = {1910},
- author = {Alfred North Whitehead and Bertrand Russell},
- volume = {I},
- edition = 2,
- address = {Cambridge, UK}}
-
-@InProceedings{Dahn:sbt01,
- author = {Ingo Dahn},
- title = {Slicing Book Technology -- Providing Online Support for Textbooks},
- booktitle = {The 20\textsuperscript{th} ICDE World Conference on Open Learning and Distance Education},
- year = 2001}
-
-
-
-@Misc{URL:MizarLanguage,
- key = {Mizar Language},
- title = {Mizar Language},
- year = {\seen{III 2006}},
- url = {http://mizar.org/language},
- howpublished = {\webpageat\url{http://mizar.org/language}}}
-
-
-@ARTICLE{WickThompson:rese92,
- author = {Michael R. Wick and William B. Thompson},
- title = {Reconstructive Expert System Explanation},
- journal = {Artificial Intelligence},
- year = {1992},
- volume = {54},
- pages = {33--70}}
-
-@INPROCEEDINGS{wiebe93,
- author = {Janyce Wiebe},
- title = {Issues in Linguistic Segmentation},
- booktitle = {Workshop on Intentionality and Structure in Discourse Relations,
- Association forComputational Linguistics},
- year = {1993},
- pages = {148--151},
- address = {Ohio StateUniversity}}
-
-@INPROCEEDINGS{Wiedijk03,
- author = {Freek Wiedijk},
- title = {Comparing Mathematical Provers},
- crossref = {MKM03},
- pages = {188--202}}
-
-@MISC{Wiedijk:mai99,
- author = {Freek Wiedijk},
- title = {Mizar: An Impression},
- year = {1999},
- url = {http://www.cs.kun.nl/~freek/notes}}
-
-@BOOK{Wiesner:GeschlechterNaturwissenschaft,
- title = {{Die Inszenierung der Geschlechter in den Naturwissenschaften: Wissenschafts-
- und Genderforschung im Dialog}},
- publisher = {Campus Verlag},
- year = {2002},
- author = {Heike Wiesner}}
-
-@BOOK{Wilenski:pau83,
- title = {Planning and Understanding: A computational approach to human reasoning},
- publisher = {Addison-Wesley},
- year = {1983},
- author = {R. Wilenski}}
-
-@UNPUBLISHED{Williams90,
- author = {James G. Williams},
- title = {A General but Efficient Unification Algorithm},
- year = {1990},
- keywords = {Unification Algorithm}}
-
-@PHDTHESIS{Winograd:p71,
- author = {Terry Winograd},
- title = {Procedures as a representation for data in a computational program
- for understanding natural language},
- school = {MIT},
- year = {1971},
- address = {Cambridge}}
-
-@online{gdeawebmap,
-url = {http://www.informatik.uni-koeln.de/public/graphmap/gdnet/web/index.php},
-title = {Web Map}}
-
-@misc{gdea_31288,
- title = {Drawing Clustered Graphs as Topographic Maps },
- author = {Martin Gronemann and Michael J{\"u}nger},
- year = {2012},
- url = {http://gdea.informatik.uni-koeln.de/1288/}
-}
-
- @online{gdea,
- label = {GDEA},
- author = "{Graph Drawing E-print Archive}",
- title = "{Welcome to GDEA}",
- url = "http://gdea.informatik.uni-koeln.de/",
- year = {2013},
- urldate = {2013-05-09}
- }
-
- @online{XKCD:map:on,crossref={XKCD:map:base},
- label = {XKCD},
- url = {http://xkcd.com/802/},
- urldate = {2013-05-12}}
- @misc{XKCD:map,crossref={XKCD:map:base},
- howpublished={\url{http://xkcd.com/802/}}}
- @misc{XKCD:map:base,
- author = "XKCD",
- title = "{Updated Map of Online Communities}",
- year = {2010}}
-
- @online{leaflet:on,crossref={leaflet:base},
- url = {http://leaflet.cloudmade.com/},
- urldate = {2012-12-03}}
- @misc{leaflet,crossref={leaflet:base},
- howpublished={\url{http://leaflet.cloudmade.com/}}}
- @misc{leaflet:base,
- author = "Leaflet",
- title = "{An Open-Source JavaScript Library for Mobile-Friendly Interactive Maps by CloudMade}",
- year = {2012}
- }
-
- @online{wiki:rbf,
- author = {Wikipedia},
- title = {Radial basis function},
- year = {2012},
- url = {http://en.wikipedia.org/w/index.php?title=Radial_basis_function&oldid=544074242},
- urldate = {2013-05-08}}
-
-@InCollection{Winograd:TheSpreadsheet,
- author = {Terry Winograd},
- title = {The Spreadsheet},
- booktitle = {Bringing Design to Software},
- crossref = {Winograd:BringingDesignToSoftware},
- pages = {228--231},
- year = {2006},
- origyear = {1996}
-}
-
-@Book{Winograd:BringingDesignToSoftware,
- editor = {Terry Winograd and John Bennett and Laura de Young and Bradley Hartfield},
- title = {Bringing Design to Software},
- publisher = {Addison-Wesley},
- year = {2006},
- origyear = {1996}
-}
-
-@MISC{Winterhoff-Spurk:KaltesHerz,
- author = {Peter Winterhoff-Spurk},
- title = {{Das kalte Herz: Vom Einflu{\ss} des Fernsehens auf den Sozialcharakter.}},
- url = {http://www.lptw.de/vortraege2004/pdf/04winterhoff-spurk.pdf},
- howpublished = {online {\url{http://www.lptw.de/vortraege2004/pdf/04winterhoff-spurk.pdf}}
- seen 2005-07-01},
- month = may,
- year = {2004},
- note = {Abendvortrag bei den 54. Lindauer Psychotherapiewochen zum Thema
- 'Das Herz' am 05.05.04}}
-
-@ARTICLE{Winterstein77,
- author = {G. Winterstein},
- title = {Unification in Second Order Logic},
- journal = {Electrische Informationsverarbeitung und Kybernetik},
- year = {1977},
- volume = {13},
- pages = {399--417}}
-
-@INPROCEEDINGS{ags-2002-d-29,
- author = {Claus-Peter Wirth},
- title = {A New Indefinite Semantics for {Hilbert's} epsilon},
- booktitle = {Automated Reasoning with Analytic Tableaus and Related Methods. International
- Conference, {TABLEAU} 2002},
- year = {2002},
- editor = {Uwe Egly and Christian G. Ferm{\"u}ller},
- number = {2381},
- series = {LNAI},
- pages = {298--314},
- publisher = {Springer}}
-
-@ARTICLE{ags-2003-d-0015,
- author = {Claus-Peter Wirth},
- title = {Descente Infinie + {Deduction}},
- journal = {Logic Journal of the IGPL},
- year = {2004},
- url = {http://www.ags.uni-sb.de/~cp/p/d/welcome.html},
- publisher = {Oxford University Press}}
-
-@TECHREPORT{W00,
- author = {Claus-Peter Wirth},
- title = {Descente Infinie + Deduction. Def. ``wellfoundedness changed, Aug.
- 5, 2001 (in honor of J{\"o}rg Siekmann's $60^{\rm th}$ birthday)},
- institution = {FB Informatik, Univ. Dortmund},
- year = {2001},
- type = {Research Report (green/grey series)},
- number = {737/2000},
- uri = {http://www.ags.uni-sb.de/~cp/p/tab99/new.html}}
-
-@TECHREPORT{ags-2003-d-1,
- author = {Claus-Peter Wirth},
- title = {Descente Infinie + {Deduction. \ Extd.\ version, Feb.\,1, 2003},
- {\url{http://www.ags.uni-sb.de/~cp/p/tab99/new.html}}},
- url = {http://www.ags.uni-sb.de/~cp/p/tab99/new.html},
- institution = {FB Informatik, {Univ.\ Dortmund}},
- year = {2000},
- type = {Research Report (green/grey series)},
- number = {737/2000}}
-
-@TECHREPORT{Wirth00:did,
- author = {Claus-Peter Wirth},
- title = {Descente Infinie + Deduction},
- institution = {FB Informatik, Universit{\"a}t Dortmund, 7},
- year = {2000},
- type = {Technical Report},
- number = {737/2000},
- url = {http://ls5-www.informatik.uni-dortmund.de/~wirth/p/tab99/new.html}}
-
-@ARTICLE{Wolfram:asflp94,
- author = {David A. Wolfram},
- title = {A semantics for $\lambda$-{PROLOG}},
- journal = {Theoretical Computer Science},
- year = {1994},
- volume = {136},
- number = {1}}
-
-@BOOK{Wolfram93,crossref={Wolfram:tctot93}}
-@BOOK{Wolfram:tctot93,
- title = {The Clausal Theory of Types},
- publisher = {Cambridge University Press},
- year = {1993},
- author = {David A. Wolfram}}
-
-
-@Misc{wolfram:formula-search,
- key = {Wikipedia: Wiki},
- title = {Formula Search},
- howpublished = {\webpageat\url{http://functions.wolfram.com/formulasearch/}},
- note = {\seen{\February} 2007},
- url = {http://functions.wolfram.com/formulasearch/}}
-
-@Book{Wolfram.02,crossref={Wolfram:tmb02}}
-@BOOK{Wolfram:tmb02,
- title = {The Mathematica Book},
- publisher = {Cambridge University Press},
- year = 2002,
- author = {Stephen Wolfram}}
-
-@Misc{mozilla_web,
- key = {MOZILLA},
- author = {The Mozilla Organization},
- title = {Mozilla},
- howpublished = {\webpageat\url{http://www.mozilla.org}},
- url = {http://www.mozilla.org}}
-
-@Misc{ie_web,
- key = {Internet Explorer},
- author = {Microsoft Corp.},
- title = {Microsoft Internet Explorer},
- url = {http://www.microsoft.com/windows/ie/},
- howpublished = {\webpageat\url{http://www.microsoft.com/windows/ie/}}}
-
-@online{mathplayer,crossref={mathplayer:base},
- subtitle = {{<Display MathML in your browser>}},
- urldate = {2012-03-19},
-}
-
-@Misc{mathplayer_web,crossref={mathplayer:base},
- key = {Mathplayer},
- title = {{MathPlayer <Display MathML in your browser>}},
- howpublished = {\webpageat\url{http://www.dessci.com/en/products/mathplayer}}}
-
-@comment{same as the entry above, retained for compatibility}
-@Misc{mathplayer:webpage,crossref={mathplayer:base},
- key = {Mathplayer},
- title = {{MathPlayer <Display MathML in your browser>}},
- howpublished = {\webpageat\url{http://www.dessci.com/en/products/mathplayer}}}
-
-@Misc{mathplayer:base,
- institution = {Design Science},
- title = {{MathPlayer}},
- url = {http://www.dessci.com/en/products/mathplayer}}
-
-@online{mathplayer:accessibility:online,crossref={mathplayer:accessibility},urldate={2010-01-08}}
-@Misc{mathplayer:accessibility,
- key = {MathplayerAccessibility},
- institution = {Design Science},
- title = {MathPlayer: Speech instructions and examples},
- howpublished = {\webpageat\url{http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm}},
- url = {http://www.dessci.com/en/products/mathplayer/tech/accessibility.htm}}
-
-@Misc{amaya_web,
- key = {Amaya},
- author = {Ir{\`e}ne Vatton},
- title = {Welcome to Amaya},
- url = {http://www.w3.org/Amaya},
- howpublished = {\webpageat\url{http://www.w3.org/Amaya}}}
-
-@BOOK{Wolfram99,
- title = {The Mathematica book (5\textsuperscript{th} edition)},
- publisher = {Cambridge University Press},
- year = {1999},
- author = {Stephen Wolfram},
- isbn = {0-521-64314-7}}
-
-@BOOK{Wolfram96,
- title = {{The} {Mathematica} book : version 3.0},
- publisher = {Wolfram Media, Inc.},
- year = {1996},
- author = {Stephen Wolfram},
- address = {Champaign, IL, USA},
- edition = {3}}
-
-@BOOK{Wolfram91,
- title = {Mathematica: a System for Doing Mathematics by Computer},
- publisher = {Addison-Wesley},
- year = {1991},
- author = {Stephen Wolfram}}
-
-
-
-@ARTICLE{wood:para84,
- author = {Woodruff, P. W.},
- title = {Paradox, {Truth} and {Logic}, {Part} I: {Paradox} and {Truth}},
- journal = {Journal of Philosophical Logic},
- year = {1984},
- volume = {13},
- pages = {213--232}}
-
-@ARTICLE{WooJen:iatap95,
- author = {Wooldridge, M. and Jennings, N. R.},
- title = {Intelligent Agents: Theory and Practice},
- journal = {The Knowledge Engineering Review},
- year = {1995},
- volume = {10},
- pages = {115--152},
- number = {2}}
-
-@ARTICLE{Wooldridge:IntelligentAgents:95,
- author = {M. Wooldridge and N. R. Jennings},
- title = {Intelligent Agents: Theory and Practice},
- journal = {Knowledge Engineering Review},
- year = {1995},
- volume = {10},
- number = {2}}
-
-@UNPUBLISHED{woreggwin:ric97,
- author = {Karsten Worm and Markus Egg and Verena Winter},
- title = {Robustheit in {CHORUS}},
- note = {Universit{\"a}t des Saarlandes},
- year = {1997}}
-
-@BOOK{Wu:mgtp00,
- title = {Mechanical Geometry Theorem-Proving, Mechanical Geometry Problem-Solving,
- and Polynomial Equations-Solving},
- publisher = {Kluwer},
- year = {2000},
- author = {Wen-Tsun Wu}}
-
-@BOOK{WuJinWan:mtpg,
- title = {Mechanical Theorem Proving in Geometries : Basic Principles},
- publisher = {Springer Verlag},
- year = {1994},
- author = {Wen-Tsun Wu and Xiaofan Jin and Dongming Wang},
- series = {Texts and Monographs in Symbolic Computation}}
-
-@ARTICLE{Wunderlich:hdppfi91,
- author = {Dieter Wunderlich},
- title = {How do prepositional phrases fit into compositional syntax and semantics?},
- journal = {Linguistics},
- year = {1991},
- volume = {29},
- pages = {591--621}}
-
-@TECHREPORT{Yah:gqaiddummg96,
- author = {Adnan H. Yahya},
- title = {{Generalized Query Answering in Disjunctive Databases Using Minimal
- Model Generation}},
- institution = {LMU Institut f{\"u}r Informatik, M{\"u}nchen},
- year = {1997},
- type = {Research Report},
- number = {PMS-FB-1996-13},
- location = {{\tt http://www.pms.informatik.uni-muenchen.de/publikationen/}}}
-
-@ARTICLE{ymv91,
- author = {Gijoo Yang and Kathleen McCoy and K. Vijay-Shankar},
- title = {From functional specification to syntactic strures: systemic grammar
- and tree adjoining grammar},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7(4)},
- pages = {207--219}}
-
-@INPROCEEDINGS{young94,
- author = {R. Michael Young and Johanna D. Moore and Martha E. Pollack},
- title = {Towards a Principled Representation of Discourse Plans},
- booktitle = {Proceedings of the 16\textsuperscript{th} Annual Conference of the Cognitive Science
- Society},
- year = {1994},
- address = {Atlanta GA},
- note = {cmp-lg/9406004}}
-
-@ARTICLE{YF79,
- author = {Sharon J. Young and Frank Fallside},
- title = {Speech synthesis from concept: a method for speech output from information
- systems},
- journal = {Journal of the Acoustic Society of America},
- year = {1979},
- volume = {66(3)},
- pages = {685--695}}
-
-@MASTERSTHESIS{Zach93,
- author = {Richard Zach},
- title = {Proof Theory of Finite-valued Logics},
- school = {Technische Universit{\"a}t Wien},
- year = {1993},
- note = {Also as Technical Report TUW-E185.2-Z.1-93}}
-
-@ARTICLE{Zadeh:fs65,
- author = {Lotfi A. Zadeh},
- title = {Fuzzy Sets},
- journal = {Information and Control},
- year = {1965},
- volume = {8},
- pages = {338--353}}
-
-@ARTICLE{Zaionc87,
- author = {M. Zaionc},
- title = {Word Operation definable in the typed $\lambda$-calculus},
- journal = {Theoretical Computer Science},
- year = {1987},
- volume = {52},
- pages = {1--14}}
-
-@ARTICLE{Zaionc:woditt87,
- author = {M. Zaionc},
- title = {Word Operation definable in the typed $\lambda$-calculus},
- journal = {Theoretical Computer Science},
- year = {1987},
- volume = {52},
- pages = {1--14}}
-
-@ARTICLE{Zeevat:paaius92,
- author = {Henk Zeevat},
- title = {Presupposition and Accommodation in Update Semantics},
- journal = {Journal of Semantics},
- year = {1992},
- volume = {9},
- pages = {379--412},
- number = {4}}
-
-@PHDTHESIS{Zeevat:aodsau91,
- author = {Henk Zeevat},
- title = {Aspects of Discourse Semantics and Unification Grammar},
- school = {University of Amsterdam},
- year = {1991}}
-
-@ARTICLE{Zeevat:acatd89,
- author = {Henk Zeevat},
- title = {A Compositional Approach to {DRT}},
- journal = {Linguistics \& Philosophy},
- year = {1989},
- volume = {12},
- pages = {95--131}}
-
-@ARTICLE{Zermelo08,
- author = {Ernst Zermelo},
- title = {{Untersuchungen} {\"u}ber {die} {Grundlagen} {der} {Mengenlehre}.
- {I}.},
- journal = {Mathematische Annalen},
- year = {1908},
- volume = { 65},
- pages = {261--281}}
-
-@TECHREPORT{Zhang88,
- author = {Hantao Zhang},
- title = {Reduction, Superposition, and Induction: Automated Reasoning in an
- equational Logic.},
- institution = {The University of Iowa},
- year = {1988},
- type = {Technical Report},
- number = {88-06},
- address = {Iowa City, USA}}
-
-@INCOLLECTION{ZilbersteinR92,
- author = {Shlomo Zilberstein and Stuart J. Russell},
- title = {Efficient Resource-Bounded Reasoning in AT-RALPH},
- booktitle = {AIPS-92: Proc.\ of the First International Conference on Artificial
- Intelligence Planning Systems},
- publisher = {Kaufmann},
- year = {1992},
- editor = {James Hendler},
- pages = {260--266},
- address = {San Mateo, CA}}
-
-@INPROCEEDINGS{ZilbersteinR93,
- author = {Shlomo Zilberstein and Stuart J. Russell},
- title = {Anytime Sensing, Planning and Action: A Practical Model for Robot Control},
- crossref = {IJCAI93},
- pages = {1402--1407}}
-
-@MASTERSTHESIS{zimmer00:_beweis,
- author = {J{\"u}rgen Zimmer},
- title = {{Contsraintl{\"o}sen f{\"u}r Beweisplanung}},
- school = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {2000}}
-
-@INPROCEEDINGS{ags-2002-d-23,
- author = {J{\"u}rgen Zimmer and Louise Dennis},
- title = {Inductive Theorem Proving and Computer Algebra in the MathWeb Software Bus},
- crossref = {CALCULEMUS02}}
-
-@ARTICLE{ZimmerMelisJAR03,
- author = {J. Zimmer and E. Melis},
- title = {Constraint Solving for Proof Planning},
- journal = {Journal of Automated Reasoning},
- year = {2004},
- annote = {41 Seiten}}
-
-@INPROCEEDINGS{ZimmerMICAI04,
- author = {J{\"u}rgen Zimmer},
- title = {A {Framework} for {Agent}-based {Brokering} of {Reasoning} {Services}},
- booktitle = {Proceedings of the Mexican International Conference on Artificial
- Intelligence 2004},
- year = {2004},
- editor = {Raul Monroy and Gustavo Arroyo Figueroa and L. Enrique Sucar},
- publisher = {Springer-Verlag},
- note = {to appear}}
-
-@INPROCEEDINGS{ZimmerIJCAIWS03,
- author = {Zimmer, J{\"u}rgen},
- title = {A New Framework for Reasoning Agents},
- booktitle = {{Proceedings of the Workshop on Agents and Automated Reasoning, 18\textsuperscript{th}
- International Joint Conference on Artificial Intelligence}},
- year = {2003},
- editor = {Volker Sorge and Simon Colton and Michael Fisher and Jeremy Gow},
- address = {Acapulco, Mexico},
- place = {Acapulco, Mexico}}
-
-@TECHREPORT{ZimmerBenzmueller:sr-02-06,
- author = {J{\"u}rgen Zimmer and Christoph Benzm{\"u}ller (Eds.)},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes, Saarbr{\"u}cken,
- Germany},
- year = {2002},
- type = {SEKI Technical Report},
- number = {SR-02-06}}
-
-@INPROCEEDINGS{ags-2001-m-1,
- author = {J{\"u}rgen Zimmer and A. Armando and C. Giromini},
- title = {Towards Mathematical Agents --- Combining MathWeb-SB and {LBA}.},
- crossref = {CALCULEMUS02},
- pages = {21--23}}
-
-@INPROCEEDINGS{ZimmerEtAl02,
- title = {Integrating {HR} and tptp2X into {MathWeb} to Compare Automated Theorem
- Provers},
- year = {2002},
- editor = {Geoff Sutcliffe and Jeff Pelletier and Christian Suttner},
- series = {DIKU Technical Reports},
- publisher = {Department of Computer Science},
- url = {http://www.diku.dk/publikationer/tekniske.rapporter/2002/02-10.pdf},
- organization = {University of Copenhagen},
- author = {J{\"u}rgen Zimmer and Andreas Franke and Simon Colton and Geoff Sutcliffe},
- pages = {4--18}}
-
-@INPROCEEDINGS{ags-2002-d-10,
- author = {J{\"u}rgen Zimmer and Andreas Franke and Simon Colton and Geoff Sutcliffe},
- title = {Integrating HR and tptp2X into MathWeb to Compare Automated Theorem
- Provers},
- booktitle = {Proceedings of the PaPS'02 Workshop},
- year = {2002}}
-
-
-@ARTICLE{Zimmermann:rgstiq85,
- author = {Zimmermann, T. E.},
- title = {Remarks on {Groenendijk} and {Stokhof's} theory of indirect questions},
- journal = {Linguistics \& Philosophy},
- year = {1985},
- volume = {8},
- pages = {431--448}}
-
-@ARTICLE{Zinn:igpl03,
- author = {Claus Zinn},
- title = {A Computational Framework for Understanding Mathematical Discourse},
- journal = {Logic Journal of the IGPL},
- keywords={lamapunbibs},
- year = {2003},
- volume = {11},
- pages = {457--484},
- number = {4}}
-
-@BOOK{Zippel93,
- title = {Effective Polynomial Computation},
- publisher = {Kluwer Academic Press},
- year = {1993},
- author = {Zippel, Richard},
- address = {Boston; Dordrecht; London}}
-
-@INPROCEEDINGS{zm94,
- author = {Ingrid Zuckerman and Richard McCanachy},
- title = {Discourse Planning as an Optimization Process},
- booktitle = {Proceedings of the Seventh International Workshop on Natural Language
- Generation},
- year = {1994},
- pages = {37--44},
- address = {Kennebunkport ME}}
-
-@ARTICLE{Zukerman:umctgf91,
- author = {Ingrid Zukerman},
- title = {Using meta-comments to generate fluent text in a technical domain},
- journal = {Computational Intelligence},
- year = {1991},
- volume = {7},
- pages = {276--295}}
-
-@ARTICLE{ZwaRad:smlcm98,
- author = {Zwaan, R. A. and Radvansky, G. A.},
- title = {Situation models in language comprehension and memory},
- journal = {Psychological Bulletin},
- year = {1998},
- volume = {123},
- pages = {162--185}}
-
-
-@BOOK{AbrSte:hmf64,
- title = {Handbook of Mathematical Functions (with Formulas, Graphs, and Mathematical
- Tables)},
- publisher = {National Bureau of Standards},
- year = {1964},
- editor = {M. Abramowitz and I. A. Stegun},
- series = {Applied Mathematics Series}}
-
-@BOOK{AbramskyEtAl:holics92,
- title = {Handbook of Logic in Computer Science},
- publisher = {Oxford University Press},
- year = {1992},
- editor = {S. Abramsky and D. M. Gabbay and T. S. E. Maibaum}}
-
-@BOOK{Alshawi:tcle92,
- title = {The {Core} {Language} {Engine}},
- publisher = {MIT Press},
- year = {1992},
- editor = {Alshawi, H.},
- address = {Cambridge}}
-
-@TECHREPORT{McCarron:xhtmlmods1.1,
- title = {XHTML\textsuperscript{tm} Modularization 1.1 - Second Edition},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2010},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/xhtml-modularization},
- editor = {Shane McCarron}}
-
-@TECHREPORT{AltBou:mox01,
- title = {Modularization of XHTML},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2010},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/xhtml-modularization},
- editor = {Murray Altheim and Frank Boumphrey and Sam Dooley and Shane McCarron
- and Sebastian Schnitzenbaumer and Ted Wugofski},
- key = {Altheim}}
-
-@online{DOM:on,
- label = {W3C},
- crossref = {URL:DOM:base},
- urldate = {2009-12-07}}
-
-@Misc{URL:DOM,
- howpublished = {\webpageat\url{http://www.w3.org/DOM/}},
- crossref = {URL:DOM:base}}
-
-@Misc{URL:DOM:base,
- key = {DOM},
- title = {Document Object Model {DOM}},
- url = {http://www.w3.org/DOM/}}
-
-@InBook{Harold:ex03,
- author = {Eliotte Rusty Harold},
- title = {Effective {XML}},
- chapter = 15,
- publisher = {Addison Wesley},
- year = 2003}
-
-@InProceedings{GogMelUllCai:psmmee03,
- author = {George Goguadze and Erica Melis and Carsten Ullrich and Paul Cairns},
- title = {Problems and Solutions for Markup for Mathematical Examples and Exercises},
- pages = {80--93},
- crossref={MKM03}}
-
-@MISC{AusMcCIsh:mxxs02,
- title = {Modularization of {XHTML in XML Schema}},
- year = {2002},
- url = {http://www.w3.org/TR/xhtml-m12n-schema},
- editor = {Daniel Austin and Shane McCarron and Masayasu Ishikawa},
- institution = {World Wide Web Consortium (W3C)},
- key = {Austin},
- type = {W3C Working Draft}}
-
-@Article{GC:GapFormalDigitalLibMath07,
- author = {Jeremy Gow and Paul Cairns},
- title = {Closing the Gap Between Formal and Digital Libraries of Mathematics},
- journal = {Studies in Logic, Grammar and Rhetoric},
- year = {2007},
- volume = {10},
- number = {23}}
-
-@Article{Wiedijk:StatDigLibMath09,
- author = {Freek Wiedijk},
- title = {Statistics on digital libraries of mathematics},
- journal = {Studies in Logic, Grammar and Rhetoric},
- year = {2009},
- volume = {18},
- number = {31}}
-
-@TECHREPORT{w3c:rdf-concepts,
- title = {{Resource Description Framework} ({RDF}): Concepts and Abstract Syntax},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Recommendation},
- date = {2004-02-10},
- year = 2004,
- author = {Graham Klyne and Jeremy J. Carroll},
- url = {http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/}}
-
-@TECHREPORT{w3c:rdf-mt,
- title = {{RDF} Semantics},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} Recommendation},
- date = {2004-02-10},
- year = 2004,
- author = {Patrick Hayes},
- url = {http://www.w3.org/TR/2004/REC-rdf-mt-20040210/}}
-
-@TECHREPORT{w3c04:rdf-xml,
- title = {{RDF/XML} Syntax Specification (Revised)},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- type = {{W3C} Recommendation},
- month = feb,
- date = {2004-02-10},
- author = {Dave Beckett},
- url = {http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/}}
-
-@BOOK{PhilosophyOfMathematics,
- title = {{Philosophy of mathematics: Selected readings}},
- publisher = {Cambridge University Press},
- year = {1964},
- editor = {Paul Benacerraf and Hilary Putnam},
- edition = {2\textsuperscript{nd} edition 1983}}
-
-@TECHREPORT{ags-2002-d-4,
- title = {{CALCULEMUS Autumn School 2002: Course Notes (Part I)}},
- institution = {Departm. of Computer Science, Saarland University, Saarbr{\"u}cken,
- Germany},
- year = {2002},
- type = {SEKI Reports},
- number = {SR--02--07},
- chrisnote = {R18},
- editor = {Christoph Benzm{\"u}ller and Regine Endsuleit},
- url = {http://www.ags.uni-sb.de/~chris/papers/R18.pdf}}
-
-@TECHREPORT{ags-2002-d-5,
- title = {{CALCULEMUS Autumn School 2002: Course Notes (Part II)}},
- institution = {Departm. of Computer Science, Saarland University, Saarbr{\"u}cken,
- Germany},
- year = {2002},
- type = {SEKI Reports},
- number = {SR--02--08},
- chrisnote = {R19},
- editor = {Christoph Benzm{\"u}ller and Regine Endsuleit},
- url = {http://www.ags.uni-sb.de/~chris/papers/R19.pdf}}
-
-@TECHREPORT{ags-2002-d-6,
- title = {{CALCULEMUS Autumn School 2002: Course Notes (Part III)}},
- institution = {Departm. of Computer Science, Saarland University, Saarbr{\"u}cken,
- Germany},
- year = {2002},
- type = {SEKI Reports},
- number = {SR--02--09},
- chrisnote = {R20},
- editor = {Christoph Benzm{\"u}ller and Regine Endsuleit},
- url = {http://www.ags.uni-sb.de/~chris/papers/R20.pdf}}
-
-@TECHREPORT{w3c98:n3,
- title = {Notation 3 ({N3}) -- A readable {RDF} syntax},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2006-03-09},
- author = {Tim Berners-Lee},
- url = {http://www.w3.org/DesignIssues/Notation3.html},
- urldate = {2010-08-10}}
-
-@Misc{FreBor:MIME96,
- author = {N. Freed and N. Borenstein},
- title = {Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types},
- howpublished = {RFC 2046: \url{http://www.faqs.org/rfcs/rfc2046.html}},
- url = {http://www.faqs.org/rfcs/rfc2046.html},
- year = 1996}
-
-@Misc{IANA:TLD,crossref={TLD:base},
- key = {IANA TLD},
- howpublished = {\url{http://www.iana.org/cctld/cctld-whois.htm}}}
-@online{TLD:on,crossref={TLD:base},
- label = {TLD},
- urlcate = {2014-11-02}}
-@MISC{TLD:base,
- title = {Root-Zone Whois Information},
- url = {http://www.iana.org/cctld/cctld-whois.htm},
- institution = {IANA Internet Assigned Names Association}}
-
-@online{OSM:on,
- label = {OSM},
- title = {OpenStreetMap - The Free Wiki World Map},
- url = {http://www.openstreetmap.org/},
- urldate = {2012-09-01}}
-
-
-@Misc{omcd-core:on,crossref = {URL:omcd-core:base},urldate = {2010-11-13}}
-@Misc{URL:omcd-core,
- crossref = {URL:omcd-core:base},
- key = {OMCD-Core},
- note = {\seen \June 2008},
- howpublished = {\webpageat\url{http://www.openmath.org/cd/}}}
-@Misc{URL:omcd-core:base,
- label = {OMCD},
- title = {{\textsc{OpenMath}} Content Dictionaries},
- url = {http://www.openmath.org/cd/}}
-
-@TECHREPORT{W3C:xmlschema11,crossref={W3C09:xmlschema11}}
-@TECHREPORT{W3C09:xmlschema11,
- title = {{W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2009},
- type = {{W3C} Candidate Recommendation},
- month = apr,
- author = {{Shudi (Sandy)} Gao and C. M. Sperberg-McQueen and Henry S. Thompson},
- url = {http://www.w3.org/TR/2009/CR-xmlschema11-1-20090430/}}
-
-@TECHREPORT{BirMal:XMLSchema:Datatypes,crossref={W3C01:xmlschema-datatypes}}
-@TECHREPORT{W3C01:xmlschema-datatypes,
- title = {{XML Schema Part 2: Datatypes Second Edition}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- type = {{W3C} Recommendation},
- month = oct,
- date = {2004-10-28},
- author = {Paul V. Biron and Ashok Malhotra},
- key = {W3C XML Schema Datatypes},
- url = {http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/}}
-
-@InProceedings{CSHSE:ProtegeNRL2007,
- author = {Milena C. Caires and Simon Scerri and Siegfried Handschuh and Michael Sintek and Ludger van Elst},
- title = {A {Prot{\'e}g{\'e}} Plug-in Development to Support the {NEPOMUK Representational Language}},
- booktitle = {10\textsuperscript{th} International Prot{\'e}g{\'e} Conference},
- year = {2007},
- editor = {Tania Tudorache and Timothy Redmond}}
-
-@Article{DSSS:MetaKnowledge2009,
- author = {Renata Dividino and Simon Schenk and Sergej Sizov and Steffen Staab},
- title = {Provenance, Trust, Explanations -- and all that other Meta Knowledge},
- journal = {K{\"u}nstliche Intelligenz},
- year = {2009},
- number = {2},
- pages = {24--30},
- month = feb}
-
-@Article{KI:InterviewJuergenRenn09,
- author = {Josef Schneeberger and G{\"u}nther G{\"o}rz and J{\"u}rgen Renn},
- title = {Interview mit {J{\"u}rgen Renn}},
- journal = {K{\"u}nstliche Intelligenz},
- year = {2009},
- number = {4},
- pages = {48--53},
- month = dec,
- hyphenation = {ngerman}}
-
-@TechReport{CS:TriX04,
- author = {Jeremy J. Carroll and Patrick Stickler},
- title = {{TriX}: {RDF} Triples in {XML}},
- institution = {HP Laboratories Bristol},
- year = {2004},
- number = {HPL--2004--56},
- month = may,
- date = {2004-05-13},
- url = {http://www.hpl.hp.com/techreports/2004/HPL-2004-56.pdf}}
-
-@InProceedings{CBHS:NamedGraphs2005,
- author = {Jeremy J. Carroll and Pat Hayes and Christian Bizer and Patrick Stickler},
- title = {Named Graphs, Provenance and Trust},
- pages = {613--622},
- crossref = {www2005}}
-
-@TECHREPORT{BosHak:css98,
- title = {Cascading Style Sheets, level 2; CSS2 Specification},
- institution = {World Wide Web Consortium (W3C)},
- year = {1998},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/1998/REC-CSS2-19980512},
- editor = {Bert Bos and H{\o a}kon Wium Lie and Chris Lilley and Ian Jacobs},
- key = {Bos}}
-
-
-
-@article{DBLP:journals/jolli/Bos04,
- author = {Johan Bos},
- title = {Computational Semantics in Discourse: Underspecification,
- Resolution, and Inference},
- journal = {Journal of Logic, Language and Information},
- volume = {13},
- number = {2},
- year = {2004},
- pages = {139--157},
- ee = {http://dx.doi.org/10.1023/B:JLLI.0000024731.26883.86},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-
-
-
-
-@BOOK{Boyer:arehwb91,
- publisher = {Kluwer},
- year = {1991},
- editor = {R. S. Boyer},
- address = {London},
- booktitle = {Automated Reasoning: Essays in Honor of Woody Bledsoe}}
-
-@TECHREPORT{BraHol:xmlns99,
- title = {Namespaces in XML},
- institution = {World Wide Web Consortium ({W3C})},
- year = {1999},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/REC-xml-names},
- editor = {Tim Bray and Dave Hollander and Andrew Layman},
- key = {Bray}}
-
-@TECHREPORT{w3c:xml,crossref={w3c08:xml}}
-@TECHREPORT{w3c08:xml,
- title = {{Extensible Markup Language (XML) 1.0 (Fifth Edition)}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2008},
- type = {{W3C} {Recommendation}},
- month = nov,
- date = {2008-11-26},
- author = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen and Eve Maler and Fran{\c c}ois Yergeau},
- url = {http://www.w3.org/TR/2004/REC-xml-20081126}}
-
-@TECHREPORT{w3c04:xml,
- title = {{Extensible Markup Language (XML) 1.0 (Third Edition)}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- type = {{W3C} {Recommendation}},
- month = feb,
- author = {Tim Bray and Jean Paoli and C. M. Sperberg-McQueen and Eve Maler and Fran{\c c}ois Yergeau},
- url = {http://www.w3.org/TR/2004/REC-xml-20040204}}
-
-@TECHREPORT{BrGu04:rdfs,
- title = {{RDF} Vocabulary Description Language 1.0: {RDF Schema}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- date = {2004-02-10},
- type = {{W3C} {Recommendation}},
- month = feb,
- author = {Dan Brickley and Ramanathan V. Guha},
- url = {http://www.w3.org/TR/2004/REC-rdf-schema-20040210/}}
-
-@comment{don't delete, I need to cite this older version}
-@TECHREPORT{w3c:WD-rdf-schema-20020430,
- title = {{RDF} Vocabulary Description Language 1.0: {RDF Schema}},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2002-04-30},
- type = {{W3C} Working Draft},
- author = {Dan Brickley and Ramanathan V. Guha},
- url = {http://www.w3.org/TR/2002/WD-rdf-schema-20020430/}}
-
-@InProceedings{FelHow:hitpnh97,
- author = {Amy P. Felty and Douglas J. Howe},
- title = {Hybrid Interactive Theorem Proving using {NuPRL} and {HOL}},
- crossref = {CADE97},
- pages = {351--365}}
-
-@TECHREPORT{CapCarCoh:oms02,
- title = {The {\openmath} Standard, Version 1.1b},
- year = {2002},
- note = {{The {\openmath} Society},~\url{http://www.nag.co.uk/projects/OpenMath/omstd/}},
- editor = {Olga Caprotti and David P. Carlisle and Arjeh M. Cohen},
- key = {Caprotti}}
-
-@InProceedings{BauBlo:adtmpd01,
- author = {P. Baumgartner and A. Blohm},
- title = {Automated deduction techniques for the management of personalized documents},
- crossref = {MKM01}}
-
-@MISC{OAI:protocol,
- title = {The Open Archives Initiative Protocol for Metadata Harvesting},
- month = jun,
- year = {2002},
- url = {http://www.openarchives.org/OAI/openarchivesprotocol.html},
- editor = {Carl Lagoze and Herbert Van de Sompel and Michael Nelson and Simeon Warner},
- key = {OAI}}
-
-@TECHREPORT{Clark:assxd99,
- title = {Associating Style Sheets with XML Documents Version 1.0},
- institution = {World Wide Web Consortium (W3C)},
- year = {1999},
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/xml-stylesheet},
- editor = {James Clark},
- key = {Clark}}
-
-@TECHREPORT{ClaDeR:xpath99,
- title = {{XML Path Language (XPath) Version 1.0}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {1999},
- month = nov,
- type = {{W3C} Recommendation},
- author = {James Clark and Steve DeRose},
- url = {http://www.w3.org/TR/1999/REC-xpath-19991116},
- key = {Clark}}
-
-@TECHREPORT{BBCFKRS:xpath20,
- title = {{XML Path Language (XPath) 2.0}},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2007-01-23},
- type = {{W3C} Recommendation},
- author = {Anders Berglund and Scott Boag and Don Chamberlin and Mary F. Fern{\'a}ndez and Michael Kay and Jonathan Robie and J{\'e}r{\^o}me Sim{\'e}on},
- url = {http://www.w3.org/TR/2007/REC-xpath20-20070123/}}
-
-@TECHREPORT{w3c:xquery-semantics,
- title = {{XQuery} 1.0 and {XPath} 2.0 Formal Semantics},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2007},
- month = jan,
- date = {2007-01-23},
- type = {{W3C} Recommendation},
- author = {Denise Draper and Peter Fankhauser and Mary Fern{\'a}ndez and Ashok Malhotra and Kristoffer Rose and Michael Rys and J{\'e}r{\^o}me Sim{\'e}on and Philip Wadler},
- url = {http://www.w3.org/TR/2007/REC-xquery-semantics-20070123/}}
-
-@TECHREPORT{w3c:xml-namespaces,
- title = {Namespaces in {XML} 1.0 (Third Edition)},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2009-12-08},
- year = {2009},
- type = {{W3C} Recommendation},
- author = {Tim Bray and Dave Hollander and Andrew Layman and Richard Tobin and Henry S. Thompson},
- url = {http://www.w3.org/TR/2009/REC-xml-names-20091208/}}
-
-@TECHREPORT{BHLR:xmln06,
- title = {{Namespaces in XML 1.0 (Second Edition)}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2006},
- month = aug,
- type = {{W3C} Recommendation},
- author = {Tim Bray and Dave Hollander and Andrew Layman and Richard Tobin},
- url = {http://www.w3.org/TR/REC-xml-names/},
- key = {Bray}}
-
-
-@MISC{orcca:openmath-xslt,
- title = {{XSLT} style sheets for conversion between {OpenMath} and {Content
- MathML}; {MathML} content to {MathML} presentation XSLT style sheet},
- howpublished = {\url{http://www.orcca.on.ca/MathML/software.html}},
- editor = {Ontario Research Center for Computer Algebra},
- year = 2003,
- note = {Seen June 2006},
- key = {ORCCA: OpenMath style sheets},
- url = {http://www.orcca.on.ca/MathML/software.html}}
-
-@MISC{w3c:grddl-wg,
- title = {{W3C} {GRDDL} Working Group},
- howpublished = {\url{http://www.w3.org/2001/sw/grddl-wg/}},
- editor = {{World Wide Web Consortium (W3C)}},
- key = {W3C GRDDL Working Group},
- year = 2006,
- url = {http://www.w3.org/2001/sw/grddl-wg/}}
-
-@online{W3C:StyleURI,
- author = {Tim Berners-Lee},
- title = {Cool {URIs} don't change},
- url = {http://www.w3.org/Provider/Style/URI},
- year = 1998}
-
-@online{w3c:css:on,
- label = {W3C},
- urldate = {2009-10-22},
- crossref = {w3c:css:base}}
-
-@MISC{w3c:css,
- howpublished = {\url{http://www.w3.org/Style/CSS/}},
- year = 1999,
- crossref = {w3c:css:base}}
-
-@MISC{w3c:css:base,
- title = {{Cascading Style Sheets}},
- editor = {{World Wide Web Consortium (W3C)}},
- key = {Cascading Style Sheets},
- url = {http://www.w3.org/Style/CSS/}}
-
-@online{w3c:rdf:on,
- label = {RDF},
- urldate = {2009-10-22},
- crossref = {w3c:rdf:base}}
-
-@MISC{w3c:rdf,
- key = {RDF},
- howpublished = {\url{http://www.w3.org/RDF/}},
- year = 2004,
- crossref = {w3c:rdf:base}}
-
-@MISC{w3c:rdf:base,
- title = {Resource Description Framework ({RDF})},
- editor = {{World Wide Web Consortium (W3C)}},
- url = {http://www.w3.org/RDF/}}
-
-@MISC{w3c:semantic-web,
- title = {{W3C} Semantic Web},
- howpublished = {\url{http://www.w3.org/2001/sw/}},
- key = {W3C Semantic Web},
- note = {Seen August 2006},
- year = {2001--2006},
- url = {http://www.w3.org/2001/sw/}}
-
-@MISC{w3c:xml-schema,
- title = {{XML Schema}},
- howpublished = {\url{http://www.w3.org/XML/Schema}},
- editor = {World Wide Web Consortium (W3C)},
- key = {W3C XML Schema},
- note = {Seen July 2006},
- year = 2006,
- url = {http://www.w3.org/XML/Schema}}
-
-@BOOK{Davis65,
- title = {The Undecidable: Basic Papers on undecidable Propositions, unsolvable
- Problems and Computable Functions},
- publisher = {Raven Press Hewlett},
- year = {1965},
- editor = {Davis, Martin},
- address = {New York},
- bibtype = {BOOK},
- idnumber = {M 0694},
- location = {Fachbereichsbibliothek Informatik},
- signature = {DAV m2 65:1},
- status = {available}}
-
-@TECHREPORT{W3C:svg02,
- title = {Scalable Vector Graphics (SVG) 1.1 Specification},
- institution = {World Wide Web Consortium (W3C)},
- year = {2002},
- month = apr,
- type = {W3C Candidate Recommendation},
- url = {http://www.w3.org/TR/2002/CR-SVG11-20020430},
- author = {Dean Jackson and Jon Ferraiolo and Jun Fujisawa}}
-
-@TECHREPORT{W3C:SVG11,
- title = {Scalable Vector Graphics ({SVG}) 1.1 (Second Edition)},
- editor = {Erik Dahlstr{\"o}m and Patrick Dengler and Anthony Grasso and Chris Lilley and
- Cameron McCormack and Doug Schepers and Jonathan Watt and Jon Ferraiolo
- and Jun Fujisawa and Dean Jackson},
- institution = {World Wide Web Consortium (W3C)},
- year = {2011},
- month = apr,
- type = {W3C Recommendation},
- url = {http://www.w3.org/TR/SVG11}}
-
-@BOOK{EngelmoreMorgan88,
- title = {{Blackboard Systems}},
- publisher = {Addison-Wesley},
- year = {1988},
- editor = {R. Engelmore and T. Morgan}}
-
-@BOOK{FefermanDawsonLeeneMooreSolovayvanHeijenoort86,
- title = {Kurt G{\"o}del : collected works, vol. I : publications 1929-1936},
- publisher = {Oxford Univ. Press},
- year = {1986},
- editor = {Feferman, Solomon and Dawson, John W. and Leene, Stephen C. and Moore,
- Gregory H. and Solovay, Robert M. and van Heijenoort, Jean},
- address = {New York},
- bibtype = {BOOK},
- crindex = {F.4.1 Theory of Computation, MATHEMATICAL LOGIC AND FORMAL LANGUAGES,
- Mathematical Logic;A.0 General Literature, GENERAL;A.0 General Literature,
- GENERAL, Biographies;autobiographies},
- idnumber = {MPI-I-B-4341},
- isbn = {0-19-503964-5},
- location = {MPI-ZB},
- signature = {Books: Feferman},
- status = {available}}
-
-@BOOK{FeigenbaumFeldman:cat95,
- title = {Computers and Thought},
- publisher = {AAAI Press / The MIT Press},
- year = {1995},
- editor = {Edward E. Feigenbaum and Julian Feldman}}
-
-@TECHREPORT{Ferraiolo:svg01,
- title = {{Scalable} {Vector} {Graphics} ({SVG}) 1.0 {Specification}},
- institution = {World Wide Web Consortium (W3C)},
- year = {2001},
- type = {W3C Candidate Recommendation},
- number = {CR-SVG-20001102},
- url = {http://www.w3.org/TR/SVG},
- editor = {Jon Ferraiolo},
- key = {Ferraiolo}}
-
-@MISC{wikimedia-meta,
- title = {Wikimedia Meta-Wiki},
- howpublished = {\url{http://meta.wikimedia.org}},
- editor = {{Wikimedia Foundation}},
- key = {Wikimedia Meta-Wiki},
- year = {2001--2006},
- url = {http://meta.wikimedia.org}}
-
-@collection{wikipedia:biblatex,
- title = {Wikipedia, the free encyclopedia},
- editor = {{Wikimedia Foundation}},
- key = {Wikipedia},
- url = {http://www.wikipedia.org},
- urldate = {2010-08-11}}
-
-@MISC{annotea,
- title = {{Annotea} {Project}},
- howpublished = {\url{http://www.w3.org/2001/Annotea/}},
- editor = {{W3C}},
- key = {Annotea},
- note = {seen February 2007},
- url = {http://wwww3.org/2001/Annotea/}}
-
-@inproceedings{PlessersT05:ontology-change,
- author = {Peter Plessers and Olga De Troyer},
- title = {Ontology Change Detection Using a Version Log.},
- pages = {578--592},
- crossref = {iswc2005}}
-
-@TECHREPORT{w3c04:rdf-testcases,
- title = {{RDF} Test Cases},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- date = {2004-02-10},
- type = {{{W3C} Recommendation}},
- month = feb,
- author = {Jan Grant and Dave Beckett},
- url = {http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/}}
-
-@BOOK{Harding:FeministStandpoint,
- title = {{The Feminist Standpoint Theory Reader: Intellectual and Political
- Controversies}},
- publisher = {Routledge},
- year = {2004},
- editor = {Sandra Harding}}
-
-@BOOK{Harding:FeminismAndMethodology,
- title = {{Feminism and Methodology}},
- publisher = {Indiana University Press},
- year = {1987},
- editor = {Sandra Harding}}
-
-@BOOK{HiSe80,
- publisher = {Academic Press},
- year = {1980},
- editor = {R. Hindley and J. Seldin},
- booktitle = {To H.B. Curry: Essays in Combinator Logic, Lambda Calculus and Formalisms}}
-
-@BOOK{HuetPlotkin:lf91,
- title = {Logical Frameworks},
- publisher = {Cambridge University Press},
- year = {1991},
- editor = {G{\'e}rard Huet and Gordon Plotkin}}
-
-@article{Huet:crapatrs80,
- author = {G{\'e}rard Huet},
- title = {Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems},
- journal = {Journal of the ACM (JACM)},
- year = {1980},
- volume = {27},
- number = {4},
- pages = {797--821}}
-
-@BOOK{Jennings:atfam98,
- title = {Agent Technology : Foundations, Applications, and Markets},
- publisher = {Springer},
- year = {1998},
- editor = {Jennings, Nicholas R. and Wooldridge, Michael J.},
- address = {Berlin}}
-
-@Book{Kay:xpr00,
- author = {Michael Kay},
- title = {{XSLT} Programmers Reference},
- publisher = {Wrox},
- year = 2000}
-
-
-
-@BOOK{Kirchner:u90,
- title = {Unification},
- publisher = {Academic Press, London},
- year = {1990},
- editor = {Claude Kirchner}}
-
-@BOOK{land:vari84,
- title = {Varieties of {Formal} {Semantics}},
- publisher = {Foris},
- year = {1984},
- editor = {Landman, A. and Veltman, F.},
- address = {Dordrecht}}
-
-
-
-
-
-@BOOK{Complog89,
- publisher = {MIT Press, Cambridge, MA\USA},
- year = {1989},
- editor = {Lassez, J. L. and Plotkin, G.},
- booktitle = {Computational Logic -- Essays in Honor of Alan Robinson},
- key = {Complog1989}}
-
-@BOOK{Luger:cai95,
- title = {Computation and Intelligence},
- publisher = {AAAI Press / The MIT Press},
- year = {1995},
- editor = {George F. Luger}}
-
-@BOOK{PoMa:alhwaw95,
- title = {Applied Logic: How, What and Why},
- publisher = {Kluwer},
- year = {1995},
- editor = {L. P{\`o}los adn M. Masuch}}
-
-@Article{HPH:SHIQ-RDF-OWL2003,
- author = {Ian Horrocks and Peter F. Patel-Schneider and Frank van Harmelen},
- title = {From {SHIQ} and {RDF} to {OWL}: The Making of a Web Ontology Language},
- journal = {Web Semantics},
- year = {2003},
- volume = {1},
- number = {1},
- pages = {7--26}}
-
-@TECHREPORT{McGvHa:owl04,
- title = {{OWL} Web Ontology Language Overview},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- type = {{W3C} Recommendation},
- month = feb,
- date = {2004-02-10},
- author = {Deborah L. McGuinness and van Harmelen, Frank},
- url = {http://www.w3.org/TR/2004/REC-owl-features-20040210/}}
-
-@MISC{Nesmith:km94,
- title = {KEIM-{Manual}. {Version} 1.2},
- year = {1994},
- note = {Universit{\"a}t des Saarlandes\GERMANY},
- editor = {Dan Nesmith},
- key = {Nesmith}}
-
-@TECHREPORT{W3C03:SVG1.1,
- title = {{Scalable Vector Graphics (SVG) 1.1} Specification},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2003},
- type = {{W3C} {Recommendation}},
- month = jan,
- date = {2003-01-14},
- author = {Jon Ferraiolo and Jun Fujisawa and Dean Jackson},
- url = {http://www.w3.org/TR/2008/REC-SVG11-20030114/}}
-
-@TECHREPORT{W3C08:SVGTiny1.2,
- title = {{Scalable Vector Graphics (SVG) Tiny 1.2} Specification},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2008},
- type = {{W3C} {Recommendation}},
- month = dec,
- author = {Ola Andersson and
-Robin Berjon and
-Erik Dahlstr{\"o}m and
-Andrew Emmons and
-Jon Ferraiolo and
-Anthony Grasso and
-Vincent Hardy and
-Scott Hayman and
-Dean Jackson and
-Chris Lilley and
-Cameron McCormack and
-Andreas Neumann and
-Craig Northway and
-Antoine Quint and
-Nandini Ramani and
-Doug Schepers and
-Andrew Shellshear},
- url = {http://www.w3.org/TR/2008/REC-SVGTiny12-20081222/}}
-
-@TECHREPORT{W3C:html5,
- title = {{HTML5}},
- subtitle = {A Vocabulary and Associated {APIs} for {HTML} and {XHTML}},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2014-10-28},
- year = 2014,
- type = {{W3C} {Recommentation}},
- author = {Ian Hickson and Robin Berjon and Steve Faulkner and Travis Leithead and Erika
- Doyle Navara and Edward O'Connor and Silvia Pfeiffer},
- url = {http://www.w3.org/TR/html5/}}
-
-@TECHREPORT{w3c:skos-primer,crossref={w3c:NOTE-skos-primer-20090818}}
-@TECHREPORT{w3c:NOTE-skos-primer-20090818,
- title = {SKOS Simple Knowledge Organization System
-Primer},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2009-08-18},
- type = {{W3C} {Working Group Note}},
- author = {Antoine Isaac and Ed Summers},
- url = {http://www.w3.org/TR/2009/NOTE-skos-primer-20090818/}}
-
-@TECHREPORT{w3c:skos-reference,crossref={w3c:REC-skos-reference-20090818}}
-@TECHREPORT{w3c:REC-skos-reference-20090818,
- title = {SKOS Simple Knowledge Organization System
-Reference},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2009-08-18},
- type = {{W3C} {Recommendation}},
- author = {Alistair Miles and Sean Bechhofer},
- url = {http://www.w3.org/TR/2009/REC-skos-reference-20090818/}}
-
-@TECHREPORT{w3c:sparql11-service-description,crossref={w3c:WD-sparql11-service-description-20110512}}
-@TECHREPORT{w3c:WD-sparql11-service-description-20110512,
- title = {{SPARQL} 1.1 Service Description},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2011,
- month = may,
- date = {2011-05-12},
- type = {{W3C Working Draft}},
- url = {http://www.w3.org/TR/2010/WD-sparql11-service-description-20110512/},
- author = {Gregory Todd Williams}}
-
-@TECHREPORT{w3c:hcls-orb,crossref={w3c:NOTE-hcls-orb-20111020}}
-@TECHREPORT{w3c:NOTE-hcls-orb-20111020,
- title = {Ontology of Rhetorical Blocks ({ORB})},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2011,
- month = oct,
- date = {2011-10-20},
- type = {{W3C Interest Group Note}},
- url = {http://www.w3.org/TR/2011/NOTE-hcls-orb-20111020/},
- author = {Paolo Ciccarese and Tudor Groza}}
-
-@TECHREPORT{w3c:void,crossref={w3c:NOTE-void-20110303}}
-@TECHREPORT{w3c:NOTE-void-20110303,
- title = {Describing Linked Datasets with the {VoID} Vocabulary},
- institution = {World Wide Web Consortium ({W3C})},
- year = 2011,
- month = mar,
- date = {2011-03-03},
- type = {{W3C Interest Group Note}},
- url = {http://www.w3.org/TR/2011/NOTE-void-20110303/},
- author = {Keith Alexander and Richard Cyganiak and Michael Hausenblas and Jun Zhao}}
-
-@TECHREPORT{w3c:rdfa-api,crossref={w3c:WD-rdfa-api-20110419}}
-@TECHREPORT{w3c:WD-rdfa-api-20110419,
- title = {RDFa API},
- subtitle = {An API for extracting structured data from Web documents},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2011-04-19},
- type = {{W3C} {Working Draft}},
- author = {Manu Sporny and Benjamin Adrian and Nathan Rixham and Mark Birbeck and Ivan Herman},
- url = {http://www.w3.org/TR/2011/WD-rdfa-api-20110419/}}
-
-@TECHREPORT{w3c:WD-rdfa-api-20100923,
- title = {RDFa API},
- subtitle = {An API for extracting structured data from Web documents},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2010-09-23},
- type = {{W3C} {Working Draft}},
- author = {Manu Sporny and Benjamin Adrian and Mark Birbeck},
- url = {http://www.w3.org/TR/2010/WD-rdfa-api-20100608/}}
-
-@TECHREPORT{w3c:WD-rdfa-api-20100608,
- title = {RDFa API},
- subtitle = {An API for extracting structured data from Web documents},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2010-06-08},
- type = {{W3C} {Working Draft}},
- author = {Benjamin Adrian and Manu Sporny and Mark Birbeck},
- url = {http://www.w3.org/TR/2010/WD-rdfa-api-20100608/}}
-
-@TECHREPORT{w3c:rdfa-primer,crossref={w3c:WGN-rdfa-primer-20130822}}
-@TECHREPORT{w3c:WD-rdfa-primer-20110419,
- author = {Mark Birbeck and Ben Adida and Ivan Herman and Manu Sporny},
- title = {{RDFa} 1.1 Primer},
- subtitle = {Rich Structured Data Markup for Web Documents},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2011-04-19},
- type = {{W3C} {Working Draft}},
- url = {http://www.w3.org/TR/2011/WD-rdfa-primer-20110419/}}
-
-@TECHREPORT{w3c:WGN-rdfa-primer-20130822,
- author = {Ivan Herman and Ben Adida and Manu Sporny and Mark Birbeck},
- title = {{RDFa} 1.1 Primer -- Second Edition},
- subtitle = {Rich Structured Data Markup for Web Documents},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2013-04-19},
- year = {2013},
- type = {{W3C} {Working Goup Note}},
- url = {http://www.w3.org/TR/xhtml-rdfa-primer/}}
-
-@techreport{w3c:NOTE-xhtml-rdfa-primer-20081014,
- author = {Ben Adida and Mark Birbeck},
- title = {{RDFa} Primer},
- subtitle = {Bridging the Human and Data Webs},
- institution = {World Wide Web Consortium (W3C)},
- type = {{W3C Working Group Note}},
- year = 2008,
- month = oct,
- url = {http://www.w3.org/TR/2008/NOTE-xhtml-rdfa-primer-20081014/}}
-
-@TECHREPORT{w3c:rdfa-core,crossref={w3c:REC-rdfa-core-20150317}}
-@TECHREPORT{w3c:REC-rdfa-core-20150317,
- title = {{RDFa} Core 1.1},
- subtitle = {Syntax and processing rules for embedding RDF through attributes},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2015-03-17},
- edition = 3,
- type = {{W3C} {Recommendation}},
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Ivan Herman},
- url = {http://www.w3.org/TR/2012/REC-rdfa-core-20150317}}
-
-@TECHREPORT{w3c:REC-rdfa-core-20120607,
- title = {{RDFa} Core 1.1},
- subtitle = {Syntax and processing rules for embedding RDF through attributes},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2012-06-07},
- type = {{W3C} {Recommendation}},
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Ivan Herman},
- url = {http://www.w3.org/TR/2012/REC-rdfa-core-20120607}}
-
-@TECHREPORT{w3c:PR-rdfa-core-20120508,
- title = {{RDFa} Core 1.1},
- subtitle = {Syntax and processing rules for embedding RDF through attributes},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2012-05-08},
- type = {{W3C} {Proposed Recommendation}},
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Ivan Herman},
- url = {http://www.w3.org/TR/2012/PR-rdfa-core-20120508/}}
-
-@TECHREPORT{w3c:WD-rdfa-core-20110331,
- title = {{RDFa} Core 1.1},
- subtitle = {Syntax and processing rules for embedding RDF through attributes},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2011-03-31},
- type = {{W3C} {Working Draft}},
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Ivan Herman},
- url = {http://www.w3.org/TR/2011/WD-rdfa-core-20110331/}}
-
-@TECHREPORT{w3c:WD-rdfa-core-20101026,
- title = {{RDFa} Core 1.1},
- subtitle = {Syntax and processing rules for embedding RDF through attributes},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2010-10-26},
- type = {{W3C} {Working Draft}},
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Ivan Herman},
- url = {http://www.w3.org/TR/2010/WD-rdfa-core-20101026/}}
-
-@TECHREPORT{w3c:WD-rdfa-core-20100803,
- title = {{RDFa} Core 1.1},
- subtitle = {Syntax and processing rules for embedding RDF through attributes},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2010-08-03},
- type = {{W3C} {Working Draft}},
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Ivan Herman},
- url = {http://www.w3.org/TR/2010/WD-rdfa-core-20100803/}}
-
-@TECHREPORT{AdidaEtAl08:RDFa,
- title = {{RDFa} in {XHTML}: Syntax and Processing},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2008},
- type = {{W3C} {Recommendation}},
- month = oct,
- author = {Ben Adida and Mark Birbeck and Shane McCarron and Steven Pemberton},
- url = {http://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/}}
-
-@TECHREPORT{w3c:sparql11-query,crossref={w3c:WD-sparql11-query-20101014}}
-@TECHREPORT{w3c:WD-sparql11-query-20101014,
- title = {{SPARQL} 1.1 Query Language},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} {Working Draft}},
- date = {2010-10-14},
- author = {Steve Harris and Andy Seaborne},
- url = {http://www.w3.org/TR/2010/WD-sparql11-query-20101014/}}
-
-@TECHREPORT{w3c:WD-sparql11-query-20100601,
- title = {{SPARQL} 1.1 Query Language},
- institution = {World Wide Web Consortium ({W3C})},
- type = {{W3C} {Working Draft}},
- date = {2010-06-01},
- author = {Steve Harris and Andy Seaborne},
- url = {http://www.w3.org/TR/2010/WD-sparql11-query-20100601/}}
-
-@TECHREPORT{PruSea08:sparql,
- title = {{SPARQL} Query Language for {RDF}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2008},
- type = {{W3C} {Recommendation}},
- month = jan,
- date = {2008-01-15},
- author = {Eric Prud'hommeaux and Andy Seaborne},
- url = {http://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/}}
-
-@TECHREPORT{PruSea06:sparql,
- title = {{SPARQL} Query Language for {RDF}},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2006},
- type = {{W3C} {Candidate} {Recommendation}},
- month = apr,
- author = {Eric Prud'hommeaux and Andy Seaborne},
- url = {http://www.w3.org/TR/2006/CR-rdf-sparql-query-20060406/}}
-
-@techreport{W3C:rdf-sparql-XMLres,crossref={W3C:REC-rdf-sparql-XMLres-20080115}}
-@TECHREPORT{W3C:REC-rdf-sparql-XMLres-20080115,
- title = {{SPARQL} Query Results {XML} Format},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2008},
- type = {{W3C} {Recommendation}},
- month = jan,
- date = {2008-01-15},
- author = {Dave Beckett and Jeen Broekstra},
- url = {http://www.w3.org/TR/2008/REC-rdf-sparql-XMLres-20080115/}}
-
-@Misc{nxml-mode:URL,
- key = {nXML mode},
- author = {James Clark},
- title = {{nXML} mode},
- howpublished = {\webpageat\url{http://www.thaiopensource.com/nxml-mode/}},
- url = {http://www.thaiopensource.com/nxml-mode/},
- year = {\seen{2005}}}
-
-@TechReport{DCMI:dtv03,
- author = {DCMI Usage Board, The},
- title = {{DCMI} Type Vocabulary},
- institution = {Dublin Core Metadata Initiative},
- year = 2003,
- key = {DCMI},
- type = {{DCMI} Recommendation},
- url = {http://dublincore.org/documents/dcmi-type-vocabulary/}}
-
-
-
-@Misc{XML:Schema,
- key = {XML Schema},
- title = {{XML} Schema},
- institution = {World Wide Web Consortium (W3C)},
- howpublished = {Web page at \url{http://www.w3.org/XML/Schema}},
- url = {http://www.w3.org/XML/Schema}}
-
-@misc{ abney96partial,
- author = "S. Abney",
- title = "Partial parsing via finite-state cascades",
- text = "Steven Abney. 1996. Partial parsing via finite-state cascades. In Workshop
- on Robust Parsing, 8\textsuperscript{th} European Summer School in Logic, Language and Information,
- Prague, Czech Republic, pages 8--15.",
- year = "1996",
- url = {http://citeseer.ifi.unizh.ch/abney96partial.html},
- note = { \url{http://citeseer.ifi.unizh.ch/abney96partial.html} }}
-
-@misc{ piroi04environment,
- author = "F. Piroi and B. Buchberger",
- title = "An environment for building mathematical knowledge libraries",
- text = "F. Piroi and B. Buchberger. An environment for building mathematical knowledge
- libraries. In A. Asperti, G. Bancerek, and A. Trybulec, editors, Proc. of
- the 3\textsuperscript{rd} Int. Conference on Mathematical Knowledge Management, MKM'04, volume
- 3119 of LNCS, Bialowieza, Poland, 19--21 September
- 2004. Springer Verlag. To appear.",
- year = "2004",
- url = "citeseer.ifi.unizh.ch/piroi04environment.html",
- note = { \url{http://citeseer.ifi.unizh.ch/piroi04environment.html} }}
-
-@Misc{GogPal:amesam03,
- author = {Georgi Goguadze and Gonz{\'a}lez Palomo, Alberto},
- title = {Adapting Mainstream Editors for Semantic Authoring of Mathematics},
- howpublished = {Presented at the Mathematical Knowledge Management Symposium, Heriot-Watt University, Edinbourgh, Scotland},
- month = nov,
- year = 2003,
- url = {http://www.ags.uni-sb.de/~alberto/publications/authoring.ps}}
-@Misc{algebra:URL,
- key = {AlgebraURL},
- author = {Gonz{\'a}lez Palomo, Alberto},
- title = {Algebra},
- howpublished = {\url{http://www.mathweb.org/algebra/index.en.html}},
- url = {http://www.mathweb.org/algebra/index.en.html}}
-
-@incollection{AH-05-a,
- author = {Autexier, Serge and Hutter, Dieter},
- editor = {Hutter, Dieter and Stephan, Werner},
- booktitle = {Festschrift in Honor of J. Siekmann},
- title = {Formal Software Development in Maya},
- number = {2605},
- series = {LNAI},
- publisher = {Springer},
- month = feb,
- year = {2005}}
-
-@InProceedings{CohMee:tapap98,
- author = {A. M. Cohen and L. Meertens},
- title = {The {ACELA} project: Aims and Plans},
- booktitle = {Computer-Human interaction in Symbolic Computation},
- pages = {7--23},
- year = 1998,
- editor = {N. Kajler},
- series = {Texts and Monographs in Symbolic Computation},
- publisher = {Springer Verlag}}
-
-@article{CapCoh:jpcaad00,
- author = {Olga Caprotti and Arjeh M. Cohen and Manfred Riem},
- title = {Java {Phrasebooks} for {Computer} {Algebra} and {Automated} {Deduction}},
- journal = {Bulletin of the ACM Special Interest Group on Symbolic and Automated Mathematics (SIGSAM)},
- volume = {34},
- number = {2},
- pages = {43--48},
- year = 2000}
-
-@InProceedings{CapCoh:uosdmc00,
- author = {Olga Caprotti and Arjeh M. Cohen and Hans Cuypers and Manfred N. Riem and Hans Sterk},
- title = {Using {\sc{openmath}} Servers for Distributing Mathematical Computations},
- booktitle = {ATCM 2000: Proceedings of the Fifth Asian Technology Conference in Mathematics},
- pages = {325--336},
- year = 2000,
- editor = {Wei Chi Yang and Sung-Chi Chu and Jen-Chung Chuan},
- address = {Chiang-Mai, Thailand},
- publisher = {ATCM, Inc.}}
-
-@Article{ENCS04,
- author = {M. Mavrikis and Gonz{\'a}lez Palomo, A.},
- title = {Mathematical, Interactive Exercise Generation from Static Documents},
- journal = {Electronic Notes in Computer Science},
- year = {2004},
- volume = {93},
- pages = {183--201}}
-
-@online{Yacas,crossref={yacas:base},
- urldate = {2012-03-19},}
-
-@Misc{URL:Yacas, crossref={yacas:base}, key = {Yacas},
- howpublished = {\webpageat\url{http://yacas.sourceforge.net}}}
-
-@Misc{yacas:base,
- title = {The {Yacas} computer algebra system},
- url = {http://yacas.sourceforge.net/},}
-
-@Misc{URL:Maxima, key = {Maxima},
- title = {Maxima -- A GPL CAS based on DOE-MACSYMA},
- url = {http://maxima.sourceforge.net},
- howpublished = {\webpageat\url{http://maxima.sourceforge.net}}}
-
-@Misc{URL:wiris-cas, key = {Wiris-CAS},
- title = {WIRIS CAS},
- url = {http://www.wiris.com/overview/products/wiris-cas.html},
- howpublished = {\webpageat\url{http://www.wiris.com/overview/products/wiris-cas.html}}}
-
-
-@BOOK{RodriguezConsuegra95,
- title = {Kurt G{\"o}del : unpublished philosophical essays; with a historico-philosophical
- introduction by the editor},
- publisher = {Birkh{\"a}user},
- year = {1995},
- editor = {Rodr{\'i}guez-Consuegra, Francisco A.},
- address = {Basel},
- bibtype = {BOOK},
- idnumber = {MPI-I-B-6416},
- isbn = {3-7643-5310-4},
- location = {MPI-ZB},
- signature = {Books: Rodr{\'i}guez-Consuegra},
- status = {available}}
-
-@BOOK{SeldinHindley:thbcei80,
- title = {To H.\ B.\ Curry: Essays in Combinatory Logic, Lambda Calculus and
- Formalism},
- publisher = {Academic Press},
- year = {1980},
- editor = {Jonathan P. Seldin and J. Roger Hindley}}
-
-@Misc{ontoworld,
- title = {Ontoworld.org wiki},
- booktitle = {Ontoworld.org wiki},
- howpublished = {\url{http://ontoworld.org}},
- note = {seen January 2007},
- editor = {Semantic Wiki Interest Group/{AIFB Institute, Karlsruhe}},
- key = {Ontoworld},
- url = {http://ontoworld.org}}
-
-@TECHREPORT{W3C04:owl-guide,
- title = {{OWL} Web Ontology Language Guide},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2004},
- type = {{W3C} {Recommendation}},
- month = feb,
- author = {Michael K. Smith and Chris Welty and Deborah L. McGuinness},
- url = {http://www.w3.org/TR/2004/REC-owl-guide-20040210/}}
-
-@TechReport{ISO-MDR-Framework,
- title = {{Information technology -- Metadata registries (MDR) -- Part 1: Framework}},
- institution = {ISO/IEC},
- number = {11179-1},
- year = {2004},}
-
-@Misc{SQLMMSpatial02,
- author = {ISO/IEC 13249-3:2002 FDIS.},
- title = {{Information technology -- Database languages -- SQL
- Multimedia and Application Packages -- Part 3: Spatial}},
- year = {2002},
- note = {2\textsuperscript{nd} edition}}
-
-@BOOK{Szabo:tcpogg69,
- title = {The Collected Papers of Gerhard Gentzen},
- publisher = {North-Holland},
- year = {1969},
- editor = {M. E. Szabo}}
-
-@InProceedings{Horrocks:ReasoningExpressiveDL02,
- author = {Ian Horrocks},
- title = {Reasoning with Expressive Description Logics: Theory and Practice},
- crossref = {CADE02},
- pages = {1--15}}
-
-@inProceedings{Zimmermann:OntoRecDataPub10,
- author = {Antoine Zimmermann},
- title = {Ontology Recommendations for the Data Publishers},
- crossref = {ORES2010}}
-
-
-
-
-
-@INPROCEEDINGS{SPB:MediaWikiTalkPages10,
- author = {Jodi Schneider and Alexandre Passant and John G. Breslin},
- title = {Enhancing {MediaWiki} Talk pages with Semantics for Better Coordination},
- subtitle = {A Proposal},
- crossref = {SemWiki10}}
-
-@INPROCEEDINGS{SS:AnnotationSemWiki10,
- author = {Marek Schmidt and Pavel Smr{\v z}},
- title = {Annotation component for a Semantic Wiki},
- crossref = {SemWiki10}}
-
-
-
-@INPROCEEDINGS{DD:RecommendationSemWiki09,
- author = {Frederico Dur{\~a}o and Peter Dolog},
- title = {Analysis of Tag-Based Recommendation Performance for a Semantic Wiki},
- crossref = {SemWiki09}}
-
-@INPROCEEDINGS{BEKW:UserInteractConcModSemWiki09,
- author = {Fran{\c c}ois Bry and Michael Eckert and Jakub Kotowski and Klara Weiand},
- title = {What the User Interacts with: Reflections on Conceptual Models for Semantic Wikis},
- crossref = {SemWiki09}}
-
-@INPROCEEDINGS{SS:InformationExtractionSemWiki09,
- author = {Pavel Smr{\v z} and Marek Schmidt},
- title = {Information Extraction in Semantic Wikis},
- crossref = {SemWiki09}}
-
-
-
-
-
-
-
-@InProceedings{HHKLRAT:SCSCP10,
- author = {Kevin Hammond and Peter Horn and Alexander Konovalov and Steve Linton and Dan Roozemond and Abdallah Al Zain and Phil Trinder},
- pages = {339--346},
- title = {Easy Composition of Symbolic Computation Software: A New Lingua Franca for Symbolic Computation},
- crossref = {ISSAC2010}}
-
-@BOOK{Weiss:mas99,
- title = {Multiagent Systems -- {A} {Modern} {Approach} to {Distributed} {Artificial}
- {Intelligence}},
- publisher = {MIT Press},
- year = {1999},
- editor = {Gerhard Weiss}}
-@TECHREPORT{ags-2002-d-3,
- institution = {Department of Computer Science, Saarland University, Saarbr{\"u}cken,
- Germany},
- year = {2002},
- type = {SEKI Reports},
- number = {SR--02--06},
- chrisnote = {R17},
- editor = {J{\"u}rgen Zimmer and Christoph Benzm{\"u}ller},
- url = {http://www.ags.uni-sb.de/~chris/papers/R17.pdf}}
-
-@MISC{CDETWeb,
- title = {{CDET}: {The} {Consistent} {Document} {Engineering} {Toolkit}},
- howpublished = {Web site at {\url{http://www2-data.informatik.unibw-muenchen.de/cde.html}}},
- url = {http://www2-data.informatik.unibw-muenchen.de/cde.html},
- key = {CDET}}
-
-@MISC{citesseer:URI,
- title = {{CiteSeer.ist} Scientific Literature Digital Library},
- howpublished = {web page at {\url{http://citeseer.ist.psu.edu}}},
- url = {http://citeseer.ist.psu.edu},
- note = {viewed March 2006},
- key = {citeseer}}
-
-@MISC{classic-www,
- title = {The Classic Family of Knowledge Representation Systems},
- howpublished = {web page: {\url{http://www.bell-labs.com/project/classic}}},
- url = {http://www.bell-labs.com/project/classic},
- key = {CLASSIC}}
-
-@MISC{CPointsWissensbegriff,
- url = {http://www.cogsci.princeton.edu/cgi-bin/webwn}}
-
-@MISC{CVSWeb,
- title = {{Concurrent Versions System: The open standard for Version Control}},
- howpublished = {Web site at {\url{http://www.cvshome.org}}},
- url = {http://www.cvshome.org},
- note = {seen August 2005},
- key = {CVS}}
-
-@book{CVS:03,
- author = {Karl Franz Fogel and Moshe Bar},
- title = {{Open Source Development with CVS}},
- year = {2003},
- isbn = {1-932111-81-6},
- publisher = {Paraglyph Press}
- }
-
-@MISC{HarmonyWeb,
- title = {{The} {Harmony} {Project}},
- howpublished = {Web site at {\url{http://www.seas.upenn.edu/~harmony/}}},
- url = {http://www.seas.upenn.edu/~harmony/},
- key = {Harmony}}
-
-@MISC{ImpsKB,crossref={ImpsKB:base},
- howpublished = {Internet interface at \url{http://imps.mcmaster.ca/theories/theory-library.html}},
- note = {\seen May 2008},
- key = {IKB}}
-@online{ImpsKB:on,crossref={ImpsKB:base},urldate={2014-12-17}}
-@MISC{ImpsKB:base,
- title = {The IMPS online theory library},
- url = {http://imps.mcmaster.ca/theories/theory-library.html},
- author = {William M. Farmer and Joshua Guttman and Javier Thayer}}
-
-@online{Richter:nb:on,
-author={\'Emilie Richter},
-title={Nicolas Bourbaki},
-institution={PlanetMath.org},
-urldate={2012/06/20},
-url={http://planetmath.org/NicolasBourbaki.html}}
-
-@online{IsabelleKB:on,crossref={IsabelleKB:base},urldate={2012-06-20}}
-@misc{IsabelleKB,crossref={IsabelleKB:base},
- howpublished = {Internet interface at \url{http://isabelle.in.tum.de/library/}},
- note = {\seen May 2008}}
-@misc{IsabelleKB:base,
- title = {The {Isabelle} 2012library},
- url = {http://isabelle.in.tum.de/library/},
- key = {IsabelleKB}}
-
-@online{JFM:on,label={JFM},crossref={JFM:base},urldate={2012-09-27}}
-@MISC{JFM,key={JFM},crossref={JFM:base},
- howpublished={\url{http://www.mizar.org/JFM}}}
-@MISC{JFM:base,
- label = {JFM},
- title = {Journal of Formalized Mathematics},
- url = {http://www.mizar.org/JFM}}
-
-@MISC{loom-www,
- title = {Loom Project Homepage},
- howpublished = {web page: {\url{http://www.isi.edu/isd/LOOM}}},
- url = {http://www.isi.edu/isd/LOOM},
- key = {LOOM}}
-
-@MISC{MayaWeb,
- title = {{MAYA}: {The} {Development} {Graph} {Manager}},
- url = {http://www.dfki.de/~inka/maya.html},
- howpublished = {Web site at {\url{http://www.dfki.de/~inka/maya.html}}},
- key = {Maya}}
-
-@MISC{mbaseweb,
- title = {The {MBase} system},
- howpublished = {web page at {\url{http://www.mathweb.org/mbase}}},
- url = {http://www.mathweb.org/mbase},
- key = {MBaseweb}}
-
-@online{mizar-manuals:on,
- date={2011-03-01},
- urldate = {2013-04-23},
- crossref={mizar-manuals:base}}
-
-@misc{mizar-manuals,
- key={Mizar Manuals},
- crossref={mizar-manuals:base}}
-
-@MISC{mizar-manuals:base,
- title = {The Bibliography of the {Mizar} Project},
- url = {http://mizar.org/project/bibliography.html}}
-
-@MISC{NuprlKB,
- title = {The {NuPrl} online theory library},
- url = {http://simon.cs.cornell.edu/Info/Projects/NuPrl/Nuprl4.2/Libraries/Welcome.html},
- howpublished = {Internet interface at \url{http://simon.cs.cornell.edu/Info/Projects/NuPrl/Nuprl4.2/Libraries/Welcome.html}},
- author = {{The {NuPrl} Project at Cornell}},
- note = {\seen May 2008},
- key = {NuprlKB}}
-
-@online{OMDoc:on,
- crossref = {OMDoc:base},
- urldate = {2010-11-11}}
-
-@MISC{OMDocWeb,
- crossref = {OMDoc:base},
- key = {OMDocweb},
- howpublished = {\projectpageat{\url{http://omdoc.org}}}}
-
-@MISC{OMDoc:base,
- title = {{OMDoc}},
- url = {http://omdoc.org}}
-
-@online{planetmath:on,crossref={planetmath:base},urldate={2012-11-11},label={PM}}
-@MISC{planetmath,crossref={planetmath:base},
- howpublished = {\url{http://www.planetmath.org}},
- note = {\seen{\March} 2013}}
-@MISC{planetmath:base,
- title = {{PlanetMath}.org -- Math for the people, by the people},
- key = {PlanetMath.org},
- url = {http://planetmath.org}}
-
-@MISC{PVSlibraries:url,crossref={PVSlibraries:base},key = {PVS},
- howpublished = {\url{http://shemesh.larc.nasa.gov/fm/ftp/larc/PVS-library/}}}
-@online{PVSlibraries:on,crossref={PVSlibraries:base},
- urldate = {2014-12-17},
- label = {PVS}}
-@MISC{PVSlibraries:base,
- title = {{NASA} {PVS} Library},
- url = {http://shemesh.larc.nasa.gov/fm/ftp/larc/PVS-library/}}
-
-@MISC{MathComponents:url,crossref={MathComponents:base},key = {MC},
- howpublished = {\url{http://www.msr-inria.fr/projects/mathematical-components-2/}}}
-@online{MathComponents:on,crossref={MathComponents:base},
- urldate = {2014-12-17},
- label = {MC}}
-@MISC{MathComponents:base,
- title = {Mathematical Components},
- url = {http://www.msr-inria.fr/projects/mathematical-components-2/}}
-
-@TECHREPORT{CM:RELAXNG01,
- author = {James Clark and Makoto Murata},
- title = {{RELAX NG} Specification},
- institution = {OASIS},
- month = dec,
- year = 2001,
- date = {2001-12-03},
- url = {http://www.relaxng.org/spec-20011203.html}}
-
-@online{RelaxNG:on,urldate={2009-10-22},crossref={RelaxNG:base}}
-@MISC{RelaxNGWeb,crossref = {RelaxNG:base},
-howpublished = {available at \url{http://www.relaxng.org/}}}
-@MISC{RelaxNG:base,
- title = {A Schema Language for {XML}},
- url = {http://www.relaxng.org/},
- key = {RelaxNG}}
-
-@online{creative-commons:on,crossref={creative-commons:base},urldate={2012-01-17}}
-@MISC{creative-commons,crossref={creative-commons:base},
- howpublished = {\url{http://www.creativecommons.org}},
- note = {seen February 2008},
- key = {Creative Commons}}
-@misc{creative-commons:base,
- editor = {{Creative Commons}},
- title = {{Creative Commons}},
- url = {http://creativecommons.org}}
-
-@MISC{XMLDiffWeb,
- title = {{The} {XMLD}iff {Project}},
- howpublished = {Web site at {\url{https://xmldiff.dev.java.net/}}},
- url = {https://xmldiff.dev.java.net/},
- key = {XMLDiff}}
-
-@MISC{XMLWeb,
- title = {{Extensible} {Markup} {Language} ({XML}) 1.0 ({Fourth} {Edition})},
- howpublished = {Web site at {\url{http://www.w3.org/TR/REC-xml/}}},
- url = {http://www.w3.org/TR/REC-xml/},
- key = {XML}}
-
-@MISC{cnxeip,
- title = {Editing Modules},
- howpublished = {Project help page at \url{http://cnx.rice.edu/help/EditingModules}},
- url = {http://cnx.rice.edu/help/EditingModules},
- note = {seen August 2006},
- key = {CNX EIP}}
-
-@MISC{cnxweb,
- title = {{Connexions}},
- howpublished = {Project homepage at \url{http://www.cnx.org}},
- url = {http://www.cnx.org},
- note = {seen Dec. 2007},
- key = {CNX}}
-
-@Misc{URL:mmiss,crossref={MMiSSWeb}}
-@MISC{MMiSSWeb,
- title = {{MM{\scriptsize{I}}SS}: {Multimedia} in {Safe} and {Secure} {Systems}},
- howpublished = {\webpageat\url{http://www.mmiss.de}},
- url = {http://www.mmiss.de},
- key = {MMiSS},
- note = {seen July 2007}}
-
-@MISC{IMSglobal,
- title = {IMS Content Packaging Information Model},
- howpublished = {Project web site at \url{http://www.imsglobal.org/content/packaging/index.html}},
- url = {http://www.imsglobal.org/content/packaging/index.html},
- note = {seen July 2007},
- key = {IMSglobal}}
-
-@MISC{IMSglobalCons,
- title = {IMS Global Learning Consortium},
- howpublished = {web site at \url{hhttp://www.imsglobal.org/}},
- url = {hhttp://www.imsglobal.org/},
- note = {seen July 2007},
- key = {IMSglobalCons}}
-
-
-@MISC{DocEngWeb,
- title = {The {ACM} {Symposium} on {Document} {Engineering}},
- howpublished = {Web site at {\url{http://www.documentengineering.org}}},
- url = {http://www.documentengineering.org},
- note = {seen April 2006},
- key = {DocEng}}
-
-@MISC{URL:MWSDemo,
- title = {{Math} {WebSearch} A semantic Search Engine},
- howpublished = {\webpageat\url{http://search.mathweb.org}},
- url = {http://search.mathweb.org},
- note = {\seen September 2008},
- key = {MathWebSearchDemo}}
-
-@online{FormalSafe:online,crossref={URL:FormalSafe:base},urldate = {2010-01-08}}
-@MISC{URL:FormalSafe,crossref={URL:FormalSafe:base},
- howpublished = {\url{http://www.dfki.de/sks/formalsafe/}},
- note = {\seen March 2010},
- year = {2010}}
-@MISC{URL:FormalSafe:base,
- title = {{FormalSafe}},
- url = {http://www.dfki.de/sks/formalsafe/},
- key = {FormalSafe}}
-
-
-@online{HOL4:on,crossref={HOL4:base},label={HOL4},urldate={2014-12-17}}
-@misc{HOL4:url,crossref={HOL4:base},
- howpublished = {\url{http://hol.sourceforge.net/}},
- key = {HOL4}}
-@misc{HOL4:base,
- title = {HOL4},
- author = "{The HOL4 development team}",
- url = {http://hol.sourceforge.net/}}
-
-@INPROCEEDINGS{LarReyGey:afkms13,
- author = {Ray R. Larson and Chloe J. Reynolds and Fredric C. Gey},
- title = {The Abject Failure of Keyword {IR} for Mathematics Search: {Berkeley} at {NTCIR-10
- Math}},
- url = {http://research.nii.ac.jp/ntcir/workshop/OnlineProceedings10/pdf/NTCIR/MATH/02-NTCIR10-MATH-LarsonRR.pdf},
- crossref={NTCIR10},
- pages = {662--666}}
-
-
-@Misc{Webpage:Schmidt:ptge,
- crossref={Schmidt:ptge},
- howpublished = {\url{http://www.rci.rutgers.edu/~cfs/305_html/Gestalt/gestalt.html}},
- url = {http://www.rci.rutgers.edu/~cfs/305_html/Gestalt/gestalt.html},
- year = 2009}
-
-@online{Schmidt:ptge,
- author = {Charles F. Schmidt},
- title = {Productive Thinking...the Gestalt Emphasis},
- url = {http://www.rci.rutgers.edu/~cfs/305_html/Gestalt/gestalt.html},
- lastchecked = {Feb. 2008}}
-
-@MISC{URL:MWS:plugin,
- title = {{MathWebSearch} Plugin},
- howpublished = {\webpageat\url{http://kwarc.info/projects/mws/plugin.html}},
- url = {http://kwarc.info/projects/mws/plugin.html},
- note = {\seen Jan 2007},
- key = {MathWebSearchPlugin}}
-
-@MISC{GoogleScholar:web,
- title = {Google Scholar},
- howpublished = {\webpageat\url{http://scholar.google.com}},
- url = {http://scholar.google.com},
- note = {\seen August 2006},
- key = {GoogleScholar}}
-
-@online{Patashnik:b88,
- author = {Oren Patashnik},
- title = {bib{\TeX}ing},
- url = {http://mirrors.ctan.org/biblio/bibtex/base/btxdoc.pdf},
- urldate = {2009-12-14}}
-
-@MISC{MKM-IG-Meetings:web,
- title = {{\sc{Meetings and Conferences on Mathematical Knowledge Management}}},
- howpublished = {Project homepage at \url{http://www.mkm-ig.org/meetings/}},
- url = {http://www.mkm-ig.org/meetings/},
- note = {seen March 2007},
- key = {MKM-IG Meetings}}
-
-@MISC{MKM-IG-Meetings:online,
- title = {Meetings and Conferences on Mathematical Knowledge Management},
- type = {Project homepage},
- url = {http://www.mkm-ig.org/meetings/},
- urldate = {2007-03-12},
- key = {MKM-IG Meetings}}
-
-@MISC{ONCEWeb,
- title = {{Open} {Network} of {Centres} of {Excellence} in {Complex} {Systems}},
- howpublished = {Web site at {\url{http://complexsystems.lri.fr/Portal/tiki-index.php}}},
- url = {http://complexsystems.lri.fr/Portal/tiki-index.php},
- year = {2005},
- key = {ONCE-CS}}
-
-@MISC{SiebtesEuropaeischesRahmenprogramm,
- title = {{Building the ERA for Knowledge and Growth}},
- howpublished = {online},
- year = {2005},
- note = {seen at 04-07-2005 at {\url{http://www.rp6.de/inhalte/rp7}}},
- url = {http://www.rp6.de/inhalte/rp7}}
-
-@BOOK{Huang:hoppar96,
- title = {Human Oriented Proof Presentation: A Reconstructive Approach},
- publisher = {Infix},
- year = {1996},
- address = {Sankt Augustin}}
-
-@inProceedings{QEDManifesto94,
- title = {The {QED} Manifesto},
- crossref = {CADE94},
- pages = {238--251},
- url = {http://www.cs.chalmers.se/Cs/Research/Logic/TypesSS05/Extra/wiedijk_2.pdf},
- key = {QED95}}
-
-@MISC{QEDManifesto95,
- title = {The {QED} Manifesto},
- howpublished = {Internet Report {\url{http://www.rbjones.com/rbjpub/logic/qedres00.htm}}},
- url = {http://www.rbjones.com/rbjpub/logic/qedres00.htm},
- year = {1995},
- key = {QED95}}
-
-@MISC{qed,
- title = {The {QED} Project},
- howpublished = {\url{http://www-unix.mcs.anl.gov/qed/}},
- url = {http://www-unix.mcs.anl.gov/qed/},
- year = 1996,
- key = {QED96}}
-
-@InProceedings{Frantz:MultilingualityInConnexions,
- author = {Patrick Frantz and Richard Baraniuk and Hyeokho Choi and Douglas L. Jones},
- title = {Multilingual Open-Content Signal Processing Laboratories in Connexions},
- booktitle = {{Analog and Digital Techniques in Electrical Engineering}},
- year = 2004,
- volume = 2,
- series = {IEEE TENCON},
- publisher = {IEEE},
-address = {Chiang Mai},
- note = {ISBN 0-7803-8560-8}}
-
-@techreport{CowTob:xis04,
- key = {W3C XML Information Set},
- editor = {John Cowan and Richard Tobin},
- title = {{XML} Information Set (Second Edition)},
- year = 2004,
- month = feb,
- date = {2004-02-04},
- type = {{W3C Recommendation}},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/TR/2004/REC-xml-infoset-20040204}}
-
-@MANUAL{Penman:tpdaug89,
- title = {The {\sc Penman} Documentation and User Guide},
- organization = {The {\sc Penman} Project, USC/Information Science Institute},
- address = {Marina del Rey, California},
- year = {1989},
- key = {{\sc Penman}}}
-
-@INPROCEEDINGS{lozier01:dlmf,
- title = {{The NIST Digital Library of Mathematical Functions Project}},
- author = {Daniel W. Lozier},
- crossref = {MKM01}}
-
-@INPROCEEDINGS{miller:auth-mk04,
- title = {Authoring Mathematical Knowledge},
- author = {Bruce R. Miller},
- booktitle = {{2\textsuperscript{nd} North American Workshop on Mathematical Knowledge Management, Phoenix, AZ}},
- month = jan,
- year = 2004}
-
-@ARTICLE{sloane:oies,
- author = {Neil J. A. Sloane},
- title = {The On-Line Encyclopedia of Integer Sequences},
- volume = {50},
- number = {8},
- journal = {Notices of the AMS},
- pages = {912},
- year = {2003}}
-
-@Online{oeis,
- editor = {OEIS Foundation Inc.},
- title = {The On-Line Encyclopedia of Integer Sequences},
- url = {http://oeis.org},
- urldate = {2013-05-28},
-}
-
-@online{RahObe:hmlmh10,
- author = {Sebastian Rahtz and Heiko Oberdiek},
- title = {Hypertext marks in LATEX: a manual for hyperref},
- type = {Self-documenting {\LaTeX} package},
- url = {http://tug.org/applications/hyperref/ftp/doc/manual.pdf},
- urldate = {2010-01-28}}
-
-
-
-@misc{MaySch:eltte09,
- author = {Wolfgang May and Andreas Schedler},
- title = {An Extension of the LATEX-Theorem Evironment},
- type = {Self-documenting {\LaTeX} package},
- url = {http://ctan.org/pkg/ntheorem},
- urldate = {2010-01-11}}
-
-@misc{Heldoorn:siunits07,
- author = {Marcel Heldoorn},
- title = {The SIunits package: Consistent application of SI units},
- type = {Self-documenting {\LaTeX} package},
- url = {http://ctan.org/pkg/siunits},
- urldate = {2011-03-13}}
-
-
-
-@MISC{schoech:google01,
- author = {Volker C. Sch{\"o}ch},
- title = {{Die Suchmaschine Google}},
- howpublished = {\url{http://www.inf.fu-berlin.de/lehre/WS01/netbasedIS/uebungen/PageRank_vortrag_schoech.pdf}},
- note = {Seen August 2006},
- year = 2001,
- language = {German},
- school = {Freie Universit{\"a}t Berlin},
- type = {term paper},
- url = {http://www.inf.fu-berlin.de/lehre/WS01/netbasedIS/uebungen/PageRank_vortrag_schoech.pdf}}
-
-@BOOK{Mangano:XSLT-Cookbook2,
- title = {XSLT Cookbook},
- edition = 2,
- publisher = {O'Reilly},
- year = {2005},
- author = {Sal Mangano},
- isbn = {0596009747}}
-
-@BOOK{Vlist:Relaxng,
- author = {Eric van der Vlist},
- title = {RELAXNG: A simple schema language for XML},
- edition = 2,
- publisher = {O'Reilly},
- year = {2004}}
-
-@MISC{olsen:navigation-blindness,
- author = {Henrik Olsen},
- title = {Navigation blindness -- {How} to deal with the fact that people tend to ignore navigation tools},
- howpublished = {\url{http://www.guuui.com/issues/01_05.php}},
- year = {2005},
- note = {Seen August 2006},
- url = {http://www.guuui.com/issues/01_05.php}}
-
-@PhdThesis{Klein:ChangeMgmtDistrOnto04,
- author = {Michel Klein},
- title = {Change Management for Distributed Ontologies},
- school = {Vrije Universiteit Amsterdam},
- year = {2004}}
-
-@inproceedings{KleinFKO02:ontology-versioning,
- author = {Klein, Michel C. A. and Dieter Fensel and Atanas Kiryakov and Damyan Ognyanov},
- title = {Ontology Versioning and Change Detection on the Web.},
- year = {2002},
- pages = {197--212},
- crossref = {ekaw2002}}
-
-@InProceedings{SNTM:GenOntCollOntDevWF08,
- author = {Abraham Sebastian and Fridman Noy, Natalya and Tania Tudorache and Mark A. Musen},
- title = {A Generic Ontology for Collaborative Ontology-Development Workflows},
- crossref = {ekaw2008},
- pages = {318--328}}
-
-@Book{RalHem:eocs00,
- editor = {A. Ralston and D. Hemmendinger},
- booktitle = {Encyclopedia of Computer Science},
- title = {Encyclopedia of Computer Science},
- publisher = {Nature Publishing Group},
- year = 2000}
-
-@MISC{INCOSE,
- key = {INCOSE},
- Title = {International Council on Systems Engineering Website},
- editor = {INCOSE Requirements working group},
- howpublished = {\url{http://www.incose.org}},
- url = {http://www.incose.org}}
-
-@INPROCEEDINGS{AB93,
- author = {R. S. Arnold and S. A. Bohner},
- title = {Impact Analysis. Towards a Framework for Comparison},
- booktitle = {Proceedings of the Conference on Software Maintenance, CSM-93},
- year = {1993},
- pages = {292--301},
- publisher = {IEEE Computer Society Press}}
-
-@INCOLLECTION{AH05,
- author = {Serge Autexier and Dieter Hutter},
- title = {Mind the Gap -- Maintaining Formal Developments in {MAYA}},
- booktitle = {Festschrift in Honor of J.H.~Siekmann},
- publisher = {Springer-Verlag},
- series = {LNCS},
- number = {2605},
- year = {2005}}
-
-@INPROCEEDINGS{KHLM03,
- author = {B. Krieg-Br{\"u}ckner and D. Hutter and C. L{\"u}th and E. Melis ande A. P{\"o}tsch-Heffter and
- M. Roggenbach and J. G. Smaus and M. Wirsing},
- title = {Towards Multimedia Instruction in Safe and Secure Systems},
- booktitle = {Recent Trends in Algebraic Development Techniques},
- year = {2003},
- publisher = {Springer-Verlag},
- series = {LNCS},
- number = {2755}}
-
-@INPROCEEDINGS{BA93,
- author = {S. A. Bohner and R. S. Arnold},
- title = {An Introduction to Software Change Impact Analysis},
- year = {1996},
- publisher = {IEEE Computer Society Press}}
-
-@BOOKLET{DFHJ05,
- title = {Proceedings of the 2005 Automated Software Engineering Workshop on
- Software Certificate Management (SoftCeMent05)},
- author = {Ewen Denny and Bernd Fischer and Dieter Hutter and Mark Jones},
- address = {Long Beach, USA},
- month = nov,
- year = {2005},
- timestamp = {2006.10.19}}
-
-@MISC{Slate,
- author = {EDS},
- title = {System Level Automation Tool for Enterprises (SLATE)},
- howpublished = {\url{http://www.sdrc.com/slate}},
- url = {http://www.sdrc.com/slate}}
-
-@INPROCEEDINGS{GF94,
- author = {O. C. Z. Gotel and A. Finkelstein},
- title = {An Analysis of the requirements Traceability Problem},
- booktitle = {Proceedings of the International Conference on Requirements Engineering},
- year = {1994},
- publisher = {IEEE Computer Society Press}}
-
-@ARTICLE{Jarke98,
- author = {M. Jarke},
- title = {Requirements Tracing},
- journal = {Communication of the ACM},
- year = {1998},
- volume = {41},
- number = {12}}
-
-@inproceedings{CorMur:hticilt06,
- author = {Peter Corbett and Peter Murray-Rust},
- title = {High-Throughput Identification of Chemistry in Life Science Texts},
- pages = {107--118},
- ee = {http://dx.doi.org/10.1007/11875741_11},
- editor = {Michael R. Berthold and Robert C. Glen and Ingrid Fischer},
- booktitle = {Computational Life Sciences II, Second International Symposium, CompLife 2006},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = 4216,
- year = 2006,
- isbn = {3-540-45767-4}
-}
-
-@INPROCEEDINGS{KL89,
- author = {M. Kifer and G. Lausen},
- title = {F-Logic: a Higher-Order Language for Reasoning about Objects, Inheritence,
- and Scheme},
- booktitle = {Proceedings of the ACM SIGMOD Conference on Management of Data},
- year = {1989}}
-
-@ARTICLE{KLW:F-Logic1995,
- author = {Michael Kifer and Georg Lausen and James Wu},
- title = {Logical Foundations of Object-Oriented and Frame-Based Languages},
- journal = {Journal of the ACM},
- volume = 42,
- number = 4,
- pages = {741--843},
- year = {1995}}
-
-@ARTICLE{PG96,
- author = {F. A. C. Pinheiro and J. A. Goguen},
- title = {An Object Oriented Tool for Tracing Requirements},
- journal = {IEEE Software},
- year = {1996},
- volume = {13},
- number = {2}}
-
-@MASTERSTHESIS{Radzevich2006,
- author = {Svetlana Radzevich},
- title = {Semantic-based Diff, Patch and Merge for XML-Documents},
- school = {Saarland University},
- year = {2006},
- timestamp = {2006.10.20}}
-
-@ARTICLE{RJ01,
- author = {B. Ramesh and M. Jarke},
- title = {Towards Reference Models for Requirements Traceability},
- journal = {IEEE Transactions on Software Engineering},
- year = {2001},
- volume = {27},
- number = {1}}
-
-@MISC{RTCA1992,
- author = {{RTCA Inc.}},
- title = {DO-178B, Software Considerations in Airborne Systems and Equipment
- Certification},
- howpublished = {\url{http://www.rtca.org}},
- url = {http://www.rtca.org},
- year = {1992},
- timestamp = {2006.10.18}}
-
-@MISC{Doors,
- key = {Doors},
- author = {Telelogic},
- title = {Doors {XT}},
- howpublished = {\url{http://www.telelogic.com}},
- url = {http://www.telelogic.com}}
-
-@MISC{OWL,crossref={OWL:web}}
-@MISC{OWL:web,
- key = {W3C Web Ontology Language},
- editor = {World Wide Web Consortium (W3C)},
- title = {Web Ontology Language OWL / W3C Semantic Web Activity},
- institution = {World Wide Web Consortium (W3C)},
- howpublished = {\url{http://www.w3.org/2004/OWL}},
- url = {http://www.w3.org/2004/OWL}}
-
-@MISC{OWL:webpage,
- key = {OWL},
- editor = {World Wide Web Consortium (W3C)},
- title = {Web Ontology Language OWL / W3C Semantic Web Activity},
- institution = {World Wide Web Consortium (W3C)},
- url = {http://www.w3.org/2004/OWL}}
-
-@TechReport{McGvHa:OWLoverview04,
- key = {OWL Overview},
- editor = {Deborah L. McGuinness and Frank van Harmelen},
- title = {Web Ontology Language OWL Overview},
- institution = {World Wide Web Consortium (W3C)},
- url = {http://w3.org/TR/owl-features}}
-
-@techreport{OW2-primer,
- title = {{OWL} 2 Web Ontology Language Primer (Second Edition)},
- type = {{W3C} Recommendation},
- institution = {World Wide Web Consortium ({W3C})},
- year = {2012},
- url = {http://www.w3.org/TR/owl-primer},
- author = {Pascal Hitzler and Markus Kr{\"o}tzsch and Bijan Parsia and Peter F. Patel-Schneider and Sebastian Rudolph}}
-
-@Misc{tb:rdf,
- author = {Tim Bray},
- title = {{What is RDF?}},
- howpublished = {\url{http://www.xml.com/pub/a/2001/01/24/rdf1.html}},
- url = {http://www.xml.com/pub/a/2001/01/24/rdf1.html},
- year = {seen at October 2005}}
-
-@online{Bray:SemanticMarkup03,
- author = {Tim Bray},
- title = {On Semantics and Markup},
- url = {http://www.tbray.org/ongoing/When/200x/2003/04/09/SemanticMarkup},
- urldate = {2010-08-11},
- date = {2003-04-09}}
-
-@Misc{jt:rdfabout,
- author = {Joshua Tauberer},
- title = {rdf:about},
- howpublished = {\url{http://www.rdfabout.net/}},
- url = {http://www.rdfabout.net/},
- year = {seen at October 2005}}
-
-@INPROCEEDINGS{Walther2003,
- author = {Christoph Walther and Stephan Schweitzer},
- title = {About Verifun},
- booktitle = {Proceedings of the 19\textsuperscript{th} International Conference on Automated Deduction
- (CADE-19)},
- year = {2003},
- editor = {Franz Baader},
- publisher = {Springer Verlag},
- series = {LNCS},
- number = {2741},
- timestamp = {2006.10.23}}
-
-@Techreport{Walther02:VerifunTutorial,
- author = "Christoph Walther and Stephan Schweitzer",
- title = "The {Veri}{Fun} {Tutorial}",
- number = {VFR 02/04},
- institution = {Programmiermethodik, Technische Universit{\"a}t Darmstadt},
- year = 2002}
-
-@InProceedings{StrotmannSeppala:05,
- author = {A. Strotmann and M. Sepp{\"a}l{\"a}},
- title = {Web {Advanced} {Learning} {Technologies} for {Multilingual} {Mathematics} {Teaching} {Support}},
- booktitle = {From {Author} to {Reader}: {Challenges} for the {Digital} {Content} {Chain}.
- Proceedings of the 9\textsuperscript{th} {ICCC} International Conference on Electronic Publishing},
- year = 2005,
- editor = {M. Dobreva \& J. Engelen},
- note = {ISBN 90-429-1645-1},
- address = {Leuven-Heverlee (Belgium)},
- month = jun,
- publisher = {Peeters Publishing Leuven}}
-
-@InProceedings{StrotmannNgangaCaprotti:05,
- author = {A. Strotmann and W. Ng'ang'a and O. Caprotti},
- title = {Multilingual {Access} to {Mathematical} {Exercise} {Problems}},
- booktitle = {Electronic {Proceedings} of the {Internet} {Accessible} {Mathematical} {Computation} {Workshop}},
- year = 2005,
- address = {Chinese Academy of Sciences, Bejing, China},
- month = jul}
-
-
-
-@InProceedings{CaprottiCarlsonSeppalaStrotmann:05,
- author = {O. Caprotti and L. Carlson and M. Sepp{\"a}l{\"a} and A. Strotmann},
- title = {Web {Advanced} {Learning} {Technologies} for {Assessment} in {Mathematics}},
- booktitle = {Recent Research Developments in Learning Technologies.
- Proceedings of the III International Conference on multimedia and ICT's in Education},
- year = 2005,
- editor = {Formatex},
- volume = 3,
- month = jun}
-
-
-@Unpublished{KarhimaNurmonenPauna:05,
- author = {J. Karhima and J. Nurmonen and M. Pauna},
- title = {Course {Content} {Dictionary} for sharing online educational material},
- note = {Submitted for publication to the CAA Series}}
-
-
-@TechReport{WebALT:d1.1,
- author = {WebALT Consortium},
- title = {State of the art in mathematical e-learning},
- institution = {WebALT-EDC-22253},
- year = 2005,
- type = {Deliverable},
- month = apr,
- number = {1.1}}
-
-
-@TechReport{WebALT:d1.2,
- author = {L. Carlson and J. Saludes and A. Strotmann},
- title = {Study of the state of the art in multilingual and multicultural creation of digital mathematical content},
- institution = {WebALT-EDC-22253},
- year = 2005,
- type = {Deliverable},
- number = {1.2},
- month = apr}
-
-
-@InProceedings{BarakaCaprottiSchreiner:05,
- author = {Rebhi Baraka and Olga Caprotti and Wolfgang Schreiner},
- title = {A Web Registry for Publishing and Discovering Mathematical Services },
- booktitle = {EEE-05 IEEE International Conference on e-Technology, e-Commerce, and e-Service},
- pages = {190--193},
- year = 2005,
- venue = {Hong Kong},
- eventdate = {2005-04-29/2005-05-01},
- publisher = {IEEE Computer Society Press}}
-
-
-@InProceedings{CaprottiSchreiner:02,
- author = {Olga Caprotti, Wolfgang Schreiner},
- title = {Towards a Mathematical Service Description Language},
- booktitle = {ICMS 2002, International Congress of Mathematical Software},
- pages = {11 pages},
- year = 2002,
- venue = {Bejing, China},
- eventdate = {2002-08-20/2002-08-28},
- publisher = {World Scientific Publishers, Singapore/River Edge}}
-
-@Misc{WebALT,
- key = {WebALT},
- title = {WebALT Web Advanced Learning Technologies},
- howpublished = {EU eContent EDC-22253},
- year = {2005-2006},
- url = {http://www.webalt.net}}
-
-@Misc{JEM:tagcloud,
- key = {JEM tag cloud},
- title = {Joining Educational Mathematics -- Tag cloud},
- howpublished = {\url{http://jem-thematic.net/tagadelic}},
- year = {2008},
- url = {http://jem-thematic.net/tagadelic}}
-
-@Misc{JEM,
- key = {JEM},
- title = {Joining Educational Mathematics},
- howpublished = {ECP-2005-EDU-038208},
- year = {2006-2009},
- url = {http://www.jem-thematic.net}}
-
-@Misc{Seppala:SVC,
- author = {Mika Sepp{\"a}l{\"a}},
- title = {Single Variable Calculus},
- howpublished = {\url{http://www.webalt.com/Calculus-2006/}},
- url = {http://www.webalt.com/Calculus-2006/},
- year = 2006}
-
-@InProceedings{CaprottiSeppala:OEB,
- author = {Olga Caprotti, Mika Sepp{\"a}l{\"a}},
- title = {Multilingual Delivery of Online Tests in mathematics},
- booktitle = {Proceedings of Online Educa Berlin},
- year = 2006,
- venue = {Berlin, Germany},
- eventdate = {2006-11-29/2006-12-01}}
-
-
-
-
-
-
-
-
-
-
-@book{Gusfield97,
- author = {Dan Gusfield},
- title = {Algorithms on strings, trees, and sequences: computer science and computational biology},
- year = {1997},
- isbn = {0-521-58519-8},
- publisher = {Cambridge University Press},
- address = {New York, NY, USA}}
-
-
-
-
-
-@InProceedings{MECM:WIRIS-OM-Tools06,
- author = {Daniel Marqu{\`e}s and Ramon Eixarch and Gl{\`o}ria Casanellas and Bruno Mart{\'i}nez},
- title = {{WIRIS} {OM} Tools: a Semantic Formula Editor},
- crossref = {MathUI06}}
-
-@Book{Unicode:tuc03,
- editor = {Unicode Inc.},
- title = {The Unicode Standard, Version 4.0},
- publisher = {Addison-Wesley},
- year = 2003}
-
-@Misc{Unicode:collation,
- key = {UTS10},
- author = {Mark Davis and Ken Whistler},
- title = {Unicode Collation Algorithm},
- url = {http://www.unicode.org/reports/tr10/},
- year = 2005,
- note = {Unicode Technical Standard \#10}}
-
-@Misc{CNXActualInfo,
- author = {Joel Thierstein and Richard G. Baraniuk},
- title = {Actual Facts about {ConneXions}},
- howpublished = {Online at {\url{http://cnx.org/aboutus/publications/paper.2006-07-12.3619060641}} (2007-05-14)},
- url = {http://cnx.org/aboutus/publications/paper.2006-07-12.3619060641},
- year = 2007}
-
-@ARTICLE{Stck:NeueWelt,
- author = {Christian St{\"o}cker},
- title = {{Wir betreten eine neue Welt}},
- journal = {Spiegel Special --- Leben 2.0 Wir sind das Netz, Wie das neue Internet die Gesellschaft ver{\"a}ndert},
- year = {2007},
- pages = {28--31},
- number = {3}}
-
-@INPROCEEDINGS{KieHol:zNvRiL,
- title = {{Zur Nutzung von Referenzierungfunktionalit{\"a}ten in Lernchats}},
- author = {Andrea Kienle and Torsten Holmer},
- pages = {111--122},
- crossref = {DeLFI06}}
-
-@INPROCEEDINGS{MlpWes:ERiCSCL,
- title = {{Explicit Referencing in Chat Supports Collaborative Learning}},
- author = {M. M{\"u}hlpfordt and M. Wessner},
- pages = {...},
- crossref = {CSCL05}}
-
-@InBook{Bredo:ConceptualConfusion,
- author = {Eric Bredo},
- title = {Handbook of Educational Psychology},
- chapter = {Conceptual Confusion and Educational Psychology},
- publisher = {London: Lawrence Erlbaum Associates},
- year = 2006,
- pages = {43--57}}
-
-@misc{posix,
- title = "{IEEE POSIX}",
- key = "POSIX",
- label = "PO88",
- year = "1988",
- note = "ISO/IEC 9945"}
-
-
-@Article{ShneidermanMayer:SemanticSyntacticInteractions,
- author = {Ben Shneiderman and Richard Mayer},
- title = {Syntactic/Semantic Interactions in Programmer Behavior: A Model and Experimental Results},
- journal = {International Journal of Computer and Information Sciences},
- year = 1979,
- volume = 8,
- number = 3,
- pages = {219--238}}
-
-@Article{Shneiderman:ClarifyingSearch:1997,
- author = {Shneiderman, Ben and Byrd, Don and Croft, W. B},
- title = {Clarifying Search: A User-Interface Framework for Text Searches},
- year = {1997},
- source = {http://www.dlib.org/dlib/january97/retrieval/01shneiderman.html#framework},
- publisher = {D-Lib Magazine},
- issn={1082-9873}
-}
-
-@inproceedings{HMKA:CulSamp,
- author = {Eero Hyv{\"o}nen and E. M{\"a}kel{\"a} and T. Kauppinen and O. Alm and Jussi Kurki and T. Ruotsalo and K. Sepp{\"a}l{\"a} and J. Takala and K. Puputti and H. Kuittinen and Kim Viljanen and Jouni Tuominen and T. Palonen and M. Frosterus R. Sikkil{\"a} and P. Paakkarinen and J. Laitio and K. Nyberg},
- title = {{CULTURE SAMPO} -- A National Publication System of Cultural Heritage on the Semantic Web 2.0},
- crossref = {eswc2009}}
-
-@inproceedings{HHRFA:SCOVO09,
- author = {Michael Hausenblas and Wolfgang Halb and Yves Raimond and Lee Feigenbaum and Danny Ayers},
- title = {SCOVO: Using Statistics on the Web of Data},
- crossref = {eswc2009}}
-
-@InProceedings{SEGKR:KiWi09,
- author = {Sebastian Schaffert and Julia Eder and Szaby Gr{\"u}nwald and Thomas Kurz and Mihai Radulescu},
- title = {{KiWi} -- A Platform for Semantic Social Software (Demonstration)},
- crossref = {eswc2009},
- pages = {888--892}}
-
-@InProceedings{ZSAM:Evolva09,
- author = {Fouad Zablith and Marta Sabou and d'Aquin, Mathieu and Enrico Motta},
- title = {Ontology Evolution with {Evolva}},
- crossref = {eswc2009},
- pages = {908--912}}
-
-@InProceedings{MarPea:wmtapm13,
- author = {Ursula Martin and Alison Pease},
- title = {What does mathoverflow tell us about the production of mathematics?},
- year = {2013},
- booktitle = {SOHUMAN, 2nd International Workshop on Social Media for Crowdsourcing and
- Human Computation},
- ee = {http://arxiv.org/abs/1305.0904}}
-
-@InProceedings{PeaMar:sfmm12,
- author = {Pease, Alison and Ursula Martin},
- pages = {19--29},
- crossref = {AISBIACAP12},
- title = {Seventy four minutes of mathematics: An analysis of the third Mini-Polymath project},
- url = {http://homepages.inf.ed.ac.uk/apease/papers/seventy-four.pdf}}
-
-@InProceedings{Aberdein:tpsmr12,
- author = {Andrew Aberdein},
- pages = {7--14},
- crossref = {AISBIACAP12},
- title = {The Parallel Structure of Mathematical Reasoning}}
-
-@InProceedings{HHMT:SemWikiSearch09,
- author = {Peter Haase and Daniel Herzig and Mark Musen and Thanh Tran},
- title = {Semantic Wiki Search},
- crossref = {eswc2009},
- pages = {445--460}}
-
-@InProceedings{HLS:RelationshipDiscovery10,
- author = {Philipp Heim and Steffen Lohmann and Timo Stegemann},
- title = {Interactive Relationship Discovery via the Semantic Web},
- crossref = {eswc2010-1},
- pages = {303--317}}
-
-@InProceedings{OmitolaEtAl:PostCodeDataCaseStudy10,
- author = {Tope Omitola and Christos L. Koumenides and Igor O. Popov and Yang Yang and Manuel Salvadores and Martin Szomszor and Tim Berners-Lee and Nicholas Gibbins and Wendy Hall and mc schraefel and Nigel Shadbolt},
- title = {Put in Your Postcode, Out Comes the Data: A Case Study},
- crossref = {eswc2010-1},
- pages = {318--332}}
-
-@InProceedings{PNJB:DesignEvalUIEnhancSMW08,
- author = {Frederik Pfisterer and Markus Nitsche and Anthony Jameson and Catalin Barbu},
- title = {User-Centered Design and Evaluation of Interface Enhancements to the {Semantic MediaWiki}},
- crossref = {swui2008}}
-
-@InProceedings{vOAH:EvalSemWebAppDifficult08,
- author = {Jacco van Ossenbruggen and Alia Amin and Michiel Hildebrand},
- title = {Why Evaluating Semantic Web Applications is Difficult},
- crossref = {swui2008}}
-
-@InProceedings{FG:EndUserModifiability90,
- author = {Gerhard Fischer and Andreas Girgensohn},
- title = {End-user modifiability in design environments},
- crossref = {chi1990},
- pages = {183--192}}
-
-
-@Book{RamRei:ohli07,
- editor = {Gillian Ramchand and Charles Reiss},
- title = {The Oxford Handbook of Linguistic Interfaces},
- publisher = {Oxford University Press},
- year = 2007,
- series = {Oxford Handbooks in Linguistics}}
-
-@InProceedings{GHCBW:SurveyDiscourseReprModel09,
- author = {Tudor Groza and Siegfried Handschuh and Tim Clark and Buckingham Shum, Simon and Anita de Waard},
- title = {A Short Survey of Discourse Representation Models},
- crossref = {SWASD09}}
-
-@UnPublished{SCWGHS:SciDiscourseSemWebSurvey11,
- author = {Buckingham Shum, Simon and Tim Clark and Anita de Waard and Tudor Groza and Siegfried Handschuh and {\`A}gnes S{\'a}ndor},
- title = {Scientific Discourse on the Semantic Web: A Survey of Models and Enabling Technologies},
- journal = {Semantic Web Journal},
- year = {2011},
- url = {http://www.semantic-web-journal.net/content/scientific-discourse-semantic-web-survey-models-and-enabling-technologies},
- note = {accepted for publication in the Semantic Web Journal},
-}
-
-@InProceedings{PCBC:SWANSIOC09,
- author = {Alexandre Passant and Paolo Ciccarese and John G. Breslin and Tim Clark},
- title = {SWAN/\linebreak[0]SIOC: Aligning Scientific Discourse Representation and Social Semantics},
- crossref = {SWASD09}}
-
-@InProceedings{SS:NetworkedGraphs2009,
- author = {Simon Schenk and Steffen Staab},
- title = {Networked Graphs: A Declarative Mechanism for {SPARQL} Rules, {SPARQL} Views and {RDF} Data Integration on the Web},
- crossref = {www2008},
- pages = {585--594}}
-
-@InProceedings{LPHTM:SemanticWebPipes09,
- author = {Danh Le-Phuoc and Axel Polleres and Manfred Hauswirth and Giovanni Tummarello and Christian Morbidoni},
- title = {Rapid Prototyping of Semantic Mash-Ups through Semantic Web Pipes},
- crossref = {www2009},
- pages = {581--590}}
-
-@InProceedings{KMH:OntoConvergenceSemWiki08,
- author = {Chrysovalanto Kousetti and David E. Millard and Yvonne Howard},
- title = {A Study of Ontology Convergence in a Semantic Wiki},
- crossref = {wikisym08}}
-
-@InProceedings{LMKR:AdessoCollSciProgPlat09,
- author = {Roberto A. Lotufo and Rubens C. Machado and Andr{\'e} K{\"o}rbes and Rafael G. Ramos},
- title = {Adessowiki On-line Collaborative Scientific Programming Platform},
- crossref = {wikisym09},
-}
-
-@InProceedings{Barany:Polymath1:10,
- author = {Barany, Michael J.},
- title = {`[B]ut this is blog maths and we're free to make up conventions as we go
-along': {Polymath1} and the modalities of `massively collaborative mathematics'},
- crossref = {wikisym10}}
-
-@Article{SnowBenford:FrameAlignmentProcesses,
- author = {David A. Snow and E. Burke Rochford and Steven K. Worden and Robert D. Benford},
- title = {Frame alignment processes, micromobilization, and movement participation},
- journal = {American Sociological Review},
- year = {1986},
- pages= {464--481},
- volume= {51},
- number= {4},
- publisher= {JSTOR}}
-
-@InProceedings{Neverilova:DynVisDML10,
- author = {Zuzana Nev{\v e}{\v r}ilov{\' a}},
- title = {Implementing Dynamic Visualization as an Alternative Interface to a Digital Mathematics Library},
- crossref = {DML10},
- pages = {63--68}}
-
-@Article{Pratt01,
- title = "Introduction to {ISO} 10303 -- the {STEP} Standard for
- Product Data Exchange",
- author = "Michael J. Pratt",
- journal = "J.\ Comput.\ Inf.\ Sci.\ Eng",
- year = "2001",
- nonumber = "1",
- volume = "1",
- bibdate = "2003-12-05",
- bibsource = "DBLP,
- http://dblp.uni-trier.de/db/journals/jcise/jcise1.html#Pratt01",
- pages = "102--103",
- URL = "http://dx.doi.org/10.1115/1.1354995"}
-
-
-@Misc{ISO10303,
- key = {ISO},
- title = {{ISO} 10303-1, {I}ndustrial automation systems
- and integration --- {P}roduct Data Representation and
- Exchange, {P}art 1: {O}verview and fundamental
- principles},
- howpublished = {International Organization for
- Standardization},
- year = 1994}
-
-
-@TechReport{ShipmanMarshall:FormalityConsideredHarmful,
- author = {Frank M. Shipman and Catherine C. Marshall},
- title = {Formality Considered Harmful: Experiences, Emerging Themes, and Directions},
- institution = {University of Colorado at Boulder, Department of Computer Science},
- year = {1993},
- type = {Report},
- url={http://www.cs.colorado.edu/department/publications/reports/docs/CU-CS-648-93.pdf}}
-
-@inproceedings{ShipmanEtAl:SemanticsHappen,
- author = {Shipman, Frank and Moore, J. Michael and Maloor, Preetam and Hsieh, Haowei and Akkapeddi, Raghu},
- title = {Semantics happen: knowledge building in spatial hypertext},
- booktitle = {HYPERTEXT '02: Proceedings of the thirteenth ACM conference on Hypertext and hypermedia},
- year = {2002},
- isbn = {1-58113-477-0},
- pages = {25--34},
- location = {College Park, Maryland, USA},
- doi = {10.1145/513338.513350},
- url = {http://doi.acm.org/10.1145/513338.513350},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@inproceedings{ShipmanEtAl:MindTheSemanticGap,crossref={MillardEtAl:MindTheSemanticGap}}
-@inproceedings{MillardEtAl:MindTheSemanticGap,
- author = {Millard, David E. and Gibbins, Nicholas M. and Michaelides, Danius T. and Weal, Mark J.},
- title = {Mind the semantic gap},
- booktitle = {HYPERTEXT '05: Proceedings of the sixteenth ACM conference on Hypertext and hypermedia},
- year = {2005},
- isbn = {1-59593-168-6},
- pages = {54--62},
- location = {Salzburg, Austria},
- url = {http://doi.acm.org/10.1145/1083356.1083367},
- doi = {10.1145/1083356.1083367},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@inproceedings{LiPatrao:UserDefinedSemanticRelationships,
- author = {Li, Du and Patrao, Jason},
- title = {Demonstrational customization of a shared whiteboard to support user-defined semantic relationships among objects},
- booktitle = {GROUP '01: Proceedings of the 2001 International ACM SIGGROUP Conference on Supporting Group Work},
- year = {2001},
- isbn = {1-58113-294-8},
- pages = {97--106},
- location = {Boulder, Colorado, USA},
- url = {http://doi.acm.org/10.1145/500286.500303},
- doi = {10.1145/500286.500303},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@article{ShipmanMcCall:IncrementalFormalization,
- author = {Shipman III, Frank M. and McCall, Raymond J.},
- title = {Incremental formalization with the hyper-object substrate},
- journal = {ACM Trans. Inf. Syst.},
- volume = {17},
- number = {2},
- year = {1999},
- issn = {1046-8188},
- pages = {199--227},
- doi = {10.1145/306686.306690},
- url = {http://doi.acm.org/10.1145/306686.306690},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@Misc{SAMSDocs,
- key = {SAMS09},
- author = {{SAMS}},
- title = {{SAMSDocs}: The Document Collection of the {SAMS} Project},
- note = {{\url{http://www.sams-projekt.de}}},
- year = {2009}}
-
-
-@Misc{SAMSLastenheft,
- author = {Dennis Walter and Holger T{\"a}ubig and Daniel Hausmann},
- title = {{Anforderungen (Lastenheft)}},
- note = {Part of the document collection in the SAMS project, see {\url{http://www.sams-projekt.de}}},
- year = {2010}}
-
-@Misc{SAMSKonzeptBremsmodell,
- author = {Holger T{\"a}ubig},
- title = {{Konzept-Bremsmodell}},
- note = {Part of the document collection in the SAMS project, see {\url{http://www.sams-projekt.de}}},
- year = {2010}}
-
-@Misc{SAMSAnwenderhandbuch,
- author = {SAMS Project Team},
- title = {{Anwenderhandbuch}},
- note = {Part of the document collection in the SAMS project, see {\url{http://www.sams-projekt.de}}},
- year = {2010}}
-
-@INPROCEEDINGS{sams:SafeCert08,
- author = {Udo Frese and Daniel Hausmann and Christoph L{\"u}th and Holger T{\"a}ubig
- and Dennis Walter},
- title = {The Importance of Being Formal},
- booktitle = {International Workshop on the Certification of Safety-Critical Software
- Controlled Systems SafeCert'08},
- year = {2008},
- editor = {Hardi Hungar},
- series = {Electronic Notes in Theoretical Computer Science},
-pages = {57--70},
-volume = {238},
-issue = {4},
-month = sep}
-
-@article{ParasuramanEtAl:HumanInteractionWithAutomation,
- author = {Raja Parasuraman and Thomas B. Sheridan and Christopher D. Wickens},
- title = {A Model for Types and Levels of Human Interaction with Automation},
- journal = {IEEE Transactions on Systems, Man, and Cybernetics},
- volume = {30},
- number = {3},
- year = {2000},
- month = may,
- pages = {286--297},
- publisher = {IEEE},
- }
-
-
-@article{KlemmerEtAl:IntegratingPhysicalAndDigitalInteractions,
- author = {Scott R. Klemmer and Katherine M. Everitt and James A. Landay},
- title = {Integrating Physical and Digital Interactions on Walls for Fluid Design Collaboration},
- journal = {Human-Computer Interaction},
- volume = {23},
- number = {2},
- year = {2008},
- pages = {138--213},
-publisher = {informaworld}
- }
-
-@Article{Radford:MathObjectification,
- author = {Luis Radford},
- title = {The Seen, the Spoken and the Written: a Semiotic Approach to the Problem of Objectification of Mathematical Knowledge[1]},
- journal = {For the Learning of Mathematics},
- year = 2002,
- volume = 22,
- pages = {14--23},
-publisher={FLM Publishing Association}}
-
-@Book{ES:ProtocolAnalysis93,
- author = {K. Anders Ericsson and Herbert Simon},
- title = {Protocol Analysis},
- subtitle = {Verbal Reports as Data},
- publisher = {MIT Press},
- year = {1993},
- edition = {Revised edition},
- isbn = {978-0-262-55023-9},
- annote = {see \cite{BR:ThinkingAloud00} before citing this!}}
-
-
-@Book{SRP:InteractionDesign07,
- author = {Helen Sharp and Yvonne Rogers and Jenny Preece},
- title = {Interaction design: beyond human-computer interaction},
- publisher = {John Wiley \& Sons},
- year = {2007},
- edition = {2},
- url = {http://www.id-book.com},
- isbn = {978-0-470-01866-8},
- }
-
-@Book{SRP:InteractionDesign:2011,
- author = {Helen Sharp and Yvonne Rogers and Jenny Preece},
- title = {Interaction design: beyond human-computer interaction},
- publisher = {John Wiley \& Sons},
- year = {2011},
- edition = {3},
- url = {http://www.id-book.com},
- isbn = {978-0-470-66576-3},
- }
-
-@MastersThesis{VanRens:UsabilityProblemClassifier97,
- author = {Linda van Rens},
- title = {Usability problem classifier},
- school = {Virginia Polytechnic Institute {and} State University},
- year = {1997},
- address = {Blacksburg, VA, USA}}
-
-@Article{FuhrEtAl:EvalDigitalLib07,
- author = {Norbert Fuhr and Giannis Tsakonas and Trond Aalberg and Maristella Agosti and Preben Hansen and Sarantos Kapidakis and Claus-Peter Klas and L{\'a}szl{\'o} Kov{\'a}cs and Monica Landoni and Andr{\'a}s Micsik and Christos Papatheodorou and Carol Peters and Ingeborg S{\o}lvberg},
- title = {Evaluation of digital libraries},
- journal = {International Journal of Digital Libraries},
- year = {2007},
- number = {8},
- pages = {21--38}}
-
-@PhdThesis{Kruk:SemDL09,
- author = {Sebastian Ryszard Kruk},
- title = {Semantic Digital Libraries},
- subtitle = {Improving Usability of Information Discovery with Semantic and Social Services},
- school = {National University of Ireland, Galway},
- year = {2009}}
-
-@PhdThesis{Guidi:SearchRetrContRepoFormalMathKnow03,
- author = {Ferruccio Guidi},
- title = {Searching and Retrieving in Content-based Repositories of Formal Mathematical Knowledge},
- school = {Universit{\`a} di Bologna},
- year = {2003}}
-
-@PhdThesis{Zacchiroli:UIWidInteractTP07,
- author = {Stefano Zacchiroli},
- title = {User Interaction Widgets for Interactive Theorem Proving},
- school = {Universit{\`a} di Bologna},
- year = {2007}}
-
-@PhdThesis{Zimmer:MathServe08,
- author = {J{\"u}rgen Zimmer},
- title = {{MathServe} -- A Framework for Semantic Reasoning Services},
- school = {Universit{\"a}t des Saarlandes},
- year = {2008},
- month = jul}
-
-@manual{ISO:Usability,
- title = {Ergonomic Requirements for Office Work With Visual Display Terminals (VDT). Part 11: Guidance in Usability},
- institution = {International Standards Organization},
- year = {1997},
- number = {ISO 9241--11},
- address = {London}}
-
-@InCollection{Brooke:SUSUsabilityScale96,
- author = {John Brooke},
- title = {{SUS} -- a quick and dirty usability scale},
- booktitle = {Usability Evaluation in Industry},
- pages = {189--194},
- publisher = {Taylor \& Francis},
- year = {1996},
- editor = {Patrick W. Jordan and Bruce Thomas and Bernard A. Weerdmeester and Ian L. McClelland},
- address = {London}}
-
-@inproceedings{LFMTP09,
- booktitle = "{Proceedings of the Workshop on Logical Frameworks Meta-Theory and Practice (LFMTP)}",
- title = "{Proceedings of the Workshop on Logical Frameworks Meta-Theory and Practice (LFMTP)}",
- year = "2009"}
-
-@inproceedings{LFMTP10,
- booktitle = "{Proceedings of the Workshop on Logical Frameworks Meta-Theory and Practice (LFMTP)}",
- title = "{Proceedings of the Workshop on Logical Frameworks Meta-Theory and Practice (LFMTP)}",
- year = "2010",
- note="submitted"}
-
-@InBook{FF:Interviewing94,
- author = {Andrea Fontana and James H. Frey},
- editor = {Norman K. Denzin and Yvonna S. Lincoln},
- title = {Handbook of Qualitative Research},
- publisher = {Sage},
- year = {1994},
- address = {London},
- pages = {361--376}}
-
-@online{Feigenbaum:SPARQL-FAQ,
- author = {Lee Feigenbaum},
- title = {{SPARQL} {Protocol} and {Query} {Language}: {SPARQL} Frequently Asked Questions},
- url = {http://www.thefigtrees.net/lee/sw/sparql-faq},
- urldate = {2010-04-17}}
-
-@Article{BR:ThinkingAloud00,
- author = {M. Ted Boren and Judith Ramey},
- title = {Thinking Aloud: Reconciling Theory and Practice},
- journal = {IEEE Transactions on Professional Communication},
- year = {2000},
- volume = {43},
- number = {3},
- pages = {261--278},
- month = sep}
-
-@InProceedings{KU:TestStrategiesEvalSemEGovApp08,
- author = {Ralf Klischewski and Stefan Ukena},
- title = {Test Strategies for Evaluation of Semantic {eGovernment} Applications},
- booktitle = {Electronic Government (EGOV)},
- pages = {291--302},
- year = {2008},
- editor = {M. A. Wimmer and H. J. Scholl and E. Ferro},
- number = {5184},
- series = {LNCS},
- publisher = {Springer Verlag}}
-
-@online{Nielsen:UsabilityTestingWith5Users,
- author = {Jakob Nielsen},
- title = {Why You Only Need to Test with 5 Users},
- url = {http://www.useit.com/alertbox/20000319.html},
- date = {2000-03-19},
- urldate = {2010-04-18}}
-
-@online{SV:SemWikiWay08,
- author = {Sebastian Schaffert and Max V{\"o}lkel},
- title = {Semantic Wikis: The Wiki Way to the Semantic Web},
- url = {http://www.slideshare.net/xamde/a-survey-of-the-landscape-and-stateofart-in-semantic-wiki-presentation},
- date = {2008-10-23},
- note = {Presented in the {Ontolog} mini-series on Semantic Wikis, session 1 (\url{http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2008_10_23})}}
-
-@online{SemWiki,
- title = {{SemWiki.org} -- The Semantic Wiki Community},
- url = {http://semwiki.org},
- urldate = {2010-06-17}}
-
-@InProceedings{Youssef:SearchMathContent05,
- author = {Abdou Youssef},
- title = {Search of Mathematical Contents: Issues and Methods},
- booktitle = {Proceedings of the ISCA 14\textsuperscript{th} International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE)},
- pages = {100--105},
- year = {2005},
- editor = {Richard T. Hurley and Wenying Feng},
- month = jul,
- isbn = {1-880843-55-2}}
-
-@inproceedings{885148,
- author = {Mittermeir, R. and Clermont, M.},
- title = {Finding High-Level Structures in Spreadsheet Programs},
- booktitle = {WCRE '02: Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)},
- year = {2002},
- pages = {221},
- publisher = {IEEE Computer Society},
- address = {Washington, DC, USA},
- }
-
-@inproceedings{Malaka:EmbodiedInteraction,
- author = {Malaka, R. and Porzel, R.},
- editor = {Mertsching, B. and Hund, M. and Aziz, Z.},
- title = {Design principles for embodied interaction},
- booktitle = {KI 2009. Advances in artificial intelligence},
- year = {2009},
- pages = {711--718},
- publisher = {Springer},
- address = {Heidelberg}}
-
-@inproceedings{NorthShneiderman:SnapTogetherVisualization,
- author = {North, Chris and Shneiderman, Ben},
- title = {Snap-together visualization: a user interface for coordinating visualizations via relational schemata},
- booktitle = {AVI '00: Proceedings of the working conference on Advanced visual interfaces},
- year = {2000},
- isbn = {1-58113-252-2},
- pages = {128--135},
- location = {Palermo, Italy},
- url = {http://doi.acm.org/10.1145/345513.345282},
- doi = {10.1145/345513.345282},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@article{Murphy:SpreadsheetHell,
- author = {Simon Murphy},
- title = {Spreadsheet Hell},
- journal = {CoRR},
- volume = {abs/0801.3118},
- year = {2008},
- ee = {http://arxiv.org/abs/0801.3118},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@inproceedings{OberleEtAl:SemManagementOfWebServices,
- author = {Daniel Oberle and
- Steffen Lamparter and
- Andreas Eberhart and
- Steffen Staab},
- title = {Semantic Management of Web Services},
- booktitle = {ICSOC},
- year = {2005},
- pages = {514--519},
- ee = {http://dx.doi.org/10.1007/11596141_42},
- crossref = {DBLP:conf/icsoc/2005},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{HodniggMittermeir:MetricsBasedSpreadsheetVisualization,
- author = {Karin Hodnigg and
- Roland T. Mittermeir},
- title = {Metrics-Based Spreadsheet Visualization: Support for Focused
- Maintenance},
- journal = {CoRR},
- volume = {abs/0809.3009},
- year = {2008},
- ee = {http://arxiv.org/abs/0809.3009},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-@article{BrathPeters:SpreadsheetContentVisualization,
- author = {Richard Brath and
- Michael Peters},
- title = {Spreadsheet Validation and Analysis through Content Visualization},
- journal = {CoRR},
- volume = {abs/0803.0166},
- year = {2008},
- ee = {http://arxiv.org/abs/0803.0166},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{Dinmore:AnnotatingSpreadsheets,
- author = {Matthew Dinmore},
- title = {Documenting Problem-Solving Knowledge: Proposed Annotation
- Design Guidelines and their Application to Spreadsheet Tools},
- journal = {CoRR},
- volume = {abs/0908.1192},
- year = {2009},
- ee = {http://arxiv.org/abs/0908.1192},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@inproceedings{Abraham:TemplateParsing,
- author = {Robin Abraham},
- title = {Template Parsing with User Feedback},
- booktitle = {VL/HCC},
- year = {2005},
- pages = {323--324},
- ee = {http://doi.ieeecomputersociety.org/10.1109/VLHCC.2005.60},
- crossref = {DBLP:conf/vl/2005},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{BanksMonday:InterpretationInSpreadsheets,
- author = {David A. Banks and Ann Monday},
- title = {Interpretation as a factor in understanding flawed spreadsheets},
- journal = {CoRR},
- volume = {abs/0801.1856},
- year = {2008},
- ee = {http://arxiv.org/abs/0801.1856},
- eprint = {0801.1856},
- eprinttype = {arxiv},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{ChanStorey:UseOfSpreadsheetsInOrganizations,
- author = {Chan, Yolande E. and Storey, Veda C.},
- title = {The use of spreadsheets in organizations: determinants and consequences},
- journal = {Inf. Manage.},
- volume = {31},
- number = {3},
- year = {1996},
- issn = {0378-7206},
- pages = {119--134},
- doi = {10.1016/S0378-7206(96)00008-0},
- url = {http://dx.doi.org/10.1016/S0378-7206(96)00008-0},
- publisher = {Elsevier Science Publishers B. V.},
- address = {Amsterdam, The Netherlands, The Netherlands},
- }
-
-@article{BakerEtAl:PracticesOfSpshtUsers08,
- author = {Kenneth R. Baker and
- Stephen G. Powell and
- Barry Lawson and
- Lynn Foster-Johnson},
- title = {Comparison of Characteristics and Practices amongst Spreadsheet
- Users with Different Levels of Experience},
- journal = {CoRR},
- volume = {abs/0803.0168},
- year = {2008},
- ee = {http://arxiv.org/abs/0803.0168},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{PowellEtAl:ImpactOfSpshtErrors,
- author = {Stephen G. Powell and
- Barry Lawson and
- Kenneth R. Baker},
- title = {Impact of Errors in Operational Spreadsheets},
- journal = {CoRR},
- volume = {abs/0801.0715},
- year = {2008},
- ee = {http://arxiv.org/abs/0801.0715},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{PowellEtAl:CriticalReviewLitSpshtErrors08,
- author = {Stephen G. Powell and
- Kenneth R. Baker and
- Barry Lawson},
- title = {A critical review of the literature on spreadsheet errors},
- journal = {Decision Support Systems},
- volume = {46},
- number = {1},
- year = {2008},
- pages = {128--138},
- ee = {http://dx.doi.org/10.1016/j.dss.2008.06.001},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{McGillKlobas:SpreadsheetKnowledge,
- author = {McGill, Tanya J. and Klobas, Jane E.},
- title = {The role of spreadsheet knowledge in user-developed application success},
- journal = {Decis. Support Syst.},
- volume = {39},
- number = {3},
- year = {2005},
- issn = {0167-9236},
- pages = {355--369},
- doi = {10.1016/j.dss.2004.01.002},
- url = {http://dx.doi.org/10.1016/j.dss.2004.01.002},
- publisher = {Elsevier Science Publishers B. V.},
- address = {Amsterdam, The Netherlands, The Netherlands},
- }
-
-@inproceedings{Priestley:DITAAuthoring,
- author = {Priestley, Michael},
- title = {DITA authoring},
- booktitle = {{SIGDOC '05}: Proceedings of the 23\textsuperscript{rd} annual International Conference on Design of Communication},
- year = {2005},
- isbn = {1-59593-175-9},
- pages = {3--3},
- location = {Coventry, United Kingdom},
- url = {http://doi.acm.org/10.1145/1085313.1085316},
- doi = {10.1145/1085313.1085316},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-@inproceedings{Priestley:InformationDevelopmentWithDITA,
- author = {Priestley, Michael},
- title = {Scenario-based and model-driven information development with XML DITA},
- booktitle = {SIGDOC '03: Proceedings of the 21\textsuperscript{st} annual international conference on Documentation},
- year = {2003},
- isbn = {1-58113-696-X},
- pages = {45--51},
- location = {San Francisco, CA, USA},
- doi = {10.1145/944868.944879},
- url = {http://doi.acm.org/10.1145/944868.944879},
- publisher = {ACM},
- address = {New York, NY, USA},
- }
-
-
-@inproceedings{BirdFarmer:IBMTaskModeler,
- author = {Bird, Colin and Farmer, Mark},
- title = {Information architecture with IBM Task Modeler},
- booktitle = {BCS-HCI '07: Proceedings of the 21\textsuperscript{st} British HCI Group Annual Conference on HCI 2008},
- year = {2007},
- isbn = {978-1-902505-95-4},
- pages = {235--236},
- location = {University of Lancaster, United Kingdom},
- publisher = {British Computer Society},
- address = {Swinton, UK},
- }
-
-@inProceedings{Paine:DocumentingSpreadsheetsWithExcelsior,
- author = {Jocelyn Paine},
- title = {It Ain't What You View, But The Way That You View It: documenting
- spreadsheets with Excelsior, semantic wikis, and literate
- programming},
- crossref={EUSPRIG07},
- url = {http://arxiv.org/abs/0802.3478}}
-
-@inProceedings{Paine:Excelsior05,
- author = {Jocelyn Paine},
- title = {Exelsior: Bringing the Benefit of Modularisation to Excel},
- crossref={EUSPRIG05},
- url = {http://arxiv.org/abs/0803.2027}}
-
-@article{KreieEtAl:ApplicationsDevelopmentByEndUsers00,
- author = {Jennifer Kreie and
- Timothy Paul Cronan and
- John Pendley and
- Janet S. Renwick},
- title = {Applications development by end-users: can quality be improved?},
- journal = {Decision Support Systems},
- volume = {29},
- number = {2},
- year = {2000},
- pages = {143--152},
- doi = {10.1016/S0167-9236(00)00068-3},
- ee = {http://dx.doi.org/10.1016/S0167-9236(00)00068-3},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{McGillKlobas_SpreadsheetKnowledge05,
- author = {Tanya J. McGill and
- Jane E. Klobas},
- title = {The role of spreadsheet knowledge in user-developed application
- success},
- journal = {Decision Support Systems},
- volume = {39},
- number = {3},
- year = {2005},
- pages = {355--369},
- ee = {http://dx.doi.org/10.1016/j.dss.2004.01.002},
- doi = {10.1016/j.dss.2004.01.002},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-
-@InProceedings{NovickWard:WhatUsersSayTheyWantInDoc06,
- author = {David G. Novick and Karen Ward},
- title = {What Users Say They Want in Documentation},
- booktitle = {SIGDOC'06 Conference Proceedings},
- year = 2006,
- pages = {84--91},
- publisher = {ACM}}
-
-
-@Book{Kearsley:OnlineHelp88,
- author = {G. Kearsley},
- title = {Online help systems: Design and implementation},
- publisher = {Intellect Press},
- address = {Ablex},
- year = 1988}
-
-@inproceedings{CoviAckermann:SuchEasyToUseSystems,
- author = {L. Covi and M. Ackermann},
- title = {Such easy-to-use systems! How organizations shape the design and use of online help systems},
- booktitle = {Proceedings of conference on Organizational computing systems},
- year = {1995},
- pages = {280--288},
- location = {Milpitas, CA},
- }
-
-@ARTICLE{Panko:WhatWeKnowAboutSpreadsheetErrors98,
- author = {Raymond R. Panko},
- title = {What we know about spreadsheet errors},
- journal = {Journal of End User Computing},
- year = {1998},
- volume = {10},
- pages = {15--21}}
-@Article{Panko:WhatWeKnowAboutSpreadsheetErrors08,
- author = {Raymond R. Panko},
- title = {What We Know About Spreadsheet Errors},
- journal = {Journal of End User Computing's Special issue on Scaling Up End User Development},
- volume = 10,
- number = 2,
- pages = {15--21},
- year = {2008},
- note = {Published 1998, revised May 2008},
- url = {http://panko.shidler.hawaii.edu/My%20Publications/Whatknow.htm}}
-
-@article{GrossmanOzluk:ParadigmForSpshtEngineering,
- author = {Thomas A. Grossman and
- Ozgur Ozluk},
- title = {A Paradigm for Spreadsheet Engineering Methodologies},
- journal = {CoRR},
- volume = {abs/0802.3919},
- year = {2008},
- ee = {http://arxiv.org/abs/0802.3919},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@article{Collins:EmbeddedSpshtModelling09,
- author = {Angela Collins},
- title = {Embedded Spreadsheet Modelling},
- journal = {CoRR},
- volume = {abs/0908.1191},
- year = {2009},
- ee = {http://arxiv.org/abs/0908.1191},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-
-@Book{Gentle:ConversationAndCommunication,
- author = {Anne Gentle},
- title = {Conversation and Communication},
- subtitle = {The Social Web for Documentation},
- publisher = {Xml Press},
- year = {2009}}
-
-@InProceedings{BraunEtAl:OntologyMaturingProcessModel,
- author = {Braun,Simone and Schmidt,Andreas and Walter,Andreas and Zacharias,Valentin},
- title = {Using the Ontology Maturing Process Model for Searching, Managing and Retrieving Resources with Semantic Technologies},
- booktitle = {OTM 2008, Part II},
- number = {5332},
- series = {LNCS},
- pages = {1567--1577},
- year = 2008,
- editor = {Meersman, R. and Tari,Z.},
- publisher = {Springer-Verlag}}
-
-@article{BHB:LinkedDataStory09,
- author = {Christian Bizer and Tom Heath and Tim Berners-Lee},
- title = {{Linked Data} -- The Story So Far},
- journal = {International Journal on Semantic Web and Information Systems},
- year = {2009},
- note = {Special Issue on Linked Data}}
-
-@inproceedings{VKRL:LinkedOpenNumbers10,
- author = {Denny Vrande{\v c}i{\'c} and Markus Kr{\"o}tzsch and Sebastian Rudolph and Uta L{\"o}sch},
- title = {Leveraging Non-Lexical Knowledge for the {Linked Open Data Web}},
- editor = {Rodolphe H{\'e}liot and Antoine Zimmermann},
- booktitle = {The Fifth RAFT, the yearly
-bilingual publication on nonchalant research},
- year = 2010,
- url = {http://km.aifb.kit.edu/projects/numbers/linked_open_numbers.pdf}}
-
-@online{LOD-cloud,
- title = {About the {Linking Open Data} dataset cloud},
- author = {Richard Cyganiak and Anja Jentzsch},
- url = {http://lod-cloud.net},
- urldate = {2014-08-06},
- date = {2011-09-19}}
-
-@online{DLMF,crossref={DLMF:base}}
-@misc{DLMF:web,crossref={DLMF:base}}
-@misc{DLMF:base,
- title = {{Digital} {Library} of {Mathematical} {Functions}},
- editor = {{National Institute of Standards and Technology (NIST)}},
- url = {http://dlmf.nist.gov},
- date = {2010-05-07}}
-
-@manual{SCSCP,
- author = {Sebastian Freundt and Peter Horn and Alexander Konovalov and Steve Linton and Dan Roozemond},
- title = {{Symbolic Computation Software Composability Protocol (SCSCP)}},
- version = {1.3},
- date = {2009-03-27},
- url = {http://www.symcomp.org/SCSCP}}
-
-@Book{Mader:wikipatterns07,
- author = {Stewart Mader},
- title = {wikipatterns},
- publisher = {Wiley},
- year = {2007},
- month = dec,
- isbn = {978-0470223628}}
-
-@Online{wikipatterns:seed,
- author = {Stewart Mader and others},
- title = {Seed it with content},
- url = {http://www.wikipatterns.org/display/wikipatterns/Seed+it+with+content},
- urldate = {2010-10-20},
- crossref = {wikipatterns}}
-
-@online{wikipatterns,
- title = {wikipatterns.com},
- url = {http://www.wikipatterns.com},
- urldate = {2010-06-25}}
-
-@article{HassenzahlWessler:RepGridTechnology00,
-journal = {International Journal of Human-Computer Interaction},
-series = {3},
-author = {Hassenzahl, Marc and Wessler, Rainer},
-title = {Capturing Design Space From a User Perspective: The Repertory Grid Technique Revisited},
-issn = {1044-7318},
-address = {Taylor \& Francis},
-pages = {441--459},
-volume = {12},
-year = {2000},
-url = {http://www.informaworld.com/10.1207/S15327590IJHC1203&4_13}}
-
-@TechReport{Hausenblas:LinkedDataApp09,
- author = {Michael Hausenblas},
- title = {{Linked Data} Applications},
- institution = {Digital Enterprise Research Institute (DERI)},
- year = {2009},
- number = {2009--07--26},
- date = {2009-07-26}}
-
-@TechReport{TBL:HTandCERN90,
- author = {Tim Berners-Lee},
- title = {{HyperText} and {CERN}},
- institution = {CERN},
- year = {1990},
- month = may,
- url = {http://www.w3.org/Administration/HTandCERN.txt}}
-
-@Book{DavisHersh:MathematicalExperience81,
- author = {Philip J. Davis and Reuben Hersh},
- title = {The Mathematical Experience},
- publisher = {Birkh{\"a}user},
- year = {1981},
- address = {Boston}}
-
-@article{HalesEtAl:RevisionProofKepler09,
- author = {Thomas C. Hales and John Harrison and Sean McLaughlin and Tobias Nipkow and Steven Obua and Roland Zumkeller},
- title = {A Revision of the Proof of the Kepler Conjecture},
- eprint = {0902.0350v1},
- eprinttype = {arxiv},
- eprintclass = {math.MG},
- journal = {Discrete and Computational Geometry},
- year = 2010,
- pages = {1--34}}
-
-@online{TerryTaoBlog,
- title = {What's new},
- author = {Terence Tao},
- url = {http://terrytao.wordpress.com/},
- urldate = {2010-07-12}}
-
-@online{Gowers:MassiveCollabMath09,
- title = {Is massively collaborative mathematics possible?},
- author = {Timothy Gowers},
- url = {http://gowers.wordpress.com/2009/01/27/is-massively-collaborative-mathematics-possible/},
- urldate = {2010-08-11},
- date = {2009-01-27}}
-
-@online{Gowers:QuestionsOfProcedure09,
- title = {Questions of procedure},
- author = {Timothy Gowers},
- url = {http://gowers.wordpress.com/2009/02/01/questions-of-procedure/},
- urldate = {2010-08-11},
- date = {2009-02-01}}
-
-@online{Polymath1Wiki,
- title = {{Polymath1Wiki}},
- url = {http://michaelnielsen.org/polymath1/},
- urldate = {2010-07-12}}
-
-@online{PolymathPvsNP,crossref={PolymathPvsNP:base},
- urldate = {2010-11-03},
- date = {2010-09-17},
-}
-@misc{PolymathPvsNP:web,crossref={PolymathPvsNP:base},
-}
-@misc{PolymathPvsNP:base,
- title = {{Deolalikar P vs NP paper}},
- url = {http://michaelnielsen.org/polymath1/index.php?title=Deolalikar_P_vs_NP_paper&oldid=3654},
- year = 2010,
-}
-
-@online{PolymathBlog,crossref={PolymathBlog:base},
- urldate = {2010-07-12}}
-@misc{PolymathBlog:web,crossref={PolymathBlog:base},
-}
-@misc{PolymathBlog:base,
- title = {The polymath blog},
- url = {http://polymathprojects.org/},
-}
-
-@online{Tricki,
- title = {Tricki},
- subtitle = {a repository of mathematical know-how},
- url = {http://www.tricki.org},
- urldate = {2010-07-12}}
-
-@online{MathOverflow,crossref={MathOverflow:base},
- urldate = {2011-09-08}}
-@misc{MathOverflow:web,crossref={MathOverflow:base},
-}
-@misc{MathOverflow:base,
- title = {{MathOverflow}},
- url = {http://mathoverflow.net},
-}
-
-@online{StackOverflow,
- title = {{Stack Overflow}},
- url = {http://stackoverflow.com},
- urldate = {2010-09-13}}
-
-@Article{Baez:MathBlogs10,
- author = {John Baez},
- title = {Math Blogs},
- journal = {Notices of the {AMS}},
- year = {2010},
- pages = {333},
- month = mar,
- url = {http://www.ams.org/notices/201003/rtx100300333p.pdf}}
-
-@online{Birken:MathWikipedia08,
- author = {Philipp Birken},
- date = {2008-10-27},
- title = {Mathematik in der deutschsprachigen {Wikipedia}},
- url = {http://www.wias-berlin.de/events/insk/herbst08/birken.pdf},
- urldate = {2010-08-11},
- hyphenation = {ngerman}}
-
-@online{nCategoryCafe,crossref={nCategoryCafe:base},
- urldate = {2010-07-14}}
-@misc{nCategoryCafe:web,crossref={nCategoryCafe:base},
-}
-@misc{nCategoryCafe:base,
- title = {The n-{Category} {Caf{\'e}}},
- subtitle = {A group blog on math, physics and philosophy},
- url = {http://golem.ph.utexas.edu/category/},
-}
-
-@online{nLab,crossref={nLab:base},
- urldate = {2010-07-14}}
-@misc{nLab:web,crossref={nLab:base},
-}
-@misc{nLab:base,
- title = {{nLab}},
- url = {http://ncatlab.org/},}
-
-@online{HELM,
- title = {{HELM}},
- subtitle = {{Hypertextual Electronic Library of Mathematics}},
- url = {http://helm.cs.unibo.it},
- urldate = {2010-07-15}}
-
-@online{GtkMathView,
- author = {Luca Padovani},
- title = {{GtkMathView}},
- url = {http://helm.cs.unibo.it/mml-widget/},
- urldate = {2010-07-16}}
-
-@online{MoWGLI,
- title = {{MoWGLI (Mathematics on the Web -- Get it by Logic and Interfaces)}},
- url = {http://mowgli.cs.unibo.it/},
- urldate = {2010-07-15}}
-
-@online{ProgrammableWeb,
- title = {{ProgrammableWeb}},
- subtitle = {Mashups, {API}s, and the {Web} as {Platform}},
- url = {http://www.programmableweb.com},
- urldate = {2010-07-16}}
-
-@online{SMW+,
- title = {{SMW+} Semantic Enterprise Wiki},
- url = {http://wiki.ontoprise.de},
- urldate = {2010-07-17}}
-
-@online{ProofWiki,
- crossref={ProofWiki:base},
- url = {http://www.proofwiki.org},
- urldate = {2010-07-16}}
-
-@misc{ProofWiki:web,
- crossref={ProofWiki:base},
- howpublished = {\url{http://www.proofwiki.org}},
- note = {seen February 2012}}
-
-@misc{ProofWiki:base,
- title = {{ProofWiki}}}
-
-@online{Freebase,
- title = {{Freebase}},
- url = {http://www.freebase.com},
- urldate = {2010-07-17}}
-
-@Article{SS:HumanIntelligenceSemContentCreation10,
- author = {Katharina Siorpaes and Elena Simperl},
- title = {Human Intelligence in the Process of Semantic
-Content Creation},
- journal = {World Wide Web},
- year = {2010},
- volume = {13},
- pages = {33--59},
- publisher = {Springer}}
-
-@InProceedings{DDGMLMH:DataGovWikiLinkingGovData10,
- author = {Li Ding and Dominic DiFranzo and Alvaro Graves and James R. Michaelis and Xian Li and Deborah L. McGuinness and Jim Hendler},
- title = {Data-gov Wiki: Towards Linking Government Data},
- crossref = {LinkedAI2010}}
-
-@InProceedings{JHYVS:LinkedDataMerelyMoreData10,
- author = {Prateek Jain and Pascal Hitzler and Peter Z. Yeh and Kunal Verma and Amit P. Sheh},
- title = {Linked Data Is Merely More Data},
- crossref = {LinkedAI2010}}
-
-@book{LB:Groundswell08,
- author = {Charlene Li and Josh Bernoff},
- title = {Groundswell},
- subtitle = {Winning in a World Transformed by Social Technologies},
- year = {2008},
- publisher = {Harvard Business Press}}
-
-@phdthesis{Ortega:WikipediaQuantitative09,
- author = {Felipe Ortega},
- title = {Wikipedia: A quantitative analysis},
- school = {Universidad Rey Juan Carlos, Madrid},
- year = {2009}}
-
-@InCollection{sep-axiom-choice,
- author = {Bell, John L.},
- title = {The Axiom of Choice},
- booktitle = {The Stanford Encyclopedia of Philosophy},
- editor = {Edward N. Zalta},
- url = {http://plato.stanford.edu/archives/spr2009/entries/axiom-choice/},
- year = {2009},
- edition = {Spring 2009}}
-
-@InBook{GOS:WhatIsOntology09,
- author = {Nicola Guarino and Daniel Oberle and Steffen Staab},
- title = {What is an Ontology?},
- crossref = {SS:HandbookOntologies}}
-
-@Book{SS:HandbookOntologies,
- editor = {Steffen Staab and Rudi Studer},
- title = {Handbook on Ontologies},
- booktitle = {Handbook on Ontologies},
- publisher = {Springer Verlag},
- year = {2009},
- series = {International Handbooks on Information Systems},
- address = {Berlin/Heidelberg},
- doi = {10.1007/978-3-540-92763-3}}
-
-@Article{SBF:KnowledgeEngineering98,
- author = {Rudi Studer and V. Richard Benjamins and Dieter Fensel},
- title = {Knowledge Engineering: Principles and Methods},
- journal = {Data \& Knowledge Engineering},
- year = {1998},
- volume = {25},
- number = {1--2},
- pages = {161--198}}
-
-@Article{DLP:SocProcProofThmProg79,
- author = {De Millo, Richard A. and Richard J. Lipton and Alan J. Perlis},
- title = {Social Processes and Proofs of Theorems and Programs},
- journal = {Communications of the ACM},
- year = {1979},
- volume = {22},
- number = {5},
- pages = {271--280}}
-
-@Article{MGLU:CultAdaptMathEdu09,
- author = {Erica Melis and Giorgi Goguadze and Paul Libbrecht and Carsten Ullrich},
- title = {Culturally adapted mathematics education with {ActiveMath}},
- journal = {AI \& Society},
- year = {2009},
- volume = {24},
- number = {3},
- pages = {251--265}}
-
-@Online{Lurch,
- title = {Lurch},
- subtitle = {open-source mathematics validation software},
- url = {http://lurch.sourceforge.net},
- urldate = {2010-09-09}}
-
-@online{CNX:matheditor,
- title = {Connexions {MathML} Editor},
- url = {http://cnx.org/matheditor},
- urldate = {2012-03-31}}
-
-@online{CNX:MathML,
- author = {Sarah Coppins and Brent Hendricks},
- title = {{Content MathML} ({Connexions} Web Site)},
- url = {http://cnx.org/content/m9008/2.15/},
- urldate = {2011-05-01},
- date = {2005-11-02}}
-
-@online{CNX:TheIntermediateCNXML,
- author = {Ricardo Radaelli-Sanchez and Connexions},
- title = {The Intermediate {CNXML} ({Connexions} Web Site)},
- url = {http://cnx.org/content/m9006/2.22/},
- urldate = {2010-08-11},
- date = {2009-04-10}}
-
-@Book{Tanenbaum:ComputerNetworks03,
- author = {Andrew S. Tanenbaum},
- title = {Computer networks},
- publisher = {Pearson Education},
- year = {2003},
- edition = 4}
-
-@online{TEI:SIG:Ontologies,
- title = {{TEI} -- Ontologies {SIG}},
- url = {http://www.tei-c.org/Activities/SIG/Ontologies/},
- urldate = {2010-08-02}}
-
-@Article{GBOOY:OntologySummit2007,
- author = {Michael Gruninger and Olivier Bodenreider and Frank Olken and Leo Obrst and Peter Yim},
- title = {Ontology Summit 2007 -- Ontology, taxonomy, folksonomy: Understanding the distinctions},
- journal = {Applied Ontology},
- year = {2008},
- volume = {3},
- pages = {191--200},
- publisher = {IOS Press},
- doi = {10.3233/AO-2008-0052}}
-
-@Article{Dijkstra:CulturalGap,
- author = {Edsger W. Dijkstra},
- title = {On a Cultural Gap},
- journal = {Mathematical Intelligencer},
- year = {1986},
- volume = {8},
- number = {1},
- pages = {48--52}}
-
-@Article{BD:LittlewoodObituary78,
- author = {P. Bateman and H. Diamond},
- title = {{John E. Littlewood} (1885--1977)},
- subtitle = {An Informal Obituary},
- journal = {Mathematical Intelligencer},
- year = {1978},
- volume = {1},
- number = {1},
- pages = {28--33}}
-
-@Book{Nielsen:ReinventingDiscovery11,
- author = {Michael Nielsen},
- title = {Reinventing Discovery: The New Era of Networked Science},
- publisher = {Princeton University Press},
- year = {2011},
- isbn = {978-0691148908},
- pagetotal = 280,
-}
-
-@online{Nielsen:FutureOfScience08,
- author = {Michael Nielsen},
- title = {The Future of Science},
- date = {2008-07-17},
- url = {http://michaelnielsen.org/blog/the-future-of-science-2/}}
-
-@online{RDDL,
- url = {http://www.rddl.org/},
- urldate = {2010-08-07},
- date = {2002-02-18},
- authors = {Jonathan Borden and Tim Bray},
- title = {{Resource Directory Description Language (RDDL)}}}
-
-@Article{GN:MassCollabMath09,
- author = {Timothy Gowers and Michael Nielsen},
- title = {Massively collaborative mathematics},
- journal = {Nature},
- year = {2009},
- volume = {461},
- number = {15},
- pages = {879--881}}
-
-@Article{Miner:MathMLCommunication05,
- author = {Robert Miner},
- title = {The Importance of {MathML} to Mathematics Communication},
- journal = {Notices of the AMS},
- year = {2005},
- volume = {52},
- number = {5},
- pages = {532--538}}
-
-@online{Flot,
- url = {http://flot.googlecode.com},
- urldate = {2012-04-16},
- title = {flot -- Attractive {JavaScript} plotting for {jQuery}},}
-
-@online{MathML3-XSLT,
- url = {http://web-xslt.googlecode.com},
- urldate = {2012-03-31},
- title = {Example {XSLT} code for transforming {XML} languages for the web},
- date = {2012-03-29},
- author = {{W3C Math Working Group}}}
-
-@online{MathML-XSLT,
- url = {http://www.w3.org/Math/XSL/Overview-tech.html},
- urldate = {2010-08-09},
- title = {{XSLT} stylesheets for {MathML}},
- date = {2003-06-26},
- author = {{W3C Math Working Group}}}
-
-@online{OM2-XSLT,
- url = {http://www.openmath.org/standard/omxsl/},
- urldate = {2010-08-09},
- title = {{OM} 2 {Presentation} {MathML} {XSLT} test release},
- author = {{OpenMath Society}}}
-
-@Article{SK:OpenMathCompositionality00,
- author = {Andreas Strotmann and Ladislav Kohout},
- title = {{OpenMath}: Compositionality Achieved at Last},
- year = {2000},
- journal = {Bulletin of the ACM Special Interest Group on Symbolic and Automated Mathematics (SIGSAM)},
- volume = {34},
- number = {2},
- pages = {66--72}}
-
-@online{Robbins:SemanticMathML09,
- title = {Semantic {MathML}},
- author = {Andrew Robbins},
- url = {http://straymindcough.blogspot.com/2009/06/semantic-mathml.html},
- urldate = {2010-08-09},
- date = {2009-06-08}}
-
-@online{DeweyInfo,
- title = {Dewey Decimal Classification / Linked Data},
- editor = {OCLC Online Computer Library Center},
- url = {http://dewey.info/},
- urldate = {2011-12-17},
-}
-
-@online{SKOSWiki,
- title = {SKOS -- Semantic Web Standards},
- author = {Ivan Herman and Antoine Isaac and others},
- editor = {W3C},
- url = {http://www.w3.org/2001/sw/wiki/SKOS},
- urldate = {2011-12-17}}
-
-@inproceedings{SIRK:LCSHinSKOS08,
- title = {LCSH, SKOS and Linked Data},
- author = {Ed Summers and Antoine Isaac and Clay Redding and Dan Krech},
- booktitle = {Dublin Core},
- year = 2008,
- eprint = {0805.2855v3},
- eprinttype = {arxiv},
- eprintclass = {cs.DL}}
-
-@inproceedings{NKP:SCOSTaxonomy06,
- author = {Nevile, L. and Kateli, B. and Pulis, S.},
- title = {Simple Cultural Organisation System (SCOS) -- An Interoperable Cultural Taxonomy},
- editor = {J. Trant and D. Bearman},
- booktitle = {Museums and the Web 2006: Proceedings},
- WHATEVER = {Toronto: Archives & Museum Informatics},
- year = 2006,
- url = {http://www.archimuse.com/mw2006/papers/nevile/nevile.html}}
-
-@online{MADSRDF,
- url = {http://www.loc.gov/standards/mads/rdf/},
- title = {MADS/RDF Primer},
- note = {Status: Final Public Review Document},
- date = {2011-03-28},
-}
-
-@inproceedings{SP:SKOSinDR10,
- title = {The Use of SKOS Vocabularies in Digital Repositories: The DSpace Case},
- author = {Solomou, Georgia and Papatheodorou, Theodore},
- booktitle = {Semantic Computing (ICSC), 2010 IEEE Fourth International Conference on},
- year = 2010,
- pages = {542--547}
-}
-
-@online{cwm,
- author = {Tim Berners-Lee},
- title = {Cwm},
- subtitle = {a general purpose data processor for the semantic web},
- date = {2009-10-20},
- url = {http://www.w3.org/2000/10/swap/doc/cwm.html},
- urldate = {2010-08-10}}
-
-@online{FXSL,
- author = {Dimitre Novatchev},
- title = {FXSL -- the Functional Programming Library for XSLT},
- url = {http://fxsl.sourceforge.net/},
- urldate = {2010-09-24}}
-
-@online{EulerSharp,
- author = {De Roo, Jos},
- title = {{EulerSharp}},
- date = {2010-08-05},
- url = {http://eulersharp.sourceforge.net/},
- urldate = {2010-08-10}}
-
-@online{CwmBuiltins,
- title = {Built-in properties in {Cwm}},
- url = {http://www.w3.org/2000/10/swap/doc/CwmBuiltins},
- urldate = {2010-08-10}}
-
-@TechReport{Buswell:SWAD:D5.3,
- author = {Stephen Buswell},
- title = {{RDF/XML} Test cases for {RDF} Logic, Web Ontology and Maths content},
- year = {2001},
- institution = {Semantic Web Advanced Development for Europe (SWAD-Europe)},
- type = {{Deliverable}},
- number = {5.3b},
- url = {http://www.w3.org/2001/sw/Europe/reports/xml_test_cases/wp53.html}}
-
-@TechReport{CKCGK:QuerySemWebSPARQLRDFXML09,
- author = {Olivier Corby and Leila Kefi-Khelif and Hac{\`e}ne Cherfi and Fabien Gandon and Khaled Khelif},
- title = {Querying the Semantic Web of Data using SPARQL, RDF and XML},
- institution = {INRIA Sophia Antipolis},
- year = {2009},
- number = {6847},
- month = feb,
- url = {http://hal.inria.fr/docs/00/36/23/81/PDF/RR-6847.pdf}}
-
-@PhdThesis{Vrandecic:OntologyEvaluation10,
- author = {Denny Vrande{\v c}i{\'c}},
- title = {Ontology Evaluation},
- school = {Karlsruhe Institute of Technology (KIT)},
- year = {2010}}
-
-@PhdThesis{Keet:TheoryGranularity08,
- author = {C. Maria Keet},
- title = {A Formal Theory of Granularity},
- subtitle = {Toward enhancing biological and applied life sciences information systems with granularity},
- school = {Free University of Bozen-Bolzano},
- year = {2008}}
-
-@Article{KA:ReprReasTaxoPartWholeRel08,
- author = {C. Maria Keet and Alessandro Artale},
- title = {Representing and Reasoning over a Taxonomy of Part-Whole Relations},
- journal = {Applied Ontology},
- issuetitle = {Special Issue on Ontological Foundations for Conceptual Modelling},
- publisher = {IOS Press},
- year = {2008},
- volume = 3,
- number = {1--2},
- pages = {91--110}}
-
-@Online{Abrahamsen:ViTutorial,
- author = {Per Abrahamsen},
- title = {vi Tutorial},
- url = {http://www.dina.kvl.dk/~abraham/religion/vi-tutorial.html},
- urldate = {2010-08-18}}
-
-@techreport{SALTDocumentOntology,
- author = {Tudor Groza and Siegfried Handschuh},
- title = {SALT Document Ontology},
- url = {http://salt.semanticauthoring.org/ontologies/sdo},
- year = 2009,
- urldate = {2010-08-21},
- institution = {Digital Enterprise Research Institute (DERI)}}
-
-@techreport{SALTRhetoricalOntology,
- author = {Tudor Groza and Siegfried Handschuh},
- title = {SALT Rhetorical Ontology},
- url = {http://salt.semanticauthoring.org/ontologies/sro},
- year = 2009,
- urldate = {2010-08-21},
- institution = {Digital Enterprise Research Institute (DERI)}}
-
-@Misc{Groza:SALTAnnotationOntology,
- crossref = {SALTAnnotationOntology}}
-
-@techreport{SALTAnnotationOntology,
- author = {Tudor Groza and Siegfried Handschuh},
- title = {SALT Annotation Ontology},
- url = {http://salt.semanticauthoring.org/ontologies/sao},
- year = 2009,
- urldate = {2010-08-21},
- institution = {Digital Enterprise Research Institute (DERI)}}
-
-@techreport{SALTSyntax,
- author = {Tudor Groza},
- title = {SALT Syntax},
- url = {http://salt.semanticauthoring.org/salt-syntax.html},
- year = 2009,
- urldate = {2010-08-21},
- institution = {Digital Enterprise Research Institute (DERI)}}
-
-@Article{NSMRM:OntoReSTCollabWrit,
- author = {Hala Naja-Jazzar and Nishadi de Silva and Hala Skaf-Molli and Charbel Rahhal and Pascal Molli},
- title = {OntoReST: A RST-based Ontology for Enhancing Documents Content Quality in Collaborative Writing},
- journal = {INFOCOMP Journal of Computer Science},
- year = {2009},
- volume = {8},
- number = {3},
- pages = {1--10},
- month = sep}
-
-@inproceedings{DBLP:conf/kcap/DumontierV07,
- author = {Michel Dumontier and
- Natalia Villanueva-Rosales},
- title = {Three-Layer OWL Ontology Design},
- booktitle = {WoMO},
- year = {2007},
- crossref = {DBLP:conf/kcap/2007womo},
- bibsource = {DBLP, http://dblp.uni-trier.de}}
-
-@inproceedings{MoKu:OntoGraph11,
-author = {Till Mossakowski and Oliver Kutz},
-title = {{The Onto-Logical Translation Graph}},
-booktitle = {Modular Ontologies},
-pages = {94--109},
-eventtitle = {5\textsuperscript{th} International Workshop (WoMO-11)},
-eventdate = {2011-08-08/2011-08-12},
-venue = {Ljubljana, Slovenia},
-editor = {Oliver Kutz and Thomas Schneider},
-series = {Frontiers in Artificial Intelligence and Applications},
-number = 230,
-publisher = {IOS Press},
-month = sep,
-year = {2011}
-}
-
-@inproceedings{PanzerZeng:ClassificationSKOS,
- author = {Michael Panzer and Marcia Lei Zeng},
- title = {Modeling Classification Systems in SKOS: Some Challenges and Best-Practice Recommendations},
- booktitle = {Proceedings of the International Conference on Dublin Core and Metadata Applications},
- publisher = {Dublin Core Metadata Initiative},
- issn = {1939-1366},
- venue = {Seoul},
- year = {2009},
- url = {http://dcpapers.dublincore.org/index.php/pubs/article/view/974/0}
-}
-
-@Online{w3c:skos,
- title = {{SKOS} Simple Knowledge Organization System},
- url = {http://www.w3.org/2004/02/skos/},
- organization = {W3C},
- date = {2012-12-13},
- urldate = {2014-02-21},
-}
-
-@Online{QUDT,
- title = {{QUDT} -- Quantities, Units, Dimensions and Data Types in OWL and XML },
- author = {Ralph Hodgson and Paul J. Keller},
- url = {http://www.qudt.org},
- date = {2011-06-12},
- urldate = {2011-07-15},}
-
-@Online{SWEET,
- title = {Semantic Web for Earth and Environmental Terminology (SWEET)},
- url = {http://sweet.jpl.nasa.gov/},
- organization = {NASA},
- urldate = {2010-08-22}}
-
-@Book{Gancarz:UnixPhilosophy94,
- author = {Mike Gancarz},
- title = {The UNIX Philosophy},
- publisher = {Digital Press},
- year = {1994},
- isbn = {978-1555581237}}
-
-@Online{AdobeXMP,
- title = {Adobe -- XMP Developer Center},
- url = {http://www.adobe.com/devnet/xmp/},
- urldate = {2010-08-25},
- organization = {Adobe}}
-
-@Online{Rusbridge:SemanticallyRicherPDF09,
- author = {Chris Rusbridge},
- title = {Digital Curation Blog: Semantically richer PDF?},
- url = {http://digitalcuration.blogspot.com/2009/04/semantically-richer-pdf.html},
- date = {2009-04-06},
- urldate = {2010-08-25}}
-
-@Online{FoCaLiZe,
- title = {FoCaLiZe},
- url = {http://focalize.inria.fr/},
- urldate = {2010-08-29}}
-
-@InProceedings{GO:EngMath94,
- author = {Thomas R. Gruber and Gregory R. Olsen},
- title = {An Ontology for Engineering Mathematics},
- booktitle = {Fourth International Conference on Principles of Knowledge Representation and Reasoning},
- year = {1994},
- editor = {Jon Doyle and Piero Torasso and Erik Sandewall},
- publisher = {Morgan Kaufmann}}
-
-@Article{FLT:OntoEngMKMGeometry03,
- author = {Fr{\'e}d{\'e}ric F{\"u}rst and Michel Lecl{\`e}re and Francky Trichet},
- title = {Ontological engineering and mathematical knowledge management: A formalization of projective geometry},
- journal = {Annals of Mathematics and Artificial Intelligence},
- year = {2003},
- volume = {38},
- pages = {65--89},
- publisher = {Kluwer Academic Publishers}}
-
-@Article{WJF:AutoVerifSemiStrucDoc09,
- author = {Franz Weitl and Mirjana Jak{\v s}i{\' c} and Burkhard Freitag},
- title = {Towards the automated verification of semi-structures documents},
- journal = {Data \& Knowledge Engineering},
- year = {2009},
- volume = {68},
- pages = {292--317}}
-
-@Online{TeXDocC,
- title = {{\TeX} Document Center ({\TeX}DocC)},
- url = {http://www.texdocc.de},
- urldate = {2010-09-11}}
-
-@Book{Veen:ArtSciWebDesign01,
- author = {Jeffrey Veen},
- title = {The Art \& Science of Web Design},
- publisher = {New Riders},
- year = {2001},
- isbn = {0-7897-2370-0}}
-
-@Article{Urban:MoMMRetrievalFormalMath06,
- author = {Josef Urban},
- title = {MoMM -- Fast Interreduction and Retrieval in Large Libraries of Formalized Mathematics},
- journal = {International Journal on Artificial Intelligence Tools (IJAIT) },
- year = {2006},
- volume = {15},
- number = {1},
- pages = {109--130},
- doi = {10.1142/S0218213006002588}}
-
-@InProceedings{TSBM:OWLIntegrityConstraints10,
- author = {Jiao Tao and Evren Sirin and Jie Bao and Deborah L. McGuinness},
- title = {Extending OWL with Integrity Constraints},
- booktitle = {23\textsuperscript{rd} Workshop on Description Logics (DL)},
- year = {2010},
- editor = {Volker Haarslev and David Toman and Grant Weddell},
- number = {573},
- venue = {Waterloo, Canada},
- eventdate = {2010-05-04/2010-05-07},
- url = {http://ceur-ws.org/Vol-573},
- publisher = {CEUR-WS.org},
- address = {Aachen},
- series = {CEUR Workshop Proceedings}}
-
-@InProceedings{YWK:ActiveEssays09,
- author = {Takashi Yamamiya and Alessandro Warth and Ted Kaehler},
- title = {Active Essays on the Web},
- booktitle = {7\textsuperscript{th} Annual International Conference on Creating, Computing, Connecting, and Collaborating through Computing},
- year = {2009},
- venue = {Kyoto University, Kyoto, Japan},
- eventdate = {2009-01}}
-
-@Online{Jigs4OWL,
- author = {Mario Volke and Thorsten Liebig},
- title = {Jigs for OWL},
- url = {http://www.jigs4owl.com},
- urldate = {2010-09-19}}
-
-@Online{AdobeFlash,
- editor = {{Adobe Systems Inc.}},
- title = {Adobe Flash Platform},
- url = {http://www.adobe.com/flashplatform/},
- urldate = {2010-09-19}}
-
-@techreport{Zalewski:BrowserSecurity,
- author = {Michal Zalewski},
- title = {Browser Security Handbook},
- urldate = {2010-09-21},
- url = {http://browsersec.googlecode.com},
- institution = {Google},
- year = 2010}
-
-@TechReport{NASA:MCOMishaps99,
- title = {Mars Climate Orbiter Mishap Investigation Board Phase I Report},
- institution = {NASA},
- date = {1999-11-10},
- url = {ftp://ftp.hq.nasa.gov/pub/pao/reports/1999/MCO_report.pdf}}
-
-@Article{Oberg:MarsProbeOffCourse99,
- author = {James Oberg},
- title = {Why the Mars Probe went off Course},
- journal = {IEEE Spectrum},
- year = {1999},
- pages = {34--39},
- month = dec}
-
-@misc{VanillaForums:URL,crossref={VanillaForums:base},
- howpublished={\projectpageat{\url{http://vanillaforums.org}}},
- note={visited April 2011}}
-@Online{VanillaForums,crossref={VanillaForums:base},
- urldate = {2010-09-22}}
-@misc{VanillaForums:base,
- key = {VanillaForums},
- title = {Vanilla Forums},
- url = {http://vanillaforums.org}}
-
-@Online{Mocassin,
- author = {Nikita Zhiltsov},
- title = {Mocassin},
- subtitle = {Mathematical Semantic Search Engine},
- url = {http://mocassin.googlecode.com},
- urldate = {2010-09-22}}
-
-@Book{Goethe:MaximenReflexionen,
- author = {Johann Wolfgang von Goethe},
- editor = {Helmut Koopmann},
- title = {Maximen und Reflexionen},
- publisher = {Deutscher Taschenbuch Verlag},
- address = {M{\"u}nchen},
- series = {Kleine Bibliothek der Weltweisheit},
- number = 14,
- year = {2006},
- month = dec,
- origdate = {1833},
- hyphenation = {ngerman},
- isbn = {978-3-423-34378-7}}
-
-@TechReport{SIOCApplications,
- author = {Sergio Fern{\'a}ndez and Fr{\'e}d{\'e}rick Giasson and Kingsley Idehen},
- editor = {Uldis Boj{\=a}rs and John G. Breslin and Alexandre Passant},
- title = {SIOC Ontology: Application and Implementation Status},
- institution = {DERI Galway},
- date = {2009-05-15},
- url = {http://rdfs.org/sioc/applications/},
- urldate = {2010-09-24}}
-
-
-
-@PhdThesis{Garcia:SemWebDRM05,
- author = {Roberto Garc{\'i}a Gonz{\'a}lez},
- title = {A Semantic Web approach to Digital Rights Management},
- school = {Universitat Pompeu Fabra},
- year = 2005,
- address = {Barcelona},
- month = nov,
- url = {http://rhizomik.net/html/~roberto/thesis/}
-}
-
-@InProceedings{GC:SemIntRetMultimediaMD05,
- author = {Roberto Garc{\'i}a and {\`O}scar Celma},
- title = {Semantic Integration and Retrieval of Multimedia Metadata},
- editor = {Siegfried Handschuh and Thierry Declerck and Marja-Riitta Koivunen},
- booktitle = {Proceedings of the ISWC Workshop on Knowledge Markup and Semantic Annotation (SemAnnot)},
- year = 2005,
- number = 185,
- venue = {Galway, Ireland},
- eventdate = {2005-11-07},
- url = {http://ceur-ws.org/Vol-185},
- publisher = {CEUR-WS.org},
- address = {Aachen},
- series = {CEUR Workshop Proceedings}}
-
-@Online{zAgileWikidsmart,
- author = {zAgile},
- title = {Wikidsmart for Atlassian Confluence},
- url = {http://www.zagile.com/products/wikidsmart.html},
- urldate = {2010-10-03}}
-
-@Online{TikiWiki,
- title = {Tiki Wiki CMS Groupware},
- subtitle = {Software made the wiki way},
- url = {http://tikiwiki.org},
- urldate = {2010-10-03}}
-
-@Online{jsMath,
- author = {Davide P. Cervone},
- title = {{jsMath}},
- subtitle = {A Method of Including Mathematics in Web Pages},
- url = {http://www.math.union.edu/~dpvc/jsMath/},
- urldate = {2010-10-04}}
-
-@inproceedings{BW:KQWL10,
- author = {Fran\c{c}ois Bry and
- Klara A. Weiand},
- title = {Flavors of {KWQL}, a {Keyword} {Query} {Language} for a Semantic
- Wiki},
- booktitle = {SOFSEM},
- year = 2010,
- pages = {247--258},
- doi = {10.1007/978-3-642-11266-9_21},
- crossref = {SOFSEM2010}}
-
-@InProceedings{KPVNK:OntoArguSemWiki09,
- author = {Konstantinos Kotis and Andreas Papasalourous and George A. Vouros and Pappas Nikolaos and Zoumpatianos Konstantinos},
- title = {e-Class in Ontology Engineering: Integrating Ontologies to Argumentation and Semantic Wiki technology},
- booktitle = {Workshop on Intelligent and Innovative Support for Collaborative Learning Activities (WIISCOLA)},
- pages = {9--18},
- year = 2009,
- eventdate = {2009-06-08/2009-06-13},
- venue = {University of the Aegean, Rhodes, Greece},
- editor = {Jacqueline Bourdeau and Riichiro Mizoguchi and Seiji Isotani and Barbara Wasson and WeiQin Chen and Jelena Jovanovic}}
-
-@Online{DojoToolkit,
- editor = {{The Dojo Foundation}},
- title = {The {Dojo} Toolkit},
- url = {http://dojotoolkit.org/},
- urldate = {2010-10-05}}
-
-
-
-@Online{ProofWebWiki,
- title = {Wiki for formalized mathematics based on {ProofWeb}},
- url = {http://prover.cs.ru.nl/wiki.php},
- urldate = {2010-10-07}}
-
-@Online{MathematicaUsersOrg,
- author = {Luc Barthelet},
- title = {Mathematica-users Wiki Homepage},
- url = {http://www.mathematica-users.org},
- urldate = {2010-10-07}}
-
-@Online{SlugMath,
- author = {Martin Weissman},
- title = {{SlugMath} Wiki},
- url = {http://slugmath.ucsc.edu/mediawiki/},
- urldate = {2010-10-07}}
-
-@InProceedings{Kaplan:MathNetPage,
- author = {Michael Kaplan},
- title = {{Math-Net} Means Not Just a Page!},
- pages = {95--99},
- crossref = {ICM2002}}
-
-@InProceedings{Sperber:MathNetInternational,
- author = {Wolfram Sperber},
- title = {{Math-Net} International and the {Math-Net} Page},
- pages = {169--177},
- crossref = {ICM2002}}
-
-@inproceedings{DalitzSN01,
- author = {Wolfgang Dalitz and
- Wolfram Sperber and
- Winfried Neun},
- title = {{Math-Net}, a model for information and communication systems
- in sciences},
- booktitle = {EUNIS},
- year = 2001,
- pages = {140--145},
- crossref = {eunis2001}}
-
-@Online{MathNet,
- editor = {{International Mathematical Union (IMU)}},
- title = {{Math-Net}},
- subtitle = {an International Information and Communication System},
- url = {http://www.math-net.org},
- urldate = {2010-10-07}}
-
-@PhdThesis{Schatten:LangAutopoiesisSemWiki09,
- author = {Markus Schatten},
- title = {Programming Languages for Autopoiesis Facilitating Semantic Wiki Systems},
- school = {University of Zagreb},
- year = 2009}
-
-@Online{Paux,
- editor = {{PAUX Technologies GmbH}},
- title = {{PAUX Technologies}},
- url = {http://paux.de},
- urldate = {2010-10-10}}
-
-@Online{OpenMathTrac,
- title = {{OpenMath} 3 {Trac}},
- url = {http://trac.mathweb.org/OM3},
- urldate = {2010-10-10}}
-
-@Online{OpenMathJira,
- title = {{OpenMath} {Jira}},
- url = {http://jira.activemath.org/browse/OM},
- urldate = {2010-10-11}}
-
-@Book{Oppenheim:QuestionnaireDesign00,
- author = {A. N. Oppenheim},
- title = {Questionnaire Design, Interviewing and Attitude Measurement},
- publisher = {Pinter Publishers},
- year = 1992,
- address = {London}}
-
-@Book{Wood:LinkingEnterpriseData10,
- editor = {David Wood},
- title = {Linking Enterprise Data},
- publisher = {Springer},
- edition = 1,
- year = 2010,
- isbn = {978-1-4419-7664-2}}
-
-@TechReport{TS:SmallEvalSemWebApp08,
- author = {Diman Todorov and Bernhard Schandl},
- title = {Small-Scale Evaluation of Semantic Web-based Applications},
- institution = {Universit{\"a}t Wien},
- year = 2008,
- number = 20080704,
- month = jul}
-
-@InProceedings{LS:FactorStructureSUS09,
- author = {James R. Lewis and Jeff Sauro},
- title = {The Factor Structure of the System Usability Scale},
- booktitle = {Proceedings of the Human Computer Interaction International Conference (HCII)},
- eventdate = 2009,
- venue = {San Diego, CA, USA},
- year = 2009}
-
-@techreport{BUCS-TR-2010-012,
-author = {Andrei Lapets and Prakash Lalwani and Assaf Kfoury},
-title = {{Ontology Support for a Lightweight Formal Verification System}},
-institution = {CS Dept., Boston University},
-number = {BUCS-TR-2010-012},
-month = may,
-year = 2010,
-url = {http://www.cs.bu.edu/techreports/pdf/2010-012-aartifact-ontology.pdf}}
-
-@Article{SHARV:OntoModelMKMPharma10,
- author = {Pradeep Suresh and Shuo-Huan Hsu and Pavan Akkisetty and Gintaras V. Reklaitis and Venkat Venkatasubramanian},
- title = {{OntoMODEL}: Ontological Mathematical Modeling Knowledge Management in Pharmaceutical Product Development, 1: Conceptual Framework},
- journal = {Industrial \& Engineering Chemistry Research},
- year = 2010,
- volume = 49,
- number = 17,
- pages = {7758--7767},
- doi = {10.1021/ie100246w},
- publisher = {American Chemical Society}, }
-
-@PhdThesis{Billingsley:IntelligentBook08,
- author = {William H. Billingsley},
- title = {The Intelligent Book: technologies for intelligent and adaptive textbooks, focussing on Discrete Mathematics},
- school = {University of Cambridge},
- year = 2008,
- month = jun,
- url = {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-719.pdf}}
-
-@InProceedings{MWA:PedagogicUsabilityeLearning03,
- author = {Erica Melis and Markus Weber and Eric Andr{\`e}s},
- title = {Lessons for (Pedagogic) Usability of {eLearning} Systems},
- booktitle = {Proceedings of World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education},
- pages = {281--284},
- year = 2003,
- eventdate = 2003,
- venue = {Phoenix, AZ, USA},
- location = {Chesapeake, VA, USA},
- editor = {A. Rossett},
- publisher = {AACE}}
-
-@InProceedings{FFBS:CollCommWisIntSocSearchNav07,
- author = {Jill Freyne and Rosta Farzan and Peter Brusilovsky and Barry Smyth and Maurice Coyle},
- title = {Collecting community wisdom: integrating social search \& social navigation},
- booktitle = {Proceedings of the 12\textsuperscript{th} international conference on Intelligent user interfaces (IUI)},
- pages = {52--61},
- year = 2007,
- address = {New York, NY, USA},
- publisher = {ACM}}
-
-@Online{Ogbuji:XMLModeling05,
- author = {Uche Ogbuji},
- title = {Thinking {XML}: State of the art in {XML} modeling},
- subtitle = {What do developers need to know about the various approaches to semantic transparency?},
- url = {http://www.ibm.com/developerworks/xml/library/x-think30.html},
- urldate = {2010-10-27},
- date = {2005-03-11}}
-
-@InProceedings{KKKT:MathMLContentEditorXfy08,
- author = {Takayuki Kawata and Masaaki Kataoka and Hiroshi Kai and Yasushi Tamura},
- title = {A {MathML} content markup editor on the xfy},
- crossref = {ACA2008}}
-
-@Online{ErinnerungenSchwaenzl,
- author = {Judith Pl{\"u}mer},
- title = {{Erinnerungen an Prof.\ Dr.\ Schw{\"a}nzl}},
- year = 2004,
- hyphenation = {ngerman},
- url = {http://d-mathnet.preprints.org/research/wissinfo/NachrufRS.html},
- urldate = {2010-11-06},
-}
-
-
-
-@Online{PMLPrimer,
- author = {Deborah L. McGuinness and Paulo Pinheiro da Silva and Li Ding},
- title = {{Proof Markup Language (PML)} Primer},
- url = {http://inference-web.org/2007/primer/},
- date = 2007,
- urldate = {2010-11-10},
-}
-
-@InProceedings{MDSC:PML2ModularExplanationLingua07,
- author = {Deborah L. McGuinness and Li Ding and Paulo Pinheiro da Silva and Cyntha Chang},
- title = {{PML} 2: A Modular Explanation Interlingua},
- booktitle = {Proceedings of the AAAI Workshop on Explanation-Aware Computing (ExaCt)},
- year = {2007},
- eventdate = {2007-07-22/2007-07-23},
- venue = {Vancouver, British Columbia, Canada},
- editor = {Thomas Roth-Berghofer and Stefan Schulz and David B. Leake},
- url = {http://www.aaai.org/Papers/Workshops/2007/WS-07-06/WS07-06-008.pdf}
-}
-
-@Online{DBLP-LOD,
- title = {D2R Server publishing the DBLP Bibliography Database},
- url = {http://dblp.l3s.de/d2r/},
- urldate = {2010-11-15},
-}
-
-@InProceedings{Libbrecht:GeoSkillsOnto08,
- author = {Paul Libbrecht},
- title = {Cross curriculum search through the GeoSkills Ontology},
- booktitle = {Proceedings of the 2\textsuperscript{nd} International Workshop on Search and Exchange of e-le@rning Material (SE@M), located at EC-TEL-2008},
- eventdate = {2008-09-17},
- venue = {Maastricht, Netherlands},
- year = {2008},
- editor = {D. Massart and J.-N. Colin and F. Van Asche and M. Wolpers},
- url = {http://ceur-ws.org/Vol-385},
- publisher = {CEUR-WS.org},
- address = {Aachen},
- series = {CEUR Workshop Proceedings}}
-
-
-
-
-
-@article{MRR:ChemXML4Schema03,
- author = {Peter Murray-Rust and Henry S. Rzepa},
- title = {Chemical Markup, {XML}, and the {World Wide Web}. 4. {CML} {Schema}},
- journal = {Journal of Chemical Information and Computer Sciences},
- year = 2003,
- number = 43,
- pages = {757--772},
- publisher = {American Chemical Society},
- doi = {10.1021/ci0256541},
-}
-
-@Online{Adams:SemanticChemistry09,
- author = {Nico Adams},
- title = {Semantic Chemistry},
- url = {http://semanticweb.com/semantic-chemistry_b10684},
- urldate = {2010-11-26},
- date = {2009-01-14},
-}
-
-@PhdThesis{Raimond:DistMusInfSys08,
- author = {Yves Raimond},
- title = {A Distributed Music Information System},
- school = {Queen Mary, University of London},
- year = {2008},
- month = nov,
- url = {http://moustaki.org/phd/},
-}
-
-@Online{MusicXML20,
- editor = {{Recordare LLC}},
- title = {{MusicXML} 2.0 Specification},
- url = {http://www.recordare.com/musicxml/specification},
- urldate = {2010-11-26},
-}
-
-@InProceedings{NS:FramReprProcMath10,
- author = {Arnold Neumaier and Peter Schodl},
- title = {A Framework for Representing and Processing Arbitrary Mathematics},
- booktitle = {Proceedings of the International Conference on Knowledge Engineering and Ontology Development},
- pages = {476--479},
- keywords = {lamapunbibs},
- year = {2010},
-}
-
-@inProceedings{KN:DynGenPar11,
- title = {A Dynamic Generalized Parser for Common Mathematical Language},
- author = {Kevin Kofler and Arnold Neumaier},
- year = {2011},
- crossref = {CICM11WIP},
- keywords={lamapunbibs}}
-
-
-@online{Stoll:notes:online,
- title = {Lecture Notes of Courses Taught at Jacobs University},
- author = {Michael Stoll},
- url = {http://www.faculty.iu-bremen.de/stoll/schrift.html#JacobsNotes},
- urldate = {2011-08-23}
-}
-
-
-
-@Misc{NS:SemanticTuringMachine09,
- author = {Arnold Neumaier and Peter Schodl},
- title = {A Semantic {Turing} Machine},
- note = {Manuscript},
- year = {2009},
- keywords = {lamapunbibs},
- url = {http://www.mat.univie.ac.at/~neum/ms/STM.pdf}
-}
-
-@techreport{JEM:CriteriaEContentQuality07,
- author = {Olga Caprotti and Mika Sepp{\"a}l{\"a}},
- title = {Evaluation criteria for {eContent} quality},
- date = {2007-11-01},
- institution = {JEM},
- type = {Deliverable},
- number = {D2.1},
- url = {http://jem-thematic.net/en/D2.1}}
-
-@techreport{JEM:ReviewProcess07,
- author = {Olga Caprotti and Mika Sepp{\"a}l{\"a}},
- title = {Establishment of Review Process and Related Criteria for Assessment},
- date = {2007-11-01},
- institution = {JEM},
- type = {Deliverable},
- number = {D2.2},
- url = {http://jem-thematic.net/en/D2.2}}
-
-@Article{BosEtAl:TaxonomyCollaboratories07,
- author = {Nathan Bos and Ann Zimmermann and Judith Olson and Jude Yew and Jason Yerkie and Erik Dahl and Gary Olson},
- title = {From shared databases to communities of practice: A taxonomy of collaboratories},
- journal = {Journal of Computer-Mediated Communication},
- volume = 12,
- number = 2,
- year = {2007},
- note = {article 16},
- url = {http://jcmc.indiana.edu/vol12/issue2/bos.html},
-}
-
-@Article{RGS:myExperimentVirtResEnv09,
- author = {De Roure, David and Carole Goble and Robert Stevens},
- title = {The design and realisation of the \textsuperscript{my}Experiment virtual research environment for social sharing of workflows},
- journal = {Future Generation Computer Systems},
- year = {2007},
- volume = {25},
- pages = {561--567},
- doi = {10.1016/j.future.2008.06.010}
-}
-
-@incollection{Kepser:TuringCompleteXSLTXQuery04,
- author = "Stephan Kepser",
- title = "A Simple Proof of the Turing-Completeness of {XSLT} and {XQuery}",
- booktitle = "Extreme Markup Languages",
- editor = "Tommie Usdin",
- year = 2004
-}
-
-@Article{Davis:PerceivedUsefulness89,
- author = {Fred D. Davis},
- title = {Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology},
- journal = {MIS Quarterly},
- year = {1989},
- volume = {13},
- number = {3},
- pages = {319--340},
-}
-
-@Online{SemanticWebChallenge,
- title = {Semantic Web Challenge},
- url = {http://challenge.semanticweb.org},
- urldate = {2011-05-11},
-}
-
-@Online{Elsevier:AppsForScience11,
- editor = {Elsevier},
- title = {Apps for Science competition},
- url = {http://www.appsforscience.com},
- year = {2011},
- urldate = {2011-05-11},
-}
-
-@Online{Elsevier:EPC11,
- editor = {Elsevier},
- title = {Executable Paper Grand Challenge},
- subtitle = {Knowledge enhancement in the computational sciences},
- url = {http://www.executablepapers.com},
- year = {2011},
- urldate = {2011-01-10},
-}
-
-@Online{Elsevier:GrandChallenge09,
- editor = {Elsevier},
- title = {The Elsevier Grand Challenge},
- subtitle = {Knowledge enhancement in the life sciences},
- url = {http://www.elseviergrandchallenge.com},
- year = {2009},
- urldate = {2011-01-10},
-}
-
-@Article{GarciaEtAl:LivingDocument10,
- author = {Garc{\'i}a Castro, Alexander and Alberto Labarga and Garc{\'i}a Castro, Leyla Jael and Olga L. Giraldo and C{\'e}sar Monta{\~n}a and John A. Bateman},
- title = {Semantic Web and Social Web heading towards Living Documents in the Life Sciences},
- journal = {Journal of Web Semantics},
- publisher = {Elsevier},
- year = {2010},
- volume = {8},
- number = {2--3},
- pages = {155--162},
-}
-
-@Article{Thurston:ProofProgressMath94,
- author = {William P. Thurston},
- title = {On Proof and Progress in Mathematics},
- journal = {Bulleting of the American Mathematical Society},
- year = {1994},
- volume = {30},
- number = {2},
- pages = {161--177},
-}
-
-@Online{CommunityEquity,
- editor = {{Oracle (formerly Sun Microsystems)}},
- title = {Community Equity},
- url = {http://community-equity.org},
- urldate = {2011-01-29},
-}
-
-@book{Halloran:MathDiscourse,
- title = {{Mathematical discourse: language, symbolism and visual images}},
- author = {O'Halloran, K.L.},
- isbn = {9780826468574},
- lccn = {2005274960},
- url = {http://books.google.com/books?id=5LsAJaBRKRcC},
- year = {2005},
- publisher = {Continuum}
-}
-
-@book{Bateman:MultiModalityGenre,
- title = {{Multimodality and Genre: A Foundation for the Systematic Analysis of Multimodal Documents}},
- author = {John Bateman},
- isbn = {0230002560},
- year = {2008},
- publisher = {Palgrave Macmillan}
-}
-
-@Unpublished{ZanibbiBlostein:RecRetMath,
- author = {Richard Zanibbi and Dorothea Blostein},
- title = {Recognition and Retrieval of Mathematics},
- note = {submitted to International Journal of Document Analysis and Recognition},
- year = 2011}
-
-@Book{Azzouni:MetaphysicalMythsMathematicalPractice,
- author = {Jody Azzouni},
- title = {Metaphysical Myths, Mathematical Practice: The Ontology and Epistemology of the Exact Sciences},
- publisher = {Cambridge University Press},
- isbn = {0521062195},
- year = 1994
-}
-
-@Book{Shapiro:ThinkingAboutMathematics,
- author = {Stewart Shapiro},
- title = {Thinking about mathematics: The philosophy of mathematics},
- publisher = {Oxford University Press},
- isbn = {9780192893062},
- year = 2000
-}
-
-@Article{RaskinPan:SWEET04,
- author = {Robert G. Raskin and Michael J. Pan},
- title = {Knowledge representation in the semantic web for {Earth} environmental terminology ({SWEET})},
- journal = {Computers \& Geosciences},
- year = {2005},
- volume = {31},
- pages = {1119--1125},
- doi = {10.1016/j.cageo.2004.12.004}
-}
-
-@ARTICLE{OSullivan:MakingSenseOfRCS,
- author = {Bryan O'Sullivan},
- title = {Making Sense of Revision-Control Systems},
- journal = {Communications of the Association for Computing Machinery (CACM)},
- year = {2009},
- volume = {52},
- number = {9},
- pages = {57--62}}
-
-@inproceedings{drupal:rdf,
- author = {St{\'e}phane Corlosquet and Renaud Delbru and Tim Clark and Axel Polleres and Stefan Decker},
- title = {{Produce and Consume Linked Data with Drupal!}},
- pages = {763--778},
- crossref={iswc2009}}
-
-@online{google:maps,
- title = {{Google Maps}},
- url = {http://maps.google.com},
- urldate = {2011-01-10}}
-
-@Book{AschenbeckBooks,
- title = {Landh{\"a}user und Villen in Bremen},
- author = {Nils Aschenbeck and Ilse Windhoff},
- publisher = {{Aschenbeck Verlag}},
- year = {2009},
- address = {Bremen},
-}
-
-
-@inproceedings{Sloane:MathWiki11,
- title = {The {On-Line} {Encyclopedia} of {Integer} {Sequences}: From Punched Cards to Wiki in 46 Years},
- author = {Neil J. A. Sloane},
- pages = {1},
- note = {Invited talk},
- url = {http://ceur-ws.org/Vol-767/paper-01.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Alama:MathWiki11,
- title = {Metadata for a wiki of formalized mathematics},
- author = {Jesse Alama},
- pages = {2--5},
- url = {http://ceur-ws.org/Vol-767/paper-02.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Corneli:MathWiki11,
- title = {The {PlanetMath} Encyclopedia},
- author = {Joseph Corneli},
- pages = {6--12},
- url = {http://ceur-ws.org/Vol-767/paper-03.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Doob:MathWiki11,
- title = {A Linear Algebra Wiki},
- author = {Michael Doob},
- pages = {13--18},
- url = {http://ceur-ws.org/Vol-767/paper-04.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{GrundmannEtAl:MathWiki11,
- title = {The Web of Mathematical Models: A Schema-based, Wiki-like, Interactive Platform},
- author = {Thomas Grundmann and Jean-Marie Gaillourdet and Karsten Schmidt and Arnd Poetzsch-Heffter and Stefan De{\ss}loch and Martin Memmel},
- pages = {19--27},
- url = {http://ceur-ws.org/Vol-767/paper-05.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{KurodaNamiki:MathWiki11,
- title = {Wiki Authoring and Semantics of Mathematical Document Structure},
- author = {Hiraku Kuroda and Takao Namiki},
- pages = {28--37},
- url = {http://ceur-ws.org/Vol-767/paper-06.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Reichelt:MathWiki11,
- title = {Ideas for a {MathWiki} Editor},
- author = {Sebastian Reichelt},
- pages = {38--44},
- url = {http://ceur-ws.org/Vol-767/paper-07.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{TankinkMcKinna:MathWiki11,
- title = {Dynamic Proof Pages},
- author = {Carst Tankink and James McKinna},
- pages = {45--48},
- url = {http://ceur-ws.org/Vol-767/paper-08.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Urban:MathWiki11,
- title = {Content-based encoding of mathematical and code libraries},
- author = {Josef Urban},
- pages = {49--53},
- url = {http://ceur-ws.org/Vol-767/paper-09.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Westwood:MathWiki11,
- title = {{ProofWiki}},
- subtitle = {A Structured Approach to Mathematical Presentation},
- author = {Matt Westwood},
- pages = {54--62},
- url = {http://ceur-ws.org/Vol-767/paper-10.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{Worden:MathWiki11,
- title = {{WorkingWiki}: a MediaWiki-based platform for collaborative research},
- author = {Lee Worden},
- pages = {63--73},
- url = {http://ceur-ws.org/Vol-767/paper-11.pdf},
- crossref = {MathWiki11},}
-
-@inproceedings{BoschMathiak:OCAS2011,
- title = {Generic Multilevel Approach Designing Domain Ontologies based on {XML} Schemas},
- author = {Thomas Bosch and Brigitte Mathiak},
- pages = {1--12},
- url = {http://ceur-ws.org/Vol-809/paper-01.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{FrosterusEtAl:OCAS2011,
- title = {Extending Ontologies with Free Keywords in a Collaborative Annotation Environment},
- author = {Matias Frosterus and Eero Hyv{\"o}nen and Mika Wahlroos},
- pages = {13--18},
- url = {http://ceur-ws.org/Vol-809/paper-02.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{GarciaGarcia:OCAS2011,
- title = {Folksonomies behind the scenes},
- author = {Garc{\'i}a Castro, Leyla Jael and Alexander Garc{\'i}a},
- pages = {19--24},
- url = {http://ceur-ws.org/Vol-809/paper-03.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{JuppEtAl:OCAS2011,
- title = {Ontologies Come of Age with the {iKUP} Browser},
- author = {Simon Jupp and Julie Klein and Panagiotis Moulos and Joost Schanstra and Robert Stevens},
- pages = {25--28},
- url = {http://ceur-ws.org/Vol-809/paper-04.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{KozakiEtAl:OCAS2011,
- title = {Dynamic is-a Hierarchy Generation for User Centric Semantic Web},
- author = {Kouji Kozaki and Keisuke Hihara and Riichiro Mizoguchi},
- pages = {29--40},
- url = {http://ceur-ws.org/Vol-809/paper-05.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{PessalaEtAl:OCAS2011,
- title = {{MUTU}: An Analysis Tool for Maintaining a System of Hierarchically Linked Ontologies},
- author = {Sini Pessala and Eero Hyv{\"o}nen and Matias Frosterus and Jouni Tuominen and Osma Suominen and Katri Sepp{\"a}l{\"a}},
- pages = {41--47},
- url = {http://ceur-ws.org/Vol-809/paper-06.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{RamosEtAl:OCAS2011,
- title = {Ontology-Based Features Recognition and Design Rules Checker System},
- author = {Luis Ramos and Alexander Garc{\'i}a and John Bateman},
- pages = {48--59},
- url = {http://ceur-ws.org/Vol-809/paper-07.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{ThakkerEtAl:OCAS2011,
- title = {Socio-technical Ontology Development for Modelling Sensemaking in Heterogeneous Domains},
- author = {Dhavalkumar Thakker and Fan Yang-Turner and Lydia Lau and Vania Dimitrova},
- pages = {60--71},
- url = {http://ceur-ws.org/Vol-809/paper-08.pdf},
- crossref = {OCAS2011},}
-
-@inproceedings{TudoracheEtAl:OCAS2011,
- title = {{iCAT}: A Collaborative Authoring Tool for {ICD-11}},
- author = {Tania Tudorache and Csongor I Nyulas and Natasha F. Noy and Timothy Redmond and Mark Musen},
- pages = {72--74},
- url = {http://ceur-ws.org/Vol-809/paper-09.pdf},
- crossref = {OCAS2011},}
-
-@TECHREPORT{FournyEtAl:TimeMachineForXML,
- author = {Ghislain Fourny and Daniela Florescu and Donald Kossmann},
- institution = {ETH Z{\"u}rich, Switzerland},
- title = {A Time Machine for {XML}},
- year = {2011},
- type = {Technical Report},
- note = {available at \url{http://www.dbis.ethz.ch/research/publications/timemachinexml.pdf}}}
-
-@article{Giffin:ChangePropagationInTechnSystems2008,
-title = {Change propagation in large technical systems},
-author = {Monica Lee Giffin},
-publisher = {Massachusetts Institute of Technology},
-year = {2008},
-URL = {http://hdl.handle.net/1721.1/42351},
-}
-
-@article{ClarksonEtAl:PredictingChangePropagation2004,
-author = {P. John Clarkson and Caroline Simons and Claudia Eckert},
-collaboration = {},
-title = {Predicting Change Propagation in Complex Design},
-publisher = {ASME},
-year = {2004},
-journal = {Journal of Mechanical Design},
-volume = {126},
-number = {5},
-pages = {788--797},
-keywords = {helicopters; product design; aerospace industry; CAD},
-url = {http://link.aip.org/link/?JMD/126/788/1},
-doi = {10.1115/1.1765117}
-}
-
-@article{GiffinEtAl:ChangePropagationInComplexTechnSystems2009,
-author = {Monica Giffin and Olivier de Weck and Gergana Bounova and Rene Keller and Claudia Eckert and P. John Clarkson},
-collaboration = {},
-title = {Change Propagation Analysis in Complex Technical Systems},
-publisher = {ASME},
-year = {2009},
-journal = {Journal of Mechanical Design},
-volume = {131},
-number = {8},
-eid = {081001},
-numpages = {14},
-pages = {081001},
-keywords = {design engineering; statistical analysis},
-url = {http://link.aip.org/link/?JMD/131/081001/1},
-doi = {10.1115/1.3149847}
-}
-
-@Online{DenkmalDatenbankBremen,
- editor = {{Landesamt f{\"u}r Denkmalpflege Bremen}},
- title = {Denkmaldatenbank},
- url = {http://194.95.254.61/denkmalpflege/index.htm},
- urldate = {2011-03-05},
- date = {2011-01-10},
- hyphenation = {ngerman}}
-
-@INPROCEEDINGS{Han:SupportingCIAinSE1996,
- author = {Jun Han},
- title = {Supporting Impact Analysis and Change Propagation in Software Engineering Environments},
- booktitle = {Proceedings of the Eighth IEEE International Workshop on Software Technology and Engineering Practice},
- year = {1996},
- pages = {172--182},
- publisher = {IEEE Computer Society}
-}
-
-
-
-@inproceedings{DahlbackEtAl:WizardOfOzStudies,
- author = {Dahlb{\"a}ck, Nils and J{\"o}nsson, Arne and Ahrenberg, Lars},
- title = {Wizard of Oz studies: why and how},
- booktitle = {Proceedings of the 1st international conference on Intelligent user interfaces},
- series = {IUI '93},
- year = {1993},
- isbn = {0-89791-556-9},
- location = {Orlando, Florida, United States},
- pages = {193--200},
- numpages = {8},
- url = {http://doi.acm.org/10.1145/169891.169968},
- doi = {10.1145/169891.169968},
- acmid = {169968},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {design and evaluation, dialogue, natural language interfaces},
-}
-
-@Online{MeasurementUnitsOntology,
- author = {Diego Berrueta and Luis Polo},
- title = {Measurement Units Ontology},
- url = {http://forge.morfeo-project.org/wiki_en/index.php?title=Measurement_Units_Ontology&oldid=12301},
- urldate = {2011-04-16},
- date = {2009-11-09},
-}
-
-@Online{LaTeXSearch,
- editor = {Springer},
- title = {{\LaTeX} Search},
- url = {http://www.latexsearch.com},
- urldate = {2011-04-16},
-}
-
-@book{Krantz:MathematicalApocryphaRedux,
- author = {Krantz, Steven},
- howpublished = {Paperback},
- isbn = {0883855542},
- month = sep,
- publisher = {The Mathematical Association of America},
- title = {Mathematical Apocrypha Redux: More Stories and Anecdotes of Mathematicians and the Mathematical (Spectrum)},
- year = {2005}
-}
-
-@book{Krantz:MathematicalApocrypha,
- author = {Krantz, Steven G.},
- howpublished = {Paperback},
- isbn = {0883855399},
- month = sep,
- publisher = {The Mathematical Association of America},
- title = {Mathematical Apocrypha: Stories and Anecdotes of Mathematicians and the Mathematical (Spectrum) },
- year = {2002}
-}
-
-@book{CooperEtAl:AboutFace3,
- author = {Cooper, Alan and Reimann, Robert and Cronin, Dave},
- title = {About face 3: the essentials of interaction design},
- year = {2007},
- isbn = {9780470084113},
- publisher = {John Wiley \& Sons, Inc.},
- address = {New York, NY, USA},
-}
-
-@inproceedings{Wenzel:2010,
- author = {Makarius Wenzel},
- title = {Asynchronous Proof Processing with {Isabelle/Scala} and {Isabelle/jEdit}},
- booktitle = {User Interfaces for Theorem Provers (UITP 2010), FLOC 2010 Satellite Workshop},
- year = 2010,
- editor = {C. Sacerdoti Coen and D. Aspinall},
- series = {ENTCS},
- month = {July},
- publisher = {Elsevier},
- url = {http://www.lri.fr/~wenzel/papers/async-isabelle-scala.pdf}
-}
-
-@online{STIXFonts,
- urldate = {2011-05-09},
- date = {2010-11-01},
- key = {STIX Fonts},
- url = {http://www.stixfonts.org},
- author = {{STI Pub Consortium}},
- title = {{STIX} Fonts Version 1.0}}
-
-@Misc{Katzen:PublishingEcosystem10,
- author = {Jay Katzen},
- title = {Applications at the heart of a new Publishing Ecosystem},
- howpublished = {Invited talk at the International Semantic Web Conference},
- year = 2010,
- url = {http://iswc2010.semanticweb.org/node/118/}}
-
-@Misc{Waard:FutureJournal10,
- author = {Anita de Waard},
- title = {The Future of the Journal},
- howpublished = {Invited talk at Vrije Universiteit},
- year = 2010,
- url = {http://elsatglabs.com/labs/anita/talks/DeWaardFutureJournal.pdf}}
-
-@article{berners2001semantic,
- title={{The semantic web}},
- author={Berners-Lee, T. and Hendler, J. and Lassila, O. and others},
- journal={Scientific american},
- volume={284},
- number={5},
- pages={28--37},
- issn={0036-8733},
- year={2001},
- publisher={Citeseer}
-}
-
-@book{euzenat2007ontology,
- title={{Ontology matching}},
- author={Euzenat, J. and Shvaiko, P. and Ebooks Corporation},
- isbn={3540496122},
- year={2007},
- publisher={Springer}
-}
-
-@misc{Simons06,
- author = {Mandy Simons},
- title = "{Presuppositions without Common Ground}",
- year = "2006",
- note = "Manuscript available as \texttt{http://www.hss.cmu.edu/philosophy/simons/Presupposition without Common Ground.pdf}",
-}
-
-@article{gruber2008collective,
- title={{Collective knowledge systems: Where the social web meets the semantic web}},
- author={Gruber, T.},
- journal={Web Semantics: Science, Services and Agents on the World Wide Web},
- volume={6},
- number={1},
- pages={4--13},
- issn={1570-8268},
- year={2008},
- publisher={Elsevier}
-}
-
-@TechReport{w3c:xsparql-use,
- author = {Alexandre Passant and Jacek Kopeck{\'y} and St{\'e}phane Corlosquet and Diego Berrueta and David Palmisano and Axel Polleres},
- title = {{XSPARQL}: Use Cases},
- type = {{W3C} Member Submission},
- institution = {World Wide Web Consortium ({W3C})},
- url = {http://www.w3.org/Submission/xsparql-use-cases/},
- year = 2009,
- month = jan,
- date = {2009-10-20}}
-
-@article{stefanakis2008google,
- title={{Google Earth and XML: Advanced Visualization and Publishing of Geographic Information}},
- author={Stefanakis, E. and Patroumpas, K.},
- journal={International Perspectives on Maps and the Internet},
- pages={143--152},
- year={2008},
- publisher={Springer}
-}
-
-
-@online{google:earth,
- title = {{Google Earth}},
- url = {http://earth.google.com},
- urldate = {2011-05-01}}
-
-
-
-
-
-@article{developerworks2011semweb1,
- title={{The Semantic Web, Linked Data and Drupal, Part 1: Expose your data using RDF}},
- author={Lin Clark},
- journal={developerWorks, IBM},
- month=apr,
- year={2011},
- url={http://www.ibm.com/developerworks/web/library/wa-rdf/}
-}
-
-@article{developerworks2011semweb2,
- title={{The Semantic Web, Linked Data and Drupal, Part 2: Combine linked datasets with Drupal 7 and SPARQL Views}},
- author={St{\'e}phane Corlosquet and Lin Clark},
- journal={developerWorks, IBM},
- month=may,
- year={2011},
- url={http://www.ibm.com/developerworks/web/library/wa-datasets/}
-}
-
-@conference{hernandez2008building,
- title={{Building a cultural heritage ontology for Cantabria}},
- author={Hern{\'a}ndez, F. and Rodrigo, L. and Contreras, J. and Carbone, F.},
- booktitle={Proceedings of the 2008 Annual Conference of the International Documentation Committee of the International Council of Museums (CIDOC), Athens, September},
- pages={15--18},
- year={2008}
-}
-
-
-@incollection{BarendregtG01,
- author = {Henk Barendregt and
- Herman Geuvers},
- title = {Proof-Assistants Using Dependent Type Systems},
- booktitle = {Handbook of Automated Reasoning},
- year = {2001},
- pages = {1149--1238},
- crossref = {RobVor:hoar01},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@InProceedings{EijckUnger07,
- author = {Jan van Eijck and Christina Unger},
- title = {The Epistemics of Presupposition Projection},
- booktitle = {Proceedings of the Sixteenth Amsterdam Colloquium},
- pages = {235--240},
- year = 2007,
- editor = {Maria Aloni and Paul Dekker and Floris Roelofsen},
- publisher = {ILLC},
- note = {also available as \url{http://homepages.cwi.nl/~jve/papers/07/pdfs/eoppPROCEEDINGS.pdf}}}
-
-@book{Burmeister86,
- author = {Peter Burmeister},
- publisher = {Akademie-Verlag Berlin},
- title = {A Model Oriented Approach to Partial Algebras},
- note = {also available as \url{http://www.mathematik.tu-darmstadt.de:8080/Math-Net/Lehrveranstaltungen/Lehrmaterial/SS2002/AllgemeineAlgebra/download/pa86.pdf}},
- year = {1986}
-}
-
-@Article{GaSoWa06,
- author = {Harald Ganzinger and Viorica Sofronie-Stokkermans and Uwe Waldmann},
- title = {Modular Proof Systems for Partial Functions with {E}vans Equality},
- journal = {Information and Computation},
- year = 2006,
- volume = 204,
- pages = {1453--1492}}
-
-@InProceedings{GS00,
- author = {Harald Ganzinger and Viorica Sofronie-Stokkermans },
- title = {Chaining techniques for automated theorem proving in finitely-valued logics},
- booktitle = {Proceedings of the 30th ISMVL},
- pages = {337--344},
- year = 2000,
- publisher = {IEEE Computer Society Press}}
-
-@Article{Weidenbach96,
- author = {Christoph Weidenbach},
- title = {Unification in Sort Theories and its Applications},
- journal = {Annals of Mathematics and Artificial Intelligence},
- year = 1996,
- number = {2/4},
- volume = 18,
- pages = {261--293}}
-
-
-@inproceedings{CramerFKKSV09,
- author = {Marcos Cramer and
- Bernhard Fisseni and
- Peter Koepke and
- Daniel K{\"u}hlwein and
- Bernhard Schr{\"o}der and
- Jip Veldman},
- title = {The {Naproche} Project Controlled Natural Language Proof Checking of
- Mathematical Texts},
- pages = {170--186},
- ee = {http://dx.doi.org/10.1007/978-3-642-14418-9_11},
- doi = {10.1007/978-3-642-14418-9_11},
- crossref = {cnl2009},
- keywords = {lamapunbibs}}
-
-
-@inproceedings{MisGal:egoMath11,
- author = {Jozef Misutka and Leo Galambos},
- title = {System Description: EgoMath2 As a Tool for Mathematical Searching on Wikipedia.org},
- booktitle = {Calculemus/MKM},
- year = 2011,
- pages = {307--309},
- crossref = {CICM11}
-}
-
-@INPROCEEDINGS{MKM11:PDSMNS,
- author = {Marcos Cramer and Peter Koepke and Bernhard Schr{\"o}der},
- title = {Parsing and Disambiguation of Symbolic Mathematics in the Naproche System},
- year = {2011},
- pages = {180--195},
- keywords = {lamapunbibs},
- crossref = {CICM11}}
-
-@inproceedings{HumayounMNMTCNL,
- author = {Muhammad Humayoun and Christophe Raffalli},
- title = {MathNat - Mathematical Text in a Controlled Natural Language},
- booktitle = {Special issue: Natural Language Processing and its Applications},
- publisher = {National Polytechnic Institute, Mexico},
- series = {Journal on Research in Computing Science},
- volume = {46},
- year = {2010},
- keywords = {lamapunbibs},
- isbn = {1870-4069}
-}
-@inproceedings{cunningham02gate,
- author = {Cunningham, H. and Maynard, D. and Bontcheva, K. and Tablan, V. },
- booktitle = {Proceedings of the 40th Annual Meeting of the ACL},
- citeulike-article-id = {711523},
- keywords = {ref-transloc},
- posted-at = {2006-06-26 18:21:04},
- priority = {2},
- title = {GATE: A framework and graphical development environment for robust NLP tools and applications},
- url = {http://citeseer.ist.psu.edu/context/2035358/0},
- year = {2002}
-}
-@article{ferrucci04uima,
- address = {New York, NY, USA},
- author = {Ferrucci, David and Lally, Adam },
- citeulike-article-id = {710558},
- doi = {10.1017/S1351324904003523},
- issn = {1351-3249},
- journal = {Nat. Lang. Eng.},
- keywords = {ref-transloc},
- number = {3-4},
- pages = {327--348},
- posted-at = {2006-06-26 00:34:07},
- priority = {2},
- publisher = {Cambridge University Press},
- title = {UIMA: an architectural approach to unstructured information processing in the corporate research environment},
- url = {http://dx.doi.org/10.1017/S1351324904003523},
- volume = {10},
- year = {2004}
-}
-
-@article{taylor10hadoop,
- abstract = {{BACKGROUND}:Bioinformatics researchers are now confronted with analysis of ultra large-scale data sets, a problem that will only increase at an alarming rate in coming years. Recent developments in open source software, that is, the Hadoop project and associated software, provide a foundation for scaling to petabyte scale data warehouses on Linux clusters, providing fault-tolerant parallelized analysis on such data using a programming style named {MapReduce}.{DESCRIPTION}:An overview is given of the current usage within the bioinformatics community of Hadoop, a top-level Apache Software Foundation project, and of associated open source software projects. The concepts behind Hadoop and the associated {HBase} project are defined, and current bioinformatics software that employ Hadoop is described. The focus is on next-generation sequencing, as the leading application area to {date.CONCLUSIONS}:Hadoop and the {MapReduce} programming paradigm already have a substantial base in the bioinformatics community, especially in the field of next-generation sequencing analysis, and such use is increasing. This is due to the cost-effectiveness of Hadoop-based analysis on commodity Linux clusters, and in the cloud via data upload to cloud vendors who have implemented {Hadoop/HBase}; and due to the effectiveness and ease-of-use of the {MapReduce} method in parallelization of many data analysis algorithms.},
- author = {Taylor, Ronald},
- citeulike-article-id = {8467579},
- citeulike-linkout-0 = {http://dx.doi.org/10.1186/1471-2105-11-S12-S1},
- citeulike-linkout-1 = {http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3040523/},
- citeulike-linkout-2 = {http://view.ncbi.nlm.nih.gov/pubmed/21210976},
- citeulike-linkout-3 = {http://www.hubmed.org/display.cgi?uids=21210976},
- doi = {10.1186/1471-2105-11-S12-S1},
- issn = {1471-2105},
- journal = {BMC Bioinformatics},
- keywords = {dataanalysis, hadoop, method, review},
- number = {Suppl 12},
- pages = {S1+},
- pmcid = {PMC3040523},
- pmid = {21210976},
- posted-at = {2011-10-25 14:20:36},
- priority = {2},
- title = {An overview of the {Hadoop/MapReduce}/{HBase} framework and its current applications in bioinformatics},
- url = {http://dx.doi.org/10.1186/1471-2105-11-S12-S1},
- volume = {11},
- year = {2010}
-}
-
-@BOOK{RobVor:hoar01,
- title = {Handbook of Automated Reasoning},
- publisher = {Elsevier Science and MIT Press},
- year = {2001},
- editor = {Alan Robinson and Andrei Voronkov},
- volume = {I and II},
- booktitle = {Handbook of Automated Reasoning}}
-
-@BOOK{Fromm:RepGridTechnique,
- title = {Introduction to the Repertory Grid Interview},
- publisher = {Waxmann M{\"u}nster},
- year = {1995},
- author = {Martin Fromm},
- isbn={978-3-8309-1394-8}}
-
-@inbook{Nardi:StudyingContext,
- author = {Nardi, Bonnie A.},
- title = {Studying context: a comparison of activity theory, situated action models, and distributed cognition},
- book = {Context and consciousness},
- year = {1995},
- isbn = {0-262-14058-6},
- pages = {69--102},
- numpages = {34},
- url = {http://dl.acm.org/citation.cfm?id=223826.223830},
- acmid = {223830},
- publisher = {Massachusetts Institute of Technology},
- address = {Cambridge, MA, USA},
-}
-
-@book{ShannonWeaver:Kommunikationsmodell,
- address = {M{\"u}nchen},
- author = {Claude E. Shannon and Warren Weaver},
- interhash = {90ed9f1cf31cc52e9b0763a0966bab5b},
- intrahash = {121e6714cf73a710197ad25137238ecb},
- note = {Amerik. Orig.-Ausg.: The mathematical theory of communication, 1949 u.{\"o}.},
- pages = 143,
- publisher = {Oldenbourg},
- series = {Scientia nova},
- title = {Mathematische Grundlagen der Informationstheorie},
- year = 1976,
- timestamp = {2010-09-03T10:23:01.000+0200},
- added-at = {2010-09-03T10:23:01.000+0200},
- biburl = {http://www.bibsonomy.org/bibtex/2121e6714cf73a710197ad25137238ecb/drain},
- abstract = {Shannon/Weaver begr{\"u}nden mit diesem bahnbrechenden Werk die Informationstheorie.}
-}
-
-@book{Dahm:GrundlagenMCI,
- author = {Markus Dahm},
- interhash = {4bf95b5927378d0a9b654f25cd01223c},
- intrahash = {9260786b3b98dc3df454cd25459c41da},
- pages = {I, 1-367},
- publisher = {Pearson Studium},
- title = {Grundlagen der Mensch-Computer-Interaktion.},
- year = 2006,
- timestamp = {2011-02-03T00:00:00.000+0100},
- keywords = {dblp},
- ee = {http://www.pearson-studium.de/main/main.asp?page=bookdetails&isbn=3827371759},
- added-at = {2011-02-03T00:00:00.000+0100},
- isbn = {978-3-8273-7175-1},
- biburl = {http://www.bibsonomy.org/bibtex/29260786b3b98dc3df454cd25459c41da/dblp}
-}
-
-@book{Herczeg:SoftwareErgonomie,
- author = {Michael Herczeg},
- publisher = {Oldenbourg},
- title = {Software-Ergonomie: Theorien, Modelle und Kriterien f{\"u}r gebrauchstaugliche interaktive Computersysteme},
- url = {http://books.google.com/books?id=vfPhbwAACAAJ},
- year = 2009,
- keywords = {Ergonomie Software mmi usability wiki},
- isbn = {9783486587258}
-}
-
-@book{Leontjew:Taetigkeit,
- author = {A. N. Leontjew},
- publisher = {Berlin: Volk und Wissen},
- title = {T{\"a}tigkeit, Bewusstsein, Pers{\"o}nlichkeit},
- year = 1979
-}
-
-
-
-@book{Salomon:DistributedCognition,
- title={Distributed cognitions: psychological and educational considerations},
- author={Salomon, G.},
- isbn={9780521574235},
- lccn={97138418},
- series={Learning in doing : social, cognitive, and computational perspectives},
- url={http://books.google.com/books?id=m8Yna0cjxAgC},
- year={1997},
- publisher={Cambridge University Press}
-}
-
-@incollection{ColeEngestroem:DistributedCognition,
- author = {M. Cole and Y. Engestr{\"o}m},
- booktitle = {Distributed cognitions},
- editor = {G. Salomon},
- interhash = {15ed025655d306fc36ef3faecdac76d9},
- intrahash = {84ac1b556b80dcc14eec180d4ec14fea},
- pages = {1-47+},
- publisher = {Cambridge University Press},
- title = {A cultural-historical approach to distributed cognition},
- year = 1991,
- timestamp = {2009-02-24T19:22:48.000+0100},
- keywords = {file-import-09-02-13},
- added-at = {2009-02-24T19:22:48.000+0100},
- posted-at = {2009-02-13 21:44:52},
- location = {Cambridge},
- priority = {2},
- biburl = {http://www.bibsonomy.org/bibtex/284ac1b556b80dcc14eec180d4ec14fea/clachapelle},
- citeulike-article-id = {4045306}
-}
-
-@inproceedings{HamborgEtAl:Qualitaetssicherung,
- address = {Gelsenkirchen},
- author = {Kai-Christoph Hamborg and Tom Hoemske and Frank Ollermann},
- booktitle = {Proceedings Mensch und Computer},
- editor = {Andreas M. Heinecke and Hansj{\"u}rgen Paul},
- interhash = {a005983cadbd5f414e0f328709fe257d},
- intrahash = {f5e380c6ea1626fa5281f697bd55e399},
- pages = {115--124},
- publisher = {Oldenbourg},
- title = {Qualit{\"a}tssicherung im Usability-Testing - zur Reliabilit{\"a}t eines Klassifikationssystems f{\"u}r Nutzungsprobleme},
- year = 2006,
- timestamp = {2007-08-29T18:00:48.000+0200},
- added-at = {2007-08-29T18:00:48.000+0200},
- biburl = {http://www.bibsonomy.org/bibtex/2f5e380c6ea1626fa5281f697bd55e399/kochm}
-}
-
-@book{Norman:CognitiveEngineering,
- address = {Hillsdale, NJ},
- author = {D. A. Norman},
- interhash = {f8f84afbfbfd734c5784ca024f9fa06d},
- intrahash = {a3d402e049ba73fa0897e138c1d9f22f},
- pages = {31--62},
- publisher = {Lawrence Erlbaum Associates},
- series = {User Centered System Design},
- title = {Cognitive {E}ngineering},
- year = 1986,
- timestamp = {2006-03-24T16:34:33.000+0100},
- keywords = {user interface model cognition design},
- added-at = {2006-03-24T16:34:33.000+0100},
- biburl = {http://www.bibsonomy.org/bibtex/2a3d402e049ba73fa0897e138c1d9f22f/neilernst},
- citeulike-article-id = {121822}
-}
-
-@article{Rasmussen:HierarchicalKnowledgeRepresentations,
- author = {J. Rasmussen},
- interhash = {75140f8b574af3e51a9343716b00cfa2},
- intrahash = {7a68bda4cb80f67dfcc317ac0b61902b},
- journal = {{IEEE} Transactions on Systems, Man, and Cybernetics},
- number = 2,
- pages = {234--243},
- title = {The role of hierarchical knowledge representation in decision making and system management},
- volume = {{SMC-15}},
- year = 1985,
- timestamp = {2009-06-04T20:47:01.000+0200},
- keywords = {jabref:noKeywordAssigned},
- added-at = {2009-06-04T20:47:01.000+0200},
- biburl = {http://www.bibsonomy.org/bibtex/27a68bda4cb80f67dfcc317ac0b61902b/quesada}
-}
-
-@Book{Crawford:InteractiveDesign,
- author = {Chris Crawford},
- title = {The Art of Interactive Design: A Euphonious and Illuminating Guide to Building Successful Software},
- publisher = {No Starch Press},
- year = 2003
-}
-
-@misc{xml:navigation,
- author={Naoko Ito and Kazuhisa Manabe},
- title = {{XML Document Navigation Language}},
- note = {\small{\url{http://www.w3.org/TR/xdnl}}},
- urldate = {2011-09-20},
- year = 2000
-}
-
-
-@article{guardian:SeaOfInformation,
- title = {World drowning in a rising sea of information},
- author = {Neil McIntosh},
- journal = {The Guardian},
- day={1},
- month = {November},
- year = {2003},
- note = {\small{\url{http://www.guardian.co.uk/technology/2003/nov/01/internationalnews.onlinesupplement}}}
-}
-
-@misc{wikipedia:Navigation,
- author = "Wikipedia",
- title = "Navigation --- Wikipedia{,} The Free Encyclopedia",
- year = "2011",
- url = "http://en.wikipedia.org/w/index.php?title=Navigation&oldid=449350561",
- note = "[Online; accessed 20-September-2011]"
- }
-
-@book{Flusser:Kommunikologie:1996,
- address = {Mannheim},
- author = {Vilem Flusser},
- publisher = {Bollmann},
- title = {Kommunikologie},
- year = 1996
-}
-
-@book{Iske:VernetztesWissen:2002,
- address = {Bielefeld},
- author = {Stefan Iske},
- publisher = {Bertelsmann},
- title = {Vernetztes Wissen},
- isbn={3763930183},
- year = 2002
-}
-
-@inproceedings{DourishEtAl:RunningOutOfSpace:1994,
- author = {Dourish, Paul and Chalmers, Matthew},
- address = {Glasgow, UK},
- booktitle = {Proc. HCI},
- title = {Running Out of Space - Models of Information Navigation},
- year = 1994,
-}
-
-@InProceedings{HoisEtAl:OntologicalBlending2010,
- author = "Joana Hois and Oliver Kutz and Till Mossakowski and
- John A. Bateman",
- title = "Towards Ontological Blending",
- booktitle = "Proceedings of the 14\textsuperscript{th} International Conference Artificial Intelligence: Methodology, Systems, and
- Applications (AIMSA 2010)",
- year = "2010",
- pages = "263--264",
- eventdate = {2010-09-08/2010-09-10},
- venue = "Varna, Bulgaria",
-}
-
-@inproceedings{Khalili2011,
-author = {Ali Khalili and S{\"o}ren Auer},
-title = {The {RDFa} Content Editor -- From {WYSIWYG} to {WYSIWYM}},
-year = {2011},
-crossref = {ISWC2011PD},
-keywords = {rdfa,semantic content authoring,text annotation},
-url = {http://svn.aksw.org/papers/2011/ISWC_RDFaEditor/public.pdf},
-}
-
-@inproceedings{Mendes2011,
-author = {Mendes, Pablo N and Jakob, Max and Garc\'{\i}a-Silva, Andr\'{e}s and Bizer, Christian},
-booktitle = {Text},
-isbn = {9781450306218},
-keywords = {dbpedia,linked data,named entity,text annotation},
-pages = {1--8},
-publisher = {Facultad de Inform\'{a}tica (UPM)},
-title = {{DBpedia Spotlight: Shedding Light on the Web of Documents}},
-url = {http://www.wiwiss.fu-berlin.de/en/institute/pwo/bizer/research/publications/Mendes-Jakob-GarciaSilva-Bizer-DBpediaSpotlight-ISEM2011.pdf},
-year = {2011}
-}
-
-@inproceedings{ratinov2009design,
- title={Design challenges and misconceptions in named entity recognition},
- author={Ratinov, L. and Roth, D.},
- booktitle={Proceedings of the Thirteenth Conference on Computational Natural Language Learning},
- pages={147--155},
- year={2009},
- organization={Association for Computational Linguistics},
- keywords={lamapunbibs}
-}
-@inproceedings{lin2009phrase,
- title={Phrase clustering for discriminative learning},
- author={Lin, D. and Wu, X.},
- booktitle={Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 2-Volume 2},
- pages={1030--1038},
- year={2009},
- organization={Association for Computational Linguistics},
- keywords={lamapunbibs}
-}
-@inproceedings{pasca2006organizing,
- title={Organizing and searching the world wide web of facts-step one: the one-million fact extraction challenge},
- author={Pasca, M. and Lin, D. and Bigham, J. and Lifchits, A. and Jain, A.},
- booktitle={Proceedings of the National Conference on Artificial Intelligence},
- volume={21},
- number={2},
- pages={1400},
- year={2006},
- organization={Menlo Park, CA; Cambridge, MA; London; AAAI Press; MIT Press; 1999},
- keywords={lamapunbibs}
-}
-
-
-
-@article{Gardner2009,
-author = {Gardner, J and Krowne, A and Xiong, L},
-doi = {10.1109/TKDE.2008.136},
-isbn = {9781605584225},
-issn = {10414347},
-journal = {IEEE Transactions on Knowledge and Data Engineering},
-number = {6},
-pages = {829--839},
-publisher = {ACM},
-title = {{NNexus: An Automatic Linker for Collaborative Web-Based Corpora}},
-url = {http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4564462},
-volume = {21},
-year = {2009}
-}
-
-@MISC{OpenCalais:web,
- key = {OpenCalais},
- title = {OpenCalais: an information extraction service
-provided by Thomson Reuters},
- url = {http://www.opencalais.com/},
- note = {\seen December 2011}
-}
-
-@techreport{OC:tsom,
- author = {O. Caprotti and A. Cohen},
- title = "{A type system for OpenMath}",
- institution = "{Esprit Project OpenMath}",
- year = 1998
-}
-
-@TechReport{CommonLogic:oldfashioned,
- crossref = {CommonLogic:base},
- note = {\url{http://iso-commonlogic.org}},
-}
-
-@TechReport{CommonLogic:biblatex,
- crossref = {CommonLogic:base},
- url = {http://iso-commonlogic.org}}
-
-@TechReport{CommonLogic:base,
- key = {CommonLogic},
- title = {Information technology --- {Common Logic} ({CL}): a framework for a family of logic-based languages},
- institution = {ISO/IEC},
- number = {24707:2007},
- year = 2007}
-
-@TechReport{IKL-guide:oldfashioned,
- crossref = {IKL-guide:base},
- note = {Unpublished IKRIS memorandum, \url{http://www.ihmc.us/users/phayes/IKL/GUIDE/GUIDE.html}},
-}
-
-@Report{IKL-guide:biblatex,
- crossref = {IKL-guide:base},
- type = {Unpublished IKRIS memorandum},
- url = {http://www.ihmc.us/users/phayes/IKL/GUIDE/GUIDE.html},
-}
-
-@TechReport{IKL-guide:base,
- author = {Patrick J. Hayes},
- title = {{IKL} Guide},
- institution = {IKRIS Interoperability Group},
- year = 2006,
-}
-
-@TechReport{IKL-spec:oldfashioned,
- crossref = {IKL-spec:base},
- note = {Unpublished IKRIS memorandum, \url{http://www.ihmc.us/users/phayes/IKL/SPEC/SPEC.html}},
-}
-
-@Report{IKL-spec:biblatex,
- crossref = {IKL-spec:base},
- type = {Unpublished IKRIS memorandum},
- url = {http://www.ihmc.us/users/phayes/IKL/SPEC/SPEC.html},
- date = {2006-07-20},
-}
-
-@TechReport{IKL-spec:base,
- author = {Patrick J. Hayes and Christopher Menzel},
- title = {{IKL} Specification Document},
- institution = {IKRIS Interoperability Group},
- year = 2006,
-}
-
-@inproceedings{colore-fois,
- author = {{Gruninger, Michael, Hahmann, Torsten, and Hashemi, Ali, and Ong, Darren}},
- title = {Ontology Verification with Repositories},
- editor = {Antony Galton and Riichiro Mizoguchi},
- booktitle = {Formal Ontology in Information Systems, Proceedings of the Sixth International Conference (FOIS 2010)},
- venue = {Toronto, Canada},
- eventdate = {2010-05-11/2010-05-14},
- publisher = {IOS Press},
- series = {Frontiers in Artificial Intelligence and Applications},
- number = 209,
- year = 2010,
- pages = {317--330}}
-
-@TechReport{CommonLogicDefects:oldfashioned,
- crossref = {CommonLogicDefects:base},
- note = {\url{http://iso-commonlogic.org/docs/cl/24707-defect-report.pdf}}}
-
-@TechReport{CommonLogicDefects:biblatex,
- crossref = {CommonLogicDefects:base},
- url = {http://iso-commonlogic.org/docs/cl/24707-defect-report.pdf},
- date = {2008-02-03}}
-
-@TechReport{CommonLogicDefects:base,
- key = {CommonLogic Defect Report},
- title = {Current defect report for ISO/IEC 24707:2007},
- institution = {ISO/IEC},
- year = 2008}
-
-@online{openhum:on,
- title = {Open Humanities E-print Archive},
- url = {http://openhumanitiespress.org},
- urldate = {2012-02-01}}
-
-@online{doaj:on,
- title = {Directory of Open Access Journals},
- url = {http://www.doaj.org},
- urldate = {2012-02-01}}
-
-
-@online{LeCun:anpcs,
- author = {Yann LeCun},
- title = {A new publishing model in Computer Science},
- url = {http://lecun.com/ex/pamphlets/publishing-models.html},
- urldate = {2012-02-01}}
-
-@online{academia:on,
- title = {Online Portal for Researchers},
- url = {http://academia.edu},
- urldate = {2012-02-01}}
-
-@online{StackExchange:on,
- title = {Stack Exchange},
- url = {http://stackexchange.com},
- urldate = {2012-02-01}}
-
-@online{PLOS:on,
- title = {Public Library of Science},
- url = {http://plosone.org},
- urldate = {2012-02-01}}
-
-@online{StackOverflow:on,
- title = {Stack Overflow},
- url = {http://stackoverflow.com},
- urldate = {2012-02-01}}
-
-@online{BioMedCentral:on,
- title = {{BioMedCentral} Open Access Journal},
- url = {http://www.biomedcentral.com},
- urldate = {2012-02-01}}
-
-@online{longtail-faq:on,
- title = {The long-tail effect explained},
- url = {http://www.longtail.com/the_long_tail/faq/},
- urldate = {2012-02-01}}
-
-@inproceedings{CodescuHKMR11,
- author = {Codescu, Mihai and Horsinka, Gregor and Kutz, Oliver and Mossakowski, Till and Rau, Rafaela},
- crossref = {geos2011},
- pages = {88--107},
- title = {{DO-ROAM}: Activity-Oriented Search and Navigation with {OpenStreetMap}},
- year = 2011}
-
-@TechReport{ctan/macros/latex/contrib/listings:oldfashioned,
- crossref = {ctan/macros/latex/contrib/listings:base},
- note = {\url{http://ctan.org/listings}},
-}
-
-@TechReport{ctan/macros/latex/contrib/listings:biblatex,
- crossref = {ctan/macros/latex/contrib/listings:base},
- url = {http://ctan.org/pkg/listings}}
-
-@TechReport{ctan/macros/latex/contrib/listings:base,
- key = {ctan/macros/latex/contrib/listings},
- author = {Carsten Heinz and Brooks Moses},
- title = {The Listings Package},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- type = {Self-documenting {\LaTeX} package},
- version = {1.4},
- year = 2007,
- date = {2007-02-22}}
-
-@article{CiccareseEtAl:AnnotationOntology2011,
- author = {Paolo Ciccarese and Marco Ocana and Garcia Castro, Leyla J and Sudeshna Das and Tim Clark},
- title = {An open annotation ontology for science on web 3.0},
- journal = {Journal of Biomedical Semantics},
- issuetitle = {Proceedings of the Bio-Ontologies Special Interest Group Meeting 2010},
- date = {2011-05-17},
- year = 2011,
- volume = 2,
- number = 4,
- url = {http://www.jbiomedsem.com/content/2/S2/S4/},
- doi = {10.1186/2041-1480-2-S2-S4}}
-
-@online{colore,
- author = {Michael Gr{\"u}ninger and others},
- title = {{COLORE}},
- subtitle = {An open repository of first-order ontologies represented in Common Logic},
- url = {http://colore.googlecode.com},
- urldate = {2012-02-24},
-}
-
-@MISC{ymacs:web,
- key = {Ymacs},
- title = {{Ymacs}: AJAX source code editor},
- url = {http://www.ymacs.org/},
- howpublished = {\webpageat{\url{http://www.ymacs.org/}}},
- note = {\seen Feb 2012}}
-
-@MISC{etherpad-proto:web,
- key = {EtherpadProtocol},
- title = {{Etherpad lite}: real time collaborative editor},
- url = {https://github.com/Pita/etherpad-lite/raw/master/doc/easysync/easysync-notes.pdf},
- howpublished = {\webpageat{\url{https://github.com/Pita/etherpad-lite/raw/master/doc/easysync/easysync-notes.pdf}}},
- note = {\seen Feb 2012}}
-
-@MISC{jedit-editor:web,
- key = {jEdit},
- title = {{jEdit}: Programmer's text editor},
- url = {http://www.jedit.org/},
- howpublished = {\webpageat{\url{http://www.jedit.org/}}},
- note = {\seen March 2012}}
-
-@online{OpenMathSoftware,
- title = {{OpenMath} Software and Tools},
- urldate = {2012-03-19},
- institution = {OpenMath Society},
- url = {http://www.openmath.org/software/},
-}
-
-@online{GAP-OpenMath,
- title = {{GAP} package {OpenMath}},
- author = {Marco Costantini and Alexander Konovalov and Max Nicosia and Andrew Solomon},
- version = {11.0.0},
- date = {2011-10-28},
- year = 2011,
- month = oct,
- url = {http://www.gap-system.org/Packages/openmath.html},
- urldate = {2012-03-19},}
-
-@online{MuPAD-OpenMath,
- title = {{MuPAD} {OpenMath} Package},
- author = {Peter Horn},
- url = {http://mupad.symcomp.org/},
- urldate = {2012-03-19},
-}
-
-@online{Mathematica-MathML,
- title = {Working with {MathML} -- {Wolfram Mathematica} 8 Documentation},
- institution = {Wolfram Research, Inc.},
- url = {http://reference.wolfram.com/mathematica/XML/tutorial/MathML.html},
- urldate = {2012-03-19},
- date = {2011-10-30},
- month = oct,
- year = 2011,
-}
-
-@InProceedings{NakanoEtAl:AlgebraMashup11,
- author = {Hiroshi Nakano and Takayuki Nagai and Jia Yunpeng and Muhammad Wannous and Toshihiro Kita},
- title = {Mashup Approach for Embedding Algebraic Manipulations, Formulas and Graphs in Web Pages},
- year = {2011},
- booktitle = {Learning Environments and Ecosystems in Engineering Education},
- eventtitle = {Global Engineering Education Conference (EDUCON)},
- eventdate = {2011-04-04/2011-04-06},
- venue = {Amman, Jordan},
- publisher = {IEEE},
- pages = {691--694},
-}
-
-
-@inproceedings{KNMW:ChineseWhispers10,
- Author = {Oliver Kutz AND Immanuel Normann AND Till Mossakowski AND Dirk Walther},
- Booktitle = {5\textsuperscript{th} International Workshop on Ontology Matching (OM) at the 9\textsuperscript{th} International Semantic Web Conference (ISWC)},
- Title = {{Chinese Whispers and Connected Alignments}},
- Year = {2010},
- eventdate = {2010-11-07},
- venue = {Shanghai, China}}
-
-@inproceedings{AspinallLW07,
- author = {David Aspinall and
- Christoph L{\"u}th and
- Daniel Winterstein},
- title = {A Framework for Interactive Proof},
- booktitle = {Calculemus/MKM},
- year = {2007},
- pages = {161--175},
- ee = {http://dx.doi.org/10.1007/978-3-540-73086-6_15},
- doi = {10.1007/978-3-540-73086-6_15},
- crossref = {MKM07},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@article{Wicks2004,
-author = {Wicks, Mike},
-institution = {Heriot-Watt Institute of Software Engineering},
-journal = {Integration The Vlsi Journal},
-number = {August},
-pages = {1--26},
-title = {{Tool Integration in Software Engineering : The State of the Art in 2004}},
-url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.1969},
-doi = {10.1.1.59.1969},
-year = {2004}
-}
-
-@article{Wasserman1990,
-author = {Wasserman, Anthony L},
-doi = {10.1007/3-540-53452-0\_38},
-file = {:home/costea/Documents/Mendeley Desktop/tool\_integration\_soft\_engineering\_environments.pdf:pdf},
-isbn = {9783540534525},
-issn = {02686961},
-journal = {Development},
-number = {6},
-pages = {137--149},
-publisher = {Springer},
-title = {{Tool integration in software engineering environments}},
-url = {http://www.springerlink.com/content/p582q2n825k87nl5},
-volume = {1},
-year = {1990}
-}
-
-@article{Thomas1992,
-author = {Thomas, I and Nejmeh, B A},
-doi = {10.1109/52.120599},
-file = {:home/costea/Documents/Mendeley Desktop/Definitions\_tool\_integration\_environments.pdf:pdf},
-issn = {07407459},
-journal = {IEEE Software},
-number = {2},
-pages = {29--35},
-publisher = {IEEE Computer Society Press},
-title = {{Definitions of tool integration for environments}},
-url = {http://doi.ieeecomputersociety.org/10.1109/52.120599},
-volume = {9},
-year = {1992}
-}
-
-@article{hobbspan04,
- author="J. Hobbs and F. Pan",
- title="An Ontology of Time for the Semantic Web",
- journal="ACM Transactions on Asian Language Processing (TALIP): Special issue on Temporal Information Processing",
- volume="3",
- pages="66--85",
- year="2004"}
-
-@ARTICLE{KML:Hyperontologies10,
- author = {Oliver Kutz AND Till Mossakowski AND Dominik L{\"u}cke},
- title = {{\mbox{Carnap}, Goguen, and the Hyperontologies: Logical Pluralism and Heterogeneous Structuring in Ontology Design}},
- journal = {Logica Universalis},
- volume = {4},
- number = {2},
- pages = {255--333},
- issuetitle = {Special Issue on `Is Logic Universal?'},
- year = {2010}
-}
-
-@article{Aspinall2006,
-author = {Aspinall, D. and L{\"u}th, C. and Wolff, B.},
-doi = {10.1007/11618027\_5},
-file = {:home/costea/Documents/Mendeley Desktop/assisted\_proof\_document\_authoring.pdf:pdf},
-journal = {LNCS},
-pages = {65--80},
-publisher = {Springer},
-title = {{Assisted Proof Document Authoring}},
-url = {http://www.springerlink.com/index/fq4068582k604115.pdf},
-number = {3863},
-year = {2006}
-}
-@inproceedings{Gruninger:VerificationOWLTime11,
- author = {Michael Gr{\"u}ninger},
- title = {Verification of the OWL-Time Ontology},
- year = {2011},
- pages = {225--240},
- crossref = {iswc2011-1},
-}
-
-@online{PizzaOntology,
- title = {Pizza Ontology},
- author = {Nick Drummond and Matthew Horridge and Robert Stevens and Chris Wroe and Sandra Sampaio},
- version = {1.5},
- date = {2007-02-12},
- year = 2007,
- month = feb,
- url = {http://www.co-ode.org/ontologies/pizza/2007/02/12/},
- urldate = {2012-04-25},}
-
-@Article{DR:VisualisingLinkedData11,
- author = {Aba-Sah Dadzie and Matthew Rowe},
- title = {Approaches to visualising Linked Data: A survey},
- journaltitle = {Semantic Web Journal},
- year = {2011},
- volume = {2},
- number = {2},
- pages = {89--124},
- url = {http://iospress.metapress.com/content/2822p340453463g1/},
- publisher = {IOS Press}
-}
-
-@techreport{OBO1.4,
- title = {{OBO} Flat File Format 1.4 Syntax and Semantics [WORKING DRAFT]},
- author = {Chris Mungall and Alan Ruttenberg and Ian Horrocks and David Osumi-Sutherland},
- date = {2011-11-29},
- url = {http://oboformat.googlecode.com/svn/branches/2011-11-29/doc/obo-syntax.html},
-}
-
-@online{AlignmentAPI,
- title = {{Alignment API}},
- url = {http://alignapi.gforge.inria.fr/},
- date = {2012-04-03},
- urldate = {2012-04-26},
-}
-
-@article{DEST:AlignmentAPI11,
- author = {J{\'e}r{\^o}me David and J{\'e}r{\^o}me Euzenat and Fran\c{c}ois Scharffe and Trojahn dos Santos, C{\'a}ssia},
- title = {The {Aligment API 4.0}},
- journaltitle = {Semantic Web Journal},
- year = 2011,
- volume = {2},
- number = 1,
- pages = {3--10},
- url = {http://iospress.metapress.com/content/4164891n48p5v826/}}
-
-@online{i2geo:I2GMetadata,
- url = {http://i2geo.net/xwiki/bin/view/About/I2GMetadata},
- title = {i2geo -- I2G Metadata},
- urldate = {2012-09-07},
-}
-
-@online{i2geo:on,
- url = {http://i2geo.net},
- title = {i2geo -- Interoperable Interactive Geometry for Europe},
- urldate = {2012-08-31},
-}
-
-@inproceedings{LKM:i2geo,
- author = {Paul Libbrecht and Ulrich Kortenkamp and Christian Mercat},
- title = {{I2Geo}: a Web-Library of Interactive Geometry},
- crossref={DML09:biblatex},
- pages = {95--106},
-}
-
-@online{jsxgraph:on,
- url = {http://jsxgraph.org},
- title = {{JSXGraph} -- Dynamic Mathematics with {JavaScript}},
- urldate = {2012-08-31},}
-
-@online{DataGovDeveloperAppsShowcase,
- url = {http://www.data.gov/developers/showcase},
- title = {Developer Apps Showcase -- Data.gov},
- urldate = {2012-08-31},}
-
-@online{DataMasher,
- url = {http://www.datamasher.org},
- title = {DataMasher},
- urldate = {2012-08-31},}
-
-@online{ExtremeMusicNotation,
- url = {http://www.informatics.indiana.edu/donbyrd/CMNExtremes.htm},
- author = {Donald Byrd},
- title = {Extremes of Conventional Music Notation},
- urldate = {2012-09-01},
- date = {2006-08-25},
- year = 2006,
-}
-
-@online{Vismor:ViewingMathInternet12,
- url = {https://vismor.com/documents/site_implementation/viewing_mathematics/},
- author = {Timothy Vismor},
- title = {Viewing Mathematics on the Internet},
- year = 2012,
- urldate = {2012-09-01},
-}
-
-@online{MRLookup,
- url = {http://www.ams.org/mathscinet/help/mr_lookup_help.html},
- author = {{American Mathematical Society}},
- urldate = {2012-09-01},
-}
-
-@Article{Leveson:SoftwareSpacecraftAccidents04,
- author = {Nancy G. Leveson},
- title = {The Role of Software in Spacecraft Accidents},
- journal = {AIAA Journal of Spacecraft and Rockets},
- year = {2004},
- volume = {41},
- number = {4},
- month = jul,
- url = {http://sunnyday.mit.edu/papers/jsr.pdf},
-}
-
-@InProceedings{TFNSBM:CollabAuthICD11Protege10,
- author = {Tania Tudorache and Sean Falconer and Csongor Nyulas and Margaret-Anne Storey and Tevfik Bedirhan {\"U}st{\"u}n and Mark A. Musen},
- title = {Supporting the Collaborative Authoring of {ICD-11} with {WebProt{\'e}g{\'e}}},
- booktitle = {AMIA Annual Symposium},
- year = {2010},
- url = {http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3041458/},
- pages = {802--806},
- organization = {American Medical Informatics Association},
-}
-
-@InProceedings{Hois2010ksem,
-author = {Joana Hois},
-title = {Modularizing Spatial Ontologies for Assisted Living Systems},
-booktitle = {4th Int. Conference on Knowledge Science, Engineering \& Management (KSEM)},
-pages = {424--435},
-year = {2010},
-editor = {Yaxin Bi and Mary-Anne Williams},
-publisher = {Springer},
-series = {LNAI},
-number = 6291,
-}
-
-@online{Gruninger:PSL,
- author = {Michael Gr{\"u}ninger},
- title = {{ISO} 18629 ({Process Specification Language})},
- url = {http://stl.mie.utoronto.ca/projects/psl.html},
- urldate = {2011-11-13},
-}
-
-@online{ISSAC,
- title = {{ISSAC} -- International Symposium on Symbolic and Algebraic Computation},
- url = {http://www.issac-conference.org/},
- urldate = {2012-09-07},
-}
-
-@techreport{HLCD:IntergeoMetadata08,
- author = {Maxim Hendriks and Paul Libbrecht and Albrecht Creus-Mir and Michael Dietrich},
- title = {Metadata Specification},
- year = {2008},
- month = dec,
- institution = {Intergeo},
- type = {Deliverable},
- number = {D2.4},
- url = {http://i2geo.net/files/deliverables/D2.4-Metadata-Spec.pdf}}
-
-@online{isabelle,
- title = {Isabelle},
- year = {2013},
- date = {2013-03-09},
- url = {http://isabelle.in.tum.de},
- urldate = {2013-03-27},
-}
-
-@inproceedings{CuypersKnopper:OpenMathUIWiP2012,
-title = {{MathDox} {Select}: A tool for creating {SCORM} packages from existing exercises},
-author = {Hans Cuypers and Jan Willem Knopper},
-pages = {7--11},
-url = {http://ceur-ws.org/Vol-921/mathui-01.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{Libbrecht:OpenMathUIWiP2012,
-title = {Skills Text Box A Tool to Access Resources by Mathematical Concepts},
-author = {Paul Libbrecht},
-pages = {24--36},
-url = {http://ceur-ws.org/Vol-921/mathui-03.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{WenzelReinhardt:OpenMathUIWiP2012,
-title = {Mathematical Computations for Linked Data Applications with {OpenMath}},
-author = {Ken Wenzel and Heiner Reinhardt},
-pages = {38--48},
-url = {http://ceur-ws.org/Vol-921/openmath-01.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{CaprottiSaludes:OpenMathUIWiP2012,
-title = {The {Gf} Mathematical Grammar Library},
-author = {Olga Caprotti and Jordi Saludes},
-pages = {49--52},
-url = {http://ceur-ws.org/Vol-921/openmath-02.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{Quaresma:OpenMathUIWiP2012,
-title = {An {XML}-Format for Conjectures in Geometry},
-author = {Pedro Quaresma},
-pages = {54--65},
-url = {http://ceur-ws.org/Vol-921/wip-01.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{Windsteiger:OpenMathUIWiP2012,
-title = {{Theorema} 2.0: A Graphical User Interface for a Mathematical Assistant System},
-author = {Wolfgang Windsteiger},
-pages = {73--81},
-url = {http://ceur-ws.org/Vol-921/wip-03.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{Hatlapatka:OpenMathUIWiP2012,
-title = {{JBIG2} Supported by {OCR}},
-author = {Radim Hatlapatka},
-pages = {82--90},
-url = {http://ceur-ws.org/Vol-921/wip-04.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{FormanekEtAl:OpenMathUIWiP2012,
-title = {Normalization of Digital Mathematics Library Content},
-author = {David Form{\'a}nek and Martin L{\'\i}{\v s}ka and Michal R{\r u}{\v z}i{\v c}ka and Petr Sojka},
-pages = {91--103},
-url = {http://ceur-ws.org/Vol-921/wip-05.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@online{schema.org,
- title = {schema.org},
- url = {http://schema.org},
- date = {2011-11-11},
- urldate = {2012-09-15},
-}
-
-@online{CogDimNot,
- title = {Cognitive Dimensions of Notations Resource Site},
- url = {http://www.cl.cam.ac.uk/~afb21/CognitiveDimensions/},
- author = {Alan Blackwell and Thomas Green},
- date = {2010-09-28},
- urldate = {2012-09-15},
-}
-
-@online{leo-ii,
- title = {{LEO-II}},
- subtitle = {A Higher-Order Theorem Prover},
- author = {Christoph Benzm{\"u}ller and Frank Theiss and Nik Sultana},
- year = 2009,
- url = {http://www.ags.uni-sb.de/~leo/},
- urldate = {2012-09-16},}
-
-@online{afp,
- editor = {Gerwin Klein and Tobias Nipkow and Larry Paulson},
- title = {Archive of Formal Proofs},
- year = 2014,
- url = {http://afp.sf.net/},
- ISSN = {2150-914x},
- urldate = {2014-03-14}
-}
-
-@online{SystemOnTPTP,
- title = {System on TPTP},
- author = {Geoff Sutcliffe and Christian Suttner},
- url = {http://www.cs.miami.edu/~tptp/cgi-bin/SystemOnTPTP},
- urldate = {2012-09-16},
-}
-
-@inproceedings{BelhajjameEtAl:SePublica2012,
-title = {Workflow-Centric Research Objects: A First Class Citizen in the Scholarly Discourse},
-author = {Khalid Belhajjame and Oscar Corcho and Daniel Garijo and Jun Zhao and Paolo Missier and David R. Newman and Raul Palma and Sean Bechhofer and Garcia Cuesta, Esteban and Jose Manuel Gomez-Perez and Graham Klyne and Kevin Page and Marco Roos and Jos{\'e} Enrique Ruiz and Stian Soiland-Reyes and Lourdes Verdes-Montenegro and De Roure, David and Carole Goble},
-pages = {1--12},
-url = {http://ceur-ws.org/Vol-903/paper-01.pdf},
-crossref = {SePublica2012},
-}
-
-@inproceedings{CastroEtAl:SePublica2012,
-title = {Using annotations to model discourse: an extension to the Annotation Ontology},
-author = {Garc{\'i}a Castro, Leyla Jael and Olga X. Giraldo and Alexander Garcia},
-pages = {13--22},
-url = {http://ceur-ws.org/Vol-903/paper-02.pdf},
-crossref = {SePublica2012},
-}
-
-@inproceedings{LordEtAl:SePublica2012,
-title = {Three Steps to Heaven: Semantic Publishing in a Real World Workflow},
-author = {Phillip Lord and Simon Cockell and Robert Stevens},
-pages = {23--34},
-url = {http://ceur-ws.org/Vol-903/paper-03.pdf},
-crossref = {SePublica2012},
-}
-
-@inproceedings{NielsenEtAl:SePublica2012,
-title = {Online open neuroimaging mass meta-analysis},
-author = {Finn {\AA}rup Nielsen and Matthew J. Kempton and Steven C. R. Williams},
-pages = {35--39},
-url = {http://ceur-ws.org/Vol-903/paper-04.pdf},
-crossref = {SePublica2012},
-}
-
-@inproceedings{PriemEtAl:SePublica2012,
-title = {Uncovering impacts: a case study in using altmetrics tools},
-author = {Jason Priem and Cristhian Parra and Heather Piwowar and Paul Groth and Andra Waagmeester},
-pages = {40--44},
-url = {http://ceur-ws.org/Vol-903/paper-05.pdf},
-crossref = {SePublica2012},
-}
-
-@inproceedings{StevensLord:SePublica2012,
-title = {Semantic Publishing of Knowledge about Amino Acids},
-author = {Robert Stevens and Phillip Lord},
-pages = {45--48},
-url = {http://ceur-ws.org/Vol-903/paper-06.html},
-crossref = {SePublica2012},
-}
-
-@inproceedings{WiljesCimiano:SePublica2012,
-title = {Linked Data for the Natural Sciences: Two Use Cases in Chemistry and Biology},
-author = {Cord Wiljes and Philipp Cimiano},
-pages = {49--60},
-url = {http://ceur-ws.org/Vol-903/paper-07.pdf},
-crossref = {SePublica2012},
-}
-
-@inproceedings{WulfEtAl:SePublica2012,
-title = {Automated Assembly of Custom Narratives from Modular Content using Semantic Representations of Real-world Domains and Audiences},
-author = {Joshua Wulf and David Jorm and Mathew Casperson and Lee Newson},
-pages = {61--73},
-url = {http://ceur-ws.org/Vol-903/paper-08.pdf},
-crossref = {SePublica2012},
-}
-@INCOLLECTION{bkb:siacm,
- author = {Bernd Krieg-Br{\"u}ckner and Achim Mahnke},
- title = {{Semantic} {Interrelation} and {Change} {Management}},
- crossref = {Kohlhase:OMDoc1.2},
- chapter = {26.6},
- pages = {274--277},
- pubs = {projects/omdocbiblio}}
-
-@INCOLLECTION{ccb:MDMDonW,
- author = {A. M. Cohen and H. Cuypers and E. Reinaldo Barreiro},
- title = {MathDox: Mathematical Documents on the Web},
- crossref = {Kohlhase:OMDoc1.2},
- chapter = {26.7},
- pages = {278--282},
- pubs = {projects/omdocbiblio}}
-
-@INCOLLECTION{AM:OMDocActiveMath06,
- author = {Erica Melis and George Goguadze and Gonz{\'a}lez Palomo, Alberto and
- Adrian Frischauf and Martin Homik and Paul Libbrecht and Carsten
- Ullrich},
- title = {{OMDoc in ActiveMath}},
- chapter = {26.8},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@INCOLLECTION{Li:ATfAM,
- author = {Paul Libbrecht},
- title = {Authoring Tools for {ActiveMath}},
- chapter = {26.9},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@INPROCEEDINGS{Hutter:tgmc04,
- author = {Dieter Hutter},
- title = {Towards a Generic Management of Change},
- booktitle = {Workshop on Computer-Supported Mathematical Theory Development, International
- Joint Conference on Automated Reasoning'04},
- year = {2004},
- address = {Cork, Ireland},
- pubs = {projects/omoc}}
-
-@INCOLLECTION{Palomo:QMath06,
- author = {Gonz{\'a}lez Palomo, Alberto},
- title = {{QMath}: A Human-Oriented Language and Batch Formatter for {OMDoc}},
- chapter = {26.2},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@INCOLLECTION{Palomo:06,
- author = {Gonz{\'a}lez Palomo, Alberto},
- title = {Sentido: an Authoring Environment for {OMDoc}},
- chapter = {26.3},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@INCOLLECTION{AHMS:maya06,
- author = {Autexier, Serge and Hutter, Dieter and Mossakowski, Till and Schairer,
- Axel},
- title = {Maya: Maintaining Structured Documents},
- chapter = {26.12},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio,projects/omoc}}
-
-@INCOLLECTION{MML:hets06,
- author = {Till Mossakowski and Christian Maeder and Klaus L{\"u}ttich},
- title = {Hets: The Heterogeneous Tool Set},
- chapter = {26.13},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-
-
-@INCOLLECTION{Jansen:omdoc-mode06,
- author = {Peter Jansen},
- title = {An {Emacs} mode for editing {OMDoc} Documents},
- chapter = {26.16},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@INCOLLECTION{Sutner:cmnto04,
- author = {Klaus Sutner},
- title = {Converting {\sc{Mathematica}} Notebooks to {OMDoc}},
- chapter = {26.17},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@INPROCEEDINGS{ahms02:tdgmm,
- author = {Serge Autexier and Dieter Hutter and Till Mossakowski and Axel Schairer},
- title = {The Development Graph Manager {MAYA} (system description)},
- crossref = {AMAST02},
- pubs = {projects/omoc}}
-
-@INPROCEEDINGS{Hutter:mocsv00,
- author = {Dieter Hutter},
- title = {Management of Change in Verification Systems},
- crossref = {ASE00},
- pages = {23--34},
- pubs={projects/omoc}}
-
-@INCOLLECTION{ABFL:proof-assistants-scientific-editor06,
- author = {Serge Autexier and Christoph Benzm{\"u}ller and Armin Fiedler and Henri Lesourd},
- title = {Integrating Proof Assistants as Plugins in a Scientific Editor},
- chapter = {26.19},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdocbiblio}}
-
-@InProceedings{Libbrecht:AuthoringjEditOQMath10,
- author = {Paul Libbrecht},
- title = {What You Check is What You Get: Authoring with {jEditOQMath}},
- booktitle = {10\textsuperscript{th} International Conference on Advanced Learning Technologies (ICALT)},
- eventdate = {2010-07-05/2010-07-07},
- venue = {Sousse, Tunisia},
- pages = {682--686},
- year = {2010},
- publisher = {IEEE},
- pubs = {projects/omdocbiblio}}
-
-
-@TECHREPORT{LiWi:ILAM,
- title = {Internationalizing {LeActiveMath}},
- author = {Paul Libbrecht and Stefan Winterstein},
- year = 2006,
- number = {D13},
- projects = {LeActiveMath},
- type = {Deliverable},
- institution = {LeActiveMath Consortium},
- url = {http://www.activemath.org/pubs/LeAM-D13-Internationalizing.pdf}}
-
-@MISC{uddi:uddi00,
- author = {\url{uddi.org}},
- title = {Universal Description, Discovery and Integration, {UDDI} Technical
- White Paper},
- url = {http://www.uddi.org/pubs/Iru_Technical_White_Paper.pdf},
- year = {2000},
- key = {uddi}}
-
-@TechReport{LeAMD6,
- author = {George Goguadze and Carsten Ullrich and Erica Melis and J{\"o}rg Siekmann and Chistian Gross and Rafael Morales},
- title = {{LeActiveMath} Structure and Metadata Model},
- year = {2004},
- rights = {public},
- institution = {{LeActiveMath Consortium}},
- selected = {false},
- projects = {{LeActiveMath}},
- type = {{Deliverable}},
- number = {{D6}},
- pubs = {projects/omdocbiblio},
- url = {http://www.activemath.org/pubs/LeAM-D6.pdf}}
-
-@phdthesis{fielding00,
- title = {Architectural Styles and the Design of Network-based Software Architectures},
- author = {Roy T. Fielding},
- school = {University of California, Irvine},
- url = {http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm},
- year = {2000},
- priority = {4}, citeulike-article-id = {125581},
- keywords = {architecture rest services web }}
-
-@InProceedings{LiSi:ISMIOiAMaE,
- author = {Paul Libbrecht and Tim Smith},
- title = {{Integrated Semantic Math I/O in ActiveMath: an Evaluation}},
- crossref = {MathUI07},
- url = {http://www.activemath.org/~paul/pubs/LS-semIO-eval.html}}
-
-@INPROCEEDINGS{oren05:semperwiki,
- author = {Eyal Oren},
- title = {{SemperWiki}: a semantic personal {Wiki}},
- booktitle = {Proceedings of the 1\textsuperscript{st} Workshop on The Semantic Desktop, 4\textsuperscript{th} International
- Semantic Web Conference},
- year = {2005},
- editor = {Stefan Decker and Jack Park and Dennis Quan and Leo Sauermann},
- month = nov,
- institution = {Digital Enterprise Research Institute},
- url = {http://www.eyaloren.org/pubs/semperwiki-semdesk.pdf}}
-
-@TECHREPORT{voelkel05:personal-knowledge-management,
- author = {Max V{\"o}lkel and Eyal Oren},
- title = {Personal Knowledge Management with Semantic Wikis},
- institution = {Institut AIFB, Karlsruhe},
- year = {2005},
- month = dec,
- url = {http://www.eyaloren.org/pubs/pkm.pdf}}
-
-@MastersThesis{Maarek:clopf02,
- author = {Manuel Maarek},
- title = {Conception d'une librairie OMDoc pour FoC},
- school = {Universit{\'e} Pierre et Marie Curie --- Paris VI},
- year = 2002,
- url = {http://www.macs.hw.ac.uk/~mm20/papers/Maarek:rapport-DEA-2002.fr.pdf},
- pubs = {projects/omdocbiblio}}
-
-@INPROCEEDINGS{PLT:SWSpecOMDoc07,
- author = {Dennis K. Peters and Mark Lawford and Baltasar Tranc{\'o}n y Widemann},
- title = {Software Specification Using Tabular Expressions and {OMDoc}},
- booktitle = {Proc. Calculemus/MKM 2007 Work in Progress},
- year = 2007,
- pubs = {projects/omdocbiblio}}
-
-@ARTICLE{MAH06,
- author = {Till Mossakowski and Serge Autexier and Dieter Hutter},
- title = {Development Graphs -- Proof Management for Structured Specifications},
- journal = {Journal of Logic and Algebraic Programming},
- year = {2006},
- volume = {67},
- pages = {114--145},
- number = {1--2},
- publisher = {Elsevier},
- pubs = {projects/omoc}}
-
-@inproceedings{TudoracheEtAl:WebProtege_2011,
- author = {Tudorache, Tania and Noy, Natalya F. and Falconer, Sean M. and Musen, Mark A.},
- title = {A knowledge base driven user interface for collaborative ontology development},
- booktitle = {Proceedings of the 16th international conference on Intelligent user interfaces},
- series = {IUI '11},
- year = {2011},
- isbn = {978-1-4503-0419-1},
- location = {Palo Alto, CA, USA},
- pages = {411--414},
- numpages = {4},
- url = {http://doi.acm.org/10.1145/1943403.1943478},
- doi = {10.1145/1943403.1943478},
- acmid = {1943478},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {configuration, declarative user interface, knowledge base interfaces, model-based user interface, reuse, roles, web-based user interface},
-}
-@book{Pirolli:InformationForagingTheory_2009,
- author = {Peter Pirolli},
- publisher = {Oxford University Press},
- series = {Oxford Series in Human-Technology Interaction},
- title = {Information Foraging Theory},
- subtitle = {Adaptive Interaction with Information},
- year = {2009}}
-
-@INPROCEEDINGS{Kolko:SensemakingFraming_2010,
- author = {Jon Kolko},
- title = {Sensemaking and Framing: A Theoretical Reflection on Perspective in Design Synthesis},
- booktitle = {Design Research Society Conference Proceedings 2010},
- year = 2010,
- }
-
-@inproceedings{LeRoux:PeopleFrames_2010,
- author = {le Roux, D. B. and le Roux, G. P.},
- title = {People frames: the social construction of information systems},
- booktitle = {Proceedings of the 4th Symposium on Computer Human Interaction for the Management of Information Technology},
- series = {CHiMiT '10},
- year = {2010},
- isbn = {978-1-4503-0447-4},
- location = {San Jose, California},
- pages = {1:1--1:9},
- articleno = {1},
- numpages = {9},
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@inproceedings{RussellEtAl:CostStructureOfSenseMaking_1993,
- author = {Russell, Daniel M. and Stefik, Mark J. and Pirolli, Peter and Card, Stuart K.},
- title = {The cost structure of sensemaking},
- booktitle = {Proceedings of the INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems},
- series = {CHI '93},
- year = {1993},
- isbn = {0-89791-575-5},
- location = {Amsterdam, The Netherlands},
- pages = {269--276},
- numpages = {8},
- url = {http://doi.acm.org/10.1145/169059.169209},
- doi = {10.1145/169059.169209},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {cost structure, information access, learning loop, representation search, representation shift, sensemaking},
-}
-
-@article{Dervin:SenseMakingTheoryOverview_1998,
- author = {Dervin, Brenda},
- title = {Sense-making theory and practice: an overview of user interests in knowledge seeking and use},
- journal = {Journal of Knowledge Management},
- volume = {2},
- number = {2},
- year = {1998},
- pages = {36--46},
- publisher = {MCB UP Ltd},
-}
-
-@inproceedings{Sharma:ResourcesInSenseMaking_2011,
- author = {Sharma, Nikhil},
- title = {Role of available and provided resources in sensemaking},
- booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
- series = {CHI '11},
- year = {2011},
- isbn = {978-1-4503-0228-9},
- location = {Vancouver, BC, Canada},
- pages = {1807--1816},
- numpages = {10},
- url = {http://doi.acm.org/10.1145/1978942.1979204},
- doi = {10.1145/1978942.1979204},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {collaboration, handoffs, representations, resources, sensemaking, structure},
-}
-
-@book{Weick:SensemakingInOrganisations_1995,
- author = {Weick, K.E.},
- keywords = {MBA change_management learning organizational_change organizational_learning organizational_management psychology},
- publisher = {Sage Publications Inc},
- title = {{Sensemaking in Organizations}},
- year = 1995
-}
-
-@inproceedings{DiazEtAl:PortletInteroperability_2005,
- author = {D\'{\i}az, Oscar and Iturrioz, Jon and Irastorza, Arantza},
- title = {Improving portlet interoperability through deep annotation},
- booktitle = {Proceedings of the 14th international conference on World Wide Web},
- series = {WWW '05},
- year = {2005},
- isbn = {1-59593-046-9},
- location = {Chiba, Japan},
- pages = {372--381},
- numpages = {10},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {data-flow, deep-annotation, event, portal ontology, portlet interoperability},
-}
-
-@inproceedings{Bull_DynamicViews_2006,
- author = {Bull, R. Ian},
- title = {Integrating dynamic views using model driven development},
- booktitle = {Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research},
- series = {CASCON '06},
- year = {2006},
- location = {Toronto, Ontario, Canada},
- articleno = {17},
- publisher = {IBM Corp.},
- address = {Riverton, NJ, USA},
-}
-
-@article{IturriozEtAl:seMouse_2008,
-author = {Jon Iturrioz and Oscar Diaz and Sergio F. Anzuola},
-title = {Toward the Semantic Desktop: The seMouse Approach},
-journal ={IEEE Intelligent Systems},
-volume = {23},
-issn = {1541-1672},
-year = {2008},
-pages = {24--31},
-doi = {10.1109/MIS.2008.17},
-url = {http://doi.ieeecomputersociety.org/10.1109/MIS.2008.17},
-publisher = {IEEE Computer Society},
-address = {Los Alamitos, CA, USA},
-}
-
-@Book{Suchman:PlansAndSituatedActions,
- author = {Lucy A. Suchman},
- title = {Plans and Situated Actions: The problem of human machine communication},
- publisher = {Cambridge University Press},
- year = {1994 (1987)},
- series = {Learning in Doing: Social, cognitive, and computational perspectives},
- annote = {First published in 1987}}
-
-@InProceedings{FrankeEA10,
- author = {Marco Franke and Patrick Klein and Lutz Schr{\"o}der and Klaus-Dieter Thoben},
- title = {Ontological Semantics of Standards and PLM Repositories in the Product Development Phase},
- year = {2010},
- booktitle = {Proc. 20th CIRP Design Conference 2010},
- publisher = "Springer",
- editor = "Alain Bernard",
- url = {http://www.informatik.uni-bremen.de/~lschrode/papers/CAD-Onto.pdf}
-}
-
-@Article{KutzEA10,
- author = {Oliver Kutz and Till Mossakowski and Dominik L{\"u}cke},
- title = {Carnap, Goguen, and the Hyperontologies - Logical Pluralism and Heterogeneous Structuring in Ontology Design},
- year = {2010},
- journal = {Logica Univeralis},
- volume = {4}
-}
-
-@misc{EN1591,
- author = "{Technical Committee CEN/TC 74}",
- ALTtitle = {{EN 1591 - Flansche und ihre Verbindungen - Regeln f\"ur die Auslegung
- von Flanschverbindungen mit runden Flanschen und
- Dichtung}},
- title = {{EN 1591 -- Flanges and their joints -- Design rules for gasketed circular flange connections}},
- institution = "European Committee for Standardization",
- organization = "European Committee for Standardization",
- year = "2001" }
-
-@inproceedings{AbdulGhafurEA07,
- author = {Abdul-Ghafour, Samer and Ghodous, Parisa and Shariat, Behzad
-and Perna, Eliane},
- title = {A Common Design-Features Ontology for Product Data Semantics
-Interoperability},
- booktitle = {WI '07: Proceedings of the IEEE/WIC/ACM International
-Conference on Web Intelligence},
- year = {2007},
- isbn = {0-7695-3026-5},
- pages = {443--446},
- nodoi = {http://dx.doi.org/10.1109/WI.2007.5},
- publisher = {IEEE Computer Society},
- address = {Washington, DC, USA},
- }
-
-@article{Colombo07,
-title = "Towards the design of intelligent CAD systems: An ontological
-approach",
-journal = "Advanced Engineering Informatics",
-volume = "21",
-number = "2",
-pages = "153--168",
-year = "2007",
-annote = "Ontology of Systems and Software Engineering; Techniques to
-Support Collaborative Engineering Environments",
-issn = "1474-0346",
-doi = "10.1016/j.aei.2006.11.003",
-url = "http://www.sciencedirect.com/science/article/B6X1X-4NT7X97-5/2/e6cf3e070624b621dfd08dfac4bf058e",
-author = "Gianluca Colombo and Alessandro Mosca and Fabio Sartori"}
-
-@inProceedings{MaierEA03,
- author = {Maier, Andreas and Schnurr, Hans-Peter and Sure, York},
- affiliation = {Ontoprise GmbH, Karlsruhe, Germany },
- title = {Ontology-Based Information Integration in the Automotive Industry},
- booktitle = {The Semantic Web, ISWC 2003},
- series = "LNCS",
- publisher = "Springer",
- pages = {897--912},
- number = {2870},
- nourl = {http://dx.doi.org/10.1007/978-3-540-39718-2_57},
- year = {2003}
-}
-
-@incollection{AngeleEA09,
- author = {Angele, J{\"u}rgen and Kifer, Michael and Lausen, Georg},
- affiliation = {Ontoprise GmbH Amalienbadstrasse 36 D-76227 Karlsruhe Germany},
- title = {Ontologies in {F}-{L}ogic},
- booktitle = {Handbook on Ontologies},
- series = {International Handbooks Information Systems},
- editor = {Staab, Steffen and Studer, Rudi},
- publisher = "Springer",
- isbn = {978-3-540-92673-3},
- keyword = {Economics/Management Science},
- pages = {45--70},
- nourl = {http://dx.doi.org/10.1007/978-3-540-92673-3_2},
- year = {2009}
-}
-
-@inproceedings{BianconiEA06,
- author = {Francesco Bianconi and
- Paolo Conti and
- Luca Di Angelo},
- title = {Interoperability among CAD/CAM/CAE Systems: A Review of
- Current Research Trends},
- pages = {82--89},
- ee = {http://doi.ieeecomputersociety.org/10.1109/GMAI.2006.30},
- bibsource = {DBLP, http://dblp.uni-trier.de},
- ALTbooktitle = {2006 International Conference on Geometric Modeling and
- Imaging (GMAI 2006), 5-7 July 2006, London, UK},
- booktitle = {Geometric Modeling and Imaging, GMAI 2006},
- publisher = {IEEE Computer Society},
- year = {2006},
- isbn = {0-7695-2604-7},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@incollection{AngeleEA08,
- author = {J{\"u}rgen Angele and
- Michael Erdmann and
- Dirk Wenke},
- title = {Ontology-Based Knowledge Management in Automotive Engineering
- Scenarios},
- pages = {245--264},
- bibsource = {DBLP, http://dblp.uni-trier.de},
- editor = {Martin Hepp and
- Pieter De Leenheer and
- Aldo de Moor and
- York Sure},
- ALTbooktitle = {Ontology Management, Semantic Web, Semantic Web Services,
- and Business Applications},
- booktitle = {Ontology Management},
- publisher = "Springer",
- ALTseries = {Semantic Web And Beyond Computing for Human Experience},
- series = {Semantic Web And Beyond},
- volume = {7},
- year = {2008},
- isbn = {978-0-387-69900-4},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-@incollection {AbdulGhafourEA08,
- author = {Abdul-Ghafour, Samer and Ghodous, Parisa and Shariat, Behzad and Perna, Eliane},
- affiliation = {Claude Bernard Lyon I University LIRIS Lyon Research Center for Images and Intelligent Information Systems 43 Bd. Du 11 novembre 1918 69622 Villeurbanne France},
- title = {Towards an Intelligent {CAD} Models Sharing Based on Semantic Web Technologies},
- booktitle = {Collaborative Product and Service Life Cycle Management for a Sustainable World},
- series = {Advanced Concurrent Engineering},
- editor = {Curran, Richard and Chou, Shuo-Yan and Trappey, Amy},
- publisher = "Springer",
- isbn = {978-1-84800-972-1},
- keyword = {Engineering},
- pages = {195--203},
- nourl = {http://dx.doi.org/10.1007/978-1-84800-972-1_18},
- year = {2008}
-}
-
-@incollection {DeTroyerEA09,
- author = {De Troyer, Olga and Bille, Wesley and Kleinermann, Frederic},
- affiliation = {Vrije Universiteit Brussel Research Group WISE Pleinlaan 2 1050 Brussel Belgium},
- title = {Defining the Semantics of Conceptual Modeling Concepts for {3D} Complex Objects in Virtual Reality},
- booktitle = {J.\ Data Semantics XIV},
- series = "LNCS",
- editor = {Spaccapietra, Stefano and Delcambre, Lois},
- publisher = "Springer",
- isbn = {},
- pages = {1--36},
- number = {5880},
- nourl = {http://dx.doi.org/10.1007/978-3-642-10562-3_1},
- year = {2009}
-}
-
-@incollection {LastraDelamer09,
- author = {Martinez Lastra, Jose and Delamer, Ivan},
- title = {Ontologies for Production Automation},
- booktitle = {Advances in Web Semantics I},
- series = "LNCS",
- editor = {Dillon, Tharam and Chang, Elizabeth and Meersman, Robert and Sycara, Katia},
- publisher = "Springer",
- isbn = {},
- pages = {276--289},
- number = {4891},
- nourl = {http://dx.doi.org/10.1007/978-3-540-89784-2_11},
- year = {2009}
-}
-
-@TechReport{KrimaEA09,
- author = {Krima, S. and Barbau, R. and Fiorentini, X. and Sudarsan, R. and Sriram, R. D.},
- title = {{OntoSTEP}: {OWL-DL} Ontology for {STEP}},
- institution = {NIST},
- year = 2009,
- type = {Interagency Internal Report (NISTIR)},
- number = 7561,
- month = may,
-}
-
-@book{BaaderEA03,
- title = "The Description Logic Handbook: Theory, Implementation, and Applications",
- publisher = "Cambridge University Press",
- year = 2003,
- bibdate = "2004-03-04",
- bibsource = "DBLP,
- http://dblp.uni-trier.de/db/conf/dlog/handbook2003.html",
- editor = "Franz Baader and Diego Calvanese and Deborah L.
- McGuinness and Daniele Nardi and Peter F. Patel-Schneider",
- ISBN = "0-521-78176-0",
-}
-
-@Book{IsaHOLTutorial,
- author = {Tobias Nipkow and Lawrence C. Paulson and Makarius Wenzel},
- title = {Isabelle/HOL --- A Proof Assistant for Higher-Order Logic},
- publisher = "Springer",
- series = "LNCS",
- number = 2283,
- year = 2002}
-
-@article{Kapur88,
-title = "A refutational approach to geometry theorem proving",
-journal = "Artificial Intelligence",
-volume = "37",
-nonumber = "1-3",
-pages = "61--93",
-year = "1988",
-author = "Deepak Kapur"
-}
-
-@Book{BjornerHenson08,
- editor = {Dines Bj{\o}rner and Martin Henson},
- title = {Logics of Specification Languages},
- publisher = "Springer",
- year = 2008,
- series = {Monographs Theoret.\ Comput.\ Sci.}}
-
-@Article{HorrocksEA03,
- title = "From {SHIQ} and {RDF} to {OWL}: the making of a Web Ontology Language",
- author = "Ian Horrocks and Peter F. Patel-Schneider and Frank van Harmelen",
- journal = "Journal of Web Semantics",
- year = 2003,
- number = 1,
- volume = 1,
- bibdate = "2005-01-05",
- pages = "7--26",
- url = "http://dx.doi.org/10.1016/j.websem.2003.07.001"
-}
-
-@InProceedings{DietrichEA11,
- author = {Dominik Dietrich and Lutz Schr{\"o}der and Ewaryst Schulz},
- title = {Formalizing and Operationalizing Industrial Standards},
- year = {2011},
- editor = {Dimitra Giannakopoulou and Fernando Orejas},
- booktitle = {Fundamental Approaches to Software Engineering, FASE 2011},
- publisher = "Springer",
- series = "LNCS",
- url = {http://www.informatik.uni-bremen.de/~lschrode/papers/fm-standards.pdf},
-}
-
-@InProceedings{GoreEA10,
- author = {Rajeev Gore and Clemens Kupke and Dirk Pattinson and Lutz Schr{\"o}der},
- title = {Global Caching for Coalgebraic Description Logics},
- year = {2010},
- editor = {J{\"u}rgen Giesl and Reiner Haehnle},
- booktitle = {International Joint Conference on Automated Reasoning, IJCAR 2010},
- publisher = "Springer",
- series = "LNCS",
- number = {6173},
- pages = {46--60},
- url = {http://www.informatik.uni-bremen.de/~lschrode/papers/hyGlobalCaching.pdf},
-}
-@article{BorgoEA09,
- author = {Stefano Borgo and
- Massimiliano Carrara and
- Pawel Garbacz and
- Pieter E. Vermaas},
- title = {A formal ontological perspective on the behaviors and functions
- of technical artifacts},
- ALTjournal = {AI EDAM},
- journal = "Artif.\ Intell.\ Eng.\ Design, Analysis and Manuf.",
- volume = {23},
- nonumber = {1},
- year = {2009},
- pages = {3--21},
- ee = {http://dx.doi.org/10.1017/S0890060409000079},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@InProceedings{BorgoEA97,
- author = {Borgo, S. and Guarino, N. and Masolo, C.},
- title = {An Ontological Theory of Physical Objects},
- booktitle = {11th International Workshop on Qualitative Reasoning},
- pages = {223--231},
- year = 1997,
- editor = {L. Ironi},
- address = {Cortona, Italy},
- month = {June 3-6},
- organization = {IAN-CNR}}
-
-@InProceedings{LeboEtAl:ProdUsLOGD2011,
- author = {Tim Lebo and John Erickson and Li Ding and Alvaro Graves and Gregory T. Williams and Dominic DiFranzo and Xian Li and James Michaelis and Jin Zheng and Johanna Flores and Zhenning Shangguan and Deborah L. McGuinness and Jim Hendler},
- title = {Producing and Using Linked Open Government Data in the {TWC} {LOGD} Portal},
- booktitle = {Linking Government Data},
- editor = {David Wood},
- chapter = 4,
- year = {2011},
- isbn = {978-1-4614-1766-8},
- publisher = {Springer},
- pubs = {projects/krextor},
-}
-
-@book{DauLynCar:dcglmr14,
- title = {Developing a 21st Century Global Library for Mathematics Research},
- author = {Ingrid Daubechies and Clifford A. Lynch and Kathleen M. Carley and
- Timothy W. Cole and Judith L. Klavans and Yann LeCun and
- Michael Lesk and Peter Olver and Jim Pitman and Zhihong Xia},
- url = {http://www.nap.edu/catalog/18619/developing-a-21st-century-global-library-for-mathematics-research},
- publisher = {THE NATIONAL ACADEMIES PRESS},
- year = {2014},
- isbn = {978-0-309-29848-3}}
-
-@online{webofscience:on,
- label = {ISI},
- url = {webofscience.com},
- title = {Web of Science}}
-
-@InProceedings{TRTBN:OpenStreetMapWebOfData11,
- author = {Johannes Trame and Philippe Rieffel and Umut Tas and Alkyoni Baglatzi and Volker von Nathusius},
- title = {{LOSM} -- A lightweight approach to integrate {OpenStreetMap} into the Web of Data},
- booktitle = {Geoinformatik},
- year = {2011},
- pubs = {projects/krextor},
- venue = {M{\"u}nster, Germany},
-}
-
-@inproceedings{BacAltNewSta:cbrapmdsr11,
- series = {LNCS, LNCS},
- month = {9},
- year = {2011},
- title = {A Case-Based Reasoning Approach for Providing Machine Diagnosis from Service Reports},
- booktitle = {Case-Based Reasoning Research and Development Case-Based Reasoning Research and Development. International Conference on Case-Based Reasoning (ICCBR-2011), September 12-15, London, United Kingdom},
- editor = {Ashwin Ram and Nirmalie Wiratunga},
- number = {6880},
- pages = {363--377},
- isbn = {978-3-642-23290-9},
- publisher = {Springer Verlag},
- author = {Kerstin Bach and Klaus-Dieter Althoff and R{\'e}gis Newo and Armin Stahl},
- keywords = {Case-based reasoning, machine diagnosis},
- url = {http://www.dfki.de/web/research/publications/renameFileForDownload?filename=iccbr_submission_44_final.pdf&file_id=uploads_1086}
-}
-
-@inproceedings{EG:UserFriendlyFuncProgWebMash07,
- author = {Rob Ennals and David Gay},
- title = {User-friendly functional programming for web mashups},
- booktitle = {ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming},
- pages = {223--234},
- publisher = {ACM},
- year = {2007},
- address = {New York},
- doi = {10.1145/1291151.1291187}
-}
-
-@article{CrudgeJohnson:InformationSeekingRGT_2004,
- author = {Sarah E. Crudge and
- Frances C. Johnson},
- title = {Using the information seeker to elicit construct models
- for search engine evaluation},
- journal = {JASIST},
- volume = {55},
- number = {9},
- year = {2004},
- pages = {794-806},
- ee = {http://dx.doi.org/10.1002/asi.20023},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@MISC{DijksterhuisGower:InterpretationOfGPA,
-author = {Garmt Dijksterhuis and John Gower},
- title = {The Interpretation of Generalized Procrustes Analysis and Allied Methods},
- howpublished = {\url{http://www.datatheory.nl/pdfs/91/91_08.pdf}},
- year = {1992}}
-
-@article{GriceAssad:GeneralProcrustesAnalysis:2009,
- author = {James W. Grice and Kimberley K. Assad},
- title = {General Procrustes Analysis: A Tool for Exploring Aggregates and Persons},
- journal = {Applied Multivariate Research},
- volume = {13},
- number = {1},
- year = {2009},
- pages = {93--112},
-}
-
-
-@article{KoEtAl:SoA_of_EndUserSoftwareEngineering:2011,
- author = {Ko, Andrew J. and Abraham, Robin and Beckwith, Laura and Blackwell, Alan and Burnett, Margaret and Erwig, Martin and Scaffidi, Chris and Lawrance, Joseph and Lieberman, Henry and Myers, Brad and Rosson, Mary Beth and Rothermel, Gregg and Shaw, Mary and Wiedenbeck, Susan},
- title = {The state of the art in end-user software engineering},
- journal = {ACM Comput. Surv.},
- issue_date = {April 2011},
- volume = {43},
- number = {3},
- month = apr,
- year = {2011},
- issn = {0360-0300},
- pages = {21:1--21:44},
- articleno = {21},
- numpages = {44},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {End-user software engineering, end-user development, end-user programming, human-computer interaction, visual programming},
-}
-
-@INPROCEEDINGS{Green:CognitiveDimsOfNotations:1989,
- author = {T. R. G. Green},
- title = {Cognitive dimensions of notations},
- booktitle = {People and Computers V},
- year = {1989},
- pages = {443--460},
- publisher = {University Press}
-}
-
-@INPROCEEDINGS{NardiMiller:EthnographicSpshtDev:1990,
- author = {Bonnie A. Nardi and James R. Miller},
- title = {An Ethnographic Study of Distributed Problem Solving in Spreadsheet Development},
- booktitle = {Proceedings of the 1990 ACM conference on Computer-supported cooperative work},
- year = {1990},
- pages = {197--208},
- publisher = {ACM Press}
-}
-
-@inproceedings{NardiMiller:SpreadsheetInterface:1990,
- author = {Nardi, Bonnie A. and Miller, James R.},
- title = {The spreadsheet interface: A basis for end user programming},
- booktitle = {Proceedings of the IFIP TC13 Third Interational Conference on Human-Computer Interaction},
- series = {INTERACT '90},
- year = {1990},
- isbn = {0-444-88817-9},
- pages = {977--983},
- numpages = {7},
- publisher = {North-Holland Publishing Co.},
- address = {Amsterdam, The Netherlands, The Netherlands}
-}
-
-@book{Nardi:SmallMatterOfProgramming:1993,
- author = {Nardi, Bonnie A.},
- title = {A Small Matter of Programming: Perspectives on End User Computing},
- year = {1993},
- isbn = {0262140535},
- edition = {1st},
- publisher = {MIT Press},
- address = {Cambridge, MA, USA},
-}
-
-@article{Blackwell:ReificationOfMetaphor:2006,
- author = {Blackwell, Alan F.},
- title = {The reification of metaphor as a design tool},
- journal = {ACM Trans. Comput.-Hum. Interact.},
- issue_date = {December 2006},
- volume = {13},
- number = {4},
- month = dec,
- year = {2006},
- issn = {1073-0516},
- pages = {490--530},
- numpages = {41},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {UI metaphor, design research, history of HCI},
-}
-
-@inproceedings{Gardiner:MixerRetrievalByExample:2011,
- author = {Gardiner, Steven and Tomasic, Anthony and Zimmerman, John and Aziz, Rafae and Rivard, Kathryn},
- title = {Mixer: mixed-initiative data retrieval and integration by example},
- booktitle = {Proceedings of the 13th IFIP TC 13 international conference on Human-computer interaction - Volume Part I},
- series = {INTERACT'11},
- year = {2011},
- isbn = {978-3-642-23773-7},
- location = {Lisbon, Portugal},
- pages = {426--443},
- numpages = {18},
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg},
- keywords = {data integration, end user programming, mixed initiative, programming by demonstration},
-}
-
-@article{HendryGreen:ComprehendingSpshts:1994,
- author = {David G. Hendry and
- Thomas R. G. Green},
- title = {Creating, comprehending and explaining spreadsheets: a cognitive
- interpretation of what discretionary users think of the
- spreadsheet model},
- journal = {Int. J. Hum.-Comput. Stud.},
- volume = {40},
- number = {6},
- year = {1994},
- pages = {1033--1065}
-}
-
-@article{HendryGreen:CogMap:1993,
- author = {David G. Hendry and
- Thomas R. G. Green},
- title = {CogMap: a Visual Description Language for Spreadsheets},
- journal = {J. Vis. Lang. Comput.},
- volume = {4},
- number = {1},
- year = {1993},
- pages = {35--54}
-}
-
-@ARTICLE{GreenPetre:UsabilityEUP:1996,
- author = {T. R. G. Green and M. Petre},
- title = {Usability Analysis of Visual Programming Environments: a `cognitive dimensions' framework},
- journal = {JOURNAL OF VISUAL LANGUAGES AND COMPUTING},
- year = {1996},
- volume = {7},
- pages = {131--174}
-}
-
-@inproceedings{LewisOlson:PrinciplesOfCognitionInProgramming:1987,
- author = {Clayton Lewis and Gary Olson},
- title = {Can principles of cognition lower the barriers to programming?},
- booktitle = {Empirical studies of programmers: Second workshop},
- editor = {Gary M. Olson and Sylvia Sheppard and Elliot Soloway},
- series = {Empirical studies of programmers},
- year = {1987},
- pages = {248--263},
- publisher = {Ablex Publishing Corp.},
- address = {Norwood, NJ, USA},
- keywords = {spreadsheets, cognition},
-}
-
-@article{WolstencroftEtAl:RightField:2011,
- author = {K. Wolstencroft and S. Owen and M. Horridge and O. Krebs O and W. Mueller and J.L. Snoep and F. du Preez and C.A. Goble},
- title = {RightField: Embedding ontology annotation in spreadsheets},
- journal = {Bioinformatics},
- volume = {24},
- number = {14},
- year = {2011},
- pages = {2021--2022}
-}
-
-@incollection{WolstencroftEtAl:ScientificKnowledgeAcquisitionThruSpshts:2012,
-year={2012},
-isbn={978-3-642-33875-5},
-booktitle={Knowledge Engineering and Knowledge Management (EKAW)},
-number={7603},
-series={LNCS},
-editor={Teije, Annette and V{\"o}lker, Johanna and Handschuh, Siegfried and Stuckenschmidt, Heiner and d'Acquin, Mathieu and Nikolov, Andriy and Aussenac-Gilles, Nathalie and Hernandez, Nathalie},
-title={RightField: Scientific Knowledge Acquisition by Stealth through Ontology-Enabled Spreadsheets},
-publisher={Springer Berlin Heidelberg},
-keywords={ontology annotation; biology; metadata standards; spreadsheets; RDF; linked data; e-science},
-author={Wolstencroft, Katy and Owen, Stuart and Horridge, Matthew and Mueller, Wolfgang and Bacall, Finn and Snoep, Jacky and Preez, Franco and Nguyen, Quyen and Krebs, Olga and Goble, Carole},
-pages={438--441}
-}
-
-@inproceedings{Chambers:StrugglingToExcel:2010,
- author = {Chambers, Chris and Scaffidi, Chris},
- title = {Struggling to Excel: A Field Study of Challenges Faced by Spreadsheet Users},
- booktitle = {Proceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing},
- series = {VLHCC '10},
- year = {2010},
- isbn = {978-0-7695-4206-5},
- pages = {187--194},
- numpages = {8},
- publisher = {IEEE Computer Society},
- address = {Washington, DC, USA},
- keywords = {Spreadsheets, End Users},
-}
-
-@article{CaulkinsEtAl:SpshtErrorsAndDecisionMaking:2007,
- author = {Jonathan P. Caulkins and Erica Layne Morrison and Timothy Weidemann},
- title = {Spreadsheet Errors and Decision Making: Evidence from Field
- Interviews},
- journal = {JOEUC},
- volume = {19},
- number = {3},
- year = {2007},
- pages = {1-23},
-}
-
-@article{BakerEtAl:SpshtUsersAndUse:2008,
- author = {Kenneth R. Baker and Stephen G. Powell and Barry Lawson and Lynn Foster-Johnson},
- title = {Comparison of Characteristics and Practices amongst Spreadsheet
- Users with Different Levels of Experience},
- journal = {CoRR},
- volume = {abs/0803.0168},
- year = {2008}
-}
-
-@article{ScaffidiEtAl:CategorizingEndUsers:2005,
- author = {Christopher Scaffidi and Mary Shaw and Brad A. Myers},
- title = {An approach for categorizing end user programmers to guide
- software engineering research},
- journal = {ACM SIGSOFT Software Engineering Notes},
- volume = {30},
- number = {4},
- year = {2005},
- pages = {1-5},
-}
-
-@inproceedings{ScaffidiEtAl:EstimatingEndUsers:2005,
- author = {Christopher Scaffidi and Mary Shaw and Brad A. Myers},
- title = {Estimating the Numbers of End Users and End User Programmers},
- booktitle = {VL/HCC},
- year = {2005},
- pages = {207-214}
-}
-
-@article{Xu:ObjectIndividuation:1999,
-title = "Object individuation and object identity in infancy: The role of spatiotemporal information, object property information, and language",
-journal = "Acta Psychologica",
-volume = "102",
-number = "2-3",
-pages = "113--136",
-year = "1999",
-issn = "0001-6918",
-author = "Fei Xu",
-keywords = "Object individuation",
-keywords = "Infant cognition, object individuation"
-}
-
-@article {McKnight:PersonalConstructionOfInfoSpace:1990,
-author = {McKnight, Cliff},
-title = {The personal construction of information space},
-journal = {Journal of the American Society for Information Science},
-volume = {51},
-number = {8},
-publisher = {John Wiley & Sons, Inc.},
-issn = {1097-4571},
-pages = {730--733},
-year = {2000},
-}
-
-@article{Newby:CognitiveSpaceAndInfoSpace:2001,
- author = {Gregory B. Newby},
- title = {Cognitive space and information space},
- journal = {JASIST},
- volume = {52},
- number = {12},
- year = {2001},
- pages = {1026-1048},
-}
-
-@article{FidelGreen:EngineersInformationBehavior:2004,
-title = "The many faces of accessibility: engineers' perception of information sources",
-journal = "Information Processing \& Management",
-volume = "40",
-number = "3",
-pages = "563 - 581",
-year = "2004",
-note = "",
-issn = "0306-4573",
-author = "Raya Fidel and Maurice Green",
-keywords = "Engineers' information behavior",
-keywords = "Selection of information sources",
-keywords = "Accessibility",
-keywords = "Human information sources"
-}
-
-@article{FidelPejtersen:FromInfoBehaviorToInfoDesign:2004,
- author = {Raya Fidel and
- Annelise Mark Pejtersen},
- title = {From information behaviour research to the design of information
- systems: the Cognitive Work Analysis framework},
- journal = {Inf. Res.},
- volume = {10},
- number = {1},
- year = {2004}
-}
-
-@book{Fidel:HumanInformationInteraction:2012,
- author = {Raya Fidel},
- title = {Human Information Interaction: An Ecological Approach to Information Behavior},
- year = {2012},
- isbn = {978-0-262-01700-8},
- edition = {1st},
- publisher = {MIT Press},
- address = {Cambridge, MA, USA},
-}
-
-@article{Grice:Idiogrid:2002,
-title = "Idiogrid: Software for the management and analysis of repertory grids",
-journal = "Behavior Research Methods, Instruments, \& Computers",
-volume = "34",
-pages = "338 - 341",
-year = "2002",
-author = "James W. Grice",
-}
-
-@MISC{Grice:GPAExample:2007,
-author = {James W. Grice},
- title = {Generalized Procrustes Analysis Example with Annotation},
- howpublished = {\url{http://www.idiogrid.com/GPA_Idiogrid_Example.pdf}},
- year = {2007}}
-
-@book{McLuhan:ExtensionsOfMan:1964,
- address = {New York},
- author = {McLuhan, Marshall},
- booktitle = {Understanding Media: The Extensions of Man},
- publisher = {McGraw-Hill},
- title = {Understanding media: The extensions of man},
- year = 1964
-}
-
-@book{McLuhan:ExtensionsOfMan:2003,
- title={Understanding Media: The Extensions of Man (Critical Edition), edited by W. Terrence Gordon. Corte Madera},
- author={McLuhan, Marshall},
- year={[1964] 2003},
- publisher={CA: Gingko Press}
-}
-
-@article{HermansEtAl:MeasuringSpshtFormulaUnderstandability:2012,
- author = {Felienne Hermans and
- Martin Pinzger and
- Arie van Deursen},
- title = {Measuring Spreadsheet Formula Understandability},
- journal = {CoRR},
- volume = {abs/1209.3517},
- year = {2012},
- ee = {http://arxiv.org/abs/1209.3517},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@inproceedings{HermansEtAl:SpshtDataflowDiagrams:2011,
- author = {Felienne Hermans and Martin Pinzger and Arie van Deursen},
- title = {Supporting professional spreadsheet users by generating leveled dataflow diagrams},
- booktitle = {ICSE},
- year = {2011},
- pages = {451-460},
- ee = {http://doi.acm.org/10.1145/1985793.1985855},
- crossref = {DBLP:conf/icse/2011},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@inproceedings{Asuncion:InSituProvenanceSpshts:2011,
- author = {Hazeline U. Asuncion},
- title = {In Situ Data Provenance Capture in Spreadsheets},
- booktitle = {eScience},
- year = {2011},
- pages = {240-247},
- crossref = {DBLP:conf/eScience/2011},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@article{Bregar:ComplexityMetricsForSpshts:2008,
- author = {Andrej Bregar},
- title = {Complexity Metrics for Spreadsheet Models},
- journal = {CoRR},
- volume = {abs/0802.3895},
- year = {2008},
- ee = {http://arxiv.org/abs/0802.3895},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-@article{morch1997three,
- title={Three levels of end-user tailoring: Customization, integration, and extension},
- author={M{\o}rch, A.},
- journal={Computers and design in context},
- pages={51--76},
- year={1997},
- publisher={The MIT Press, Cambridge, MA}
-}
-
-@TECHREPORT{SajaniemiEtAl:GoalsandPlans:1999,
- author = {Jorma Sajaniemi and Jorma Sajaniemi and Markku Tukiainen and Jarmo V{\"a}is{\"a}nen},
- title = {Goals and Plans in Spreadsheet Calculation},
- institution = {University of Joensuu, Dept. of Computer Science},
- year = {1999}
-}
-
-@article{Saariluoma:VisualInfoChunking:1989,
-title = "Visual information chunking in spreadsheet calculation",
-journal = "International Journal of Man-Machine Studies",
-volume = "30",
-number = "5",
-pages = "475 - 488",
-year = "1989",
-note = "",
-issn = "0020-7373",
-author = "Pertti Saariluoma and Jorma Sajaniemi"
-}
-
-@INPROCEEDINGS{RajalinghamEtAl:QualityControlInSpshts:2000,
-author={Rajalingham, K. and Chadwick, D. and Knight, B. and Edwards, D.},
-booktitle={System Sciences, 2000. Proceedings of the 33rd Annual Hawaii International Conference on},
-title={Quality control in spreadsheets: a software engineering-based approach to spreadsheet development},
-year={2000},
-month={jan.},
-volume={},
-number={},
-pages={ 10 pp. vol.1},
-keywords={Financial management;Frequency;Quality control;Software quality; data integrity; quality control; software quality; spreadsheet programs; integrity control; quality control; software engineering; spreadsheets; tree-based formula representation;},
-}
-
-@article{ChadwickEtal:QualityControlVisualApproach:2001,
- author = {David Chadwick and
- Brian Knight and
- Kamalasen Rajalingham},
- title = {Quality Control in Spreadsheets: A Visual Approach using
- Color Codings to Reduce Errors in Formulae},
- journal = {Software Quality Journal},
- volume = {9},
- number = {2},
- year = {2001},
- pages = {133-143}
-}
-
-@inproceedings{Jorges:FormulaBuilder:2006,
- author = {J{\"o}rges, Sven and Margaria, Tiziana and Steffen, Bernhard},
- title = {FormulaBuilder: a tool for graph-based modelling and generation of formulae},
- booktitle = {Proceedings of the 28th international conference on Software engineering},
- series = {ICSE '06},
- year = {2006},
- isbn = {1-59593-375-1},
- location = {Shanghai, China},
- pages = {815--818},
- numpages = {4},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {formula generation, property specification, specification patterns},
-}
-
-@article{SajaniemiPekkanen:EmpiricalAnalysisOfSpshts:1988,
- author = {Sajaniemi, Jorma and Pekkanen, Jari},
- title = {An empirical analysis of spreadsheet calculation},
- journal = {Softw. Pract. Exper.},
- issue_date = {June, 1988},
- volume = {18},
- number = {6},
- month = jun,
- year = {1988},
- issn = {0038-0644},
- pages = {583--596},
- numpages = {14},
- publisher = {John Wiley \& Sons, Inc.},
- address = {New York, NY, USA},
-}
-
-@inproceedings{Sharmin:SlideBasedContextualCuesPPT:2012,
- author = {Sharmin, Moushumi and Bergman, Lawrence and Lu, Jie and Konuru, Ravi},
- title = {On slide-based contextual cues for presentation reuse},
- booktitle = {Proceedings of the 2012 ACM international conference on Intelligent User Interfaces},
- series = {IUI '12},
- year = {2012},
- isbn = {978-1-4503-1048-2},
- location = {Lisbon, Portugal},
- pages = {129--138},
- numpages = {10},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {contextual recommendation, local context, slide-based search, visual representation},
-}
-
-@inproceedings{KankuziAyalew:GraphBasedVisualizationForSpshts:2008,
- author = {Kankuzi, Bennett and Ayalew, Yirsaw},
- title = {An end-user oriented graph-based visualization for spreadsheets},
- booktitle = {Proceedings of the 4th international workshop on End-user software engineering},
- series = {WEUSE '08},
- year = {2008},
- isbn = {978-1-60558-034-0},
- location = {Leipzig, Germany},
- pages = {86--90},
- numpages = {5},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {end-user software engineering, mcl algorithm, spreadsheets, visual programming, visualization},
-}
-
-@inproceedings{GrifHuis:ComparisonPVSIsabelle98,
- author = {David Griffioen and Marieke Huisman},
- title = {A comparison of {PVS} and {Isabelle/HOL}},
- editor = {Jim Grundy and Malcolm Newey},
- booktitle = {Theorem Proving in Higher Order
-Logics},
- eventtitle = {11\textsuperscript{th} International Conference, TPHOLs'98},
- number = 1479,
- series = {LNCS},
- pages = {123--142},
- publisher = {Springer-Verlag},
- year = 1998}
-
-@phdthesis{Hachey2011,
-author = {Hachey, Ghislain},
-pages = {47},
-title = {{Semantic Web User Interface: A Systematic Survey}},
-type = {Master Thesis},
-year = {2011}
-}
-
-@book{Kendall2009,
-editor = {Kendall, Elisa F and Pan, Jeff Z},
-isbn = {2008216691},
-number = {October},
-pages = {25--29},
-title = {{SWESE 2009 : 5th International Workshop on Semantic Web Enabled Software Engineering}},
-year = {2009}
-}
-
-@article{Khalili2012,
-author = {Khalili, Ali},
-keywords = {applications,content authoring,semantic web,user interface},
-number = {May},
-title = {{User Interfaces for Semantic Content Authoring : A Systematic Literature Review}},
-year = {2012}
-}
-
-@article{Paulheim,
-author = {Paulheim, Heiko and Probst, Florian},
-number = {2},
-title = {{Ontology-Enhanced User Interfaces : A Survey}},
-volume = {6}
-}
-
-@InProceedings{SSCB:TPTP-FOF12,
- Author = "Geoff Sutcliffe and Stephan Schulz and Koen Claessen and Peter Baumgartner",
- Year = 2012,
- Title = "The {TPTP} Typed First-order Form with Arithmetic",
- Editor = "Nikolaj Bj{\o}rner and Andrei Voronkov",
- BookTitle = "{Proceedings of the 18\textsuperscript{th} International Conference on Logic
- for Programming Artificial Intelligence and Reasoning}",
- venue = "Merida, Venezuela",
- Series = "LNAI",
- Number = "7180",
- Pages = "406--419",
- Publisher = "Springer-Verlag",
-}
-
-@article{Farmer:STT08,
- author = {William M. Farmer},
- title = {The seven virtues of simple type theory},
- journal = {Journal of Applied Logic},
- volume = 6,
- number = 3,
- month = sep,
- year = 2008,
- pages = {267--286}
-}
-
-@ARTICLE{urban2006mizarmode,crossref={Urban:MizarMode}}
-@article{Urban:MizarMode,
- journal = {Journal of Applied Logic},
- author = {Josef Urban},
- title = {{MizarMode}---an integrated proof assistance tool for the {Mizar} way of formalizing mathematics},
- issuetitle = {Towards Computer Aided Mathematics},
- editor = {Christoph Benzm{\"u}ller},
- pages = {414--427},
- year = 2006,
- month = dec,
- volume = 4,
- number = 4,
- publisher = {Elsevier},
- issn = {1570-8683},
- doi = {10.1016/j.jal.2005.10.004},}
-
-@online{Sutcliffe:SZS,
- author = {Geoff Sutcliffe},
- title = {The {SZS} Ontology},
- url = {http://www.cs.miami.edu/~tptp/TPTP/TPTPTParty/2007/PositionStatements/GeoffSutcliffe_SZS.html},
- urldate = {2013-03-09},
-}
-
-@techreport{Raymond:AskQuestionsSmart,
- author = {Eric Steven Raymond and Rick Moen},
- title = {How To Ask Questions The Smart Way},
- organization = {Thyrsus Enterprises},
- version = {3.8},
- date = {2012-06-19},
- url = {http://www.catb.org/esr/faqs/smart-questions.html},
-}
-
-@inproceedings{Moore:CICM-WS-WiP2013,
-title = {Tagged mathematics in {PDFs} for accessibility and other purposes},
-author = {Ross Moore},
-url = {http://ceur-ws.org/Vol-1010/paper-01.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Misutka:CICM-WS-WiP2013,
-title = {Scaling feature based mathematical search engine for real-world document sets},
-author = {Jozef Mi{\v s}utka},
-url = {http://ceur-ws.org/Vol-1010/paper-02.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Murray-Rust:CICM-WS-WiP2013,
-title = {The {Declaratron}, semantic specification for scientific computation using {MathML}},
-author = {Dave Murray-Rust and Peter Murray-Rust},
-url = {http://ceur-ws.org/Vol-1010/paper-03.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{CarterMonks:WiP:CICM-WS-WiP2013,
-title = {{Lurch}: a word processor that can grade students' proofs},
-author = {Nathan C. Carter and Kenneth G. Monks},
-url = {http://ceur-ws.org/Vol-1010/paper-04.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Meshveliani:CICM-WS-WiP2013,
-title = {Dependent types for an adequate programming of algebra},
-author = {Sergei D. Meshveliani},
-url = {http://ceur-ws.org/Vol-1010/paper-05.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{BottaEtAl:CICM-WS-WiP2013,
-title = {Sequential decision problems, dependently-typed solutions},
-author = {Nicola Botta and Cezar Ionescu and Edwin Brady},
-url = {http://ceur-ws.org/Vol-1010/paper-06.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Ballarin:CICM-WS-WiP2013,
-title = {Reading an algebra textbook},
-author = {Clemens Ballarin},
-url = {http://ceur-ws.org/Vol-1010/paper-07.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{BaetaQuaresma:CICM-WS-WiP2013,
-title = {The full angle method on the {OpenGeoProver}},
-author = {Nuno Baeta and Pedro Quaresma},
-url = {http://ceur-ws.org/Vol-1010/paper-08.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Neuper:CICM-WS-WiP2013,
-title = {Computer algebra implemented in {Isabelle}'s function package under {Lucas}-Interpretation -- a Case Study},
-author = {Walther Neuper},
-url = {http://ceur-ws.org/Vol-1010/paper-09.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{AndresEtAl:CICM-WS-WiP2013,
-title = {Towards automatic generation of domain-specific mathematical input support},
-author = {Eric Andr{\`e}s and Bastiaan Heeren and Johan Jeuring},
-url = {http://ceur-ws.org/Vol-1010/paper-10.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{AnjewierdenEtAl:CICM-WS-WiP2013,
-title = {{Ziggy}: very interactive trigonometry},
-author = {Anjo Anjewierden and Ellen T. Kamp and Ton de Jong},
-url = {http://ceur-ws.org/Vol-1010/paper-11.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{HuWatt:CICM-WS-WiP2013,
-title = {{InkChat}: a collaboration tool for mathematics},
-author = {Rui Hu and Stephen M. Watt},
-url = {http://ceur-ws.org/Vol-1010/paper-14.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{KnopperCuypers:CICM-WS-WiP2013,
-title = {Interactive mathematical videos},
-author = {Hans Cuypers and Jan Willem Knopper},
-url = {http://ceur-ws.org/Vol-1010/paper-16.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Marques:CICM-WS-WiP2013,
-title = {Edition with {Arabic} mathematical notation},
-author = {Daniel Marqu{\`e}s},
-url = {http://ceur-ws.org/Vol-1010/paper-18.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{MazalovWatt:CICM-WS-WiP2013,
-title = {Recommendation systems in mathematical character recognition},
-author = {Vadim Mazalov and Stephen M. Watt},
-url = {http://ceur-ws.org/Vol-1010/paper-19.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{NicaudViudez:CICM-WS-WiP2013,
-title = {Implementation of dynamic algebra in {Epsilonwriter}},
-author = {Jean-Fran{\c c}ois Nicaud and Christophe Viudez},
-url = {http://ceur-ws.org/Vol-1010/paper-20.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Hellstrom:Quantifiers:CICM-WS-WiP2013,
-title = {Quantifiers and n-ary binders: an {OpenMath} standard enhancement proposal},
-author = {Lars Hellstr{\"o}m},
-url = {http://ceur-ws.org/Vol-1010/paper-21.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{Hellstrom:Literate:CICM-WS-WiP2013,
-title = {Literate sources for content dictionaries},
-author = {Lars Hellstr{\"o}m},
-url = {http://ceur-ws.org/Vol-1010/paper-22.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{CarterMonks:OM:CICM-WS-WiP2013,
-title = {{Lurch}: a word processor built on {OpenMath} that can check mathematical reasoning},
-author = {Nathan C. Carter and Kenneth G. Monks},
-url = {http://ceur-ws.org/Vol-1010/paper-23.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-%%%%%%%% Sommerakademie St. Johann %%%%%%%%%
-% Kompositionalität
-
-
-@InProceedings{MitLap:vmsc13,
- author = {Mitchell, J. and Lapata, M.},
- title = {Vector-based Models of Semantic Composition},
- url = {http://homepages.inf.ed.ac.uk/s0453356/composition.pdf},
- crossref = {ACL08},
- pages = {236--244}}
-
-
-@InProceedings{BarZ:amnvam10,
- author = {Baroni, M. and Zamparelli, R.},
- title = {Nouns are vectors, adjectives are matrices: Representing adjective-noun constructions in semantic space},
- crossref = {CEMNLP10},
- pages = {1183--1193},
- url = {http://clic.cimec.unitn.it/marco/publications/bz-adj-com-emnlp10.pdf}
-}
-
-@misc{Grefenstette:tfds13,
- author = {Grefenstette, E.},
- title = {Towards a formal distributional semantics: Simulating logical calculi with tensors},
- url = {http://arxiv.org/pdf/1304.5823v2.pdf},
- eprint = {1304.5823},
- eprinttype = {arxiv},
- year = 2013
-}
-
-%Kontextuelle Spezifikation
-
-@InProceedings{ErkPad:svspmwmc08,
- author = {Erk, K. and Pad{\'o}, S.},
- title = {A structured vector space model for word meaning in context},
- url = {https://www.aclweb.org/anthology-new/D/D08/D08-1094.pdf},
- crossref = {CEMNLP08},
- pages = {897--906}}
-
-
-@InProceedings{DinLap:mdsc10,
- author = {Dinu, G. and Lapata, M.},
- title = {Measuring distributional similarity in context},
- crossref = {CEMNLP10},
- url = {http://www.aclweb.org/anthology-new/D/D10/D10-1113.pdf},
- pages = {1162--1172}}
-
-
-
-@InProceedings{ThaFuePin:csrsvm10,
- author = {Thater, S. and F{\"u}rstenau and H. and Pinkal, M.},
- title = {Contextualizing semantic representations using syntactically enriched vector models.},
- crossref = {ACL10},
- url = {http://eprints.pascal-network.org/archive/00008090/01/acl10_contextualizing.pdf},
- pages = {948--957}}
-
-%Inferenz
-
-@InProceedings{LinPan:dirt01,
- author = {Lin, D. and Pantel, P.},
- title = {DIRT@ SBT@ discovery of inference rules from text},
- crossref = {SIGKDD01},
- pages = {323--328},
- url = {http://www.egr.msu.edu/~jchai/QAPapers/InferenceRulesQA-Lin.pdf}}
-
-
-@InProceedings{BhaPanHov:ledir07,
- author = {Bhagat, R. and Pantel, P. and Hovy, E. H. and Rey, M.},
- title = {LEDIR: An Unsupervised Algorithm for Learning Directionality of Inference Rules},
- booktitle = {EMNLP-CoNLL},
- pages = {161--170},
- year = 2007,
- url = {http://acl.ldc.upenn.edu/D/D07/D07-1017.pdf}}
-
-
-@InProceedings{PanBhaCop:lisp07,
- author = {Pantel, P. and Bhagat, R. and Coppola, B. and Chklovski, T. and Hovy, E. H.},
- title = {ISP: Learning Inferential Selectional Preferences},
- url = {http://acl.ldc.upenn.edu/N/N07/N07-1071.pdf},
- crossref = {HLT-NAACL},
- pages = {564--571}}
-
-
-%Textueller Inferenz
-
-
-@InCollection{DagGliMag:prtec06,
- author = {Dagan, I. and Glickman, O. and Magnini, B.},
- title = {The pascal recognising textual entailment challenge},
- booktitle = {Machine Learning Challenges. Evaluating Predictive Uncertainty, Visual Object Classification, and Recognising Tectual Entailment},
- pages = {177--190},
- publisher = {Springer Berlin Heidelberg},
- year = 2006,
- url = {http://eprints.pascal-network.org/archive/00001298/01/dagan_et_al_rte05.pdf}}
-
-
-@InProceedings{BosMar:rteli05,
- author = {Bos, J. and Markert, K.},
- title = {Recognising textual entailment with logical inference.},
- booktitle = {Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing},
- pages = {628--635},
- year = 2005,
- month = {october},
- publisher = {Association for Computational Linguistics},
- url = {http://acl.ldc.upenn.edu/H/H05/H05-1079.pdf}}
-
-@PhdThesis{MacCartney:nli09,
- author = {MacCartney, B.},
- title = {Natural language inference},
- school = {Stanford University},
- year = 2009,
- doi= {10.1.1.156.2685}}
-
-@misc{AndMal:sptem09,
- year = 2009,
- eprint = {0912.3747},
- eprinttype = {arxiv},
- author = {Androutsopoulos, I. and Malakasiotis, P.},
- title = {A survey of paraphrasing and textual entailment methods},
- url = {http://arxiv.org/pdf/0912.3747.pdf}}
-
-@InProceedings{MacMan:nlti07,
- author = {MacCartney, B. and Manning, C. D.},
- title = {Natural logic for textual inference},
- booktitle = {Proceedings of the ACL-PASCAL Workshop on Textual Entailment and Paraphrasing},
- pages = {193--200},
- year = 2007,
- month = {june},
- publisher = {Association for Computational Linguistics},
- url = {http://acl.ldc.upenn.edu/W/W07/W07-14.pdf#page=207}}
-
-%Grounding
-
-@InProceedings{BruTraBar:dsti11,
- author = {Bruni, E. and Tran, G. B. and Baroni, M.},
- title = {Distributional semantics from text and images},
- booktitle = {Proceedings of the GEMS 2011 Workshop on GEometrical Models of Natural Language Semantics},
- pages = {22--32},
- year = 2011,
- month = {July},
- publisher = {Association for Computational Linguistics},
- url = {http://www.newdesign.aclweb.org/anthology-new/W/W11/W11-25.pdf#page=32}}
-
-
-@InProceedings{RegRohWet:gadv13,
- author = {Regneri, M. and Rohrbach, M. and Wetzel, D. and Thater, S. and Schiele, B. and Pinkal, M.},
- title = {Grounding Action Descriptions in Videos},
- url = {http://www.aclweb.org/anthology/Q/Q13/Q13-1003.pdf}}
-
-@InProceedings{TitKoz:bsanct10,
- author = {Titov, I. and Kozhevnikov, M.},
- title = {Bootstrapping semantic analyzers from non-contradictory texts},
- crossref = {ACL10},
- pages = {958--967},
- url = {http://people.mmci.uni-saarland.de/~titov/papers/acl10_sem.pdf}}
-
-@InProceedings{SilLap:gmsr12,
- author = {Silberer, C. and Lapata, M.},
- title = {Grounded models of semantic representation},
- crossref = {CEMNLP-CNLL12},
- pages = {1423--1433},
- url = {https://www.aclweb.org/anthology/D/D12/D12-1130.pdf}}
-
-%Role Labeling
-
-@Article{GilJur:alsr02,
- author = {Gildea, D. and Jurafsky, D.},
- title = {Automatic labeling of semantic roles},
- journal = {Computational linguistics},
- year = 2002,
- volume = 28,
- number = 3,
- pages = {245--288},
- url = {http://acl.ldc.upenn.edu/J/J02/J02-3001.pdf}}
-
-@InProceedings{DasSchChe:pfsp10,
- author = {Das, D. and Schneider, N. and Chen, D. and Smith, N. A.},
- title = {Probabilistic frame-semantic parsing},
- crossref = {HLT-NAACL10},
- pages = {948--956},
- url = {http://www.aclweb.org/anthology-new/N/N10/N10-1138.pdf}}
-
-@InProceedings{LanLap:usrigp11,
- author = {Lang, J. and Lapata, M.},
- title = {Unsupervised semantic role induction with graph partitioning},
- crossref = {CEMNLP11},
- url = {http://www.aclweb.org/anthology/D/D11/D11-1122.pdf},
- pages = {1320--1331}}
-
-
-% Induktives Lernen komplexer semantischer Strukturen
-
-@InProceedings{PooDom:usp09,
- author = {Poon, H. and Domingos, P.},
- title = {Unsupervised semantic parsing},
- crossref = {CEMNLP09},
- pages = {1--10},
- url = {http://ml.cs.washington.edu/www/media/papers/poon09.pdf}}
-
-@InProceedings{TitKle:bmusp11,
- author = {Titov, I. and Klementiev, A.},
- title = {A Bayesian model for unsupervised semantic parsing},
- crossref = {ACL11},
- url = {http://www.newdesign.aclweb.org/anthology-new/P/P11/P11-1145.pdf},
- pages = {1445-1455}}
-
-%%%%%%%%%% End St. Johann
-
-@article{BatKol:GeospatialSemWeb12,
- author = {Robert Battle and Dave Kolas},
- title = {Enabling the geospatial {Semantic Web} with {Parliament} and {GeoSPARQL}},
- journal = {Semantic Web},
- volume = 3,
- number = 4,
- pages = {355--370},
- year = 2012,
- url = {http://www.semantic-web-journal.net/content/enabling-geospatial-semantic-web-parliament-and-geosparql}
-}
-
-@TechReport{PlanetData:ContextualAspects13,
- author = {Andreas Harth and Juan Salas and Anisa Rula and Boris Villaz{\'o}n-Terrazas and Jasna {\v S}krbec and Carolina Fortuna},
- title = {Modelling and Processing Contextual Aspects of Data},
- institution = {PlanetData Network of Excellence},
- year = {2013},
- type = {Deliverable},
- number = {D2.3},
- url = {http://www.planet-data.eu/sites/default/files/D2.3.pdf}}
-
-@online{Thereaux:ConNeg06,
- author = {Olivier Thereaux},
- title = {Content Negotiation: why it is useful, and how to make it work},
- date = {2006-02-21},
- url = {http://www.w3.org/blog/2006/02/content-negotiation/},
-}
-
-@book{Hales:DenseSpherePackings12,
- author = {Thomas Hales},
- title = {Dense Sphere Packings},
- subtitle = {A Blueprint for Formal Proofs},
- publisher = {Cambridge University Press},
- date = {2012-09-06},
- series = {London Mathematical Society Lecture Note Series},
- number = 400,
-}
-
-@BOOK{WardEtAl:Visualization_2010,
- author = {Ward, Matthew O. and Grinstein, Georges and Keim, Daniel A.},
- month = May,
- publisher = {A. K. Peters, Ltd},
- title = {{Interactive Data Visualization: Foundations, Techniques, and Application}},
- year = {2010},
-}
-
-@article{OBrienEtAl:UseOfPriorKnowledge_2012,
- author = {O'brien, Marita A. and Rogers, Wendy A. and Fisk, Arthur D.},
- title = {Understanding age and technology experience differences in use of prior knowledge for everyday technology interactions},
- journal = {ACM Trans. Access. Comput.},
- issue_date = {March 2012},
- volume = {4},
- number = {2},
- month = mar,
- year = {2012},
- issn = {1936-7228},
- pages = {9:1--9:27},
- articleno = {9},
- numpages = {27},
- doi = {10.1145/2141943.2141947},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {Prior knowledge, aging, older adults, prior experience, technology experience, troubleshooting},
-}
-
-@article{HassenzahlEtAl:AllYouNeedIsLove_2012,
- author = {Hassenzahl, Marc and Heidecker, Stephanie and Eckoldt, Kai and Diefenbach, Sarah and Hillmann, Uwe},
- title = {All You Need is Love: Current Strategies of Mediating Intimate Relationships through Technology},
- journal = {ACM Trans. Comput.-Hum. Interact.},
- issue_date = {December 2012},
- volume = {19},
- number = {4},
- month = dec,
- year = {2012},
- issn = {1073-0516},
- pages = {30:1--30:19},
- articleno = {30},
- numpages = {19},
- doi = {10.1145/2395131.2395137},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {Experience design, emotional communication, interaction design, intimate relationships, long-distance relationships, relatedness, review},
-}
-
-@incollection{BorGroe:mds05,
- label = {MDS},
- year = {2005},
- author = {Ingwer Borg and Patrick Groenen},
- isbn = {978-0-387-25150-9},
- booktitle = {Modern Multidimensional Scaling},
- series = {Springer Series in Statistics},
- doi = {10.1007/0-387-28981-X_3},
- title = {MDS Models and Measures of Fit},
- url = {http://dx.doi.org/10.1007/0-387-28981-X_3},
- publisher = {Springer New York},
- pages = {37-61},
- language = {English}
-}
-
-@Book{PahBei:ed07,
- author = {Gerhard Pahl and Wolfgang Beitz and J{\"o}rg Feldhusen and Karl-Heinrich Grote},
- title = {Engineering Design},
- publisher = {Springer Verlag},
- year = 2007,
- edition = {3rd}}
-
-@InProceedings{chakravarthy2006aktivemedia,
- title = {AKTiveMedia: Cross-media document annotation and
- enrichment},
- author = {Ajay Chakravarthy and Fabio Ciravegna and Vitaveska Lanfranchi},
- booktitle = {Semantic Web Annotation of Multimedia (SWAMM-06)},
- year = {2006}
-}
-
-@online{hypothes.is:on,
- label={HYP},
- title = {Hypothes.is},
- urldate = {2015-05-30},
- url = {http://hypothes.is}}
-
-@online{brat:on,
- label = {BR},
- title = {brat rapid annotation tool},
- urldate = {2014-02-15},
- url = {htp://brat.nlplab.org}}
-
-@online{yawas:on,
- label={YW},
- title = {Yawas - The Original Web Highlighter},
- urldate = {2014-02-15},
- url = {http://www.keeness.net/yawas/}}
-
-@online{annotatie:on,
- label={AN},
- title = {Annotation tool},
- urldate = {2014-02-15},
- url = {Http://www.annotatiesysteem.nl}}
-
-@TECHREPORT{Liguda2014:Extraction,
- author = {Christian Liguda},
- title = {From Spreadsheet Data to Structural Knowledge},
- institution = {German Research Center for Artificial Intelligence (DFKI GmbH),},
- year = {2014},
- archiveprefix = {arXiv},
- eprint = {0000.0000},
- owner = {cliguda},
- primaryclass = {cs.SE},
- timestamp = {2014.02.05}
-}
-
-@TECHREPORT{Liguda2014:Verification,
- author = {Christian Liguda},
- title = {Verification and Testing of Spreadsheets},
- institution = {German Research Center for Artificial Intelligence (DFKI GmbH),},
- year = {2014},
- archiveprefix = {arXiv},
- eprint = {0000.0000},
- owner = {cliguda},
- primaryclass = {cs.SE},
- timestamp = {2014.02.05}
-}
-
-@book{Morville:SearchPatterns:2010,
- title={Search Patterns: Design for Discovery},
- author={Morville, P. and Callender, J.},
- isbn={9781449383060},
- year={2010},
- publisher={O'Reilly Media}
-}
-
-@inproceedings{Libbrecht:TooPreciseTopicQueries:2013,
- author = {Paul Libbrecht},
- title = {Escaping the Trap of Too Precise Topic Queries},
- booktitle = {MKM/Calculemus/DML},
- year = {2013},
- pages = {296-309},
- crossref = {CICM-WS-WiP2013}
-}
-
-@article{WiseEtAl:SearchingVsSurfing:2009,
- author = {Kevin Wise and Hyo Jung Kim and Jeesum Kim},
- title = {The effect of searching versus surfing on cognitive and emotional responses to online news},
- journal = {Journal of Media Psychology: Theories, Methods, and Applications},
- volume = {21},
- number = {2},
- year = {2009},
- pages = {49--59},
- doi = {10.1027/1864-1105.21.2.49},
- publisher = {APA PsycNet},
-}
-
-@inproceedings{NavarroEtAl:CognStrategiesSearching:1999,
- author = {Navarro-Prieto, R. and Scaife, M. and Rogers, Y.},
- booktitle = {Proceedings of the 5th Conference on Human Factors \& the Web},
- title = {{Cognitive strategies in web searching}},
- year = 1999
-}
-
-@article{Taylor:ProcessOfAskingQuestions:1962,
- author = {Robert S. Taylor},
- title = {The process of Asking Questions},
- journal = {American Documentation},
- volume = {13},
- number = {4},
- year = {1962},
- pages = {391-396},
-doi={10.1002/asi.5090130405},
- publisher = {Wiley Periodicals},
-}
-
-@article{Chang:InfluenceOfTaylorsQuestions:2013,
- author = {Chang, Yu-Wei},
- title = {The Influence of Taylor's Paper, Question-Negotiation and Information-Seeking in Libraries},
- journal = {Inf. Process. Manage.},
- issue_date = {September, 2013},
- volume = {49},
- number = {5},
- month = sep,
- year = {2013},
- issn = {0306-4573},
- pages = {983--994},
- numpages = {12},
- doi = {10.1016/j.ipm.2013.03.003},
- publisher = {Pergamon Press, Inc.},
- address = {Tarrytown, NY, USA},
-}
-
-@article{Kellar:InformationSeekingTasks:2007,
- author = {Melanie Kellar and Carolyn R. Watters and Michael A. Shepherd},
- title = {A field study characterizing Web-based information-seeking tasks},
- journal = {JASIST},
- volume = {58},
- number = {7},
- year = {2007},
- pages = {999-1018},
-}
-
-@book{Kuhltau:SeekingMeaning:2004,
- author = {Kuhlthau, Carol Collier},
- title = {Seeking meaning. A process approach to library and information services},
- edition = {2.},
- pages = {XVII, 247},
- publisher = {Libraries Unlimited},
- year = {2004}}
-
-@article{KuhltauEtAl:InformationSeekingRevisited:2008,
- author={Carol C. Kuhlthau and Jannica Heinstr{\"o}m and Ross J. Todd},
- title={The information search process revisited: is the model still useful?},
-journal={ir information research},
-volume={13},
-number={4},
-year={2008},
-publisher={informationr.net}}
-
-@online{OpenRepGrid,
-label = {ORep},
-title = {openrepgrid.org},
-url = {http://www.openrepgrid.org},
-urldate = {2014-03-14}}
-
-@inproceedings{YuWoodard:MashupEcosystem:2008,
- author = {Shuli Yu and C. Jason Woodard},
- title = {Innovation in the Programmable Web: Characterizing the Mashup Ecosystem.},
- booktitle = {ICSOC Workshops},
- year = {2008},
- pages = {136-147},
- ee = {http://dx.doi.org/10.1007/978-3-642-01247-1_13},
- crossref = {2008},
-}
-
-@incollection{PietschmannEtAl:RichCommPatternsMashUps:2012,
-year={2012},
-isbn={978-3-642-31752-1},
-booktitle={Web Engineering},
-volume={7387},
-series={Lecture Notes in Computer Science},
-editor={Brambilla, Marco and Tokuda, Takehiro and Tolksdorf, Robert},
-doi={10.1007/978-3-642-31753-8_25},
-title={Rich Communication Patterns for Mashups},
-publisher={Springer Berlin Heidelberg},
-author={Pietschmann, Stefan and Voigt, Martin and Mei{\ss}ner, Klaus},
-pages={315-322}}
-
-@INPROCEEDINGS{Pietschmann:MetaModelMashups:2010,
-author = {Stefan Pietschmann and Vincent Tietz and Jan Reimann and Christian Liebing and Mich{\'{e}}l Pohle and Klaus Mei{\ss}ner},
-title = {A Metamodel for Context-Aware Component-Based Mashup Applications},
-booktitle = {Proceedings of the 12th International Conference on Information Integration and Web-based Applications {\&} Services (iiWAS 2010)},
-isbn = {978-1-4503-0421-4},
-year = {2010},
-month = {nov},
-publisher = {ACM}}
-
-@Inproceedings{KoschmiderEtAl:MashupHype:2009,
- address = {Madrid},
- booktitle = {2nd Workshop on Mashups, Enterprise Mashups and Lightweight Composition on the Web in conjunction with the 18th International World Wide Web Conference},
- month = {April},
- title = {Elucidating the Mashup Hype: Definition, Challenges, Methodical Guide and Tools for Mashups},
- year = {2009},
- type = {Inproceedings},
- author = {Agnes Koschmider and Victoria Torres and Vicente Pelechano}}
-
-@inproceedings{SalminenMikkonen:MashupEcosystems:2012,
- author = {Arto Salminen and Tommi Mikkonen},
- title = {Mashups - Software Ecosystems for the Web Era},
- booktitle = {IWSECO@ICSOB},
- year = {2012},
- pages = {18-32},
- ee = {http://ceur-ws.org/Vol-879/paper2.pdf},
- crossref = {IWSECO12}}
-
-@inproceedings{CappielloEtAl:QualityModelMashups:2009,
- author = {Cappiello, Cinzia and Daniel, Florian and Matera, Maristella},
- title = {A Quality Model for Mashup Components},
- booktitle = {Proceedings of the 9th International Conference on Web Engineering},
- series = {ICWE'09},
- year = {2009},
- isbn = {978-3-642-02817-5},
- location = {San Sebastian, Spain},
- pages = {236--250},
- numpages = {15},
- doi = {10.1007/978-3-642-02818-2_19},
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg}}
-
-@article{ShethEtAl:SA-REST:2007,
- author = {Sheth, Amit P. and Gomadam, Karthik and Lathem, Jon},
- date = {2007-11-08},
- description = {dblp},
- ee = {http://doi.ieeecomputersociety.org/10.1109/MIC.2007.133},
- journal = {IEEE Internet Computing},
- number = 6,
- pages = {91-94},
- title = {SA-REST: Semantically Interoperable and Easier-to-Use Services and Mashups.},
- volume = 11,
- year = 2007
-}
-
-@article{DanielEtAl:UnderstandingUIIntegration:2007,
- author = {Florian Daniel and Jin Yu and Boualem Benatallah and Fabio Casati and Maristella Matera and R{\'e}gis Saint-Paul},
- title = {Understanding UI Integration: A Survey of Problems, Technologies, and Opportunities},
- journal = {IEEE Internet Computing},
- volume = {11},
- number = {3},
- year = {2007},
- pages = {59-66},
- ee = {http://doi.ieeecomputersociety.org/10.1109/MIC.2007.74}}
-
-@inproceedings{DanielEtAl:MashArt:2009,
- author = {Daniel, Florian and Casati, Fabio and Soi, Stefano and Fox, Jonny and Zancarli, David and Shan, Ming-Chien},
- booktitle = {ICSOC/ServiceWave},
- date = {2009-11-26},
- description = {dblp},
- editor = {Baresi, Luciano and Chi, Chi-Hung and Suzuki, Jun},
- isbn = {978-3-642-10382-7},
- pages = {647--648},
- series = {Lecture Notes in Computer Science},
- title = {Hosted Universal Integration on the Web: The mashArt Platform.},
- volume = {5900},
- year = {2009}}
-
-@INPROCEEDINGS{PietschmannEtAl:ContextAwarenessInMashups:2011,
-author = {Stefan Pietschmann and Carsten Radeck and Klaus Mei\ss{}ner},
-title = {Facilitating Context-Awareness in Composite Mashup Applications},
-booktitle = {Proceedings of the 3rd International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE)},
-isbn = {978-1-61208-011-6},
-publisher = {XPS},
-month = sep,
-year = {2011}
-}
-
-@INPROCEEDINGS{Pietschmann:SemBasedPresMashups:2011,
-author = {Stefan Pietschmann and Carsten Radeck and Klaus Mei\ss{}ner},
-title = {Semantics-Based Discovery, Selection and Mediation for Presentation-Oriented Mashups},
-booktitle = {Proceedings of the 5th International Workshop on Web APIs and Service Mashups},
-publisher = {ACM},
-isbn = {978-1-4503-0823-6},
-doi = {10.1145/2076006.2076014},
-series = {ACM ICPS},
-month = sep,
-year = {2011}
-}
-
-@misc{Guo:TheFourElementsOfUX:2012,
-author={Frank Guo},
-title={More Than Usability: The Four Elements of User Experience},
-year = {2012},
-howpublished = {Available at {\url{http://www.uxmatters.com}}},
- note = {Accessed on 2014-04-01}}
-
-@inproceedings{HeideckerHassenzahl_RGTFuerAttraktivitaet_2007,
- author = {Stephanie Heidecker and Marc Hassenzahl},
- title = {Eine gruppenspezifische Repertory Grid Analyse der wahrgenommenen
- Attraktivit{\"a}t von Uni\-ver\-si\-t{\"a}ts\-web\-sites},
- booktitle = {Mensch {\&} Computer},
- year = {2007},
- pages = {129-138},
- crossref = {DBLP:conf/mc/2007},
- bibsource = {DBLP, http://dblp.uni-trier.de}
-}
-
-
-
-@BOOK{Jankowicz:2003,
-title = {The Easy Guide to Repertory Grids},
-publisher = {Wiley},
-year = {2003},
-author = {Devi Jankowicz},
-isbn = {0470854049}
-}
-
-
-
-@article{TanHunter:RGTinIT2002,
- title = {The Repertory Grid Technique: A Method for the Study of Cognition in Information Systems},
- author = {Tan, Felix B. and M. Gordon Hunter},
- journal = {MIS Quarterly},
- volume = {26},
- number = {1},
- pages = {pp. 39-57},
- ISSN = {02767783},
- abstract = {Recent studies have confirmed the importance of understanding the cognition of users and information systems (IS) professionals. These works agree that organizational cognition is far too critical to be ignored as it can impact on IS outcomes. While cognition has been considered in a variety of IS contexts, no specific methodology has dominated. A theory and method suitable to the study of cognition-defined as personal constructs that individuals use to understand IT in organizations-is Kelly's (1955) personal construct theory and its cognitive mapping tool known as the repertory grid (RepGrid). This article expounds on the potential of this technique to IS researchers by considering the variety of ways the RepGrid may be employed. The flexibility of the RepGrid is illustrated by examining published studies in IS. The diagnostic qualities of the RepGrid and its mapping outcomes can be used for practical intervention at the individual and organizational levels.},
- language = {English},
- year = {2002},
- publisher = {Management Information Systems Research Center, University of Minnesota},
- }
-
-@article{HertzumEtAl:PersonalUsabilityConstructs2012,
- author = {Morten Hertzum and
- Torkil Clemmensen},
- title = {How do usability professionals construe usability?},
- journal = {Int. J. Hum.-Comput. Stud.},
- volume = {70},
- number = {1},
- year = {2012},
- pages = {26-42}
-}
-
-@InBook{Kelly:BriefIntroductionToPCT,
- author = {George Kelly},
- title = {International Handbook of Personal Construct Technology},
- chapter = {A Brief Introduction to Personal Construct Theory},
- publisher = {John Wiley \& Sons},
- year = 2003,
- pages = {3--20}
-}
-
-@article {Gower:GeneralizedProcrustesAnalysis_1975,
- author = {Gower, J.},
- affiliation = {Rothamsted Experimental Station Harpenden Herts Harpenden Herts},
- title = {Generalized procrustes analysis},
- journal = {Psychometrika},
- publisher = {Springer New York},
- issn = {0033-3123},
- keyword = {Psychologie und Verhalten},
- pages = {33-51},
- volume = {40},
- issue = {1},
- year = {1975}
-}
-
-@article{AvigadHarrison:FormallyVerifiedMath:2014,
- author = {Avigad, Jeremy and Harrison, John},
- title = {Formally Verified Mathematics},
- journal = {Commun. ACM},
- issue_date = {April 2014},
- volume = {57},
- number = {4},
- month = apr,
- year = {2014},
- issn = {0001-0782},
- pages = {66--75},
- numpages = {10},
- doi = {10.1145/2591012},
- acmid = {2591012},
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@article{AtiyahEtAl:MathBeauty:2014,
-author={Zeki, Semir and Romaya, John Paul and Benincasa, Dionigi M.T. and Atiyah, Michael F},
-title={The Experience of Mathematical Beauty and its Neural Correlates},
-journal={Frontiers in Human Neuroscience},
-volume={8},
-year={2014},
-number={68},
-issn={1662--5161}}
-
-@book{Jarvis:WhatWouldGoogleDo:2009,
- title={What Would Google Do?},
- author={Jarvis, Jeff},
- isbn={9780007312108},
- year={2009},
- publisher={HarperCollins Publishers Limited}
-}
-
-
-@book{Russell:Mysticism:2004,
- title={Mysticism and Logic},
- author={Russell, Bertrand},
- isbn={9780486434407},
- series={Dover Books on Western Philosophy},
- year={2004},
- publisher={Dover Publications}
-}
-
-@TECHREPORT{w3c:REC-vocab-dcat-20140116,
- title = {Data Catalog Vocabulary ({DCAT})},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2014-01-16},
- type = {{W3C} {Recommendation}},
- author = {Fadi Maali and John Erickson and Phil Archer},
- url = {http://www.w3.org/TR/2014/REC-vocab-dcat-20140116/}}
-
-@TECHREPORT{w3c:REC-vocab-data-cube-20140116,
- title = {The {RDF} Data Cube Vocabulary},
- institution = {World Wide Web Consortium ({W3C})},
- date = {2014-01-16},
- type = {{W3C} {Recommendation}},
- author = {Richard Cyganiak and Dave Reynolds and Jeni Tennison},
- url = {http://www.w3.org/TR/2014/REC-vocab-data-cube-20140116/}}
-
-@book{Hearst:SearchUserInterfaces:2009,
- author = {Hearst, Marti A.},
- title = {Search User Interfaces},
- year = {2009},
- isbn = {0521113792, 9780521113793},
- edition = {1st},
- publisher = {Cambridge University Press},
- address = {New York, NY, USA},
-}
-
-@online{morphit,
-label = {mph},
-title = {Spreadsheet technology used to handle multi-dimensional data},
-url = {http://www.edge-ka.com/products/morphit},
-urldate = {2014-07-23}}
-
-@inproceedings{BrylEtAl:SePublica2014,
-title = {What's in the proceedings? Combining publisher's and researcher's perspectives},
-author = {Volha Bryl and Aliaksandr Birukou and Kai Eckert and Mirjam Kessler},
-url = {http://ceur-ws.org/Vol-1155#paper-01},
-crossref = {SEPUBLICA14},
-}
-
-@TechReport{Farmer:casttuqe10,
- author = {William M. Farmer},
- title = {Chiron: A set theory with types, undefinedness, quotation, and evaluation},
- institution = {McMaster University},
- year = 2010,
- type = {SQRL Report},
- number = 38,
- url = {http://imps.mcmaster.ca/doc/chiron-tr.pdf},
- note = {originally published 2007, revised}}
-
-@techreport{OntoIOp-RFP,
-institution = {Object Management Group},
-title = {Ontology, Model and Specification Integration and Interoperability (OntoIOp)},
-type= {Request For Proposal},
-number = {ad/2013-12-02},
-url = {http://www.omg.org/cgi-bin/doc?ad/2013-12-02},
-year = 2013,
-date = {2013-12-02},
-}
-
-@online{OMG-Process-RFP,
-organization = {Object Management Group},
-title = {{OMG} Technology Adoption Process. Part II: {TF} Issues {RFP} and Evaluates Submissions},
-url = {http://www.omg.org/gettingstarted/process2-RFP.htm},
-date = {2014-02-27},
-year = 2014,
-}
-
-@unpublished{DOL,
- author = {Till Mossakowski and Oliver Kutz and Fabian Neuhaus and Mihai Codescu and Christoph Lange and Michael Gruninger and Maria Keet},
- title = {The Distributed Ontology, Modeling and Specification Language},
- note = {Draft answer to the OMG RFP ``OntoIOp''},
- url = {https://github.com/tillmo/DOL},
- year = {2014},
-}
-
-@online{5StarVocabUse,
- author = {Krzysztof Janowicz and Pascal Hitzler and Benjamin Adams and Dave Kolas and Vardeman II, Charles},
- title = {Five Stars of Linked Data Vocabulary Use},
- url = {http://www.semantic-web-journal.net/content/five-stars-linked-data-vocabulary-use},
- year = 2014,
-}
-
-@inproceedings{ontohub2014,
- eventtitle = {Satellite workshop of ICTAC-2014},
- venue = {University of Bucharest},
- eventdate = {2014-09-15/2014-09-16},
- Author = {Till Mossakowski and Oliver Kutz and Mihai Codescu},
- Booktitle = {Theory Day in Computer Science (DACS-2014)},
- Title = {{Ontohub: A semantic repository for heterogeneous ontologies}},
- Year = {2014}}
diff --git a/macros/latex/contrib/stex/lib/bib/kwarccrossrefs.bib b/macros/latex/contrib/stex/lib/bib/kwarccrossrefs.bib
deleted file mode 100644
index f68a4afc7a..0000000000
--- a/macros/latex/contrib/stex/lib/bib/kwarccrossrefs.bib
+++ /dev/null
@@ -1,467 +0,0 @@
-@STRING{krcmessage = "READ the README please!!!!!!!!!!!!!!"}
-
-@proceedings{CICM16,
- year = {2016},
- note = {Submitted to CICM2016}}
-
-@proceedings{CICM13,
- editor = {Jacques Carette and David Aspinall and Christoph Lange and Petr Sojka and Wolfgang Windsteiger},
- venue = {Bath, UK},
- eventdate = {2013-07-08/2013-07-12},
- eventtitle = {Conferences on Intelligent Computer Mathematics},
- title = {Intelligent Computer Mathematics},
- booktitle = {Intelligent Computer Mathematics},
- keywords = {conference},
- publisher = {Springer},
- series = {Lecture Notes in Computer Science},
- number = {7961},
- year = 2013,
- doi = {10.1007/978-3-642-39320-4},
- isbn = {978-3-642-39319-8},
- acceptancerate = {54},
- acceptancerateCOMMENT = {MKM: 7/18, Calculemus: 5/12, DML: 6/8, S&P: 12/16},
- pubs = {clange},
-}
-
-@proceedings{DoForm13,
- title = {Enabling Domain Experts to use Formalised Reasoning},
- booktitle = {Enabling Domain Experts to use Formalised Reasoning},
- eventtitle = {Do-Form, symposium at the AISB Annual Convention},
- editor = {Christoph Lange and Colin Rowat and Manfred Kerber},
- year = {2013},
- eventdate = {2013-04-03/2013-04-05},
- venue = {Exeter, UK},
- url = {http://cs.bham.ac.uk/research/projects/formare/events/aisb2013/},
- publisher = {{Society for the Study of Artificial Intelligence and Simulation of Behaviour (AISB)}},
- isbn = {978-1-908187-32-1},
- pubs = {clange},
-}
-
-@Proceedings{AIMashup10,
- title = {{AI Mashup Challenge}},
- booktitle = {{AI Mashup Challenge at ESWC}},
- year = {2010},
- month = jun,
- editor = {Adrian Giurca and Brigitte Endres-Niggemeyer and Christoph Lange and Lutz Maicher and Pascal Hitzler},
- url = {http://sites.google.com/a/fh-hannover.de/aimashup/},
- pubs = {clange}}
-
-@proceedings{DFRU:cicm:11,
- title = "{Intelligent Computer Mathematics}",
- year = "2011",
- editor = "J. Davenport and W. Farmer and F. Rabe and J. Urban",
- series = "Lecture Notes in Computer Science",
- publisher = "Springer",
- volume = "6824",
- keywords={conference},
- pubs={frabe}
-}
-
-@proceedings{DFRU:cicmwip:11,
- title = "{Intelligent Computer Mathematics, Work-in-Progress Proceedings}",
- year = "2011",
- editor = "A. Asperti and J. Davenport and W. Farmer and F. Rabe and J. Urban",
- series = "Technical Reports of University of Bologna",
- publisher = "University of Bologna",
- volume = "UBLCS-2011-04",
- pubs={frabe}
-}
-
-
-@proceedings{GNRS:lfmtpmlpa:11,
- title = "{LFMTP 2011 - MLPA 2011 Informal Proceedings}",
- year = "2011",
- note = "see \url{http://kwarc.info/frabe/events/mlpa-11/index.html}",
- editor = "Herman Geuvers and Gopalan Nadathur and Florian Rabe and Carsten Sch{\"u}rmann",
- pubs={frabe}
-}
-
-@proceedings{RS:mlpa:10,
- title = "{MLPA '10: Proceedings of the 2nd Workshop on Modules and Libraries for Proof Assistants}",
- year = "2010",
- note = "see \url{http://kwarc.info/frabe/events/mlpa-10.html}",
- editor = "F. Rabe and C. Sch{\"u}rmann",
- pubs={frabe}
-}
-
-@proceedings{RS:mlpa:09,
- title = "{MLPA '09: Proceedings of the 1st Workshop on Modules and Libraries for Proof Assistants}",
- year = "2009",
- editor = "F. Rabe and C. Sch{\"u}rmann",
- series = "ACM International Conference Proceeding Series",
- publisher = "ACM",
- volume = "429",
- pubs={frabe}
-}
-
-@PROCEEDINGS{IJCAI03-KR,
- title = {Proceedings of the IJCAI 03 Workshop on Knowledge Representation
- and Automated Reasoning for E-Learning Systems},
- booktitle = {Proceedings of the IJCAI 03 Workshop on Knowledge Representation
- and Automated Reasoning for E-Learning Systems},
- year = {2003},
- editor = {Peter Baumgartner and Paul A. Cairns and Michael Kohlhase and Erica Melis},
- address = {Acapulco, \MEXICO},
- pubs = {mkohlhase}}
-
-@PROCEEDINGS{CADE15-WS-PSMAD,
- year = {1998},
- editor = {Peter Baumgartner and Ulrich Furbach and Michael Kohlhase and William
- McCune and Wolfgang Reif and Mark Stickel and Tom{\`a}s Uribe},
- title = {CADE-15 Workshop ``Problem-solving Methodologies with Automated Deduction''},
- booktitle = {CADE-15 Workshop ``Problem-solving Methodologies with Automated Deduction''},
-pubs = {mkohlhase}}
-
-@PROCEEDINGS{CICM11,
- title = {Intelligent Computer Mathematics},
- booktitle = {{Intelligent Computer Mathematics}},
- key = {CICM11},
- year = {2011},
- editor = {James Davenport and William Farmer and Florian Rabe and Josef Urban},
- number = {6824},
- series = {LNAI},
- publisher = {Springer Verlag},
- isbn = {978-3-642-22672-4},
- keywords = {conference},
- pubs={frabe},
- acceptancerate = {59},
- acceptancerateCOMMENT = {Calculemus: 9/15, MKM: 9/22, Systems and Projects: 12/14}}
-
-@PROCEEDINGS{CICM11WIP,
- title = {Intelligent Computer Mathematics -- Work in Progress Papers},
- booktitle = {{Intelligent Computer Mathematics -- Work in Progress Papers}},
- key = {CICM11WIP},
- year = {2011},
- editor = {James Davenport and William Farmer and Florian Rabe and Josef Urban},
- pubs={frabe}}
-
-@PROCEEDINGS{ICOS00,
- title = {ICoS-2. Inference in Computational Semantics. Workshop Proceedings},
- year = {2000},
- editor = {Johan Bos and Michael Kohlhase},
- publisher = {Computational Linguistics, Saarland University},
- booktitle = {Proceedings of Inference in Computational Semantics ICoS-2},
- pubs = {mkohlhase}}
-
-@PROCEEDINGS{BosKoh:ICOS2-LJIGPL04,
- editor = {Johan Bos and Michael Kohlhase},
- title = {Logic Journal of the IGPL},
- publisher = {Oxford University Press},
- year = 2003,
- volume = {11(3)},
- keywords = {conference},
- note = {Special Issue for ICOS-2},
- pubs = {mkohlhase}}
-
-@PROCEEDINGS{ICOS01,
- title = {ICoS-3. Inference in Computational Semantics. Workshop Proceedings},
- year = {2001},
- editor = {Patrick Blackburn and Michael Kohlhase},
- publisher = {Computational Linguistics, Saarland University},
- booktitle = {Proceedings of Inference in Computational Semantics ICoS-2},
- pubs = {mkohlhase}}
-
-@PROCEEDINGS{KI06,
- title = {Proceedings of the 29.th Annual German Conference on Artificial Intelligence
- KI'06},
- year = {2006},
- editor = {Christian Freksa and Michael Kohlhase and Kerstin Schill},
- number = {4314},
- series = {LNAI},
- address = {Bremen, Germany},
- booktitle = {Proceedings of the 29.th Annual German Conference on Artificial Intelligence
- KI'06},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@PROCEEDINGS{CADE15-WS-AI,
- title = {CADE-15 Workshop ``Using AI Methods in Deduction''},
- year = {1998},
- editor = {J{\"o}rg Denzinger and Michael Kohlhase and Bruce Spencer},
- booktitle = {CADE-15 Workshop ``Using AI Methods in Deduction''},
-pubs = {mkohlhase}}
-
-@PROCEEDINGS{CALCULEMUS00,
- title = {{CALCULEMUS-2000}, Systems for Integrated Computation and Deduction},
- year = {2000},
- editor = {Manfred Kerber and Michael Kohlhase},
- address = {St. Andrews, Scotland},
- publisher = {AKPeters},
- keywords = {conference},
- booktitle = {Proceedings of the 8\textsuperscript{th} Symposium on the Integration of Symbolic Computation
- and Mechanized Reasoning (Calculemus-2000)},
-pubs = {mkohlhase}}
-
-@PROCEEDINGS{MKM05,
- title = {Mathematical Knowledge Management, MKM'05},
- year = {2006},
- editor = {Michael Kohlhase},
- number = {3863},
- series = {LNAI},
- publisher = {Springer Verlag},
- booktitle = {Mathematical Knowledge Management, MKM'05},
- keywords = {conference},
- pubs= {mkohlhase}}
-
-@PROCEEDINGS{ORES2010,
- booktitle = {1\textsuperscript{st} Workshop on Ontology Repositories and Editors},
- year = 2010,
- editor = {d'Aquin, Mathieu and Garc{\'i}a Castro, Alexander and Christoph Lange and Kim Viljanen},
- number = 596,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-596},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2010-05-31},
- title = {Proceedings of the 1\textsuperscript{st} Workshop on Ontology Repositories and Editors, {Extended} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-@proceedings{OCAS2011,
- booktitle = {Workshop Ontologies come of Age in the Semantic Web},
- year = 2011,
- editor = {Garc{\'i}a Castro, Alexander and Ken Baclawski and John Bateman and Kim Viljanen and Christoph Lange},
- number = 809,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url ={http://ceur-ws.org/Vol-809},
- venue = {Bonn, Germany},
- eventdate = {2011-10-24},
- title = {Proceedings of the Workshop Ontologies come of Age in the Semantic Web, {International} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-@PROCEEDINGS{SemWiki10,
- booktitle = {5\textsuperscript{th} Workshop on Semantic Wikis},
- year = 2010,
- editor = {Christoph Lange and Jochen Reutelsh{\"o}fer and Sebastian Schaffert and Hala Skaf-Molli},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2010-05-31},
- title = {Proceedings of the 5\textsuperscript{th} Workshop on Semantic Wikis, {Extended} {Semantic} {Web} {Conference}},
- number = 632,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-632},
- pubs = {clange}}
-
-@PROCEEDINGS{SemWiki09,
- booktitle = {4\textsuperscript{th} Workshop on Semantic Wikis},
- year = 2009,
- editor = {Christoph Lange and Sebastian Schaffert and Hala Skaf-Molli and Max V{\"o}lkel},
- number = 464,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-464},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2009-06-01},
- title = {Proceedings of the 4\textsuperscript{th} Workshop on Semantic Wikis, {European} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-@PROCEEDINGS{SemWiki08,
- booktitle = {3\textsuperscript{rd} Workshop on Semantic Wikis},
- year = 2008,
- editor = {Christoph Lange and Sebastian Schaffert and Hala Skaf-Molli and Max V{\"o}lkel},
- number = 360,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-360},
- venue = {Costa Adeje, Tenerife, Spain},
- eventdate = {2008-06-02},
- title = {Proceedings of the 3\textsuperscript{rd} Workshop on Semantic Wikis, {European} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-@proceedings{CICM-WS-WiP2013,
- booktitle = {{MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics},
- title = {Joint Proceedings of the {MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics 2013},
-year = 2013,
-editor = {Christoph Lange and David Aspinall and Jacques Carette and James Davenport and Andrea Kohlhase and Michael Kohlhase and Paul Libbrecht and Pedro Quaresma and Florian Rabe and Petr Sojka and Iain Whiteside and Wolfgang Windsteiger},
-number = 1010,
-series = {CEUR Workshop Proceedings},
-address = {Aachen},
-issn = {1613-0073},
-url = {http://ceur-ws.org/Vol-1010},
-venue = {Bath, UK},
-eventdate = {2013-07-08/2013-07-12}
-}
-
-@proceedings{CICM-WS-WiP2014,
- booktitle = {{MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics},
- title = {Joint Proceedings of the {MathUI}, {OpenMath}, {PLMMS}, and {ThEdu} Workshops and Work in Progress at the Conference on Intelligent Computer Mathematics 2014},
-year = 2014,
-editor = {Matthew England and James H. Davenport and
-Andrea Kohlhase and Michael Kohlhase and Paul Libbrecht and
-Walther Neuper and Pedro Quaresma and Alan P. Sexton and
-Petr Sojka and Josef Urban and Stephen M. Watt},
-number = 1180,
-series = {CEUR Workshop Proceedings},
-address = {Aachen},
-issn = {1613-0073},
-url = {http://ceur-ws.org/Vol-1180},
-venue = {Coimbra, PT},
-eventdate = {2013-07-07/2013-07-12}
-}
-
-@proceedings{OpenMathUIWiP2012,
-booktitle = {24\textsuperscript{th} OpenMath Workshop, 7\textsuperscript{th} Workshop on Mathematical User Interfaces (MathUI), and Intelligent Computer Mathematics Work in Progress},
-title = {Joint Proceedings of the 24\textsuperscript{th} {OpenMath} Workshop, the 7\textsuperscript{th} Workshop on Mathematical User Interfaces ({MathUI}), and the Work in Progress Section of the Conference on Intelligent Computer Mathematics},
-year = 2012,
-editor = {James Davenport and Johan Jeuring and Christoph Lange and Paul Libbrecht},
-number = 921,
-series = {CEUR Workshop Proceedings},
-address = {Aachen},
-issn = {1613-0073},
-url = {http://ceur-ws.org/Vol-921},
-venue = {Bremen, Germany},
-eventdate = {2012-07-09/2012-07-13},
-}
-
-@PROCEEDINGS{OM10,
- editor = {Michael Kohlhase and Christoph Lange},
- title = {23\textsuperscript{rd} OpenMath Workshop},
- booktitle = {23\textsuperscript{rd} OpenMath Workshop},
- url = {http://cicm2010.cnam.fr/om/},
- year = {2010},
- month = jul}
-
-@Proceedings{OpenJEM07,
- editor = {Olga Caprotti and Michael Kohlhase and Paul Libbrecht},
- title = {OpenMath/JEM Workshop 2007},
- booktitle = {OpenMath/JEM Workshop 2007},
- howpublished = {online at {\url{http://www.openmath.org/meetings/linz2007/}}},
- url = {http://www.openmath.org/meetings/linz2007/},
- year = 2007,
- month = jun,
-pubs = {mkohlhase}}
-
-@Proceedings{FGWM09:plain,
- editor = {Christoph Lange and Jochen Reutelsh{\"o}fer},
- title = {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), FGWM},
- booktitle = {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), FGWM},
- volume = {TUD-KE-2009-04},
- institution = {Universit{\"a}t Darmstadt},
- year = {2009},
- month = sep,
- pubs = {clange}}
-
-@Proceedings{FGWM09,
- editor = {Christoph Lange and Jochen Reutelsh{\"o}fer},
- title = {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), FGWM},
- booktitle = {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), FGWM},
- note = {Workshop at LWA 2009, published as part of~\cite{LWA09}},
- year = {2009},
- month = sep,
- pubs = {clange}}
-
-@Proceedings{FGWM13,
- editor = {Andrea Kohlhase and Bodo Rieger},
- title = {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), FGWM},
- booktitle = {Wissens- und Erfahrungsmanagement (Knowledge and Experience Management), FGWM},
- note = {Workshop at LWA 2013, published as part of~\cite{LWA13}},
- year = {2013},
- month = oct,
- pubs = {akohlhase}}
-
-@Proceedings{JEM08,
- title = {3\textsuperscript{rd} JEM Workshop -- Joining Educational Mathematics},
- year = {2008},
- booktitle = {3\textsuperscript{rd} JEM Workshop -- Joining Educational Mathematics},
- editor = {Olga Caprotti and Sebastian Xamb{\'o} and Maria-Antonia Huertas and Michael Kohlhase and Mika Sepp{\"a}l{\"a}},
- url = {http://jem-thematic.net/workshop3},
- pubs = {mkohlhase}}
-
-@proceedings{MathWiki11,
- booktitle = {ITP Workshop on Mathematical Wikis (MathWikis)},
- year = 2011,
- editor = {Christoph Lange and Josef Urban},
- number = 767,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-767},
- venue = {Nijmegen, Netherlands},
- eventdate = {2011-08-27},
- title = {Proceedings of the ITP 2011 Workshop on Mathematical Wikis (MathWikis)},
- pubs = {clange}}
-
-@proceedings{SEPUBLICA14,
-booktitle = {4\textsuperscript{th} Workshop on Semantic Publishing (SePublica)},
-title = {Proceedings of the 4\textsuperscript{th} Workshop on Semantic Publishing (SePublica)},
-year = 2014,
-editor = {Garc{\'i}a Castro, Alexander and Christoph Lange and Phillip Lord and Robert Stevens},
-number = 1155,
-series = {CEUR Workshop Proceedings},
-address = {Aachen},
-issn = {1613-0073},
-url = {http://ceur-ws.org/Vol-1155},
-venue = {Anissaras, Greece},
-eventdate = {2014-05-25},
-}
-
-@proceedings{SEPUBLICA13,
- booktitle = {3\textsuperscript{rd} Workshop on Semantic Publishing (SePublica)},
- year = 2013,
- editor = {Garc{\'i}a Castro, Alexander and Christoph Lange and Phillip Lord and Robert Stevens},
- number = 994,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-994},
- venue = {Montpellier, France},
- eventdate = {2013-05-26},
- title = {Proceedings of the 3\textsuperscript{rd} Workshop on Semantic Publishing, {Extended} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-@proceedings{SEPUBLICA12,
- booktitle = {2\textsuperscript{nd} Workshop on Semantic Publishing (SePublica)},
- year = 2012,
- editor = {Benjamin Good and Frank van Harmelen and Garc{\'i}a Castro, Alexander and Christoph Lange and Evan Sandhaus and Anita de Waard},
- number = 903,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-903},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2012-05-28},
- title = {Proceedings of the 2\textsuperscript{nd} Workshop on Semantic Publishing, {Extended} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-@proceedings{SEPUBLICA11,
- booktitle = {1\textsuperscript{st} Workshop on Semantic Publication (SePublica)},
- year = 2011,
- editor = {Garc{\'i}a Castro, Alexander and Christoph Lange and Evan Sandhaus and Anita de Waard},
- number = 721,
- series = {CEUR Workshop Proceedings},
- address = {Aachen},
- issn = {1613-0073},
- url = {http://ceur-ws.org/Vol-721},
- venue = {Hersonissos, Crete, Greece},
- eventdate = {2011-05-30},
- title = {Proceedings of the 1\textsuperscript{st} Workshop on Semantic Publication, {Extended} {Semantic} {Web} {Conference}},
- pubs = {clange}}
-
-
-@BOOK{Kohlhase:OMDoc1.2,
- title = {\textsc{OMDoc} -- An open markup format for mathematical documents [Version 1.2]},
- booktitle = {\textsc{OMDoc} -- An open markup format for mathematical documents [Version 1.2]},
- publisher = {Springer Verlag},
- year = {2006},
- month = aug,
- author = {Michael Kohlhase},
- number = {4180},
- series = {LNAI},
- url = {http://omdoc.org/pubs/omdoc1.2.pdf},
-pubs = {mkohlhase,projects/omdocbiblio}}
-
-@Proceedings{DML12,
- title = {DML and MIR 2012},
- booktitle = {DML and MIR 2012},
- year = 2012,
- editor = {Petr Sojka and Michael Kohlhase},
- keywords = {conference},
- isbn = {978-80-210-5542-1},
- publisher = {Masaryk University, Brno},
- pubs = {mkohlhase}}
-
diff --git a/macros/latex/contrib/stex/lib/bib/kwarcpubs.bib b/macros/latex/contrib/stex/lib/bib/kwarcpubs.bib
deleted file mode 100644
index 4983077ff4..0000000000
--- a/macros/latex/contrib/stex/lib/bib/kwarcpubs.bib
+++ /dev/null
@@ -1,6937 +0,0 @@
-@string{kpmessage = "READ the README please!!!!!!!!!!!!!!"}
-@STRING{stexyear = 2016}
-
-@unpublished{IMKT-charter,
- label = {IMKT},
- url = {http://mathontheweb.org/gdml/IMKT-Charter-final.pdf},
- title = {International Mathematical Knowledge Trust Charter},
- year = {2016},
- author = {The Global Digital Mathematics Library Working Group},
- pubs = {mkohlhase}}
-
-
-@unpublished{DehKohKon:iop16,
- title = {Interoperability in the {OpenDreamKit} Project: The Math-in-the-Middle Approach},
- author = {Paul-Olivier Dehaye and Michael Kohlhase and Alexander Konovalov and Samuel Leli{\`e}vre and Markus Pfeiffer and Nicolas M. Thi{\'e}ry},
- url = {https://github.com/OpenDreamKit/OpenDreamKit/blob/master/WP6/CICM2016/submission.pdf},
- pubs = {mkohlhase},
- crossref = {CICM16}}
-
-@unpublished{IanKohRab:upmsm16,
- title = {Understanding the Pragmatics of Module Systems for Mathematics},
- author = {Mihnea Iancu and Michael Kohlhase and Florian Rabe},
- pubs = {mkohlhase,miancu,frabe},
- url = {http://kwarc.info/kohlhase/submit/structural-extensions16.pdf},
- crossref = {CICM16}}
-
-@unpublished{KalKohMue:samc16,
- title = {A Standard for Aligning Mathematical Concepts},
- author = {Cezary Kaliszyk and Michael Kohlhase and Dennis M{\"u}ller and Florian Rabe},
- url = {http://kwarc.info/kohlhase/submit/alignments16.pdf},
- pubs = {mkohlhase,dmueller,frabe},
- crossref = {CICM16}}
-
-@unpublished{IanKohRab:mslo16,
- title = {Mixing Surface Languages for OMDoc},
- author = {Mihnea Iancu and Michael Kohlhase and Florian Rabe and Hang Yuan},
- url = {http://kwarc.info/kohlhase/submit/alignments16.pdf},
- pubs = {mkohlhase,miancu,frabe},
- crossref = {CICM16}}
-
-
-@online{MMTsurface:on,
- label = {MMT},
- title = {The MMT Surface Syntax},
- author = {Florian Rabe},
- url = {https://svn.kwarc.info/repos/MMT/doc/html/index.html#syntax/text.html},
- urldate = {2016-03-19}}
-
-@inproceedings{HamKoh:fsfm15,
- author = {Radu Hambasan and Michael Kohlhase},
- title = {Faceted Search for Mathematics},
- crossref = {LWA15},
- url = {http://ceur-ws.org/Vol-1458/D05_CRC1_Hambasan.pdf},
- pages = {33--44},
- pubs = {mkohlhase}}
-
-@unpublished{KohKoh:faetd12,
- title = {Frames: Active Examples for Technical Documents},
- author = {Andrea Kohlhase and Michael Kohlhase},
- url = {http://kwarc.info/kohlhase/submit/activeex-2012.pdf},
- year = {2012}}
-
-@inproceedings{GinLalKoh:katsd15,
- author = {Deyan Ginev and Sourabh Lal and Michael Kohlhase and Tom Wiesing},
- title = {KAT: an Annotation Tool for STEM Documents},
- crossref = {MathUI15},
- url = {http://www.cermat.org/events/MathUI/15/proceedings/Lal-Kohlhase-Ginev_KAT_annotations_MathUI_15.pdf},
- pubs = {mkohlhase,dginev,twiesing}}
-
-@inproceedings{PenKoh:rpscsmc15,
- author = {Naomi Pentrel and Michael Kohlhase},
- title = {Relational Presentations Using Semantic Closeness Spatial Narrative for Mathematical Content},
- crossref = {MathUI15},
- url = {http://www.cermat.org/events/MathUI/15/proceedings/Pentrel-Kohlhase_Semantic_Closness-MathUI_15.pdf},
- pubs = {mkohlhase}}
-
-@inproceedings{LuzIanKoh:iolo15,
- author = {Enxhell Luzhnica and Mihnea Iancu and Michael Kohlhase},
- title = {Importing the {OEIS} Library into {OMDoc}},
- crossref = {LWA15},
- url = {http://ceur-ws.org/Vol-1458/F13_CRC73_Luzhnica.pdf},
- pages = {296--303},
- pubs = {miancu,mkohlhase}}
-
-@inproceedings{ToaKohKoh:sfs15,
- title = {Assessment for Spreadsheets},
- author = {Alexandru Toader and Michael Kohlhase and Andrea Kohlhase},
- crossref = {SEMS15},
- url = {http://kwarc.info/kohlhase/submit/sems15-assessment.pdf},
- pubs = {mkohlhase,akohlhase,atoader}}
-
-@unpublished{ToaKohKoh:sfstg15,
- title = {Assessment for Spreadsheets via Theory Graphs},
- author = {Alexandru Toader and Michael Kohlhase and Andrea Kohlhase},
- url = {http://kwarc.info/kohlhase/submit/cicm15-assessment.pdf},
- pubs = {mkohlhase,akohlhase,atoader}}
-
-@inproceedings{IanKoh:fmkdam15,
- title = {A Flexiformal Model of Knowledge Dissemination and Aggregation in Mathematics},
- author = {Mihnea Iancu and Michael Kohlhase},
- crossref = {CICM15},
- pages = {137--152},
- url = {http://kwarc.info/kohlhase/papers/cicm15-recaps.pdf},
- pubs = {mkohlhase,miancu}}
-
-@inproceedings{IanKoh:mlkmim15,
- title = {Math Literate Knowledge Management via Induced Material},
- author = {Mihnea Iancu and Michael Kohlhase},
- crossref = {CICM15},
- pages = {187--202},
- url = {http://kwarc.info/kohlhase/papers/cicm15-induced.pdf},
- pubs = {mkohlhase,miancu}}
-
-@unpublished{Rabe:tes15,
- title = {Theory Expressions (a Survey)},
- author = {Florian Rabe},
- crossref = {CICM15},
- pubs = {frabe}}
-
-@inproceedings{GusKohKoh:sfs15,
- title = {Context in Spreadsheet Comprehension},
- author = {Andrea Kohlhase and Michael Kohlhase and Ana Guseva},
- crossref = {SEMS15},
- url = {http://kwarc.info/kohlhase/submit/sems15-context.pdf},
- pubs = {mkohlhase,akohlhase}}
-
-@inproceedings{BreCodJuc:tospsme14,
- author = {Thilo Breitsprecher and
- Mihai Codescu and
- Constantin Jucovschi and
- Michael Kohlhase and
- Lutz Schr{\"{o}}der and
- Sandro Wartzack},
- title = {Towards Ontological Support for Principle Solutions in Mechanical
- Engineering},
- year = {2014},
- pages = {427--432},
- crossref = {FOIS14},
- url = {http://dx.doi.org/10.3233/978-1-61499-438-1-427},
- doi = {10.3233/978-1-61499-438-1-427},
- keywords = {conference},
- pubs = {mkohlhase,cjucovschi}}
-
-@MISC{flatsearch-demo,crossref={flatsearch-demo:base},
- key={FS},
- howpublished = {\url{http://cds.omdoc.org:8181/search.html}}}
-@online{flatsearch-demo:on,crossref={flatsearch-demo:base},
- label={FS},
- urldate={2015-04-23}}
-@MISC{flatsearch-demo:base,
- title = {FlatSearch Demo},
- url= {http://cds.omdoc.org:8181/search.html}}
-
-@inproceedings{IanKohProd:rassmk14,
- author = {Mihnea Iancu and
- Michael Kohlhase and
- Corneliu{-}Claudiu Prodescu},
- title = {Representing, Archiving, and Searching the Space of Mathematical Knowledge},
- year = {2014},
- pages = {26--30},
- crossref = {ICMS14},
- url = {http://dx.doi.org/10.1007/978-3-662-44199-2_5},
- doi = {10.1007/978-3-662-44199-2_5},
- keywords = {conference},
- pubs = {mkohlhase,cprodescu,miancu}}
-
-@inproceedings{KohIan:dlpmmaftg14,
- author = {Michael Kohlhase and Mihnea Iancu},
- title = {Discourse-Level Parallel Markup and Meaning Adoption in Flexiformal
- Theory Graphs},
- year = {2014},
- pages = {36--40},
- crossref = {ICMS14},
- url = {http://dx.doi.org/10.1007/978-3-662-44199-2_7},
- doi = {10.1007/978-3-662-44199-2_7},
- keywords = {conference},
- pubs = {mkohlhase,miancu}}
-
-@article{KohMihSperTes:mfs13,
- title={Zentralblatt Column: Mathematical Formula Search},
- author = {Michael Kohlhase and Helena Mihaljevic-Brandt and Wolfram Sperber and Olaf Teschke},
- url = {http://www.ems-ph.org/journals/newsletter/pdf/2013-09-89.pdf},
- pages = {56--57},
- journal = {EMS Newsletter},
- month = sep,
- year = {2013},
- pubs = {mkohlhase}}
-
-@online{CorTeX:on,
- label = {CT},
- title = {{Cor\TeX} Framework},
- url = {http://cortex.mathweb.org},
- urldate = {2014-02-14},
- pubs = {dginev,project/llamapun}}
-
-@inproceedings{Kohlhase:OLE14,
- author = {Michael Kohlhase},
- title = {OpenMath Language Extensions},
- url = {http://ceur-ws.org/Vol-1186/paper-14.pdf},
- crossref = {CICM-WS-WiP2014},
- pubs = {mkohlhase}}
-
-
-@inproceedings{Kohlhase:MathGenerationGap:2014,crossref={Kohlhase:mwsiggm14}}
-@inproceedings{Kohlhase:mwsiggm14,
- author = {Andrea Kohlhase},
- title = {Math Web Search Interfaces and the Generation Gap of Mathematicians},
- year = {2014},
- pages = {586--593},
- crossref = {ICMS14},
- url = {http://dx.doi.org/10.1007/978-3-662-44199-2_88},
- doi = {10.1007/978-3-662-44199-2_88},
- pubs = {akohlhase}}
-
-@inproceedings{Kohlhase:eprpo14,
- author = {Michael Kohlhase},
- title = {Extension Proposal: Records in Pragmatic OpenMath},
- url = {http://ceur-ws.org/Vol-1186/paper-13.pdf},
- crossref = {CICM-WS-WiP2014},
- pubs = {mkohlhase}}
-
-@online{MathHub:law:on,
- label = {LMH},
- title = {MathHub Offline Authoring},
- url = {http://mathhub.info/help/offline-authoring.html},
- urldate = {2016-04-07}}
-
-@online{MathHub:oa:on,
- label = {MH},
- title = {MathHub Online Authoring},
- url = {http://mathhub.info/help/online-authoring.html},
- urldate = {2016-04-07}}
-
-% better use the journal article: KohRab:som12
-@InProceedings{KohRab:som09,
- title = "Semantics of {OpenMath} and {MathML3}",
- author = {Michael Kohlhase and Florian Rabe},
- crossref = {OM09},
- url = {http://kwarc.info/kohlhase/papers/om09-semantics.pdf},
- pubs = {mkohlhase,frabe,projects/latin,projects/omdoc}}
-
-
-@article{Kohlhase:mkmtobbtg14,
- title={Mathematical Knowledge Management: Transcending the One-Brain-Barrier with Theory Graphs},
- author = {Michael Kohlhase},
- url = {http://www.ems-ph.org/journals/newsletter/pdf/2014-06-92.pdf},
- pages = {22--27},
- journal = {EMS Newsletter},
- month = jun,
- year = {2014},
- pubs = {mkohlhase}}
-
-@article{KohIan:crsmmd14,
- author = {Michael Kohlhase and Mihnea Iancu},
- title = {Co-Representing Structure and Meaning of Mathematical Documents},
- url = {http://kwarc.info/kohlhase/papers/omdoc-semantics.pdf},
- journal = {Sprache und Datenverarbeitung, International Journal for
- Language Data Processing},
- note = {Special Issue ``The language of mathematics -- computational, linguistic and logical aspects''; in press},
- year = {2016},
- pubs = {mkohlhase,miancu}}
-
-@misc{CKLR:SoundCombVickCode13,
- author = {Marco B. Caminati and Manfred Kerber and Christoph Lange and Colin Rowat},
- title = {Proving soundness of combinatorial {Vickrey} auctions and generating verified executable code},
- year = 2013,
- eprint = {1308.1779},
- eprinttype = {arxiv},
- eprintclass = {cs.GT},
- pubs = {clange,projects/formare}}
-
-@online{KRL:ForMaREproject13,
- author = {Manfred Kerber and Colin Rowat and Christoph Lange},
- title = {The {ForMaRE} Project},
- subtitle = {Formal Mathematical Reasoning in Economics},
- date = {2013-05-29},
- urldate = {2013-06-10},
- url = {https://intranet.birmingham.ac.uk/eps/news/public/ForMaRE.aspx},
- pubs = {clange,projects/formare},
-}
-
-@inproceedings{KerberEtAl:AutoReasEcon13,
- title = {Automated Reasoning for Economics},
- booktitle = {20\textsuperscript{th} Automated Reasoning Workshop (ARW)},
- author = {Manfred Kerber and Christoph Lange and Colin Rowat},
- editor = {Alexander Bolotov and Simon Colton and David Crocker and Louise Dennis and Clare Dixon and Jacques Fleuriot and Ullrich Hustadt and Mateja Jamnik and Katya Komendantskaya and Alice Miller and Renate Schmidt and Volker Sorge and J{\'o}nathan Heras},
- note = {Invited paper},
- year = 2013,
- venue = {Dundee, UK},
- eventdate = {2013-04-11/2013-04-12},
- pubs = {clange,projects/formare},
-}
-
-@InProceedings{KohProLig:xses13,
- title={{XLSearch}: A Search Engine for Spreadsheets},
- author = {Michael Kohlhase and Corneliu Prodescu and Christian Liguda},
- crossref = {EUSPRIG13},
- url = {http://kwarc.info/kohlhase/papers/eusprig13-xlsearch.pdf},
- pubs = {mkohlhase,projects/mws,cprodescu,projects/sissi}}
-
-@inproceedings{KohManRab:aumftg13,
- title = {A Universal Machine for Biform Theory Graphs},
- author = {Michael Kohlhase and Felix Mance and Florian Rabe},
- crossref = {CICM13},
- url = {http://kwarc.info/kohlhase/papers/cicm13-uom.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/latin,frabe,projects/omdoc}}
-
-@online{OpenMathMap:github,
- url = {https://github.com/KWARC/openmathmap},
- title = {KWARC/openmathmap - github}}
-
-@inProceedings{DoeKoh:mamim13,
-title = {{OpenMathMap}: accessing math via interactive maps},
-author = {Jan Wilken D{\"o}rrie and Michael Kohlhase},
-url = {http://ceur-ws.org/Vol-1010/paper-12.pdf},
-keywords = {workshop},
-crossref = {CICM-WS-WiP2013},
- pubs = {mkohlhase,projects/mathsearch}}
-
-@unpublished{KohGinMer:fspmco13,
- title = {A Framework for Semantic Publishing of Modular Content Objects},
- author = {Michael Kohlhase and Deyan Ginev and Vlad Merticariu},
- url = {http://kwarc.info/kohlhase/papers/cicm13-sepcomp.pdf},
- pubs = {mkohlhase,projects/latin,frabe,projects/omdoc}}
-
-@inproceedings{LangeEtAl:CompProvAuctThy13,
- title = {A Qualitative Comparison of the Suitability of Four Theorem Provers for Basic Auction Theory},
- author = {Christoph Lange\selfedit and Marco B. Caminati and Manfred Kerber and Till Mossakowski and Colin Rowat and Makarius Wenzel and Wolfgang Windsteiger},
- pages = {200--215},
- crossref = {CICM13},
- eprint = {1303.4193},
- eprinttype = {arxiv},
- eprintclass = {cs.LO},
- pubs = {clange,projects/formare},
-}
-
-@inproceedings{LRK:FormareProject13,
- title = {The ForMaRE Project -- Formal Mathematical Reasoning in Economics},
- author = {Christoph Lange\selfedit and Colin Rowat and Manfred Kerber},
- pages = {330--334},
- crossref = {CICM13},
- eprint = {1303.4194},
- eprinttype = {arxiv},
- eprintclass = {cs.CE},
- pubs = {clange,projects/formare},
-}
-
-@misc{LKR:MechReasEcon13,
- title = {Applying Mechanised Reasoning in Economics -- Making Reasoners Applicable for Domain Experts},
- author = {Christoph Lange and Manfred Kerber and Colin Rowat},
- editor = {Ulrich Furbach and R{\"u}diger Grimm and Felix Hampe and Steffen Staab and Maria Wimmer},
- note = {Tutorial at INFORMATIK 2013, Computer science adapted to humans, organization and the environment, 43\textsuperscript{rd} annual meeting of the German Informatics Society (Gesellschaft f{\"u}r Informatik e.V. (GI))},
- year = {2013},
- date = {2013-09-17},
- venue = {Koblenz, Germany},
- url = {http://cs.bham.ac.uk/research/projects/formare/events/informatik2013},
- keywords = {tutorial},
- pubs = {clange,projects/formare},
-}
-
-@inproceedings{LKR:MechReasEcon13:Abstract,
- title = {Applying Mechanised Reasoning in Economics -- Making Reasoners Applicable for Domain Experts},
- author = {Christoph Lange and Manfred Kerber and Colin Rowat},
- editor = {Matthias Horbach},
- booktitle = {INFORMATIK 2013: Informatik angepasst an Mensch, Organisation und Umwelt},
- eventtitle = {43\textsuperscript{rd} annual meeting of the German Informatics Society (Gesellschaft f{\"u}r Informatik e.V. (GI))},
- year = {2013},
- eventdate = {2013-09-16/2013-09-20},
- venue = {Koblenz, Germany},
- pages = {153--156},
- isbn = {978-3-88579-614-5},
- series = {Lecture Notes in Informatics},
- number = {P-220},
- publisher = {K{\"o}llen},
- keywords={conference},
- pubs = {clange,projects/formare},
-}
-
-@inproceedings{MKL:DOLSemanticsInstitutes13,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {Semantics of the Distributed Ontology Language: Institutes and Institutions},
- crossref = {WADT12},
- pages = {212--230},
- pubs={clange,projects/ontoiop}
-}
-
-@unpublished{MCKLG:ProofSupportCommonLogic13,
- crossref = {MCKLG:ProofSupportCommonLogic14}}
-@inproceedings{MCKLG:ProofSupportCommonLogic14,
- title = {Proof Support for {Common Logic}},
- author = {Till Mossakowski and Mihai Codescu and Oliver Kutz and Christoph Lange and Michael Gr{\"u}ninger},
- year = 2014,
- editor = {Christoph Benzm{\"u}ller and Jens Otten},
- booktitle = {Automated Reasoning in Quantified Non-Classical Logics (ARQNL)},
- venue = {Vienna, Austria},
- publisher = {EasyChair},
- series = {EasyChair Proceedings in Computing},
- number = {33},
- pages = {42--58},
- eventdate = {2014-07-23},
- url = {http://easychair.org/publications/paper/Proof_Support_for_Common_Logic},
- pubs = {clange}}
-
-@online{HundredTheoremsEconomics,
- title = {Formalising ``100'' Theorems/\allowbreak Models/\allowbreak Theories in Economics},
- author = {Colin Rowat and Christoph Lange and Manfred Kerber},
- url = {http://cs.bham.ac.uk/research/projects/formare/planetary/content/100-theorems},
- urldate = {2013-02-21},
- date = {2012-09-27},
- year = 2012,
- pubs = {clange,projects/formare},
-}
-
-@online{AuctionTheoryToolbox,
- title = {Auction Theory Toolbox},
- author = {Christoph Lange and Colin Rowat and Manfred Kerber and Makarius Wenzel and Marco B. Caminati and Till Mossakowski and Wolfgang Windsteiger},
- url = {http://cs.bham.ac.uk/research/projects/formare/code/auction-theory/},
- urldate = {2015-12-27},
- date = {2015-07-02},
- year = 2015,
- pubs = {clange,projects/formare},
- keywords = {formalization}}
-
-@inproceedings{LRWK:AuctionsDoForm13,
- title = {Developing an Auction Theory Toolbox},
- author = {Christoph Lange and Colin Rowat and Wolfgang Windsteiger and Manfred Kerber},
- crossref = {DoForm13},
- pubs = {clange,projects/formare}
-}
-
-@inproceedings{MKL:cMapOntoIOp12,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {{cMap}'s Product Classification Mapping from an Ontology Interoperability Perspective},
- year = 2012,
- editor = {Aur{\'e}lie Virgili and others},
- booktitle = {Mapping of classifications and other light-weight ontologies},
- eventtitle = {Workshop of the cMap project (Classification Mapping for open and standardized product classification usage in eBusiness)},
- eventdate = {2012-06-22},
- venue = {Madrid, Spain},
- keywords = {workshop},
- pubs = {clange,projects/ontoiop},
-}
-
-@online{formare,
- author = {Manfred Kerber and Christoph Lange and Colin Rowat},
- title = {{ForMaRE}},
- subtitle = {Formal Mathematical Reasoning in Economics},
- urldate = {2013-02-10},
- url = {http://cs.bham.ac.uk/research/projects/formare/},
- pubs = {clange,projects/formare}
-}
-
-@inproceedings{IanRab:mocdl12,
- author = "Mihnea Iancu and Florian Rabe",
- title = "{Management of Change in Declarative Languages}",
- pages = "325--340",
- crossref = {CICM12},
- pubs={frabe,miancu,projects/latin,projects/omdoc}}
-
-@inproceedings{Kohlhase:kmsedcs13,
- author = {Michael Kohlhase},
- title = {Knowledge Management for Systematic Engineering Design in {CAD} Systems},
- crossref = {ProWM13},
- pages = {202-217},
- url = {http://kwarc.info/kohlhase/papers/wm13-formalcad.pdf},
- pubs={mkohlhase,projects/formalcad}}
-
-@mastersthesis{cdavid:mscthesis,
- author = {Catalin David},
- title = {{Semantic Alliance Framework}: Integrating Documents and Semantic Services},
- school = {Jacobs University Bremen},
- year = 2012,
- type = {M.\,Sc.\ Thesis},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/msc-2012/cdavid.pdf},
- pubs = {cdavid,mscthesis,projects/sissi}}
-
-@mastersthesis{cprodescu:mscthesis,
- author = {Corneliu C. Prodescu},
- title = {Text and Formula Search on {ArXiv} Documents},
- school = {Jacobs University Bremen},
- year = 2014,
- type = {M.\,Sc.\ Thesis},
- SOONurl = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/msc-2012/cdavid.pdf},
- Pubs = {crpodescu,mscthesis,projects/mws}}
-
-@inproceedings{KKLMN:BabelSemWebInteroperability12,
- title = {The {Babel} of the Semantic Web Tongues -- In Search of the {Rosetta} Stone of Interoperability},
- author = {Oliver Kutz and Christoph Lange and Till Mossakowski and C. Maria Keet and Fabian Neuhaus and Michael Gr{\"u}ninger},
- booktitle = {What will the Semantic Web look like 10 Years from now? Workshop at ISWC},
- editor = {Frank van Harmelen and James A. Hendler and Pascal Hitzler and Krzysztof Janowicz and Denny Vrande{\v c}i{\'c}},
- year = {2012},
- url = {http://stko.geog.ucsb.edu/sw2022/},
- keywords = {workshop},
- pubs = {clange,projects/ontoiop}}
-
-@InBook{LanKoh:MathMashups12,
- author = {Christoph Lange and Michael Kohlhase},
- title = {Mashups using Mathematical Knowledge},
- pages = {171--204},
- pubs={mkohlhase,clange,projects/planetary,projects/sissi},
- url = {https://sites.google.com/site/mashupbookchapters/semantic-mashups/mathknowledge},
- crossref = {EndresNiggemeyer:SemanticMashups13}}
-
-@misc{Lange:MatheLernenSemWiki08,
- title = {Mathematik lernen in einem semantischen Wiki},
- author = {Christoph Lange},
- note = {Invited talk at the 99\textsuperscript{th} MNU-Kongress (Deutscher Verein zur F{\"o}rderung des mathematischen und naturwissenschaftlichen Unterrichts e.V.)},
- year = {2008},
- month = mar,
- venue = {Kaiserslautern, Germany},
- url = {http://kwarc.info/projects/swim/pubs/mnu08-mathe-lernen-semwiki.pdf},
- keywords = {invited-talk},
- pubs = {clange},
- hyphenation = {ngerman}}
-
-@misc{KLR:EconomistsMechanizedReasoning12,
- title = {An economist's guide to mechanized reasoning or {My} computer just proved 84 impossibility theorems},
- author = {Manfred Kerber and Christoph Lange and Colin Rowat},
- editor = {Kenneth Judd},
- note = {Invited lecture at the Initiative for Computational Economics summer school},
- year = {2012},
- date = {2012-07-25},
- venue = {Chicago, US},
- url = {http://cs.bham.ac.uk/research/projects/formare/pubs/ice2012/2012-07-25-ice-mech-reas-econ.pdf},
- keywords = {invited-talk},
- pubs = {clange,projects/formare},
-}
-
-@inproceedings{KLR:FormReprProofCoopGames12,
- title = {Formal representation and proof for cooperative games},
- author = {Manfred Kerber and Christoph Lange and Colin Rowat},
- booktitle = {Symposium on Mathematical Practice and Cognition II},
- editor = {Alison Pease and Brendan Larvor},
- pages = {15--18},
- year = {2012},
- eventdate = {2012-07-02/2012-07-03},
- venue = {Birmingham, UK},
- url = {http://homepages.inf.ed.ac.uk/apease/aisb12/1.pdf},
- isbn = {978-1-908187-10-9},
- publisher = {{Society for the Study of Artificial Intelligence and Simulation of Behaviour (AISB)}},
- pubs = {clange,projects/formare},
-}
-
-@online{OAF:on,
-label = {OAF},
-url = {http://oaf.mathhub.info},
-title = {The OAF Project \& System},
-urldate={2015-04-23}}
-
-@online{OpenDreamKit:on,
-label = {ODK},
-url = {http://opendreamkit.org},
-title = {OpenDreamKit Open Digital Research Environment Toolkit for the Advancement of
- Mathematics},
-urldate={2015-05-21}}
-
-@online{MathHub:on,
-label = {MH},
-url = {http://mathhub.info},
-title = {MathHub.info: Active Mathematics},
-urldate={2014-01-28}}
-
-@online{sissi:SPSHP:on,
- url = {https://tnt.kwarc.info/repos/stc/projects/sissi/trunk/spshp},
- key = {SPSHP},
- label = {SPSHP},
- title = {An Ontology for Spreadsheet Programs}}
-
-@misc{sissi:URL,crossref = {sissi:base},
- howpublished = {Project home page at \url{http://trac.kwarc.info/sissi/}}}
-@online{sissi:on,crossref={sissi:base},urldate={2013-01-04}}
-@misc{sissi:base,
- key = {SiSsI},
- label = {SiSsI},
- title = {{Software Engineering for Spreadsheet Interaction}},
- url = {http://trac.kwarc.info/sissi/},
- note = {Project Homepage}}
-
-@inproceedings{Rabe:qlfml12,
- author = "Florian Rabe",
- title = "{A Query Language for Formal Mathematical Libraries}",
- pages = "142--157",
- crossref = {CICM12},
- eprint = {1204.4685},
- eprinttype = {arxiv},
- eprintclass = {cs.LO},
- pubs={frabe,projects/latin}}
-
-@misc{project:FormalCAD,
- author = "Michael Kohlhase and Lutz Schroeder",
- title = "{The FormalCAD Project}",
- year = "2011",
- note = "see \url{http://trac.kwarc.info/FormalCAD/}",
- pubs={mkohlhase,projects/formalcad}}
-
-@misc{Kohlhase:mdadmls12,
- title = {Mathematical Documents want to be Active,
-Digital Math Libraries want to be Semantic --- Position paper for WDML 2012},
- author = {Michael Kohlhase},
- type = {Position Paper at {WDML} Symposium},
- year = 2012,
- url = {http://kwarc.info/kohlhase/papers/wdml12-position.pdf},
- pubs = {mkohlhase,projects/omdoc}}
-
-@inProceedings{LangeEtAl:MSC-LOD12,
- title = {Reimplementing the Mathematics Subject Classification ({MSC}) as a Linked Open Dataset},
- author = {Christoph Lange and Patrick Ion and Anastasia Dimou and Charalampos Bratsas and Joseph Corneli and Wolfram Sperber and Michael Kohlhase and Ioannis Antoniou},
- crossref = {CICM12},
- pages = {458--462},
- vgwortseiten = {8},
- eprint = {1204.5086},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- keywords={conference},
- pubs = {clange}}
-
-@inproceedings{TLU:DocumentingFormalMathByReference12,
- title = {Point-and-write --- Documenting Formal Mathematics by Reference},
- author = {Carst Tankink and Christoph Lange and Josef Urban},
- crossref = {CICM12},
- pages = {169--185},
- vgwortseiten = {30},
- eprint = {1204.5094},
- eprinttype = {arxiv},
- eprintclass = {cs.MS},
- pubs = {clange}}
-
-@inproceedings{LMK:LoLaModularOntologyLogLangTrans12,
- title = {{LoLa}: A Modular Ontology of Logics, Languages, and Translations},
- author = {Christoph Lange and Till Mossakowski and Oliver Kutz},
- booktitle = {Modular Ontologies},
- editor = {Thomas Schneider and Dirk Walther},
- eventtitle = {6\textsuperscript{th} International Workshop (WoMO)},
- year = {2012},
- eventdate = {2012-07-24},
- venue = {Graz, Austria},
- series = {CEUR Workshop Proceedings},
- number = 875,
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-875},
- keywords = {workshop},
- pubs = {clange,projects/ontoiop}}
-
-@inproceedings{MKCL:DOL13,
- title = {The Distributed Ontology, Modeling and Specification Language},
- author = {Till Mossakowski and Oliver Kutz and Mihai Codescu and Christoph Lange},
- note = {Invited paper},
- booktitle = {Modular Ontologies},
- editor = {Del Vescovo, Chiara and Torsten Hahmann and David Pearce and Dirk Walther},
- eventtitle = {7\textsuperscript{th} International Workshop (WoMO)},
- year = {2013},
- eventdate = {2013-09-15},
- venue = {Corunna, Spain},
- series = {CEUR Workshop Proceedings},
- number = 1081,
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-1081},
- keywords = {workshop},
- pubs = {clange,projects/ontoiop}}
-
-@inproceedings{LKMG:DistributedOntologyLanguage12,
- title = {The Distributed Ontology Language ({DOL}): Ontology Integration and Interoperability Applied to Mathematical Formalization},
- author = {Christoph Lange and Oliver Kutz and Till Mossakowski and Michael Gr{\"u}ninger},
- crossref = {CICM12},
- pages = {463--467},
- vgwortseiten = {9},
- eprint = {1204.5093},
- eprinttype = {arxiv},
- eprintclass = {cs.LO},
- pubs = {clange,projects/ontoiop}}
-
-@inproceedings{DavJucKoh:safusa12,
- title = {\texttt{Semantic Alliance}: A Framework for Semantic Allies},
- author = {Catalin David and Constantin Jucovschi and Andrea Kohlhase and Michael Kohlhase},
- crossref = {CICM12},
- pages = {49--64},
- url = {http://kwarc.info/kohlhase/papers/mkm12-SAlly.pdf},
- keywords={conference},
- Pubs = {mkohlhase,cdavid,cjucovschi,akohlhase,projects/sissi}}
-
-@inproceedings{HorKohRab:emfsl12,
- title = {Extending {MKM} Formats at the Statement Level},
- author = {Fulya Horozal and Michael Kohlhase and Florian Rabe},
- crossref = {CICM12},
- pages = {65--80},
- url = {http://kwarc.info/kohlhase/papers/mkm12-p2s.pdf},
- keywords={conference},
- pubs = {mkohlhase,frabe,fhorozal,projects/omdoc}}
-
-@inproceedings{Kohlhase:ppte12,
- title = {The {Planetary} Project: Towards {eMath3.0}},
- Author = {Michael Kohlhase},
- crossref = {CICM12},
- eprint = {1206.5048},
- pages = {448--452},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- keywords={conference},
- pubs = {mkohlhase,projects/planetary}}
-
-@report{HetsForCommonLogic,
- title = {{Hets} for {Common Logic} Users},
- author = {Till Mossakowski and Christian Maeder and Mihai Codescu and Eugen Kuksa and Christoph Lange},
- version = {0.99},
- institution = {DFKI GmbH, Bremen},
- date = {2013-01-10},
- year = 2013,
- url = {https://svn-agbkb.informatik.uni-bremen.de/Hets/trunk/doc/UserGuideCommonLogic.pdf},
- pubs = {clange}
-}
-
-@article{KohRab:som12,
- author = "Michael Kohlhase and Florian Rabe",
- title = "{Semantics of OpenMath and MathML3}",
- year = 2012,
- journal = {Mathematics in Computer Science},
- pages = {235--260},
- volume = 6,
- number = 3,
- url = {http://kwarc.info/kohlhase/papers/mcs12.pdf},
- pubs={frabe,mkohlhase,projects/omdoc}
-}
-
-@online{NTCIR-Math,crossref={NTCIR10-Math:on}}
-@online{NTCIR10-Math:on,
- label={NTM},
- title = {{NTCIR} Math Track -- Pilot Task},
- url = {http://ntcir-math.nii.ac.jp/},
- urldate = {2012-05-18}}
-
-@online{NTCIR11-Math2:on,
- label={NTM},
- title = {{NTCIR}-11 Task: Math2},
- url = {http://ntcir-math.nii.ac.jp/},
- urldate = {2014-02-18}}
-
-@online{NTCIR12-MathIR:on,
- label={NTM},
- title = {{NTCIR}-12 MathIR},
- url = {http://ntcir-math.nii.ac.jp/},
- urldate = {2015-12-18}}
-
-
-@online{CICM,
- title = {Conference on Intelligent Computer Mathematics ({CICM})},
- url = {http://cicm-conference.org},
- urldate = {2012-03-18}}
-
-@article{KohRab:qrtpflmk15,
- title = {{QED} Reloaded: Towards a Pluralistic Formal Library of Mathematical Knowledge},
- author = {Michael Kohlhase and Florian Rabe},
- year = {2016},
- journal = {Journal of Formalized Reasoning},
- volume = {9},
- number = {1},
- pages = {201--234},
- url = {http://jfr.unibo.it/article/download/4570/5733},
- pubs = {mkohlhase,frabe,projects/oaf}}
-
-@inproceedings{KohIan:ssmk12,
- author = {Michael Kohlhase and Mihnea Iancu},
- title = {Searching the Space of Mathematical Knowledge},
- crossref = {DML12},
- year = 2012,
- url = {http://kwarc.info/kohlhase/papers/mir12.pdf},
- note = {in press},
- pubs={mkohlhase,miancu,projects/mws}}
-
-@online{MIR-happening,
- label = {MIRH},
- title = {Math {IR} Happening at {MIR} 2012},
- url = {http://cicm2012.cicm-conference.org/cicm.php?event=mir&menu=happening},
- urldate = {2012-03-18}}
-
-@inproceedings{LIDBSKA:MSC-SKOS12,
- author = {Christoph Lange and Patrick Ion and Anastasia Dimou and Charalampos Bratsas and Wolfram Sperber and Michael Kohlhase and Ioannis Antoniou},
- title = {Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject Classification},
- pages = {763--777},
- vgwortseiten = {29},
- url = {http://kwarc.info/clange/pubs/eswc2012-msc-skos.pdf},
- doi = {10.1007/978-3-642-30284-8_58},
- keywords={conference},
- pubs = {clange,mkohlhase,projects/planetary},
- crossref = {eswc2012},
-}
-
-@ONLINE{MSC-SKOS,
- label = {MSC},
- title = {Mathematics Subject Classification ({MSC}) {SKOS}},
- url = {http://msc2010.org/resources/MSC/2010/info/},
- year = 2012,
- urldate = {2012-08-31},
- keywords = {ontology},
- pubs = {clange},
-}
-
-@ONLINE{MSCLinkedWiki:on,
- author = {Ioannis Antoniou and Charalampos Bratsas and Anastasia Dimou and Patrick Ion and Christoph Lange and Wolfram Sperber},
- title = {Mathematics Subject Classification Linked Wiki},
- url = {http://sci-class.math.auth.gr/MSCLW/},
- date = {2011-12-03},
- year = 2011,
- pubs = {clange},
-}
-
-@INPROCEEDINGS{ProKoh:mwsofse11,
- author = {Corneliu C. Prodescu and Michael Kohlhase},
- title = {MathWebSearch 0.5 - Open Formula Search Engine},
- url = {https://svn.mathweb.org/repos/mws/doc/2011/newmws/main.pdf},
- crossref = {LWA11},
- pubs = {mkohlhase,cprodescu,projects/mws}
-}
-
-@PhdThesis{Normann:phd,
- author = {Immanuel Normann},
- title = {Automated Theory Interpretation},
- school = {Jacobs University},
- year = 2008,
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/phd-2008/normann.pdf},
- address = "Bremen, Germany"}
-
-@INPROCEEDINGS{Normann:etrpti06,
- author = {Immanuel Normann},
- title = {Enhanced Theorem Reuse by Partial Theory Inclusions},
- pages = {40--52},
- crossref = {AISC06}}
-
-@UNPUBLISHED{Normann:cmde06,
- author = {Immanuel Normann},
- title = {Extended Normalization for $E$-Retrieval of Formulae},
- year = {2006}}
-
-
-@inproceedings{ProKoh:mwssofse12,
- author = {Michael Kohlhase and Bogdan A. Matican and Corneliu C. Prodescu},
- title = "{MathWebSearch 0.5 -- Scaling an Open Formula Search Engine}",
- url = {http://kwarc.info/kohlhase/papers/aisc12-mws.pdf},
- crossref = {CICM12},
- pages = {342--357},
- keywords={conference},
- pubs = {mkohlhase,cprodescu,projects/mws}
-}
-
-@misc{cdavid:bscthesis,
- author = {Catalin David},
- title = {Interactive Documents as Interfaces to Computer Algebra Systems: {JOBAD} and {Wolfram|Alpha}},
- school = {Jacobs University Bremen},
- year = 2010,
- type = {B.\,Sc.\ Thesis},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/bsc-2010/cdavid.pdf},
- pubs = {cdavid,bscthesis}}
-
-@misc{doerrie:oamim13,
- author = {Jan Wilken Doerrie},
- title = {{OpenMathMap}: Accessing Math via Interactive Maps},
- school = {Jacobs University Bremen},
- year = 2013,
- type = {B.\,Sc.\ Thesis},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/bsc-2013/jdoerrie.pdf},
- pubs = {bscthesis}}
-
-@article{KohDavGin:psewads11,
- journal = {Procedia Computer Science},
- author = {Michael Kohlhase and Joe Corneli and Catalin David and Deyan Ginev and Constantin Jucovschi and Andrea Kohlhase and Christoph Lange and Bogdan Matican and Stefan Mirea and Vyacheslav Zholudev},
- title = {The Planetary System: Web 3.0 \& Active Documents for STEM},
- issuetitle = {Special issue: Proceedings of the International Conference on Computational Science (ICCS)},
- editor = {Mitsuhisa Sato and Satoshi Matsuoka and Peter M. Sloot and G. Dick van Albada and Jack Dongarra},
- pages = {598--607},
- venue = {Nanyang Technological University, Singapore},
- eventdate = {2011-06-01/2011-06-03},
- note = {Finalist at the Executable Paper Grand Challenge},
- year = 2011,
- volume = 4,
- url = {http://kwarc.info/kohlhase/papers/epc11.pdf},
- publisher = {Elsevier},
- doi = {10.1016/j.procs.2011.04.063},
- keywords = {conference},
- pubs = {mkohlhase,cdavid,dginev,akohlhase,clange,bmatican,smirea,vzholudev,projects/planetary,projects/ikyda2012},
- acceptancerate = {14},
- acceptancerateCOMMENT = {10/70 accepted into the finals}}
-
-@TechReport{IanKohRab:tmmlof11,
- author = {Mihnea Iancu and Michael Kohlhase and Florian Rabe},
- title = {Translating the {Mizar Mathematical Library} into {OMDoc} format},
- institution = {Jacobs University Bremen},
- year = 2011,
- type = {{KWARC} Report},
- url = {https://svn.omdoc.org/repos/latin/public/Mizar2OMDoc-Report.pdf},
- howpublished = {\url{https://svn.omdoc.org/repos/latin/public/Mizar2OMDoc-Report.pdf}},
- pubs={mkohlhase,frabe,miancu,projects/latin}}
-
-@article{IanKohRabUrb:tmmliotaa13,
- author = {Mihnea Iancu and Michael Kohlhase and Florian Rabe and Josef Urban},
- title = {The Mizar Mathematical Library in {OMDoc}: Translation and Applications},
- url = {https://svn.omdoc.org/repos/latin/public/MizarOMDocAppl.pdf},
- journal = {Journal of Automated Reasoning},
- publisher = {Springer Verlag},
- volume = {50},
- number = {2},
- pages = {191-202},
- year = {2013},
- doi = {10.1007/s10817-012-9271-4},
- pubs={mkohlhase,frabe,miancu,projects/latin}}
-
-@Unpublished{Kohlhase:fund13,
- author = {Michael Kohlhase},
- title = {Formula Understanding with Notation Definitions},
- note = {LaMaPUn Blue Note},
- url = {https://svn.kwarc.info/repos/lamapun/doc/blue/ndparse/note.pdf},
- year = 2013}
-
-@Unpublished{Kohlhase:sp14,
- author = {Michael Kohlhase},
- title = {SMGloM Primer},
- note = {SMGloM Blue Note},
- url = {http://gl.kwarc.info/smglom/manuals/raw/master/primer/primer.pdf},
- year = 2014}
-
-
-@Unpublished{Kohlhase:tsmgs13,
- author = {Michael Kohlhase},
- title = {{SMGloM}: a Semantic Multilingual Glossary System for Mathematics},
- note = {SMGloM Blue Note},
- url = {http://gl.kwarc.info/smglom/blue/raw/master/smglom/note.pdf},
- year = 2013}
-
-@Unpublished{KohJuc:edsmglom14,
- author = {Michael Kohlhase and Constantin Jucovschi},
- title = {Editing Workflows in SMGloM},
- note = {SMGloM Blue Note},
- url = {http://gl.kwarc.info/smglom/blue/raw/master/editing/note.pdf},
- year = 2014}
-
-@Unpublished{Kohlhase:cmsmglom14,
- author = {Michael Kohlhase},
- title = {Content Management in SMGloM},
- note = {SMGloM Blue Note},
- url = {http://gl.kwarc.info/smglom/blue/raw/master/contmgt/note.pdf},
- year = 2014}
-
-@Unpublished{Kohlhase:dmsmglom14,
- author = {Michael Kohlhase},
- title = {A Data Model and Encoding for {SMGloM}},
- note = {SMGloM Blue Note},
- url = {http://gl.kwarc.info/smglom/blue/raw/master/datamdl/note.pdf},
- year = 2014}
-
-@online{SMGloM:git,
- title = {SMGloM Git Repository},
- url={http://gl.mathhub.info/smglom/smglom},
- urldate = {2013-07-10}}
-
-@Unpublished{Kohlhase:fsgo13,
- author = {Michael Kohlhase},
- title = {Flexible Symbol Grounding in OMDoc},
- note = {KWARC Blue Note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/grounding/note.pdf},
- year = 2013}
-
-@Unpublished{Kohlhase:rdrtg14,
- author = {Michael Kohlhase},
- title = {The Role of Discourse Referents in Theory Graphs},
- note = {KWARC Blue Note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/drt-graph/note.pdf},
- year = 2014}
-
-@Unpublished{Kohlhase:osslepsdl13,
- author = {Michael Kohlhase},
- title = {Organizing Symbols between Slides, Lecture Notes, Encyclopedias, and Original Papers in Semantic Digital Libraries},
- note = {KWARC Blue Note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/slides-notes/note.pdf},
- year = 2013}
-
-@InProceedings{Kohlhase:tffm13,
- author = {Michael Kohlhase},
- title = {The Flexiformalist Manifesto},
- crossref = {SYNASC13},
- pages = {30--36},
- url = {http://kwarc.info/kohlhase/papers/synasc13.pdf},
- pubs = {mkohlhase,projects/omdoc}}
-
-@Unpublished{Kohlhase:doo13,
- author = {Michael Kohlhase},
- title = {A Document Ontology for {OMDoc2}},
- note = {KWARC Blue Note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/ontology/note.pdf},
- year = 2013}
-
-@Unpublished{KohIan:hlpmo13,
- author = {Michael Kohlhase and Mihnea Iancu},
- title = {Higher-Level Parallel Markup in {OMDoc}},
- note = {KWARC Blue Note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/parallel/note.pdf},
- year = 2013}
-
-@Unpublished{LigKoh:comesf13,
- author = {Christian Liguda and Michael Kohlhase},
- title = {A Content Ontology and MathML Export for Spreadsheet Formulae},
- note = {KWARC Blue Note},
- url = {https://svn.kwarc.info/repos/sissi/doc/blue/mathml-formulae/note.pdf},
- year = 2013}
-
-@Unpublished{Kohlhase:old13,
- author = {Michael Kohlhase},
- title = {The {OMDoc2} Language Design},
- note = {KWARC Blue Note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/design/note.pdf},
- year = 2013}
-
-@Unpublished{Kohlhase:eco13,
- author = {Michael Kohlhase},
- title = {Examples and Counterexamples in {OMDoc}},
- note = {KWARC blue note},
- url = {http://gl.kwarc.info/omdoc/blue/raw/master/example/note.pdf},
- year = 2013}
-
-% use the CICM paper CarFarKoh:rsckmt14 instead.
-@Unpublished{CarFarKoh:tr13,
- author = {Jacues Carette and William Farmer and Michael Kohlhase},
- title = {TetraPod Realms},
- note = {TetraPod Blue Note},
- year = 2013}
-
-@inproceedings{LKDGKMMZ:PlanetaryExecutableSTEM11,
- author = {Christoph Lange and Michael Kohlhase and Catalin David and Deyan Ginev and Andrea Kohlhase and Bogdan Matican and Stefan Mirea and Vyacheslav Zholudev},
- title = {The Planetary System: Executable Science, Technology, Engineering and Math Papers},
- eprint = {1103.1482},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- crossref = {eswc2011-2},
- pages = {471--475},
- keywords = {conference},
- pubs = {mkohlhase,cdavid,dginev,akohlhase,clange,bmatican,smirea,vzholudev,projects/planetary,projects/ikyda2012},}
-
-@article{Lange:OntoLangMathSemWeb,
- title = {Ontologies and Languages for Representing Mathematical Knowledge on the Semantic Web},
- author = {Christoph Lange},
- year = 2013,
- journal = {Semantic Web Journal},
- impactfactor = {not yet known; journal established in 2010},
- publisher = {IOS Press},
- volume = 4,
- number = 2,
- pages = {119--158},
- doi = {10.3233/SW-2012-0059},
- url = {http://www.semantic-web-journal.net/content/ontologies-and-languages-representing-mathematical-knowledge-semantic-web},
- pubs = {clange,projects/ikyda2012},
- }
-
-@inproceedings{MLK:3SemanticsForDistributedOntologies12:citeijcai,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {Three Semantics for the Core of the {Distributed Ontology Language}},
- booktitle = {Formal Ontology in Information Systems},
- editor = {Maureen Donnelly and Giancarlo Guizzardi},
- pages = {337--352},
- eventtitle = {7\textsuperscript{th} International Conference (FOIS 2012)},
- eventdate = {2012-07-24/2012-07-27},
- venue = {Graz, Austria},
- year = 2012,
- pubs = {clange,projects/ontoiop},
- series = {Frontiers in Artificial Intelligence and Applications},
- number = 239,
- publisher = {IOS Press},
- location = {Amsterdam},
- vgwortseiten = {33},
- isbn = {978-1-61499-084-0},
- keywords = {conference},
- note = {Extended abstract published as \cite{MLK:3SemanticsDOL:IJCAI13}},
- url = {http://interop.cim3.net/file/pub/OntoIOp/Publications/FOIS_2012/paper.pdf},
- acceptancerate = {34},
- acceptancerateCOMMENT = {24 out of 71},
-}
-
-@inproceedings{MLK:3SemanticsForDistributedOntologies12:plain,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {Three Semantics for the Core of the {Distributed Ontology Language}},
- booktitle = {Formal Ontology in Information Systems},
- editor = {Maureen Donnelly and Giancarlo Guizzardi},
- pages = {337--352},
- eventtitle = {7\textsuperscript{th} International Conference (FOIS 2012)},
- eventdate = {2012-07-24/2012-07-27},
- venue = {Graz, Austria},
- year = 2012,
- series = {Frontiers in Artificial Intelligence and Applications},
- number = 239,
- publisher = {IOS Press},
- location = {Amsterdam},
- vgwortseiten = {33},
- isbn = {978-1-61499-084-0},
- keywords = {conference},
- url = {http://interop.cim3.net/file/pub/OntoIOp/Publications/FOIS_2012/paper.pdf},
- acceptancerate = {34},
- acceptancerateCOMMENT = {24 out of 71},
-}
-
-@inproceedings{MLK:3SemanticsForDistributedOntologies12,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {Three Semantics for the Core of the {Distributed Ontology Language}},
- booktitle = {Formal Ontology in Information Systems},
- editor = {Maureen Donnelly and Giancarlo Guizzardi},
- pages = {337--352},
- eventtitle = {7\textsuperscript{th} International Conference (FOIS 2012)},
- eventdate = {2012-07-24/2012-07-27},
- venue = {Graz, Austria},
- year = 2012,
- series = {Frontiers in Artificial Intelligence and Applications},
- number = 239,
- publisher = {IOS Press},
- location = {Amsterdam},
- vgwortseiten = {33},
- isbn = {978-1-61499-084-0},
- keywords = {conference},
- note = {(\emph{The paper has won the best paper award. Also published at IJCAI 2013 track on Best Papers in Sister Conferences.})},
- url = {http://interop.cim3.net/file/pub/OntoIOp/Publications/FOIS_2012/paper.pdf},
- acceptancerate = {34},
- acceptancerateCOMMENT = {24 out of 71},
-}
-
-@inproceedings{MLK:3SemanticsDOL:IJCAI13,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {Three Semantics for the Core of the {Distributed Ontology Language} (Extended Abstract)},
- booktitle = {International Joint Conference on Artificial Intelligence},
- editor = {Francesca Rossi},
- eventtitle = {23\textsuperscript{rd} International Conference (IJCAI 2013), track on best papers in sister conferences},
- eventdate = {2013-08-03/2013-08-09},
- venue = {Beijing, China},
- year = 2013,
- pubs = {clange,projects/ontoiop},
- publisher = {AAAI Press},
- location = {Palo Alto, CA, USA},
- keywords = {conference},
-}
-
-@report{OntoIOpStandard,
- label = {OntoIOp},
- title = {{OntoIOp} (Ontology Integration and Interoperability) Part 1: The Distributed Ontology Language ({DOL})},
- institution = {ISO},
- number= {17347},
- type = {International Standard (Working Draft)},
- keywords = {standard},
- url = {http://ontoiop.org},
- date = {2012-06-04},
- pubs = {clange,projects/ontoiop},
-}
-
-@online{OntoIOp,
- label = {OntoIOp},
- title = {{OntoIOp} (Ontology, Model and Specification Integration and Interoperability), an {OMG} Standard Development Initiative},
- url = {http://ontoiop.org},
- urldate = {2013-10-09},
- year = {2013},
- pubs = {clange,projects/ontoiop},
-}
-
-@inproceedings{GKLM:DOLUseSyntaxSemantics12,
- author = {Christoph Lange and Till Mossakowski and Oliver Kutz and Christian Galinski and Michael Gr{\"u}ninger and Couto Vale, Daniel},
- title = {The {Distributed Ontology Language} ({DOL}): Use Cases, Syntax, and Extensibility},
- eprint = {1208.0293},
- eprinttype = {arxiv},
- eprintclass = {cs.AI},
- pubs = {clange,projects/ontoiop},
- pages = {33--48},
- crossref = {tke2012}}
-
-@inproceedings{KMGL:HetOntoInteropStandard11,
- author = {Christoph Lange and Till Mossakowski and Christian Galinski and Oliver Kutz},
- title = {Making Heterogeneous Ontologies Interoperable Through Standardisation},
- subtitle = {A Meta Ontology Language to be Standardised: Ontology Integration and Interoperability ({OntoIOp})},
- booktitle = {Accessibility Reaching Everywhere},
- pages = {185--196},
- eventtitle = {AEGIS 2\textsuperscript{nd} International Conference},
- month = nov,
- year = {2011},
- eventdate = {2011-11-29/2011-11-30},
- venue = {Brussels, Belgium},
- url = {http://www.epr.eu/aegis/?cat=46},
- pubs = {clange,projects/ontoiop},
- keywords = {conference,nopub}}
-
-@inproceedings{KMGL:StdHetOntoIntegrInterop11,
- author = {Oliver Kutz and Till Mossakowski and Christian Galinski and Christoph Lange},
- title = {Towards a Standard for Heterogeneous Ontology Integration and Interoperability},
- booktitle = {First International Conference on Terminology, Language and Content Resources (LaRC)},
- editor = {Key-Sun Choi and others},
- pages = {101--110},
- year = {2011},
- month = jun,
- eventdate = {2011-06-10/2011-06-11},
- venue = {Seoul, Korea},
- publisher = {KATS},
- location = {Seoul},
- pubs = {clange,projects/ontoiop},
- keywords = {conference,nopub},
- url = {http://ke.yu.ac.kr/LaRC11/Proceedings_LaRC.pdf}}
-
-@inproceedings{cdavid:ParEMNS,
- author = {David, Catalin and Brennan, Conor and Ormond, Olga and Mullen, Marie},
- title = {Parallelised EM wave propagation modelling for accurate network simulation},
- booktitle = {{9\textsuperscript{th} IT\&T Conference, Dublin Institute of Technology}},
- year = 2009,
- pubs= {cdavid}}
-
-@inproceedings{Kohlhase:UAForDocs,
- author = {Andrea Kohlhase},
- crossref={KI10},
- title = {Towards User Assistance for Documents via Interactional Semantic Technology},
- pages = {107--115},
- keywords={conference},
- pubs={akohlhase,projects/sissi}}
-
-@InProceedings{Lange:MathWebOfData10,
- author = {Christoph Lange},
- title = {Integrating Mathematics into the Web of Data},
- booktitle = {Linked Data in the Future Internet},
- editor = {S{\"o}ren Auer and Stefan Decker and Manfred Hauswirth},
- year = {2010},
- eventtitle = {Future Internet Assembly},
- eventdate = {2010-12-16/2010-12-17},
- venue = {Ghent, Belgium},
- series = {CEUR Workshop Proceedings},
- number = 700,
- address = {Aachen},
- issn = {1613-0073},
- url = {http://CEUR-WS.org/Vol-700},
- keywords = {workshop},
- pubs = {clange,projects/ikyda2012}}
-
-@Unpublished{KohDavGin:fspmco12,
- author = {Michael Kohlhase and Catalin David and Deyan Ginev and Bogdan Matican and Vlad Merticariu and Stefan Mirea},
- title = {A Framework for Semantic Publishing of Modular Content Objects},
- year = 2012,
- url = {http://kwarc.info/kohlhase/submit/doceng12.pdf},
- pubs = {mkohlhase,dginev,cdavid,projects/omdoc}
-}
-
-@InProceedings{Lange:OpenMathCDLinkedData10,
- author = {Christoph Lange},
- title = {Towards {OpenMath} Content Dictionaries as Linked Data},
- crossref = {OM10},
- eprint = {1006.4057v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- pubs = {clange,projects/ikyda2012}}
-
-@inproceedings{am:doceng10,crossref={DOCENG10},
- author = {Serge Autexier and Normen M{\"u}ller},
- title = {Semantics-based Change Impact Analysis for Heterogeneous Collections of Documents},
- pages = {97--106},
- numpages = {10},
- url = {http://doi.acm.org/10.1145/1860559.1860580},
- doi = {http://doi.acm.org/10.1145/1860559.1860580},
- acmid = {1860580},
- keywords = {change impact analysis, document collections, document management, graph rewriting, semantics},
- pubs = {nmueller}}
-
-@inproceedings{KohKoh:micvl11,
- title = {Maintaining Islands of Consistency via Versioned Links},
- author = {Andrea Kohlhase and Michael Kohlhase},
- crossref = {SIGDOC11},
- keywords={conference},
- pages = {167--174},
- url = {http://kwarc.info/kohlhase/papers/sigdoc2011-verslinks.pdf},
- pubs = {mkohlhase,akohlhase,projects/omdoc}}
-
-@inproceedings{KohKoh:tfndc11,
- title = {Towards a Flexible Notion of Document Context},
- author = {Andrea Kohlhase and Michael Kohlhase},
- url = {http://kwarc.info/kohlhase/papers/sigdoc2011-flexiforms.pdf},
- crossref = {SIGDOC11},
- pages = {181--188},
- keywords={conference,lamapunbibs},
- pubs = {mkohlhase,akohlhase,projects/omdoc}}
-
-@article{Lange:FreeXSemanticWeb1:12,
- title = {Vokabelheft f{\"u}rs Web},
- author = {Christoph Lange},
- journal = {freeX Magazin f{\"u}r Netz\-werk\allowbreak/\allowbreak Vir\-tu\-a\-li\-sie\-rung\allowbreak/\allowbreak Si\-cher\-heit},
- year = 2012,
- volume = 1,
- pages={42--45},
- vgwortseiten = {13},
- publisher = {C\&L Computer- und Literaturverlag},
- url = {http://www.cul.de/data/freex12012pr.pdf},
- keywords={magazine},
- hyphenation={ngerman},
- pubs = {clange}}
-
-@article{Lange:FreeXSemanticWeb2:12,
- title = {Desktop mit Dolmetscher},
- author = {Christoph Lange},
- journal = {freeX Magazin f{\"u}r Netz\-werk\allowbreak/\allowbreak Vir\-tu\-a\-li\-sie\-rung\allowbreak/\allowbreak Si\-cher\-heit},
- year = 2012,
- volume = 2,
- pages={90--94},
- vgwortseiten = {16},
- publisher = {C\&L Computer- und Literaturverlag},
- keywords={magazine},
- hyphenation={ngerman},
- pubs = {clange}}
-
-@inProceedings{KohKoh:vl11,
- title = {Maintaining Islands of Consistency via Versioned Links},
- url = {http://kwarc.info/kohlhase/papers/VersionedLinks_WiP.pdf},
- author = {Andrea Kohlhase and Michael Kohlhase},
- crossref = {CICM11WIP},
- pubs = {mkohlhase,akohlhase,projects/omdoc},
- keywords={conference}}
-
-@inProceedings{KohJuc:pcmpm11,
- title = {{planMP}: Collecting Mathematical Practices for MKM},
- author = {Andrea Kohlhase and Constantin Jucovschi},
- crossref = {CICM11WIP},
- pubs = {akohlhase,cjucovschi}}
-
-@InProceedings{Lange:KrextorSystem11,
- title = {Krextor -- An Extensible Framework for Contributing Content Math to the Web of Data},
- author = {Christoph Lange},
- url = {http://kwarc.info/clange/pubs/krextor-system.pdf},
- crossref = {CICM11},
- pages = {304--306},
- keywords = {conference},
- pubs = {projects/krextor,clange,projects/ikyda2012}}
-
-@InProceedings{CodHorKoh:palai11,
- title = {Project Abstract: Logic Atlas and Integrator ({LATIN})},
- author = {Mihai Codescu and Fulya Horozal and Michael Kohlhase and Till Mossakowski and Florian Rabe},
- pages = {289--291},
- crossref = {CICM11},
- keywords = {conference},
- url = {https://kwarc.info/people/frabe/Research/CHKMR_latinabs_11.pdf},
- pubs = {mkohlhase,fhorozal,projects/omdoc,projects/latin}}
-
-@InProceedings{HorIacJuc:cscpnrr11,
- title = {Combining Source, Content, Presentation, Narration, and Relational Representation},
- author = {Fulya Horozal and Alin Iacob and Constantin Jucovschi and Michael Kohlhase and Florian Rabe},
- pages = {212--227},
- crossref = {CICM11},
- url = {http://kwarc.info/frabe/Research/HIJKR_dimensions_11.pdf},
- keywords = {conference},
- pubs = {mkohlhase,fhorozal,aiacob,cjucovschi,mkohlhase,frabe,projects/latin,projects/planetary}}
-
-@InProceedings{AlaKohMam:lmml11,
- title = {Licensing the Mizar Mathematical Library},
- author = {Jesse Alama and Michael Kohlhase and Lionel Mamane and Adam Naumowicz and Piotr
-Rudnicki and Josef Urban},
- pages = {149--163},
- crossref = {CICM11},
- keywords = {conference},
- pubs = {mkohlahse}}
-
-@InProceedings{GinMil:latexmlCICM13,
- title = {{\LaTeX}ML 2012 - A Year of {\LaTeX}ML},
- author = {Deyan Ginev and Bruce Miller},
- pages = {335--338},
- crossref = {CICM13},
- keywords = {conference},
- pubs = {dginev}}
-
-@InProceedings{GinMilOpr:latexml:14,
- title = {E-books and Graphics with {\LaTeX}ML},
- author = {Deyan Ginev and Bruce Miller and Silviu Oprea},
- crossref = {CICM14},
- pages = {427--430},
- url = {http://arxiv.org/abs/1404.6547},
- pubs = {dginev}}
-
-@InProceedings{GinStaKoh:latexmldaemon11,
- title = {The {{\LaTeX}ML} Daemon: Editable Math on the Collaborative Web},
- author = {Deyan Ginev and Heinrich Stamerjohanns and Michael Kohlhase},
- url = {https://svn.kwarc.info/repos/arXMLiv/doc/cicm-systems11/paper.pdf},
- pages = {292--294},
- crossref = {CICM11},
- keywords = {conference},
- pubs = {dginev,stamer,mkohlhase,projects/lamapun}}
-
-@InProceedings{CKLR:SetThyHOLAuctIsa14,
- title = {Set Theory or Higher Order Logic to Represent Auction Concepts in {Isabelle}?},
- author = {Marco B. Caminati and Manfred Kerber and Christoph Lange and Colin Rowat},
- pages = {236--251},
- eprint = {1406.0774},
- eprinttype = {arxiv},
- eprintclass = {cs.LO},
- crossref = {CICM14},
- keywords = {conference},
- pubs = {clange},
- vgwortseiten = 29,
-}
-
-@inproceedings{DC:BauDenkMalNetz11,
- title = {BauDenkMalNetz -- Creating a Semantically Annotated Web Resource of Historical Buildings},
- author = {Anca Dumitrache and Christoph Lange},
- url = {http://kwarc.info/clange/pubs/bdmn-sepublica.pdf},
- crossref = {SEPUBLICA11},
- pubs = {adumitrache,clange,projects/baudenkmalnetz}}
-
-@inproceedings{CGL:PublishingUnitsQuantitiesPost11,
- title = {Authoring and Publishing of Units and Quantities in Semantic Documents},
- author = {Mihai C{\^i}rl{\u a}naru and Deyan Ginev and Christoph Lange},
- pages = {202--216},
- crossref = {ESWC2011Post},
- keywords={conference},
- url = {http://kwarc.info/clange/pubs/eswc2011-units.pdf},
- pubs = {mcirlanaru,dginev,clange,projects/lamapun},
- vgwortseiten = {26}}
-
-@inproceedings{CGL:PublishingUnitsQuantities11,
- title = {Authoring and Publishing of Units and Quantities in Semantic Documents},
- author = {Mihai C{\^i}rl{\u a}naru and Deyan Ginev and Christoph Lange},
- url = {http://kwarc.info/clange/pubs/units-sepublica.pdf},
- crossref = {SEPUBLICA11},
- keywords = {lamapunbibs},
- pubs = {mcirlanaru,dginev,clange,projects/lamapun}}
-
-@inproceedings{DavGin+:fmspscdl11,
- title = {A Framework for Modular Semantic Publishing with Separate Compilation and Dynamic Linking},
- author = {Catalin David and Deyan Ginev and Michael Kohlhase and Bogdan Matican and Stefan Mirea},
- url = {https://svn.mathweb.org/repos/planetary/doc/sepublica11/paper.pdf},
- crossref = {SEPUBLICA11},
- pubs = {mkohlhase,cdavid,dginev,bmatican,smirea,projects/planetary,projects/ikyda2012}}
-
-@inproceedings{AutDav+:wfcs11,
- author = {Serge Autexier and Catalin David and Dominik Dietrich and Michael Kohlhase and Vyacheslav Zholudev},
- url = {http://kwarc.info/kohlhase/papers/planetary-moc.pdf},
- title = {Workflows for the Management of Change in Science, Technologies,
- Engineering and Mathematics},
- pages = {164--179},
- crossref = {CICM11},
- keywords = {conference},
- pubs = {mkohlhase,vzholudev,cdavid,projects/planetary}}
-
-@InProceedings{KohKohLan:difcsmse10:biblatex,
- author = {Andrea Kohlhase and Michael Kohlhase and Christoph Lange},
- title = {Dimensions of Formality: A Case Study for {MKM} in Software Engineering},
- pages = {355--369},
- eprint = {1004.5071v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- crossref = {CICM10},
- keywords = {conference,clange-phd},
- pubs = {mkohlhase,akohlhase,clange,projects/omdoc}}
-
-@inproceedings{KohRabSac:fvip11,
- author = {Michael Kohlhase and Florian Rabe and Sacerdoti Coen, Claudio},
- title = {A Foundational View on Integration Problems},
- howpublished = {\url{http://kwarc.info/kohlhase/papers/cicm11-integration.pdf}},
- url = {http://kwarc.info/kohlhase/papers/cicm11-integration.pdf},
- pages = {107--122},
- crossref = {CICM11},
- keywords = {conference},
- pubs = {mkohlhase,frabe,projects/latin}}
-
-@inproceedings{DLR:InteractDocCAS-JOBAD-Alpha10,
- author = {Catalin David and Christoph Lange and Florian Rabe},
- title = {Interactive Documents as Interfaces to Computer Algebra Systems: {JOBAD} and {Wolfram|Alpha}},
- crossref = {CALCULEMUS10-ET},
- pages = {13--30},
- url = {https://svn.omdoc.org/repos/jomdoc/doc/pubs/calculemus10/jobad-cas.pdf},
- keywords = {clange-phd},
- pubs = {cdavid,clange,frabe,projects/jobad,projects/omdoc}}
-
-@inProceedings{KohRabZho:tmlmrsca10:biblatex,
- author = {Michael Kohlhase and Florian Rabe and Vyacheslav Zholudev},
- title = {Towards {MKM} in the Large: Modular Representation and Scalable Software Architecture},
- crossref = {CICM10},
- pages = {370--384},
- eprint = {1005.5232v2},
- eprinttype = {arxiv},
- eprintclass = {cs.OH},
- keywords = {conference},
- pubs = {mkohlhase,frabe,vzholudev,projects/omdoc,projects/latin}}
-
-@inproceedings{BlackburnBosKohlhase1999Tbilisi,
- title = {Automated Reasoning for Computational Semantics},
- author = {Blackburn, Patrick and Bos, Johan and Kohlhase, Michael},
- booktitle = {The Third International Tbilisi Symposium on Language, Logic and Computation},
- address = {Batumi, Georgia},
- year = {1999},
- pubs = {mkohlhase}
-}
-
-@unpublished{ZhoLan:tntbaseXSYM10,
- author = {Vyacheslav Zholudev and Christoph Lange},
- title = {{TNTBase} -- a Versioned {XML} Database},
- url = {http://kwarc.info/vzholudev/pubs/xsym2010.pdf},
- pubs = {vzholudev,clange}}
-
-@InProceedings{JucKoh:sidesc10,
- author = {Constantin Jucovschi and Michael Kohlhase},
- title = {{sTeXIDE}: An Integrated Development Environment for {sTeX} Collections},
- crossref = {CICM10},
- url = {http://kwarc.info/kohlhase/papers/mkm10-stexide.pdf}}
-
-@InProceedings{JucKoh:sidesc10:biblatex,
- author = {Constantin Jucovschi and Michael Kohlhase},
- title = {{sTeXIDE}: An Integrated Development Environment for {sTeX} Collections},
- crossref = {CICM10},
- eprint = {1005.5489v1},
- pages = {336--344},
- eprinttype = {arxiv},
- eprintclass = {cs.OH},
- keywords = {conference},
- pubs = {mkohlhase,cjucovschi,projects/stex}}
-
-@InProceedings{KohKohLan:ssffld10:biblatex,
- author = {Andrea Kohlhase and Michael Kohlhase and Christoph Lange},
- title = {{sTeX} -- A System for Flexible Formalization of Linked Data},
- crossref = {ISEMANTICS2010},
- eprint = {1006.4474v1},
- eprinttype = {arxiv},
- eprintclass = {cs.SE},
- doi = {10.1145/1839707.1839712},
- keywords = {conference},
- pubs = {mkohlhase,akohlhase,clange,projects/docOnto,projects/ikyda2012}}
-
-@inproceedings{VLHBD:SemGovStatData10,
- author = {Denny Vrande{\v c}i{\'c} and Christoph Lange and Michael Hausenblas and Jie Bao and Li Ding},
- title = {Semantics of Governmental Statistics Data},
- url = {http://journal.webscience.org/400/},
- keywords = {clange-phd},
- pubs = {clange},
- crossref = {WebSci2010}}
-
-
-@misc{Lange:phd-surveys,
- author = {Christoph Lange},
- title = {Survey Results on Collaborative Mathematical Knowledge Management},
- note = {Appendix to the Ph.D.\ thesis ``Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web Integration''},
- year = 2011,
- url = {http://kwarc.info/clange/pubs/phd-surveys.pdf},
- pubs = {clange,projects/swim}}
-
-@book{Lange:PhD:book,
- author = {Christoph Lange},
- title = {Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web Integration},
- year = 2011,
- publisher = {AKA Verlag and IOS Press},
- address = {Heidelberg and Amsterdam},
- series = {Studies on the Semantic Web},
- number = 11,
- isbn = {978-1-60750-840-3},
- url = {http://www.semantic-web-studies.net},
- note = {Book edition of thesis \cite{Lange:PhD}},
- pubs = {clange,projects/docOnto,projects/krextor,projects/omdoc,projects/jobad,projects/swim,projects/stex}}
-
-@phdthesis{Lange:PhD,
- author = {Christoph Lange},
- title = {Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web Integration},
- year = 2011,
- school = {Jacobs University Bremen},
- url = {https://svn.kwarc.info/repos/swim/doc/phd/phd.pdf},
- note = {Also available as a book \cite{Lange:PhD:book}},
- pubs = {clange,projects/docOnto,projects/krextor,projects/omdoc,projects/jobad,projects/swim,projects/stex,projects/ikyda2012}}
-
-@online{ZhoKohRab:tntbasef10long:online,crossref={ZhoKohRab:tntbasef10long},urldate={2009-12-21}}
-@techreport{ZhoKohRab:tntbasef10long,
- author = {Vyacheslav Zholudev and Michael Kohlhase and Florian Rabe},
- title = {A [insert XML Format] Database for [insert cool application] (extended version)},
- howpublished={\url{http://kwarc.info/vzholudev/pubs/XMLPrague_long.pdf}},
- institution = {Jacobs University Bremen},
- year = {2010},
- url = {http://kwarc.info/vzholudev/pubs/XMLPrague_long.pdf},
- pubs = {vzholudev,mkohlhase,frabe}}
-
-@inproceedings{ZhoKohRab:tntbasef10,
- author = {Vyacheslav Zholudev and Michael Kohlhase and Florian Rabe},
- title = {A [insert XML Format] Database for [insert cool application]},
- crossref = {XMLPrague2010},
- url = {http://kwarc.info/vzholudev/pubs/XMLPrague.pdf},
- pubs = {vzholudev,kohlhase,frabe}}
-
-@online{MMTSVN:on,crossref={MMT:base},label={MMT}}
-@misc{Rabe:MMTLanguageSystem09,crossref={MMT:base},
- date = {2011-10-11},key={MMT}}
-@misc{MMT:base,
- author = {Florian Rabe},
- title = {The {MMT} Language and System},
- url = {https://svn.kwarc.info/repos/MMT/doc/html},
- urldate = {2011-10-11},
- pubs = {frabe}}
-
-@inproceedings{Rabe:MAGMS13,
- author = "Florian Rabe",
-
- title = "{The MMT API: A Generic MKM System}",
- crossref = {CICM13},
- pages={339--343},
- keywords = {conference},
- pubs = {frabe}}
-
-@inproceedings{IanManRab:semlmui13,
- author = "Mihnea Iancu and Felix Mance and Florian Rabe",
- title = "{The Scala-REPL + MMT as a lightweight mathematical user interface}",
- crossref = {CICM-WS-WiP2013},
- pubs={miancu,frabe}}
-
-@Article{StaKoh:tlcspx10,
- author = {Heinrich Stamerjohanns and Michael Kohlhase and Deyan Ginev and Catalin David and Bruce Miller},
- title = {Transforming large collections of scientific publications to {XML}},
- journal = {Mathematics in Computer Science},
- issuetitle = {Special Issue on Authoring, Digitalization and Management of Mathematical Knowledge},
- editor = {Serge Autexier and Petr Sojka and Masakazu Suzuki},
- publisher = {Birkh{\"a}user},
- volume = 3,
- number = 3,
- pages = {299--307},
- url = {http://kwarc.info/kohlhase/papers/mcs10.pdf},
- year = 2010,
- pubs = {mkohlhase,stamer,dginev,cdavid,projects/arXMLiv,projects/ikyda2012}}
-
-@Article{StaGinDav:calxmec10,
- author = {Heinrich Stamerjohanns and Deyan Ginev and Catalin David and Dimitar Misev and Vladimir Zamdzhiev and Michael Kohlhase},
- title = {Conversion d'articles en {\LaTeX} vers {XML} avec {MathML} : une {\'e}tude comparative},
- journal = {Cahiers GUTenberg},
- url = {http://cahiers.gutenberg.eu.org/fitem?id=CG_2008___51_7_0},
- year = 2010,
- volume = 51,
- pages = {7--28},
- pubs = {mkohlhase,stamer,dginev,cdavid,projects/arXMLiv}}
-
-@misc{Ginev:armlocc09,
- author = {Deyan Ginev},
- title = {An Architecture for Recovering Meaning in a {\LaTeX} to {OMDoc} Conversion},
- school = {Jacobs University Bremen},
- year = 2009,
- type = {Bachelor's Thesis},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/bsc-2009/dginev.pdf},
- keywords = {lamapunbibs},
- pubs = {dginev,bscthesis,projects-omdocbiblio}}
-
-@misc{Iacob:ratm09,
- author = {Alin Iacob},
- title = {Reasoning about Theory Morphisms},
- school = {Jacobs University Bremen},
- year = 2009,
- type = {Bachelor's Thesis},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/bsc-2009/aiacob.pdf},
- pubs = {aiacob,bscthesis}}
-
-@InProceedings{Shirota:mwbmlm05,
- author = {Yukari Shirota},
- title = {Metadata for Web-Based Mathematical Learning Materials},
- booktitle = {Proceedings of the Data Engineering Workshop DEWS},
- year = 2005,
- url = {http://www.ieice.org/~de/DEWS/DEWS2005/procs/papers/2B-o2.pdf},
- pubs= {projects/omdoc}}
-
-@InProceedings{Lange:DocOntMathPoster09,
- author = {Christoph Lange and Michael Kohlhase},
- title = {Documenting Ontologies the Mathematical Way},
- booktitle = {Poster Proceedings of the 6\textsuperscript{th} European Semantic Web Conference (ESWC)},
- editors = {Elena Simperl and Philipp Cimiano},
- url = {http://www.eswc2009.org/program-menu/posters},
- pubs = {clange,mkohlhase,projects/krextor,projects/omdoc,projects/docOnto},
- year = 2009,
- month = jun}
-
-@inProceedings{WolGRi:sdmwcs10,
- author = {Magdalena Wolska and Mihai Grigore},
- title = {Symbol Declarations in Mathematical Writing: A Corpus Study},
- pages = {119--127},
- crossref = {DML10},
- url = {http://dml.cz/bitstream/handle/10338.dmlcz/702580/DML_003-2010-1_14.pdf},
- keywords = {lamapunbibs},
- pubs = {projects/lamapun}}
-
-@inProceedings{DoeKohLin:oamim13,
- author = {D{\"o}rrie, Jan Wilken and Michael Kohlhase and Lars Linsen},
- title = {\textsc{OpenMathMap}: Accessing Math via Interactive Maps},
- booktitle={Contemporary Issues in Mathematical Publishing, JMM San Diego Special Session},
- editor = {Klaus Kaiser and Steven Krantz and Bernd Wegner},
- url = {http://kwarc.info/kohlhase/papers/cimp13.pdf},
- publisher = {EMIS},
- pages = {81-98},
- year = {2013},
- pubs = {mkohlhase,projects/mathsearch}}
-
-@inProceedings{GinJucAnc:alsaacl09,
- author = {Deyan Ginev and Constantin Jucovschi and Stefan Anca and Mihai Grigore
- and Catalin David and Michael Kohlhase},
- title = {An Architecture for Linguistic and Semantic Analysis on the {arXMLiv} Corpus},
- booktitle = {Applications of Semantic Technologies (AST) Workshop at Informatik 2009},
- year = {2009},
- keywords = {lamapunbibs},
- url = {http://www.kwarc.info/projects/lamapun/pubs/AST09_LaMaPUn+appendix.pdf},
- pubs = {mkohlhase,dginev,cjucovschi,cdavid,projects/arXMLiv}}
-
-@inproceedings{GriWolKoh:tcbdme09,
- author = {Mihai Grigore and Magdalena Wolska and Michael Kohlhase},
- title = {Towards Context-Based Disambiguation of Mathematical Expressions},
- booktitle = {The Joint Conference of ASCM 2009 and MACIS 2009: Asian Symposium on Computer Mathematics and Mathematical Aspects of Computer and Information Sciences},
- editor = {Masakazu Suzuki and Hoon Hong and Hirokazu Anai and Chee Yap and Yousuke Sato and Hiroshi Yoshida},
- pages = {262--271},
- day = 14,
- month = dec,
- year = 2009,
- address = {Fukuoka, Japan},
- series = {COE Lecture Notes},
- volume = 22,
- ISSN = {1881-4042},
- publisher = {Faculty of Mathematics, Kyushu University},
- url = {http://kwarc.info/kohlhase/papers/ASCM-DML09.pdf},
- keywords = {conference,lamapunbibs},
- pubs= {mkohlhase,projects/lamapun}}
-
-@MastersThesis{Ginev-11,
- author = {Deyan Ginev},
- title = {The Structure of Mathematical Expressions},
- school = {Jacobs University Bremen},
- address = {Bremen, Germany},
- type = {Master's Thesis},
- month = aug,
- url = {http://kwarc.info/people/dginev/publications/DeyanGinev_Mastersthesis.pdf},
- howpublished = {\url{http://kwarc.info/people/dginev/publications/DeyanGinev_MScThesis.pdf}},
- pubs = {dginev},
- keywords = {lamapunbibs},
- year = {2011}}
-
-@MastersThesis{Iacob-11,
- author = {Alin Iacob},
- title = {{Towards Project-Based Workflows in Twelf}},
- school = {Jacobs University Bremen},
- address = {Bremen, Germany},
- type = {Master's Thesis},
- month = aug,
- url = {http://kwarc.info/people/aiacob/publications/MasterThesis.pdf},
- pubs = {aiacob},
- year = {2011}}
-
-@inproceedings{StaGinDav:maacl09,
- author = {Heinrich Stamerjohanns and Deyan Ginev and Catalin David and Dimitar Misev and Vladimir
- Zamdzhiev and Michael Kohlhase},
- title = {MathML-aware article conversion from {\LaTeX}, A comparison study},
- crossref = {DML09},
- pages = {109--120},
- year = {2009},
- url = {http://kwarc.info/kohlhase/papers/dml09-conversion.pdf},
- pubs = {mkohlhase,dginev,cdavid,projects/arXMLiv}}
-
-@TechReport{StaGinDav:acsmlcl09,
- author = {Heinrich Stamerjohanns and Deyan Ginev and Catalin David and Dimitar Misev and Vladimir
- Zamdzhiev and Michael Kohlhase},
- title = {A comparison study of MathML-aware {\LaTeX} converters},
- type = {KWARC Report},
- url = {https://svn.kwarc.info/repos/arXMLiv/doc/dml09/report.pdf},
- howpublished = {\url{https://svn.kwarc.info/repos/arXMLiv/doc/dml09/report.pdf}},
- institution = {Jacobs University Bremen},
- year = {2009},
- pubs = {mkohlhase,dginev,cdavid,projects/arXMLiv}}
-
-@InProceedings{KohLemSchSch:fmccp09a,
- author = {Michael Kohlhase and Johannes Lemburg and Lutz Schr{\"o}der and Ewaryst Schulz},
- title = {Formal Management of {CAD/CAM} Processes},
- pages = {223--238},
- crossref = {FM09},
- url = {http://kwarc.info/kohlhase/papers/fm09.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/formalcad}}
-
-@InProceedings{ZhoKoh:tvsx09:biblatex,
- author = {Vyacheslav Zholudev and Michael Kohlhase},
- title = {{TNTBase}: a Versioned Storage for {XML}},
- crossref = {BALISAGE09:biblatex},
- doi = {10.4242/BalisageVol3.Zholudev01}}
-@InProceedings{ZhoKoh:tvsx09,
- author = {Vyacheslav Zholudev and Michael Kohlhase},
- title = {{TNTBase}: a Versioned Storage for {XML}},
- crossref = {BALISAGE09},
- url = {http://kwarc.info/vzholudev/pubs/balisage.pdf},
- note = {available at \url{http://kwarc.info/vzholudev/pubs/balisage.pdf}},
- keywords = {conference},
- pubs = {vzholudev,mkohlhase,projects/tntbase}}
-
-
-@InProceedings{ZhoKoh:sdxvdt10:biblatex,
- author = {Vyacheslav Zholudev and Michael Kohlhase},
- title = {Scripting Documents with XQuery: Virtual Documents in {TNTBase}},
- crossref = {BALISAGE10:biblatex},
- doi = {10.4242/BalisageVol5.Zholudev01}}
-@InProceedings{ZhoKoh:sdxvdt10:online,
- author = {Vyacheslav Zholudev and Michael Kohlhase},
- title = {Scripting Documents with XQuery: Virtual Documents in {TNTBase}},
- crossref = {BALISAGE10},
- url = {http://kwarc.info/kohlhase/papers/balisage10.pdf}}
-@InProceedings{ZhoKoh:sdxvdt10,
- author = {Vyacheslav Zholudev and Michael Kohlhase},
- title = {Scripting Documents with XQuery: Virtual Documents in {TNTBase}},
- crossref = {BALISAGE10},
- url = {http://www.balisage.net/Proceedings/vol3/html/Zholudev01/BalisageVol3-Zholudev01.html},
- note = {available at \url{http://www.balisage.net/Proceedings/vol3/html/Zholudev01/BalisageVol3-Zholudev01.html}},
- keywords = {conference},
- pubs = {vzholudev,mkohlhase,projects/tntbase}}
-
-@inproceedings{Hennum:Zholudev:XSTag,
-title = {Tag Libraries for XSLT and XQuery},
-author = {Erik Hennum and Vyacheslav Zholudev},
-url = {http://www.balisage.net/Proceedings/vol7/print/Hennum01/BalisageVol7-Hennum01.html}
-}
-@InProceedings{HenZho:tlxx11:biblatex,
- author = {Erik Hennum and Vyacheslav Zholudev},
- title = {Tag Libraries for {XSLT} and {XQuery}},
- crossref = {BALISAGE11:biblatex},
- doi = {doi:10.4242/BalisageVol7.Hennum01}}
-
-@online{OMDoc1.3:online,crossref={OMDoc1.3:base},
- urldate = {2010-12-09}}
-@misc{OMDoc1.3:URL,crossref={OMDoc1.3:base},year = 2010}
-@misc{OMDoc1.3:base,
- label = {OMDoc1.3},
- author = {Michael Kohlhase},
- title = {{OMDoc} Version 1.3},
- url = {http://trac.omdoc.org/OMDoc/wiki/OMDoc1.3}}
-
-@online{OMDoc1.6:online,crossref={OMDoc1.6:base},
- urldate = {2010-12-09}}
-@misc{OMDoc1.6:URL,crossref={OMDoc1.6:base},year = 2010}
-@misc{OMDoc1.6:base,
- label={OMDoc1.6},
- author = {Michael Kohlhase},
- title = {{OMDoc} Version 1.6},
- url = {http://trac.omdoc.org/OMDoc/wiki/OMDoc1.6}}
-
-@InProceedings{Zho:lwa09:plain,
- author = {Vyacheslav Zholudev},
- title = {The {TNTBase} {System} and {Validation} of {XML} {Documents}},
- crossref = {FGWM09:plain},
- pages = {57--63},
- url = {http://kwarc.info/vzholudev/pubs/lwa09.pdf},
-}
-
-@InProceedings{Zho:lwa09,
- author = {Vyacheslav Zholudev},
- title = {The {TNTBase} {System} and {Validation} of {XML} {Documents}},
- crossref = {FGWM09},
- pages = {57--63},
- url = {http://kwarc.info/vzholudev/pubs/lwa09.pdf},
- pubs = {vzholudev}}
-
-@Unpublished{Kohlhase:OMDoc1.6spec,
- author = {Michael Kohlhase},
- title = {An Open Markup Format for Mathematical Documents {\omdoc} [Version 1.6 (pre-2.0)]},
- note = {Draft Specification},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/spec/main.pdf},
- year = 2010,
- pubs = {mkohlhase,projects/omdoc}}
-
-@Unpublished{Kohlhase:OMDoc1.3,
- author = {Michael Kohlhase},
- title = {An Open Markup Format for Mathematical Documents {\omdoc} [Version 1.3]},
- note = {Draft Specification},
- url = {https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/doc/spec/main.pdf},
- year = 2010,
- pubs = {mkohlhase,projects/omdoc}}
-
-@Unpublished{Kohlhase:OMDoc1.6book,
- author = {Michael Kohlhase},
- title = {{\omdoc}: An Open Markup Format for Mathematical Documents; Language Specification, Primer,
- Projects, Applications [Version 1.6 (pre-2.0)]},
- note = {Draft Specification \url{https://svn.omdoc.org/repos/omdoc/trunk/doc/spec/main.pdf}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/spec/main.pdf},
- year = 2009,
- pubs = {mkohlhase,projects/omdoc}}
-
-@Unpublished{Kohlhase:OMDoc1.6primer,
- author = {Michael Kohlhase},
- title = {An {\omdoc} Primer [Version 1.6 (pre-2.0)]},
- note = {Draft \url{https://svn.omdoc.org/repos/omdoc/trunk/doc/primer/main.pdf}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/primer/main.pdf},
- year = 2009,
- pubs = {mkohlhase,projects/omdoc}}
-
-@Unpublished{Kohlhase:OMDoc1.6processing,
- author = {Michael Kohlhase},
- title = {Processing {\omdoc} [Version 1.6 (pre-2.0)]},
- note = {Draft \url{https://svn.omdoc.org/repos/omdoc/trunk/doc/processing/main.pdf}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/processing/main.pdf},
- year = 2009,
- pubs = {mkohlhase,projects/omdoc}}
-
-@Unpublished{Kohlhase:OMDoc1.6projects,
- author = {Michael Kohlhase},
- title = {{\omdoc} Projects and Applications [Version 1.6 (pre-2.0)]},
- note = {Draft \url{https://svn.omdoc.org/repos/omdoc/trunk/doc/projects/main.pdf}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/projects/main.pdf},
- year = 2009,
- pubs = {mkohlhase,projects/omdoc}}
-
-@Article{TLCSK:SemanticBugSearch09,
- author = {Ha Manh Tran and Christoph Lange and Georgi Chulkov and J{\"u}rgen Sch{\"o}nw{\"a}lder and Michael Kohlhase},
- title = {Applying Semantic Techniques to Search and Analyze Bug Tracking Data},
- journal = {Journal of Network and Systems Management},
- issuetitle = {Special Issue on Ontologies for Network and Service Management},
- volume = 17,
- number = 3,
- pages = {285--308},
- year = {2009},
- impactfactor = {2009 = 1.356; 2010 = 0.45; 2011 = 0.452},
- month = may,
- doi = {10.1007/s10922-009-9134-4},
- pubs = {mkohlhase,clange}}
-
-@inProceedings{DavKoh:umoattsea09,
- title = "{Unifying Math Ontologies: A tale of two standards}",
- author = {James H. Davenport and Michael Kohlhase},
- crossref = {MKM09},
- pages = {263--278},
- url = {http://opus.bath.ac.uk/13079/1/MKM2009v2.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/ikyda2012,projects/omdoc}}
-
-@MISC{DavKoh:umoattsfp09,
- title = "{Unifying Math Ontologies: A tale of two standards (full paper)}",
- author = {James H. Davenport and Michael Kohlhase},
- howpublished = {\url{http://opus.bath.ac.uk/13079}},
- url = {http://opus.bath.ac.uk/13079},
- year = {2009},
- pubs = {mkohlhase,projects/omdoc}}
-
-@InProceedings{DavKoh:qio09,
- title = "Quantifiers and Big Operators in OpenMath",
- author = {James H. Davenport and Michael Kohlhase},
- crossref = {OM09},
- url = {http://kwarc.info/kohlhase/papers/om09-quantifiers.pdf},
- pubs = {mkohlhase,projects/omdoc}}
-
-@InProceedings{RabKoh:abrsom09,
- title = "A better Role System for {OpenMath}",
- author = {Florian Rabe and Michael Kohlhase},
- crossref = {OM09},
- url = {http://kwarc.info/kohlhase/papers/om09-roles.pdf},
- pubs = {mkohlhase,frabe,projects/latin,projects/omdoc}}
-
-@InProceedings{Lange:omwiki09,
- title = {{\texttt{wiki.openmath.org}} -- how it works, how you can participate},
- author = {Christoph Lange},
- crossref = {OM09},
- eprint = {1003.5192v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- keywords = {clange-phd},
- pubs = {clange,projects/ikyda2012}}
-
-@inproceedings{KGLZ:JOBADabstract09,
- author = {Michael Kohlhase and Jana Giceva and Christoph Lange and Vyacheslav Zholudev},
- title = {{JOBAD} -- Interactive Mathematical Documents},
- url = {https://svn.omdoc.org/repos/jomdoc/doc/pubs/ai-mashup09/jobad.pdf},
- crossref = {AIMashup09},
- keywords = {clange-phd},
- pubs = {jgiceva,clange,mkohlhase,vzholudev,projects/jobad,projects/omdoc}}
-
-@inproceedings{DKLRZ:JOBAD-MMT-AIMashup10,
- author = {Catalin David and Michael Kohlhase and Christoph Lange and Florian Rabe and Vyacheslav Zholudev},
- title = {{JOBAD/MMT} -- Interactive Mathematics},
- url = {http://sites.google.com/a/fh-hannover.de/aimashup/home/jobad},
- crossref = {AIMashup10},
- pubs = {cdavid,clange,mkohlhase,vzholudev,frabe,projects/jobad,projects/omdoc}}
-
-@inproceedings{GLR:WebSvcActMathDoc09,
- author = {Jana Giceva and Christoph Lange and Florian Rabe},
- title = {Integrating Web Services into Active Mathematical Documents},
- url = {https://svn.omdoc.org/repos/jomdoc/doc/pubs/mkm09/jobad/jobad-server.pdf},
- crossref = {MKM09},
- pages = {279--293},
- keywords = {conference,clange-phd},
- pubs = {jgiceva,clange,frabe,projects/jobad,projects/omdoc}}
-
-@inproceedings{LK:MathOntoAuthDoc09,
- author = {Christoph Lange and Michael Kohlhase},
- title = {A Mathematical Approach to Ontology Authoring and Documentation},
- url = {http://kwarc.info/kohlhase/papers/mkm09-omdoc4onto.pdf},
- crossref = {MKM09},
- pages = {389--404},
- keywords = {conference,clange-phd},
- pubs = {clange,mkohlhase,projects/krextor,projects/omdoc,projects/docOnto}}
-
-@inproceedings{LK:MathOntoAuthDoc09:FGWM:plain,
- author = {Christoph Lange and Michael Kohlhase},
- title = {A Mathematical Approach to Ontology Authoring and Documentation},
- crossref = {FGWM09},
-}
-
-@inproceedings{LK:MathOntoAuthDoc09:FGWM,
- author = {Christoph Lange and Michael Kohlhase},
- title = {A Mathematical Approach to Ontology Authoring and Documentation},
- crossref = {FGWM09},
- pubs = {clange,mkohlhase,projects/krextor,projects/omdoc,projects/docOnto}}
-
-@inproceedings{calMue:fprcu09,
- author = {Cristian Calude and Christine M{\"u}ller},
- title = {{Formal Proofs: Reconciling Correctness and Understanding}},
- crossref = {MKM09},
- year = {2009},
- pubs = {cmueller}}
-
-@TechReport{TR:CM:FPRCAU,
- author = {Cristian Calude and Christine M{\"u}ller},
- title = {{Formal Proofs: Reconciling Correctness and Understanding}},
- type = {Research Reports},
- institution = {{Centre for Discrete Mathematics and Theoretical Computer Science, University of Auckland}},
- url = {http://www.cs.auckland.ac.nz/CDMTCS//researchreports/354cris.pdf},
- howpublished = {http://www.cs.auckland.ac.nz/CDMTCS//researchreports/354cris.pdf},
- year = 2009,
- pubs = {cmueller},
- month = mar}
-
-@online{OpenMathWiki:on,
- urldate = {2009-10-22},
- pubs = {clange},
- crossref = {OpenMathWiki:base}}
-
-@InCollection{KohLemSchSch:fmccp09,
- author = {Michael Kohlhase and Johannes Lemburg and Lutz Schr{\"o}der and Ewaryst Schulz},
- title = {Formal Management of {CAD/CAM} Processes},
- crossref = {BKB60},
- pages = {201--216},
- pubs = {mkohlhase,projects/formalcad}}
-
-@InCollection{KohKoh:ccbss09,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Compensating the Computational Bias of Spreadsheets},
- crossref = {BKB60},
- pages = {184--200},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@inproceedings{KohKoh:sifemp09,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Spreadsheet Interaction with Frames: Exploring a Mathematical Practice},
- pages = {341--356},
- url = {http://kwarc.info/kohlhase/papers/mkm09-framing.pdf},
- crossref = {MKM09},
- keywords = {conference,lamapunbibs},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@inproceedings{KohKoh:ccbssmt09,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Compensating the Computational Bias of Spreadsheets with {MKM} Techniques},
- pages = {357--372},
- crossref = {MKM09},
- url = {http://kwarc.info/kohlhase/papers/mkm09-sachs.pdf},
- keywords = {conference},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@techreport{LK:OMDocOntologyLanguage08,
- author = {Christoph Lange and Michael Kohlhase},
- title = {A Mathematical Approach to Ontology Authoring and Documentation},
- institution = {Jacobs University Bremen},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/blue/foaf/note.pdf},
- pubs = {projects/omdoc,clange,kohlhase,projects/krextor,kwarc-report,projects/docOnto},
- number = {2008-3},
- year = 2008,
- month = dec,
- type = {{KWARC} Report}}
-
-@unpublished{Kohlhase:BootstrappingPragmaticStrictOMDoc,
- author = {Michael Kohlhase},
- title = {Towards Bootstrapping the Pragmatic to Strict Mapping in {OMDoc}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/blue/p2s-bootstrap/note.pdf},
- howpublished = {unpublished {KWARC} blue notes},
- pubs = {projects/omdoc,kohlhase},
- year = {2009},
- month = aug}
-
-@InProceedings{RabeKohlhase:ExchangeModularKnowledge,
- Author = "Florian Rabe and Michael Kohlhase",
- Year = "2008",
- Title = "An Exchange Format for Modular Knowledge",
- Editor = "G. Sutcliffe and P. Rudnicki and R. Schmidt and B. Konev and S. Schulz",
- Booktitle = "{Proceedings of the LPAR Workshops: Knowledge Exchange:
- Automated Provers and Proof Assistants, and The 7\textsuperscript{th}
- International Workshop on the Implementation of Logics}",
- Series = "CEUR Workshop Proceedings",
- address = {Aachen},
- issn = {1613-0073},
- Number = "418",
- Pages = "50--68",
- pubs = {mkohlhase,frabe,projects/latin}}
-
-@inproceedings{CM:CoPSW,
- author = {Christine M{\"u}ller},
- title = {{Communities of Practice \& Semantic Web: Stimulating Collaboration by Document Markup}},
- year = 2009,
- publisher = {Springer-Verlag Berlin Heidelberg},
- pages = {432--437},
- url = {http://kwarc.info/cmueller/papers/UNISCON2009.pdf},
- editor = {J. Yang and others},
- booktitle = {Proceedings of the United International Systems Conference (UNISCON) LNBIP 20},
- pubs = {cmueller}}
-
-@inproceedings{CM:CoPSW:DC,
- author = {Christine M{\"u}ller},
- title = {{Communities of Practice \& Semantic Web: Stimulating Collaboration by Document Markup}},
- year = 2009,
- url = {http://kwarc.info/cmueller/papers/UNISCON2009.pdf},
- pages = {1--8},
- publisher = {University of Western Sydney},
- booktitle = {UNISCON 2009 Supplementary Proceedings: Doctoral Consortium Papers},
- pubs = {cmueller}}
-
-@TechReport{TR:KLMMR:NfAD,
- author = {Michael Kohlhase and Christoph Lange and Christine M{\"u}ller and Normen M{\"u}ller and Florian Rabe},
- title = {Notations for Active Mathematical Documents},
- institution = {Jacobs University Bremen},
- type = {{KWARC} Report},
- number = {2009-1},
- year = 2009,
- month = feb,
- url = {http://kwarc.info/publications/papers/KLMMR_NfAD.pdf},
- howpublished = {\url{http://kwarc.info/publications/papers/KLMMR_NfAD.pdf}},
- keywords = {clange-phd},
- pubs = {mkohlhase,clange,cmueller,nmueller,frabe,kwarc-report,projects/omdoc}}
-
-@unpublished{NM:CMoSSD,
- title = {Change Management on Semi-Structured Documents},
- author = {Normen M{\"u}ller},
- year = {2009},
- url = {http://kwarc.info/nmueller/papers/doceng09.pdf},
- howpublished = {\url{http://kwarc.info/nmueller/papers/doceng09.pdf}},
- pubs = {nmueller}}
-
-@TechReport{TR:MK:CAAACoMN,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- title = {{Context Aware Adaptation: A Case Study on Mathematical Notations}},
- type = {Research Report},
- institution = {{Centre for Discrete Mathematics and Theoretical Computer Science, University of Auckland}},
- url = {http://www.cs.auckland.ac.nz/CDMTCS//researchreports/341christine.pdf},
- year = 2008,
- pubs = {cmueller,mkohlhase,projects/omdoc},
- month = nov}
-
-@article{MK:CAAACoMN,
- title = {{Context-Aware Adaptation: A Case Study on Mathematical Notations}},
- author = {Christine M{\"u}ller and Michael Kohlhase},
- year = {2009},
- journal = {Information Systems Management},
- issn = {1934-8703},
- volume = 26,
- number = 3,
- pages = {215--230},
- pubs={mkohlhase,cmueller,projects/omdoc}}
-
-@InProceedings{LBGBH08:SIOC-argumentation,
- author = {Christoph Lange and Uldis Boj{\=a}rs and Tudor Groza and John Breslin and Siegfried Handschuh},
- title = {Expressing Argumentative Discussions in Social Media Sites},
- crossref = {SDoW2008},
- keywords = {clange-phd},
- pubs = {clange},
- url = {http://ceur-ws.org/Vol-405/paper4.pdf}}
-
-@InProceedings{HuKeKo:gcccp94,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Daniel Nesmith and J{\"o}rn Richts},
- title = {Guaranteeing Correctness through the Communication of Checkable Proofs
- (or: Would You Really Trust an Automated Reasoning System?)},
- booktitle = {CADE-14 Workshop},
- year = 1994,
- pubs = {mkohlhase,projects/omega}}
-
-@PHDThesis{Kohlhase:SemanticInteractionDesignDiss:biblatex,
- author = {Andrea Kohlhase},
- school = {Computer Science, Universit{\"a}t Bremen},
- title = {Semantic Interaction Design: Composing Knowledge with {CPoint}},
- url = {http://kwarc.info/ako/pubs/AKo_Promo.pdf},
- year = 2008,
- month = apr,
- pubs = {akohlhase}}
-
-@phdthesis{Horozal:afddl14,
- title = {A Framework for Defining Declarative Languages},
- school = {Jacobs University Bremen},
- year = {2014},
- month = nov,
- url = {https://svn.kwarc.info/repos/fhorozal/pubs/phd-thesis.pdf},
- pubs = {fhorozal}}
-
-@TechReport{TR:MK:CoPiMeL,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- title = {Communities of Practice in Mathematical E-Learning},
- type = {Research Report},
- institution = {{Centre for Discrete Mathematics and Theoretical Computer Science, University of Auckland}},
- url = {http://www.cs.auckland.ac.nz/CDMTCS//researchreports/340christine.pdf},
- year = 2008,
- pubs = {cmueller,mkohlhase,projects/planetary},
- month = nov}
-
-@TECHREPORT{JG:CRAiMDuOaS,
- author = {Jana Giceva},
- title = {Capturing Rhetorical Aspects in Mathematical Documents using {OMDoc} and {SALT}},
- institution = {Jacobs University {and} DERI Galway},
- year = {2008},
- type = {Technical Report},
- url = {https://svn.kwarc.info/repos/supervision/intern/2008/giceva_jana/project/internship%20report.pdf},
- urldate = {2010-08-11},
- pubs = {jgiceva,projects/omdoc}}
-
-@TECHREPORT{KohPro:MWSmanual,
- author = {Michael Kohlhase and Corneliu Prodescu},
- title = {MathWebSearch Manual},
- institution = {Jacobs University},
- type = {Web Manual},
- url = {https://svn.mathweb.org/repos/mws/doc/manual/manual.pdf},
- urldate = {2012-04-07},
- pubs = {mkohlhase,cprodescu,projects/mws}}
-
-@InProceedings{LangeGonzalez:SWiM-Sentido08,
- author = {Christoph Lange and Gonz{\'a}lez Palomo, Alberto},
- title = {Easily Editing and Browsing Complex {OpenMath} Markup with {SWiM}},
- crossref = {MathUI08},
- keywords = {clange-phd},
- pubs = {clange,projects/swim},
- url = {http://www.activemath.org/workshops/MathUI/08/proceedings/LangeGonzales-OMEdit.html}}
-
-@InProceedings{Lange:Krextor09,
- author = {Christoph Lange},
- title = {Krextor -- An Extensible {XML}$\to${RDF} Extraction Framework},
- crossref = {SFSW09},
- url = {http://ceur-ws.org/Vol-449/ShortPaper2.pdf},
- keywords = {clange-phd},
- pubs = {clange,projects/docOnto,projects/krextor}}
-
-@online{Zholudev:TNTBaseVDs10,
- author = {Vyacheslav Zholudev and others},
- title = {{TNTBase} -- Virtual Documents},
- year = {2010},
- url = {http://tntbase.org/wiki/VD},
- urldate = {2010-03-03},
- pubs = {vzholudev}}
-
-@online{Zholudev:TNTBaseRESTful,
- crossref = {Zholudev:TNTBaseRESTful:base},
- urldate = {2012-04-02},
- pubs = {vzholudev}}
-
-@misc{Zholudev:TNTBaseRESTful:web,
- crossref = {Zholudev:TNTBaseRESTful:base},
- howpublished = {\url{http://tntbase.org/wiki/restful}},
- pubs = {vzholudev}}
-
-@online{Rabe:MMT,
- label = {MMT},
- author = {Florian Rabe},
- title = {The {MMT} System},
- url = {https://svn.kwarc.info/repos/MMT/doc/html/},
- urldate = {2014-07-16},
- pubs = {frabe,projects/latin,projects/omdoc}}
-
-@online{krextor:on,
- label = {Krextor},
- crossref = {krextor:base},
- keywords = {software},
- urldate = {2015-12-26},
- date = {2013-01-16},
- pubs = {clange,projects/docOnto}}
-
-@inproceedings{LangeEtAl:ArgumentationSWiM08,
- author = {Christoph Lange and Tuukka Hastrup and St{\'e}phane Corlosquet},
- year = {2008},
- title = {Arguing on Issues with Mathematical Knowledge Items in a Semantic Wiki},
- keywords = {clange-phd},
- pubs = {clange,projects/swim,projects/omdoc},
- crossref = {LWA08}}
-
-@inproceedings{KohKoh:csbs08,
- author = {Andrea Kohlhase and Michael Kohlhase},
- year = {2008},
- title = {Compensating the Semantic Bias of Spreadsheets},
- url = {http://omdoc.org/pubs/kohkoh-lwa08.pdf},
-pubs={akohlhase,mkohlhase,projects/sissi},
- crossref = {LWA08},
- keywords={workshop},
- pubs = {projects/omdoc}}
-
-@inproceedings{LangeEtAl:ArgumentationSWiMSCooP08,
- author = {Christoph Lange and Tuukka Hastrup and St{\'e}phane Corlosquet},
- year = {2008},
- title = {Improving mathematical knowledge items by acting on issue-based
- community feedback},
- pubs = {clange,projects/swim},
- crossref = {SCOOP08}}
-
-@InProceedings{MK:CTACoPT,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- title = {{Towards A Community of Practice Toolkit}},
- crossref = {SCOOP08},
- pubs={cmueller,mkohlhase,projects/planetary}}
-
-@incollection{Kohlhase:wcl08,
- author = {Michael Kohlhase},
- title = {{Wissensrepr{\"a}sentation f{\"u}r computerunterst{\"u}tzte Lehre}},
- pages = {248--251},
- crossref = {HorLucKal:sli08},
- pubs = {mkohlhase,projects/planetary}}
-
-@incollection{KohMelSie:oma99,
- author = {Michael Kohlhase and Erica Melis and J{\"o}rg Siekmann},
- editor = {Jelle Gerbrandy and Maarten Marx and de Rijke, Maarten and Yde Venema},
- title = {{$\Omega$MEGA} -- A Mathematical Assistant},
- booktitle = {Liber Amicorum for the Fiftieth Birthday of Johan van Benthem},
- pages = {248--251},
- publisher = {ILLC},
- year = {1999},
- url = {http://www.wins.uva.nl/~j50/cdrom/},
- pubs = {mkohlhase,projects/omega}}
-
-@incollection{Kohlhase:ar03,
- author = {Michael Kohlhase},
- title = {Artificial Intelligence: Automated Reasoning},
- pages = {247--250},
- booktitle = {Van Nostrand's Scientific Encyclopedia},
- publisher = {Van Nostrand},
- year = {2003},
- pubs = {mkohlhase}}
-
-@inproceedings{CM:TCwIO,
- author = {Christine M{\"u}ller},
- year = {2008},
- title = {{Towards CoPing with Information Overload}},
- crossref = {LWA08},
- pubs={cmueller}}
-
-@inproceedings{CM:TACCMCOP,
- author = {Christine M{\"u}ller},
- year = {2008},
- title = {{Towards the Adaptation of Scientific Course Material powered by Community of Practice}},
- crossref = {LWA08},
- pubs={cmueller,projects/omdoc}}
-
-@inproceedings{MueKoh:cpme08,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- title = {Communities of Practice in Mathematical eLearning},
- booktitle= {In proceedings of the Workshop in Mathematical and Scientific eContent},
- pages = {34--35},
- year = 2008,
- pubs={cmueller,mkohlhase,projects/planetary}}
-
-@inproceedings{MueKoh:cptsma08,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- year = 2008,
- editor = {M. D. Lytras and others},
- title = {Towards A Community of Practice Toolkit Based On Semantically Marked Up
- Artifacts},
- booktitle ={Proceedings of the 1\textsuperscript{st} World Summit of the Knowledge Society: Emerging
- Technologies and Information Systems for the Knowledge Society},
- series = {LNAI},
- number = {5288},
- publisher = {Springer-Verlag Berlin Heidelberg},
- pages = {41--50},
- keywords = {conference},
- pubs={cmueller,mkohlhase,projects/planetary}}
-
-@inproceedings{NRM08:fst,
- author = {Normen M{\"u}ller and Michael Kohlhase},
- title = {{Fine-Granular Version Control \& Redundancy Resolution}},
- crossref = {LWA08},
- url = {http://www.kwarc.info/nmueller/papers/lwa08-fst.pdf},
- howpublished = {\url{http://www.kwarc.info/nmueller/papers/lwa08-fst.pdf}},
- pubs = {nmueller,mkohlhase,projects/omoc}}
-
-@inproceedings{KohKoh:AssessmentInSACHS,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {What you get is what you understand: Assessment in {SACHS}},
- crossref = {FGWM09},
- pages = {22--29},
- url = {http://www.kwarc.info/kohlhase/papers/lwa09-sachs.pdf},
- Year = 2009,
- keywords={workshop},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@inproceedings{KohKoh:SACHSCoverage10,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {What we understand is what we get: Assessment in Spreadsheets},
- crossref = {EUSPRIG10},
- pages = {111--121},
- url = {http://www.kwarc.info/kohlhase/papers/eusprig10-coverage.pdf},
- keywords = {conference},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@inProceedings{KohKoh:stuas09,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Semantic Transparency in User Assistance Systems},
- url = {http://kwarc.info/kohlhase/papers/sigdoc09-semtrans.pdf},
- crossref = {SIGDOC09},
- pages = {89--96},
- keywords = {conference},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@inProceedings{KohKoh:mteuas09,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Modeling Task Experience in User Assistance Systems},
- url = {http://kwarc.info/kohlhase/papers/sigdoc09-taskexperience.pdf},
- pages = {135--142},
- crossref = {SIGDOC09},
- keywords = {conference},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@misc{Ionita:ExtractingRDFFromOMDoc08,
- author = {Andrei Ioni{\c t}{\u a}},
- title = {Extracting {RDF} knowledge from {OMDoc}},
- type = {Bachelor's thesis},
- school = {Jacobs University Bremen},
- year = 2008,
- pubs = {projects/omdoc}}
-
-@misc{URL:omdocspec,
- label = {OMDoc},
- author = {Michael Kohlhase},
- title = {{\sc{OMDoc}}: An open markup format for mathematical documents (latest
- released version)},
- note = {Specification, \url{http://www.omdoc.org/pubs/spec.pdf}},
- url = {http://www.omdoc.org/pubs/spec.pdf}}
-
-@MISC{VZ:resprop,
- author = {Vyacheslav Zholudev},
- title = {Towards Distributed Mathematical Knowledge Management},
- year = {2008},
- howpublished = {\url{http://kwarc.info/vzholudev/pubs/proposal.pdf}},
- institution = {Jacobs University of Bremen},
- url = {http://kwarc.info/vzholudev/pubs/proposal.pdf},
- pubs = {vzholudev}}
-
-@MISC{AI:internrep,
- author = {Andrei Ioni{\c t}{\u a}},
- title = {Developing a REST interface to a database for OMDoc},
- year = {2007},
- institution = {Deutsches Forschungszentrum f{\"u}r K{\"u}nstliche Intelligenz (DFKI) Bremen},
- url = {http://kwarc.info/projects/ombase/pubs/report2.pdf},
- pubs = {projects/omdoc}}
-
-@inproceedings{lange:swim-demo08,
- author = {Christoph Lange},
- title = {{SWiM} -- A semantic wiki for mathematical knowledge management},
- crossref={eswc2008},
- pages={832--837},
- eprint = {1003.5196v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- pubs={clange,projects/swim,projects/krextor,projects/docOnto}}
-
-@TechReport{cm:mn:08,
- author = {Christine M{\"u}ller},
- title = {{A Survey on Mathematical Notations}},
- institution = {Jacobs University Bremen},
- year = {2008},
- number = {2008-1},
- type = {{KWARC} Report},
- url = {http://kwarc.info/cmueller/papers/ntn-techreport.pdf},
- pubs={cmueller,kwarc-report}}
-
-@TechReport{KLMMR:AoNiLMD,
- author = {Michael Kohlhase and Christoph Lange and Christine M{\"u}ller and Normen M{\"u}ller and Florian Rabe},
- title = {Adaptation of Notations in Living Mathematical Documents},
- institution = {Jacobs University Bremen},
- type = {{KWARC} Report},
- number = {2008-2},
- year = {2008},
- month = apr,
- url = {http://kwarc.info/publications/papers/KLMMR_AoNiLMD.pdf},
- pubs = {mkohlhase,clange,cmueller,nmueller,frabe,kwarc-report,projects/omdoc}}
-
-@InProceedings{lange:swim-notation-semantics08,
- author = {Christoph Lange},
- title = {Mathematical Semantic Markup in a Wiki: The Roles of Symbols and Notations},
- crossref = {SemWiki08},
- keywords = {clange-phd},
- pubs={clange,projects/swim,projects/krextor,projects/docOnto}}
-
-@InProceedings{Lange:SWiM-OpenMath08,
- author = {Christoph Lange},
- title = {Editing {\openmath} Content Dictionaries with {SWiM}},
- url = {http://jem-thematic.net/node/524},
- year = 2008,
- month = feb,
- booktitle = {3\textsuperscript{rd} JEM Workshop (Joining Educational Mathematics)},
- pubs={clange,projects/swim}}
-
-@InProceedings{LangeMcLRabe:FlyspeckWiki08,
- author = {Christoph Lange and Sean McLaughlin and Florian Rabe},
- title = {Flyspeck in a Semantic Wiki -- Collaborating on a Large Scale
- Formalization of the {Kepler} Conjecture},
- crossref = {SemWiki08},
- keywords = {clange-phd},
- pubs={clange,projects/swim,frabe}}
-
-@InProceedings{KMR:NoLMD08-short,
- author = {Michael Kohlhase and Christine M{\"u}ller and Florian Rabe},
- title = {Notations for Living Mathematical Documents},
- crossref = {CICM08},
- pages = {504--519},
- url = {http://omdoc.org/pubs/mkm08-notations.pdf}}
-
-@InProceedings{KMR:NoLMD08,
- author = {Michael Kohlhase and Christine M{\"u}ller and Florian Rabe},
- title = {Notations for Living Mathematical Documents},
- crossref = {CICM08},
- pages = {504--519},
- url = {http://omdoc.org/pubs/mkm08-notations.pdf},
- keywords = {conference},
-pubs={mkohlhase,frabe,cmueller,projects/omdoc}}
-
-@InProceedings{StaKoh:tax08,
- author = {Heinrich Stamerjohanns and Michael Kohlhase},
- title = {Transforming the {arXiv} to {XML}},
- crossref = {CICM08},
- pages = {574--582},
- url = {http://kwarc.info/kohlhase/papers/mkm08-arXMLiv.pdf},
- keywords = {conference},
- pubs={mkohlhase,stamer,projects/arXMLiv}}
-
-@unpublished{KohAncJuc:MWS08:biblatex,
- author= {Michael Kohlhase and {\c S}tefan Anca and Constantin Jucovschi and Gonz{\'a}lez Palomo, Alberto
- and Ioan A. {\c S}ucan},
- title = {{MathWebSearch} 0.4, A Semantic Search Engine for Mathematics},
- year = 2008,
- note = {manuscript},
- url={http://mathweb.org/projects/mws/pubs/mkm08.pdf},
- pubs = {sanca,cjucovschi}}
-
-@unpublished{KohAncJuc:MWS08,
- author= {Michael Kohlhase and {\c S}tefan Anca and Constantin Jucovschi and Gonz{\'a}lez Palomo, Alberto
- and Ioan A. {\c S}ucan},
- title = {{MathWebSearch} 0.4, A Semantic Search Engine for Mathematics},
- year = 2008,
- note = {manuscript, see \url{http://mathweb.org/projects/mws/pubs/mkm08.pdf}},
- url={http://mathweb.org/projects/mws/pubs/mkm08.pdf}}
-
-@inproceedings{Lange:SWiMSciColl07,
- title = {Towards Scientific Collaboration in a Semantic Wiki},
- author = {Christoph Lange},
- crossref = {SemNet2007},
- pubs={clange,projects/swim,projects/krextor}}
-
-@TECHREPORT{CarlisleEd:MathML3,crossref={CarlisleEd:MathML3:base},howpublished={\url{http://www.w3.org/TR/MathML3}}}
-@TECHREPORT{CarlisleEd:MathML3:base,
- author = {Ron Ausbrooks and Stephen Buswell and David Carlisle and
- Giorgi Chavchanidze and St{\'e}phane Dalmas and Stan Devitt and Angel Diaz
- and Sam Dooley and Roger Hunter and Patrick Ion and Michael
- Kohlhase and Azzeddine Lazrek and Paul Libbrecht and Bruce Miller and
- Robert Miner and Murray Sargent and Bruce Smith and Neil Soiffer and
- Robert Sutor and Stephen Watt},
- title = {{Mathematical} {Markup} {Language} ({MathML}) Version 3.0},
- institution = {World Wide Web Consortium (W3C)},
- year = {2010},
- type = {{W3C Recommendation}},
- editor = {David Carlisle and Patrick Ion and Robert Miner},
- key = {MathML3},
- keywords = {standard},
- pubtype = {standard},
- url = {http://www.w3.org/TR/MathML3},
- pubs = {mkohlhase,projects/ikyda2012,projects/omdoc}}
-
-@MASTERSTHESIS{NRM:DA05,
- author = {Normen M{\"u}ller},
- title = {{OMDoc-Repr{\"a}sentation von Programmen und Beweisen in VeriFun}},
- year = {2005},
- url = {http://kwarc.info/nmueller/papers/dt.pdf},
- howpublished = {http://kwarc.info/nmueller/papers/dt.pdf},
- school = {Programmiermethodik, Technische Universit{\"a}t Darmstadt},
- pubs={nmueller,projects/omdoc}}
-
-@INCOLLECTION{MK:Proofs:omdoc2vf06,
- chapter = {17},
- pages = {167--179},
- title = {{Representing Proofs (Module PF)}},
- crossref = {Kohlhase:OMDoc1.2},
- author = {Michael Kohlhase},
- pubs = {projects/omdoc}}
-
-@INCOLLECTION{MK:ProofObjects:omdoc2vf06,
- chapter = {17.4},
- pages = {177--179},
- title = {{Formal Proofs as Mathematical Objects}},
- crossref = {Kohlhase:OMDoc1.2},
- author = {Michael Kohlhase},
- pubs = {projects/omdoc}}
-
-@MISC{NRM:resprop,
- author = {Normen M{\"u}ller},
- title = {{Towards} an {Ontology}-{Driven} {Management} of {Change} -- {Research}
- proposal for a {Ph.D.} thesis},
- year = {2006},
- howpublished = {\url{http://kwarc.info/nmueller/papers/resprop.pdf}},
- institution = {International University Bremen},
- url = {http://kwarc.info/nmueller/papers/resprop.pdf},
- pubs = {projects/omoc,projects/docOnto,nmueller}}
-
-@Unpublished{NRM:wp1:07,
- author = {Normen M{\"u}ller},
- title = {{Towards an Ontology-Driven Management of Change}},
- note = {Expos{\'e} of PhD research proposal},
- month = jun,
- year = 2007,
- annote = {white paper}
-}
-
-@online{panta:on,urldate = {2010-01},crossref = {panta:base}}
-@MISC{panta:URL,crossref = {panta:base},
- howpublished = {\url{http://trac.kwarc.info/panta}},
- note = {seen January 2010}}
-@MISC{panta:base,
- key = {panta},
- label = {panta},
- title = {{Panta: The PHP Frontend of panta rhei}},
- url = {http://trac.kwarc.info/panta}}
-
-@MISC{janta:URL,
- key = {janta},
- title = {{Janta: The RESTFul Web Service of panta rhei}},
- howpublished = {\url{http://trac.kwarc.info/janta}},
- url = {http://trac.kwarc.info/janta},
- note = {seen March 2009}}
-
-@online{pr-project:on,
- label = {Pan},
- title = {panta rhei},
- url = {http://trac.kwarc.info/panta-rhei},
- urldate = {2009-10-22}}
-
-@MISC{Panta:web,crossref={pr-project:web}}
-@MISC{pr-project:web,
- key = {panta-rhei},
- title = {{The panta rhei Project}},
- url = {http://trac.kwarc.info/panta-rhei},
- note = {seen March 2009}}
-
-@MISC{Panta:demo,
- key = {Panta Rei},
- title = {The panta rhei demo},
- howpublished = {\url{http://kwarc.info/projects/panta-rhei/demo/htdocs/}},
- url = {http://kwarc.info/projects/panta-rhei/demo/htdocs/},
- year = 2007}
-
-@MISC{Panta:gencs,
- key = {panta rei},
- title = {{The GenCS project}},
- howpublished = {\url{http://panta-rhei.kwarc.info/}},
- url = {http://panta-rhei.kwarc.info/},
- year = 2008}
-
-
-@MISC{AA:BTIPR08,
- key = {AA:BTIPR08},
- author = {Andrei Aiordachioaie},
- title = {{Improving Panta Rhei}},
- url = {http://kwarc.info/projects/panta-rhei/papers/thesis_aiordachioaie_andrei.pdf}}
-
-@MISC{Panta:cs:precourse:on,
- crossref={Panta:cs:precourse:base},
- urldate = {2009-11-25}}
-
-@MISC{Panta:cs:precourse,
- key = {panta rhei},
- howpublished = {\url{http://cs-precourse.kwarc.info/}},
- crossref={Panta:cs:precourse:base}}
-
-@MISC{Panta:cs:precourse:base,
- author = {Christine M{\"u}ller},
- title = {The {CS} precourse project},
- url = {http://cs-precourse.kwarc.info/},
- year = 2008}
-
-@online{SWiM:on,
- crossref={SWiM:base},
- urldate = {2015-12-27},
- date = {2010-09-08},
- keywords = {software},
- pubs = {clange},
-}
-
-@MISC{URL:SWiM,
- crossref={SWiM:base},
- key = {SWiM},
- howpublished = {\webpageat\url{http://old.kwarc.info/projects/swim/}},
- note = {seen October 2008}}
-
-@MISC{URL:SWiM:SHORT,
- crossref={SWiM:base},
- key = {SWiM},
- note = {seen February 2008}}
-
-@misc{SWiM:base,
- title = {{\sc{SWiM}}: A Semantic Wiki for Mathematical Knowledge Management},
- author = {Christoph Lange},
- url = {http://old.kwarc.info/projects/swim/},
-}
-
-@MISC{URL:sTeX:github,crossref={sTeX:github:base},
- key = {sTeX},
- howpublished = {GitHub repository at \url{https://github.com/KWARC/sTeX}},
- note = {accessed 15. 5. 2015}}
-@online{sTeX:github:on,crossref={sTeX:github:base},
- label = {sTeX},
- urldate = {2015-05-15}}
-@misc{sTeX:github:base,
- title = {{KWARC/sTeX}},
- url = {https://github.com/KWARC/sTeX}}
-
-@MISC{URL:lmh:github,crossref={lmh:github:base},
- key = {lmh},
- howpublished = {GitHub repository at \url{https://github.com/KWARC/lmh}},
- note = {accessed 15. 5. 2015}}
-@online{lmh:github:on,crossref={lmh:github:base},
- label = {lmh},
- urldate = {2015-05-15}}
-@misc{lmh:github:base,
- title = {{KWARC/lmh}},
- url = {https://github.com/KWARC/lmh}}
-
-@MISC{URL:LaTeX2Office:github,
- key = {L2O},
- howpublished = {GitHub repository at \url{https://github.com/KWARC/LaTeXML-Plugin-Doc}}}
-@online{LaTeX2Office:github:on,
- label = {L2O},
- note = {GitHub repository},
- url = {https://github.com/KWARC/LaTeXML-Plugin-Doc}}
-
-@MISC{URL:LaTeXMLsTeX:github,
- key = {L2O},
- howpublished = {GitHub repository at \url{https://github.com/KWARC/LaTeXML-Plugin-sTeX}}}
-@online{LaTeXMLsTeX:github:on,
- label = {L2O},
- note = {GitHub repository},
- url = {https://github.com/KWARC/LaTeXML-Plugin-sTeX}}
-
-@online{sTeX-mode:on,
- urldate = {2009-11-10},
- crossref={sTeX-mode:base}}
-
-@MISC{URL:sTeX-mode,
- note = {\seen May 2008},
- howpublished = {\svnrepoat\url{https://svn.kwarc.info/repos/stex/projects/emacs}},
- crossref={sTeX-mode:base}}
-
-@MISC{sTeX-mode:base,
- key = {sTeX-Mode},
- title = {{sTeX} {Emacs} Mode},
- url = {https://svn.kwarc.info/repos/stex/projects/emacs}}
-
-@MISC{URL:sTeX-slides:head,
- key = {sTeX-slides},
- url = {https://svn.kwarc.info/repos/stex-content/slides},
- howpublished = {\svnrepoat\url{https://svn.kwarc.info/repos/stex-content/slides}}}
-
-@INPROCEEDINGS{NRM:lwa06,
- author = {Normen M{\"u}ller},
- title = {{An {Ontology}-{Driven} {Management} of {Change}}},
- year = {2006},
- booktitle = {{Wissens- und Erfahrungsmanagement LWA (Lernen, Wissensentdeckung
- und Adaptivit{\"a}t) conference proceedings}},
- institution = {Universit{\"a}t Hildesheim},
- pages = {186--193},
- url = {http://kwarc.info/nmueller/papers/lwa06.pdf},
- howpublished = {\url{http://kwarc.info/nmueller/papers/lwa06.pdf}},
- pubs={projects/omoc,projects/docOnto,nmueller}}
-
-@INPROCEEDINGS{MW:lwa07,
- author = {Normen M{\"u}ller and Marc Wagner},
- title = {{Towards Improving Interactive Mathematical Authoring by Ontology-driven Management of Change}},
- year = 2007,
- url = {http://kwarc.info/nmueller/papers/lwa07.pdf},
- howpublished = {\url{http://kwarc.info/nmueller/papers/lwa07.pdf}},
- pages = {289--295},
- crossref={LWA07},
- pubs = {projects/omoc,nmueller}}
-
-@ARTICLE{NRM:kij07,
- author = {Normen M{\"u}ller},
- title = {{Tagungsbericht -- LWA 2006}},
- journal = {{KI} -- {Zeitschrift K{\"u}nstliche Intelligenz}},
- year = {2007},
- volume = {1},
- pages = {61},
- url = {http://www.kuenstliche-intelligenz.de/index.php?id=7754},
- howpublished = {\url{http://www.kuenstliche-intelligenz.de/index.php?id=7754}},
- pubs = {nmueller}}
-
-@article{KuKeKo:bo96,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Erica Melis and Dan Nesmith and J{\"o}rn Richts and J{\"o}rg Siekmann},
- title = {{Die Beweisentwicklungsumgebung $\Omega$mega}},
- journal = {Informatik -- Forschung und Entwicklung},
- year = 1996,
- volume = {11},
- pages = {20--26},
- publisher = {Springer Verlag},
- pubs={mkohlhase,projects/omega}}
-
-@MISC{mueller07:lectora-resprop,
- author = {Christine M{\"u}ller},
- title = {{Lectora: Towards an Interactive, Collaborative Reader for Mathematical Documents}},
- month = mar,
- year = 2007,
- institution = {Jacobs University Bremen},
- note = {Research proposal},
- url = {http://kwarc.info/cmueller/papers/Mueller_ResearchProposal_2007-03-14.pdf},
- pubs={cmueller}}
-
-@InProceedings{Lange07:kwepsy,
- author = {Christoph Lange},
- title = {{Towards a Semantic Wiki for Science}},
- crossref = {KWEPSY2007},
- pubs={clange,projects/swim,projects/docOnto,projects/ikyda2012}}
-
-@MISC{Lange07:swimplus-resprop,
- author = {Christoph Lange},
- title = {{Towards a Semantic Wiki for Science}},
- month = feb,
- year = 2007,
- howpublished = {\url{http://kwarc.info/projects/swim/pubs/swimplus-resprop.pdf}},
- institution = {Jacobs University Bremen},
- note = {Research proposal for a Ph.~D.\ thesis},
- url = {http://kwarc.info/projects/swim/pubs/swimplus-resprop.pdf},
- pubs={clange,projects/swim,projects/docOnto}}
-
-@Misc{wikipedia:omdoc,
- key = {Wikipedia: OMDoc},
- author = {Christoph Lange and others},
- title = {{OMDoc (from Wikipedia, the free encyclopedia)}},
- howpublished = {\url{http://en.wikipedia.org/w/index.php?title=OMDoc&oldid=112340133}},
- month = mar,
- year = 2007,
- crossref = {wikipedia},
- url = {http://en.wikipedia.org/w/index.php?title=OMDoc&oldid=112340133},
- pubs={clange}}
-
-@MISC{Panta:CSFall2007,
- key = {CSFall2007},
- author = {Christine M{\"u}ller},
- title = {{Panta Rhei: Case Study Fall2007}},
- howpublished = {\url{http://kwarc.info/projects/panta-rhei/papers/cs_Fall2007.pdf}},
- url = {http://kwarc.info/projects/panta-rhei/papers/cs_Fall2007.pdf},
- pubs = {cmueller},
- year = 2007}
-
-@InBook{LanKoh:swmkm07,
- author = {Christoph Lange and Michael Kohlhase},
- title = {{SWiM}: A Semantic Wiki for Mathematical Knowledge Management},
- crossref = {ReDeRa:SWE07},
- pages = {47--68},
- NOTWORKINGdoi = {10.4018/978-1-59904-877-2.ch004},
- url = {http://www.igi-global.com/Bookstore/Chapter.aspx?TitleId=10143},
- pubs={mkohlhase,clange,projects/swim,projects/docOnto,projects/ikyda2012}}
-
-@TECHREPORT{Lange:swmkm-tr07,
- author = {Christoph Lange},
- title = {{SWiM} -- A Semantic Wiki for Mathematical Knowledge Management},
- number = 5,
- institution = {Jacobs University Bremen},
- month = mar,
- year = {2007},
- url = {http://jpubs.jacobs-university.de/handle/579/143},
- note = {Revised, updated and reviewed version of thesis \cite{Lange:swmkm06}},
- keywords = {clange-phd},
- pubs={clange,projects/swim,projects/docOnto}}
-
-@MastersThesis{Pesikan:cwcr06,
- author = {Darko Pesikan},
- title = {Coping with Content Representations of Mathematics in Editor Environments: {nOMDoc} mode},
- school = {Computer Science, Jacobs University, Bremen},
- type = {Bachelor's Thesis},
- year = 2007,
- pubs = {projects/omdoc}}
-
-@misc{Misev:sumo2omdoc,
- author = {Dimitar Misev},
- title = {Integrating {SUMO} and {OMDoc}},
- school = {Computer Science, Jacobs University, Bremen},
- type = {Bachelor's Thesis},
- year = 2010,
- pubs = {projects/omdoc,projects/krextor}}
-
-@misc{Acevedo:OMMI,
- author = {Carmela Acevedo},
- school = {Computer Science, Jacobs University, Bremen},
- type = {Bachelor's Thesis},
- year = {2014},
- title = {{OpenMathMap}: Interaction},
- url = {http://map.mathweb.org/media/openmathmap-interaction.pdf}}
-
-@misc{Hasegan:sum14,
- author = {Daniel Hasegan},
- school = {Computer Science, Jacobs University, Bremen},
- type = {Bachelor's Thesis},
- year = {2014},
- title = {Sorted Unification in {MathWebSearch}},
- SOONurl = {http://map.mathweb.org/media/openmathmap-interaction.pdf}}
-
-@inproceedings{AceKoh:OMMI14,
- author = {Carmela Acevedo and Michael Kohlhase},
- crossref = {CICM-WS-WiP2014},
- title = {{OpenMathMap}: Interaction},
- url = {http://ceur-ws.org/Vol-1186/paper-01.pdf},
- pubs = {mkohlhase}}
-
-@inproceedings{Kohlhase:dsim14,
- author = {Andrea Kohlhase},
- crossref = {CICM-WS-WiP2014},
- title = {Design of Search Interfaces for Mathematicians},
- url = {http://ceur-ws.org/Vol-1186/paper-02.pdf},
- pubs = {akohlhase}}
-
-@inproceedings{Kohlhase:fsfe14,
- author = {Andrea Kohlhase and Alexandru Toader},
- crossref = {CICM-WS-WiP2014},
- title = {{FEncy}: Spreadsheet Formulae Exploration},
- url = {http://ceur-ws.org/Vol-1186/paper-03.pdf},
- pubs = {akohlhase,atoader,projects/sissi}}
-
-@unpublished{HR:tptp:12,
- author = "Fulya Horozal and Florian Rabe",
- title = {Representing Logics of Theorem Provers --- {TLTP}: Tens of Logics for Theorem Provers},
- year = "2012",
- note = "see \url{http://kwarc.info/frabe/Research/HR_tptp_12.pdf}"
-}
-
-@unpublished{HorKohRab:tal10,
- author = {Fulya Horozal and Michael Kohlhase and Florian Rabe and Kristina Sojakova},
- title = {Towards an Atlas of Logics},
- url = {http://kwarc.info/frabe/Research/HKRS_latinlf_10.pdf},
- year = {2010},
- pubs = {frabe,fhorozal,mkohlhase,ksojakova,projects/latin}}
-
-
-@inproceedings{IR:ui:12,
- author = "Mihnea Iancu and Florian Rabe",
- title = "{(Work-in-Progress) An MMT-Based User-Interface}",
- year = "2012",
- booktitle = "Workshop on User Interfaces for Theorem Provers",
- pubs = {miancu,frabe},
-}
-
-@inproceedings{CHMR:compiling:12,
- author = "Mihai Codescu and Fulya Horozal and Till Mossakowski and Florian Rabe",
- title = "{Compiling Logics}",
- year = "2012",
- pubs = {fhorozal,frabe},
- booktitle = "Workshop on Algebraic Development Techniques"
-}
-
-@inproceedings{CHIR:casl:12,
- author = "Mihai Codescu and Fulya Horozal and Iulia Ignatov and Florian Rabe",
- title = "{Representing CASL in a Proof-Theoretical Logical Framework}",
- year = "2012",
- booktitle = "Workshop on Algebraic Development Techniques",
- pubs = {fhorozal,frabe},
-}
-
-@inproceedings{HR:patterns:12,
- author = "Fulya Horozal and Florian Rabe",
- title = "{Representing Categories of Theories in a Proof-Theoretical Logical Framework}",
- year = "2012",
- booktitle = "Workshop on Algebraic Development Techniques",
- pubs = {fhorozal,frabe},
-}
-
-@misc{zamdzhiev:bsc:cs,
- author = "V. Zamdzhiev",
- title = "{Universal OpenMath Machine}",
- year = "2011",
- note = "Bachelor's thesis, Jacobs University Bremen",
- school = "Jacobs University Bremen"
-}
-
-@mastersthesis{dumbrava:msc,
- author = "Stefania Dumbrava",
- title = "{A Type Theory based on Reflection}",
- year = "2012",
- school = "Jacobs University Bremen"
-}
-
-@misc{alecu:bsc,
- author = "Maria Alecu",
- title = "{Generic unification for type theories}",
- year = "2012",
- note = "Bachelor's thesis, Jacobs University Bremen",
- school = "Jacobs University Bremen"
-}
-
-@mastersthesis{iancu:msc,
- author = "Mihnea Iancu",
- title = "{Management of Change in Declarative Languages}",
- year = "2012",
- school = "Jacobs University Bremen"
-}
-
-@mastersthesis{horozal:msc,
- author = "Figen F{\"u}sun Horozal",
- title = "{Management of Change in the Web Ontology Language}",
- year = "2012",
- school = "Jacobs University Bremen"
-}
-
-@misc{ignatov:bsc,
- author = "Iulia Ignatov",
- title = "{Modular Encoding of Type Theory}",
- year = "2012",
- note = "Bachelor's thesis, Jacobs University Bremen",
- school = "Jacobs University Bremen"
-}
-
-@misc{zamdzhiev:bsc:math,
- author = "Vladimir Zamdzhiev",
- title = "{Formalizing Syntactical Objects within Formalized Set Theory}",
- year = "2011",
- note = "Bachelor's thesis, Jacobs University Bremen",
- school = "Jacobs University Bremen"
-}
-
-@mastersthesis{iacob:msc,
- author = "Alin Iacob",
- title = "{Towards Project-Based Workflows in Twelf}",
- year = "2011",
- school = "Jacobs University Bremen"
-}
-
-@inproceedings{HKR:sequences:11,
- author = "Fulya Horozal and Michael Kohlhase and Florian Rabe",
- title = "{Extending OpenMath with Sequences}",
- pages = "58--72",
- url = {http://kwarc.eecs.iu-bremen.de/frabe/Research/HKR_sequences_11.pdf},
- crossref = {DFRU:cicmwip:11},
- pubs={frabe,mkohlhase,fhorozal,projects/latin,projects/omdoc}
-}
-
-@unpublished{AR:lamkrip_long:09,
- author = "S. Awodey and F. Rabe",
- title = "{Kripke Semantics for Martin-L{\"o}f's Extensional Type Theory}",
- year = "2009",
- note = "see \url{http://kwarc.info/frabe/Research/LamKrip.pdf}",
- pubs={frabe}
-}
-
-@article{AR:lamkrip:11,
- author = "Stephen Awodey and Florian Rabe",
- title = "{Kripke Semantics for Martin-L{\"o}f's Extensional Type Theory}",
- year = "2011",
- journal = "Logical Methods in Computer Science",
- volume = "7",
- number = "3",
- pubs={frabe}
-}
-
-@inproceedings{AR:lamkrip:09,
- author = "S. Awodey and F. Rabe",
- title = "{Kripke Semantics for Martin-L{\"o}f's Extensional Type Theory}",
- year = "2009",
- pages = "249--263",
- booktitle = "Typed Lambda Calculi and Applications (TLCA)",
- editor = "P. Curien",
- series = "LNCS",
- publisher = "Springer",
- volume = "5608",
- keywords = {conference},
- pubs={frabe}
-}
-
-
-@article{HR:folsound:10,
- author = "F. Horozal and F. Rabe",
- title = "{Representing Model Theory in a Type-Theoretical Logical Framework}",
- year = "2011",
- pages = "4919--4945",
- journal = "Theoretical Computer Science",
- volume = "412",
- number = "37",
- pubs={frabe}
-}
-
-
-@inproceedings{CHKMRS:lfhets:11,
- author = "M. Codescu and F. Horozal and M. Kohlhase and T. Mossakowski and F. Rabe and K. Sojakova",
- title = "{Towards Logical Frameworks in the Heterogeneous Tool Set Hets}",
- crossref = {WADT10},
- pubs={frabe,mkohlhase,projects/latin}
-}
-
-@inproceedings{CHKMRS:lfhets:10,
- author = "M. Codescu and F. Horozal and M. Kohlhase and T. Mossakowski and F. Rabe and K. Sojakova",
- title = "{Towards Logical Frameworks in the Heterogeneous Tool Set Hets}",
- year = "2010",
- booktitle = "Workshop on Algebraic Development Techniques",
- pubs={frabe,mkohlhase,project/latin}
-}
-
-
-@MastersThesis{Iancu:mcdl12,
- author = {Mihnea Iancu},
- title = {Management of Change in Declarative Languages},
- school = {Jacobs University Bremen},
- year = 2012,
- pubs={miancu,projects/omdoc}}
-
-@techreport{IKR:mizar:11,
- author = "M. Iancu and M. Kohlhase and F. Rabe",
- title = "{Translating the Mizar Mathematical Library into OMDoc format}",
- year = "2011",
- institution = "Jacobs University Bremen",
- number = "KWARC Report-01/11",
- pubs={frabe,mkohlhase,projects/oaff}
-}
-
-
-@misc{rabeEA:isabelle-lf:10,
- author = "M. Iancu and F. Rabe",
- title = "{A Formal Semantics of Isabelle/HOL}",
- year = "2010",
- note = "see \url{https://svn.kwarc.info/repos/twelf/projects/isabelle}",
- pubs={frabe}
-}
-
-@unpublished{RI:isabelle:10,
- author = "F. Rabe and M. Iancu",
- title = "{A Formalized Set-Theoretical Semantics of Isabelle/HOL}",
- year = "2010",
- note = "see \url{http://kwarc.info/frabe/Research/rabeEA_isabelle_10.pdf}",
- pubs={frabe}
-}
-
-@article{Rabe:lfcmpt13,
- author = "F. Rabe",
- title = "{A Logical Framework Combining Model and Proof Theory}",
- year = "2013",
- pages = "945--1001",
- journal = "Mathematical Structures in Computer Science",
- volume = "23",
- number = "5"
-}
-
-@masterthesis{Mance:bsc,
- author = "Felix Mance",
- title = "{A Practical OpenMath Machine}",
- year = "2013",
- note = "Bachelor's thesis, Jacobs University Bremen",
- school = "Jacobs University Bremen"
-}
-
-@article{rabe:combining:10:biblatex,
- author = "Florian Rabe",
- title = "A Logical Framework Combining Model and Proof Theory",
- year = "2012",
- pubstate = {forthcoming},
- url = {http://kwarc.info/frabe/Research/rabe_combining_10.pdf},
- journal = "Mathematical Structures in Computer Science",
- pubs = {frabe}
-}
-
-
-@inproceedings{CHKMR:hiding:11,
- author = "M. Codescu and F. Horozal and M. Kohlhase and T. Mossakowski and F. Rabe",
- title = "{A Proof Theoretic Interpretation of Model Theoretic Hiding}",
- crossref = {WADT10},
- keywords = {conference},
- pubs={frabe,mkohlhase,projects/latin}
-}
-@inproceedings{CHKMR:hiding:10,
- author = "M. Codescu and F. Horozal and M. Kohlhase and T. Mossakowski and F. Rabe",
- title = "{A Proof Theoretic Interpretation of Model Theoretic Hiding}",
- year = "2010",
- booktitle = "Workshop on Algebraic Development Techniques",
- pubs={frabe,mkohlhase,projects/latin}
-}
-
-@article{IR:foundations:10,
- author = "Mihnea Iancu and Florian Rabe",
- title = "{Formalizing Foundations of Mathematics}",
- year = "2011",
- pages = "883--911",
- journal = "Mathematical Structures in Computer Science",
- volume = "21",
- number = "4",
- pubs={frabe}
-}
-
-
-@inproceedings{DLR:jobad:10,
- author = "C. David and C. Lange and F. Rabe",
- title = "{Interactive Documents as Interfaces to Computer Algebra Systems: JOBAD and Wolfram|Alpha}",
- year = "2010",
- pages = "13--30",
- booktitle = "CALCULEMUS (Emerging Trends)",
- editor = "D. Delahaye and R. Rioboo",
- series = "Technical Reports of CEDRIC (CNAM/ENSIIE)",
- publisher = "Centre d'{\'E}tude et de Recherche en Informatique du CNAM (C{\'e}dric)",
- keywords = {conference},
- pubs={frabe}
-}
-
-@inproceedings{RS:vertrans:12,
- author = "Florian Rabe and Kristina Sojakova",
- title = "{Mechanically Verifying Logic Translations}",
- year = "2012",
- booktitle = "Workshop on Algebraic Development Techniques",
- pubs = {frabe},
-}
-
-@misc{kristina:ml_fol,
- author = "Kristina Sojakova",
- title = "{Mechanically Verifying Logic Translations}",
- year = "2010",
- note = "Master's thesis, Jacobs University Bremen"
-}
-
-@inproceedings{DKLRZ:PubMathLectNotLinkedData10,
- author = {Catalin David and Michael Kohlhase and Christoph Lange and Florian Rabe and Nikita Zhiltsov and Vyacheslav Zholudev},
- title = {Publishing Math Lecture Notes as Linked Data},
- pages = {370--375},
- crossref = {eswc2010-2},
- eprint = {1004.3390v1},
- eprinttype = {arxiv},
- eprintclass = {cs.DL},
- keywords = {conference,clange-phd},
- pubs = {cdavid,clange,mkohlhase,vzholudev,frabe,projects/jobad,projects/omdoc,projects/docOnto,projects/ikyda2012}}
-
-
-@inproceedings{rabe:isalf:10,
- author = "F. Rabe",
- title = "{Representing Isabelle in LF}",
- year = "2010",
- pages = "85--100",
- booktitle = "Logical Frameworks and Meta-languages: Theory and Practice",
- editor = "K. Crary and M. Miculan",
- series = "Electronic Proceedings in Theoretical Computer Science",
- publisher = "Electronic Proceedings in Theoretical Computer Science",
- volume = "34",
- pubs={frabe}
-}
-
-
-@article{RS:logrels:12,
- author = "Florian Rabe and Kristina Sojakova",
- title = "{Logical Relations for a Logical Framework}",
- year = "2013",
- note = "to appear; see \url{http://kwarc.info/frabe/Research/RS_logrels_12.pdf}",
- journal = "ACM Transactions on Computational Logic"
-}
-
-@inproceedings{DHS:algebra:09,
- author = "Stefania Dumbrava and Fulya Horozal and Kristina Sojakova",
- title = "{A Case Study on Formalizing Algebra in a Module System}",
- year = "2009",
- pages = "11--18",
- booktitle = "Workshop on Modules and Libraries for Proof Assistants",
- editor = "F. Rabe and C. Sch{\"u}rmann",
- series = "ACM International Conference Proceeding Series",
- publisher = "ACM",
- volume = "429"
-}
-
-@misc{rabeEA:folsound-lf:09,
- author = "F. Horozal and F. Rabe",
- title = "{A Formal Proof of the Soundness of First-order Logic}",
- year = "2009",
- note = "see \url{https://svn.kwarc.info/repos/twelf/fol-soundness.cfg}",
- pubs={frabe}
-}
-
-@misc{project:mmtlf,
- author = "F. Rabe and C. Sch{\"u}rmann",
- title = "{A Module System for Twelf}",
- year = "2009",
- note = "see \url{https://cvs.concert.cs.cmu.edu/twelf/branches/twelf-mod}",
- pubs={frabe}
-}
-
-@inproceedings{RS:twelfmod:09,
- author = "F. Rabe and C. Sch{\"u}rmann",
- title = "{A Practical Module System for LF}",
- year = "2009",
- pages = "40--48",
- booktitle = "Proceedings of the Workshop on Logical Frameworks: Meta-Theory and Practice (LFMTP)",
- editor = "J. Cheney and A. Felty",
- series = "ACM International Conference Proceeding Series",
- publisher = "ACM Press",
- volume = "LFMTP'09",
- pubs={frabe}
-}
-
-
-
-@techreport{KLMMR:notations-tr:2009,
- author = "M. Kohlhase and C. Lange and C. M{\"u}ller and N. M{\"u}ller and F. Rabe",
- title = "{Notations for Active Mathematical Documents}",
- year = "2009",
- institution = "Jacobs University Bremen",
- number = "2009-1",
- pubs={frabe,mkohlhase}
-}
-
-@unpublished{rabeEA:presentation:09,
- author = "M. Kohlhase and C. Lange and C. M{\"u}ller and N. M{\"u}ller and F. Rabe",
- title = "{Notations for Active Mathematical Documents}",
- year = "2009",
- pubs={frabe}
-}
-
-@inproceedings{rabe:gi:09,
- author = "F. Rabe",
- title = "{Representing Logics and Logic Translations}",
- year = "2009",
- note = "English title: Outstanding Dissertations in Computer Science 2008",
- pages = "201--210",
- booktitle = "Ausgezeichnete Informatikdissertationen 2008",
- editor = "D. {Wagner et al.}",
- series = "Lecture Notes in Informatics",
- publisher = "Gesellschaft f{\"u}r Informatik e.V. (GI)",
- volume = "D-9",
- pubs={frabe}
-}
-
-@inproceedings{HR:folsound:09,
- author = "F. Horozal and F. Rabe",
- title = "{Representing Model Theory in a Type-Theoretical Logical Framework}",
- year = "2009",
- pages = "49--65",
- booktitle = "Fourth Workshop on Logical and Semantic Frameworks, with Applications",
- editor = "M. Ayala-Rinc{\'o}n and F. Kamareddine",
- series = "Electronic Notes in Theoretical Computer Science",
- publisher = "Elsevier",
- volume = "256",
- pubs={frabe}
-}
-
-@misc{project:latin,
- author = "M. Kohlhase and T. Mossakowski and F. Rabe",
- title = "{The {LATIN} Project}",
- year = "2009",
- note = "see \url{https://trac.omdoc.org/LATIN/}",
- pubs={frabe,mkohlhase,projects/latin}
-}
-
-@unpublished{rabe:mmt:09,
- author = "F. Rabe",
- title = "{The MMT Language}",
- year = "2009",
- pubs={frabe}
-}
-
-@inproceedings{RK:keappa:08,
- author = "Florian Rabe and Michael Kohlhase",
- title = "{An Exchange Format for Modular Knowledge}",
- year = "2008",
- pages = "50--68",
- booktitle = "Proceedings of the LPAR Workshops on Knowledge Exchange: Automated Provers and Proof Assistants, and The 7th International Workshop on the Implementation of Logics",
- editor = "G. Sutcliffe and P. Rudnicki and R. Schmidt and B. Konev and S. Schulz",
- series = "CEUR Workshop Proceedings",
- publisher = "CEUR-WS.org",
- volume = "418",
- pubs={frabe,mkohlhase}
-}
-
-@inproceedings{SR:dfol_fol:08,
- author = "K. Sojakova and F. Rabe",
- title = "{Translating Dependently-Typed Logic to First-Order Logic}",
- year = "2009",
- pages = "326--341",
- booktitle = "Recent Trends in Algebraic Development Techniques",
- editor = "A. Corradini and U. Montanari",
- series = "LNCS",
- publisher = "Springer",
- volume = "5486",
- keywords = {conference},
- pubs={frabe}
-}
-
-@inproceedings{BRS:tptphol:08,
- author = "C. Benzm{\"u}ller and Florian Rabe and G. Sutcliffe",
- title = "{THF0 -- The core of the TPTP Language for Higher-Order Logic}",
- booktitle = "{4\textsuperscript{th} International Joint Conference on Automated Reasoning}",
- editor = "A. Armando and P. Baumgartner and G. Dowek",
- year = "2008",
- series = "{LNCS}",
- number = "5195",
- pages = "491--506",
- pubs = {frabe}}
-
-@phdthesis{rabe:thesis:08,
- author = {Florian Rabe},
- title = "{Representing Logics and Logic Translations}",
- year = 2008,
- school = "Jacobs University Bremen",
- url = {http://kwarc.info/frabe/Research/phdthesis.pdf},
- pubs = {frabe,projects/omdoc}}
-
-@article{RPSS:moloss:07,
- author = {Florian Rabe and P. Pudl{\'a}k and G. Sutcliffe and W. Shen},
- title = "{Solving the \$100 Modal Logic Challenge}",
- journal = {Journal of Applied Logic},
- year = 2007,
- volume = 1,
- number = 1,
- pubs = {frabe}}
-
-@article{GMPRS:catlog:07,
- author = {J. Goguen and T. Mossakowski and V. de Paiva and Florian Rabe and L. Schr{\"o}der},
- title = "{An Institutional View on Categorical Logic}",
- journal = "{International Journal of Software and Informatics}",
- volume = "1",
- number = "1",
- pages = "129--152",
- year = 2008,
- pubs={frabe}}
-
-@inproceedings{rabe:graphs:07,
- author = "Florian Rabe",
- title = "{{\omdoc} Theory Graphs Revisited}",
- booktitle = "{Proceedings of the {\openmath}/JEM workshop}",
- year = 2007,
- pubs={frabe,projects/omdoc}}
-
-@unpublished{rabe:instlf:07,
- author = "Florian Rabe",
- title = "{Institutions with Proofs and their Representation in a Logical Framework}",
- year = "2008",
- note = "Submitted, see \url{http://kwarc.info/frabe/Research/rabe_instlf_07.pdf}",
- url = {http://kwarc.info/frabe/Research/rabe_instlf_07.pdf},
- pubs={frabe}}
-
-@inproceedings{rabe:moloss:06,
-author = "Florian Rabe",
-title = "{Towards Determining the Subset Relation between Propositional Modal Logics}",
-booktitle = "{Proceedings of the FLoC 06 Workshop on Empirically Successful Computerized Reasoning, 3\textsuperscript{rd} International Joint Conference on Automated Reasoning}",
-editor = "G. Sutcliffe and R. Schmidt and S. Schulz",
-year = 2006,
-series = "CEUR Workshop Proceedings",
- address = {Aachen},
-issn = {1613-0073},
-number = "192",
-pages = "126--140",
-pubs={frabe}}
-
-@inproceedings{rabe:dfol:06,
-author = "Florian Rabe",
-title = "{First-Order Logic with Dependent Types}",
- crossref = {IJCAR06},
-pages = "377--391",
-pubs={frabe}}
-
-@inproceedings{rabeEA:promela:05,
- author = "Florian Rabe and S. Schlager and P. Schmitt",
- title = "{A Sequent Calculus for a First-order Dynamic Logic with Trace Modalities for Promela$^+$}",
- booktitle = "{Short Paper Proceedings of the International Conference on Logic for Programming, Artificial Intelligence, and Reasoning}",
- editor = "G. Sutcliffe and A. Voronkov",
- year = "2005",
- pages = "21--27",
- pubs={frabe}}
-
-@phdthesis{cmueller:thesis:10,
- author = {Christine M{\"u}ller},
- title = {{Adaptation of Mathematical Documents}},
- year = 2010,
- school = {Jacobs University Bremen},
- url = {http://kwarc.info/cmueller/papers/thesis.pdf},
- pubs = {cmueller}}
-
-@INPROCEEDINGS{BenBroKoh:csil06,
- author = {Christoph E. Benzm{\"u}ller and Chad E. Brown and Michael Kohlhase},
- title = {Cut-Simulation in Impredicative Logics},
- pages = {220--234},
- crossref = {IJCAR06},
- url = {http://kwarc.info/kohlhase/papers/ijcar06.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@article{BenBroKoh:lmcs09,
- author = {Christoph E. Benzm{\"u}ller and Chad E. Brown and Michael Kohlhase},
- title = {Cut-Simulation and Impredicativity},
- journal = {Logical Methods in Computer Science},
- volume = 5,
- number = 1,
- pages = {1--21},
- url = {http://arxiv.org/pdf/0902.0043},
- year = {2009},
- pubs = {mkohlhase}}
-
-@Article{Kohlhase:oaifocdi00,
- author = {Michael Kohlhase},
- title = {\textsc{OMDoc}: An Infrastructure for \textsc{OpenMath} Content Dictionary
- Information},
- journal = {Bulletin of the ACM Special Interest Group on Symbolic and Automated Mathematics (SIGSAM)},
- volume = {34},
- number = {2},
- pages = {43--48},
- year = 2000,
- url = {http://kwarc.info/kohlhase/papers/sigsam.pdf},
-pubs = {mkohlhase,projects/omdoc}}
-
-@Article{KohFra:rkcimss01,
- author = {Michael Kohlhase and Andreas Franke},
- title = {{MBase}: Representing Knowledge and Context for the
- Integration of Mathematical Software Systems},
- journal = {Journal of Symbolic Computation; Special Issue on the
- Integration of Computer Algebra and Deduction Systems},
- year = 2001,
- volume = 32,
- number = 4,
- pages = {365--402},
- doi = {10.1006/jsco.2000.0468},
- url = {http://kwarc.info/kohlhase/papers/jsc.pdf},
- pubs = {mkohlhase,projects/tntbase}}
-
-
-@online{MathSearch:on,crossref={MathSearch:base},urldate = {2013-02-22}}
-@misc{MathSearch:base,
- key = {MathSearch},
- label = {MathSearch},
- title = {MathSearch},
- url = {http://mathsearch.kwarc.info/},
- note = {Project Homepage}}
-
-
-
-@online{LATIN:online,crossref="LATIN:base",urldate={2010-09-15}}
-@misc{LATIN:url,crossref="LATIN:base",
- howpublished={\url{http://latin.omdoc.org}}}
-@misc{LATIN:base,
- author = {Michael Kohlhase and Till Mossakowski and Florian Rabe},
- key = {LATIN},
- label = {LATIN},
- title = {LATIN: Logic Atlas and Integrator},
- type = {Project Homepage},
- url = {http://latin.omdoc.org}}
-
-@online{TetraPod:online,crossref="TetraPod:base",urldate={2012-09-15}}
-@misc{TetraPod:url,crossref="TetraPod:base",
- howpublished={\url{https://trac.mathweb.org/tetrapod/}}}
-@misc{TetraPod:base,
- key = {TetraPod},
- label = {TetraPod},
- title = {The {TetraPod} Project},
- type = {Project Homepage},
- url = {https://trac.mathweb.org/tetrapod/}}
-
-@online{JOMDoc:on,urldate={2011-05-07},crossref={JOMDoc:base}}
-@MISC{JOMDoc:web,
- label = {JOMDoc},
- key = {JOMDoc},
- crossref={JOMDoc:base},
- note = {seen Feb.},
- year = {2010},
- howpublished = {\url{http://jomdoc.omdoc.org}}}
-
-@misc{JOMDoc:base,
- key = {JOMDoc},
- title = {{JOMDoc} Project --- {Java} Library for {OMDoc} documents},
- url = {http://jomdoc.omdoc.org}}
-
-@MISC{PhysML:web,
- key = {PhysML},
- title = {{PhysML} -- {Capturing} the {Content} of {Physics}},
- howpublished = {available at \url{http://www.omdoc.org/projects/physml/}},
- url = {http://www.omdoc.org/projects/physml/},
- note = {seen February 2008}}
-
-@MISC{PhysML:webpage,
- key = {PhysML},
- title = {{PhysML} -- {Capturing} the {Content} of {Physics}},
- url = {http://www.omdoc.org/projects/physml/},
- lastchecked = {February 2008}}
-
-@MISC{OMBase:web,
- key = {OMBase},
- title = {{OMBase} {Project}},
- howpublished = {\url{http://kwarc.info/projects/ombase/}},
- url = {http://kwarc.info/projects/ombase/},
- note = {seen Dec. 2008}}
-
-@online{OMBase:webpage,
- key = {OMBase},
- title = {{OMBase} {Project}},
- url = {http://kwarc.info/projects/ombase/},
- lastchecked = {April 2008}}
-
-@online{locutor:on,
- urldate = {2009-10-22},
- crossref = {locutor:base}}
-
-@MISC{locutor:trac,
- title = {The {{\texttt{{\emph{locutor}}}}} Project},
- howpublished = {\url{https://locutor.kwarc.info}},
- year = 2008,
- crossref = {locutor:base}}
-
-@MISC{locutor:web,
- crossref = {locutor:base},
- howpublished = {system homepage at \url{https://locutor.kwarc.info}},
- url = {https://locutor.kwarc.info},
- note = {seen June 2007}}
-
-@online{locutor:webpage,
- crossref = {locutor:base},
- lastchecked = {June 2007}}
-
-@misc{locutor:base,
- key = {locutor},
- title = {\texttt{\emph{locutor}}: An Ontology-Driven Management of Change},
- url = {http://locutor.kwarc.info}}
-
-
-@online{OMDocDocOnto:on,
- urldate = {2012-02-03},
- date = {2011-01-08},
- pubs = {clange},
- keywords = {ontology},
- crossref = {OMDocDocOnto:base}}
-
-@misc{OMDocDocOnto:web,
- howpublished = {\webpageat\url{http://old.kwarc.info/projects/docOnto/omdoc.html}},
- note = {seen 2/2012},
- crossref = {OMDocDocOnto:base}}
-
-@misc{OMDocDocOnto:base,
- author = {Christoph Lange},
- title = {The {OMDoc} Ontology},
- url = {http://old.kwarc.info/projects/docOnto/omdoc.html}}
-
-@MISC{KWARC:web,
- key = {{KWARC}},
- crossref = {KWARC:base},
- howpublished = {\webpageat\url{http://kwarc.info/}},
- note = {seen June 2008}}
-@Online{KWARC:online,crossref = {KWARC:base},urldate = {2011-05-12},label={KWARC}}
-@MISC{KWARC:base,
- title = {{Knowledge Adaptation and Reasoning for Content}},
- url = {http://kwarc.info}}
-
-@MISC{JOBAD:demo,
- key = {JOBAD.Demo},
- title = {{JOBAD} Demo},
- url = {https://svn.omdoc.org/repos/jomdoc/src/prj/jobad/tags/jobad-prototype-0.4/examples/index.xhtml},
- note = {seen March 2009},
- lastchecked = {March 2009}}
-
-@MISC{JOBAD:demo:folding,
- howpublished = {\url{https://svn.omdoc.org/repos/jomdoc/src/prj/jobad/tags/jobad-prototype-0.4/examples/folding/testcase.xhtml}},
- title = {{JOBAD} Folding Demo},
- url = {https://svn.omdoc.org/repos/jomdoc/src/prj/jobad/tags/jobad-prototype-0.4/examples/folding/testcase.xhtml},
- lastchecked = {March 2009}}
-
-@MISC{JOBAD:demo:elision,
- howpublished = {\url{https://svn.omdoc.org/repos/jomdoc/src/prj/jobad/tags/jobad-prototype-0.4/examples/elision/elision_testcase.xhtml}},
- title = {{JOBAD} Elision Demo},
- url = {https://svn.omdoc.org/repos/jomdoc/src/prj/jobad/tags/jobad-prototype-0.4/examples/elision/elision_testcase.xhtml},
- lastchecked = {March 2009}}
-
-@MISC{JOBAD:demo:rhetoric,
- howpublished = {\url{https://svn.omdoc.org/repos/omdoc/trunk/examples/varia/rhetoricalrelations-visualization.html}},
- title = {{Interactive Visualization of Rhetorical Blocks and Relations}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/examples/varia/rhetoricalrelations-visualization.html},
- lastchecked = {March 2009}}
-
-
-
-@online{JOBAD:on,
- urldate = {2012-02-18},
- shorthand = {JOBAD},
- keywords = {software},
- pubs = {clange,frabe,cdavid,jgiceva},
- crossref = {JOBAD:base}}
-
-@MISC{JOBAD:web,
- howpublished = {\url{http://jomdoc.omdoc.org/wiki/JOBAD}},
- year = 2008,
- crossref = {JOBAD:base}}
-
-@online{JOBAD:webpage,
- lastchecked = feb,
- year = 2009,
- crossref = {JOBAD:base}}
-
-@misc{JOBAD:base,
- key = {JOBAD},
- label = {JOBAD},
- title = {{JOBAD} Framework -- {JavaScript} {API} for {OMDoc}-based active documents},
- url = {http://jobad.omdoc.org}}
-
-@misc{docOnto:web,
- author = {Christoph Lange and Normen M{\"u}ller and Christine M{\"u}ller},
- title = {Document Ontologies},
- note = {project homepage at \url{http://kwarc.info/projects/docOnto/}},
- url = {http://kwarc.info/projects/docOnto/},
- pubs={clange,projects/docOnto}}
-
-@online{Kohlhase:GenCSI:on,crossref={Kohlhase:GenCSI:base},urldate={2011-03-03}}
-@misc{Kohlhase:GenCSI:url,crossref={Kohlhase:GenCSI:base},
- howpublished = {Online course notes at \url{http://kwarc.info/teaching/GenCS1/notes.pdf}}}
-@MISC{Kohlhase:GenCSI:base,
- key = {GenCS1},
- author = {Michael Kohlhase},
- label = {GenCS1},
- title = {{General Computer Science; 320101: GenCS I Lecture Notes}},
- url = {http://kwarc.info/teaching/GenCS1/notes.pdf},
- year = 2011,
- pubs = {mkohlhase}}
-
-@online{Kohlhase:GenCSIproblems:on,crossref={Kohlhase:GenCSIproblems:base},urldate={2011-03-03}}
-@misc{Kohlhase:GenCSIproblems:url,crossref={Kohlhase:GenCSIproblems:base},
- howpublished = {Online practice problems at \url{http://kwarc.info/teaching/GenCS1/problems.pdf}}}
-@MISC{Kohlhase:GenCSIproblems:base,
- key = {GenCS1},
- label = {GenCS1},
- author = {Michael Kohlhase},
- title = {{General Computer Science; Problems for 320101 GenCS I}},
- url = {http://kwarc.info/teaching/GenCS1/problems.pdf},
- year = 2011,
- pubs = {mkohlhase}}
-
-@online{Kohlhase:GenCSIsolutions:on,crossref={Kohlhase:GenCSIsolutions:base},urldate={2011-03-03}}
-@misc{Kohlhase:GenCSIsolutions:url,crossref={Kohlhase:GenCSIsolutions:base},
- howpublished = {Online practice problems with solutions at \url{http://kwarc.info/teaching/GenCS1/solutions.pdf}}}
-@MISC{Kohlhase:GenCSIsolutions:base,
- key = {GenCS1},
- label = {GenCS1},
- author = {Michael Kohlhase},
- title = {{General Computer Science; Problems and Solutions for 320101 GenCS I}},
- url = {http://kwarc.info/teaching/GenCS1/solutions.pdf},
- year = 2011,
- pubs = {mkohlhase}}
-
-@online{Kohlhase:GenCSII:on,crossref={Kohlhase:GenCSII:base},urldate={2011-03-03},
- note = {See also\cite{Kohlhase:PlanetGenCS:on}}}
-@misc{Kohlhase:GenCSII:url,crossref={Kohlhase:GenCSII:base},
- howpublished = {Online course notes at \url{http://kwarc.info/teaching/GenCS2/notes.pdf}}}
-@MISC{Kohlhase:GenCSII:base,
- key = {GenCS2},
- label = {GenCS2},
- author = {Michael Kohlhase},
- title = {{General Computer Science: 320201 GenCS II Lecture Notes}},
- url = {http://kwarc.info/teaching/GenCS2/notes.pdf},
- year = 2011,
- pubs = {mkohlhase}}
-
-@online{Kohlhase:GenCSIIproblems:on,crossref={Kohlhase:GenCSIproblems:base},urldate={2011-03-03}}
-@misc{Kohlhase:GenCSIIproblems:url,crossref={Kohlhase:GenCSIIproblems:base},
- howpublished = {Online practice problems at \url{http://kwarc.info/teaching/GenCS2/problems.pdf}}}
-@MISC{Kohlhase:GenCSIIproblems:base,
- key = {GenCS2},
- label = {GenCS2},
- author = {Michael Kohlhase},
- title = {{General Computer Science: Problems for 320201 GenCS II}},
- url = {http://kwarc.info/teaching/GenCS2/problems.pdf},
- year = 2011,
- pubs = {mkohlhase}}
-
-@online{Kohlhase:GenCSIIsolutions:on,crossref={Kohlhase:GenCSIsolutions:base},urldate={2011-03-03}}
-@misc{Kohlhase:GenCSIIsolutions:url,crossref={Kohlhase:GenCSII:base},
- howpublished = {Online practice problems with solutions at \url{http://kwarc.info/teaching/GenCS2/solutions.pdf}}}
-@MISC{Kohlhase:GenCSIIsolutions:base,
- key = {GenCS2},
- label = {GenCS2},
- author = {Michael Kohlhase},
- title = {{General Computer Science: Problems and Solutions for 320201 GenCS II}},
- url = {http://kwarc.info/teaching/GenCS2/solutions.pdf},
- year = 2011,
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohSuc:asemf06,
- author = {Michael Kohlhase and Ioan {\c S}ucan},
- title = {A Search Engine for Mathematical Formulae},
- pages = {241--253},
- crossref = {AISC06},
- url = {http://kwarc.info/kohlhase/papers/aisc06.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/mws}}
-
-@INPROCEEDINGS{ArmKoh:cpmsbko00,
- author = {Alessandro Armando and Michael Kohlhase and Silvio Ranise},
- title = {Communication Protocols for mathematical Services based on {KQML}
- and {OMRS}},
- pages = {34--48},
- crossref = {CALCULEMUS00},
- url = {http://kwarc.info/kohlhase/papers/calculemus00.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@online{arXMLiv-buildsys:online,crossref={arXMLiv-buildsys:base},urldate={2010-05-15},label={arXMLiv}}
-@Misc{arXMLiv-buildsys:URL,
- crossref = {arXMLiv-buildsys:base},
- note = {\seen May 2010},
- howpublished = {\url{http://arxmliv.kwarc.info}}}
-@Misc{arXMLiv-buildsys:base,
- key = {arXMLiv},
- title = {{arXMLiv} Build System},
- url = {http://arxmliv.kwarc.info}}
-
-@online{arXMLiv-frontend:online,crossref={arXMLiv-frontend:base},urldate={2010-09-27},label={arX}}
-@Misc{arXMLiv-frontend:URL,
- crossref = {arXMLiv-frontend:base},
- note = {\seen Sept. 2010},
- howpublished = {\url{http://arxivdemo.mathweb.org}}}
-@Misc{arXMLiv-frontend:base,
- key = {arXMLiv},
- title = {Planetary {arXiv} Demo},
- url = {http://arxivdemo.mathweb.org}}
-
-
-@online{arXMLiv:online,crossref={arXMLiv:base},urldate = {2010-05-10}}
-@Misc{URL:arXMLiv,
- crossref = {arXMLiv:base},
- howpublished = {\webpageat\url{http://trac.kwarc.info/arXMLiv/}},
- note = {\seen{\April} 2010}}
-@Misc{arXMLiv:base,
- label = {arXMLiv},
- key = {arXMLiv},
- title = {{\texttt{arXMLiv}: Translating the Math Archives to XML\-+\-MathML}},
- url = {http://trac.kwarc.info/arXMLiv/}}
-
-
-
-@online{arXMLiv:demo:online,crossref={arXMLiv:demo:base},urldate = {2011-09-08}}
-@Misc{URL:demo:arXMLiv,
- crossref = {arXMLiv:demo:base},
- howpublished = {\webpageat\url{http://trac.kwarc.info/arXMLiv/wiki/Demo}},
- note = {\seen{\March} 2011}}
-@Misc{arXMLiv:demo:base,
- key = {arXMLiv},
- label = {arXMLiv},
- title = {{\texttt{arXMLiv}: Showcase Demo Page}},
- url = {http://trac.kwarc.info/arXMLiv/wiki/Demo}}
-
-
-@online{sTeXIDE:online,crossref={sTeXIDE:base},urldate = {2010-05-10}}
-@Misc{URL:sTeXIDE,
- crossref = {sTeXIDE:base},
- howpublished = {\projectpageat\url{http://stexide.googlecode.com/}},
- note = {\seen{\April} 2010}}
-@Misc{sTeXIDE:base,
- key = {sTeXIDE},
- title = {{sTeXIDE}},
- url = {http://stexide.googlecode.com/}}
-
-
-@INPROCEEDINGS{AspKoht:mimp02,
- author = {Andrea Asperti and Michael Kohlhase},
- title = {MathML in the {\sc{MoWGLI}} Project},
- url = {http://www.mathmlconference.org/2002/presentations/asperti/},
- crossref = {MathML02},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{NorKoh:efnrsmk07,
- author = {Immanuel Normann and Michael Kohlhase},
- title = {Extended Formula Normalization for $\epsilon$-Retrieval and
- Sharing of Mathematical Knowledge},
- pages = {266--279},
- crossref = {MKM07},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohKoh:rmvp07,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {{{\emph{Re}}examining the {MKM} Value Proposition: From Math Web Search to Math Web {\emph{Re}}Search}},
- year = 2007,
- pages = {266--279},
- crossref = {MKM07},
- url = {http://mathweb.org/projects/mws/pubs/mkm07.pdf},
- keywords = {conference},
- pubs = {mkohlhase,akohlhase,projects/mws}}
-
-@Article{KohKoh:skmfe08,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Semantic Knowledge Management for Education},
- year = 2008,
- journal = {Proceedings of the IEEE; Special Issue on Educational Technology},
- volume = {96},
- number = 6,
- publisher = {IEEE},
- month = jun,
- pages = {970--989},
- url = {http://kwarc.info/kohlhase/papers/semkm4ed.pdf},
- keywords={conference},
- pubs = {akohlhase,mkohlhase,projects/ikyda2012}}
-
-@INPROCEEDINGS{BenzmuellerEtAl:otama97,
- author = {Christoph Benzm{\"u}ller and Lassaad Cheikhrouhou and Detlef Fehrer and Armin Fiedler
- and Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Karsten Konrad and Erica Melis
- and Andreas Meier and Wolfgang Schaarschmidt and J{\"o}rg Siekmann and Volker Sorge},
- title = {{$\Omega$\sc mega}: Towards a mathematical assistant},
- year = {1997},
- pages = {252--255},
- crossref = {CADE97},
- url = {http://kwarc.info/kohlhase/papers/Omega97-CADE.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{BenKoh:ehor98,
- author = {Christoph Benzm{\"u}ller and Michael Kohlhase},
- title = {Extensional Higher Order Resolution},
- year = {1998},
- pages = {56--72},
- crossref = {CADE98},
- url = {http://kwarc.info/kohlhase/papers/BeKo2-CADE98.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{BlaBos:atpfnlu98,
- author = {Blackburn, Patrick and Bos, Johan and Kohlhase, Michael and de Nivelle,
- Hans},
- title = {Automated Theorem Proving for Natural Language Understanding},
- booktitle = {CADE-15 Workshop ``Problem-solving Methodologies with Automated Deduction''},
- year = {1998},
- editor = {Peter Baumgartner and Ulrich Furbach and Michael Kohlhase and William
- McCune and Wolfgang Reif and Mark Stickel and Tom{\`a}s Uribe},
- crossref = {CADE15-WS-PSMAD},
- keywords = {!OMEGA!,lamapunbibs,ARTICLE,LISA,SFB},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{ClaKoh:ratp03,
- author = {Edmund Clarke and Michael Kohlhase and Jo{\"e}l Ouaknine and Klaus
- Sutner},
- title = {Resurrecting the {Analytica} Theorem Prover},
- crossref = {QPQ03},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{ClaKoh:sda03,
- author = {Edmund Clarke and Michael Kohlhase and Jo{\"e}l Ouaknine and Klaus Sutner},
- title = {System Description: Analytica 2},
- crossref = {CALCULEMUS03},
- url = {http://kwarc.info/kohlhase/papers/calculemus03.pdf},
- pages = {69--74},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{HuKe:katfad94,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Erica
- Melis and Dan Nesmith and J{\"o}rn Richts and J{\"o}rg Siekmann},
- title = {KEIM: A Toolkit for Automated Deduction},
- pages = {807--810},
- crossref = {CADE94},
- url = {http://kwarc.info/kohlhase/papers/Keim94-CADE.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{HKK94a,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Wolfgang
- Reif},
- title = {A Test for Evaluating the Practical Usefulness of Deduction Systems},
- pages = {12--12},
- crossref = {DEDTREFF94},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{HuKe94b,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and J{\"o}rn
- Richts},
- title = {Adapting Methods to Novel Tasks in Proof Planning},
- year = {1994},
- pages = {379--390},
- crossref = {KI94},
- url = {http://kwarc.info/kohlhase/papers/HuKe94-KI.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INCOLLECTION{AK:mbase06,
- author = {Andreas Franke and Michael Kohlhase},
- title = {{MBase}, an Open Mathematical Knowledge Base},
- chapter = {26.4},
- crossref = {Kohlhase:OMDoc1.2},
- pubs = {projects/omdoc,mkohlhase}}
-
-@InBook{LanKoh:swim06,
- author = {Christoph Lange and Michael Kohlhase},
- title = {{SWiM} -- An {OMDoc}-based Semantic Wiki},
- chapter = {26.10},
- crossref = {Kohlhase:OMDoc1.2},
- pubs={mkohlhase,clange,projects/swim,projects/omdoc,projects/docOnto}}
-
-@INCOLLECTION{Kohlhase:albwo06,
- author = {Michael Kohlhase},
- title = {s{\TeX}: A {\LaTeX}-Based Workflow for {OMDoc}},
- chapter = {26.15},
- crossref = {Kohlhase:OMDoc1.2},
-pubs = {mkohlhase,projects/omdoc}}
-
-@InCollection{Kohlhase:shlssc06,
- author = {Michael Kohlhase},
- title = {Standardizing Context in System Interoperability},
- chapter = {26.18},
- crossref = {Kohlhase:OMDoc1.2},
-pubs = {mkohlhase,projects/omdoc}}
-
-@INCOLLECTION{NRM:omdoc2vf06,
- chapter = {26.20},
- pages = {329--332},
- title = {{OMDoc} as a {Data} {Format} for {VeriFun}},
- crossref = {Kohlhase:OMDoc1.2},
- author = {Normen M{\"u}ller},
- pubs = {projects/omdoc,nmueller}}
-
-@online{Kohlhase:OAFFlexiForms10,
- author = {Michael Kohlhase},
- title = {{OAF}: {FlexiForms}},
- url = {http://trac.kwarc.info/oaf/wiki/FlexiForms?version=5},
- urldate = {2010-08-11},
- date = {2010-07-23}}
-
-@online{Kohlhase:SemiformalizationDef09,
- author = {Michael Kohlhase},
- title = {{OAF}: Semiformalizations},
- url = {http://trac.kwarc.info/oaf/wiki/semiformalizations?version=1},
- urldate = {2009-12-14}}
-
-@misc{OAFF:URL,crossref={OAFF:base},year=2011}
-@online{OAFF:online,crossref={OAFF:base},
- urldate = {2011-01-17}}
-@misc{OAFF:base,
- key = {OAFF},
- label = {OAFF},
- type = {Web Portal},
- title = {The Open Archive for FlexiForms},
- url = {http://oaff.info}}
-
-@INPROCEEDINGS{JoKo:uiaelc94,
- author = {Patricia Johann and Michael Kohlhase},
- title = {Unification in an Extensional Lambda Calculus with Ordered Function
- Sorts and Constant Overloading},
- year = {1994},
- pages = {620--634},
- crossref = {CADE94},
- url = {http://kwarc.info/kohlhase/papers/JoKo94-CADE.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KeKo:mpwri97,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {Mechanising Partiality without Re-Implementation},
- pages = {123--134},
- crossref = {KI97},
- url = {http://kwarc.info/kohlhase/papers/ki97.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KeKoSo:icawpp96,
- author = {Manfred Kerber and Michael Kohlhase and Volker Sorge},
- title = {Integrating Computer Algebra with Proof Planning},
- pages = {204--215},
- crossref = {DISCO96},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohKoh:cdad04,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {{CPoint}: Dissolving the Author's Dilemma},
- pages = {175--189},
- url = {http://kwarc.info/kohlhase/papers/mkm04.pdf},
- crossref = {MKM04},
- keywords = {conference},
-pubs = {akohlhase,mkohlhase}}
-
-@INPROCEEDINGS{KohKoh:copmem06,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {{Communities of Practice in {MKM}: An Extensional Model}},
- crossref = {MKM06},
- pages = {179--193},
- url = {http://kwarc.info/kohlhase/papers/mkm06cp.pdf},
- keywords = {conference},
- pubs = {akohlhase,mkohlhase}}
-
-@INPROCEEDINGS{HilKohSta:copmem06,
- author = {Eberhard Hilf and Michael Kohlhase and Heinrich Stamerjohanns},
- title = {Capturing the Content of Physics: Systems, Observables, and Experiments},
- crossref = {MKM06},
- pages = {165--178},
- url = {http://kwarc.info/kohlhase/papers/mkm06physml.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/omdoc}}
-
-@INPROCEEDINGS{KohKoh:esmk05,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {An Exploration in the Space of Mathematical Knowledge},
- crossref = {MKM05},
- pages = {17--32},
- url = {http://kwarc.info/kohlhase/papers/mkm05.pdf},
- keywords = {conference},
- pubs = {akohlhase,mkohlhase}}
-
-@INCOLLECTION{Kohlhase:hoatp98,
- author = {Michael Kohlhase},
- title = {Higher-Order Automated Theorem Proving},
- pages = {431--462},
- volume = {2},
- crossref = {BibSch:adabfa98},
- url = {http://kwarc.info/kohlhase/papers/Kohlhase-hoatp98.pdf},
-pubs = {mkohlhase}}
-
-@INCOLLECTION{Kohlhase:atpm98,
- author = {Michael Kohlhase},
- title = {Automated Theorem Proving in Mathematics},
- pages = {3--7},
- volume = {3},
- crossref = {BibSch:adabfa98},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{Kohlhase94b,
- author = {Michael Kohlhase},
- title = {Unification in a $\lambda$-calculus with term declarations and function
- sorts},
- year = {1994},
- crossref = {KI94},
- pages = {331--342},
- url = {http://kwarc.info/kohlhase/papers/ki94.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{Kohlhase:uiostt92,
- author = {Michael Kohlhase},
- title = {Unification in Order-Sorted Type Theory},
- year = {1992},
- pages = {421--432},
- crossref = {LPAR92},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohAng:tccmvc03,
- author = {Michael Kohlhase and Romeo Anghelache},
- title = {Towards Collaborative Content Management And Version Control For
- Structured Mathematical Knowledge},
- pages = {147--161},
- crossref = {MKM03},
- url = {http://kwarc.info/kohlhase/papers/mkm03.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/omdoc}}
-
-@INPROCEEDINGS{HanKoh:atcnl03,
- author = {Benjamin Han and Michael Kohlhase},
- title = {A time calculus for natural language},
- crossref = {ICOS03},
- url = {http://kwarc.info/kohlhase/papers/icos04.pdf},
- pages = {113--127},
- keywords = {lamapunbibs},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohKol:ttmlu00,
- author = {Michael Kohlhase and Alexander Koller},
- title = {Towards A Tableaux Machine for Language Understanding},
- pages = {57--88},
- crossref = {ICOS00},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohSut:amcas02,
- author = {Michael Kohlhase and Klaus Sutner and Peter Jansen and Andrea Kohlhase
- and Peter Lee and Dana Scott and Matthew Szudzik},
- title = {Acquisition of Math Content in an Academic Setting},
- url = {http://www.mathmlconference.org/2002/presentations/kohlhase/},
- crossref = {MathML02},
- keywords = {conference},
-pubs = {mkohlhase,akohlhase}}
-
-@INPROCEEDINGS{Kohlhase:autxdm03,
- author = {Michael Kohlhase},
- title = {Applying Unification Techniques to XML Document Management?},
- crossref = {UNIF03},
-pubs = {mkohlhase}}
-
-@MASTERSTHESIS{Lange:swmkm06,
- author = {Christoph Lange},
- title = {{A Semantic Wiki for Mathematical Knowledge Management}},
- school = {Universit{\"a}t Trier},
- type = {Diploma thesis},
- year = 2006,
- month = aug,
- keywords = {clange-phd},
- url = {http://kwarc.info/projects/swim/pubs/swim-thesis-final.pdf},
- pubs={clange,projects/swim,projects/omdoc}}
-
-@INPROCEEDINGS{LanKoh:swmkm06,
- author = {Christoph Lange and Michael Kohlhase},
- title = {A Semantic Wiki for Mathematical Knowledge Management},
- crossref = {semwiki06},
-pubs = {mkohlhase,clange,projects/swim}}
-
-@INPROCEEDINGS{SiekmannEtAl:pdwo02,
- author = {J{\"o}rg Siekmann and Christoph Benzm{\"u}ller and Vladimir Brezhnev
- and Lassaad Cheikhrouhou and Armin Fiedler and Andreas Franke and
- Helmut Horacek and Michael Kohlhase and Andreas Meier and Erica Melis
- and Markus Moschner and Immanuel Normann and Martin Pollet and Volker
- Sorge and Carsten Ullrich and Claus-Peter Wirth and J{\"u}rgen Zimmer},
- title = {Proof Development with {$\Omega$\sc mega}},
- pages = {144--149},
- crossref = {CADE02},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@Misc{TNTVDSkel:URL,
- key = {TNTVDSkel},
- author = {Vyacheslav Zholudev and Michael Kohlhase},
- title = {The {RelaxNG} {Schema} for {VDoc} {Specifications}},
- howpublished = {\url{https://svn.tntbase.org/repos/tntbase/trunk/DbXmlAccessLib/resources/tnt-vd-spec.rnc}},
- url = {https://svn.tntbase.org/repos/tntbase/trunk/DbXmlAccessLib/resources/tnt-vd-spec.rnc}}
-
-@Misc{TNTVDUseCases:URL,
- key = {TNTVDUseCases},
- author = {Vyacheslav Zholudev},
- title = {Sandbox for {Balisage 2010} -- {Virtual Documents}},
- howpublished = {\url{http://tntbase.org/wiki/balisage2010}},
- url = {http://tntbase.org/wiki/balisage2010}}
-
-@online{TNTBaseIntegration,
- author = {Vyacheslav Zholudev and others},
- title = {{TNTBase} -- {Integration}},
- url = {http://tntbase.org/wiki/Integration},
- urldate = {2010-09-29}}
-
-@online{Rabe:TNTBaseMMTPlugin,
- author = {Florian Rabe},
- title = {{TNTBase} -- {MMT} Plugin},
- url = {http://tntbase.org/wiki/MMTPlugin},
- urldate = {2010-05-10}}
-
-@Misc{OMDoc:svn,
- key = {OMDoc SVN},
- title = {The OMDoc Subversion Repository},
- howpublished = {Repository at \url{https://svn.omdoc.org/repos/omdoc}},
- url = {https://svn.omdoc.org/repos/omdoc}}
-
-@Misc{OMDocRNC:URL,
- key = {OMDocRNC},
- author = {Michael Kohlhase},
- title = {The {OMDoc} {RelaxNG} Schema},
- howpublished = {\url{http://omdoc.org/rnc/omdoc.rnc}},
- url = {http://omdoc.org/rnc/omdoc.rnc}}
-
-@Misc{OMDocXSD:URL,
- key = {OMDocXSD},
- author = {Michael Kohlhase},
- title = {The {OMDoc} {XML} Schema},
- howpublished = {\url{http://omdoc.org/rnc/omdoc.xsd}},
- url = {http://omdoc.org/rnc/omdoc.xsd}}
-
-@Misc{mathweb.org:svn,
- key = {MathWeb SVN},
- title = {Using the {\tt{mathweb.org}} Subversion Repository},
- howpublished = {Web page at \url{http://www.mathweb.org/svn.html}},
- url = {http://www.mathweb.org/svn.html}}
-
-
-@Misc{OMDocXSL:URL,
- key = {OMDocXSL},
- author = {Michael Kohlhase},
- title = {{XSL} Style Sheets for {OMDoc}},
- howpublished = {\url{http://omdoc.org/xsl/}},
- url = {http://omdoc.org/xsl/}}
-
-
-@Misc{OMDoc-mailinglists:URL,
- key = {OMDoc Mailing Lists},
- author = {Michael Kohlhase},
- title = {{OMDoc} Mailing Lists},
- note = {\seen May 2008},
- howpublished = {\url{http://omdoc.org/resources/mailing-lists.html}},
- url = {http://omdoc.org/resources/mailing-lists.html}}
-
-@Misc{mkm-mailinglists:URL,
- key = {MKM-IG Mailing Lists},
- author = {Michael Kohlhase},
- title = {{MKM-IG} Mailing Lists},
- note = {\seen May 2008},
- url = {http://lists.jacobs-university.de/mailman/admin/projects-mkm-ig}}
-
-@TECHREPORT{BusCapCar:2oms03,
- title = {The {\openmath} Standard, Version 2.0 Public Draft 4},
- year = {2003},
- institution = {The {\openmath} Society},
- url = {http://www.openmath.org/standard/om20-2003-11-24/},
- author = {Stephen Buswell and Olga Caprotti and David P. Carlisle and Michael
- C. Dewar and Marc Gaetano and Michael Kohlhase},
- key = {Caprotti}}
-
-@TECHREPORT{Kohlhase:NTCIR10-topics,
- title = {Topics for the {NTCIR-10} Math Task; Math Retrieval Subtask},
- author = {Michael Kohlhase},
- year = {2012},
- institution = {NTCIR},
- url = {https://kwarc.info/kohlhase/papers/NTCIR10-topics.pdf},
- editor = {Michael Kohlhase}}
-
-@TECHREPORT{Kohlhase:NTCIR11-topics,
- title = {Formats for Topics and Submissions for the Math2 Task at NTCIR-11},
- year = {2014},
- institution = {NTCIR},
- url = {http://ntcir-math.nii.ac.jp/wp-content/blogs.dir/13/files/2014/05/NTCIR11-Math-topics.pdf},
- editor = {Michael Kohlhase}}
-
-@TECHREPORT{Kohlhase:NTCIR12-topics,
- title = {Formats for Topics and Submissions for the Math-2 Task at NTCIR-12},
- year = {2015},
- institution = {NTCIR},
- NOurl = {http://ntcir-math.nii.ac.jp/wp-content/blogs.dir/13/files/2014/05/NTCIR11-Math-topics.pdf},
- editor = {Michael Kohlhase}}
-
-@MISC{ek:dsxcc,
- author = {Frederick Eberhardt and Michael Kohlhase},
- title = {{A} {Document}-{Sensitive} {XML}-{CVS} {Client}},
- howpublished = {unpublished KWARC blue notes},
- year = {2004}}
-
-@UNPUBLISHED{Kohlhase:hoatp-lnai,
- author = {Michael Kohlhase},
- title = {Higher-Order Automated Theorem Proving},
- type = {Manuscript},
- url = {http://kwarc.info/kohlhase/submit/lnai.ps}}
-
-@InProceedings{MuKo:pr07-small,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- title = {panta rhei},
- pages = {318--323},
- editor = {Alexander Hinneburg},
- booktitle = {{LWA Conference Proceedings}},
- year = {2007}}
-
-@UNPUBLISHED{KohSim:escpmge01,
- author = {Michael Kohlhase and Mandy Simons},
- title = {Explaining some cases of Presupposition by Model Generation with Events},
- note = {draft},
- keywords = {lamapunbibs},
- year = {2001}}
-
-@Misc{CD:inference-rules,
- author = {Michael Kohlhase},
- title = {Inference Rules},
- year = {\seen{Jan 2005}},
- howpublished = {OMDoc Content Dictionary at
- \url{https://svn.omdoc.org/repos/omdoc/trunk/examples/logics/inference-rules.omdoc}},
- url = {https://svn.omdoc.org/repos/omdoc/trunk/examples/logics/inference-rules.omdoc}}
-
-@Misc{OMDocDTD:URL,
- key = {OMDocDTD},
- author = {Michael Kohlhase},
- title = {The {OMDoc} {Document Type Definition}},
- url = {http://omdoc.org/dtd/omdoc.dtd},
- howpublished = {\url{http://omdoc.org/dtd/omdoc.dtd}}}
-
-
-@Unpublished{FormalSafeProposal,
- author = {Bernd Krieg-Br{\"u}ckner and Dieter Hutter and Michael Kohlhase and
- Christoph L{\"u}th and Till Mossakowski and Lutz Schr{\"o}der and Werner
- Stephan},
- title = {Formal Development for Safe Robotics},
- year = 2007}
-
-@online{MWSProj:on,crossref={MWSProj:base},label={MWS},urldate={2013-04-26}}
-@online{MWSProj:url,crossref={MWSProj:base},howpublished={Project page at \url{http://search.mathweb.org}}}
-@misc{MWSProj:base,
- title = {{MathWebSearch} -- Searching Mathematics on the Web},
- url = {http://search.mathweb.org},
- key = {MWS}}
-
-@online{MWSZBL:on,
- label = {MWSZBL},
- title = {{MathWeb Search}: Zentralblatt Math},
- url = {http://search.mathweb.org/zbl/},
- urldate = {2013-04-21}}
-
-@INPROCEEDINGS{AizKohOun:nmpto13,
- author = {Aizawa, Akiko and Kohlhase, Michael and Ounis, Iadh},
- title = {{NTCIR-10 Math} Pilot Task Overview},
- url = {http://research.nii.ac.jp/ntcir/workshop/OnlineProceedings10/pdf/NTCIR/OVERVIEW/01-NTCIR10-OV-MATH-AizawaA.pdf},
- crossref={NTCIR10},
- pages = {1--8},
- pubs = {mkohlhase,projects/mws}}
-
-@INPROCEEDINGS{AizKohOunSch:nmto14,
- author = {Aizawa, Akiko and Kohlhase, Michael and Ounis, Iadh and Moritz Schubotz},
- title = {{NTCIR-11} {Math-2} Task Overview},
- url = {http://research.nii.ac.jp/ntcir/workshop/OnlineProceedings11/pdf/NTCIR/OVERVIEW/01-NTCIR11-OV-MATH-AizawaA.pdf},
- crossref={NTCIR11},
- pages = {88--98},
- pubs = {mkohlhase,projects/mws}}
-
-@INPROCEEDINGS{KohPro:man13,
- author = {Kohlhase, Michael and Prodescu, Corneliu},
- title = {{MathWebSearch} at {NTCIR-10}},
- url = {http://research.nii.ac.jp/ntcir/workshop/OnlineProceedings10/pdf/NTCIR/MATH/04-NTCIR10-MATH-KohlhaseM.pdf},
- crossref={NTCIR10},
- pages = {675--679},
- pubs = {mkohlhase,cprodescu,projects/mws}}
-
-@INPROCEEDINGS{HamKohPro:man14,
- author = {Radu Hambasan and Kohlhase, Michael and Prodescu, Corneliu},
- title = {{MathWebSearch} at {NTCIR-11}},
- url = {http://research.nii.ac.jp/ntcir/workshop/OnlineProceedings11/pdf/NTCIR/Math-2/05-NTCIR11-MATH-HambasanR.pdf},
- crossref={NTCIR11},
- pages = {114--119},
- pubs = {mkohlhase,cprodescu,rhambasan,projects/mws}}
-
-@INPROCEEDINGS{SieHes:adgui98,
- author = {J{\"o}rg Siekmann and Stephan Hess and Christoph Benzm{\"u}ller and
- Lassaad Cheikhrouhou and Detlef Fehrer and Armin Fiedler and Helmut
- Horacek and Michael Kohlhase and Karsten Konrad and Andreas Meier
- and Erica Melis and Volker Sorge},
- title = {A Distributed Graphical User Interface for the Interactive Proof
- System {OMEGA}},
- year = {1998},
- pages = {130--138},
- crossref = {UITP98},
-pubs = {mkohlhase}}
-
-@inproceedings{Rabe:LII14,
- author = "Florian Rabe",
- title = "{A Logic-Independent {IDE}}",
- pages = "48--60",
- url = {https://kwarc.info/people/frabe/Research/rabe_ui_14.pdf},
- crossref = {UITP14},
- pubs = {frabe}}
-
-@MISC{CPoint:Web,
- author = {Andrea Kohlhase},
- title = {CPoint},
- year = {2005},
- note = {http://kwarc.info/projects/CPoint/},
- key = {CPoint},
- pubs = {akohlhase}}
-
-@TECHREPORT{AspKohSac:dtdop03,
- author = {Andrea Asperti and Michael Kohlhase and Sacerdoti Coen, Claudio},
- title = {Prototype n. D2.b Document Type Descriptors: {OMDoc} Proofs},
- institution = {The MoWGLI Project},
- year = {2003},
- type = {MoWGLI Deliverable},
-pubs = {mkohlhase,projects/omdoc}}
-
-@MastersThesis{Laubner:utgmm07,
- author = {Bastian Laubner},
- title = {Using Theory Graphs to Map Mathematics: A Case Study and a Prototype.},
- school = {Jacobs University},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/msc-2007/blaubner.pdf},
- year = 2007,
- address = {Bremen},
- month = aug}
-
-@MISC{w3c:web:mathml,crossref={CarIon:MathML03},date={2003-10-21}}
-@TECHREPORT{W3C:MathML2:biblatex,crossref={CarIon:MathML03},date={2003-10-21}}
-@TECHREPORT{CarIon:MathML03,
- author = {Ron Ausbrooks and Stephen Buswell and David Carlisle and St{\'e}phane
- Dalmas and Stan Devitt and Angel Diaz and Max Froumentin and Roger
- Hunter and Patrick Ion and Michael Kohlhase and Robert Miner and
- Nico Poppelier and Bruce Smith and Neil Soiffer and Robert Sutor
- and Stephen Watt},
- title = {{Mathematical} {Markup} {Language} ({MathML}) Version 2.0 (second
- edition)},
- institution = {World Wide Web Consortium (W3C)},
- year = 2003,
- type = {{W3C} Recommendation},
- url = {http://www.w3.org/TR/MathML2},
- editor = {David Carlisle and Patrick Ion and Robert Miner and Nico Poppelier},
- keywords = {standard},
- pubtype = {standard},
- key = {Carlisle},
- pubs = {mkohlhase}}
-
-@TECHREPORT{AutEbe:dkmvc03,
- author = {Serge Autexier and Frederick Eberhardt and Dieter Hutter and Michael
- Kohlhase and Romeo Anghelache},
- title = {Distributed Knowledge Management and Version Control},
- institution = {The MoWGLI Project},
- year = {2003},
- type = {Deliverable},
- number = {D5.a},
-pubs = {mkohlhase}}
-
-@ARTICLE{BenBroKoh:hose04,
- author = {Christoph Benzm{\"u}ller and Chad Brown and Michael Kohlhase},
- title = {Higher Order Semantics and Extensionality},
- journal = {Journal of Symbolic Logic},
- volume= {69},
- pages = {1027--1088},
- year = {2004},
- url = {http://kwarc.info/kohlhase/papers/jslbbk04.pdf},
- pubs = {mkohlhase}}
-
-@InCollection{BenBroKoh:cexf08,
- author = {Christoph Benzm{\"u}ller and Chad Brown and Michael Kohlhase},
- title = {Cut Elimination with Xi-Functionality},
- crossref = {BenBroSieSta:fhpab08},
- url = {http://kwarc.info/kohlhase/papers/cutelimxi.pdf},
- pubs = {mkohlhase}}
-
-@article{FraKoh:mrmkrdb99,
- author = {Andreas Franke and Michael Kohlhase},
- title = {{MBase}: Representing mathematical knowledge in a relational data base},
- journal = {Electronic Notes Theoretical Computer Science},
- volume = {23},
- number = {3},
- year = {1999},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{BenKoh:lahotp98,
- author = {Christoph Benzm{\"u}ller and Michael Kohlhase},
- title = {{LEO} -- a Higher Order Theorem Prover},
- crossref = {CADE98},
- url = {http://kwarc.info/kohlhase/papers/BeKo1-CADE98.pdf},
- pages = {139--144},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@TECHREPORT{BenKoh:mefhol97,
- author = {Christoph Benzm{\"u}ller and Michael Kohlhase},
- title = {Model Existence for Higher-Order Logic},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1997},
- type = {SEKI-Report},
- number = {SR-97-09},
-pubs = {mkohlhase}}
-
-@TECHREPORT{BenKoh:rfhm97,
- author = {Christoph Benzm{\"u}ller and Michael Kohlhase},
- title = {Resolution for Henkin Models},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1997},
- type = {SEKI-Report},
- number = {SR-97-10},
-pubs = {mkohlhase}}
-
-@TECHREPORT{BenKohBro:hose03,
- author = {Christoph Benzm{\"u}ller and Michael Kohlhase and Chad E. Brown},
- title = {Higher Order Semantics and Extensionality.},
- institution = {Department of Mathematical Sciences, Carnegie Mellon University},
- year = {2003},
- type = {Technical Report},
- number = {03-001},
- chrisnote = {R22},
- url = {http://www.ags.uni-sb.de/~chris/papers/R22.pdf},
-pubs = {mkohlhase}}
-
-@article{BlaKoh:ics04,
- author = {Patrick Blackburn and Michael Kohlhase},
- title = {Inference and Computational Semantics},
- journal = {Journal of Logic, Language and Information},
- volume = {13},
- number = {2},
- year = {2004},
- pages = {117--120},
- url = {http://www.springerlink.com/content/j1552255x22990u7/fulltext.pdf},
- ee = {http://dx.doi.org/10.1023/B:JLLI.0000024788.38738.bb},
- pubs ={mkohlhase}}
-
-@Techreport{BlaBos:arfcl98,crossref = {BlaBos:iacs98}}
-@TECHREPORT{BlaBos:iacs98,
- author = {Blackburn, Patrick and Bos, Johan and Kohlhase, Michael and de Nivelle, Hans},
- title = {Inference and Computational Semantics},
- institution = {University of the Saarland},
- year = {1998},
-
- type = {CLAUS Report},
- number = {99},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@InCollection{BlaBosKoh:iacs01,
- author = {Blackburn, Patrick and Bos, Johan and Kohlhase, Michael and de Nivelle, Hans},
- title = {Inference and Computational Semantics},
- crossref = {BunKieMus:cmii01},
- pages = {11--28},
- pubs = {mkohlhase}}
-
-@InProceedings{BlaBos:iacs99,
- author = {Blackburn, Patrick and Bos, Johan and Kohlhase, Michael and de Nivelle, Hans},
- title = {Inference and Computational Semantics},
- crossref = {IWCS99},
- pages = {5--19},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@TECHREPORT{BusCapCar:2oms04,
- Author = {Stephen Buswell and Olga Caprotti and David P. Carlisle and Michael
- C. Dewar and Marc Ga{\"e}tano and Michael Kohlhase},
- title = {The {Open Math} Standard, Version 2.0},
- institution = {The OpenMath Society},
- year = 2004,
- url = {http://www.openmath.org/standard/om20},
- key = {Caprotti},
- pubtype = {standard},
- keywords = {standard},
- pubs = {mkohlhase}}
-
-@ARTICLE{EggGarKoh:sid98,
- author = {Markus Egg and Claire Gardent and Michael Kohlhase},
- title = {{Steuerung der Inferenz in der Diskursverarbeitung}},
- journal = {Kognitionswissenschaft},
- year = {1998},
- volume = {7},
- pages = {106--110},
- number = {3},
- url = {http://kwarc.info/kohlhase/papers/EgGaKo98-Kognition.pdf},
- pubs = {mkohlhase}}
-
-@InProceedings{KerKoh:fmds94,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {Formalizing Mathematics with Dependent Sorts},
- booktitle = {Proceedings des Deduktionstreffen},
- series = {AIDA-Report},
- year = 1994,
- organization = {Darmstadt University},
- pubs={mkohlhase}}
-
-@INPROCEEDINGS{KerKoh:pwtc96,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {Partiality without the Cost},
- booktitle = {Workshop on ``Mechanization of Partial
- Functions'' at CADE-13},
- year = {1996},
- pubs = {mkohlhase}}
-
-@InProceedings{EggKoh:dcqs97,
- author = {Egg, Markus and Kohlhase, Michael},
- title = {Dynamic Control of Quantifier Scope},
- year = {1997},
- booktitle = {Proceedings of the 11\textsuperscript{th} {Amsterdam Colloquium}},
- editor = {Dekker, Paul},
- address = {Amsterdam, The Netherlands},
- pages = {109--114},
- publisher = {ILLC},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{EggKoh:uqs97,
- author = {Egg, Markus and Michael Kohlhase},
- title = {Underspecification of quantifier scope},
- booktitle = {Proceedings der 6. {Fachtagung} der {Sektion} {Computerlinguistik} der
- {DGfS}},
- year = {1997},
- url = {http://kwarc.info/kohlhase/papers/amscoll97.pdf},
- address = {{Heidelberg}},
-pubs = {mkohlhase}}
-
-@UNPUBLISHED{FraKoh:cwmik99,
- author = {Andreas Franke and Michael Kohlhase},
- title = {Communicating with {\sc MBase} in {\sc KQML}},
- url = {http://www.ags.uni-sb.de/~omega/www/projects/mbase},
- year = {1999}}
-
-@UNPUBLISHED{FraKoh:dm99,
- author = {Andreas Franke and Michael Kohlhase},
- title = {Distributing {\sc MBase}},
- url = {http://www.ags.uni-sb.de/~omega/www/projects/mbase},
- year = {1999}}
-
-@ARTICLE{FraHes:aoidms99,
- author = {Andreas Franke and Stephan M. Hess and Christoph G. Jung and Michael
- Kohlhase and Volker Sorge},
- title = {Agent-Oriented Integration of Distributed Mathematical Services},
- journal = {Journal of Universal Computer Science},
- year = {1999},
- volume = {5},
- pages = {156--187},
- nuber = {3},
- url = {http://kwarc.info/kohlhase/papers/jucs.pdf},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{FraKoh:mabdl99,
- author = {Andreas Franke and Michael Kohlhase},
- title = {System Description: {\sc MathWeb}, an Agent-Based Communication Layer
- for Distributed Automated Theorem Proving},
- crossref = {CADE99},
- pages = {217--221},
- url = {http://kwarc.info/kohlhase/papers/cade99.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{FraKoh:sdmaomkb00,
- author = {Andreas Franke and Michael Kohlhase},
- title = {System Description: {\sc MBase}, an Open Mathematical Knowledge Base},
- crossref = {CADE00},
- url = {http://kwarc.info/kohlhase/papers/cade00.pdf},
- pages = {455--459},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{GarKoh:cpid97,
- author = {Claire Gardent and Michael Kohlhase},
- title = {Computing parallelism in Discourse},
- crossref = {IJCAI97},
- pages = {1016--1021},
- url = {http://kwarc.info/kohlhase/papers/ijcai97.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{GarKoh:fahou96,
- author = {Claire Gardent and Michael Kohlhase},
- title = {Focus and Higher--Order Unification},
- booktitle = {Proceedings of the 16\textsuperscript{th} {International} {Conference} on {Computational}
- {Linguistics}},
- year = {1996},
- address = {Copenhagen},
- pages = {268--279},
- url = {http://kwarc.info/kohlhase/papers/coling96.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{GarKoh:hocuanls96,
- author = {Claire Gardent and Michael Kohlhase},
- title = {Higher--Order Coloured Unification and Natural Language Semantics},
- booktitle = {Proceedings of the 34\textsuperscript{th} Annual Meeting of the {Association} for
- {Computational}
- {Linguistics}},
- year = {1996},
- pages = {1--9},
- address = {Santa Cruz},
- publisher = {ACL},
- url = {http://kwarc.info/kohlhase/papers/acl96.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@ARTICLE{GarKohKon:hocuala99,
- author = {Claire Gardent and Michael Kohlhase and Karsten Konrad},
- title = {Higher-Order Colored Unification: A Linguistic Application},
- journal = {T{\'e}chniqe et Sciences Informatiques, special issue for JFPLC-UNIF'97},
- year = {1999},
- volume = {18},
- pages = {1--28},
- number = {2},
- url = {http://kwarc.info/kohlhase/papers/tsi.pdf},
- pubs = {mkohlhase}}
-
-@TECHREPORT{GarKohKon:hocuala97,
- author = {Claire Gardent and Michael Kohlhase and Karsten Konrad},
- title = {Higher--Order Coloured Unification: a linguistic application},
- institution = {University of the Saarland},
- year = {1997},
- type = {CLAUS Report},
- number = {97},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@TECHREPORT{GarKohKon:chou96,
- author = {Claire Gardent and Michael Kohlhase and van Leusen, Noor},
- title = {Corrections and Higher-Order Unification},
- institution = {University of the Saarland},
- year = {1996},
- type = {CLAUS Report},
- number = {77},
- address = {Saarbr{\"u}cken},
- pubs = {mkohlhase}}
-
-@TECHREPORT{GarKoh:hounls96,
- author = {Claire Gardent and Michael Kohlhase},
- title = {Higher--Order Coloured Unification and Natural Language Semantics},
- institution = {University of the Saarland},
- year = {1996},
- type = {CLAUS Report},
- number = {76},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@TECHREPORT{GarKoh:hfhou96,
- author = {Claire Gardent and Michael Kohlhase},
- title = {Focus and Higher--Order Coloured Unification},
- institution = {University of the Saarland},
- year = {1996},
- type = {CLAUS Report},
- number = {75},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{GarKohLeu:cahou96,
- author = {Claire Gardent and Michael Kohlhase and van Leusen, Noor},
- title = {Corrections and {Higher-Order Unification}},
- booktitle = {Proceedings of {KONVENS}'96},
- year = {1996},
- pages = {268--279},
- address = {Bielefeld, Germany},
- publisher = {De Gruyter},
- url = {http://kwarc.info/kohlhase/papers/konvens96.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@InCollection{BanKoh:mmlof07,
- author = {Grzegorz Bancerek and Michael Kohlhase},
- title = {Towards a {Mizar} {Mathematical} {Library} in {OMD}oc Format},
- pages = {265--275},
- url = {http://kwarc.info/kohlhase/papers/trybook.pdf},
- crossref = {MatZal:fip07},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{HeJuKoSo:aidms98,
- author = {Stefan Hess and Christoph Jung and Michael Kohlhase and Volker Sorge},
- title = {An Implementation of Distributed Mathematical Services},
- crossref = {CALCULEMUS98},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@TECHREPORT{HuangEtAl:SR-92-20,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase},
- title = {Methods --- The Basic Unit for Planning and Verifying Proofs},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1992},
- type = {SEKI-Report},
- number = {SR-92-20},
- address = {Saarbr{\"u}cken\GERMANY},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{HuKe:oapde94,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Erica
- Melis and Daniel Nesmith and J{\"o}rn Richts and J{\"o}rg Siekmann},
- title = {{$\Omega$-MKRP} A Proof Development Environment},
- year = {1994},
- pages = {788--792},
- crossref = {CADE94},
- url = {http://kwarc.info/kohlhase/papers/Omega94-CADE.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@TECHREPORT{HuKe:oapde92,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Erica
- Melis and Daniel Nesmith and J{\"o}rn Richts and J{\"o}rg Siekmann},
- title = { {$\Omega$-MKRP} -- a proof development environment},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1992},
- type = {Technical Report},
- number = {SR-92-22},
-pubs = {mkohlhase}}
-
-@MISC{HuKe94a,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Daniel
- Nesmith and J{\"o}rn Richts},
- title = { A Test for Evaluating the Practical Usefulness of Deduction Systems},
- howpublished = {Workshop ``Evaluation of Automated Theorem Proving Systems'' on
- CADE'94},
- year = {1994},
-pubs = {mkohlhase}}
-
-@ARTICLE{HutKoh:msihocu00,
- author = {Dieter Hutter and Michael Kohlhase},
- title = {Managing Structural Information by Higher-Order Colored Unification},
- journal = {Journal of Automated Reasoning},
- year = {2000},
- volume = {25},
- pages = {123--164},
- number = {2},
- url = {http://kwarc.info/kohlhase/papers/jar00.pdf},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{HutKoh:acvotlc97,
- author = {Dieter Hutter and Michael Kohlhase},
- title = {A Coloured Version of the $\lambda$-Calculus},
- crossref = {CADE97},
- pages = {291--305},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@TECHREPORT{KohSch:homvr95,
- author = {Michael Kohlhase and Ortwin Scheja},
- title = {Higher-Order Multi-Valued Resolution},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1995},
- type = {SEKI Report},
- number = {SR-95-04},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@TECHREPORT{HuaKerKoh:oma95,
- author = {Xiaorong Huang and Manfred Kerber and Michael Kohlhase and Erica Melis and Dan Nesmith and J{\"o}rn
- Richts and J{\"o}rg Siekmann},
- title = {Omega-MKRP, ein mathematisches Assistenzsystem},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1995},
- type = {SEKI Working Paper},
- number = {SWP-95-01},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@TECHREPORT{Kohlhase:msholbrp94,
- author = {Michael Kohlhase},
- title = {A Mechanization of Sorted Higher-Order Logic Based on the Resolution Principle},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1994},
- type = {SEKI Report},
- number = {SR-94-10},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@TECHREPORT{HuKo:acvotl95,
- author = {Dieter Hutter and Michael Kohlhase},
- title = {A Coloured Version of the $\lambda$-Calculus},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {1995},
- type = {Technical Report},
- number = {SR-95-05},
- address = {Saarbr{\"u}cken},
-pubs = {mkohlhase}}
-
-@TECHREPORT{JoKo93,
- author = {Patricia Johann and Michael Kohlhase},
- title = {Unification in an Extensional Lambda Calculus with Ordered Function
- Sorts and Constant Overloading},
- institution = {Universit{\"a}t des Saarlandes},
- year = {1993},
- type = {SEKI-Report},
- number = {SR-93-14},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KeKo94,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {A Mechanization of Strong {Kleene} Logic for Partial Functions},
- crossref = {CADE94},
- pages = {371--385},
- url = {http://kwarc.info/kohlhase/papers/KeKo94-CADE.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KeKo:arcfp96,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {A Resolution Calculus for Presuppositions},
- crossref = {ECAI96},
- pages = {375--379},
- url = {http://kwarc.info/kohlhase/papers/ecai96.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@TECHREPORT{KerberKohlhase97a,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {Reasoning without Believing: On the Mechanization of Presuppositions and Partiality},
- institution = {University of Birmingham, School of Computer Science},
- year = {1997},
- number = {CSRP-97-23},
- month = sep,
- email = {M.Kerber.ac.uk},
- file = {/1997/CSRP-97-23.ps.gz},
- url = {ftp://ftp.cs.bham.ac.uk/pub/tech-reports/1997/CSRP-97-23.ps.gz},
-pubs = {mkohlhase}}
-
-@ARTICLE{KeKo:atcfpf96,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {A Tableau Calculus for Partial Functions},
- journal = {Collegium Logicum: Annals of the Kurt-G{\"o}del-Society},
- publisher = {Springer Verlag},
- year = {1996},
- volume = {2},
- pages = {21--49},
- url = {http://kwarc.info/kohlhase/papers/kgs95.pdf},
-pubs = {mkohlhase}}
-
-@TECHREPORT{KeKo93a,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {A Mechanization of Strong {Kleene} Logic for Partial Functions},
- institution = {{Universit{\"a}t des Saarlandes, Saarbr{\"u}cken}},
- year = {1993},
- type = {SEKI-Report},
- number = {SR-93-20 (SFB)},
-pubs = {mkohlhase}}
-
-@ARTICLE{KeKoSo:icaipp98,
- author = {Manfred Kerber and Michael Kohlhase and Volker Sorge},
- title = {Integrating Computer Algebra Into Proof Planning},
- journal = {Journal of Automated Reasoning},
- year = {1998},
- volume = {21},
- pages = {327--355},
- number = {3},
- url = {http://kwarc.info/kohlhase/papers/jar98.pdf},
- pubs = {mkohlhase}}
-
-@TECHREPORT{KeKoSo96,
- author = {Manfred Kerber and Michael Kohlhase and Volker Sorge},
- title = {{An} {Integration} of {Mechanised} {Reasoning} and {Computer} {Algebra}
- that {Respects} {Explicit} {Proofs}},
- institution = {Fachbereich 14 Informatik, Universit{\"a}t des Saarlandes},
- year = {1996},
- type = {Seki Report},
- number = {SR-96-06},
- pages = {27},
- url = {http://jswww.cs.uni-sb.de/~sorge/publications/SR-96-06.ps.gz},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{Kohlhase:ophcie05,
- author = {Andrea Kohlhase},
- title = {{Overcoming Proprietary Hurdles: CPoint as Invasive Editor}},
- pages = {51--56},
- crossref = {OSEE2005},
- keywords={conference},
-pubs = {akohlhase}}
-
-@INPROCEEDINGS{Kohlhase:omdoc05,
- author = {Michael Kohlhase},
- title = {{OMDoc: Open Mathematical Documents}},
- pages = {137--143},
- crossref = {OSEE2005},
- keywords = {conference},
-pubs = {mkohlhase,projects/omdoc}}
-
-@InProceedings{Kohlhase:emPowerPoint,
- author = {Andrea Kohlhase},
- title = {{What if PowerPoint became emPowerPoint (through {CPoint})?}},
- booktitle = {Society for Information Technology and Teacher Education, 17\textsuperscript{th}
- International Conference SITE 2006},
- pages = {2934--2939},
- year = 2006,
- editor = {Caroline M. Crawford},
- organization = {SITE},
- publisher = {AACE},
- note = {Orlando (USA), 2006-03-20/24},
- keywords={conference},
-pubs = {akohlhase}}
-
-@article{JesKohSei:DMV04,
- title = {{eLearning}-, {eTeaching}- \& {eResearch}-Technologien -- Chancen und Potentiale f{\"u}r die Mathematik},
- author = {Sabina Jeschke and Michael Kohlhase and Ruedi Seiler},
- journal = {Mitteilungen der DMV},
- volume = {12},
- number = {2},
- url = {http://kwarc.info/kohlhase/papers/DMV_Nachrichten_04-2004.pdf},
- pubs = {mkohlhase}}
-
-@InProceedings{Kohlhase:MediaOrMedeaSociety,
- author = {Andrea Kohlhase},
- title = {{Media or Medea Society? Learner and Learning Technology as Full Partners}},
- booktitle = {ICDML2006},
- pages = {6--12},
- year = 2006,
- month = mar,
- editor = {Bundit Thipakorn},
- volume = 1,
- publisher = {Tana Press},
- note = {Bangkok (Thailand), 2006-03-13/14},
- keywords={conference},
-pubs = {akohlhase}}
-
-@InProceedings{Kohlhase:CPointMUI,
- author = {Andrea Kohlhase},
- title = {{CPoint}'s Mathematical User Interface},
- crossref={MathUI04},
- url = {http://dimeb.informatik.uni-bremen.de/documents/DeLFI2006CPointContentAuthoringForELectures.pdf},
- keywords={workshop},
-pubs = {akohlhase}}
-
-@InProceedings{Kohlhase:CPointWiederverwendbarerContent,
- author = {Andrea Kohlhase},
- title = {{CPoint -- ein invasiver, semantischer Editor f{\"u}r wiederverwendaren Content
- in {{MS PowerPoint}}}},
- booktitle = {{Proceedings der Pre-Conference Workshops der 4.e-Learning Fachtagung
- Informatik DeLFI 2006}},
- crossref = {Pre-ConferenceWorkshopsDeLFI2006},
- pages = {35--42},
- keywords={workshop},
-pubs = {akohlhase}}
-
-@InProceedings{Kohlhase:UserAsPrisoner,
- author = {Andrea Kohlhase},
- title = {{The User as Prisoner: How the Dilemma Might Dissolve}},
- crossref = {LOKMOL2006},
- booktitle = {2\textsuperscript{nd} Workshop on Learner Oriented Knowledge Management \& KM Oriented
- e-Learning},
- pages = {26--31},
- url = {http://dimeb.informatik.uni-bremen.de/documents/LOKMOL2006_UserAsPrisoner.pdf},
- keywords={workshop},
-pubs = {akohlhase}}
-
-@INPROCEEDINGS{Kohlhase:horwc93,
- author = {Michael Kohlhase},
- title = {Higher-Order Resolution with Combinators},
- booktitle = {Informal Proceedings fo the Annual Meeting of ``{GI}-{Fachgruppe}
- `{Deduktionssysteme}' '' in {Kaiserslautern}, 1993},
- year = {1993},
- editor = {J. Avenhaus and J. Denzinger},
- number = {SR-93-11 (SFB)},
- series = {SEKI-Report},
- pages = {15},
-pubs = {mkohlhase}}
-
-@INCOLLECTION{Kohlhase92,
- author = {Michael Kohlhase},
- title = {{Beweissysteme mit Logiken h{\"o}herer Stufe}},
- booktitle = {{Deduktionssysteme, Automatisierung des Logischen Denkens}},
- publisher = {R. Oldenbourg Verlag},
- year = {1992},
- editor = {Karl Hans Bl{\"a}sius and Hans-J{\"u}rgen B{\"u}rckert},
- chapter = {6},
- pages = {213--238},
- edition = {2},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{Kohlhase:mgfdrt00,
- author = {Michael Kohlhase},
- title = {Model Generation for Discourse Representation Theory},
- crossref = {ECAI00},
- pages = {441--445},
- url = {http://kwarc.info/kohlhase/papers/ecai00.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@InProceedings{AKo:SPoKMaEL,
- author = {Andrea Kohlhase},
- title = {{Semantic Perspectives on Knowledge Management and E-Learning}},
- pages = {281--288},
- crossref = {LWA07},
- keywords={conference},
-pubs = {akohlhase}}
-
-@article{BosKoh:icos-editorial03,
- author = {Johan Bos and Michael Kohlhase},
- title = {Editorial},
- journal = {Logic Journal of the IGPL},
- volume = {11},
- number = {4},
- year = {2003},
- pages = {381-384},
- pubs = {mkohlhase}}
-
-@InProceedings{MuKo:pr07,
- author = {Christine M{\"u}ller and Michael Kohlhase},
- title = {panta rhei},
- pages = {318--323},
- crossref = {LWA07},
- pubs = {mkohlhase,cmueller}}
-
-@InProceedings{KoMaMu:MViDCaNS,
- author = {Michael Kohlhase and Achim Mahnke and Christine M{\"u}ller},
- title = {Managing Variants in Document Content and Narrative Structures},
- pages = {324--229},
- crossref = {LWA07},
- pubs = {mkohlhase,cmueller}}
-
-@article{RabKoh:WSMSML13,
- author = {Florian Rabe and Michael Kohlhase},
- title = {A Scalable Module System},
- journal = {Information \& Computation},
- url = {http://kwarc.info/frabe/Research/mmt.pdf},
- year="2013",
- number = "230",
- volume="0",
- pages = "1--54",
- pubs = {mkohlhase,frabe,projects/omdoc}}
-
-@TechReport{RabKoh:xbsm12:web,crossref={RabKoh:xbsm12},
- howpublished = {OMDoc Report~\url{https://svn.kwarc.info/repos/frabe/Papers/omdoc-spec/xmlsyntax/report.pdf}}}
-@TechReport{RabKoh:xbsm12,
- author = {Florian Rabe and Michael Kohlhase},
- title = {An {XML}-based Syntax for {MMT}},
- url = {https://svn.kwarc.info/repos/frabe/Papers/omdoc-spec/xmlsyntax/report.pdf},
- year = 2012,
- pubs = {mkohlhase,frabe,projects/omdoc}}
-
-@online{ODKproposal:on,
- label = {ODK},
- url = {https://github.com/OpenDreamKit/OpenDreamKit/raw/master/Proposal/proposal-www.pdf},
- title = {Open Digital Research Environment Toolkit for the Advancement of Mathematics},
- urldate = {2015-09-01},
- type = {Project Proposal},
- pubs = {mkohlhase}}
-
-
-@Unpublished{Rabe:ttbor12,
- author = {Florian Rabe},
- title = {A Type Theory Based on Reflection},
- note = {Manuscript},
- url = {https://svn.kwarc.info/repos/frabe/Papers/ThyObj/paper.pdf},
- year=2012,
- pubs = {frabe,projects/omdoc}}
-
-@InProceedings{WaMu:TCoPSfIMA,
- author = {Marc Wagner and Christine M{\"u}ller},
- title = {{Towards Community of Practice Support for Interactive Mathematical Authoring}},
- crossref = {SCOOP07},
- keywords = {lamapunbibs},
- pubs={cmueller}}
-
-@InProceedings{CM:TtIaSosCoP07,
- author = {Christine M{\"u}ller},
- title = {{Towards the Identification and Support of Scientific Communities of
- Practice}},
- crossref = {SCOOP07},
- pubs={cmueller}}
-
-@InProceedings{CM:PoEIaSSCoPbosmosdawt,
- author = {Christine M{\"u}ller},
- title = {{Presentation on Modeling Scientific Communities of Practice based on Semantic
- Markup of Scientific Documents and Web2.0. Technologies}},
- crossref = {MC07},
- pubs={cmueller}}
-
-@InProceedings{Lange:swmkm-ui07,
- author = {Christoph Lange},
- title = {{SWiM} -- A Semantic Wiki for Mathematical Knowledge Management},
- crossref = {MathUI07},
- pubs={clange,projects/swim}}
-
-@InProceedings{KohMueMue:dfncimk07,
- author = {Michael Kohlhase and Christine M{\"u}ller and Normen M{\"u}ller},
- title = {Documents with flexible Notation Contexts as Interfaces to Mathematical
- Knowledge},
- crossref = {MathUI07},
- pubs = {mkohlhase,cmueller,nmueller}}
-
-@InProceedings{KohLanRab:pmcfe07,
- author = {Michael Kohlhase and Christoph Lange and Florian Rabe},
- title = {Presenting Mathematical Content With Flexible Elisions},
- crossref = {OpenJEM07},
- keywords = {clange-phd},
- pubs = {mkohlhase,clange,projects/swim,frabe,projects/omdoc}}
-
-@InProceedings{Kohlhase04:stex,
- author = {Michael Kohlhase},
- title = {Semantic Markup for {\TeX/\LaTeX}},
- crossref = {MathUI04},
- pubs = {mkohlhase}}
-
-@MISC{Kohlhase:omfmd01,
- author = {Michael Kohlhase},
- title = {{OMDoc}: An Open Markup Format for Mathematical Documents (Version 1.1)},
- year = {2001},
- url = {http://omdoc.org/pubs/omdoc1.1.pdf},
- type = {Open Specification},
-pubs = {mkohlhase,projects/omdoc}}
-
-@online{Kohlhase:corfl00,
- author = {Michael Kohlhase},
- title = {Creating {\sc OMDoc} representations from {\LaTeX}},
- type = {Internet Draft},
- url = {http://omdoc.org/pubs},
- year = {2000}}
-
-@online{Kohlhase:ftga13,
- author = {Michael Kohlhase},
- title = {A Flexiformal Theory Graph for Arithmetics},
- type = {Theory Graph},
- url = {https://tnt.kwarc.info/repos/stc/oaff/flexarith/},
- urldate = {2013-05-17}}
-
-@INPROCEEDINGS{Kohlhase:otisadt00,
- author = {Michael Kohlhase},
- title = {{\sc OMDoc}: Towards an Internet Standard for the Administration,
- Distribution and Teaching of mathematical Knowledge},
- crossref = {AISC00},
- pages = {32--52},
- url = {http://kwarc.info/kohlhase/papers/aisc.pdf},
- keywords = {conference},
- pubs = {mkohlhase,projects/omdoc}}
-
-@TECHREPORT{Kohlhase:otormd00,
- author = {Michael Kohlhase},
- title = {{\sc OMDoc}: Towards an {\sc OpenMath} Representation of Mathematical
- Documents},
- institution = {Fachbereich Informatik, Universit{\"a}t des Saarlandes},
- year = {2000},
- type = {Seki Report},
- number = {SR-00-02},
- url = {http://www.ags.uni-sb.de/~cp/SEKI/2003/SR-2003-03/pdf.pdf},
- pubs = {mkohlhase,projects/omdoc}}
-
-@ARTICLE{Kohlhase:sat96,
- author = {Michael Kohlhase},
- title = {{Sorten} f{\"u}r das automatische {Beweisen} h{\"o}herer {Stufe}},
- journal = {K{\"u}nstliche {Intelligenz}},
- year = {1996},
- publisher = {Scientec Publishing},
- pubs = {mkohlhase}}
-
-@techreport{Kohlhase:hotwc96,
- author = {Michael Kohlhase},
- title = {Higher-Order Tableaux with Combinators},
- institution = {Dept. of Computer Science, Universit{\"a}t des Saarlandes, Germany},
- year = {1996},
- type = {SEKI Report},
- number = {SR-96-01},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{Kohlhase:hot95,
- author = {Michael Kohlhase},
- title = {Higher-Order Tableaux},
- booktitle = {Proceedings of the Tableau Workshop},
- year = {1995},
- pages = {294--309},
- address = {Koblenz, Germany},
- url = {http://kwarc.info/kohlhase/papers/Kohlhase95-Tableau.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-
-@PHDTHESIS{Kohlhase:amosho94,
- author = {Michael Kohlhase},
- title = {A Mechanization of Sorted Higher-Order Logic Based on the Resolution
- Principle},
- school = {Universit{\"a}t des Saarlandes},
- year = {1994},
- url = {http://kwarc.info/kohlhase/papers/diss.pdf},
- pubs = {mkohlhase}}
-
-@TECHREPORT{Kohlhase:hoosr94,
- author = {Michael Kohlhase},
- title = {Higher-Order Order-Sorted Resolution},
- institution = {Fachbereich Informatik, Universit{\"a}t des Sarrlandes},
- year = {1994},
- type = {Seki Report},
- number = {SR-94-1},
-pubs = {mkohlhase}}
-
-@TECHREPORT{Kohlhase:aupfeh93,
- author = {Michael Kohlhase},
- title = {A Unifying Principle for Extensional Higher-Order Logic},
- institution = {Dept. of Mathematics, Carnegie Mellon University},
- year = {1993},
- type = {Technical Report},
- number = {93--153},
-pubs = {mkohlhase}}
-
-@TECHREPORT{Kohlhase91,
- author = {Michael Kohlhase},
- title = {Order-Sorted Type Theory {I}: Unification},
- institution = {{Universit{\"a}t des Saarlandes, Saarbr{\"u}cken}},
- year = {1991},
- type = {SEKI-Report},
- number = {SR-91-18 (SFB)},
-pubs = {mkohlhase}}
-
-@MASTERSTHESIS{Kohlhase89,
- author = {Michael Kohlhase},
- title = {{Eine hinreichende Bedingung f{\"u}r die starke, homologische Minimalit{\"a}t
- von kompakten, ${\cal F}$-extremalen Hyperfl{\"a}chen in glatten Mannigfaltigkeiten}},
- school = {Universit{\"a}t Bonn},
- year = 1989,
- url = {http://kwarc.info/kohlhase/papers/master.pdf},
-pubs = {mkohlhase}}
-
-@article{Kohlhase:ulsmf08,
- author = {Michael Kohlhase},
- title = {Using {\LaTeX} as a Semantic Markup Format},
- journal = {Mathematics in Computer Science},
- publisher = {Birkh{\"a}user},
- url = {https://kwarc.info/kohlhase/papers/mcs08-stex.pdf},
- year = {2008},
- volume = {2},
- number = {2},
- pages = {279--304},
- keywords = {lamapunbibs},
- pubs = {mkohlhase}}
-
-@MISC{KohCar:ggm03,
- author = {Michael Kohlhase and David Carlisle},
- title = {Guidelines for Graphics in MathML 2},
- howpublished = {W3C Note},
- keywords = {standard},
- pubtype = {standard},
- year = {2003},
- url = {http://www.w3.org/Math/Documents/Notes/graphics.xml},
- pubs = {mkohlhase}}
-
-@MISC{KohDev:bvm03,
- author = {Michael Kohlhase and Stan Devitt},
- title = {Bound Variables in MathML},
- howpublished = {W3C Working Group Note},
- year = {2003},
- url = {http://www.w3.org/TR/mathml-bvar/},
- pubtype = {standard},
- keywords = {standard},
- pubs = {mkohlhase}}
-
-@Misc{DevKoh:stm03,
- author = {Michael Kohlhase and Stan Devitt},
- title = {Structured Types in MathML 2.0},
- howpublished = {W3C Note},
- url = {http://www.w3.org/TR/mathml-types/},
- year = 2003,
- pubtype = {standard},
- keywords = {standard},
- pubs = {mkohlhase}}
-
-@ARTICLE{KohKol:ramgpm03,
- author = {Michael Kohlhase and Alexander Koller},
- title = {Resource-Adaptive Model Generation as a Performance Model},
- year = {2003},
- volume = {11},
- pages = {435--456},
- number = {4},
- journal = {Logic Journal of the IGPL},
- url = {http://jigpal.oxfordjournals.org/cgi/content/abstract/11/4/435},
- keywords = {lamapunbibs},
- pubs = {mkohlhase}}
-
-@TECHREPORT{KohKon:mgfdrt99,
- author = {Michael Kohlhase and Karsten Konrad},
- title = {Model Generation for Discourse Representation Theory},
- institution = {Dept. of Computer Science, Universit{\"a}t des Saarlandes, Germany},
- year = {1999},
- type = {SEKI-Report},
- number = {SR-99-01},
- keywords = {lamapunbibs},
-pubs = {mkohlhase}}
-
-@TECHREPORT{KohKon:hoatpnls98,
- author = {Michael Kohlhase and Karsten Konrad},
- title = {Higher-Order Automated Theorem Proving for Natural Language Semantics},
- institution = {Fachbereich Informatik, Universit{\"a}t Saarbr{\"u}cken},
- year = {1998},
- type = {Seki Report},
- number = {SR-98-04},
- hardcopy = {no},
- pages = {5},
- url = {http://www.ags.uni-sb.de/~konrad/papers/hotnl.ps.gz},
- keywords = {lamapunbibs},
-pubs = {mkohlhase}}
-
-@TECHREPORT{KohKus:clausdlc97,
- title = {Dynamic Lambda Calculus},
- publisher = {{CLAUS}-Report~91, Universit{\"a}t des {Saarlandes}},
- year = {1997},
- author = {Michael Kohlhase and Susanna Kuschert},
- institution = {Computer Linguistics, Saarland University},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohKus:dlc97,
- author = {Michael Kohlhase and Susanna Kuschert},
- title = {Dynamic Lambda Calculus},
- booktitle = {Proceedings of the 5\textsuperscript{th} Meeting on Mathematics of Language -- MOL5},
- year = {1997},
- pages = {85--92},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KohKusPin:attsfl96,
- author = {Michael Kohlhase and Susanna Kuschert and Manfred Pinkal},
- title = {A type-theoretic semantics for $\lambda$-{DRT}},
- booktitle = {Proceedings of the 10\textsuperscript{th} {Amsterdam} {Colloquium}},
- year = {1996},
- editor = {P. Dekker and M. Stokhof},
- pages = {479--498},
- address = {Amsterdam},
- organization = {ILLC},
- url = {http://kwarc.info/kohlhase/papers/amscoll95.pdf},
- keywords = {conference,lamapunbibs},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{KoPf:uialcw93,
- author = {Michael Kohlhase and Frank Pfenning},
- title = {Unification in a $\lambda$-Calculus with Intersection Types},
- booktitle = {Proceedings of the {International} {Logic} {Programming} {Symposion}
- {ILPS}'93},
- year = {1993},
- editor = {Dale Miller},
- pages = {488--505},
- publisher = {MIT Press},
- url = {http://kwarc.info/kohlhase/papers/ilps93.pdf},
- keywords = {conference},
-pubs = {mkohlhase}}
-
-@ARTICLE{KerKoh:rwb11,
- author = {Manfred Kerber and Michael Kohlhase},
- title = {Reasoning without Believing: On the mechanization of Presuppositions and
- partiality},
- journal = {Journal of Applied Non-Classical Logics},
- year = {2012},
- volume = {22},
- number = {4},
- pages = {295--317},
- doi = {10.1080/11663081.2012.705962},
- keywords = {lamapunbibs},
- pubs = {mkohlhase}}
-
-@InProceedings{WolGriKoh:udc11,
- author = {Magdalena Wolska and Mihai Grigore and Michael Kohlhase},
- title = {Using discourse context to interpret object-denoting mathematical expressions},
- url = {https://svn.kwarc.info/repos/lamapun/doc/DML11/paper.pdf},
- crossref = {DML11},
- pages = {85--101},
- keywords={lamapunbibs},
- pubs = {mkohlhase,projects/lamapun}}
-
-@ARTICLE{KohSch99:homvr,
- author = {Michael Kohlhase and Ortwin Scheja},
- title = {Higher-Order Multi-Valued Resolution},
- journal = {Journal of Applied Non-Classical Logics},
- year = {1999},
- volume = {9},
- url = {http://kwarc.info/kohlhase/papers/jancl99.pdf},
- keywords = {lamapunbibs},
- pubs = {mkohlhase}}
-
-@techreport{KohSim:inid02,
- author = {Michael Kohlhase and Mandy Simons},
- title = {Interpreting Negatives in Discourse},
- institution = {Philosophy, Carnegie Mellon University},
- year = {2002},
- number = {CMU-PHIL-127},
- url = {http://www.hss.cmu.edu/philosophy/techreports/127_Kohlhase.pdf},
- keywords = {lamapunbibs},
-pubs = {mkohlhase}}
-
-@INPROCEEDINGS{PinKoh:flfdt00,
- author = {Manfred Pinkal and Michael Kohlhase},
- title = {Feature Logic for Dotted Types: A Formalism for Complex Word Meanings},
- booktitle = {Proceedings of the 38\textsuperscript{th} Annual Meeting of the Association for Computational
- Linguistics},
- year = {2000},
- address = {Hongkong},
- pages = {521--528},
- url = {http://kwarc.info/kohlhase/papers/acl00.pdf},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@misc{Giceva:WSActiveMathDoc09,
- author = {Jana Giceva},
- title = {Integrating Web Services into Active Mathematical Documents},
- school = {Computer Science, Jacobs University, Bremen},
- year = 2009,
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/bsc-2009/jgiceva.pdf},
- pubs = {jgiceva,projects/omdoc},
- type = {Bachelor's Thesis}}
-
-@misc{Broecheler:tmsw07,
- author = {Matthias Br{\"o}cheler},
- title = {A Mathematical Semantic Web},
- school = {Computer Science, Jacobs University, Bremen},
- year = 2007,
- url = {http://www.eecs.jacobs-university.de/archive/bsc-2007/broecheler.pdf},
- pubs = {mbroecheler,projects/omdoc},
- type = {Bachelor's Thesis}}
-
-@INPROCEEDINGS{LOUI98-UITP,
- author = {J{\"o}rg Siekmann and Stephan Hess and Christoph BenzM{\"u}ller and Lassaad
- Cheikhrouhou and Detlef Fehrer and Armin Fiedler and Helmut Horacek
- and Michael Kohlhase and Karsten Konrad and Andreas Meier and Erica
- Melis and Volker Sorge},
- title = {{LOUI}: A Distributed Graphical User Interface for the Interactive
- Proof System {OMEGA}},
- booktitle = {Proceedings of the International Workshop ``User Interfaces for Theorem
- Provers 1998'' (UITP'98)},
- year = {1998},
- address = {Eindhoven, Netherlands},
- keywords = {!OMEGA!,ARTICLE,SFB},
- url = {http://www.ags.uni-sb.de/~omega/pub/postscript/LOUI98-UITP.ps.gz},
-pubs = {mkohlhase}}
-
-@ARTICLE{SieHes:loui99,
- author = {J{\"o}rg Siekmann and Stephan M. Hess and Christoph Benzm{\"u}ller
- and Lassaad Cheikhrouhou and Armin Fiedler and Helmut Horacek and
- Michael Kohlhase and Karsten Konrad and Andreas Meier and Erica Melis
- and Martin Pollet and Volker Sorge},
- title = {{L$\Omega$UI}: Lovely {$\Omega$\sc mega} User Interface},
- journal = {Formal Aspects of Computing},
- year = {1999},
- volume = {3},
- pages = {326--342},
- number = {11},
- url = {http://kwarc.info/kohlhase/papers/foascomp.pdf},
- pubs = {mkohlhase}}
-
-@INPROCEEDINGS{SieBen:acgap00,
- author = {J{\"o}rg Siekmann and Christoph BenzM{\"u}ller and Lassaad Cheikhrouhou
- and Armin Fiedler and Andreas Franke and Helmut Horacek and Michael
- Kohlhase and Andreas Meier and Erica Melis and Martin Pollet and
- Volker Sorge and Carsten Ullrich and J{\"u}rgen Zimmer},
- title = {Adaptive Course Generation and Presentation},
- booktitle = {Proceedings of {ITS-2000} workshop on Adaptive and Intelligent Web-Based
- Education Systems},
- year = {2000},
- editor = {P. Brusilovski and Chrisoph Peylo},
- address = {Montreal},
-pubs = {mkohlhase}}
-
-@ARTICLE{SieKohMel:oema98,
- author = {J{\"o}rg Siekmann and Michael Kohlhase and Erica Melis},
- title = {{$\Omega${\sc mega}}, Ein mathematisches {Assistenzsystem}},
- journal = {Kognitionswissenschaft},
- year = {1998},
- volume = {7},
- pages = {101--105},
- number = {3},
- url = {http://kwarc.info/kohlhase/papers/SiKoMe98-Kognition.pdf},
-pubs = {mkohlhase}}
-
-@InProceedings{ZimKoh:tmsbdmr02,
- author = {J{\"u}rgen Zimmer and Michael Kohlhase},
- title = {System {Description}: {The} {MathWeb} Software Bus for Distributed Mathematical Reasoning},
- pages = {247--252},
- year = 2002,
- url = {http://kwarc.info/kohlhase/papers/cade02.pdf},
- crossref = {CADE02},
- pubs = {mkohlhase}}
-
-@online{planetmathredux:on,crossref={planetmathredux:base},urldate={2011-09-08}}
-@MISC{planetmathredux,crossref={planetmathredux:base},
- howpublished = {\url{http://planetmath.mathweb.org}},
- note = {\seen{\January} 2011}}
-@MISC{planetmathredux:base,
- title = {{PlanetMath Redux}.org -- Math for the people, by the people},
- key = {PlanetMathRedux.org},
- label = {PlanetMathRedux.org},
- url = {http://planetmath.mathweb.org}}
-
-@online{pantarheiredux:on,crossref={pantarheiredux:base},urldate={2010-09-30}}
-@MISC{pantarheiredux,crossref={pantarheiredux:base},
- howpublished = {\url{http://planetary.mathweb.org/wiki/PantaRheiRedux}},
- note = {\seen{\September} 2010}}
-@MISC{pantarheiredux:base,
- title = {{PlanetMath Redux}.org -- Math for the people, by the people},
- key = {Pantarheiredux.org},
- label = {Pantarheiredux.org},
- url = {http://planetary.mathweb.org/wiki/PantaRheiRedux},
- keywords = {projects/planetary}}
-
-@MISC{MathWebSearch:Web,crossref={URL:MathWebSearch:base},
- howpublished = {\url{https://trac.mathweb.org/MWS/}},
- note = {\seen Jan. 2011}}
-@online{MathWebSearch:online,crossref={URL:MathWebSearch:base},urldate = {2011-01-08}}
-@MISC{URL:MathWebSearch,crossref={URL:MathWebSearch:base},
- howpublished = {\url{https://trac.mathweb.org/MWS/}},
- note = {\seen Jan. 2011}}
-@MISC{URL:MathWebSearch:base,
- title = {{Math} {Web} {Search}},
- url = {https://trac.mathweb.org/MWS/},
- key = {MathWebSearch},
- label = {MWS}}
-
-@techreport{Kohlhase:pplp:ctan,crossref={Kohlhase:pplp:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/proposal/base/proposal.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:pplp:svn,crossref={Kohlhase:pplp:base},
- url = {http://github.com/KWARC/LaTeX-proposal/base/proposal.pdf}}
-@techreport{Kohlhase:pplp:base,
- author = {Michael Kohlhase},
- title = {Preparing Proposals in {\LaTeX} with {\tt{proposal.cls}}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:pdrp:ctan,crossref={Kohlhase:pdrp:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/proposal/dfg/dfgproposal.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:pdrp:svn,crossref={Kohlhase:pdrp:base},
- url = {http://github.com/KWARC/LaTeX-proposal/dfg/dfgproposal.pdf}}
-@techreport{Kohlhase:pdrp:base,
- author = {Michael Kohlhase},
- title = {Preparing DFG Proposals and Reports in {\LaTeX} with {\texttt{dfgproposal.cls}}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:pfepr:ctan,crossref={Kohlhase:pfepr:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/proposal/eu/euproposal.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:pfepr:svn,crossref={Kohlhase:pfepr:base},
- url = {http://github.com/KWARC/LaTeX-proposal/eu/euproposal.pdf}}
-@techreport{Kohlhase:pfepr:base,
- author = {Michael Kohlhase},
- title = {Preparing FP7 EU Proposals and Reports in {\LaTeX} with {\texttt{euproposal.cls}}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:ed:ctan,crossref={Kohlhase:ed:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- CHANGEurl = {http://www.ctan.org/get/macros/latex/contrib/ed/ed.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:ed:svn,crossref={Kohlhase:ed:base},
- url = {https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/ed/ed.pdf}}
-@techreport{Kohlhase:ed:base,
- author = {Michael Kohlhase},
- title = {Editorial Notes for {\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{KohAmb:smmssl:ctan,crossref={KohAmb:smmssl:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://www.ctan.org/get/macros/latex/contrib/stex/modules/modules.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{KohAmb:smmssl:svn,crossref={KohAmb:smmssl:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/modules/modules.pdf}}
-@techreport{KohAmb:smmssl:base,
- author = {Michael Kohlhase and Deyan Ginev and Rares Ambrus},
- title = {{\texttt{modules.sty}}: Semantic Macros and Module Scoping in {sTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{KohGin:smss:ctan,crossref={KohGin:smss:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://www.ctan.org/get/macros/latex/contrib/stex/smultiling/smultiling.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{KohGin:smss:svn,crossref={KohGin:smss:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/smultiling/smultiling.pdf}}
-@techreport{KohGin:smss:base,
- author = {Michael Kohlhase and Deyan Ginev},
- title = {{\texttt{smultiling.sty}}: Multilinguality Support for {sTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:ipsmsl:ctan,crossref={Kohlhase:ipsmsl:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- pubs = {mkohlhase,dginev,projects/stex},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/presentation/presentation.pdf}}
-@techreport{Kohlhase:ipsmsl:svn,crossref={Kohlhase:ipsmsl:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/presentation/presentation.pdf}}
-@techreport{Kohlhase:ipsmsl:base,
- author = {Michael Kohlhase and Deyan Ginev},
- title = {\texttt{presentation.sty}: An Infrastructure for Presenting Semantic Macros in {sTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:cmath:ctan,crossref={Kohlhase:cmath:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/cmath/cmath.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:cmath:svn,crossref={Kohlhase:cmath:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/cmath/cmath.pdf}}
-@techreport{Kohlhase:cmath:base,
- author = {Michael Kohlhase},
- title = {{\texttt{cmath.sty}}: An Infrastructure for building Inline Content Math in
- {sTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear,
- url = {https://github.com/KWARC/sTeX/raw/master/sty/cmath/cmath.pdf}}
-
-
-@techreport{Kohlhase:smp:ctan,crossref={Kohlhase:smp:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/sproof/sproof.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:smp:svn,crossref={Kohlhase:smp:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/sproof/sproof.pdf}}
-@techreport{Kohlhase:smp:base,
- author = {Michael Kohlhase},
- title = {\texttt{sproof.sty}: Structural Markup for Proofs},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear,
- url = {https://github.com/KWARC/sTeX/raw/master/sty/sproof/sproof.pdf}}
-
-@techreport{Kohlhase:mikoslides:ctan,crossref={Kohlhase:mikoslides:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/mikoslides/mikoslides.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:mikoslides:svn,crossref={Kohlhase:mikoslides:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/mikoslides/mikoslides.pdf}}
-@techreport{Kohlhase:mikoslides:base,
- author = {Michael Kohlhase},
- title = {Slides and Course Notes},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear,
- url = {https://github.com/KWARC/sTeX/raw/master/sty/mikoslides/mikoslides.pdf}}
-
-@techreport{Kohlhase:reqdoc:ctan,crossref={Kohlhase:reqdoc:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/reqdoc/reqdoc.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:reqdoc:svn,
- url = {https://github.com/KWARC/sTeX/raw/master/sty/reqdoc/reqdoc.pdf}}
-@techreport{Kohlhase:reqdoc:base,
- author = {Michael Kohlhase},
- title = {{\texttt{reqdoc.sty}}: Semantic Markup for Requirements Specification Documents},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:physml:ctan,crossref={Kohlhase:physml:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/physml/physml.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:physml:svn,crossref={Kohlhase:physml:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/physml/physml.pdf}}
-@techreport{Kohlhase:physml:base,
- author = {Michael Kohlhase},
- title = {\texttt{physml.sty}: An Infrastructure for Marking Up {PhysML} in {\TeX/\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:dcm:ctan,crossref={Kohlhase:dcm:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/dcm/dcm.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:dcm:svn,crossref={Kohlhase:dcm:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/stex/dcm/dcm.pdf}}
-@techreport{Kohlhase:dcm:base,
- author = {Michael Kohlhase},
- title = {{\texttt{dcm.sty}}: An Infrastructure for marking up {Dublin Core} Metadata in {\LaTeX} documents},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:workaddress:ctan,crossref={Kohlhase:workaddress:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/workaddress/workaddress.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:workaddress:svn,crossref={Kohlhase:workaddress:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/stex/workaddress/workaddress.pdf}}
-@techreport{Kohlhase:workaddress:base,
- author = {Michael Kohlhase},
- title = {{\texttt{workaddress.sty}}: An Infrastructure for marking up {Dublin Core} Metadata in {\LaTeX} documents},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:hwexam:ctan,crossref={Kohlhase:hwexam:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/hwexam/hwexam.pdf},
- pubs = {mkohlhase,projects/stex}}
-@misc{Kohlhase:hwexam*,crossref={Kohlhase:hwexam:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/hwexam/hwexam.pdf}}
-@techreport{Kohlhase:hwexam:base,
- author = {Michael Kohlhase},
- title = {\texttt{hwexam.sty/cls}: An Infrastructure for formatting Assignments and
- Exams},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:problem:ctan,crossref={Kohlhase:problem:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/problem/problem.pdf},
- pubs = {mkohlhase,projects/stex}}
-@misc{Kohlhase:problem*,crossref={Kohlhase:problem:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/problem/problem.pdf}}
-@techreport{Kohlhase:problem:base,
- author = {Michael Kohlhase},
- title = {\texttt{problem.sty}: An Infrastructure for formatting Problems},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:sref:ctan,crossref={Kohlhase:sref:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/sref/sref.pdf},
- pubs = {mkohlhase,projects/stex}}
-@misc{Kohlhase:sref*,crossref={Kohlhase:sref:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/sref/sref.pdf}}
-@techreport{Kohlhase:sref:base,
- author = {Michael Kohlhase},
- title = {\texttt{sref.sty}: Semantic Crossreferencing in {\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:metakeys:ctan,crossref={Kohlhase:metakeys:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/metakeys/metakeys.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:metakeys:svn,crossref={Kohlhase:metakeys:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/metakeys/metakeys.pdf}}
-@techreport{Kohlhase:metakeys:base,
- author = {Michael Kohlhase},
- title = {\texttt{metakeys.sty}: A generic framework for extensible Metadata in {\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:rdfmeta:ctan,crossref = {Kohlhase:rdfmeta:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/rdfmeta/rdfmeta.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:rdfmeta:svn,crossref = {Kohlhase:rdfmeta:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/rdfmeta/rdfmeta.pdf}}
-@techreport{Kohlhase:rdfmeta:base,
- author = {Michael Kohlhase},
- title = {{RDFa} Metadata in {\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:owl2onto:ctan,crossref = {Kohlhase:owl2onto:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/owl2onto/owl2onto.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:owl2onto:svn,crossref = {Kohlhase:owl2onto:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/owl2onto/owl2onto.pdf}}
-@techreport{Kohlhase:owl2onto:base,
- author = {Michael Kohlhase},
- title = {\texttt{owl2onto.cls}: Marking up {OWL2} Ontologies in {sTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:smms:ctan,crossref={Kohlhase:smms:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/statements/statements.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:smms:svn,crossref={Kohlhase:smms:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/statements/statements.pdf}}
-@techreport{Kohlhase:smms:base,
- author = {Michael Kohlhase},
- title = {\texttt{statements.sty}: Structural Markup for Mathematical Statements},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:tbscml:ctan,crossref={Kohlhase:tbscml:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/cmathml/cmathml.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:tbscml:svn,crossref={Kohlhase:tbscml:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/cmathml/cmathml.pdf}}
-@misc{Kohlhase:tbscml:base,
- author = {Michael Kohlhase},
- title = {\texttt{cmathml.sty}: A {\TeX/\LaTeX}-based Syntax for Content MathML},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-
-@techreport{Kohlhase:clbscm:ctan,crossref={Kohlhase:clbscm:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/cnx/cnx.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:clbscm:svn,crossref={Kohlhase:clbscm:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/cnx/cnx.pdf}}
-@techreport{Kohlhase:clbscm:base,
- author = {Michael Kohlhase},
- title = {{CNX{\LaTeX}}: A {\LaTeX}-based Syntax for {Connexions} Modules},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:smomdl:ctan,crossref={Kohlhase:smomdl:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/omdoc/omdoc.pdf},
- pubs = {mkohlhase,projects/stex,projects/omdoc}}
-@techreport{Kohlhase:smomdl*:svn,crossref={Kohlhase:smomdl:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/omdoc/omdoc.pdf}}
-@techreport{Kohlhase:smomdl:base,
- author = {Michael Kohlhase},
- title = {\texttt{omdoc.sty/cls}: Semantic Markup for Open Mathematical Documents in {\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:smmtf:ctan,crossref={Kohlhase:smmtf:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/omtext/omtext.pdf},
- pubs = {mkohlhase,projects/stex,projects/omdoc}}
-@techreport{Kohlhase:smmtf*:svn,crossref={Kohlhase:smmtf:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/omtext/omtext.pdf}}
-@techreport{Kohlhase:smmtf:base,
- author = {Michael Kohlhase},
- title = {\texttt{omtext}: Semantic Markup for Mathematical Text Fragments in {\LaTeX}},
- type = {Self-documenting {\LaTeX} package},
- year = stexyear}
-
-@techreport{Kohlhase:ssmtl:ctan,crossref={Kohlhase:ssmtl:base},
- institution = {Comprehensive {\TeX} Archive Network (CTAN)},
- url = {http://www.ctan.org/get/macros/latex/contrib/stex/sty/stex.pdf},
- pubs = {mkohlhase,projects/stex}}
-@techreport{Kohlhase:ssmtl:svn,crossref={Kohlhase:ssmtl:base},
- url = {https://github.com/KWARC/sTeX/raw/master/sty/stex.pdf}}
-@techreport{Kohlhase:ssmtl:base,
- key = {sTeX},
- author = {Michael Kohlhase},
- title = {{sTeX}: Semantic Markup in {\TeX/\LaTeX}},
- year = stexyear}
-
-@InBook{Kohlhase:atpm98chapter,
- editor = {Michael Kohlhase},
- chapter = {Automated Theorem Proving in Mathematics},
- crossref = {BibSch:adabfa98},
- pubs = {mkohlhase}}
-
-@Unpublished{Kohlhase:codemlspec,
- author = {Michael Kohlhase},
- title = {{CodeML}: An Open Markup Format the Content and Presentatation of Program Code},
- note = {Internet Draft at \url{https://svn.omdoc.org/repos/codeml/doc/spec/codeml.pdf}},
- url = {https://svn.omdoc.org/repos/codeml/doc/spec/codeml.pdf},
- pubs = {projects/omdoc,mkohlhase}}
-
-@InProceedings{brownhorozal07,
- author = {Feryal Fulya Horozal and Chad E. Brown},
- title = {Formal Representation of Mathematics in a Dependently Typed Set Theory},
- pages = {265--279},
- crossref = {MKM07},
- pubs = {fhorozal}
-}
-
-@InProceedings{Kohlhase:friomkb01,
- author = {Michael Kohlahse},
- title = {Formal Representation Issues in an Open Mathematical Knowledge Base},
- url = {http://www.mkm-ig.org/meetings/mkm01/Proceedings/kohlhase.pdf},
- crossref = {MKM01},
- keywords = {conference},
- pubs = {mkohlhase}}
-
-@inProceedings{LZ:OWLChangeRefactorXMLDB10,
- author = {Christoph Lange and Vyacheslav Zholudev},
- title = {Previewing {OWL} Changes and Refactorings Using a Flexible {XML} Database},
- url = {http://ceur-ws.org/Vol-596/paper-08.pdf},
- crossref = {ORES2010},
- pubs = {clange,vzholudev}}
-
-@INPROCEEDINGS{DLKA:ProtoBrowserListedBuildSMW10,
- author = {Anca Dumitrache and Christoph Lange and Michael Kohlhase and Nils Aschenbeck},
- title = {Prototyping a Browser for a Listed Buildings Database with {Semantic MediaWiki}},
- crossref = {SemWiki10},
- pubs = {clange,adumitrache,mkohlhase}}
-
-@MISC{HutKoh:OMoCProposal06,
- author = {Dieter Hutter and Michael Kohlhase},
- title = {Ontology-Driven Management of Change},
- url = {http://kwarc.info/projets/omoc/pubs/proposal.pdf},
- year = 2006,
- pubs = {mkohlhase,projects/omoc}}
-
-@INCOLLECTION{KohMue:added-value07,
- author = {Andrea Kohlhase and Normen M{\"u}ller},
- title = {{Added-Value: Getting People into Semantic Work Environments}},
- crossref = {ReDeRa:SWE07},
- pages = {185--205},
- pubs = {akohlhase,nmueller}}
-
-@inProceedings{GraZho:rest2011,
- author = {Sebastian Graf and Vyacheslav Zholudev and Lukas Lewandowski and Marcel Waldvogel},
- title = {Hecate, Managing Authorization with RESTful XML },
- crossref = {WSREST2011},
- url = {http://portal.acm.org/citation.cfm?id=1967428}}
-
-@misc{Zholudev:TNTBaseRESTful:base,
- author = {Vyacheslav Zholudev and others},
- title = {{TNTBase} -- RESTful API},
- year = {2010},
- url = {http://tntbase.org/wiki/restful}}
-
-@misc{Zholudev:TNTBaseORES:base,
- author = {Vyacheslav Zholudev and Christoph Lange},
- title = {{TNTBase} -- Sandbox for {ORES} 2010},
- year = {2010},
- url = {http://tntbase.org/wiki/usecase_ontologies},
- urldate = {2010-04-25}}
-
-@online{krextor:webpage,
- crossref = {krextor:base},
- lastchecked = nov,
-}
-
-@MISC{krextor,
- crossref = {krextor:base},
- howpublished = {\webpageat\url{http://trac.kwarc.info/krextor/}},
- month = jan,
- year = 2013}
-
-@MISC{krextor:base,
- key = {Krextor},
- title = {Krextor -- The {KWARC} {RDF} Extractor},
- author = {Christoph Lange and others},
- url = {http://kwarc.info/projects/krextor/},
- month = jan,
- year = 2013}
-
-@phdthesis{Lange:PhD:plain,
- author = {Christoph Lange},
- title = {Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web Integration},
- school = {Jacobs University Bremen},
- year = 2011,
-}
-
-@book{Lange:PhD:book:plain,
- author = {Christoph Lange},
- title = {Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web Integration},
- year = 2011,
- publisher = {AKA Verlag and IOS Press},
- address = {Heidelberg and Amsterdam},
- series = {Studies on the Semantic Web},
- number = 11,
- isbn = {978-1-60750-840-3},
-}
-
-@misc{OpenMathWiki:base,
- url = {http://wiki.openmath.org},
- year = {2009},
- author = {Christoph Lange},
- title = {{OpenMath} Wiki}}
-
-@online{RDFaHostLanguages,
- author = {Toby A. Inkster and Christoph Lange},
- title = {{RDFa} Host Languages},
- url = {http://rdfa.info/wiki/?title=RDFa_Host_Languages&oldid=1032},
- date = {2010-02-23},
- urldate = {2010-08-27},
- crossref = {RDFaWiki}}
-
-@online{Lange:SWiMSubversionClient,
- author = {Christoph Lange},
- title = {{SWiM} {Subversion} client},
- url = {http://mathweb.org/w/index.php?title=SWiM/Subversion_client&oldid=8284},
- date = {2008-09-24},
- urldate = {2010-10-06}}
-
-@misc{Lange:wiki-argu-draft,
- author = {Christoph Lange and others},
- title = {Improving mathematical knowledge items by acting on issue-based community feedback},
- note = {Draft, \url{http://mathweb.org/wiki/SWiM/discussions/}},
- url = {http://mathweb.org/wiki/SWiM/discussions/},
- year = {2008}}
-
-@MISC{flyspeck-wiki:web,
- key = {Flyspeck},
- author = {Christoph Lange and Florian Rabe and Sean McLaughlin},
- title = {The {Flyspeck} wiki case study},
- howpublished = {\url{http://mathweb.org/wiki/Flyspeck}},
- url = {http://mathweb.org/wiki/Flyspeck},
- note = {\seen November 2007}}
-
-@MISC{swim-bugzilla,
- key = {SWiM},
- title = {{\sc{SWiM}} Trac},
- author = {Christoph Lange and others},
- howpublished = {\webpageat\url{http://trac.kwarc.info/swim/}},
- url = {http://trac.kwarc.info/swim/},
- note = {\seen{\September} 2007}}
-
-@MISC{swim-roadmap,
- title = {{\sc{SWiM}} Development Roadmap},
- author = {Christoph Lange},
- howpublished = {\webpageat\url{http://trac.kwarc.info/swim/roadmap/}},
- url = {http://trac.kwarc.info/swim/roadmap/},
- note = {seen November 2007}}
-
-
-@phdthesis{NMueller:PhD,
- author = {Normen M{\"u}ller},
- title = {Change Management on Semi-Structured Documents},
- year = 2010,
- school = {Jacobs University Bremen},
- url = {http://kwarc.info/nmueller/papers/nrmphd.pdf}}
-
-
-@InProceedings{Kohlhase:InvasiverEditor,
- author = {Andrea Kohlhase},
- title = {{CPoint --- ein invasiver, semantischer Editor f{\"u}r Content in {{MS PowerPoint}}}},
- crossref = {EduMedia2007},
- pages = {116--118},
- pubs = {akohlhase}}
-
-@inproceedings{Kohlhase:pufmp08,
- author = {Andrea Kohlhase},
- title = {{{MS PowerPoint}} Use from a Micro-Perspective},
- crossref = {EdMedia2008},
- pages = {1279--1286},
- pubs = {akohlhase},
- keywords={conference},
- url = {http://go.editlib.org/p/28550}}
-
-@online{Planetary:on,crossref={Planetary:base},urldate={2012-09-15},label={PDFm}}
-@misc{Planetary:URL,crossref={Planetary:base},howpublished={http://planetary.mathweb.org},key={PDFm}}
-@misc{Planetary:base,
- title = {Planetary Developer Forum},
- url = {http://planetary.mathweb.org/},}
-
-@Online{PlanetaryEPCMilestone:on,crossref={PlanetaryEPCMilestone:base},urldate={2011-03-14},subtitle={Milestone EPCdemo}}
-@misc{PlanetaryEPCMilestone:URL,crossref={PlanetaryEPCMilestone:base},
- howpublished={http://planetary.mathweb.org/milestone/EPCdemo}}
-@misc{PlanetaryEPCMilestone:base,
- title = {Planetary Developer Forum},
- subtitle = {Milestone EPCdemo},
- url = {http://planetary.mathweb.org/milestone/EPCdemo},
-}
-
-@online{EPCsystem:on,crossref={EPCsystem:base},urldate={2011-01-07}}
-@misc{EPCsystem:URL,crossref={EPCsystem:base},
- howpublished={http://planetary.mathweb.org/wiki/EPCSystem}}
-@misc{EPCsystem:base,
- title = {Executable Paper Challenge System},
- url = {http://planetary.mathweb.org/wiki/EPCSystem}}
-
-@Online{LinkedLectures,
- author = {Michael Kohlhase and others},
- title = {Lectures as Linked Data},
- url = {http://kwarc.info/LinkedLectures/},
- urldate = {2010-09-22}}
-
-@online{Kohlhase:PlanetGenCS:on,crossref={Kohlhase:PlanetGenCS:base},urldate={2011-03-03}}
-@misc{Kohlhase:PlanetGenCS:url,crossref={Kohlhase:PlanetGenCS:base},
- howpublished = {\url{http://panta.kwarc.info/GenCS}}}
-@misc{Kohlhase:PlanetGenCS:base,
- key = {GenCS},
- label = {GenCS},
- author = {Michael Kohlhase},
- title = {{General Computer Science: GenCS I/II Lecture Notes}},
- type = {Semantic Course Notes in Panta Rhei},
- url = {http://panta.kwarc.info/GenCS},
- year = 2011,
- pubs = {mkohlhase}}
-
-@online{PlanetGenCS:on,crossref={PantaRhei:base},urldate={2010-09-22},
- keywords = {projects/planetary},
- label={PR}}
-@online{PantaRhei:on,crossref={PantaRhei:base},urldate={2013-02-22},
- keywords = {projects/planetary},
- label={PR}}
-@misc{PlanetGenCS:URL,crossref={PantaRhei:base},
- howpublished={\webpageat\url{http://panta.kwarc.info}},
- note = {\seen{\January} 2011}}
-@misc{PantaRhei:base,
- title = {Panta Rhei, the Active Course Site at Jacobs University},
- url = {http://panta.kwarc.info}}
-
-@online{PlanetLATIN:on,crossref={PlanetLATIN:base},urldate={2010-09-22},label={LA}}
-@misc{PlanetLATIN:URL,crossref={PlanetLATIN:base},
- howpublished={\webpageat\url{logicatlas.omdoc.org}},
- note = {\seen{\January} 2011}}
-@misc{PlanetLATIN:base,
- title = {Logic Atlas and Integrator},
- url = {http://logicatlas.omdoc.org}}
-
-@online{PlanetBox:on,crossref={PlanetBox:base},urldate={2010-09-22}}
-@misc{PlanetBox:URL,crossref={PlanetBox:base},
- howpublished={\webpageat\url{http://planetbox.kwarc.info}},
- note = {\seen{\January} 2011}}
-@misc{PlanetBox:base,
- title = {Planetary Sandbox},
- url = {http://planetbox.kwarc.info}}
-
-@inproceedings{Kohlhase:SemanticPowerPoint,
- author = {Andrea Kohlhase},
- title = {Semantic PowerPoint: Content and Semantic Technology for Educational Added-Value Services in {{MS PowerPoint}}},
- pages = {3576--3583},
- crossref = {EdMedia2007},
- pubs = {akohlhase},
- keywords={conference},
- url = {http://go.editlib.org/p/25890}}
-
-@InProceedings{Kohlhase:PPTforChildren,
- author = {Andrea Kohlhase and Heidi Schelhowe and Michael Lund},
- title = {What Can the Hundred Languages of Children Teach Us?},
- crossref = {MuC2007},
- booktitle= {{Interaktion im Plural}},
- keywords= {conference},
- pubs = {akohlhase},
- pages = {189--198}}
-
-@InProceedings{Kohlhase:EngagingPPT,
- author = {Andrea Kohlhase},
- title = {The Music is not in the Piano: Engaging vs. Enabling {{MS PowerPoint}}},
- booktitle = {Proceedings of Society for Information Technology and Teacher Education International Conference 2007 (SITE'07)},
- pages = {2026--2028},
- year = 2007,
- editor = {Roger Carlsen and Karen McFerrin and Jerry Price and Roberta Weber and Dee Anna Willis},
- publisher = {AACE},
- keywords = {conference},
- pubs = {akohlhase},
- note = {St. Antonio, TX (USA), 2007-03-24/28}}
-
-@Article{Kohlhase:LearnerAndLearningTechnology,
- author = {Andrea Kohlhase},
- title = {Learner and Learning Technology: The Interaction Process as a Full Partnership},
- journal = {ECTI Transactions Journal},
- year = 2007,
- note = {Under final review},
- pubs = {akohlhase},
- url = {http://www.ecti.or.th/}}
-
-@InProceedings{Reichel:FolksonomiesAsEmbodiedActions,
- author = {Andrea Kohlhase and Milena Reichel},
- title = {Embodied Constructionist Learning: Social Tagging and Folksonomies in E-Learning Environments },
- booktitle = {Current Developments in Technology-Assisted Education (mICTE06)},
- year = { 2006},
- address = { Badajoz, Spain },
- volume ={3},
- keywords={conference},
- pubs={akohlhase}}
-
-@TechReport{DumMer:cwsat03,
- author = "Alex Dumitru and Vlad Merticariu",
- title = {Current Web State of Annotation Tools},
- institution = "Jacobs University Bremen",
- month = may,
- year = "2013",
-}
-
-@Article{Reichel:EmbodiedConceptualizations,
- author = {Andrea Kohlhase and Milena Reichel},
- title = {Embodied Conceptualizations: Social Tagging and E-Learning},
- journal = {International Journal of Web-Based Learning and Teaching Technologies},
- publisher = {Idea Group Inc.},
- year = 2008,
- number = 1,
- pages = {58--67},
- pubs = {akohlhase} }
-
-@InCollection{KohlhaseReichel:FuzzyLinePrivatePublic,
- author = {Andrea Kohlhase and Milena Reichel},
- title = {Social Tagging and Learning: The Fuzzy Line between Private and Public Space},
- booktitle = {Novel Developments in Web-Based Learning Technologies: Tools for Modern Teaching},
- publisher = {Information Science Reference},
- month = jan,
- year = 2010,
- editor = {Nikos Karacapilidis},
- chapter = {11},
- series = {Advances in Web-based Learning (AWBL)},
- note = {ISBN 978-1-60566-938-0},
- pubs = {akohlhase}}
-
-@MastersThesis{Anca:NLMPforATS09,
- author = {{\c S}tefan Anca},
- title = {Natural Language and Mathematics Processing for Applicable Theorem Search},
- school = {Jacobs University Bremen},
- year = 2009,
- pubs = {sanca},
- type = {Master's Thesis},
- keywords = {lamapunbibs},
- url = {https://svn.eecs.jacobs-university.de/svn/eecs/archive/msc-2009/aanca.pdf}
- }
-
-@misc{Anca:matesearch07,
- author = {{\c S}tefan Anca},
- title = {{MaTeSearch} A combined Math and Text search engine},
- school = {Jacobs University Bremen},
- year = 2007,
- type = {Bachelor's Thesis},
- pubs = {sanca},
- url = {http://www.eecs.jacobs-university.de/archive/bsc-2007/anca.pdf}}
-
-@MastersThesis{Horozal07,
- author = {Feryal Fulya Horozal},
- title = {{Towards a Natural Representation of Mathematics in Proof Assistants}},
- school = {Saarland University},
- address = {Saarbr{\"u}cken, Germany},
- type = {Master's Thesis},
- year = {2007},
- pubs = {fhorozal}
-}
-
-@inproceedings{DHK:algebra:09,
- author = "Stefania Dumbrava and Fulya Horozal and Kristina Sojakova",
- title = "{A Case Study on Formalizing Algebra in a Module System}",
- booktitle = "{Workshop on Modules and Libraries for Proof Assistants}",
- editor = "Florian Rabe and Carsten Sch{\"u}rmann",
- publischer = "ACM",
- series = "{ACM International Conference Proceeding Series}",
- volume = "429",
- year = "2009",
- pages = "11--18",
- pubs = {fhorozal,sdumbrava}
-}
-
-@InProceedings{IVEB:SemEnabBusProcDisc10,
- author = {Jos{\'e} Ib{\'a}{\~n}ez, Mar{\'i}a and Gabriela Vulcu and Joaquin Ezpeleta and Sami Bhiri},
- title = {Semantically Enabled Business Process Discovery},
- booktitle = {Symposium on Applied Computing},
- pages = {1396--1403},
- year = 2010,
- publisher = {ACM},
- eventdate = 2010,
- venue = {Sierre, Switzerland},
- isbn = {978-1-60558-639-7},
- pubs = {projects/krextor}}
-
-@InProceedings{DGKC:eMath30,
- author = {Catalin David and Deyan Ginev and Michael Kohlhase and Joe Corneli},
- title = {{eMath} 3.0: Building Blocks for a social and semantic Web for online mathematics \& {ELearning}},
- url = {http://kwarc.info/kohlhase/papers/malog10.pdf},
- crossref = {MALOG10},
- pubs = {cdavid,dginev,mkohlhase,projects/planetary,projects/ikyda2012}}
-
-@InProceedings{FA:MathKnowReprEduSemWebLearnStyle10,
- author = {Farhana Md Mahtar, Ili and Azan Mat Zin, Nor},
- title = {Mathematical Knowledge Representation for Education Semantic Web based on Learning Style},
- booktitle = {International Symposium in Information Technology (ITSim)},
- pages = {1--4},
- year = {2010},
- publisher = {IEEE},
- doi = {10.1109/ITSIM.2010.5561332},
- pubs = {projects/omdoc,projects/krextor}}
-
-@misc{DR:filtering:10,
- author = "Stefania Dumbrava and Florian Rabe",
- title = "{Structuring Theories with Partial Morphisms}",
- note = {Workshop on Abstract Development Techniques},
- year = "2010",
- pubs = {frabe,sdumbrava}}
-
-@misc{Dumbrava:sshelf,
- author = {Stefania Dumbrava},
- title = {Structured Specifications with Hiding in the Edinburgh Logical Framework {LF}},
- school = {Jacobs University Bremen},
- year = 2010,
- type = {Bachelor's Thesis},
- url = {http://kwarc.eecs.iu-bremen.de/frabe/students/dumbrava_10.pdf},
- pubs = {sdumbrava,bscthesis}}
-
-@article{rabe:bslreview:10,
- author = {Florian Rabe},
- title = "{Review of ``Reasoning in Simple Type Theory -- Festschrift in Honor of Peter B. Andrews on His 70th Birthday''}",
- journal = "{Bulletin of Symbolic Logic}",
- volume = 16,
- number = 3,
- year = 2010,
- pages = "409--411",
- pubs = {frabe},
-}
-
-@Unpublished{KohKoh:tcmff10,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Towards a Conceptual Model for Flexible Formalization},
- url = {http://kwarc.info/kohlhase/submit/mkm10-flexiform.pdf}}
-
-@online{ako:MicrodataVsRDFa,
- author = {Andrea Kohlhase},
- title = {Microdata vs.\ {RDFa} -- What does it mean to us?},
- note = {comment to a blog post},
- date = {2009-10-29},
- url = {http://kwarc.info/blog/2009/10/28/microdata-vs-rdfa/comment-page-1/#comment-1156},
- urldate = {2009-12-01}}
-
-@unpublished{LK:OMDocOntologyLanguageESWC09,
- author = {Christoph Lange and Michael Kohlhase},
- title = {A Mathematical Approach to Ontology Authoring and Documentation},
- Url = {https://svn.omdoc.org/repos/omdoc/trunk/doc/blue/foaf/eswc2009.pdf},
- year = 2009}
-
-@online{Kohlhase:MailGenericMetadata2008,
- author = {Michael Kohlhase},
- title = {{Generic Metadata Element}},
- note = {e-mail to \url{project-omdoc-dev@jacobs-university.de}},
- url = {http://lists.jacobs-university.de/mailman/private/project-omdoc-dev/2008-July/thread.html#73},
- date = {2008-07-01}}
-
-@Unpublished{LemKoh:cah08,
- author = {Johannes Lemburg and Michael Kohlhase},
- title = {Constructing a Hammer},
- note = {A Collection of Semi-Formal Specifications},
- url = {https://rlbsvn.informatik.uni-bremen.de/VI-Bot/FormalVI/doc/hammer/hammer.pdf},
- year = 2008}
-
-@unpublished{KLMMR:NfAD,
- title = {Notations for Active Mathematical Documents},
- author = {Michael Kohlhase and Christoph Lange and Christine M{\"u}ller and Normen M{\"u}ller and Florian Rabe},
- journal = {Journal of Mathematics in Computer Science, Special Issue on
- Authoring, Digitalization, and Management of Mathematical
- Knowledge},
- year = {2009},
- pubstate = {submitted},
- url = {http://kwarc.info/publications/papers/KLMMR_NfAD.pdf},
- howpublished = {\url{http://kwarc.info/publications/papers/KLMMR_NfAD.pdf}}}
-
-@InProceedings{Kohlhase:STS-RelaxNG08,
- author = {Michael Kohlhase},
- title = {Compiling {\openmath} Type systems to {Relax NG} Grammars},
- crossref = {JEM08}}
-
-@Unpublished{KohSuc:mwssse07,
- author = {Michael Kohlhase and Ioan {\c S}ucan},
- title = {System Description: {\sc{MathWebSearch}} 0.3, A Semantic Search Engine},
- year = 2007}
-
-@MISC{xslt:web,
- key = {xslt},
- author = {Michael Kohlhase},
- title = {{XSLT Stylesheet for converting OMDoc documents into XHTML.}},
- howpublished = {\url{http://kwarc.info/projects/xslt}},
- url = {http://kwarc.info/projects/xslt},
- note = {\seen January 2008}}
-
-@unpublished{mmlkit:web,
- key = {mmlkit},
- author = {Normen M{\"u}ller and Christine M{\"u}ller and Michael Kohlhase},
- title = {The math markup language toolkit (mmlkit)},
- url = {http://kwarc.info/projects/mmlkit},
- month = jun,
- year = 2008}
-
-@ARTICLE{KohKoh:ssl13,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Spreadsheets with a Semantic Layer},
- editor = {Till Mossakowski and Markus Roggenbach and Lutz Schr{\"o}der},
- journal = {Electronic Communications of the EASST: Specification, Transformation, Navigation --
- Special Issue dedicated to Bernd Krieg-Br{\"u}ckner on the Occasion of his 60th Birthday},
- year = {2013},
- url = {http://journal.ub.tu-berlin.de/eceasst/article/view/870},
- volume = {62},
- pages = {1--20},
- pubs = {akohlhase,mkohlhase,projects/sissi}}
-
-@misc{vzamdzhiev:bscthesis,
- author = {Vladimir Zamdzhiev},
- title = {Universal {OpenMath} Machine},
- school = {Jacobs University Bremen},
- year = 2011,
- type = {B.\,Sc.\ Thesis},
- pubs = {vzamdzhiev,bscthesis}}
-
-@misc{mcirlanaru:bscthesis,
- author = {Mihai C{\^i}rl{\u a}naru},
- title = {Authoring, Publishing and Interacting with Units and Quantities in Technical Documents},
- school = {Jacobs University Bremen},
- year = 2011,
- type = {B.\,Sc.\ Thesis},
- pubs = {mcirlanaru,bscthesis,unitsbibliography}}
-
-@misc{OntoIOpOASIS2001,
- author = {Till Mossakowski and Oliver Kutz and Christoph Lange},
- title = {Ontology Integration and Interoperability ({OntoIOp}) -- Part 1: The Distributed Ontology Language ({DOL})},
- howpublished = {Presentation at OASIS Symposium at the International Semantic Web Conference (ISWC)},
- year = 2011,
- date = {2011-10-24},
- url = {http://www.oasis-project.eu/index.php/lang-en/news-topmenu-19/20-general-news/406-oasis_symposium_at_iswc_2011_a}
-}
-
-@online{Stamerjohanns:latexmleditor,
- author = {Heinrich Stamerjohanns},
- title = {An in-browser editor for LaTeX fragments},
- url = {http://tex2xml.kwarc.info/test/edit.php},
- urldate = {2010-10-10}}
-
-@misc{AA:IPRaaCT,
- title = {{Improving Panta Rhei as a Community Tool}},
- author = {Andrei Aiordachioaie},
- type = {Bachelor Thesis},
- school = {Jacobs University Bremen},
- url = {http://kwarc.info/projects/panta-rhei/papers/thesis_aiordachioaie_andrei.pdf},
- year = 2008}
-
-@Misc{OMDoc:wiki,
- key = {OMDoc Wiki},
- title = {The {OMDoc} Wiki},
- howpublished = {\url{http://www.mathweb.org/omdoc/wiki/}},
- url = {http://www.mathweb.org/omdoc/wiki/}}
-
-@Misc{OMDocUG:web,
- key = {OMDoc},
- title = {People involved with the {\omdoc} Project},
- howpublished = {\webpageat\url{http://omdoc.org/people.html}},
- url = {http://omdoc.org/people.html},
- note = {\seen{\July} 2005}}
-
-@misc{Grigore-10,
- author = {Mihai Grigore},
- title = {{Knowledge-poor Interpretation of Mathematical Expressions in Context}},
- school = {Jacobs University Bremen},
- address = {Bremen, Germany},
- type = {Master's Thesis},
- keywords = {lamapunbibs},
- month = aug,
- url = {http://www.coli.uni-saarland.de/~mgrigore/mgrigore_MScThesis.pdf},
- year = {2010}}
-
-@online{latexml:branch:online,crossref={latexml:branch:base},urldate={2013-03-12}}
-@Misc{latexml:branch,crossref={latexml:branch:base},
- howpublished = {Web Manual at \url{http://dlmf.nist.gov/LaTeXML/}},
- note = {\seen{\September} 2011}}
-@Misc{latexml:branch:base,
- author = {Deyan Ginev},
- title = {{\texttt{LaTeXML}}: A {\LaTeX} to {XML} Converter, {arXMLiv} branch},
- url = {https://svn.mathweb.org/repos/LaTeXML/branches/arXMLiv}}
-
-@online{latexml-daemon,
- author = {Deyan Ginev},
- title = {The {\LaTeX{}ML} Daemon: Editable Math for the Collaborative Web},
- url = {http://latexml.mathweb.org},
- urldate = {2012-03-31},
- pubs = {dginev},
-}
-@online{latexml-showcase,
- author = {Deyan Ginev},
- title = {The {\LaTeX{}ML} Web Showcase},
- url = {http://latexml.mathweb.org/editor},
- urldate = {2013-03-12},
- pubs = {dginev},
-}
-@unpublished{Ginev:OnDigitalCorpora,
- author = {Deyan Ginev},
- title = {On Digital Corpora of Scientific Documents - Knowledge Management and Representations},
- url = {https://svn.kwarc.info/repos/MathSearch/doc/blue/corpora/corpora.pdf},
- howpublished = {unpublished {KWARC} blue notes},
- pubs = {projects/mathsearch,dginev},
- year = {2012},
- month = jun}
-@unpublished{Ginev:TowardsABuildSystemForDigitalCorpora,
- author = {Deyan Ginev},
- title = {Towards a Build System for Digital Corpora of Scientific Documents},
- url = {https://svn.kwarc.info/repos/MathSearch/doc/blue/buildsystem/buildsystem.pdf},
- howpublished = {unpublished {KWARC} blue notes},
- pubs = {projects/mathsearch,dginev},
- year = {2012},
- month = jun}
-
-@Misc{MGG:email,
- author = {Mihai Grigore},
- title = {{Personal communication to D. Ginev}},
- note = {February 23 2011}}
-
-@misc{Kuryla:OWLtoOMDocTranslation09,
- author = {Siarhei Kuryla},
- title = {{OMDoc} as an Ontology Language: {OWL}$\to${OMDoc} translation implementation},
- type = {Project report},
- year = {2009},
- url = {https://svn.kwarc.info/repos/frabe/Teaching/Seminar09/Reports/siarhei.pdf},
- pubs = {projects/docOnto,projects/omdoc}}
-
-@online{Ontohub:site,
- title = {Ontohub},
- url = {http://ontohub.oor.net},
- urldate = {2012-12-03},
- pubs = {clange,projects/ontoiop}}
-
-@online{Ontohub,
- author = {Couto Vale, Daniel and Julian Kornberger and Christoph Lange and Till Mossakowski and Henning M{\"u}ller},
- title = {Ontohub},
- url = {http://github.com/ontohub/ontohub},
- urldate = {2012-04-20},
- pubs = {clange,projects/ontoiop}}
-
-@inproceedings{JucEth12:redsys,
- title = {Cost-Effective Integration of MKM Semantic Services into Editing Environments},
- author = {Constantin Jucovschi},
- crossref = {CICM12},
- pages = {96--110},
- url = {http://arxiv.org/pdf/1203.3316v2.pdf},
- pubs = {cjucovschi,projects/sissi}}
-
-@BOOK{lange05:wiki,
- title = {Wiki -- {Planen}, {Einrichten}, {Verwalten}},
- publisher = {C\&L Computer- und Literaturverlag},
- year = {2005},
- month = sep,
- editor = {Christoph Lange},
- isbn = {3-936546-28-2},
- pubs={clange},
- hyphenation = {ngerman}}
-
-@BOOK{lange06:wikiblog,
- title = {Wikis und Blogs -- {Planen}, {Einrichten}, {Verwalten}},
- publisher = {C\&L Computer- und Literaturverlag},
- year = {2006},
- month = sep,
- editor = {Christoph Lange},
- isbn = {3-936546-44-4},
- pubs={clange},
- hyphenation = {ngerman}}
-
-@InProceedings{Koh:NavigationInMathDocs2012,
- author = {Andrea Kohlhase},
- title = {Navigation in Mathematical Documents},
- pages = {12--23},
- url = {http://ceur-ws.org/Vol-921/mathui-02.pdf},
- crossref = {MathUI12},
- keywords = {workshop},
- pubs = {akohlhase,projects/sissi}}
-
-@inproceedings{CorneliDumitru:OpenMathUIWiP2012,
-title = {{PlanetMath}/{Planetary}},
-author = {Joseph Corneli and Mircea Alexandru Dumitru},
-pages = {66--72},
-url = {http://ceur-ws.org/Vol-921/wip-02.pdf},
-crossref = {OpenMathUIWiP2012},
-}
-
-@inproceedings{GinCor:nnexus:14,
- title = {NNexus Reloaded},
- author = {Deyan Ginev and Joseph Corneli},
- crossref = {CICM14},
- pages = {423--426},
- url = {http://arxiv.org/abs/1404.6548},
- pubs = {dginev}}
-
-@inproceedings{HamKoh:fsm15,
- title = {Faceted Search for Mathematics},
- author = {Radu Hambasan and Michael Kohlhase},
- url = {http://kwarc.info/kohlhase/papers/macis15.pdf},
- pubs = {mkohlhase,projects/mathsearch},
- crossref = {MACIS15}}
-
-
-@inproceedings{KohlhaseEtAl:FullSemanticTransparency:2013,
- author = {Andrea Kohlhase and Michael Kohlhase and Constantin Jucovschi and Alexandru Toader},
- title = {Full Semantic Transparency: Overcoming Boundaries of Applications},
-pages = {406--423},
- crossref = {INTERACT13a},
- url = {http://kwarc.info/kohlhase/papers/Interact2013_FST.pdf},
- pubs={akohlhase,mkohlhase,cjucovschi,atoader, projects/sissi},
- keywords={conference}}
-
-@inproceedings{Kohlhase:HumanSpreadsheetInteraction:2013,
- author = {Andrea Kohlhase},
- title = {Human-Spreadsheet Interaction},
- pages={571-578},
- crossref = {INTERACT13b},
- pubs={akohlhase,projects/sissi},
- keywords={conference}}
-
-@InProceedings{Koh:Spshts_FromDataToKnowledgeInterface:2013,
-title = {Spreadsheets: from data interfaces to knowledge interfaces},
-author = {Andrea Kohlhase},
-url = {http://ceur-ws.org/Vol-1010/paper-17.pdf},
-crossref = {CICM-WS-WiP2013},
-keywords = {workshop},
-pubs = {akohlhase,projects/sissi}
-}
-
-@inproceedings{Ginev:CICM-WS-WiP2013,
-title = {{NNexus} {Glasses}: a drop-in showcase for wikification},
-author = {Deyan Ginev},
-url = {http://ceur-ws.org/Vol-1010/paper-13.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@inproceedings{IancuEtAl:CICM-WS-WiP2013,
-title = {The {Scala-REPL} + {MMT} as a lightweight mathematical user interface},
-author = {Mihnea Iancu and Felix Mance and Florian Rabe},
-url = {http://ceur-ws.org/Vol-1010/paper-15.pdf},
-crossref = {CICM-WS-WiP2013},
-}
-
-@TECHREPORT{ke-la-ro-14,
- AUTHOR = {Manfred Kerber and Christoph Lange and Colin Rowat},
- TITLE = {A formal proof of {Vickrey}'s theorem by blast, simp, and rule},
- INSTITUTION = {University of Birmingham, Department of Economics},
- YEAR = {2014},
- type = {Working Paper},
- number = {14-01},
- month = jan,
- url = {http://ssrn.com/abstract=2376205},
- pubs = {clange,projects/formare},
-}
-
-@Unpublished{BreiCodJuc:tospsme13,crossre={BreiCodJuc:tospsme13:biblatex}}
-@Unpublished{BreiCodJuc:tospsme13:biblatex,
- author = {Thilo Breitsprecher and Mihai Codescu and Constantin Jucovschi and Michael Kohlhase and Lutz Schr{\"o}der and
-Sandro Wartzack},
- title = {Towards Ontological Support for Principle Solutions in Mechanical Engineering},
- note = {see \url{http://kwarc.info/kohlhase/papers/fm13.pdf}},
- year = 2013,
- pubs = {mkohlhase,cjucovschi}}
-
-@Unpublished{BreiCodJuc:ssedp13,crossref={BreiCodJuc:ssedp13:biblatex},
- note = {see \url{http://kwarc.info/kohlhase/papers/fm13.pdf}}}
-@inproceedings{BreiCodJuc:ssedp13:biblatex,
- author = {Thilo Breitsprecher and Mihai Codescu and Constantin Jucovschi and Michael Kohlhase and Lutz Schr{\"o}der and
-Sandro Wartzack},
- booktitle = {Proc. 13th International Design Conference, DESIGN 2014},
- title = {Semantic Support for Engineering Design Processes},
- url = {http://kwarc.info/kohlhase/papers/design14.pdf},
- year = 2013,
- pubs = {mkohlhase,cjucovschi,projects/sissi,projects/formalcad}}
-
-@online{MathHub:authoring:on,
- label={MHA},
- title={MathHub: Authoring Resources \& Workflows},
- url = {http://mathhub.info/help/authoring},
- urldate = {2014-02-01}}
-
-@online{katdemo:on,
- label={KD},
- url={http://kwarc.flanche.net/katGit/test/},
- urldate = {2014-02-15}}
-
-@online{KAT:github:on,
- label = {KG},
- note = {GitHub repository},
- url = {https://github.com/KWARC/KAT/}}
-
-@online{CorTeX:github:on,
- label = {CG},
- note = {GitHub repository},
- url = {https://github.com/dginev/CorTeX/}}
-
-@online{SMGloM:gloss:on,
- label = {SMG},
- title = {SMGloM Glossary},
- urldate = {2014-04-21},
- url = {http://mathhub.info/mh/glossary}}
-
-@misc{SMGloM:URL,crossref={SMGloM:base},key={SMG},
- howpublished = {\url{http://smglom.mathhub.info}},
- note = {System home page seen 2014-04-21}}
-@online{SMGloM:on,crossref={SMGloM:base},
- label = {SMG},
- urldate = {2014-04-21}}
-@misc{SMGloM:base,
- title = {SMGloM: A Semantic, Multilingual Terminology for Mathematics},
- url = {http://smglom.mathhub.info}}
-
-@online{SMGloM:dict:on,
- label = {SMD},
- title = {SMGloM Dictionary},
- urldate = {2015-04-04},
- url = {http://mathhub.info/mh/dictionary}}
-
-
-@inproceedings{KohKoh:sdsaloc14,
- title = {System Description: A Semantics-Aware {\LaTeX}-to-Office Converter},
- author = {Lukas Kohlhase and Michael Kohlhase},
- crossref = {CICM14},
- pages = {440--443},
- url = {http://kwarc.info/kohlhase/submit/cicm14-l2o.pdf},
- pubs = {mkohlhase}}
-
-@unpublished{IanJucKoh:sps15,
- title = {The {SMGLoM} Project and System},
- author = {Deyan Ginev and Mihnea Iancu and Constantin Jucovschi and Andrea Kohlhase and
- Michael Kohlhase and Heinz Kr{\"o}ger and J{\"u}rgen Schefter and
- Wolfram Sperber},
- year = {2015},
- url = {http://kwarc.info/kohlhase/submit/cicm15-smglom.pdf},
- pubs = {miancu,mkohlhase,akohlhase,cjucovschi,projects/llamapun,projects/mathsearch}}
-
-@inproceedings{Kohlhase:dmesmgm14,
- title = {A Data Model and Encoding for a Semantic, Multilingual Terminology of Mathematics},
- author = {Michael Kohlhase},
- crossref = {CICM14},
- pages = {169--183},
- url = {http://kwarc.info/kohlhase/papers/cicm14-smglom.pdf},
- pubs = {mkohlhase,projects/llamapun,projects/mathsearch}}
-
-@unpublished{DumGinKoh:katsd14,
- title = {System Description: KAT an Annotation Tool for STEM Documents},
- author = {Mircea Alex Dumitru and Deyan Ginev and Michael Kohlhase and Vlad Merticariu
- and Stefan Mirea and Tom Wiesing},
- year = "2014",
- url = {http://kwarc.info/kohlhase/submit/cicm14-kat.pdf},
- pubs = {mkohlhase,dginev,twiesing,projects/llamapun}}
-
-@inproceedings{IanJucKoh:sdm14,
- title = {System Description: MathHub.info},
- author = {Mihnea Iancu and Constantin Jucovschi and Michael Kohlhase and Tom Wiesing},
- crossref = {CICM14},
- pages = {431--434},
- url = {http://kwarc.info/kohlhase/submit/cicm14-mathhub.pdf},
- pubs = {mkohlhase,cjucovschi,miancu,twiesing,projects/oaf}}
-
-@online{DumGinKoh:katsdm14,
- title = {KAT: An Annotation Tool for STEM Documents; Manual},
- author = {Alex Dumitru and Deyan Ginev and Michael Kohlhase
- and Vlad Merticariu and Stefan Mirea and Tom Wiesing},
- url = {https://github.com/KWARC/KAT/blob/master/doc/manual/katmanual.pdf},
- year = {2014},
- pubs = {mkohlhase,dginev,twiesing,projects/llamapun}}
-
-@inproceedings{CarFarKoh:rsckmt14,
- author = {Jacques Carette and William Farmer and Michael Kohlhase},
- title = {Realms: A Structure for Consolidating Knowledge about Mathematical Theories},
- crossref = {CICM14},
- url = {http://kwarc.info/kohlhase/submit/cicm14-realms.pdf},
- pages = {252--266},
- pubs = {mkohlhase},
- note = {MKM Best-Paper-Award}}
-
-@inproceedings{Koh:SearchInterfacesMath:2014,
- title = {Search Interfaces for Mathematicians},
- author = {Andrea Kohlhase},
- crossref = {CICM14},
- pages = {153--168},
- url = {http://arxiv.org/abs/1405.3758},
- pubs = {akohlhase}}
-
-@unpublished{Rabe:literal:14,
- author = {Florian Rabe},
- title = "{Generic Literals}",
- url = {http://kwarc.info/frabe/Research/rabe_literals_14.pdf},
- pubs = {frabe}}
-
-@inproceedings{KalRab:hollight:14,
- author = {Cezary Kaliszyk and Florian Rabe},
- title = {Towards Knowledge Management for {HOL Light}},
- crossref = {CICM14},
- pages = {357--372},
- url = {http://kwarc.info/frabe/Research/KR_hollight_14.pdf},
- pubs = {frabe}}
-
-
-@inproceedings{cjucovschi:interaction_integration:14,
- author = {Constantin Jucovschi},
- title = {Towards an Interaction-based Integration of {MKM} Services into End-User Applications},
- crossref = {CICM14},
- pages = {344--356},
- url = {http://arxiv.org/abs/1403.5058},
- pubs = {cjucovschi,projects/sissi}}
-
-@inproceedings{HKR:flexary:14,
- author = {Fulya Horozal and Michael Kohlhase and Florian Rabe},
- title = {Flexary Operators for Formalized Mathematics},
- crossref = {CICM14},
- pages = {312--327},
- url = {https://svn.kwarc.info/repos/fhorozal/papers/submitted/cicm14_flex-op.pdf},
- pubs = {fhorozal,mkohlhase,frabe}}
-
-@online{SPL:on,
- label = {SPL},
- title = {The SMGloM Public License (SPL) Version 0.1},
- author = {Michael Kohlhase},
- url = {https://mathhub.info/help/spl0.1.html}}
-
-
-@unpublished{KohKoh:InvasivesDesign:2014,
- author = {Andrea Kohlhase and Michael Kohlhase},
- title = {Invasives Design: Mashups f{\"u}r Desktop-Applikationen},
- SOONcrossref = {MuC2014},
- pubs = {akohlhase},
- note = {submitted to Mensch und Computer 2014}}
-
-@INPROCEEDINGS{KohToa:Fency:2013,
- author = {Andrea Kohlhase and Alexandru Toader},
- title = {Exploration of Spreadsheet Formulae with Fency},
- url = {http://www.minf.uni-bamberg.de/lwa2013/FinalPapers/lwa2013_submission_18.pdf},
- crossref = {FGWM13},
- pubs = {akohlhase,atoader, projects/sissi}}
-
-@InProceedings{KohGus:CoOccurrencesInSpreadsheets:2015,
- author = {Andrea Kohlhase and Ana Guseva},
- title = {Co-Occurrences of Context Dimensions of Spreadsheets},
- crossref = {MathUI15},
-url ={http://www.cermat.org/events/MathUI/15/proceedings/Kohlhase-Guseva-Cooccurences-context-MathUI_15.pdf},
- pubs = {akohlhase,aguseva}}
-
-% Officially: url = {http://jpubs.jacobs-university.de/handle/579/2453}
-@TECHREPORT{Koh:FramingsOfInformation:2013,
- author = {Andrea Kohlhase},
- title = {Framings of Information: Readers' Perception of Information Sources in Spreadsheets},
- number = 30,
- institution = {Jacobs University},
- month = mar,
- year = {2013},
- url = {kwarc.info/ako/pubs/tr_hsi_2013.pdf},
- pubs={akohlhase,projects/sissi}}
-
-@misc{aguseva:bsc,
- author = "Ana Guseva",
- title = "Towards Understanding Context Dimensions of Spreadsheet Knowledge",
- year = "2013",
- annote = "Bachelor's Thesis",
- school = "Jacobs University",
- pubs = "projects/sissi"
-}
-
-@misc{agiurgiu:bsc,
- author = "Andrei-George Giurgiu",
- title = "Semantically Enhanced Text Documents",
- year = "2014",
- note = "Bachelor's Thesis",
- school = "Jacobs University",
- pubs = "projects/sissi"
-}
-
-@misc{alezza:bsc,
- author = "Andra Lidia Lezza",
- title = "Creating Semantic Interactions in Airbus Spreadsheet Reports",
- year = "2014",
- note = "Bachelor's Thesis",
- school = "Jacobs University",
- pubs = "projects/sissi"
-}
-
-@misc{atoader:bsc,
- author = "Alexandru Valentin Toader",
- title = "Assessment Service for Spreadsheet Documents",
- year = "2014",
- note = "Bachelor's Thesis, Jacobs University",
- pubs = "projects/sissi"
-}
-
-@misc{smirea:bsc,
- author = "Stefan Mirea",
- title = "An Evaluation of Responsive User Interface Options for Multi-modal and Mathematical Search Engines",
- year = "2013",
- note = "Bachelor's Thesis",
- school = "Jacobs University",
- pubs = "projects/mathsearch, projects/sissi"
-}
-
-@online{YTInters,
- label = {IntV15},
- author = {Dennis M{\"u}ller},
- title = {Theory Intersections in {MMT}},
- url = {https://www.youtube.com/watch?v=qXKaGuV7kLY},
- Urldate = {2015-06-29}}
-
diff --git a/macros/latex/contrib/stex/lib/make/Makefile b/macros/latex/contrib/stex/lib/make/Makefile
deleted file mode 100644
index 0aaad6a8d8..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-all:
-clean:
-distclean:
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.base.in b/macros/latex/contrib/stex/lib/make/Makefile.base.in
deleted file mode 100644
index e6d3ec01a5..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.base.in
+++ /dev/null
@@ -1,49 +0,0 @@
-sms: $(MODS.sms)
-
-####################### sTeX utilities ##############################
-
-$(MODS.sms): %.sms: %.tex $(STEXBINDIR)/sms
- $(SMSPROG) $<
-
-driver: $(DRIVER)
-$(DRIVER): $(MODS) $(MODS.pre) $(MODS.post)
- cat $(MODS.pre) > $@
- @echo '\\begin{document}' >> $@
- @echo '\\tableofcontents\\newpage' >> $@
-# @for d in $(MODS4all); do (echo "\\\begin{omgroup}{File: $$d.tex} \n\\input{$$d}\n\\\end{omgroup}\n\\\newpage\n" >>$@) done
- @for d in $(MODS4all); do (echo "\\\begin{center}\\LARGE File: \\\url{$$d.tex}\\end{center}" >>$@; echo "\\input{$$d}\\\newpage" >>$@) done
- cat $(MODS.post) >> $@
- echo '\\end{document}' >> $@
-
-# these do not work any more
-# graph:
-# $(GRAPHPROG) -o graph -f pdf $(SNIPPATHS) all.tex
-#
-# idtest: $(TARGET)
-# $(STEXBINDIR)/idcheck -q slides.tex
-#
-# struct: $(TARGET)
-# $(STEXBINDIR)/modstr < slides.tex
-#
-# ccheck: $(TARGET)
-# latex slides.tex
-# $(STEXBINDIR)/idcheck slides.tex
-# $(STEXBINDIR)/modstr -s < slides.tex > sstruct
-# cat sstruct
-
-############################# svn #################################
-cleanup:
- svn $@
-ci:
- svn $@ -m'draining'
-
-upgrade:
- svn upgrade
-
-
-############################# cleaning #################################
-clean:
- rm -Rf $(CLEAN)
-
-distclean: clean
- rm -Rf $(DISTCLEAN)
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.base.vars b/macros/latex/contrib/stex/lib/make/Makefile.base.vars
deleted file mode 100644
index ae1d79f348..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.base.vars
+++ /dev/null
@@ -1,30 +0,0 @@
-#################################### PATHS ###############################
-# the paths can be customized by setting the shell variable STEXDIR appropriately
-STEXSTYDIR = $(STEXDIR)/sty
-STEXBINDIR = $(STEXDIR)/bin
-
-################################# Programs ###############################
-SMSPROG = PERL5LIB=$(STEXDIR)/bin $(STEXDIR)/bin/sms
-GRAPHPROG = PERL5LIB=$(STEXDIR)/bin $(STEXDIR)/bin/sgraph
-
-########################## Conversion and Formatting Targets ###########
-# the TARGET is the set of top-level TeX files that should be formatted or converted.
-# TARGET.parts are separate parts of the target (e.g. included via \input). The TARGET
-# files usually depend on them and they are not Modules (see below).
-# Modules (MODS) are sTeX files without head and tail, so that they can be included
-# into other sTeX files. TARGET can be set by the including Makefile, MODS are
-# computed as as the remaining *.tex files. Some setups have a driver file, which they can
-# specify in the DRIVER variable. If the DRIVER variable is set, then it is re-made
-
-TARGET ?= $(DRIVER)
-MODS ?= $(filter-out tikztemp.tex $(BUTFILES) $(TARGET.parts) $(TARGET) $(LTARGET), $(shell ls *.tex)) $(MODS.extra)
-MODS.sms ?= $(filter-out $(MODS.sms.but), $(MODS:%.tex=%.sms) $(MODS.sms.extra))
-
-# the prefix files or the MODSLIBDIR variable must be specified by the calling Makefile
-MODS.pre ?= $(MODSLIBDIR)/pre.tex
-MODS.post ?= $(MODSLIBDIR)/post.tex
-
-# the modules that should get inputted in all.tex
-MODS4all ?= $(MODS:%.tex=%)
-########################### for cleaning ######################################
-DISTCLEAN += $(MODS.sms)
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.in b/macros/latex/contrib/stex/lib/make/Makefile.in
deleted file mode 100644
index e3d989874c..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.in
+++ /dev/null
@@ -1,3 +0,0 @@
-include $(STEXDIR)/lib/make/Makefile.base.in
-include $(STEXDIR)/lib/make/Makefile.latex.in
-include $(STEXDIR)/lib/make/Makefile.latexml.in
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.latex.in b/macros/latex/contrib/stex/lib/make/Makefile.latex.in
deleted file mode 100644
index 282beb40d8..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.latex.in
+++ /dev/null
@@ -1,33 +0,0 @@
-pdf: sms driver $(TARGET.pdf) $(LTARGET.pdf)
-mpdf: sms $(MODS.pdf)
-# LaTeX build rules:
-#
-# use non-interactive PDFLATEX (see above)
-#
-# _always_ delete pdf on error (otherwise, we end up with a corrupt
-# pdf file and make saying "nothing to do" on the next run )
-#
-# make will delete temporary files (toc,sms,aux) afterwards
-# (FIXME: why? should this be disabled or kept like that?)
-#
-# make pdf depend on its own .toc and .aux and global aux/sms files
-$(TARGET.pdf) $(LTARGET.pdf): %.pdf: %.tex $(MODS) $(TARGET.parts) $(IMG)
- $(PDFLATEX) $< || $(RM) $@
- @echo
- @if (test -e $(patsubst %.tex, %.idx, $<));\
- then makeindex $(patsubst %.tex, %.idx, $<); fi
- @echo
- @if (grep 'Please (re)run Biber' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
- then biber $(patsubst %.tex, %, $(firstword $<));fi
- @if (grep 'Please (re)run BibTeX' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
- then bibtex $(patsubst %.tex, %, $(firstword $<));fi
- @echo
- $(PDFLATEX) $< || $(RM) $@
- @echo
- @if (grep Rerun $(patsubst %.tex, %.log, $<) > /dev/null);\
- then $(PDFLATEX) $< || $(RM) $@; fi
- @if (grep Rerun $(patsubst %.tex, %.log, $<) > /dev/null);\
- then $(PDFLATEX) $< || $(RM) $@; fi
-
-$(MODS.pdf): %.pdf: %.tex
- $(PDFLATEX) -jobname=$(basename $<) "\nonstopmode\input{$(MODS.pre)}\begin{document}\input{$<}\end{document}" || $(RM) $@
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.latex.vars b/macros/latex/contrib/stex/lib/make/Makefile.latex.vars
deleted file mode 100644
index f41be4d1ee..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.latex.vars
+++ /dev/null
@@ -1,17 +0,0 @@
-TARGET.pdf = $(TARGET:%.tex=%.pdf)
-LTARGET.pdf = $(LTARGET:%.tex=%.pdf)
-MODS.pdf = $(MODS:%.tex=%.pdf)
-
-####################### Programs #######################
-# pdflatex: use non-interactive switches
-
-PDFLATEX = pdflatex -interaction batchmode -file-line-error
-#PDFLATEX = pdflatex
-
-########################### environment #############################
-TEXINPUTS := .:$(STEXSTYDIR)//:
-
-########################### cleaning #############################
-
-CLEAN += *~ *.log *.blg *.idx *.ilg *.out *.thm *.tmp
-DISTCLEAN += *.dvi *.aux *.toc *.bbl *.ind $(TARGET.pdf)
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.latexml.in b/macros/latex/contrib/stex/lib/make/Makefile.latexml.in
deleted file mode 100644
index f0e1731df4..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.latexml.in
+++ /dev/null
@@ -1,43 +0,0 @@
-omdoc: sms $(filter-out all.omdoc,$(TARGET.omdoc))
-mods: sms $(MODS.omdoc)
-
-############################ Running LaTeXML #############################
-$(TARGET.tex.xml): %.tex.xml: %.tex $(TARGET.parts)
- latexmlc $< $(LTXPATHS) --mode=standard --local --destination=$@ --log=$@.log\
-
-$(TARGET.xml): %.xml: %.tex.xml
- $(LATEXMLPOST) --destination=$@ $< >& $@.log\
- || echo "FATAL: latexmlpost crashed with fatal error on $<" > $@.log
-
-$(TARGET.sdomdoc): %.sdomdoc: %.xml $(STEXOXSL)
- $(STEXXSLT) -o $@ $(STEXOXSL) $<
-
-$(TARGET.omdoc): %.omdoc: %.tex $(TARGET.parts) $(LTSTY) $(STEXOXSL)
- latexmlc $< $(LTXPATHS) --local --mode=standard\
- --postdest=$(basename $<).omdoc\
- --log=$(basename $<).ltxlog --includestyles\
- --stylesheet=$(STEXOXSL) --nodefaultcss\
- --stylesheetparam=math-format:$(MATHFORMAT)\
- --post --openmath --pmml --summary
-
-$(MODS.tex.xml): %.tex.xml: %.tex $(LTSTY)
- latexmlc --preamble=$(MODS.pre) $< $(LTXPATHS) --local --mode=fragment --destination=$@ --log=$@.log --includestyles
-
-$(MODS.xml): %.xml: %.tex.xml
- $(LATEXMLPOST) --destination=$@ $< >& $@.log
-
-$(MODS.sdomdoc): %.sdomdoc: %.xml $(STEXOXSL)
- xsltproc -o $@ $(STEXOXSL) $< >& $@.log
-
-$(MODS.omdoc): %.omdoc: %.tex $(LTSTY) $(STEXOXSL)
- latexmlc --preamble=$(MODS.pre) $< $(LTXPATHS)\
- --local --mode=fragment\
- --postdest=$(basename $<).omdoc\
- --log=$(basename $<).ltxlog --includestyles\
- --stylesheet=$(STEXOXSL) --nodefaultcss\
- --post --openmath --pmml --summary
-
-errlog: latexml.errlog
-
-latexml.errlog: $(MODS.log)
- grep -i -e error -e Fatal $(MODS.log) > $@ || echo "No errors found" > $@
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.latexml.vars b/macros/latex/contrib/stex/lib/make/Makefile.latexml.vars
deleted file mode 100644
index 4dfb6848ce..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.latexml.vars
+++ /dev/null
@@ -1,48 +0,0 @@
-#################################### PATHS ###############################
-# the paths can be customized by setting the shell variable STEXDIR appropriately
-STEXXSLDIR = $(STEXDIR)/xsl
-STEXRNCDIR = $(STEXDIR)/rnc
-
-###################### Conversion Programs ###############################
-STEXLTXDIRS = modules statements sproof omtext omdoc sref presentation dcm reqdoc metakeys\
- mikoslides problem hwexam cmath etc
-
-LTXPATHS = --path=$(STEXSTYDIR) --path=$(STEXDIR)/schema/rng \
- $(STEXLTXDIRS:%=--path=$(STEXSTYDIR)/%)
-
-LATEXML = latexmlc $(LTXPATHS)
-LATEXMLPOST = latexmlpost --openmath --pmml --nocrossref --noscan --novalidate
-
-MATHFORMAT = om
-STEXXSLT = xsltproc --stringparam math-format $(MATHFORMAT)
-
-STEXOXSL = $(STEXXSLDIR)/omdocpost.xsl
-
-STEXRNG = $(shell ls $(STEXDIR)/rnc/*.rng)
-
-########################## Conversion and Formatting Targets ###########
-# the TARGET is the set of top-level TeX files that should be formatted or converted
-# Modules (MODS) are sTeX files without head and tail, so that they can be included
-# into other sTeX files. TARGET can be set by the including Makefile, MODS are
-# computed as as the remaining *.tex files.
-
-TARGET.tex.xml = $(TARGET:%.tex=%.tex.xml)
-TARGET.xml = $(TARGET:%.tex=%.xml)
-TARGET.omdoc = $(TARGET:%.tex=%.omdoc)
-TARGET.sdomdoc = $(TARGET:%.tex=%.sdomdoc)
-
-MODS.tex.xml = $(MODS:%.tex=%.tex.xml)
-MODS.xml = $(MODS:%.tex=%.xml)
-MODS.omdoc = $(MODS:%.tex=%.omdoc)
-MODS.sdomdoc = $(MODS:%.tex=%.sdomdoc)
-MODS.log = $(shell ls *.ltxlog)
-
-# the prefix files or the MODSLIBDIR variable must be specified by the calling Makefile
-MODS.pre ?= $(MODSLIBDIR)/pre.tex
-MODS.post ?= $(MODSLIBDIR)/post.tex
-
-########################### environment #############################
-TEXINPUTS := $(TEXINPUTS)$(STEXSTYDIR)//:
-
-CLEAN += $(TARGET.xml) $(TARGET.tex.xml) $(MODS.tex.xml) $(MODS.xml)
-DISTCLEAN += $(TARGET.omdoc) $(MODS.omdoc)
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.subdirs b/macros/latex/contrib/stex/lib/make/Makefile.subdirs
deleted file mode 100644
index 6dc774b8d0..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.subdirs
+++ /dev/null
@@ -1,6 +0,0 @@
-all pdf mpdf driver::
- @for d in $(MAKEDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) $@) done
-
-clean distclean::
- @for d in $(CLEANDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) $@) done
-
diff --git a/macros/latex/contrib/stex/lib/make/Makefile.vars b/macros/latex/contrib/stex/lib/make/Makefile.vars
deleted file mode 100644
index 55172aeb3e..0000000000
--- a/macros/latex/contrib/stex/lib/make/Makefile.vars
+++ /dev/null
@@ -1,3 +0,0 @@
-include $(STEXDIR)/lib/make/Makefile.base.vars
-include $(STEXDIR)/lib/make/Makefile.latex.vars
-include $(STEXDIR)/lib/make/Makefile.latexml.vars
diff --git a/macros/latex/contrib/stex/lib/make/README b/macros/latex/contrib/stex/lib/make/README
deleted file mode 100644
index 78419320a6..0000000000
--- a/macros/latex/contrib/stex/lib/make/README
+++ /dev/null
@@ -1,23 +0,0 @@
-This directory contains two Makefiles for inclusion into Makefile-based build systems.
-
-file contains
---------------------------------------------------------------------------------------
-Makefile.base.vars general variable declarations (include before all others)
-Makefile.base.in general rules (include before all others)
-Makefile.latexml.vars variable declarations for the LaTeXML conversion
-Makefile.latexml.in rules for producing OMDoc via LaTeXML
-Makefile.latex.vars variable declarations for LaTeX formatting
-Makefile.latex.in rules for LaTeX formatting
-Makefile.vars combines all *.vars above
-Makefile.in combines all *.in above
-
-The usual setup for this will be to create SVN externals
-- the deployed instance of sTeX (i.e. https://svn.kwarc.info/repos/sTeX/trunk or /latest)
-- to this directory
-and use the lines
-
-STEXDIR = <the sTeX external>
-include $(STEXDIR)/make/Makefile.vars
-include $(STEXDIR)/make/Makefile.in
-
-at appropriate places in the calling Makefile. It is crucial to set STEXDIR variable to make this setup work.
diff --git a/macros/latex/contrib/stex/source/Makefile b/macros/latex/contrib/stex/source/Makefile
new file mode 100644
index 0000000000..c4af5ba15d
--- /dev/null
+++ b/macros/latex/contrib/stex/source/Makefile
@@ -0,0 +1,5 @@
+# recurse into the directories.
+MAKEDIRS = stex extensions
+
+all package doc:
+ @for d in $(MAKEDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) $@) || exit $$?; done
diff --git a/macros/latex/contrib/stex/source/extensions/Makefile b/macros/latex/contrib/stex/source/extensions/Makefile
new file mode 100644
index 0000000000..6a6b18a4c8
--- /dev/null
+++ b/macros/latex/contrib/stex/source/extensions/Makefile
@@ -0,0 +1,24 @@
+DTX = $(shell ls *.dtx)
+DOC = $(DTX:%.dtx=%.pdf)
+INS = extensions.ins
+
+PDFLATEX = pdflatex -interaction=batchmode
+TEXDIR = ../../tex
+TEXINPUTS = $(TEXDIR)//:
+
+all: package doc
+
+doc: $(DOC)
+
+package: $(DTX) $(INS)
+ $(PDFLATEX) $(INS)
+ mv *.sty *.cls $(TEXDIR)
+
+$(DOC): %.pdf: %.dtx
+ $(PDFLATEX) $<
+ biber -q $(basename $<)
+ $(PDFLATEX) $<
+
+
+echo:
+ @echo $(DTX)
diff --git a/macros/latex/contrib/stex/sty/omdoc/omdoc.dtx b/macros/latex/contrib/stex/source/extensions/document-structure.dtx
index 5cc680fc25..80c95d643b 100644
--- a/macros/latex/contrib/stex/sty/omdoc/omdoc.dtx
+++ b/macros/latex/contrib/stex/source/extensions/document-structure.dtx
@@ -1,119 +1,89 @@
% \iffalse meta-comment
% A LaTeX Class and Package for OMDoc Document Structures
-% Copyright (c) 2016 Michael Kohlhase, all rights reserved
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
% this file is released under the
% LaTeX Project Public License (LPPL)
%
% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package|cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{omdoc}[2019/03/20 v1.3 OMDoc document Structure]
-%<cls>\ProvidesClass{omdoc}[2019/03/20 v1.3 OMDoc Documents]
+% http://github.com/sLaTeX/sTeX/
+%
%
%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{omdoc}
-\usepackage{omtext}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\usepackage{paralist}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
+\def\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
\begin{document}
-\RecordChanges
-\DocInput{omdoc.dtx}
+ \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
-%
-%\CheckSum{385}
-%
-% \changes{v0.1}{2006/1/17}{First Version}
-% \changes{v0.2}{2006/7/11}{added OMDoc class}
-% \changes{v0.3}{2007/09/09}{moved omtext and friends here from the statements package}
-% \changes{v0.4}{2008/09/06}{added quotes}
-% \changes{v0.5}{2008/03/28}{more package/class options}
-% \changes{v0.7}{2009/11/24}{giving keyval arguments to the document environment}
-% \changes{v1.0}{2010/05/25}{separated out \texttt{omtext.dtx}}
-% \changes{v1.1}{2012/02/14}{integrated \texttt{etoolbox} package}
-% \changes{v1.2}{2014/01/12}{front/backmatter}
-% \changes{v1.3}{2015/11/18}{removing keyval arg from document in favor of
-% \texttt{\textbackslash documentkeys} macro}
-% \changes{v1.3}{2018/09/10}{global variables and switches}
-% \changes{v1.3}{2018/12/03}{changed to keyval class/package options, allowed arbitrary classes}
+% %^^A \changes{v0.1}{2006/1/17}{First Version}
+%
+% \title{document-structure: Semantic Markup for Open Mathematical Documents in {\LaTeX}
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
%
-%
-% \MakeShortVerb{\|}
-%
-% \def\omdoc{OMDoc}
-% \def\latexml{{\LaTeX}ML}
-% \title{{\texttt{omdoc.sty/cls}}: Semantic Markup for Open Mathematical Documents in {\LaTeX}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
% \maketitle
%
-% \begin{abstract}
-% The |omdoc| package is part of the {\sTeX} collection, a version of {\TeX/\LaTeX} that
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{document-structure} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/document-structure}
+% \fi
+%
+%
+% \begin{documentation}\label{pkg:documentstructure:doc}
+%
+% The |document-structure| package is part of the \sTeX collection, a version of {\TeX/\LaTeX} that
% allows to markup {\TeX/\LaTeX} documents semantically without leaving the document
% format, essentially turning {\TeX/\LaTeX} into a document format for mathematical
% knowledge management (MKM).
%
% This package supplies an infrastructure for writing {\omdoc} documents in {\LaTeX}.
-% This includes a simple structure sharing mechanism for {\sTeX} that allows to to move
+% This includes a simple structure sharing mechanism for \sTeX that allows to to move
% from a copy-and-paste document development model to a copy-and-reference model, which
% conserves space and simplifies document management. The augmented structure can be
-% used by MKM systems for added-value services, either directly from the {\sTeX}
+% used by MKM systems for added-value services, either directly from the \sTeX
% sources, or after translation.
-% \end{abstract}
-%
-%\newpage\tableofcontents\newpage
+% \begin{sfragment}[id=sec:STR]{Introduction}
%
-%\begin{omgroup}[id=sec:STR]{Introduction}
-%
-% {\sTeX} is a version of {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX} documents
+% \sTeX is a version of {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX} documents
% semantically without leaving the document format, essentially turning {\TeX/\LaTeX}
% into a document format for mathematical knowledge management (MKM). The package
% supports direct translation to the {\omdoc} format~\cite{Kohlhase:OMDoc1.2}
%
-% The |omdoc| package supplies macros and environment that allow to label document
+% The |document-structure| package supplies macros and environments that allow to label document
% fragments and to reference them later in the same document or in other documents. In
% essence, this enhances the document-as-trees model to
% documents-as-directed-acyclic-graphs (DAG) model. This structure can be used by MKM
-% systems for added-value services, either directly from the {\sTeX} sources, or after
-% translation. Currently, trans-document referencing provided by this package can only
-% be used in the {\sTeX} collection.
+% systems for added-value services, either directly from the \sTeX sources, or after
+% translation. Currently, trans-document referencing provided by this package can only be
+% used in the \sTeX collection.
%
% DAG models of documents allow to replace the ``Copy and Paste'' in the source document
% with a label-and-reference model where document are shared in the document source and
% the formatter does the copying during document
% formatting/presentation.\ednote{integrate with latexml's XMRef in the Math mode.}
-% \end{omgroup}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:user]{The User Interface}
+% \begin{sfragment}[id=sec:user]{The User Interface}
%
-% The |omdoc| package generates two files: |omdoc.cls|, and |omdoc.sty|. The {\omdoc}
+% The |document-structure| package generates two files: |document-structure.cls|, and |document-structure.sty|. The {\omdoc}
% class is a minimally changed variant of the standard |article| class that includes the
-% functionality provided by |omdoc.sty|. The rest of the documentation pertains to the
-% functionality introduced by |omdoc.sty|.
+% functionality provided by |document-structure.sty|. The rest of the documentation pertains to the
+% functionality introduced by |document-structure.sty|.
%
-% \begin{omgroup}[id=sec:user:options]{Package and Class Options}
+% \begin{sfragment}[id=sec:user:options]{Package and Class Options}
%
-% The |omdoc| class accept the following options:
+% The |document-strcture| class accept the following options:
% \begin{center}
% \begin{tabular}{|l|p{10cm}|}\hline
% \texttt{class=\meta{name}} & load \meta{name}|.cls| instead of |article.cls|\\\hline
@@ -124,13 +94,13 @@
% \texttt{showmods} & show modules; see |modules.sty|\\\hline
% \texttt{extrefs} & allow external references; see |sref.sty|\\\hline
% \texttt{defindex} & index definienda; see |statements.sty|\\\hline
-% \texttt{mh} & MathHub support; see~\cite{Kohlhase:mss:ctan}\\\hline
+% \texttt{minimal} & for testing; do not load any \sTeX packages\\\hline
% \end{tabular}
% \end{center}
-% The |omdoc| package accepts the same except the first two.
-% \end{omgroup}
+% The |document-structure| package accepts the same except the first two.
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:user:struct]{Document Structure}
+% \begin{sfragment}[id=sec:user:struct]{Document Structure}
%
% The top-level \DescribeEnv{document}|document| environment can be given key/value
% information by the \DescribeMacro{\documentkeys}|\documentkeys| macro in the
@@ -140,7 +110,7 @@
% used to give an identifier to the \texttt{omdoc} element resulting from the {\latexml}
% transformation.
%
-% The structure of the document is given by the \DescribeEnv{omgroup}|omgroup|
+% The structure of the document is given by the \DescribeEnv{sfragment}|omgroup|
% environment just like in {\omdoc}. In the {\LaTeX} route, the |omgroup| environment is
% flexibly mapped to sectioning commands, inducing the proper sectioning level from the
% nesting of |omgroup| environments. Correspondingly, the |omgroup| environment takes an
@@ -148,23 +118,22 @@
% (section) title of the omgroup. The optional metadata argument has the keys
% \DescribeMacro{id}|id| for an identifier, \DescribeMacro{creators}|creators| and
% \DescribeMacro{contributors}|contributors| for the Dublin Core
-% metadata~\cite{DCMI:dmt03}; see~\ctancite{Kohlhase:dcm} for details of the format. The
+% metadata~\cite{DCMI:dmt03}; see~\cite{Kohlhase:dcm:git} for details of the format. The
% \DescribeMacro{short}|short| allows to give a short title for the generated
% section. If the title contains semantic macros, they need to be protected by
% |\protect|, and we need to give the \DescribeMacro{loadmodules}|loadmodules| key it
% needs no value. For instance we would have
% \begin{verbatim}
-% \begin{module}{foo}
+% \begin{smodule}{foo}
% \symdef{bar}{B^a_r}
% ...
-% \begin{omgroup}[id=barderiv,loadmodules]
-% {Introducing $\protect\bar$ Derivations}
+% \begin{sfragment}[id=sec.barderiv,loadmodules]{Introducing $\protect\bar$ Derivations}
% \end{verbatim}
%
% \sTeX automatically computes the sectioning level, from the nesting of |omgroup|
% environments. But sometimes, we want to skip levels (e.g. to use a subsection* as an
-% introduction for a chapter). Therefore the |omdoc| package provides a variant
-% \DescribeEnv{blindomgroup}|blindomgroup| that does not produce markup, but increments
+% introduction for a chapter). Therefore the |document-structure| package provides a variant
+% \DescribeEnv{blindfragment}|blindomgroup| that does not produce markup, but increments
% the sectioning level and logically groups document parts that belong together, but
% where traditional document markup relies on convention rather than explicit
% markup. The |blindomgroup| environment is useful e.g. for creating frontmatter at the
@@ -184,28 +153,33 @@
% \begin{exfig}
% \begin{verbatim}
% \begin{document}
-% \begin{blindomgroup}
-% \begin{blindomgroup}
+% \begin{blindfragment}
+% \begin{blindfragment}
% \begin{frontmatter}
% \maketitle\newpage
-% \begin{omgroup}[display=flow]{Preface}
+% \begin{sfragment}[display=flow]{Preface}
% ... <<preface>> ...
-% \end{omgroup}
+% \end{sfragment}
% \clearpage\setcounter{tocdepth}{4}\tableofcontents\clearpage
% \end{frontmatter}
-% \end{blindomgroup}
+% \end{blindfragment}
% ... <<introductory remarks>> ...
-% \end{blindomgroup}
-% \begin{omgroup}{Introduction}
+% \end{blindfragment}
+% \begin{sfragment}{Introduction}
% ... <<intro>> ...
-% \end{omgroup}
+% \end{sfragment}
% ... <<more chapters>> ...
% \bibliographystyle{alpha}\bibliography{kwarc}
% \end{document}
-% \end{verbatim}\vspace*{-2em}
+% \end{verbatim}
+% \vspace*{-2em}
% \caption{A typical Document Structure of a Book}\label{fig:docstruct}
% \end{exfig}
-%
+%
+% The \DescribeMacro{\skipomgroup}|\skipomgroup| ``skips an |omgroup|'', i.e. it just
+% steps the respective sectioning counter. This macro is useful, when we want to keep two
+% documents in sync structurally, so that section numbers match up: Any section that is
+% left out in one becomes a |\skipomgroup|.
%
% The \DescribeMacro{\currentsectionlevel}|\currentsectionlevel| macro supplies the name
% of the current sectioning level, e.g. ``chapter'', or
@@ -213,13 +187,13 @@
% capitalized variant. They are useful to write something like ``In this
% |\currentsectionlevel|, we will\ldots'' in an |omgroup| environment, where we do not
% know which sectioning level we will end up.
-% \end{omgroup}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:user:ignore]{Ignoring Inputs}
+% \begin{sfragment}[id=sec:user:ignore]{Ignoring Inputs}
%
% The \DescribeEnv{ignore}|ignore| environment can be used for hiding text parts from the
% document structure. The body of the environment is not PDF or DVI output unless the
-% \DescribeMacro{showignores}|showignores| option is given to the |omdoc| class or
+% \DescribeMacro{showignores}|showignores| option is given to the |document-structure| class or
% |package|. But in the generated {\omdoc} result, the body is marked up with a |ignore|
% element. This is useful in two situations. For
% \begin{description}
@@ -227,14 +201,28 @@
% \item[narrative/content markup] In {\stex} we mark up narrative-structured documents. In
% the generated {\omdoc} documents we want to be able to cache content objects that are
% not directly visible. For instance in the |statements|
-% package~\ctancite{Kohlhase:smms} we use the |\inlinedef| macro to mark up phrase-level
+% package~\cite{Kohlhase:smms:git} we use the |\inlinedef| macro to mark up phrase-level
% definitions, which verbalize more formal definitions. The latter can be hidden by an
% ignore and referenced by the |verbalizes| key in |\inlinedef|.
% \end{description}
-%
-% \end{omgroup}
%
-% \begin{omgroup}[id=sec:user:sharing]{Structure Sharing}
+% For prematurely stopping the formatting of a document, \sTeX provides the
+% \DescribeMacro{\prematurestop}|\prematurestop| macro. It can be used everywhere in a
+% document and ignores all input after that -- backing out of the omgroup environment as
+% needed. After that -- and before the implicit |\end{document}| it calls the internal
+% \DescribeMacro{\afterprematurestop}|\afterprematurestop|, which can be customized to do
+% additional cleanup or e.g. print the bibliography.
+%
+% |\prematurestop| is useful when one has a driver file, e.g. for a course taught multiple
+% years and wants to generate course notes up to the current point in the lecture. Instead
+% of commenting out the remaining parts, one can just move the |\prematurestop| macro.
+% This is especially useful, if we need the rest of the file for processing, e.g. to
+% generate a theory graph of the whole course with the already-covered parts marked up as
+% an overview over the progress; see |import_graph.py| from the |lmhtools|
+% utilities~\cite{lmhtools:github:on}.
+% \end{sfragment}
+%
+% \begin{sfragment}[id=sec:user:sharing]{Structure Sharing}
%
% The \DescribeMacro{\STRlabel}|\STRlabel| macro takes two arguments: a label and the
% content and stores the the content for later use by
@@ -248,9 +236,9 @@
% may mean) in cases, where the source document is not formatted for presentation, but
% is transformed into some content markup format.\ednote{document LMID und LMXREf here
% if we decide to keep them.}
-% \end{omgroup}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:user:gvars]{Global Variables}
+% \begin{sfragment}[id=sec:user:gvars]{Global Variables}
%
% Text fragments and modules can be made more re-usable by the use of global
% variables. For instance, the admin section of a course can be made course-independent
@@ -265,20 +253,20 @@
% variable: the macro call |\ifSGvar{|\meta{vname}|}{|\meta{val}|}{|\meta{ctext}|}|
% tests the content of the global variable \meta{vname}, only if (after expansion) it is
% equal to \meta{val}, the conditional text \meta{ctext} is formatted.
-% \end{omgroup}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:user:colors]{Colors}
+% \begin{sfragment}[id=sec:user:colors]{Colors}
%
-% For convenience, the |omdoc| package defines a couple of color macros for the |color|
+% For convenience, the |document-structure| package defines a couple of color macros for the |color|
% package: For instance \DescribeMacro{\blue}|\blue| abbreviates |\textcolor{blue}|, so
% that |\blue{|\meta{something}|}| writes \meta{something} in blue. The macros
% \DescribeMacro{\red}|\red| \DescribeMacro{...}|\green|, |\cyan|, |\magenta|, |\brown|,
% |\yellow|, |\orange|, |\gray|, and finally \DescribeMacro{\black}|\black| are
% analogous.
-% \end{omgroup}
-% \end{omgroup}
+% \end{sfragment}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:limitations]{Limitations}
+% \begin{sfragment}[id=sec:limitations]{Limitations}
%
% In this section we document known limitations. If you want to help alleviate them,
% please feel free to contact the package author. Some of them are currently discussed in
@@ -288,115 +276,148 @@
% are given in the |omgroup| titles, then they sometimes are not defined by the time the
% heading is formatted. Need to look into how the headings are made.
% \end{enumerate}
-% \end{omgroup}
+% \end{sfragment}
%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\newpage\printbibliography}\newpage
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:documentstructure:impl}
+%
+% \begin{sfragment}{document-structure.sty Implementation}
%
-% \begin{omgroup}[id=sec:impl:cls]{Implementation: The OMDoc Class}
+% \begin{sfragment}[id=sec:impl:cls]{The document-structure Class}
%
-% The functionality is spread over the |omdoc| class and package. The class provides the
-% |document| environment and the |omdoc| element corresponds to it, whereas the
+% The functionality is spread over the |document-structure| class and package. The class provides the
+% |document| environment and the |document-structure| element corresponds to it, whereas the
% package provides the concrete functionality.
-%
-% \begin{omgroup}[id=sec:impl:cls:options]{Class Options}
-% To initialize the |omdoc| class, we declare and process the necessary options using
-% the |kvoptions| package for key/value options handling. For
-% |omdoc.cls| this is quite simple. We have options |report| and |book|, which set the
-% \DescribeMacro{\omdoc@cls@class}|\omdoc@cls@class| macro and pass on the macro to |omdoc.sty|
-% for further processing.
-%
+%
% \begin{macrocode}
%<*cls>
-\RequirePackage{etoolbox}
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=omdoc@cls,prefix=omdoc@cls@}
-\DeclareStringOption[article]{class}
-\AddToKeyvalOption*{class}{\PassOptionsToPackage{class=\omdoc@cls@class}{omdoc}}
+%<@@=document_structure>
+\ProvidesExplClass{document-structure}{2022/02/24}{3.0.0}{Modular Document Structure Class}
+\RequirePackage{l3keys2e}
% \end{macrocode}
%
-% the following options are deprecated.
+% \begin{sfragment}[id=sec:impl:cls:options]{Class Options}
+% To initialize the |document-structure| class, we declare and process the necessary options using
+% the |kvoptions| package for key/value options handling. For
+% |omdoc.cls| this is quite simple. We have options |report| and |book|, which set the
+% \DescribeMacro{\omdoc@cls@class}|\omdoc@cls@class| macro and pass on the macro to |omdoc.sty|
+% for further processing.
%
% \begin{macrocode}
-\DeclareVoidOption{report}{\def\omdoc@cls@class{report}%
-\ClassWarning{omdoc}{the option 'report' is deprecated, use 'class=report', instead}}
-\DeclareVoidOption{book}{\def\omdoc@cls@class{book}%
-\ClassWarning{omdoc}{the option 'part' is deprecated, use 'class=book', instead}}
-\DeclareVoidOption{bookpart}{\def\omdoc@cls@class{book}%
-\PassOptionsToPackage{topsect=chapter}{omdoc}%
-\ClassWarning{omdoc}{the option 'bookpart' is deprecated, use 'class=book,topsect=chapter', instead}}
-% \end{macrocode}
-% the rest of the options are only passed on to |omdoc.sty| and the class selected by the
-% first options. We need to load the |etoolbox| package early for |\@xappto|.
-% \begin{macrocode}
-\def\@omdoc@cls@docopt{}
-\DeclareDefaultOption{%
-\ifx\@omdoc@cls@docopt\@empty%
-\xdef\@omdoc@cls@docopt{\CurrentOption}%
-\else\xappto\@omdoc@cls@docopt{,\CurrentOption}%
-\fi}%
-\PassOptionsToPackage{\CurrentOption}{omdoc}
-\PassOptionsToPackage{\CurrentOption}{stex}
-\ProcessKeyvalOptions{omdoc@cls}
+\keys_define:nn{ document-structure / pkg }{
+ class .str_set_x:N = \c_document_structure_class_str,
+ minimal .bool_set:N = \c_document_structure_minimal_bool,
+ report .code:n = {
+ \ClassWarning{document-structure}{the option 'report' is deprecated, use 'class=report', instead}
+ \str_set:Nn \c_document_structure_class_str {report}
+ },
+ book .code:n = {
+ \ClassWarning{document-structure}{the option 'book' is deprecated, use 'class=book', instead}
+ \str_set:Nn \c_document_structure_class_str {book}
+ },
+ bookpart .code:n = {
+ \ClassWarning{document-structure}{the option 'bookpart' is deprecated, use 'class=book,topsect=chapter', instead}
+ \str_set:Nn \c_document_structure_class_str {book}
+ \str_set:Nn \c_document_structure_topsect_str {chapter}
+ },
+ docopt .str_set_x:N = \c_document_structure_docopt_str,
+ unknown .code:n = {
+ \PassOptionsToPackage{ \CurrentOption }{ document-structure }
+ }
+}
+\ProcessKeysOptions{ document-structure / pkg }
+\str_if_empty:NT \c_document_structure_class_str {
+ \str_set:Nn \c_document_structure_class_str {article}
+}
+\exp_after:wN\LoadClass\exp_after:wN[\c_document_structure_docopt_str]
+ {\c_document_structure_class_str}
+
% \end{macrocode}
+% \end{sfragment}
+%
+% \begin{sfragment}[id=sec:impl:cls:document]{Beefing up the \texttt{document} environment}
%
-% We load |article.cls|, and the desired packages. For the {\latexml} bindings, we make
-% sure the right packages are loaded.
+% Now, -- unless the option |minimal| is defined -- we include the |stex| package
%
% \begin{macrocode}
-\LoadClass[\@omdoc@cls@docopt]{\omdoc@cls@class}
-\RequirePackage{omdoc}
-\RequirePackage{stex}
+\RequirePackage{document-structure}
+\bool_if:NF \c_document_structure_minimal_bool {
% \end{macrocode}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:cls:document]{Beefing up the \texttt{document} environment}
%
-% Now, we will define the environments we need. The top-level one is the |document|
-% environment, which we redefined so that we can provide keyval arguments.
+% And define the environments we need. The top-level one is the |document| environment,
+% which we redefined so that we can provide keyval arguments.
%
% \begin{environment}{document}
% For the moment we do not use them on the {\LaTeX} level, but the document identifier
% is picked up by {\latexml}.\ednote{faking documentkeys for now. @HANG, please implement}
% \begin{macrocode}
-\srefaddidkey{document}
-\newcommand\documentkeys[1]{\metasetkeys{document}{#1}}
-\let\orig@document=\document
-\renewcommand{\document}[1][]{\metasetkeys{document}{#1}\orig@document}
-%</cls>
+\keys_define:nn { document-structure / document }{
+ id .str_set_x:N = \c_document_structure_document_id_str
+}
+\let\_@@_orig_document=\document
+\renewcommand{\document}[1][]{
+ \keys_set:nn{ document-structure / document }{ #1 }
+ \stex_ref_new_doc_target:n { \c_document_structure_document_id_str }
+ \_@@_orig_document
+}
% \end{macrocode}
% \end{environment}
-% \end{omgroup}
-% \end{omgroup}
+%
+% Finally, we end the test for the |minimal| option.
+%
+% \begin{macrocode}
+}
+%</cls>
+% \end{macrocode}
+% \end{sfragment}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:impl:sty]{Implementation: OMDoc Package}
+% \begin{sfragment}[id=sec:impl:sty]{Implementation: document-structure Package}
+%
+% \begin{macrocode}
+%<*package>
+\ProvidesExplPackage{document-structure}{2022/02/24}{3.0.0}{Modular Document Structure}
+\RequirePackage{l3keys2e}
+% \end{macrocode}
%
-% \begin{omgroup}[id=sec:impl:options]{Package Options}
+% \begin{sfragment}[id=sec:impl:options]{Package Options}
%
% We declare some switches which will modify the behavior according to the package
% options. Generally, an option |xxx| will just set the appropriate switches to true
% (otherwise they stay false).
%
+%
% \begin{macrocode}
-%<*package>
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=omdoc@sty,prefix=omdoc@sty@}
-\DeclareBoolOption{mh}
-\DeclareStringOption[article]{class}
-\DeclareBoolOption{showignores}
-\DeclareStringOption[section]{topsect}
-\newcount\section@level
-\DeclareDefaultOption{\PassOptionsToPackage{\CurrentOption}{sref}}
-\ProcessKeyvalOptions{omdoc@sty}
+
+\keys_define:nn{ document-structure / pkg }{
+ class .str_set_x:N = \c_document_structure_class_str,
+ topsect .str_set_x:N = \c_document_structure_topsect_str,
+% showignores .bool_set:N = \c_document_structure_showignores_bool,
+}
+\ProcessKeysOptions{ document-structure / pkg }
+\str_if_empty:NT \c_document_structure_class_str {
+ \str_set:Nn \c_document_structure_class_str {article}
+}
+\str_if_empty:NT \c_document_structure_topsect_str {
+ \str_set:Nn \c_document_structure_topsect_str {section}
+}
% \end{macrocode}
%
-% Then we need to set up the packages by requiring the |sref| package to be loaded.
+% Then we need to set up the packages by requiring the |sref| package to be loaded,
+% and set up triggers for other languages
%
% \begin{macrocode}
-\ifomdoc@sty@mh\RequirePackage{omdoc-mh}\fi
-\RequirePackage{sref}
\RequirePackage{xspace}
\RequirePackage{comment}
-\RequirePackage{pathsuris}
+\AddToHook{begindocument}{
+ \ltx@ifpackageloaded{babel}{
+ \clist_set:Nx \l_tmpa_clist {\bbl@loaded}
+ \clist_if_in:NnT \l_tmpa_clist {ngerman}{
+ \makeatletter\input{omdoc-ngerman.ldf}\makeatother
+ }
+ }{}
+}
% \end{macrocode}
%
% Finally, we set the \DescribeMacro{\section@level}|\section@level| macro that governs
@@ -405,16 +426,31 @@
% levels passed in via the |topsect| option.
%
% \begin{macrocode}
-\section@level=2
-\ifdefstring{\omdoc@sty@class}{book}{\section@level=0}{}
-\ifdefstring{\omdoc@sty@class}{report}{\section@level=0}{}
-\ifdefstring{\omdoc@sty@topsect}{part}{\section@level=0}{}
-\ifdefstring{\omdoc@sty@topsect}{chapter}{\section@level=1}{}
-% \end{macrocode}
-%
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:struct]{Document Structure}
+\int_new:N \l_document_structure_section_level_int
+\str_case:VnF \c_document_structure_topsect_str {
+ {part}{
+ \int_set:Nn \l_document_structure_section_level_int {0}
+ }
+ {chapter}{
+ \int_set:Nn \l_document_structure_section_level_int {1}
+ }
+}{
+ \str_case:VnF \c_document_structure_class_str {
+ {book}{
+ \int_set:Nn \l_document_structure_section_level_int {0}
+ }
+ {report}{
+ \int_set:Nn \l_document_structure_section_level_int {0}
+ }
+ }{
+ \int_set:Nn \l_document_structure_section_level_int {2}
+ }
+}
+% \end{macrocode}
+%
+% \end{sfragment}
+%
+% \begin{sfragment}[id=sec:impl:struct]{Document Structure}
%
% The structure of the document is given by the |omgroup| environment just like in
% OMDoc. The hierarchy is adjusted automatically according to the {\LaTeX} class in
@@ -432,13 +468,31 @@
\newcommand\Currentsectionlevel{\expandafter\MakeUppercase\current@section@level\xspace}%
% \end{macrocode}
% \end{macro}
-%
-% \begin{environment}{blindomgroup}
-% \begin{macrocode}
+%
+% \begin{macro}{\skipomgroup}
+% \begin{macrocode}
+\cs_new_protected:Npn \skipomgroup {
+ \ifcase\l_document_structure_section_level_int
+ \or\stepcounter{part}
+ \or\stepcounter{chapter}
+ \or\stepcounter{section}
+ \or\stepcounter{subsection}
+ \or\stepcounter{subsubsection}
+ \or\stepcounter{paragraph}
+ \or\stepcounter{subparagraph}
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{blindfragment}
+% \begin{macrocode}
\newcommand\at@begin@blindomgroup[1]{}
-\newenvironment{blindomgroup}
-{\advance\section@level by 1\at@begin@blindomgroup\setion@level}
-{\advance\section@level by -1}
+\newenvironment{blindfragment}
+{
+ \int_incr:N\l_document_structure_section_level_int
+ \at@begin@blindomgroup\l_document_structure_section_level_int
+}{}
% \end{macrocode}
% \end{environment}
%
@@ -446,9 +500,10 @@
% convenience macro: |\omgroup@nonum{|\meta{level}|}{|\meta{title}|}| makes an unnumbered
% sectioning with title \meta{title} at level \meta{level}.
% \begin{macrocode}
-\newcommand\omgroup@nonum[2]{%
-\ifx\hyper@anchor\@undefined\else\phantomsection\fi%
-\addcontentsline{toc}{#1}{#2}\@nameuse{#1}*{#2}}
+\newcommand\omgroup@nonum[2]{
+ \ifx\hyper@anchor\@undefined\else\phantomsection\fi
+ \addcontentsline{toc}{#1}{#2}\@nameuse{#1}*{#2}
+}
% \end{macrocode}
% \end{macro}
%
@@ -459,38 +514,53 @@
% depends on whether the |rdfmeta| package has been loaded. In the end we call
% |\sref@label@id| to enable crossreferencing.
% \begin{macrocode}
-\newcommand\omgroup@num[2]{%
-\edef\@@ID{\sref@id}
-\ifx\omgroup@short\@empty% no short title
-\@nameuse{#1}{#2}%
-\else% we have a short title
-\@ifundefined{rdfmeta@sectioning}%
- {\@nameuse{#1}[\omgroup@short]{#2}}%
- {\@nameuse{rdfmeta@#1@old}[\omgroup@short]{#2}}%
-\fi%
-\sref@label@id@arg{\omdoc@sect@name~\@nameuse{the#1}}\@@ID}
+\newcommand\omgroup@num[2]{
+ \tl_if_empty:NTF \l_@@_omgroup_short_tl {
+ \@nameuse{#1}{#2}
+ }{
+ \cs_if_exist:NTF\rdfmeta@sectioning{
+ \@nameuse{rdfmeta@#1@old}[\l_@@_omgroup_short_tl]{#2}
+ }{
+ \@nameuse{#1}[\l_@@_omgroup_short_tl]{#2}
+ }
+ }
+%\sref@label@id@arg{\omdoc@sect@name~\@nameuse{the#1}}\omgroup@id
+}
% \end{macrocode}
% \end{macro}
%
-% \begin{environment}{omgroup}
-% \begin{macrocode}
-\def\@true{true}
-\def\@false{false}
-\srefaddidkey{omgroup}
-\addmetakey{omgroup}{date}
-\addmetakey{omgroup}{creators}
-\addmetakey{omgroup}{contributors}
-\addmetakey{omgroup}{srccite}
-\addmetakey{omgroup}{type}
-\addmetakey*{omgroup}{short}
-\addmetakey*{omgroup}{display}
-\addmetakey[false]{omgroup}{loadmodules}[true]
+% \begin{environment}{sfragment}
+% \begin{macrocode}
+\keys_define:nn { document-structure / omgroup }{
+ id .str_set_x:N = \l_@@_omgroup_id_str,
+ date .str_set_x:N = \l_@@_omgroup_date_str,
+ creators .clist_set:N = \l_@@_omgroup_creators_clist,
+ contributors .clist_set:N = \l_@@_omgroup_contributors_clist,
+ srccite .tl_set:N = \l_@@_omgroup_srccite_tl,
+ type .tl_set:N = \l_@@_omgroup_type_tl,
+ short .tl_set:N = \l_@@_omgroup_short_tl,
+ display .tl_set:N = \l_@@_omgroup_display_tl,
+ intro .tl_set:N = \l_@@_omgroup_intro_tl,
+ loadmodules .bool_set:N = \l_@@_omgroup_loadmodules_bool
+}
+\cs_new_protected:Nn \_@@_omgroup_args:n {
+ \str_clear:N \l_@@_omgroup_id_str
+ \str_clear:N \l_@@_omgroup_date_str
+ \clist_clear:N \l_@@_omgroup_creators_clist
+ \clist_clear:N \l_@@_omgroup_contributors_clist
+ \tl_clear:N \l_@@_omgroup_srccite_tl
+ \tl_clear:N \l_@@_omgroup_type_tl
+ \tl_clear:N \l_@@_omgroup_short_tl
+ \tl_clear:N \l_@@_omgroup_display_tl
+ \tl_clear:N \l_@@_omgroup_intro_tl
+ \bool_set_false:N \l_@@_omgroup_loadmodules_bool
+ \keys_set:nn { document-structure / omgroup } { #1 }
+}
% \end{macrocode}
% we define a switch for numbering lines and a hook for the beginning of groups: The
% \DescribeMacro{\at@begin@omgroup}|\at@begin@omgroup| macro allows customization. It is
% run at the beginning of the |omgroup|, i.e. after the section heading.
% \begin{macrocode}
-\newif\if@@num\@@numtrue
\newif\if@mainmatter\@mainmattertrue
\newcommand\at@begin@omgroup[3][]{}
% \end{macrocode}
@@ -499,148 +569,220 @@
% own key/value interface for customization.
%
% \begin{macrocode}
-\addmetakey{omdoc@sect}{name}
-\addmetakey[false]{omdoc@sect}{clear}[true]
-\addmetakey{omdoc@sect}{ref}
-\addmetakey[false]{omdoc@sect}{num}[true]
-\newcommand\omdoc@sectioning[3][]{\metasetkeys{omdoc@sect}{#1}%
-\ifx\omdoc@sect@clear\@true\cleardoublepage\fi%
-\if@@num% numbering not overridden by frontmatter, etc.
-\ifx\omdoc@sect@num\@true\omgroup@num{#2}{#3}\else\omgroup@nonum{#2}{#3}\fi%
-\def\current@section@level{\omdoc@sect@name}%
-\else\omgroup@nonum{#2}{#3}%
-\fi}% if@@num
+\keys_define:nn { document-structure / sectioning }{
+ name .str_set_x:N = \l_@@_sect_name_str ,
+ ref .str_set_x:N = \l_@@_sect_ref_str ,
+ clear .bool_set:N = \l_@@_sect_clear_bool ,
+ clear .default:n = {true} ,
+ num .bool_set:N = \l_@@_sect_num_bool ,
+ num .default:n = {true}
+}
+\cs_new_protected:Nn \_@@_sect_args:n {
+ \str_clear:N \l_@@_sect_name_str
+ \str_clear:N \l_@@_sect_ref_str
+ \bool_set_false:N \l_@@_sect_clear_bool
+ \bool_set_false:N \l_@@_sect_num_bool
+ \keys_set:nn { document-structure / sectioning } { #1 }
+}
+\newcommand\omdoc@sectioning[3][]{
+ \_@@_sect_args:n {#1 }
+ \let\omdoc@sect@name\l_@@_sect_name_str
+ \bool_if:NT \l_@@_sect_clear_bool { \cleardoublepage }
+ \if@mainmatter% numbering not overridden by frontmatter, etc.
+ \bool_if:NTF \l_@@_sect_num_bool {
+ \omgroup@num{#2}{#3}
+ }{
+ \omgroup@nonum{#2}{#3}
+ }
+ \def\current@section@level{\omdoc@sect@name}
+ \else
+ \omgroup@nonum{#2}{#3}
+ \fi
+}% if@mainmatter
% \end{macrocode}
% and another one, if redefines the |\addtocontentsline| macro of {\LaTeX} to import the
-% respective macros. It takes as an argument a list of module names.\ednote{MK: the
-% extension sms is hard-coded here, but should not be. This will not work in multilingual
-% settings.}
+% respective macros. It takes as an argument a list of module names.
% \begin{macrocode}
\newcommand\omgroup@redefine@addtocontents[1]{%
-\edef\@@import{#1}%
-\@for\@I:=\@@import\do{%
-\edef\@path{\csname module@\@I @path\endcsname}%
-\@ifundefined{tf@toc}\relax%
- {\protected@write\tf@toc{}{\string\@requiremodules{\@path}{sms}}}}
-\ifx\hyper@anchor\@undefined% hyperref.sty loaded?
-\def\addcontentsline##1##2##3{%
-\addtocontents{##1}{\protect\contentsline{##2}{\string\withusedmodules{#1}{##3}}{\thepage}}}
-\else% hyperref.sty not loaded
-\def\addcontentsline##1##2##3{%
-\addtocontents{##1}{\protect\contentsline{##2}{\string\withusedmodules{#1}{##3}}{\thepage}{\@currentHref}}}%
-\fi}% hypreref.sty loaded?
+%\edef\@@import{#1}%
+%\@for\@I:=\@@import\do{%
+%\edef\@path{\csname module@\@I @path\endcsname}%
+%\@ifundefined{tf@toc}\relax%
+% {\protected@write\tf@toc{}{\string\@requiremodules{\@path}}}}
+%\ifx\hyper@anchor\@undefined% hyperref.sty loaded?
+%\def\addcontentsline##1##2##3{%
+%\addtocontents{##1}{\protect\contentsline{##2}{\string\withusedmodules{#1}{##3}}{\thepage}}}
+%\else% hyperref.sty not loaded
+%\def\addcontentsline##1##2##3{%
+%\addtocontents{##1}{\protect\contentsline{##2}{\string\withusedmodules{#1}{##3}}{\thepage}{\@currentHref}}}%
+%\fi
+}% hypreref.sty loaded?
% \end{macrocode}
% now the |omgroup| environment itself. This takes care of the table of contents via the
% helper macro above and then selects the appropriate sectioning command from
-% |article.cls|.
+% |article.cls|. It also registeres the current level of omgroups in the |\omgroup@level|
+% counter.
% \begin{macrocode}
-\newenvironment{omgroup}[2][]% keys, title
-{\metasetkeys{omgroup}{#1}\sref@target%
-\ifx\omgroup@display\st@flow\@@numfalse\fi
-\if@mainmatter\else\@@numfalse\fi
+\newenvironment{sfragment}[2][]% keys, title
+{
+ \_@@_omgroup_args:n { #1 }%\sref@target%
% \end{macrocode}
-% If the |loadmodules| key is set on |\begin{omgroup}|, we redefine the |\addcontetsline|
+% If the |loadmodules| key is set on |\begin{sfragment}|, we redefine the |\addcontetsline|
% macro that determines how the sectioning commands below construct the entries for the
% table of contents.
% \begin{macrocode}
-\ifx\omgroup@loadmodules\@true%
-\omgroup@redefine@addtocontents{\@ifundefined{mod@id}\used@modules%
-{\@ifundefined{module@\mod@id @path}{\used@modules}\mod@id}}\fi%
+ \bool_if:NT \l_@@_omgroup_loadmodules_bool {
+ \omgroup@redefine@addtocontents{
+ %\@ifundefined{module@id}\used@modules%
+ %{\@ifundefined{module@\module@id @path}{\used@modules}\module@id}
+ }
+ }
% \end{macrocode}
% now we only need to construct the right sectioning depending on the value of
% |\section@level|.
% \begin{macrocode}
-\advance\section@level by 1\relax%
-\ifcase\section@level%
-\or\omdoc@sectioning[name=Part,clear,num]{part}{#2}%
-\or\omdoc@sectioning[name=Chapter,clear,num]{chapter}{#2}%
-\or\omdoc@sectioning[name=Section,num]{section}{#2}%
-\or\omdoc@sectioning[name=Subsection,num]{subsection}{#2}%
-\or\omdoc@sectioning[name=Subsubsection,num]{subsubsection}{#2}%
-\or\omdoc@sectioning[name=Paragraph,ref=this paragraph]{paragraph}{#2}%
-\or\omdoc@sectioning[name=Subparagraph,ref=this subparagraph]{paragraph}{#2}%
-\fi% \ifcase
-\at@begin@omgroup[#1]\section@level{#2}}% for customization
-{\advance\section@level by -1}
+ \int_incr:N\l_document_structure_section_level_int
+ \ifcase\l_document_structure_section_level_int
+ \or\omdoc@sectioning[name=\omdoc@part@kw,clear,num]{part}{#2}
+ \or\omdoc@sectioning[name=\omdoc@chapter@kw,clear,num]{chapter}{#2}
+ \or\omdoc@sectioning[name=\omdoc@section@kw,num]{section}{#2}
+ \or\omdoc@sectioning[name=\omdoc@subsection@kw,num]{subsection}{#2}
+ \or\omdoc@sectioning[name=\omdoc@subsubsection@kw,num]{subsubsection}{#2}
+ \or\omdoc@sectioning[name=\omdoc@paragraph@kw,ref=this \omdoc@paragraph@kw]{paragraph}{#2}
+ \or\omdoc@sectioning[name=\omdoc@subparagraph@kw,ref=this \omdoc@subparagraph@kw]{paragraph}{#2}
+ \fi
+ \at@begin@omgroup[#1]\l_document_structure_section_level_int{#2}
+ \str_if_empty:NF \l_@@_omgroup_id_str {
+ \stex_ref_new_doc_target:n\l_@@_omgroup_id_str
+ }
+}% for customization
+{}
% \end{macrocode}
% \end{environment}
-%
-% \end{omgroup}
%
-% \begin{omgroup}[id=sec:user:docmatter]{Front and Backmatter}
+% and finally, we localize the sections
+% \begin{macrocode}
+\newcommand\omdoc@part@kw{Part}
+\newcommand\omdoc@chapter@kw{Chapter}
+\newcommand\omdoc@section@kw{Section}
+\newcommand\omdoc@subsection@kw{Subsection}
+\newcommand\omdoc@subsubsection@kw{Subsubsection}
+\newcommand\omdoc@paragraph@kw{paragraph}
+\newcommand\omdoc@subparagraph@kw{subparagraph}
+% \end{macrocode}
+%
+% \end{sfragment}
+%
+% \begin{sfragment}[id=sec:user:docmatter]{Front and Backmatter}
%
-% Index markup is provided by the |omtext| package~\cite{Kohlhase:smmtf:ctan}, so in the
-% |omdoc| package we only need to supply the corresponding |\printindex| command, if it
+% Index markup is provided by the |omtext| package~\cite{Kohlhase:smmtf:git}, so in the
+% |document-structure| package we only need to supply the corresponding |\printindex| command, if it
% is not already defined
% \begin{macro}{\printindex}
% \begin{macrocode}
\providecommand\printindex{\IfFileExists{\jobname.ind}{\input{\jobname.ind}}{}}
-%</package>
% \end{macrocode}
% \end{macro}
%
-% \begin{environment}{frontmatter}
-% some classes (e.g. |book.cls|) already have |\frontmatter|, |\mainmatter|, and
-% |\backmatter| macros. As we want to define |frontmatter| and |backmatter|
-% environments, we save their behavior (possibly defining it) in |orig@*matter| macros
-% and make them undefined (so that we can define the environments).
-% \begin{macrocode}
-%<*cls>
-\ifcsdef{frontmatter}% to redefine if necessary
- {\cslet{orig@frontmatter}{\frontmatter}\cslet{frontmatter}{\relax}}
- {\cslet{orig@frontmatter}{\clearpage\@mainmatterfalse\pagenumbering{roman}}}
-\ifcsdef{backmatter}% to redefine if necessary
- {\cslet{orig@backmatter}{\backmatter}\cslet{backmatter}{\relax}}
- {\cslet{orig@backmatter}{\clearpage\@mainmatterfalse\pagenumbering{roman}}}
-% \end{macrocode}
-% \end{environment}
+% some classes (e.g. |book.cls|) already have |\frontmatter|, |\mainmatter|, and
+% |\backmatter| macros. As we want to define |frontmatter| and |backmatter| environments,
+% we save their behavior (possibly defining it) in |orig@*matter| macros and make them
+% undefined (so that we can define the environments).
+% \begin{macrocode}
+\cs_if_exist:NTF\frontmatter{
+ \let\_@@_orig_frontmatter\frontmatter
+ \let\frontmatter\relax
+}{
+ \tl_set:Nn\_@@_orig_frontmatter{
+ \clearpage
+ \@mainmatterfalse
+ \pagenumbering{roman}
+ }
+}
+\cs_if_exist:NTF\backmatter{
+ \let\_@@_orig_backmatter\backmatter
+ \let\backmatter\relax
+}{
+ \tl_set:Nn\_@@_orig_backmatter{
+ \clearpage
+ \@mainmatterfalse
+ \pagenumbering{roman}
+ }
+}
+% \end{macrocode}
+%
+% Using these, we can now define the |frontmatter| and |backmatter| environments
%
% \begin{environment}{frontmatter}
-% now we can define the environments
-% \begin{macrocode}
-\newenvironment{frontmatter}
-{\orig@frontmatter}
-{\ifcsdef{mainmatter}{}{\clearpage\@mainmattertrue\pagenumbering{arabic}}}
+% we use the |\orig@frontmatter| macro defined above and |\mainmatter| if it exists,
+% otherwise we define it.
+% \begin{macrocode}
+\newenvironment{frontmatter}{
+ \_@@_orig_frontmatter
+}{
+ \cs_if_exist:NTF\mainmatter{
+ \mainmatter
+ }{
+ \clearpage
+ \@mainmattertrue
+ \pagenumbering{arabic}
+ }
+}
% \end{macrocode}
% \end{environment}
%
% \begin{environment}{backmatter}
-% some classes (e.g. |book.cls|) already have a |\backmatter| macro. We use that
-% (possibly defining it).
+% As backmatter is at the end of the document, we do nothing for |\endbackmatter|.
% \begin{macrocode}
-\newenvironment{backmatter}
-{\orig@backmatter}
-{\ifcsdef{mainmatter}{}{\clearpage\@mainmattertrue\pagenumbering{arabic}}}
+\newenvironment{backmatter}{
+ \_@@_orig_backmatter
+}{
+ \cs_if_exist:NTF\mainmatter{
+ \mainmatter
+ }{
+ \clearpage
+ \@mainmattertrue
+ \pagenumbering{arabic}
+ }
+}
% \end{macrocode}
%
-% finally, we make sure that page numbering is arabic.
+% finally, we make sure that page numbering is arabic and we have main matter as the default
%
% \begin{macrocode}
-\pagenumbering{arabic}
-%</cls>
+\@mainmattertrue\pagenumbering{arabic}
% \end{macrocode}
% \end{environment}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:ignore]{Ignoring Inputs}
-% \begin{environment}{ignore}
-% \begin{macrocode}
-%<*package>
-\ifomdoc@sty@showignores
-\addmetakey{ignore}{type}
-\addmetakey{ignore}{comment}
-\newenvironment{ignore}[1][]
-{\metasetkeys{ignore}{#1}\textless\ignore@type\textgreater\bgroup\itshape}
-{\egroup\textless/\ignore@type\textgreater}
-\renewenvironment{ignore}{}{}\else\excludecomment{ignore}\fi
+% \end{sfragment}
+%
+% \begin{macro}{\prematurestop}
+% We initialize |\afterprematurestop|, and provide
+% |\prematurestop@endomgroup| which looks up |\omgroup@level| and recursively ends
+% enough |{sfragment}|s.
+% \begin{macrocode}
+\def \c_@@_document_str{document}
+\newcommand\afterprematurestop{}
+\def\prematurestop@endomgroup{
+ \unless\ifx\@currenvir\c_@@_document_str
+ \expandafter\expandafter\expandafter\end\expandafter\expandafter\expandafter{\expandafter\@currenvir\expandafter}
+ \expandafter\prematurestop@endomgroup
+ \fi
+}
+\providecommand\prematurestop{
+ \message{Stopping~sTeX~processing~prematurely}
+ \prematurestop@endomgroup
+ \afterprematurestop
+ \end{document}
+}
% \end{macrocode}
-% \end{environment}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:share]{Structure Sharing}
+% \end{macro}
+%
+% \iffalse
+% \begin{sfragment}[id=sec:impl:share]{Structure Sharing}
% \ednote{The following is simply copied over from the |latexml| package, which we
% eliminated, we should integrate better.}
% \begin{macrocode}
+\iffalse
\providecommand{\lxDocumentID}[1]{}%
\def\LXMID#1#2{\expandafter\gdef\csname xmarg#1\endcsname{#2}\csname xmarg#1\endcsname}
\def\LXMRef#1{\csname xmarg#1\endcsname}
@@ -676,15 +818,18 @@
% This is the macro that does the actual labeling. Is it called inside |\STRlabel|
% \begin{macrocode}
\def\STRlabeldef#1{\expandafter\gdef\csname STR@#1\endcsname}
+\fi
% \end{macrocode}
% \end{macro}
-% \end{omgroup}
+% \end{sfragment}
+%\fi
%
-% \begin{omgroup}[id=sec:impl:gvars]{Global Variables}
+% \begin{sfragment}[id=sec:impl:gvars]{Global Variables}
%
% \begin{macro}{\setSGvar}
% set a global variable
% \begin{macrocode}
+\RequirePackage{etoolbox}
\newcommand\setSGvar[1]{\@namedef{sTeX@Gvar@#1}}
% \end{macrocode}
% \end{macro}
@@ -692,40 +837,32 @@
% \begin{macro}{\useSGvar}
% use a global variable
% \begin{macrocode}
-\newcommand\useSGvar[1]{\@nameuse{sTeX@Gvar@#1}}
+\newrobustcmd\useSGvar[1]{%
+ \@ifundefined{sTeX@Gvar@#1}
+ {\PackageError{document-structure}
+ {The sTeX Global variable #1 is undefined}
+ {set it with \protect\setSGvar}}
+\@nameuse{sTeX@Gvar@#1}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\ifSGvar}
-% set a global variable
+% execute something conditionally based on the state of the global variable.
% \begin{macrocode}
-\newcommand\ifSGvar[3]{\def\@test{#2}\expandafter\ifx\csname sTeX@Gvar@#1\endcsname\@test #3\fi}
+\newrobustcmd\ifSGvar[3]{\def\@test{#2}%
+ \@ifundefined{sTeX@Gvar@#1}
+ {\PackageError{document-structure}
+ {The sTeX Global variable #1 is undefined}
+ {set it with \protect\setSGvar}}
+ {\expandafter\ifx\csname sTeX@Gvar@#1\endcsname\@test #3\fi}}
% \end{macrocode}
% \end{macro}
%
-% \end{omgroup}
+% \end{sfragment}
+% \end{sfragment}
+% \end{sfragment}
%
-% \begin{omgroup}[id=sec:impl:colors]{Colors}
-%
-% \begin{environment}{blue, red, green, magenta}
-% We will use the following abbreviations for colors from |color.sty|
-% \begin{macrocode}
-\def\black#1{\textcolor{black}{#1}}
-\def\gray#1{\textcolor{gray}{#1}}
-\def\blue#1{\textcolor{blue}{#1}}
-\def\red#1{\textcolor{red}{#1}}
-\def\green#1{\textcolor{green}{#1}}
-\def\cyan#1{\textcolor{cyan}{#1}}
-\def\magenta#1{\textcolor{magenta}{#1}}
-\def\brown#1{\textcolor{brown}{#1}}
-\def\yellow#1{\textcolor{yellow}{#1}}
-\def\orange#1{\textcolor{orange}{#1}}
-%</package>
-% \end{macrocode}
-% \end{environment}
-% \end{omgroup}
-% \end{omgroup}
-% \Finale
+% \end{implementation}
\endinput
% \iffalse
%%% Local Variables:
@@ -770,7 +907,6 @@
% LocalWords: thepage hypreref.sty ifcase cleardoublepage frontmatterfalse customization
% LocalWords: frontmattertrue pagenumbering setcounter hyperref.sty addcontetsline ctext
% LocalWords: mfirstuc.sty internationalize documentkeys withusedmodules Part,clear,num
-
% \endinput
% Local Variables:
% mode: doctex
@@ -779,4 +915,8 @@
% LocalWords: crossreferencing Chapter,clear,num Subsection,num Subsubsection,num cslet
% LocalWords: Paragraph,ref Subparagraph,ref useSGvar useSGvar ifSGvar ifSGvar topsect
% LocalWords: sTeX@Gvar kvoptions omdoc@cls,prefix book,topsect xappto omdoc@sty,prefix
-% LocalWords: ifdefstring ifcsdef cslet
+% LocalWords: ifdefstring ifcsdef cslet localization ngerman omdoc-ngerman.ldf omgroups
+% LocalWords: Kohlhase:smmtf endbackmatter prematurestop prematurestop clear,num
+% LocalWords: prematurestop@endomgroup textbackslash import_graph.py lmhtools bibfolder
+% LocalWords: stepcounter jobname.dtx clist_set:Nx l_tmpa_clist clist_if_in:NnT
+% LocalWords: ExplSyntaxOff stex_ref_new_doc_target:n
diff --git a/macros/latex/contrib/stex/sty/modules/modules.ins b/macros/latex/contrib/stex/source/extensions/extensions.ins
index cde996b92b..e3594e88cf 100644
--- a/macros/latex/contrib/stex/sty/modules/modules.ins
+++ b/macros/latex/contrib/stex/source/extensions/extensions.ins
@@ -2,9 +2,9 @@
%% This file generates files required to use the ed package.
%% At your command prompt write
%%
-%% latex modules.ins
+%% latex extensions.ins
%%
-%% Copyright(c) 2005 Michael Kohlhase
+%% Copyright (c) 2021 Michael Kohlhase
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -14,12 +14,20 @@
\preamble
\endpreamble
-%\usedir{tex/latex/listings}
\keepsilent
\askforoverwritefalse
-% generate base package
-\generate{\file{modules.sty}{\from{modules.dtx}{package}}}
+\generate{
+ \file{document-structure.cls}{\from{document-structure.dtx}{cls}}
+ \file{document-structure.sty}{\from{document-structure.dtx}{package}}
+ \file{notesslides.cls}{\from{notesslides.dtx}{cls}}
+ \file{notesslides.sty}{\from{notesslides.dtx}{package}}
+ \file{tikzinput.sty}{\from{tikzinput.dtx}{package}}
+ \file{stex-tikzinput.sty}{\from{tikzinput.dtx}{stex}}
+ \file{problem.sty}{\from{problem.dtx}{package}}
+ \file{hwexam.sty}{\from{hwexam.dtx}{package}}
+ \file{hwexam.cls}{\from{hwexam.dtx}{cls}}
+}
\Msg{*}
\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
@@ -28,11 +36,4 @@
\Msg{* if your TeX distribution uses such a database.}
\Msg{*}
-% \nopreamble\nopostamble
-% \generate{\file{modules.sty.ltxml}{\from{modules.dtx}{ltxml}}}
-
-% \Msg{*}
-% \Msg{* You probably need to move the generated ltxml files into a directory searched by LaTeXML.}
-% \Msg{*}
-
\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/hwexam/hwexam.dtx b/macros/latex/contrib/stex/source/extensions/hwexam.dtx
index e1ef472a24..3136f488d7 100644
--- a/macros/latex/contrib/stex/sty/hwexam/hwexam.dtx
+++ b/macros/latex/contrib/stex/source/extensions/hwexam.dtx
@@ -1,51 +1,26 @@
% \iffalse meta-comment
% An Infrastructure for marking up Assignments
-% Copyright (c) 2007 Michael Kohlhase, all rights reserved
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
% this file is released under the
% LaTeX Project Public License (LPPL)
% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
+% http://github.com/sLaTeX/sTeX/
% \fi
%
% \iffalse
-%<package|cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{hwexam}[2019/03/20 v1.1 homework assignments and exams]
-%<cls>\ProvidesClass{hwexam}[2019/03/20 v1.1 assignment and exam documents]
%
%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,float}
-\usepackage{hwexam}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
+\def\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
\begin{document}
-\RecordChanges
-\DocInput{hwexam.dtx}
+ \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
-%\CheckSum{464}
+%\iffalse\CheckSum{464}\fi
%
-% \changes{v0.9}{2006/09/18}{First Version with Documentation}
-% \changes{v0.9a}{2010/06/25}{more semantic headers for exams}
-% \changes{v0.9b}{2010/09/20}{adding \texttt{assignment.cls}}
-% \changes{v0.9c}{2010/09/20}{renaming from \texttt{assignment} to \texttt{hwexam} to
-% avoid name clashes with existing \texttt{assignment.cls} on CTAN.}
-% \changes{v1.0}{2013/12/12}{adding MathHub support}
-% \changes{v1.1}{2015/11/04}{moving MathHub support out to separate package}
+% ^^A\changes{v0.9}{2006/09/18}{First Version with Documentation}
%
% \GetFileInfo{hwexam.sty}
%
@@ -60,37 +35,43 @@
% \url{http://kwarc.info/kohlhase}}
% \maketitle
%
-% \begin{abstract}
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{hwexam} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/hwexam}
+% \fi
+%
+% \begin{documentation}
+%
% The |hwexam| package and class allows individual course assignment sheets and
% compound assignment documents using problem files marked up with the |problem| package.
-% \end{abstract}
% \setcounter{tocdepth}{2}\tableofcontents\newpage
%
%\section{Introduction}\label{sec:intro}
%
% The |hwexam| package and class supplies an infrastructure that allows to format
% nice-looking assignment sheets by simply including problems from problem files marked up
-% with the |problem| package~\cite{Kohlhase:problem:ctan}. It is designed to be
+% with the |problem| package~\cite{Kohlhase:problem}. It is designed to be
% compatible with |problems.sty|, and inherits some of the functionality.
%
% \section{The User Interface}
%
% \subsection{Package and Class Options}\label{sec:user:options}
%
-% The |hwexam| class takes the \DescribeMacro{mh}|mh| option that turns on MathHub
-% support.
-%
-% The |hwexam| package and class take the options |solutions|, |notes|, |hints|, |pts|,
-% |min|, and |boxed| that are just passed on to the |problems| package (cf. its
+% The |hwexam| package and class take the options |solutions|, |notes|, |hints|, |gnotes|,
+% |pts|, |min|, and |boxed| that are just passed on to the |problems| package (cf. its
% documentation for a description of the intended behavior).
%
% If the \DescribeMacro{showmeta}|showmeta| option is set, then the metadata keys are
-% shown (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
+% shown (see~\cite{Kohlhase:metakeys} for details and customization options).
%
% The |hwexam| class additionally accepts the options |report|, |book|, |chapter|, |part|,
-% and |showignores|, of the |omdoc| package~\cite{Kohlhase:smomdl:ctan} on which it is
+% and |showignores|, of the |omdoc| package~\cite{Kohlhase:smomdl} on which it is
% based and passes them on to that. For the |extrefs| option
-% see~\cite{Kohlhase:sref:ctan}.
+% see~\cite{Kohlhase:sref}.
%
% \subsection{Assignments}
%
@@ -153,7 +134,7 @@
%
% \subsection{Including Assignments}
%
-% The \DescribeMacro{\includeassignment}|\includeassignment| macro can be used to include
+% The \DescribeMacro{\inputassignment}|\inputassignment| macro can be used to input
% an assignment from another file. It takes an optional KeyVal argument and a second
% argument which is a path to the file containing the problem (the macro assumes that
% there is only one |assignment| environment in the included file). The keys
@@ -171,9 +152,9 @@
% \item none reported yet.
% \end{enumerate}
%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}\newpage
-% \newpage
+% \end{documentation}
%
+%\begin{implementation}
% \section{Implementation: The hwexam Class}\label{sec:impl:cls}
%
% The functionality is spread over the |hwexam| class and package. The class provides
@@ -186,9 +167,12 @@
% passing them to the respective packages and classes they come from.
%
% \begin{macrocode}
+%<@@=hwexam>
%<*cls>
+\ProvidesExplClass{hwexam}{2022/02/24}{3.0.0}{homework assignments and exams}
+\RequirePackage{l3keys2e}
\DeclareOption*{
- \PassOptionsToClass{\CurrentOption}{omdoc}
+ \PassOptionsToClass{\CurrentOption}{document-structure}
\PassOptionsToPackage{\CurrentOption}{stex}
\PassOptionsToPackage{\CurrentOption}{hwexam}
\PassOptionsToPackage{\CurrentOption}{tikzinput}
@@ -200,7 +184,7 @@
% sure the right packages are loaded.
%
% \begin{macrocode}
-\LoadClass{omdoc}
+\LoadClass{document-structure}
\RequirePackage{stex}
\RequirePackage{hwexam}
\RequirePackage{tikzinput}
@@ -214,8 +198,13 @@
% assignment type to prevent errors
% \begin{macrocode}
\newcommand\assig@default@type{\hwexam@assignment@kw}
-\addmetakey[\assig@default@type]{document}{hwexamtype}
\def\document@hwexamtype{\assig@default@type}
+%<@@=document_structure>
+\keys_define:nn { document-structure / document }{
+ id .str_set_x:N = \c_document_structure_document_id_str,
+ hwexamtype .tl_set:N = \document@hwexamtype
+}
+%<@@=hwexam>
%</cls>
% \end{macrocode}
%
@@ -229,8 +218,9 @@
%
% \begin{macrocode}
%<*package>
-\newif\if@hwexam@mh@\@hwexam@mh@false
-\DeclareOption{mh}{\@hwexam@mh@true}
+\ProvidesExplPackage{hwexam}{2022/02/24}{3.0.0}{homework assignments and exams}
+\RequirePackage{l3keys2e}
+
\newif\iftest\testfalse
\DeclareOption{test}{\testtrue}
\newif\ifmultiple\multiplefalse
@@ -241,7 +231,6 @@
% Then we make sure that the necessary packages are loaded (in the right versions).
% \begin{macrocode}
\RequirePackage{keyval}[1997/11/10]
-\if@hwexam@mh@\RequirePackage{hwexam-mh}\fi
\RequirePackage{problem}
% \end{macrocode}
%
@@ -249,22 +238,44 @@
% For multilinguality, we define internal macros for keywords that can be specialized in
% |*.ldf| files.
% \begin{macrocode}
-\AfterBabelLanguage{ngerman}{\input{hwexam-ngerman.ldf}}
-\AfterBabelLanguage{arabic}{\input{hwexam-arabic.ldf}}
\newcommand\hwexam@assignment@kw{Assignment}
\newcommand\hwexam@given@kw{Given}
\newcommand\hwexam@due@kw{Due}
-\newcommand\hwexam@testemptypage@kw{This page was intentionally left blank for extra
- space}%
-\newcommand\correction@probs@kw{prob.}%
-\newcommand\correction@pts@kw{total}%
-\newcommand\correction@reached@kw{reached}%
-\newcommand\correction@sum@kw{Sum}%
-\newcommand\correction@grade@kw{grade}%
-\newcommand\correction@forgrading@kw{To be used for grading, do not write here}
+\newcommand\hwexam@testemptypage@kw{This~page~was~intentionally~left~
+ blank~for~extra~space}
+ \def\hwexam@minutes@kw{minutes}
+\newcommand\correction@probs@kw{prob.}
+\newcommand\correction@pts@kw{total}
+\newcommand\correction@reached@kw{reached}
+\newcommand\correction@sum@kw{Sum}
+\newcommand\correction@grade@kw{grade}
+\newcommand\correction@forgrading@kw{To~be~used~for~grading,~do~not~write~here}
% \end{macrocode}
% \end{macro}
%
+% For the other languages, we set up triggers
+% \begin{macrocode}
+\AddToHook{begindocument}{
+ \ltx@ifpackageloaded{babel}{
+ \makeatletter
+ \clist_set:Nx \l_tmpa_clist {\bbl@loaded}
+ \clist_if_in:NnT \l_tmpa_clist {ngerman}{
+ \input{hwexam-ngerman.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {finnish}{
+ \input{hwexam-finnish.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {french}{
+ \input{hwexam-french.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {russian}{
+ \input{hwexam-russian.ldf}
+ }
+ \makeatother
+ }{}
+}
+
+% \end{macrocode}
% \subsection{Assignments}
%
% Then we set up a counter for problems and make the problem counter inherited from
@@ -273,19 +284,33 @@
% \begin{macrocode}
\newcounter{assignment}
\numberproblemsin{assignment}
-\renewcommand\prob@label[1]{\arabic{assignment}.#1}
+\renewcommand\prob@label[1]{\assignment@number.#1}
% \end{macrocode}
%
% We will prepare the keyval support for the |assignment| environment.
%
% \begin{macrocode}
-\srefaddidkey{assig}
-\addmetakey{assig}{number}
-\addmetakey*{assig}{title}
-\addmetakey{assig}{type}
-\addmetakey{assig}{given}
-\addmetakey{assig}{due}
-\addmetakey[false]{assig}{loadmodules}[true]
+\keys_define:nn { hwexam / assignment } {
+ id .str_set_x:N = \l_@@_assign_id_str,
+ number .int_set:N = \l_@@_assign_number_int,
+ title .tl_set:N = \l_@@_assign_title_tl,
+ type .tl_set:N = \l_@@_assign_type_tl,
+ given .tl_set:N = \l_@@_assign_given_tl,
+ due .tl_set:N = \l_@@_assign_due_tl,
+ loadmodules .code:n = {
+ \bool_set_true:N \l_@@_assign_loadmodules_bool
+ }
+}
+\cs_new_protected:Nn \_@@_assignment_args:n {
+ \str_clear:N \l_@@_assign_id_str
+ \int_set:Nn \l_@@_assign_number_int {-1}
+ \tl_clear:N \l_@@_assign_title_tl
+ \tl_clear:N \l_@@_assign_type_tl
+ \tl_clear:N \l_@@_assign_given_tl
+ \tl_clear:N \l_@@_assign_due_tl
+ \bool_set_false:N \l_@@_assign_loadmodules_bool
+ \keys_set:nn { hwexam / assignment }{ #1 }
+}
% \end{macrocode}
%
% The next three macros are intermediate functions that handle the case gracefully, where
@@ -295,84 +320,87 @@
% assignment. Its arguments specify the brackets.
%
% \begin{macrocode}
-\newcommand\given@due[2]{%
-\ifx \inclassig@given\@empty
- \ifx \assig@given\@empty
- \ifx \inclassig@due\@empty
- \ifx \assig@due\@empty% all empty do nothing
- \else #1%
- \fi
- \else #1%
- \fi
- \else #1%
- \fi
-\else #1%
-\fi
-\ifx\inclassig@given\@empty
- \ifx\assig@given\@empty% do nothing
- \else \hwexam@given@kw\xspace \assig@given%
- \fi
-\else \hwexam@given@kw\xspace \inclassig@given%
-\fi
-\ifx \inclassig@due\@empty
- \ifx \assig@due\@empty% do nothing
- \else
- \ifx \inclassig@given\@empty
- \ifx \assig@given\@empty% do nothing
- \else ,~%
- \fi
- \else ,~%
- \fi
- \fi
-\else
- \ifx \inclassig@given\@empty
- \ifx \assig@given\@empty% do nothing
- \else ,~%
- \fi
- \else ,~%
- \fi
-\fi
-\ifx \inclassig@due\@empty
- \ifx \assig@due\@empty% do nothing
- \else \hwexam@due@kw\xspace \assig@due%
- \fi
-\else \hwexam@due@kw\xspace \inclassig@due%
-\fi
-\ifx \inclassig@given\@empty
- \ifx \assig@given\@empty
- \ifx \inclassig@due\@empty
- \ifx \assig@due\@empty% all empty do nothing
- \else #2%
- \fi
- \else #2%
- \fi
- \else #2%
- \fi
-\else #2%
-\fi
+\newcommand\given@due[2]{
+ \bool_lazy_all:nF {
+ {\tl_if_empty_p:V \l_@@_inclassign_given_tl}
+ {\tl_if_empty_p:V \l_@@_assign_given_tl}
+ {\tl_if_empty_p:V \l_@@_inclassign_due_tl}
+ {\tl_if_empty_p:V \l_@@_assign_due_tl}
+ }{ #1 }
+
+ \tl_if_empty:NTF \l_@@_inclassign_given_tl {
+ \tl_if_empty:NF \l_@@_assign_given_tl {
+ \hwexam@given@kw\xspace\l_@@_assign_given_tl
+ }
+ }{
+ \hwexam@given@kw\xspace\l_@@_inclassign_given_tl
+ }
+
+ \bool_lazy_or:nnF {
+ \bool_lazy_and_p:nn {
+ \tl_if_empty_p:V \l_@@_inclassign_due_tl
+ }{
+ \tl_if_empty_p:V \l_@@_assign_due_tl
+ }
+ }{
+ \bool_lazy_and_p:nn {
+ \tl_if_empty_p:V \l_@@_inclassign_due_tl
+ }{
+ \tl_if_empty_p:V \l_@@_assign_due_tl
+ }
+ }{ ,~ }
+
+ \tl_if_empty:NTF \l_@@_inclassign_due_tl {
+ \tl_if_empty:NF \l_@@_assign_due_tl {
+ \hwexam@due@kw\xspace \l_@@_assign_due_tl
+ }
+ }{
+ \hwexam@due@kw\xspace \l_@@_inclassign_due_tl
+ }
+
+ \bool_lazy_all:nF {
+ { \tl_if_empty_p:V \l_@@_inclassign_given_tl }
+ { \tl_if_empty_p:V \l_@@_assign_given_tl }
+ { \tl_if_empty_p:V \l_@@_inclassign_due_tl }
+ { \tl_if_empty_p:V \l_@@_assign_due_tl }
+ }{ #2 }
}
% \end{macrocode}
%
% \begin{macro}{\assignment@title}
% This macro prints the title of an assignment, the local title is overwritten, if there
-% is one from the |\includeassignment|. |\assignment@title| takes three arguments the
+% is one from the |\inputassignment|. |\assignment@title| takes three arguments the
% first is the fallback when no title is given at all, the second and third go around
% the title, if one is given.
% \begin{macrocode}
-\newcommand\assignment@title[3]
-{\ifx\inclassig@title\@empty% if there is no outside title
-\ifx\assig@title\@empty{#1}\else{#2\assig@title{#3}}\fi
-\else{#2}\inclassig@title{#3}\fi}% else show the outside title
+\newcommand\assignment@title[3]{
+ \tl_if_empty:NTF \l_@@_inclassign_title_tl {
+ \tl_if_empty:NTF \l_@@_assign_title_tl {
+ #1
+ }{
+ #2\l_@@_assign_title_tl#3
+ }
+ }{
+ #2\l_@@_inclassign_title_tl#3
+ }
+}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\assignment@number}
% Like |\assignment@title| only for the number, and no around part.
% \begin{macrocode}
-\newcommand\assignment@number%
-{\ifx\inclassig@number\@empty% if there is no outside number
-\ifx\assig@number\@empty\else\assig@number\fi
-\else\inclassig@number\fi}% else show the outside number
+\newcommand\assignment@number{
+ \int_compare:nNnTF \l_@@_inclassign_number_int = {-1} {
+ \int_compare:nNnTF \l_@@_assign_number_int = {-1} {
+ \arabic{assignment}
+ } {
+ \int_use:N \l_@@_assign_number_int
+ }
+ }{
+ \int_use:N \l_@@_inclassign_number_int
+ }
+}
% \end{macrocode}
% \end{macro}
%
@@ -385,39 +413,50 @@
% For the |assignment| environment we delegate the work to the |@assignment| environment
% that depends on whether |multiple| option is given.
% \begin{macrocode}
-\newenvironment{assignment}[1][]{\metasetkeys{assig}{#1}\sref@target%
-\edef\@@num{\assignment@number}%
-\ifx\@@num\@empty\stepcounter{assignment}\else\setcounter{assignment}{\@@num}\fi%
-\setcounter{problem}{0}%
-\def\current@section@level{\document@hwexamtype}%
-\sref@label@id{\document@hwexamtype \thesection}%
-\begin{@assignment}}
-{\end{@assignment}}
+\newenvironment{assignment}[1][]{
+ \_@@_assignment_args:n { #1 }
+ %\sref@target
+ \int_compare:nNnTF \l_@@_assign_number_int = {-1} {
+ \global\stepcounter{assignment}
+ }{
+ \global\setcounter{assignment}{\int_use:N\l_@@_assign_number_int}
+ }
+ \setcounter{problem}{0}
+ \def\current@section@level{\document@hwexamtype}
+ %\sref@label@id{\document@hwexamtype \thesection}
+ \begin{@assignment}
+}{
+ \end{@assignment}
+}
% \end{macrocode}
% In the multi-assignment case we just use the |omdoc| environment for suitable
% sectioning.
% \begin{macrocode}
-\def\@@asstitle{\protect\document@hwexamtype~\arabic{assignment}%
-\assignment@title{}{\;(}{)\;} -- \given@due{}{}}
+\def\ass@title{
+ \protect\document@hwexamtype~\arabic{assignment}
+ \assignment@title{}{\;(}{)\;} -- \given@due{}{}
+}
\ifmultiple
-\newenvironment{@assignment}%
-{\ifx\assig@loadmodules\@true
-\begin{omgroup}[loadmodules]{\@@asstitle}
-\else
-\begin{omgroup}{\@@asstitle}
-\fi}
-{\end{omgroup}}
+ \newenvironment{@assignment}{
+ \bool_if:NTF \l_@@_assign_loadmodules_bool {
+ \begin{sfragment}[loadmodules]{\ass@title}
+ }{
+ \begin{sfragment}{\ass@title}
+ }
+ }{
+ \end{sfragment}
+ }
% \end{macrocode}
% for the single-page case we make a title block from the same components.
% \begin{macrocode}
\else
-\newenvironment{@assignment}
-{\begin{center}\bf
-\Large\@title\strut\\
-\document@hwexamtype~\arabic{assignment}\assignment@title{\;}{:\;}{\\}%
-\large\given@due{--\;}{\;--}
-\end{center}}
-{}
+ \newenvironment{@assignment}{
+ \begin{center}\bf
+ \Large\@title\strut\\
+ \document@hwexamtype~\arabic{assignment}\assignment@title{\;}{:\;}{\\}
+ \large\given@due{--\;}{\;--}
+ \end{center}
+ }{}
\fi% multiple
% \end{macrocode}
% \end{environment}
@@ -429,17 +468,41 @@
% macros first that overwrite the local points Importantly, it resets the |inclassig|
% keys after the input.
% \begin{macrocode}
-\addmetakey{inclassig}{number}
-\addmetakey*{inclassig}{title}
-\addmetakey{inclassig}{type}
-\addmetakey{inclassig}{given}
-\addmetakey{inclassig}{due}
-\addmetakey{inclassig}{mhrepos}
-\clear@inclassig@keys%initially
-\newcommand\includeassignment[2][]{\metasetkeys{inclassig}{#1}%
-\include{#2}\clear@inclassig@keys}
-\newcommand\inputassignment[2][]{\metasetkeys{inclassig}{#1}%
-\input{#2}\clear@inclassig@keys}
+\keys_define:nn { hwexam / inclassignment } {
+ %id .str_set_x:N = \l_@@_assign_id_str,
+ number .int_set:N = \l_@@_inclassign_number_int,
+ title .tl_set:N = \l_@@_inclassign_title_tl,
+ type .tl_set:N = \l_@@_inclassign_type_tl,
+ given .tl_set:N = \l_@@_inclassign_given_tl,
+ due .tl_set:N = \l_@@_inclassign_due_tl,
+ mhrepos .str_set_x:N = \l_@@_inclassign_mhrepos_str
+}
+\cs_new_protected:Nn \_@@_inclassignment_args:n {
+ \int_set:Nn \l_@@_inclassign_number_int {-1}
+ \tl_clear:N \l_@@_inclassign_title_tl
+ \tl_clear:N \l_@@_inclassign_type_tl
+ \tl_clear:N \l_@@_inclassign_given_tl
+ \tl_clear:N \l_@@_inclassign_due_tl
+ \str_clear:N \l_@@_inclassign_mhrepos_str
+ \keys_set:nn { hwexam / inclassignment }{ #1 }
+}
+\_@@_inclassignment_args:n {}
+
+\newcommand\inputassignment[2][]{
+ \_@@_inclassignment_args:n { #1 }
+ \str_if_empty:NTF \l_@@_inclassign_mhrepos_str {
+ \input{#2}
+ }{
+ \stex_in_repository:nn{\l_@@_inclassign_mhrepos_str}{
+ \input{\mhpath{\l_@@_inclassign_mhrepos_str}{#2}}
+ }
+ }
+ \_@@_inclassignment_args:n {}
+}
+\newcommand\includeassignment[2][]{
+ \newpage
+ \inputassignment[#1]{#2}
+}
% \end{macrocode}
% \end{macro}
%
@@ -447,43 +510,64 @@
%
% \begin{macro}{\quizheading}
% \begin{macrocode}
-\addmetakey{quizheading}{tas}
-\newcommand\quizheading[1]{\def\@tas{#1}%
-\large\noindent NAME: \hspace{8cm} MAILBOX:\\[2ex]%
-\ifx\@tas\@empty\else%
-\noindent TA: \@for\@I:=\@tas\do{{\Large$\Box$}\@I\hspace*{1em}}\\[2ex]\fi}
+\ExplSyntaxOff
+\newcommand\quizheading[1]{%
+ \def\@tas{#1}%
+ \large\noindent NAME: \hspace{8cm} MAILBOX:\\[2ex]%
+ \ifx\@tas\@empty\else%
+ \noindent TA:~\@for\@I:=\@tas\do{{\Large$\Box$}\@I\hspace*{1em}}\\[2ex]%
+ \fi%
+}
+\ExplSyntaxOn
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\testheading}
% \begin{macrocode}
-\addmetakey{testheading}{min}
-\addmetakey{testheading}{duration}
-\addmetakey{testheading}{reqpts}
-\newenvironment{testheading}[1][]{\metasetkeys{testheading}{#1}
-{\noindent\large{}Name: \hfill Matriculation Number:\hspace*{2cm}\strut\\[1ex]
-\begin{center}\Large\textbf{\@title}\\[1ex]\large\@date\\[3ex]\end{center}
-{\textbf{You have
-\ifx\testheading@duration\@empty\testheading@min minutes\else\testheading@duration\fi
-(sharp) for the test}};\\ Write the solutions to the sheet.}\par\noindent
-\newcount\check@time\check@time=\testheading@min
-\advance\check@time by -\theassignment@totalmin
-The estimated time for solving this exam is {\theassignment@totalmin} minutes,
-leaving you {\the\check@time} minutes for revising your exam.
+\def\hwexamheader{\input{hwexam-default.header}}
+
+\def\hwexamminutes{
+ \tl_if_empty:NTF \testheading@duration {
+ {\testheading@min}~\hwexam@minutes@kw
+ }{
+ \testheading@duration
+ }
+}
-\newcount\bonus@pts\bonus@pts=\theassignment@totalpts
-\advance\bonus@pts by -\testheading@reqpts
-You can reach {\theassignment@totalpts} points if you solve all problems. You will only need
-{\testheading@reqpts} points for a perfect score, i.e.\ {\the\bonus@pts} points are
-bonus points. \vfill
-\begin{center}
- {\Large\em
-% You have ample time, so take it slow and avoid rushing to mistakes!\\[2ex]
- Different problems test different skills and knowledge, so do not get stuck on
- one problem.}\vfill\par\correction@table \\[3ex]
-\end{center}}
-{\newpage}
+\keys_define:nn { hwexam / testheading } {
+ min .tl_set:N = \testheading@min,
+ duration .tl_set:N = \testheading@duration,
+ reqpts .tl_set:N = \testheading@reqpts,
+ tools .tl_set:N = \testheading@tools
+}
+\cs_new_protected:Nn \_@@_testheading_args:n {
+ \tl_clear:N \testheading@min
+ \tl_clear:N \testheading@duration
+ \tl_clear:N \testheading@reqpts
+ \tl_clear:N \testheading@tools
+ \keys_set:nn { hwexam / testheading }{ #1 }
+}
+\newenvironment{testheading}[1][]{
+ \_@@_testheading_args:n{ #1 }
+ \newcount\check@time\check@time=\testheading@min
+ \advance\check@time by -\theassignment@totalmin
+ \newif\if@bonuspoints
+ \tl_if_empty:NTF \testheading@reqpts {
+ \@bonuspointsfalse
+ }{
+ \newcount\bonus@pts
+ \bonus@pts=\theassignment@totalpts
+ \advance\bonus@pts by -\testheading@reqpts
+ \edef\bonus@pts{\the\bonus@pts}
+ \@bonuspointstrue
+ }
+ \edef\check@time{\the\check@time}
+
+ \makeatletter\hwexamheader\makeatother
+}{
+ \newpage
+}
% \end{macrocode}
% \end{macro}
%
@@ -509,12 +593,19 @@ bonus points. \vfill
% This macro acts on a problem's record in the |*.aux| file. Here we redefine it (it was
% defined to do nothing in |problem.sty|) to generate the correction table.
% \begin{macrocode}
-\renewcommand\@problem[3]{\stepcounter{assignment@probs}
-\def\@@pts{#2}\ifx\@@pts\@empty\else\addtocounter{assignment@totalpts}{#2}\fi
-\def\@@min{#3}\ifx\@@min\@empty\else\addtocounter{assignment@totalmin}{#3}\fi
-\xdef\correction@probs{\correction@probs & #1}%
-\xdef\correction@pts{\correction@pts & #2}
-\xdef\correction@reached{\correction@reached &}}
+%<@@=problems>
+\renewcommand\@problem[3]{
+ \stepcounter{assignment@probs}
+ \def\@@pts{#2}
+ \ifx\@@pts\@empty\else
+ \addtocounter{assignment@totalpts}{#2}
+ \fi
+ \def\@@min{#3}\ifx\@@min\@empty\else\addtocounter{assignment@totalmin}{#3}\fi
+ \xdef\correction@probs{\correction@probs & #1}%
+ \xdef\correction@pts{\correction@pts & #2}
+ \xdef\correction@reached{\correction@reached &}
+}
+%<@@=hwexam>
% \end{macrocode}
% \end{macro}
%
@@ -524,19 +615,19 @@ bonus points. \vfill
\newcounter{assignment@probs}
\newcounter{assignment@totalpts}
\newcounter{assignment@totalmin}
-\def\correction@probs{\correction@probs@kw}%
-\def\correction@pts{\correction@pts@kw}%
-\def\correction@reached{\correction@reached@kw}%
-\def\after@correction@table{}%
+\def\correction@probs{\correction@probs@kw}
+\def\correction@pts{\correction@pts@kw}
+\def\correction@reached{\correction@reached@kw}
\stepcounter{assignment@probs}
-\newcommand\correction@table{\begin{tabular}{|l|*{\theassignment@probs}{c|}|l|}\hline%
+\newcommand\correction@table{
+ \resizebox{\textwidth}{!}{%
+\begin{tabular}{|l|*{\theassignment@probs}{c|}|l|}\hline%
&\multicolumn{\theassignment@probs}{c||}%|
{\footnotesize\correction@forgrading@kw} &\\\hline
\correction@probs & \correction@sum@kw & \correction@grade@kw\\\hline
\correction@pts &\theassignment@totalpts & \\\hline
\correction@reached & & \\[.7cm]\hline
-\end{tabular}
-\ifx\after@correction@table\@empty\else\strut\par\noindent\after@correction@table\fi}
+\end{tabular}}}
%</package>
% \end{macrocode}
% \end{macro}
@@ -560,10 +651,10 @@ bonus points. \vfill
% \newcommand\thinkA{\denker}
% \newcommand\discussA{\bierglas}
% \end{verbatim}
-% \Finale
+% \end{implementation}
\endinput
% \iffalse
-% LocalWords: GPL structuresharing STR iffalse cls NeedsTeXFormat hwexam hwexam.dtx sc
+
%%% Local Variables:
%%% mode: doctex
%%% TeX-master: t
@@ -590,3 +681,4 @@ bonus points. \vfill
% LocalWords: assignment@totalpts assignment@totalmin correction@probs correction@probs
% LocalWords: newcounter theassignment@probs footnotesize mh@currentrepos endinput
% LocalWords: inclassig@mhrepos inclassig@mhrepos doctex inputmhassignment
+% LocalWords: GPL structuresharing STR iffalse cls NeedsTeXFormat hwexam hwexam.dtx sc
diff --git a/macros/latex/contrib/stex/source/extensions/notesslides.dtx b/macros/latex/contrib/stex/source/extensions/notesslides.dtx
new file mode 100644
index 0000000000..a6ff395377
--- /dev/null
+++ b/macros/latex/contrib/stex/source/extensions/notesslides.dtx
@@ -0,0 +1,1078 @@
+% \iffalse meta-comment
+% A LaTeX Class for Semantic Lectures Slides (originally developed for Michael Kohlhase)
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% Gnu Library Public Licences (LGPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+% \fi
+%
+% \iffalse
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+% ^^A\changes{v0.1}{2005/12/06}{Initial Version}
+%
+% \GetFileInfo{notesslides.cls}
+% \MakeShortVerb{\|}
+%
+% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
+% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
+% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
+% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
+%
+% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
+% \def\stex{\hbox{\raisebox{-.5ex}S\kern-.5ex\TeX}}
+% \def\sTeX{\stex}
+% \def\cnxml{\scshape{CNXml}}
+% \def\connexions{\scshape{Connexions}}
+% \def\element#1{{\ttfamily{#1}}}
+% \def\snippet#1{{\ttfamily{#1}}}
+% \def\cnxlatex{CNX\LaTeX\xspace}
+% \def\mathml{{\scshape{MathML}}\xspace}
+% \def\omdoc{OMDoc\xspace}
+% \def\activemath{{\scshape{ActiveMath}}\xspace}
+% \def\textwarning{\includegraphics[width=1.2em]{dangerous-bend}\xspace}
+%
+% \title{NotesSlides -- Slides and Course Notes\thanks{Version {\fileversion}
+% (last revised {\filedate})}}
+% \author{Michael Kohlhase\\
+% FAU Erlangen-N\"urnberg\\
+% \url{http://kwarc.info/kohlhase}}
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{notesslides} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/slides}
+% \fi
+%
+% \begin{documentation}\label{pkg:notesslides:doc}
+%
+% We present a document class from which we can generate both course slides and course
+% notes in a transparent way.
+%
+%\section{Introduction}
+%
+% The |notesslides| document class is derived from |beamer.cls|~\cite{beamerclass:on}, it
+% adds a ``notes version'' for course notes derived from the |omdoc|
+% class~\cite{Kohlhase:smomdl} that is more suited to printing than the one supplied by
+% |beamer.cls|.
+%
+%
+%\section{The User Interface}\label{sec:user}
+%
+% The |notesslides| class takes the notion of a slide frame from Till Tantau's excellent
+% |beamer| class and adapts its notion of frames for use in the \sTeX and \omdoc. To
+% support semantic course notes, it extends the notion of mixing frames and explanatory
+% text, but rather than treating the frames as images (or integrating their contents into
+% the flowing text), the |notesslides| package displays the slides as such in the course
+% notes to give students a visual anchor into the slide presentation in the course (and to
+% distinguish the different writing styles in slides and course notes).
+%
+% In practice we want to generate two documents from the same source: the slides for
+% presentation in the lecture and the course notes as a narrative document for home
+% study. To achieve this, the |notesslides| class has two modes: \emph{slides mode} and
+% \emph{notes mode} which are determined by the package option.
+%
+% \subsection{Package Options}\label{sec:user:options}
+%
+% The |notesslides| class takes a variety of class options:\ednote{leaving out noproblems
+% for the moment until we decide what to do with it.}
+% \begin{itemize}
+% \item The options \DescribeMacro{slides}|slides| and \DescribeMacro{notes}|notes| switch
+% between slides mode and notes mode (see Section~\ref{sec:user:notesslides}).
+% \item If the option \DescribeMacro{sectocframes}|sectocframes| is given, then for the
+% |omgroup|s, special frames with the |omgroup| title (and number) are generated.
+% \item \DescribeMacro{showmeta}|showmeta|. If this is set, then the metadata keys are
+% shown (see~\cite{Kohlhase:metakeys:git} for details and customization options).
+% \item If the option \DescribeMacro{frameimages}|frameimages| is set, then slide mode
+% also shows the |\frameimage|-generated frames (see
+% section~\ref{sec:user:frameimage}). If also the \DescribeMacro{fiboxed}|fiboxed|
+% option is given, the slides are surrounded by a box.
+% \item \DescribeMacro{topsect}|topsect=|\meta{sect} can be used to specify the
+% top-level sectioning level; the default for \meta{sect} is |section|.
+% \end{itemize}
+%
+% \subsection{Notes and Slides}\label{sec:user:notesslides}
+%
+% Slides are represented with the \DescribeEnv{frame}|frame| just like in the |beamer|
+% class, see~\cite{Tantau:ugbc} for details. The |notesslides| class adds the
+% \DescribeEnv{note}|note| environment for encapsulating the course note
+% fragments.\footnote{MK: it would be very nice, if we did not need this environment, and
+% this should be possible in principle, but not without intensive LaTeX trickery. Hints to
+% the author are welcome.}
+%
+% \textwarning Note that it is essential to start and end the |notes| environment at the
+% start of the line -- in particular, there may not be leading blanks -- else {\LaTeX}
+% becomes confused and throws error messages that are difficult to decipher.
+%
+% \begin{exfig}
+% \begin{verbatim}
+% \ifnotes\maketitle\else
+% \frame[noframenumbering]\maketitle\fi
+%
+% \begin{note}
+% We start this course with ...
+% \end{note}
+%
+% \begin{frame}
+% \frametitle{The first slide}
+% ...
+% \end{frame}
+% \begin{note}
+% ... and more explanatory text
+% \end{note}
+%
+% \begin{frame}
+% \frametitle{The second slide}
+% ...
+% \end{frame}
+% ...
+% \end{verbatim}
+% \caption{A typical Course Notes File}\label{fig:notesfile}
+% \end{exfig}
+%
+% By interleaving the |frame| and |note| environments, we can build course notes as shown
+% in Figure~\ref{fig:notesfile}.
+%
+% Note the use of the \DescribeMacro{\ifnotes}|\ifnotes| conditional, which allows
+% different treatment between |notes| and |slides| mode -- manually setting |\notestrue|
+% or |\notesfalse| is strongly discouraged however.
+%
+% \textwarning: We need to give the title frame the |noframenumbering| option so that the
+% frame numbering is kept in sync between the slides and the course notes.
+%
+% \textwarning: The |beamer| class recommends not to use the |allowframebreaks| option on
+% frames (even though it is very convenient). This holds even more in the |notesslides|
+% case: At least in conjunction with |\newpage|, frame numbering behaves funnily (we have
+% tried to fix this, but who knows).
+%
+% If we want to transclude a the contents of a file as a note, we can use a new variant
+% \DescribeMacro{\inputref*}|\inputref*| of the |\inputref| macro from
+% \cite{KohAmb:smmssl:git}: |\inputref*{foo}| is equivalent to
+% |\begin{note}\inputref{foo}\end{note}|.
+%
+% There are some environments that tend to occur at the top-level of |note|
+% environments. We make convenience versions of these: e.g. the
+% \DescribeEnv{nparagraph}|nparagraph| environment is just an |sparagraph| inside a |note|
+% environment (but looks nicer in the source, since it avoids one level of source
+% indenting). Similarly, we have the \DescribeEnv{nfragment}|nomgroup|,
+% \DescribeEnv{ndefinition}|ndefinition|, \DescribeEnv{nexample}|nexample|,
+% \DescribeEnv{nsproof}|nsproof|, and \DescribeEnv{nassertion}|nassertion| environments.
+%
+% \subsection{Header and Footer Lines of the Slides}\label{sec:user:headfootlines}
+%
+% The default logo provided by the |notesslides| package is the {\sTeX} logo it can be
+% customized using \DescribeMacro{\setslidelogo}|\setslidelogo{|\meta{logo name}|}|.
+%
+% The default footer line of the |notesslides| package mentions copyright and licensing. In
+% the |beamer| class, |\source| stores the author's name as the copyright holder . By
+% default it is {\it Michael Kohlhase} in the |notesslides| package since he is the main
+% user and designer of this package. \DescribeMacro{\setsource}|\setsource{|\meta{name}|}|
+% can change the writer's name. For licensing, we use the Creative Commons
+% Attribuition-ShareAlike license by default to strengthen the public domain. If package
+% |hyperref| is loaded, then we can attach a hyperlink to the license
+% logo. \DescribeMacro{\setlicensing}|\setlicensing[|\meta{url}|]{|\meta{logo name}|}| is
+% used for customization, where \meta{url} is optional.
+%
+% \subsection{Frame Images}\label{sec:user:frameimage}
+%
+% Sometimes, we want to integrate slides as images after all -- e.g. because we already
+% have a PowerPoint presentation, to which we want to add \sTeX notes. In this case we can
+% use \DescribeMacro{\frameimage}|\frameimage[|\meta{opt}|]{|\meta{path}|}|, where
+% \meta{opt} are the options of |\includegraphics| from the |graphicx|
+% package~\cite{CarRah:tpp99} and \meta{path} is the file path (extension can be left off
+% like in |\includegraphics|). We have added the |label| key that allows to give a frame
+% label that can be referenced like a regular |beamer| frame.\ednote{MK: the hyperref link
+% does not seem to work yet. I wonder why but do not have the time to fix it.}
+%
+% The \DescribeMacro{\mhframeimage}|\mhframeimage| macro is a variant of |\frameimage|
+% with repository support. Instead of writing
+% \begin{verbatim}
+% \frameimage{\MathHub{fooMH/bar/source/baz/foobar}}
+% \end{verbatim}
+% we can simply write (assuming that |\MathHub| is defined as above)
+% \begin{verbatim}
+% \mhframeimage[fooMH/bar]{baz/foobar}
+% \end{verbatim}
+% Note that the |\mhframeimage| form is more semantic, which allows more advanced document
+% management features in \textsf{MathHub}.
+%
+% If |baz/foobar| is the ``current module'', i.e. if we are on the \textsf{MathHub} path
+% \ldots|MathHub/fooMH/bar|\ldots, then stating the repository in the first optional
+% argument is redundant, so we can just use
+% \begin{verbatim}
+% \mhframeimage{baz/foobar}
+% \end{verbatim}
+%
+% \subsection{Colors and Highlighting}\label{sec:user:highlighting}
+% The \DescribeMacro{\textwarning}|\textwarning| macro generates a warning
+% sign: \textwarning
+%
+% \subsection{Front Matter, Titles, etc.}\label{sec:user:matter}
+%
+% \subsection{Excursions}\label{sec:user:excursions}
+%
+% In course notes, we sometimes want to point to an ``excursion'' -- material that is
+% either presupposed or tangential to the course at the moment -- e.g. in an appendix. The
+% typical setup is the following:
+%
+% \begin{verbatim}
+% \excursion{founif}{../ex/founif}{We will cover first-order unification in}
+% ...
+% \begin{appendix}\printexcursions\end{appendix}
+% \end{verbatim}
+%
+% The \DescribeMacro{\excursion}|\excursion{|\meta{ref}|}{|\meta{path}|}{|\meta{text}|}| is
+% syntactic sugar for \DescribeMacro{\activateexcursion}
+%
+% \begin{verbatim}
+% \begin{nparagraph}[title=Excursion]
+% \activateexcursion{founif}{../ex/founif}
+% We will cover first-order unification in \sref{founif}.
+% \end{nparagraph}
+% \end{verbatim}
+%
+% where \DescribeMacro{\activateexcursion}|\activateexcursion{|\meta{path}|}| augments the
+% |\printexcursions| macro by a call |\inputref{|\meta{path}|}|. In this way, the3
+% \DescribeMacro{\printexcursions}|\printexcursions| macro (usually in the appendix) will
+% collect up all excursions that are specified in the main text.
+%
+% Sometimes, we want to reference -- in an excursion -- part of another. We can use
+% \DescribeMacro{\excursionref}|\excursionref{|\meta{label}|}| for that.
+%
+% Finally, we usually want to put the excursions into an |omgroup| environment and add an
+% introduction, therefore we provide the a variant of the |\printexcursions| macro:
+% \DescribeMacro{\excursiongroup}|\excursiongroup[id=|\meta{id}|,intro=|\meta{path}|]| is
+% equivalent to
+% \begin{verbatim}
+% \begin{note}
+% \begin{sfragment}[id=<id>]{Excursions}
+% \inputref{<path>}
+% \printexcursions
+% \end{sfragment}
+% \end{note}
+% \end{verbatim}
+%
+% \subsection{Miscellaneous}\label{sec:user:misc}
+%
+% \section{Limitations}\label{sec:limitations}
+%
+% In this section we document known limitations. If you want to help alleviate them,
+% please feel free to contact the package author. Some of them are currently discussed in
+% the \sTeX GitHub repository~\cite{sTeX:github:on}.
+% \begin{enumerate}
+% \item when option |book| which uses |\pagestyle{headings}| is given and semantic macros
+% are given in the |omgroup| titles, then they sometimes are not defined by the time the
+% heading is formatted. Need to look into how the headings are made. This is a problem
+% of the underlying |omdoc| package.
+% \end{enumerate}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:notesslides:impl}
+%
+%\section{NotesSlides -- Implementation}\label{sec:impl}
+%
+%\subsection{Class and Package Options}\label{sec:impl:init}
+%
+% We define some Package Options and switches for the |notesslides| class and activate them
+% by passing them on to |beamer.cls| and |omdoc.cls| and the |notesslides| package. We pass
+% the |nontheorem| option to the |statements| package when we are not in notes mode, since
+% the |beamer| package has its own (overlay-aware) theorem environments.
+%
+% \begin{macrocode}
+%<*cls>
+%<@@=notesslides>
+\ProvidesExplClass{notesslides}{2022/02/24}{3.0.0}{notesslides Class}
+\RequirePackage{l3keys2e}
+
+\keys_define:nn{notesslides / cls}{
+ class .code:n = {
+ \PassOptionsToClass{\CurrentOption}{document-structure}
+ \str_if_eq:nnT{#1}{book}{
+ \PassOptionsToPackage{defaulttopsec=part}{notesslides}
+ }
+ \str_if_eq:nnT{#1}{report}{
+ \PassOptionsToPackage{defaulttopsec=part}{notesslides}
+ }
+ },
+ notes .bool_set:N = \c_@@_notes_bool ,
+ slides .code:n = { \bool_set_false:N \c_@@_notes_bool },
+ unknown .code:n = {
+ \PassOptionsToClass{\CurrentOption}{document-structure}
+ \PassOptionsToClass{\CurrentOption}{beamer}
+ \PassOptionsToPackage{\CurrentOption}{notesslides}
+ }
+}
+\ProcessKeysOptions{ notesslides / cls }
+\bool_if:NTF \c_@@_notes_bool {
+ \PassOptionsToPackage{notes=true}{notesslides}
+}{
+ \PassOptionsToPackage{notes=false}{notesslides}
+}
+%</cls>
+% \end{macrocode}
+% now we do the same for the |notesslides| package.
+% \begin{macrocode}
+%<*package>
+\ProvidesExplPackage{notesslides}{2022/02/24}{3.0.0}{notesslides Package}
+\RequirePackage{l3keys2e}
+
+\keys_define:nn{notesslides / pkg}{
+ topsect .str_set_x:N = \c_@@_topsect_str,
+ defaulttopsect .str_set_x:N = \c_@@_defaulttopsec_str,
+ notes .bool_set:N = \c_@@_notes_bool ,
+ slides .code:n = { \bool_set_false:N \c_@@_notes_bool },
+ sectocframes .bool_set:N = \c_@@_sectocframes_bool ,
+ frameimages .bool_set:N = \c_@@_frameimages_bool ,
+ fiboxed .bool_set:N = \c_@@_fiboxed_bool ,
+ noproblems .bool_set:N = \c_@@_noproblems_bool,
+ unknown .code:n = {
+ \PassOptionsToClass{\CurrentOption}{stex}
+ \PassOptionsToClass{\CurrentOption}{tikzinput}
+ }
+}
+\ProcessKeysOptions{ notesslides / pkg }
+\newif\ifnotes
+\bool_if:NTF \c_@@_notes_bool {
+ \notestrue
+}{
+ \notesfalse
+}
+
+% \end{macrocode}
+% we give ourselves a macro |\@@topsect| that needs only be evaluated once, so that the
+% |\ifdefstring| conditionals work below.
+% \begin{macrocode}
+\str_if_empty:NTF \c_@@_topsect_str {
+ \str_set_eq:NN \@@topsect \c_@@_defaulttopsec_str
+}{
+ \str_set_eq:NN \@@topsect \c_@@_topsect_str
+}
+%</package>
+% \end{macrocode}
+%
+% Depending on the options, we either load the |article|-based |document-structure| or the |beamer|
+% class (and set some counters).
+% \begin{macrocode}
+%<*cls>
+\bool_if:NTF \c_@@_notes_bool {
+ \LoadClass{document-structure}
+}{
+ \LoadClass[10pt,notheorems,xcolor={dvipsnames,svgnames}]{beamer}
+ \newcounter{Item}
+ \newcounter{paragraph}
+ \newcounter{subparagraph}
+ \newcounter{Hfootnote}
+ \RequirePackage{document-structure}
+}
+% \end{macrocode}
+% now it only remains to load the |notesslides| package that does all the rest.
+% \begin{macrocode}
+\RequirePackage{notesslides}
+%</cls>
+% \end{macrocode}
+%
+% In |notes| mode, we also have to make the |beamer|-specific things available to
+% |article| via the |beamerarticle| package. We use options to avoid loading theorem-like
+% environments, since we want to use our own from the $\sTeX$ packages. The first batch
+% of packages we want are loaded on |notesslides.sty|. These are the general ones, we will
+% load the \sTeX-specific ones after we have done some work (e.g. defined the counters
+% |m*|). Only the |stex-logo| package is already needed now for the default theme.
+%
+% \begin{macrocode}
+%<*package>
+\bool_if:NT \c_@@_notes_bool {
+ \RequirePackage{a4wide}
+ \RequirePackage{marginnote}
+ \PassOptionsToPackage{usenames,dvipsnames,svgnames}{xcolor}
+ \RequirePackage{mdframed}
+ \RequirePackage[noxcolor,noamsthm]{beamerarticle}
+ \RequirePackage[bookmarks,bookmarksopen,bookmarksnumbered,breaklinks,hidelinks]{hyperref}
+}
+\RequirePackage{stex-tikzinput}
+\RequirePackage{etoolbox}
+\RequirePackage{amssymb}
+\RequirePackage{amsmath}
+\RequirePackage{comment}
+\RequirePackage{textcomp}
+\RequirePackage{url}
+\RequirePackage{graphicx}
+\RequirePackage{pgf}
+% \end{macrocode}
+%
+% \subsection{Notes and Slides}\label{sec:impl:noteslides}
+%
+% For the lecture notes cases, we also provide the |\usetheme| macro that would otherwise
+% come from the the |beamer| class. While the latter loads
+% |beamertheme|\meta{theme}{.sty}, the notes version loads
+% |beamernotestheme|\meta{theme}|.sty|.\ednote{MK: This is not ideal, but I am not sure
+% that I want to be able to provide the full theme functionality there.}
+% \begin{macrocode}
+\bool_if:NT \c_@@_notes_bool {
+ \renewcommand\usetheme[2][]{\usepackage[#1]{beamernotestheme#2}}
+}
+% \end{macrocode}
+% We define the sizes of slides in the notes. Somehow, we cannot get by with the same
+% here.
+%
+% \begin{macrocode}
+\newcounter{slide}
+\newlength{\slidewidth}\setlength{\slidewidth}{13.5cm}
+\newlength{\slideheight}\setlength{\slideheight}{9cm}
+% \end{macrocode}
+%
+% \begin{environment}{note}
+% The |note| environment is used to leave out text in the |slides| mode. It does not have
+% a counterpart in OMDoc. So for course notes, we define the |note| environment to be a
+% no-operation otherwise we declare the |note| environment as a comment via the |comment|
+% package.
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \renewenvironment{note}{\ignorespaces}{}
+}{
+ \excludecomment{note}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% We first set up the slide boxes in |article| mode. We set up sizes and provide a
+% box register for the frames and a counter for the slides.
+%
+% \begin{macrocode}
+\bool_if:NT \c_@@_notes_bool {
+ \newlength{\slideframewidth}
+ \setlength{\slideframewidth}{1.5pt}
+% \end{macrocode}
+%
+% \begin{environment}{frame}
+% We first define the keys.
+% \begin{macrocode}
+ \cs_new_protected:Nn \_@@_do_yes_param:Nn {
+ \exp_args:Nx \str_if_eq:nnTF { \str_uppercase:n{ #2 } }{ yes }{
+ \bool_set_true:N #1
+ }{
+ \bool_set_false:N #1
+ }
+ }
+ \keys_define:nn{notesslides / frame}{
+ label .str_set_x:N = \l_@@_frame_label_str,
+ allowframebreaks .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_frame_allowframebreaks_bool { #1 }
+ },
+ allowdisplaybreaks .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_frame_allowdisplaybreaks_bool { #1 }
+ },
+ fragile .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_frame_fragile_bool { #1 }
+ },
+ shrink .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_frame_shrink_bool { #1 }
+ },
+ squeeze .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_frame_squeeze_bool { #1 }
+ },
+ t .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_frame_t_bool { #1 }
+ },
+ }
+ \cs_new_protected:Nn \_@@_frame_args:n {
+ \str_clear:N \l_@@_frame_label_str
+ \bool_set_true:N \l_@@_frame_allowframebreaks_bool
+ \bool_set_true:N \l_@@_frame_allowdisplaybreaks_bool
+ \bool_set_true:N \l_@@_frame_fragile_bool
+ \bool_set_true:N \l_@@_frame_shrink_bool
+ \bool_set_true:N \l_@@_frame_squeeze_bool
+ \bool_set_true:N \l_@@_frame_t_bool
+ \keys_set:nn { notesslides / frame }{ #1 }
+ }
+% \end{macrocode}
+% We define the environment, read them, and construct the slide number and label.
+% \begin{macrocode}
+ \renewenvironment{frame}[1][]{
+ \_@@_frame_args:n{#1}
+ \sffamily
+ \stepcounter{slide}
+ \def\@currentlabel{\theslide}
+ \str_if_empty:NF \l_@@_frame_label_str {
+ \label{\l_@@_frame_label_str}
+ }
+% \end{macrocode}
+% We redefine the |itemize| environment so that it looks more like the one in |beamer|.
+% \begin{macrocode}
+ \def\itemize@level{outer}
+ \def\itemize@outer{outer}
+ \def\itemize@inner{inner}
+ \renewcommand\newpage{\addtocounter{framenumber}{1}}
+ \newcommand\metakeys@show@keys[2]{\marginnote{{\scriptsize ##2}}}
+ \renewenvironment{itemize}{
+ \ifx\itemize@level\itemize@outer
+ \def\itemize@label{$\rhd$}
+ \fi
+ \ifx\itemize@level\itemize@inner
+ \def\itemize@label{$\scriptstyle\rhd$}
+ \fi
+ \begin{list}
+ {\itemize@label}
+ {\setlength{\labelsep}{.3em}
+ \setlength{\labelwidth}{.5em}
+ \setlength{\leftmargin}{1.5em}
+ }
+ \edef\itemize@level{\itemize@inner}
+ }{
+ \end{list}
+ }
+% \end{macrocode}
+% We create the box with the |mdframed| environment from the equinymous package.
+% \begin{macrocode}
+ \begin{mdframed}[linewidth=\slideframewidth,skipabove=1ex,skipbelow=1ex,userdefinedwidth=\slidewidth,align=center]\sf
+ }{
+ \medskip\miko@slidelabel\end{mdframed}
+ }
+% \end{macrocode}
+% \end{environment}
+%
+% Now, we need to redefine the frametitle (we are still in course notes mode).
+% \begin{macro}{\frametitle}
+% \begin{macrocode}
+ \renewcommand{\frametitle}[1]{{\Large\bf\sf\color{blue}{#1}}\medskip}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pause}
+% \ednote{MK: fake it in notes mode for now}
+% \begin{macrocode}
+\bool_if:NT \c_@@_notes_bool {
+ \newcommand\pause{}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{nparagraph}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{nparagraph}[1][]{\begin{sparagraph}[#1]}{\end{sparagraph}}
+}{
+ \excludecomment{nparagraph}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{nfragment}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{nfragment}[2][]{\begin{sfragment}[#1]{#2}}{\end{sfragment}}
+}{
+ \excludecomment{nfragment}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{ndefinition}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{ndefinition}[1][]{\begin{sdefinition}[#1]}{\end{sdefinition}}
+}{
+ \excludecomment{ndefinition}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{nassertion}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{nassertion}[1][]{\begin{sassertion}[#1]}{\end{sassertion}}
+}{
+ \excludecomment{nassertion}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{nsproof}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{nproof}[2][]{\begin{sproof}[#1]{#2}}{\end{sproof}}
+}{
+ \excludecomment{nproof}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{nexample}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{nexample}[1][]{\begin{sexample}[#1]}{\end{sexample}}
+}{
+ \excludecomment{nexample}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\inputref@*skip}
+% We customize the hooks for in |\inputref|.
+% \begin{macrocode}
+\def\inputref@preskip{\smallskip}
+\def\inputref@postskip{\medskip}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\inputref*}
+% \begin{macrocode}
+\let\orig@inputref\inputref
+\def\inputref{\@ifstar\ninputref\orig@inputref}
+\newcommand\ninputref[2][]{
+ \bool_if:NT \c_@@_notes_bool {
+ \orig@inputref[#1]{#2}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Header and Footer Lines}\label{sec:impl:headfootlines}
+%
+% Now, we set up the infrastructure for the footer line of the slides, we use boxes for
+% the logos, so that they are only loaded once, that considerably speeds up processing.
+%
+% \begin{macro}{\setslidelogo}
+% The default logo is the {\sTeX} logo. Customization can be done by |\setslidelogo{|\meta{logo name}|}|.
+% \begin{macrocode}
+\newlength{\slidelogoheight}
+
+\bool_if:NTF \c_@@_notes_bool {
+ \setlength{\slidelogoheight}{.4cm}
+}{
+ \setlength{\slidelogoheight}{1cm}
+}
+\newsavebox{\slidelogo}
+\sbox{\slidelogo}{\sTeX}
+\newrobustcmd{\setslidelogo}[1]{
+ \sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{#1}}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setsource}
+% |\source| stores the writer's name. By default it is {\it Michael Kohlhase} since he is the main user and designer of this package. |\setsource{|\meta{name}|}| can change the writer's name.
+% \begin{macrocode}
+\def\source{Michael Kohlhase}% customize locally
+\newrobustcmd{\setsource}[1]{\def\source{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setlicensing}
+% Now, we set up the copyright and licensing. By default we use the Creative Commons
+% Attribuition-ShareAlike license to strengthen the public domain. If package |hyperref|
+% is loaded, then we can attach a hyperlink to the license
+% logo. |\setlicensing[|\meta{url}|]{|\meta{logo name}|}| is used for customization,
+% where ||\meta{url}|| is optional.
+% \begin{macrocode}
+\def\copyrightnotice{\footnotesize\copyright :\hspace{.3ex}{\source}}
+\newsavebox{\cclogo}
+\sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{cc_somerights}}
+\newif\ifcchref\cchreffalse
+\AtBeginDocument{
+ \@ifpackageloaded{hyperref}{\cchreftrue}{\cchreffalse}
+}
+\def\licensing{
+ \ifcchref
+ \href{http://creativecommons.org/licenses/by-sa/2.5/}{\usebox{\cclogo}}
+ \else
+ {\usebox{\cclogo}}
+ \fi
+}
+\newrobustcmd{\setlicensing}[2][]{
+ \def\@url{#1}
+ \sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{#2}}
+ \ifx\@url\@empty
+ \def\licensing{{\usebox{\cclogo}}}
+ \else
+ \def\licensing{
+ \ifcchref
+ \href{#1}{\usebox{\cclogo}}
+ \else
+ {\usebox{\cclogo}}
+ \fi
+ }
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\slidelabel}
+% Now, we set up the slide label for the |article| mode.\ednote{see that we can use the themes for the slides some day. This is all fake.}
+% \begin{macrocode}
+\newrobustcmd\miko@slidelabel{
+ \vbox to \slidelogoheight{
+ \vss\hbox to \slidewidth
+ {\licensing\hfill\copyrightnotice\hfill\arabic{slide}\hfill\usebox{\slidelogo}}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \subsection{Frame Images}\label{sec:impl:frameimage}
+%
+% \begin{macro}{\frameimage}
+% We have to make sure that the width is overwritten, for that we check the
+% |\Gin@ewidth| macro from the |graphicx| package. We also add the |label| key.
+% \begin{macrocode}
+\def\Gin@mhrepos{}
+\define@key{Gin}{mhrepos}{\def\Gin@mhrepos{#1}}
+\define@key{Gin}{label}{\def\@currentlabel{\arabic{slide}}\label{#1}}
+\newrobustcmd\frameimage[2][]{
+ \stepcounter{slide}
+ \bool_if:NT \c_@@_frameimages_bool {
+ \def\Gin@ewidth{}\setkeys{Gin}{#1}
+ \bool_if:NF \c_@@_notes_bool { \vfill }
+ \begin{center}
+ \bool_if:NTF \c_@@_fiboxed_bool {
+ \fbox{
+ \ifx\Gin@ewidth\@empty
+ \ifx\Gin@mhrepos\@empty
+ \mhgraphics[width=\slidewidth,#1]{#2}
+ \else
+ \mhgraphics[width=\slidewidth,#1,mhrepos=\Gin@mhrepos]{#2}
+ \fi
+ \else% Gin@ewidth empty
+ \ifx\Gin@mhrepos\@empty
+ \mhgraphics[#1]{#2}
+ \else
+ \mhgraphics[#1,mhrepos=\Gin@mhrepos]{#2}
+ \fi
+ \fi% Gin@ewidth empty
+ }
+ }{
+ \ifx\Gin@ewidth\@empty
+ \ifx\Gin@mhrepos\@empty
+ \mhgraphics[width=\slidewidth,#1]{#2}
+ \else
+ \mhgraphics[width=\slidewidth,#1,mhrepos=\Gin@mhrepos]{#2}
+ \fi
+ \ifx\Gin@mhrepos\@empty
+ \mhgraphics[#1]{#2}
+ \else
+ \mhgraphics[#1,mhrepos=\Gin@mhrepos]{#2}
+ \fi
+ \fi% Gin@ewidth empty
+ }
+ \end{center}
+ \par\strut\hfill{\footnotesize Slide \arabic{slide}}%
+ \bool_if:NF \c_@@_notes_bool { \vfill }
+ }
+} % ifmks@sty@frameimages
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Colors and Highlighting}\label{sec:impl:highlighting}
+%
+% We first specify sans serif fonts as the default.
+%
+% \begin{macrocode}
+\sffamily
+% \end{macrocode}
+%
+% Now, we set up an infrastructure for highlighting phrases in slides. Note that we use
+% content-oriented macros for highlighting rather than directly using color markup.
+% The first thing to to is to adapt the green so that it is dark enough for most beamers
+% \begin{macrocode}
+\AddToHook{begindocument}{
+ \definecolor{green}{rgb}{0,.5,0}
+ \definecolor{purple}{cmyk}{.3,1,0,.17}
+}
+% \end{macrocode}
+%
+% We customize the |\defemph|, |\symrefemph|, |\compemph|, and |\titleemph| macros with
+% colors. Furthermore we customize the |\__omtextlec| macro for the appearance of line end
+% comments in |\lec|.
+%
+% \begin{macrocode}
+% \def\STpresent#1{\textcolor{blue}{#1}}
+\def\defemph#1{{\textcolor{magenta}{#1}}}
+\def\symrefemph#1{{\textcolor{cyan}{#1}}}
+\def\compemph#1{{\textcolor{blue}{#1}}}
+\def\titleemph#1{{\textcolor{blue}{#1}}}
+\def\__omtext_lec#1{(\textcolor{green}{#1})}
+% \end{macrocode}
+%
+% I like to use the dangerous bend symbol for warnings, so we provide it here.
+% \begin{macro}{\textwarning}
+% as the macro can be used quite often we put it into a box register, so that it is only
+% loaded once.
+% \begin{macrocode}
+\pgfdeclareimage[width=.8em]{miko@small@dbend}{dangerous-bend}
+\def\smalltextwarning{
+ \pgfuseimage{miko@small@dbend}
+ \xspace
+}
+\pgfdeclareimage[width=1.2em]{miko@dbend}{dangerous-bend}
+\newrobustcmd\textwarning{
+ \raisebox{-.05cm}{\pgfuseimage{miko@dbend}}
+ \xspace
+}
+\pgfdeclareimage[width=2.5em]{miko@big@dbend}{dangerous-bend}
+\newrobustcmd\bigtextwarning{
+ \raisebox{-.05cm}{\pgfuseimage{miko@big@dbend}}
+ \xspace
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\newrobustcmd\putgraphicsat[3]{
+ \begin{picture}(0,0)\put(#1){\includegraphics[#2]{#3}}\end{picture}
+}
+\newrobustcmd\putat[2]{
+ \begin{picture}(0,0)\put(#1){#2}\end{picture}
+}
+% \end{macrocode}
+%
+% \subsection{Sectioning}
+%
+% If the |sectocframes| option is set, then we make section frames. We first define
+% counters for |part| and |chapter|, which |beamer.cls| does not have and we make the
+% |section| counter which it does dependent on |chapter|.
+% \begin{macrocode}
+\bool_if:NT \c_@@_sectocframes_bool {
+ \str_if_eq:VnTF \@@topsect{part}{
+ \newcounter{chapter}\counterwithin*{section}{chapter}
+ }{
+ \str_if_eq:VnT\@@topsect{chapter}{
+ \newcounter{chapter}\counterwithin*{section}{chapter}
+ }
+ }
+}
+% \end{macrocode}
+%
+% We set the \DescribeMacro{\section@level}|\section@level| counter that governs
+% sectioning according to the class options. We also introduce the sectioning counters
+% accordingly.
+%
+% \begin{macro}{\section@level}
+% \begin{macrocode}
+\def\part@prefix{}
+\@ifpackageloaded{document-structure}{}{
+ \str_case:VnF \@@topsect {
+ {part}{
+ \int_set:Nn \l_document_structure_section_level_int {0}
+ \def\thesection{\arabic{chapter}.\arabic{section}}
+ \def\part@prefix{\arabic{chapter}.}
+ }
+ {chapter}{
+ \int_set:Nn \l_document_structure_section_level_int {1}
+ \def\thesection{\arabic{chapter}.\arabic{section}}
+ \def\part@prefix{\arabic{chapter}.}
+ }
+ }{
+ \int_set:Nn \l_document_structure_section_level_int {2}
+ \def\part@prefix{}
+ }
+}
+
+\bool_if:NF \c_@@_notes_bool { % only in slides
+% \end{macrocode}
+% \end{macro}
+%
+% The new counters are used in the |omgroup| environment that choses the {\LaTeX}
+% sectioning macros according to |\section@level|.
+%
+% \begin{environment}{sfragment}
+% \begin{macrocode}
+ \renewenvironment{sfragment}[2][]{
+ \__document_structure_omgroup_args:n { #1 }
+ \int_incr:N \l_document_structure_section_level_int
+ \bool_if:NT \c_@@_sectocframes_bool {
+ \stepcounter{slide}
+ \begin{frame}[noframenumbering]
+ \vfill\Large\centering
+ \red{
+ \ifcase\l_document_structure_section_level_int\or
+ \stepcounter{part}
+ \def\@@label{\omdoc@part@kw~\Roman{part}}
+ \def\currentsectionlevel{\omdoc@part@kw}
+ \or
+ \stepcounter{chapter}
+ \def\@@label{\omdoc@chapter@kw~\arabic{chapter}}
+ \def\currentsectionlevel{\omdoc@chapter@kw}
+ \or
+ \stepcounter{section}
+ \def\@@label{\part@prefix\arabic{section}}
+ \def\currentsectionlevel{\omdoc@section@kw}
+ \or
+ \stepcounter{subsection}
+ \def\@@label{\part@prefix\arabic{section}.\arabic{subsection}}
+ \def\currentsectionlevel{\omdoc@subsection@kw}
+ \or
+ \stepcounter{subsubsection}
+ \def\@@label{\part@prefix\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}
+ \def\currentsectionlevel{\omdoc@subsubsection@kw}
+ \or
+ \stepcounter{paragraph}
+ \def\@@label{\part@prefix\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.\arabic{paragraph}}
+ \def\currentsectionlevel{\omdoc@paragraph@kw}
+ \else
+ \def\@@label{}
+ \def\currentsectionlevel{\omdoc@paragraph@kw}
+ \fi% end ifcase
+ \@@label%\sref@label@id\@@label
+ \quad #2%
+ }%
+ \vfill%
+ \end{frame}%
+ }
+ \str_if_empty:NF \l__document_structure_omgroup_id_str {
+ \stex_ref_new_doc_target:n\l__document_structure_omgroup_id_str
+ }
+ }{}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% We set up a |beamer| template for theorems like ams style, but without a block
+% environment.
+% \begin{macrocode}
+\def\inserttheorembodyfont{\normalfont}
+%\bool_if:NF \c_@@_notes_bool {
+% \defbeamertemplate{theorem begin}{miko}
+% {\inserttheoremheadfont\inserttheoremname\inserttheoremnumber
+% \ifx\inserttheoremaddition\@empty\else\ (\inserttheoremaddition)\fi%
+% \inserttheorempunctuation\inserttheorembodyfont\xspace}
+% \defbeamertemplate{theorem end}{miko}{}
+% \end{macrocode}
+% and we set it as the default one.
+% \begin{macrocode}
+% \setbeamertemplate{theorems}[miko]
+% \end{macrocode}
+% The following fixes an error I do not understand, this has something to do with
+% beamer compatibility, which has similar definitions but only up to 1.
+% \begin{macrocode}
+% \expandafter\def\csname Parent2\endcsname{}
+%}
+
+\AddToHook{begindocument}{ % this does not work for some reasone
+ \setbeamertemplate{theorems}[ams style]
+}
+\bool_if:NT \c_@@_notes_bool {
+ \renewenvironment{columns}[1][]{%
+ \par\noindent%
+ \begin{minipage}%
+ \slidewidth\centering\leavevmode%
+ }{%
+ \end{minipage}\par\noindent%
+ }%
+ \newsavebox\columnbox%
+ \renewenvironment<>{column}[2][]{%
+ \begin{lrbox}{\columnbox}\begin{minipage}{#2}%
+ }{%
+ \end{minipage}\end{lrbox}\usebox\columnbox%
+ }%
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\bool_if:NTF \c_@@_noproblems_bool {
+ \newenvironment{problems}{}{}
+}{
+ \excludecomment{problems}
+}
+% \end{macrocode}
+%
+% \subsection{Excursions}\label{sec:impl:excursions}
+%
+% \begin{macro}{\excursion}
+% The excursion macros are very simple, we define a new internal macro |\excursionref| and
+% use it in |\excursion|, which is just an |\inputref| that checks if the new macro is
+% defined before formatting the file in the argument.
+% \begin{macrocode}
+\gdef\printexcursions{}
+\newcommand\excursionref[2]{% label, text
+ \bool_if:NT \c_@@_notes_bool {
+ \begin{sparagraph}[title=Excursion]
+ #2 \sref[fallback=the appendix]{#1}.
+ \end{sparagraph}
+ }
+}
+\newcommand\activate@excursion[2][]{
+ \gappto\printexcursions{\inputref[#1]{#2}}
+}
+\newcommand\excursion[4][]{% repos, label, path, text
+ \bool_if:NT \c_@@_notes_bool {
+ \activate@excursion[#1]{#3}\excursionref{#2}{#4}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\excursiongroup}
+% \begin{macrocode}
+\keys_define:nn{notesslides / excursiongroup }{
+ id .str_set_x:N = \l_@@_excursion_id_str,
+ intro .tl_set:N = \l_@@_excursion_intro_tl,
+ mhrepos .str_set_x:N = \l_@@_excursion_mhrepos_str
+}
+\cs_new_protected:Nn \_@@_excursion_args:n {
+ \tl_clear:N \l_@@_excursion_intro_tl
+ \str_clear:N \l_@@_excursion_id_str
+ \str_clear:N \l_@@_excursion_mhrepos_str
+ \keys_set:nn {notesslides / excursiongroup }{ #1 }
+}
+\newcommand\excursiongroup[1][]{
+ \_@@_excursion_args:n{ #1 }
+ \ifdefempty\printexcursions{}% only if there are excursions
+ {\begin{note}
+ \begin{sfragment}[#1]{Excursions}%
+ \ifdefempty\l_@@_excursion_intro_tl{}{
+ \inputref[\l_@@_excursion_mhrepos_str]{
+ \l_@@_excursion_intro_tl
+ }
+ }
+ \printexcursions%
+ \end{sfragment}
+ \end{note}}
+}
+\ifcsname beameritemnestingprefix\endcsname\else\def\beameritemnestingprefix{}\fi
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
+% \end{implementation}
+\endinput
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:
+
+% LocalWords: bibfolder jobname.dtx omdoc.dtx mytwocolumns beamer.cls sectocframes rhd
+% LocalWords: frameimage twintoo atwin atwintoo scsys scshape ttfamily cnxlatex xspace
+% LocalWords: mathml omdoc beamerclass:on Kohlhase:smomdl noproblems frameimages exfig
+% LocalWords: frameimages fiboxed fiboxed topsect topsect Tantau:ugbc ifnotes ifnotes
+% LocalWords: noframenumbering allowframebreaks newpage inputref inputref inputref sref
+% LocalWords: setsource setsource setlicensing setlicensing CarRah:tpp99 mhframeimage
+% LocalWords: mhframeimage printexcursions excursionref excursionref excursiongroup
+% LocalWords: excursiongroup sec:impl nontheorem mks@cls,prefix mks@cls mks@sty,prefix
+% LocalWords: mks@sty 10pt,notheorems,xcolor dvipsnames,svgnames Hfootnote mdframed
+% LocalWords: beamerarticle noxcolor,noamsthm metakeys addmetakey usetheme beamertheme
+% LocalWords: bookmarks,bookmarksopen,bookmarksnumbered,breaklinks,hidelinks sproof
+% LocalWords: beamernotestheme slideframewidth allowdisplaybreaks framenumber sproof
+% LocalWords: miko@slidelabel inputref@preskip smallskip ninputref slidelogoheight
+% LocalWords: copyrightnotice cclogo cc_somerights ifcchref cchreffalse cchreftrue
+% LocalWords: Gin@ewidth mh@currentrepos mhrepos if@iswindows defemph notemph STpresent
+% LocalWords: smalltextwarning miko@dbend bigtextwarning counterwithin ifsectocframes
+% LocalWords: subsubsection mparagraph csname stex_ref_new_doc_target:n columnbox
+% LocalWords: inserttheorembodyfont defbeamertemplate inserttheoremheadfont mhexcursion
+% LocalWords: inserttheoremname inserttheoremnumber inserttheoremaddition srefaddidkey
+% LocalWords: inserttheoremaddition inserttheorempunctuation setbeamertemplate
+% LocalWords: mhexcursiongroup
diff --git a/macros/latex/contrib/stex/sty/problem/problem.dtx b/macros/latex/contrib/stex/source/extensions/problem.dtx
index d46c7d028d..b21b1c493d 100644
--- a/macros/latex/contrib/stex/sty/problem/problem.dtx
+++ b/macros/latex/contrib/stex/source/extensions/problem.dtx
@@ -1,52 +1,28 @@
% \iffalse meta-comment
% An Infrastructure for Problems
-% Copyright (c) 2006-2008 Michael Kohlhase, all rights reserved
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
% this file is released under the
% LaTeX Project Public License (LPPL)
% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
+% http://github.com/sLaTeX/sTeX/
% \fi
%
% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{problem}[2019/03/20 v1.3 Semantic Markup for Problems]
%
%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,float,xspace}
-\usepackage[solutions,hints,notes]{problem}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\def\latexml{\hbox{{\LaTeX}ML}\xspace}
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
+\def\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+\RequirePackage[hints,solutions,notes]{problem}
+
\begin{document}
-\RecordChanges
-\DocInput{problem.dtx}
+ \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{318}
+% \iffalse\CheckSum{318}\fi
%
-% \changes{v0.9}{2006/09/18}{First Version with Documentation}
-% \changes{v0.9a}{2007/01/02}{Renamed to \texttt{problem.sty}}
-% \changes{v0.9c}{2010/01/03}{based on \texttt{omd.sty} now}
-% \changes{v1.0}{2013/10/09}{adding \texttt{\textbackslash start/stopsolution}}
-% \changes{v1.1}{2013/12/12}{adding MathHub support}
-% \changes{v1.2}{2015/11/04}{moving MathHub support out to separate package}
-% \changes{v1.3}{2018/11/23}{Addint Multiple Choice Blocks}
+% ^^A\changes{v0.9}{2006/09/18}{First Version with Documentation}
%
% \GetFileInfo{problem.sty}
%
@@ -59,11 +35,18 @@
% \url{http://kwarc.info/kohlhase}}
% \maketitle
%
-% \begin{abstract}
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{problem} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/problem}
+% \fi
+%
+% \begin{documentation}
% The |problem| package supplies an infrastructure that allows specify problems and to
% reuse them efficiently in multiple environments.
-% \end{abstract}
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
%
%\section{Introduction}\label{sec:intro}
%
@@ -83,19 +66,22 @@
% The |problem| package takes the options \DescribeMacro{solutions}|solutions| (should
% solutions be output?), \DescribeMacro{notes}|notes| (should the problem notes be
% presented?), \DescribeMacro{hints}|hints| (do we give the hints?),
-% \DescribeMacro{pts}|pts| (do we display the points awarded for solving the problem?),
-% \DescribeMacro{min}|min| (do we display the estimated minutes for problem soling). If
-% theses are specified, then the corresponding auxiliary parts of the problems are output,
-% otherwise, they remain invisible.
+% \DescribeMacro{gnotes}|gnotes| (do we show grading notes?), \DescribeMacro{pts}|pts| (do
+% we display the points awarded for solving the problem?), \DescribeMacro{min}|min| (do we
+% display the estimated minutes for problem soling). If theses are specified, then the
+% corresponding auxiliary parts of the problems are output, otherwise, they remain
+% invisible.
%
% The \DescribeMacro{boxed}|boxed| option specifies that problems should be formatted in
% framed boxes so that they are more visible in the text. Finally, the
% \DescribeMacro{test}|test| option signifies that we are in a test situation, so this
% option does not show the solutions (of course), but leaves space for the students to
% solve them.
+%
+% The \DescribeMacro{mh}|mh| option turns on MathHub support; see \cite{Kohlhase:mss}.
%
% Finally, if the \DescribeMacro{showmeta}|showmeta| is set, then the metadata keys are
-% shown (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
+% shown (see~\cite{Kohlhase:metakeys} for details and customization options).
%
% \subsection{Problems and Solutions}\label{sec:user:probsols}
%
@@ -113,7 +99,7 @@
% \begin{verbatim}
% \usepackage[solutions,hints,pts,min]{problem}
% \begin{document}
-% \begin{problem}[id=elefants,pts=10,min=2,title=Fitting Elefants]
+% \begin{sproblem}[id=elefants,pts=10,min=2,title=Fitting Elefants]
% How many Elefants can you fit into a Volkswagen beetle?
% \begin{hint}
% Think positively, this is simple!
@@ -123,8 +109,11 @@
% \end{exnote}
% \begin{solution}[for=elefants,height=3cm]
% Four, two in the front seats, and two in the back.
+% \begin{gnote}
+% if they do not give the justification deduct 5 pts
+% \end{gnote}
% \end{solution}
-% \end{problem}
+% \end{sproblem}
% \end{document}
% \end{verbatim}
% \caption{A marked up Problem}\label{fig:problem}
@@ -141,7 +130,7 @@
%
%\begin{exfig}
% \begin{minipage}{.9\linewidth}
-% \begin{problem}[id=elefants.prob,title=Fitting Elefants]
+% \begin{sproblem}[id=elefants.prob,title=Fitting Elefants]
% How many Elefants can you fit into a Volkswagen beetle?
% \begin{hint}
% Think positively, this is simple!
@@ -152,20 +141,27 @@
% \smallskip\noindent\hrule\textbf{Solution:}
% Four, two in the front seats, and two in the back.
% \hrule
-% \end{problem}
+% \end{sproblem}
% \end{minipage}
% \caption{The Formatted Problem from Figure~\ref{fig:problem}}\label{fig:result}
% \end{exfig}
%
-% \DescribeEnv{hint}\DescribeEnv{note}, the |hint| and |exnote| environments can be used
-% in a |problem| environment to give hints and to make notes that elaborate certain aspects
-% of the problem.
+% \DescribeEnv{hint}\DescribeEnv{exnote} The |hint| and |exnote| environments can be used
+% in a |problem| environment to give hints and to make notes that elaborate certain
+% aspects of the problem.
+%
+% \DescribeEnv{gnote} The |gnote| (grading notes) environment can be used to document
+% situtations that may arise in grading.
%
% Sometimes we would like to locally override the |solutions| option we have given to the
% package. To turn on solutions we use the
% \DescribeMacro{\startsolutions}|\startsolutions|, to turn them off,
% \DescribeMacro{\stopsolutions}|\stopsolutions|. These two can be used at any point in
-% the documents.
+% the documents.
+%
+% Also, sometimes, we want content (e.g. in an exam with master solutions) conditional on
+% whether solutions are shown. This can be done with the
+% \DescribeMacro{\ifsolutions}|\ifsolutions| conditional.
%
% \subsection{Multiple Choice Blocks}\label{sec:user:mcq}
%
@@ -183,7 +179,7 @@
% See Figure~\ref{fig: mcq} for an example
%\begin{exfig}
% \begin{verbatim}
-% \begin{problem}[title=Functions]
+% \begin{sproblem}[title=Functions]
% What is the keyword to introduce a function definition in python?
% \begin{mcb}
% \mcc[T]{def}
@@ -191,10 +187,10 @@
% \mcc[F,feedback=that is for Standard ML]{fun}
% \mcc[F,Ftext=Nooooooooo,feedback=that is for Java]{public static void}
% \end{mcb}
-% \end{problem}
+% \end{sproblem}
% \end{verbatim}
% \solutionsfalse\hrule
-% \begin{problem}[title=Functions]
+% \begin{sproblem}[title=Functions]
% What is the keyword to introduce a function definition in python?
% \begin{mcb}
% \mcc[T]{def}
@@ -202,9 +198,9 @@
% \mcc[F,feedback=that is for Standard ML]{fun}
% \mcc[F,Ftext=Nooooooooo,feedback=that is for Java]{public static void}
% \end{mcb}
-% \end{problem}
+% \end{sproblem}
% \solutionstrue\hrule
-% \begin{problem}[title=Functions]
+% \begin{sproblem}[title=Functions]
% What is the keyword to introduce a function definition in python?
% \begin{mcb}
% \mcc[T]{def}
@@ -212,7 +208,7 @@
% \mcc[F,feedback=that is for Standard ML]{fun}
% \mcc[F,Ftext=Nooooooooo,feedback=that is for Java]{public static void}
% \end{mcb}
-% \end{problem}
+% \end{sproblem}
% \caption{A Problem with a multiple choice block}\label{fig:mcq}
% \end{exfig}
%
@@ -248,11 +244,11 @@
% \item none reported yet
% \end{enumerate}
%
-% \StopEventually{\newpage\PrintChanges}
-% \newpage
+% \end{documentation}
+% \begin{implementation}
%
% \section{The Implementation}\label{sec:implementation}
-%
+%
% \subsection{Package Options}\label{sec:impl:options}
%
% The first step is to declare (a few) package options that handle whether certain
@@ -261,55 +257,113 @@
%
% \begin{macrocode}
%<*package>
-\newif\if@problem@mh@\@problem@mh@false
-\DeclareOption{mh}{\@problem@mh@true}
-\newif\ifexnotes\exnotesfalse
-\DeclareOption{notes}{\exnotestrue}
-\newif\ifhints\hintsfalse
-\DeclareOption{hints}{\hintstrue}
-\newif\ifsolutions\solutionsfalse
-\DeclareOption{solutions}{\solutionstrue}
-\newif\ifpts\ptsfalse
-\DeclareOption{pts}{\ptstrue}
-\newif\ifmin\minfalse
-\DeclareOption{min}{\mintrue}
-\newif\ifboxed\boxedfalse
-\DeclareOption{boxed}{\boxedtrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{omtext}}
-\ProcessOptions
+%<@@=problems>
+\ProvidesExplPackage{problem}{2022/02/24}{3.0.0}{Semantic Markup for Problems}
+\RequirePackage{l3keys2e}
+
+\keys_define:nn { problem / pkg }{
+ notes .default:n = { true },
+ notes .bool_set:N = \c_@@_notes_bool,
+ gnotes .default:n = { true },
+ gnotes .bool_set:N = \c_@@_gnotes_bool,
+ hints .default:n = { true },
+ hints .bool_set:N = \c_@@_hints_bool,
+ solutions .default:n = { true },
+ solutions .bool_set:N = \c_@@_solutions_bool,
+ pts .default:n = { true },
+ pts .bool_set:N = \c_@@_pts_bool,
+ min .default:n = { true },
+ min .bool_set:N = \c_@@_min_bool,
+ boxed .default:n = { true },
+ boxed .bool_set:N = \c_@@_boxed_bool,
+ unknown .code:n = {}
+}
+\newif\ifsolutions
+
+\ProcessKeysOptions{ problem / pkg }
+\bool_if:NTF \c_@@_solutions_bool {
+ \solutionstrue
+}{
+ \solutionsfalse
+}
% \end{macrocode}
%
% Then we make sure that the necessary packages are loaded (in the right versions).
% \begin{macrocode}
-\if@problem@mh@\RequirePackage{problem-mh}\fi
-\RequirePackage{omtext}
\RequirePackage{comment}
-\RequirePackage{mdframed}
-\RequirePackage[base]{babel}
+% \end{macrocode}
+%
+% The next package relies on the \LaTeX3 kernel, which \latexml only partially
+% supports. As it is purely presentational, we only load it when the |boxed| option is
+% given and we run {\latexml}.
+%
+% \begin{macrocode}
+\bool_if:NT \c_@@_boxed_bool { \RequirePackage{mdframed} }
% \end{macrocode}
%
% \begin{macro}{\prob@*@kw}
% For multilinguality, we define internal macros for keywords that can be specialized in
% |*.ldf| files.
% \begin{macrocode}
-\AfterBabelLanguage{ngerman}{\input{problem-ngerman.ldf}}
-\AfterBabelLanguage{arabic}{\input{problem-arabic.ldf}}
\def\prob@problem@kw{Problem}
\def\prob@solution@kw{Solution}
+\def\prob@hint@kw{Hint}
+\def\prob@note@kw{Note}
+\def\prob@gnote@kw{Grading}
+\def\prob@pt@kw{pt}
+\def\prob@min@kw{min}
% \end{macrocode}
% \end{macro}
%
+% For the other languages, we set up triggers
+% \begin{macrocode}
+\AddToHook{begindocument}{
+ \ltx@ifpackageloaded{babel}{
+ \makeatletter
+ \clist_set:Nx \l_tmpa_clist {\bbl@loaded}
+ \clist_if_in:NnT \l_tmpa_clist {ngerman}{
+ \input{problem-ngerman.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {finnish}{
+ \input{problem-finnish.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {french}{
+ \input{problem-french.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {russian}{
+ \input{problem-russian.ldf}
+ }
+ \makeatother
+ }{}
+}
+% \end{macrocode}
+%
% \subsection{Problems and Solutions}\label{sec:impl:probsols}
%
% We now prepare the KeyVal support for problems. The key macros just set appropriate
% internal macros.
%
% \begin{macrocode}
-\srefaddidkey[prefix=prob.]{problem}
-\addmetakey{problem}{pts}
-\addmetakey{problem}{min}
-\addmetakey*{problem}{title}
-\addmetakey{problem}{refnum}
+\keys_define:nn{ problem / problem }{
+ id .str_set_x:N = \l_@@_prob_id_str,
+ pts .tl_set:N = \l_@@_prob_pts_tl,
+ min .tl_set:N = \l_@@_prob_min_tl,
+ title .tl_set:N = \l_@@_prob_title_tl,
+ type .tl_set:N = \l_@@_prob_type_tl,
+ refnum .int_set:N = \l_@@_prob_refnum_int
+}
+\cs_new_protected:Nn \_@@_prob_args:n {
+ \str_clear:N \l_@@_prob_id_str
+ \tl_clear:N \l_@@_prob_pts_tl
+ \tl_clear:N \l_@@_prob_min_tl
+ \tl_clear:N \l_@@_prob_title_tl
+ \tl_clear:N \l_@@_prob_type_tl
+ \int_zero_new:N \l_@@_prob_refnum_int
+ \keys_set:nn { problem / problem }{ #1 }
+ \int_compare:nNnT \l_@@_prob_refnum_int = 0 {
+ \let\l_@@_prob_refnum_int\undefined
+ }
+}
% \end{macrocode}
%
% Then we set up a counter for problems.
@@ -329,12 +383,18 @@
%
% \begin{macro}{\prob@number}
% We consolidate the problem number into a reusable internal macro
-% \begin{macrocode}
-\newcommand\prob@number{%
-\ifx\inclprob@refnum\@empty% if there is no outside refnumb
-\ifx\problem@refnum\@empty\prob@label\theproblem%
-\else\prob@label\problem@refnum\fi%
-\else\prob@label\inclprob@refnum\fi}
+% \begin{macrocode}
+\newcommand\prob@number{
+ \int_if_exist:NTF \l_@@_inclprob_refnum_int {
+ \prob@label{\int_use:N \l_@@_inclprob_refnum_int }
+ }{
+ \int_if_exist:NTF \l_@@_prob_refnum_int {
+ \prob@label{\int_use:N \l_@@_prob_refnum_int }
+ }{
+ \prob@label\theproblem
+ }
+ }
+}
% \end{macrocode}
% \end{macro}
%
@@ -342,11 +402,18 @@
% We consolidate the problem title into a reusable internal macro as well. |\prob@title|
% takes three arguments the first is the fallback when no title is given at all, the
% second and third go around the title, if one is given.
-% \begin{macrocode}
+% \begin{macrocode}
\newcommand\prob@title[3]{%
-\ifx\inclprob@title\@empty% if there is no outside title
-\ifx\problem@title\@empty{#1}\else{#2\problem@title{#3}}\fi
-\else{#2}\inclprob@title{#3}\fi}% else show the outside title
+ \tl_if_exist:NTF \l_@@_inclprob_title_tl {
+ #2 \l_@@_inclprob_title_tl #3
+ }{
+ \tl_if_exist:NTF \l_@@_prob_title_tl {
+ #2 \l_@@_prob_title_tl #3
+ }{
+ #1
+ }
+ }
+}
% \end{macrocode}
% \end{macro}
%
@@ -355,9 +422,11 @@
% \begin{macro}{\prob@heading}
% We consolidate the problem header line into a separate internal macro that can be
% reused in various settings.
-% \begin{macrocode}
-\def\prob@heading{\prob@problem@kw~\prob@number\prob@title{ }{ (}{)\strut\\}%
-\sref@label@id{\prob@problem@kw~\prob@number}}
+% \begin{macrocode}
+\def\prob@heading{
+ {\prob@problem@kw}\ \prob@number\prob@title{~}{~(}{)\strut}
+ %\sref@label@id{\prob@problem@kw~\prob@number}{}
+}
% \end{macrocode}
% \end{macro}
%
@@ -365,25 +434,103 @@
% depending on whether we are in boxed mode or not. In both cases we increment the problem
% number and output the points and minutes (depending) on whether the respective options
% are set.
-% \begin{environment}{problem}
+% \begin{environment}{sproblem}
% \begin{macrocode}
-\newenvironment{problem}[1][]{\metasetkeys{problem}{#1}\sref@target%
-\@in@omtexttrue% we are in a statement (for inline definitions)
-\stepcounter{problem}\record@problem%
-\def\current@section@level{\prob@problem@kw}%
-\par\noindent\textbf\prob@heading\show@pts\show@min\rmfamily\noindent\ignorespaces}
-{\smallskip}
-\ifboxed\surroundwithmdframed{problem}\fi
+\newenvironment{sproblem}[1][]{
+ \_@@_prob_args:n{#1}%\sref@target%
+ \@in@omtexttrue% we are in a statement (for inline definitions)
+ \stepcounter{problem}\record@problem
+ \def\current@section@level{\prob@problem@kw}
+ \tl_if_exist:NTF \l_@@_inclprob_type_tl {
+ \tl_set_eq:NN \sproblemtype \l_@@_inclprob_type_tl
+ }{
+ \tl_set_eq:NN \sproblemtype \l_@@_prob_type_tl
+ }
+ \str_if_exist:NTF \l_@@_inclprob_id_str {
+ \str_set_eq:NN \sproblemid \l_@@_inclprob_id_str
+ }{
+ \str_set_eq:NN \sproblemid \l_@@_prob_id_str
+ }
+
+
+ \clist_set:No \l_tmpa_clist \sproblemtype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sproblem_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sproblem_##1_start:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sproblem_start:
+ }{
+ \l_tmpa_tl
+ }
+ \stex_ref_new_doc_target:n \sproblemid
+}{
+ \clist_set:No \l_tmpa_clist \sproblemtype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sproblem_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sproblem_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sproblem_end:
+ }{
+ \l_tmpa_tl
+ }
+
+
+ \smallskip
+}
+
+
+\cs_new_protected:Nn \_@@_sproblem_start: {
+ \par\noindent\textbf\prob@heading\show@pts\show@min\\\ignorespacesandpars
+}
+\cs_new_protected:Nn \_@@_sproblem_end: {\par\smallskip}
+
+\newcommand\stexpatchproblem[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_sproblem_start: { #2 }
+ \tl_set:Nn \_@@_sproblem_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_sproblem_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_sproblem_#1_end:\endcsname{ #3 }
+ }
+}
+
+
+\bool_if:NT \c_@@_boxed_bool {
+ \surroundwithmdframed{problem}
+}
% \end{macrocode}
% \end{environment}
%
% \begin{macro}{\record@problem}
% This macro records information about the problems in the |*.aux| file.
% \begin{macrocode}
-\def\record@problem{\protected@write\@auxout{}%
-{\string\@problem{\prob@number}%
-{\ifx\inclprob@pts\@empty\problem@pts\else\inclprob@pts\fi}%
-{\ifx\inclprob@min\@empty\problem@min\else\inclprob@min\fi}}}
+\def\record@problem{
+ \protected@write\@auxout{}
+ {
+ \string\@problem{\prob@number}
+ {
+ \tl_if_exist:NTF \l_@@_inclprob_pts_tl {
+ \l_@@_inclprob_pts_tl
+ }{
+ \l_@@_prob_pts_tl
+ }
+ }%
+ {
+ \tl_if_exist:NTF \l_@@_inclprob_min_tl {
+ \l_@@_inclprob_min_tl
+ }{
+ \l_@@_prob_min_tl
+ }
+ }
+ }
+}
% \end{macrocode}
% \end{macro}
%
@@ -401,20 +548,36 @@
% that we need to define first.
%
% \begin{macrocode}
-\srefaddidkey{soln}
-\addmetakey{soln}{for}
-\addmetakey{soln}{height}
-\addmetakey{soln}{creators}
-\addmetakey{soln}{contributors}
-\addmetakey{soln}{srccite}
-% \begin{macrocode}
+\keys_define:nn { problem / solution }{
+ id .str_set_x:N = \l_@@_solution_id_str ,
+ for .tl_set:N = \l_@@_solution_for_tl ,
+ height .dim_set:N = \l_@@_solution_height_dim ,
+ creators .clist_set:N = \l_@@_solution_creators_clist ,
+ contributors .clist_set:N = \l_@@_solution_contributors_clist ,
+ srccite .tl_set:N = \l_@@_solution_srccite_tl
+}
+\cs_new_protected:Nn \_@@_solution_args:n {
+ \str_clear:N \l_@@_solution_id_str
+ \tl_clear:N \l_@@_solution_for_tl
+ \tl_clear:N \l_@@_solution_srccite_tl
+ \clist_clear:N \l_@@_solution_creators_clist
+ \clist_clear:N \l_@@_solution_contributors_clist
+ \dim_zero:N \l_@@_solution_height_dim
+ \keys_set:nn { problem / solution }{ #1 }
+}
+% \end{macrocode}
% the next step is to define a helper macro that does what is needed to start a solution.
% \begin{macrocode}
-\newcommand\@startsolution[1][]{\metasetkeys{soln}{#1}%
-\@in@omtexttrue% we are in a statement.
-\ifboxed\else\hrule\fi\smallskip\noindent{\textbf\prob@solution@kw: }\begin{small}%
-\def\current@section@level{\prob@solution@kw}%
-\ignorespaces}
+\newcommand\@startsolution[1][]{
+ \_@@_solution_args:n { #1 }
+ \@in@omtexttrue% we are in a statement.
+ \bool_if:NF \c_@@_boxed_bool { \hrule }
+ \smallskip\noindent
+ {\textbf\prob@solution@kw :\enspace}
+ \begin{small}
+ \def\current@section@level{\prob@solution@kw}
+ \ignorespacesandpars
+}
% \end{macrocode}
%
% \begin{macro}{\startsolutions}
@@ -422,9 +585,17 @@
% package. Note that we use the |\@startsolution| macro in the start codes, that parses
% the optional argument.
% \begin{macrocode}
-\newcommand\startsolutions{\specialcomment{solution}{\@startsolution}%
-{\ifboxed\else\hrule\medskip\fi\end{small}}%
-\ifboxed\surroundwithmdframed{solution}\fi}
+\newcommand\startsolutions{
+ \specialcomment{solution}{\@startsolution}{
+ \bool_if:NF \c_@@_boxed_bool {
+ \hrule\medskip
+ }
+ \end{small}%
+ }
+ \bool_if:NT \c_@@_boxed_bool {
+ \surroundwithmdframed{solution}
+ }
+}
% \end{macrocode}
% \end{macro}
%
@@ -437,60 +608,133 @@
% so it only remains to start/stop solutions depending on what option was specified.
%
% \begin{macrocode}
-\ifsolutions\startsolutions\else\stopsolutions\fi
+\ifsolutions
+ \startsolutions
+\else
+ \stopsolutions
+\fi
% \end{macrocode}
%
+% \begin{environment}{exnote}
% \begin{macrocode}
-\ifexnotes
-\newenvironment{exnote}[1][]%
-{\par\smallskip\hrule\smallskip\noindent\textbf{Note: }\small}
-{\smallskip\hrule}
-\else%ifexnotes
-\excludecomment{exnote}
-\fi%ifexnotes
-\ifhints
-\newenvironment{hint}[1][]%
-{\par\smallskip\hrule\smallskip\noindent\textbf{Hint: }\small}
-{\smallskip\hrule}
-\newenvironment{exhint}[1][]%
-{\par\smallskip\hrule\smallskip\noindent\textbf{Hint: }\small}
-{\smallskip\hrule}
-\else%ifhints
-\excludecomment{hint}
-\excludecomment{exhint}
-\fi%ifhints
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{exnote}[1][]{
+ \par\smallskip\hrule\smallskip
+ \noindent\textbf{\prob@note@kw : }\small
+ }{
+ \smallskip\hrule
+ }
+}{
+ \excludecomment{exnote}
+}
% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{hint}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{hint}[1][]{
+ \par\smallskip\hrule\smallskip
+ \noindent\textbf{\prob@hint@kw :~ }\small
+ }{
+ \smallskip\hrule
+ }
+ \newenvironment{exhint}[1][]{
+ \par\smallskip\hrule\smallskip
+ \noindent\textbf{\prob@hint@kw :~ }\small
+ }{
+ \smallskip\hrule
+ }
+}{
+ \excludecomment{hint}
+ \excludecomment{exhint}
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{gnote}
+% \begin{macrocode}
+\bool_if:NTF \c_@@_notes_bool {
+ \newenvironment{gnote}[1][]{
+ \par\smallskip\hrule\smallskip
+ \noindent\textbf{\prob@gnote@kw : }\small
+ }{
+ \smallskip\hrule
+ }
+}{
+ \excludecomment{gnote}
+}
+% \end{macrocode}
+% \end{environment}
%
% \subsection{Multiple Choice Blocks}\label{sec:impl:mcq}
%
% \begin{environment}{mcb}
% \ednote{MK: maybe import something better here from a dedicated MC package}
% \begin{macrocode}
-\newenvironment{mcb}
-{\begin{enumerate}}
-{\end{enumerate}}
+\newenvironment{mcb}{
+ \begin{enumerate}
+}{
+ \end{enumerate}
+}
% \end{macrocode}
% \end{environment}
% we define the keys for the |mcc| macro
% \begin{macrocode}
-\srefaddidkey{mcc}
-\addmetakey{mcc}{feedback}
-\addmetakey[T]{mcc}{T}
-\addmetakey[F]{mcc}{F}
-\addmetakey[Yes]{mcc}{Ttext}
-\addmetakey[No]{mcc}{Ftext}
+\cs_new_protected:Nn \_@@_do_yes_param:Nn {
+ \exp_args:Nx \str_if_eq:nnTF { \str_lowercase:n{ #2 } }{ yes }{
+ \bool_set_true:N #1
+ }{
+ \bool_set_false:N #1
+ }
+}
+\keys_define:nn { problem / mcc }{
+ id .str_set_x:N = \l_@@_mcc_id_str ,
+ feedback .tl_set:N = \l_@@_mcc_feedback_tl ,
+ T .default:n = { true } ,
+ T .bool_set:N = \l_@@_mcc_t_bool ,
+ F .default:n = { true } ,
+ F .bool_set:N = \l_@@_mcc_f_bool ,
+ Ttext .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_mcc_Ttext_bool { #1 }
+ } ,
+ Ftext .code:n = {
+ \_@@_do_yes_param:Nn \l_@@_mcc_Ftext_bool { #1 }
+ }
+}
+\cs_new_protected:Nn \l_@@_mcc_args:n {
+ \str_clear:N \l_@@_mcc_id_str
+ \tl_clear:N \l_@@_mcc_feedback_tl
+ \bool_set_true:N \l_@@_mcc_t_bool
+ \bool_set_true:N \l_@@_mcc_f_bool
+ \bool_set_true:N \l_@@_mcc_Ttext_bool
+ \bool_set_false:N \l_@@_mcc_Ftext_bool
+ \keys_set:nn { problem / mcc }{ #1 }
+}
% \end{macrocode}
%
% \begin{macro}{\mcc}
% \begin{macrocode}
-\newcommand\mcc[2][]{%
-\metasetkeys{mcc}{#1}%
-\item #2%
-\ifsolutions\\%
-\ifcsstring{mcc@T}{T}{}{\mcc@Ttext}%
-\ifcsstring{mcc@F}{F}{}{\mcc@Ftext}%
-\ifx\mcc@feedback\@empty!\else, \mcc@feedback\fi%
-\fi} %solutions
+\newcommand\mcc[2][]{
+ \l_@@_mcc_args:n{ #1 }
+ \item #2
+ \ifsolutions
+ \\
+ \bool_if:NT \l_@@_mcc_t_bool {
+ % TODO!
+ % \ifcsstring{mcc@T}{T}{}{\mcc@Ttext}%
+ }
+ \bool_if:NT \l_@@_mcc_f_bool {
+ % TODO!
+ % \ifcsstring{mcc@F}{F}{}{\mcc@Ftext}%
+ }
+ \tl_if_empty:NTF \l_@@_mcc_feedback_tl {
+ !
+ }{
+ \l_@@_mcc_feedback_tl
+ }
+ \fi
+} %solutions
% \end{macrocode}
% \end{macro}
%
@@ -501,27 +745,96 @@
% some internal macros first that overwrite the local points. Importantly, it resets the
% |inclprob| keys after the input.
% \begin{macrocode}
-\addmetakey{inclprob}{pts}
-\addmetakey{inclprob}{min}
-\addmetakey*{inclprob}{title}
-\addmetakey{inclprob}{refnum}
-\addmetakey{inclprob}{mhrepos}
-\clear@inclprob@keys%initially
-\newcommand\includeproblem[2][]{\metasetkeys{inclprob}{#1}%
-\input{#2}\clear@inclprob@keys}
+
+\keys_define:nn{ problem / inclproblem }{
+ id .str_set_x:N = \l_@@_inclprob_id_str,
+ pts .tl_set:N = \l_@@_inclprob_pts_tl,
+ min .tl_set:N = \l_@@_inclprob_min_tl,
+ title .tl_set:N = \l_@@_inclprob_title_tl,
+ refnum .int_set:N = \l_@@_inclprob_refnum_int,
+ type .tl_set:N = \l_@@_inclprob_type_tl,
+ mhrepos .str_set_x:N = \l_@@_inclprob_mhrepos_str
+}
+\cs_new_protected:Nn \_@@_inclprob_args:n {
+ \str_clear:N \l_@@_prob_id_str
+ \tl_clear:N \l_@@_inclprob_pts_tl
+ \tl_clear:N \l_@@_inclprob_min_tl
+ \tl_clear:N \l_@@_inclprob_title_tl
+ \tl_clear:N \l_@@_inclprob_type_tl
+ \int_zero_new:N \l_@@_inclprob_refnum_int
+ \str_clear:N \l_@@_inclprob_mhrepos_str
+ \keys_set:nn { problem / inclproblem }{ #1 }
+ \tl_if_empty:NT \l_@@_inclprob_pts_tl {
+ \let\l_@@_inclprob_pts_tl\undefined
+ }
+ \tl_if_empty:NT \l_@@_inclprob_min_tl {
+ \let\l_@@_inclprob_min_tl\undefined
+ }
+ \tl_if_empty:NT \l_@@_inclprob_title_tl {
+ \let\l_@@_inclprob_title_tl\undefined
+ }
+ \tl_if_empty:NT \l_@@_inclprob_type_tl {
+ \let\l_@@_inclprob_type_tl\undefined
+ }
+ \int_compare:nNnT \l_@@_inclprob_refnum_int = 0 {
+ \let\l_@@_inclprob_refnum_int\undefined
+ }
+}
+
+\cs_new_protected:Nn \_@@_inclprob_clear: {
+ \let\l_@@_inclprob_id_str\undefined
+ \let\l_@@_inclprob_pts_tl\undefined
+ \let\l_@@_inclprob_min_tl\undefined
+ \let\l_@@_inclprob_title_tl\undefined
+ \let\l_@@_inclprob_type_tl\undefined
+ \let\l_@@_inclprob_refnum_int\undefined
+ \let\l_@@_inclprob_mhrepos_str\undefined
+}
+\_@@_inclprob_clear:
+
+\newcommand\includeproblem[2][]{
+ \_@@_inclprob_args:n{ #1 }
+ \str_if_empty:NTF \l_@@_inclprob_mhrepos_str {
+ \input{#2}
+ }{
+ \stex_in_repository:nn{\l_@@_inclprob_mhrepos_str}{
+ \input{\mhpath{\l_@@_inclprob_mhrepos_str}{#2}}
+ }
+ }
+ \_@@_inclprob_clear:
+}
% \end{macrocode}
% \end{macro}
%
% \subsection{Reporting Metadata}
%
+% For messages it is OK to have them in English as the whole documentation is, and we can
+% therefore assume authors can deal with it.
+%
% \begin{macrocode}
-\def\pts#1{\ifpts\marginpar{#1 pt}\fi}
-\def\min#1{\ifmin\marginpar{#1 min}\fi}
+\AddToHook{enddocument}{
+ \bool_if:NT \c_@@_pts_bool {
+ \message{Total:~\arabic{pts}~points}
+ }
+ \bool_if:NT \c_@@_min_bool {
+ \message{Total:~\arabic{min}~minutes}
+ }
+}
% \end{macrocode}
%
+% The margin pars are reader-visible, so we need to translate
+%
% \begin{macrocode}
-\AtEndDocument{\ifpts\message{Total: \arabic{pts} points}\fi
-\ifmin\message{Total: \arabic{min} minutes}\fi}
+\def\pts#1{
+ \bool_if:NT \c_@@_pts_bool {
+ \marginpar{#1~\prob@pt@kw}
+ }
+}
+\def\min#1{
+ \bool_if:NT \c_@@_min_bool {
+ \marginpar{#1~\prob@min@kw}
+ }
+}
% \end{macrocode}
%
% \begin{macro}{\show@pts}
@@ -530,30 +843,47 @@
% then we show them in the margin.
% \begin{macrocode}
\newcounter{pts}
-\def\show@pts{\ifx\inclprob@pts\@empty%
-\ifx\problem@pts\@empty\else%
-\ifpts\marginpar{\problem@pts pt\smallskip}\addtocounter{pts}{\problem@pts}\fi%
-\fi\else% inclprob@pts nonempty
-\ifpts\marginpar{\inclprob@pts pt\smallskip}\addtocounter{pts}{\inclprob@pts}\fi%
-\fi}
+\def\show@pts{
+ \tl_if_exist:NTF \l_@@_inclprob_pts_tl {
+ \bool_if:NT \c_@@_pts_bool {
+ \marginpar{\l_@@_inclprob_pts_tl\ \prob@pt@kw\smallskip}
+ \addtocounter{pts}{\l_@@_inclprob_pts_tl}
+ }
+ }{
+ \tl_if_exist:NT \l_@@_prob_pts_tl {
+ \bool_if:NT \c_@@_pts_bool {
+ \marginpar{\l_@@_prob_pts_tl\ \prob@pt@kw\smallskip}
+ \addtocounter{pts}{\l_@@_prob_pts_tl}
+ }
+ }
+ }
+}
% \end{macrocode}
% \end{macro}
% and now the same for the minutes
% \begin{macro}{\show@min}
% \begin{macrocode}
\newcounter{min}
-\def\show@min{\ifx\inclprob@min\@empty%
-\ifx\problem@min\@empty\else%
-\ifmin\marginpar{\problem@min min}\addtocounter{min}{\problem@min}\fi%
-\fi\else%
-\ifmin\marginpar{\inclprob@min min}\addtocounter{min}{\inclprob@min}\fi
-\fi}
+\def\show@min{
+ \tl_if_exist:NTF \l_@@_inclprob_min_tl {
+ \bool_if:NT \c_@@_min_bool {
+ \marginpar{\l_@@_inclprob_pts_tl\ min}
+ \addtocounter{min}{\l_@@_inclprob_min_tl}
+ }
+ }{
+ \tl_if_exist:NT \l_@@_prob_min_tl {
+ \bool_if:NT \c_@@_min_bool {
+ \marginpar{\l_@@_prob_min_tl\ min}
+ \addtocounter{min}{\l_@@_prob_min_tl}
+ }
+ }
+ }
+}
%</package>
% \end{macrocode}
% \end{macro}
-% \Finale
+% \end{implementation}
\endinput
-% \iffalse
% LocalWords: GPL structuresharing STR dtx pts keyval xcomment CPERL DefKeyVal iffalse
%%% Local Variables:
%%% mode: doctex
diff --git a/macros/latex/contrib/stex/source/extensions/tikzinput.dtx b/macros/latex/contrib/stex/source/extensions/tikzinput.dtx
new file mode 100644
index 0000000000..51a3a7c06a
--- /dev/null
+++ b/macros/latex/contrib/stex/source/extensions/tikzinput.dtx
@@ -0,0 +1,146 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{Tikzinput
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{tikzinput} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/tikzinput}
+% \fi
+%
+% \begin{documentation}\label{pkg:tikzinput:doc}
+%
+%
+% \section{Macros and Environments}\label{pkg:tikzinput:doc:macros}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:tikzinput:impl}
+%
+% \section{Tikzinput Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% tikzinput.dtx %%%%%%%%%%%%%
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProvidesExplPackage{tikzinput}{2022/02/24}{3.0.0}{tikzinput package}
+\RequirePackage{l3keys2e}
+
+\keys_define:nn { tikzinput } {
+ image .bool_set:N = \c_tikzinput_image_bool,
+ image .default:n = false ,
+ unknown .code:n = {}
+}
+
+\ProcessKeysOptions { tikzinput }
+
+\bool_if:NTF \c_tikzinput_image_bool {
+ \RequirePackage{graphicx}
+
+ \providecommand\usetikzlibrary[]{}
+ \newcommand\tikzinput[2][]{\includegraphics[#1]{#2}}
+}{
+ \RequirePackage{tikz}
+ \RequirePackage{standalone}
+
+ \newcommand \tikzinput [2] [] {
+ \setkeys{Gin}{#1}
+ \ifx \Gin@ewidth \Gin@exclamation
+ \ifx \Gin@eheight \Gin@exclamation
+ \input { #2 }
+ \else
+ \resizebox{!}{ \Gin@eheight }{
+ \input { #2 }
+ }
+ \fi
+ \else
+ \ifx \Gin@eheight \Gin@exclamation
+ \resizebox{ \Gin@ewidth }{!}{
+ \input { #2 }
+ }
+ \else
+ \resizebox{ \Gin@ewidth }{ \Gin@eheight }{
+ \input { #2 }
+ }
+ \fi
+ \fi
+ }
+}
+
+\newcommand \ctikzinput [2] [] {
+ \begin{center}
+ \tikzinput [#1] {#2}
+ \end{center}
+}
+
+\@ifpackageloaded{stex}{
+ \RequirePackage{stex-tikzinput}
+}{}
+
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</package>
+%<*stex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProvidesExplPackage{stex-tikzinput}{2022/02/24}{3.0.0}{stex-tikzinput}
+\RequirePackage{stex}
+\RequirePackage{tikzinput}
+
+\newcommand\mhtikzinput[2][]{%
+ \def\Gin@mhrepos{}\setkeys{Gin}{#1}%
+ \stex_in_repository:nn\Gin@mhrepos{
+ \tikzinput[#1]{\mhpath{##1}{#2}}
+ }
+}
+\newcommand\cmhtikzinput[2][]{\begin{center}\mhtikzinput[#1]{#2}\end{center}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</stex>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
+
+% LocalWords: bibfolder jobname.dtx tikzinput.dtx usetikzlibrary Gin@ewidth Gin@eheight
+% LocalWords: resizebox ctikzinput mhtikzinput Gin@mhrepos mhpath
diff --git a/macros/latex/contrib/stex/source/stex/Makefile b/macros/latex/contrib/stex/source/stex/Makefile
new file mode 100644
index 0000000000..2b9a63750b
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/Makefile
@@ -0,0 +1,23 @@
+DTX = $(shell ls *.dtx)
+DOC = $(DTX:%.dtx=%.pdf)
+INS = stex.ins
+
+PDFLATEX = pdflatex -interaction=batchmode
+TEXDIR = ../../tex
+TEXINPUTS = $(TEXDIR)//:
+
+all: package doc
+
+doc: $(DOC)
+
+package: $(DTX) $(INS)
+ $(PDFLATEX) $(INS)
+ mv *.sty *.cls $(TEXDIR)
+
+$(DOC): %.pdf: %.dtx
+ $(PDFLATEX) $<
+ biber -q $(basename $<)
+ $(PDFLATEX) $<
+
+echo:
+ @echo $(TEXINPUTS)
diff --git a/macros/latex/contrib/stex/source/stex/basics.dtx b/macros/latex/contrib/stex/source/stex/basics.dtx
new file mode 100644
index 0000000000..c2047a39a2
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/basics.dtx
@@ -0,0 +1,562 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Basics
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-basics} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+% \fi
+%
+% \begin{documentation}\label{pkg:basics:doc}
+%
+% This sub package provides general set up code, auxiliary methods
+% and abstractions for |xhtml| annotations.
+%
+%\ifinfulldoc\else
+% \input{../../doc/packages/basics}
+% \fi
+%
+%
+% \section{Macros and Environments}\label{pkg:basics:doc:macros}
+%
+% \begin{function}{\sTeX , \stex}
+% Both print this \stex logo.
+% \end{function}
+%
+% \begin{function}{\stex_debug:nn}
+% \begin{syntax}
+% \cs{stex_debug:nn} \Arg{log-prefix} \Arg{message} ^^A \meta{comma list}
+% \end{syntax}
+% Logs \meta{message}, if the package option |debug| contains \meta{log-prefix}.
+% \end{function}
+%
+% \subsection{HTML Annotations}
+%
+% \begin{function}{\if@latexml}
+% \LaTeX2e conditional for \latexml
+% \end{function}
+%
+% \begin{function}[pTF]{\latexml_if:}
+% \LaTeX3 conditionals for \latexml.
+% \end{function}
+%
+% \begin{function}[pTF]{\stex_if_do_html:}
+% Whether to currently produce any HTML annotations (can be false
+% in some advanced structuring environments, for example)
+% \end{function}
+%
+% \begin{function}{\stex_suppress_html:n}
+% Temporarily disables HTML annotations in its argument code
+% \end{function}
+%
+%
+% We have four macros for annotating generated HTML (via \latexml
+% or \rustex) with attributes:
+%
+% \begin{function}{\stex_annotate:nnn, \stex_annotate_invisible:nnn,
+% \stex_annotate_invisible:n}
+% \begin{syntax} \cs{stex_annotate:nnn} \Arg{property} \Arg{resource} \Arg{content} \end{syntax}
+% Annotates the HTML generated by \meta{content} with\\
+% \begin{center}
+% |property="stex:|\meta{property}|", resource="|\meta{resource}|"|.
+% \end{center}
+%
+% \cs{stex_annotate_invisible:n} adds the attributes\\
+% \begin{center}
+% |stex:visible="false", style="display:none"|.
+% \end{center}
+%
+% \cs{stex_annotate_invisible:nnn} combines the functionality of both.
+% \end{function}
+%
+% \begin{environment}{stex_annotate_env}
+% \begin{syntax} \cs{begin}|{stex_annotate_env}|\Arg{property}\Arg{resource}
+% \meta{content}
+% \cs{end}|{stex_annotate_env}|
+% \end{syntax}
+% behaves like \cs{stex_annotate:nnn} \Arg{property} \Arg{resource}
+% \Arg{content}.
+% \end{environment}
+%
+% \subsection{Babel Languages}
+%
+% \begin{variable}{\c_stex_languages_prop,\c_stex_language_abbrevs_prop}
+% Map language abbreviations to their full babel names and vice versa.
+% e.g. \cs{c_stex_languages_prop}|{en}| yields |english|, and
+% \cs{c_stex_language_abbrevs_prop}|{english}| yields |en|.
+% \end{variable}
+%
+% \subsection{Auxiliary Methods}
+%
+% \begin{function}{\stex_deactivate_macro:Nn , \stex_reactivate_macro:N}
+% \begin{syntax}\cs{stex_deactivate_macro:Nn}\meta{cs}\Arg{environments}\end{syntax}
+% Makes the macro \meta{cs} throw an error, indicating that it
+% is only allowed in the context of \meta{environments}.
+%
+% \cs{stex_reactivate_macro:N}\meta{cs} reactivates it again, i.e.
+% this happens ideally in the \meta{begin}-code of the associated
+% environments.
+% \end{function}
+%
+% \begin{function}{\ignorespacesandpars}
+% ignores white space characters and |\par| control sequences.
+% Expands tokens in the process.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{\sTeX-Basics Implementation}\label{pkg:basics:impl}
+%
+% \subsection{The \sTeX Document Class}
+%
+% The \cls{stex} document class is pretty straight-forward: It largely extends the \cls{standalone} package
+% and loads the \pkg{stex} package, passing all provided options on to the package.
+%
+% \begin{macrocode}
+%<*cls>
+
+%%%%%%%%%%%%% basics.dtx %%%%%%%%%%%%%
+
+\RequirePackage{expl3,l3keys2e}
+\ProvidesExplClass{stex}{2022/02/24}{3.0.0}{sTeX document class}
+\LoadClass[border=1px,varwidth]{standalone}
+\setlength\textwidth{15cm}
+
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{stex}}
+\ProcessOptions
+
+\RequirePackage{stex}
+%</cls>
+% \end{macrocode}
+%
+% \subsection{Preliminaries}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% basics.dtx %%%%%%%%%%%%%
+
+\RequirePackage{expl3,l3keys2e,ltxcmds}
+\ProvidesExplPackage{stex}{2022/02/24}{3.0.0}{sTeX package}
+
+%\RequirePackage{morewrites}
+%\RequirePackage{amsmath}
+
+% \end{macrocode}
+%
+% Package options:
+%
+% \begin{macrocode}
+\keys_define:nn { stex } {
+ debug .clist_set:N = \c_stex_debug_clist ,
+ lang .clist_set:N = \c_stex_languages_clist ,
+ mathhub .tl_set_x:N = \mathhub ,
+ sms .bool_set:N = \c_stex_persist_mode_bool ,
+ image .bool_set:N = \c_tikzinput_image_bool,
+ unknown .code:n = {}
+}
+\ProcessKeysOptions { stex }
+% \end{macrocode}
+%
+% \begin{macro}{\stex,\sTeX}
+% The \sTeX logo:
+%
+% \begin{macrocode}
+\protected\def\stex{%
+ \@ifundefined{texorpdfstring}%
+ {\let\texorpdfstring\@firstoftwo}%
+ {}%
+ \texorpdfstring{\raisebox{-.5ex}S\kern-.5ex\TeX}{sTeX}\xspace%
+}
+\def\sTeX{\stex}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Messages and logging}
+%
+% \begin{macrocode}
+%<@@=stex_log>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+\msg_new:nnn{stex}{error/unknownlanguage}{
+ Unknown~language:~#1
+}
+\msg_new:nnn{stex}{warning/nomathhub}{
+ MATHHUB~system~variable~not~found~and~no~
+ \detokenize{\mathhub}-value~set!
+}
+\msg_new:nnn{stex}{error/deactivated-macro}{
+ The~\detokenize{#1}~command~is~only~allowed~in~#2!
+}
+% \end{macrocode}
+%
+% \begin{macro}{\stex_debug:nn}
+%
+% A simple macro issuing package messages with subpath.
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_debug:nn {
+ \clist_if_in:NnTF \c_stex_debug_clist { all } {
+ \exp_args:Nnnx\msg_set:nnn{stex}{debug / #1}{
+ \\Debug~#1:~#2\\
+ }
+ \msg_none:nn{stex}{debug / #1}
+ }{
+ \clist_if_in:NnT \c_stex_debug_clist { #1 } {
+ \exp_args:Nnnx\msg_set:nnn{stex}{debug / #1}{
+ \\Debug~#1:~#2\\
+ }
+ \msg_none:nn{stex}{debug / #1}
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Redirecting messages:
+%
+% \begin{macrocode}
+\clist_if_in:NnTF \c_stex_debug_clist {all} {
+ \msg_redirect_module:nnn{ stex }{ none }{ term }
+}{
+ \clist_map_inline:Nn \c_stex_debug_clist {
+ \msg_redirect_name:nnn{ stex }{ debug / ##1 }{ term }
+ }
+}
+
+\stex_debug:nn{log}{debug~mode~on}
+% \end{macrocode}
+%
+%
+% \subsection{HTML Annotations}
+% \begin{macrocode}
+%<@@=stex_annotate>
+\RequirePackage{rustex}
+% \end{macrocode}
+%
+% We add the namespace abbreviation |ns:stex="http://kwarc.info/ns/sTeX"| to \rustex:
+%
+% \begin{macrocode}
+\rustex_add_Namespace:nn{stex}{http://kwarc.info/ns/sTeX}
+% \end{macrocode}
+%
+% Conditionals for \latexml:
+%
+% \begin{macro}{\if@latexml}
+% \begin{macrocode}
+\ifcsname if@latexml\endcsname\else
+ \expandafter\newif\csname if@latexml\endcsname\@latexmlfalse
+\fi
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\latexml_if:}
+% \begin{macrocode}
+\prg_new_conditional:Nnn \latexml_if: {p, T, F, TF} {
+ \if@latexml
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_arg_tl, \c_@@_emptyarg_tl}
+%
+% Used by annotation macros to ensure that the HTML output to annotate
+% is not empty.
+%
+% \begin{macrocode}
+\tl_new:N \l_@@_arg_tl
+\tl_const:Nx \c_@@_emptyarg_tl {
+ \rustex_if:TF {
+ \rustex_direct_HTML:n { \c_ampersand_str lrm; }
+ }{~}
+}
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\_@@_checkempty:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_checkempty:n {
+ \tl_set:Nn \l_@@_arg_tl { #1 }
+ \tl_if_empty:NT \l_@@_arg_tl {
+ \tl_set_eq:NN \l_@@_arg_tl \c_@@_emptyarg_tl
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\stex_if_do_html:}
+% Whether to (locally) produce HTML output
+% \begin{macrocode}
+\bool_new:N \_stex_html_do_output_bool
+\bool_set_true:N \_stex_html_do_output_bool
+
+\prg_new_conditional:Nnn \stex_if_do_html: {p,T,F,TF} {
+ \bool_if:nTF \_stex_html_do_output_bool
+ \prg_return_true: \prg_return_false:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_suppress_html:n}
+% Whether to (locally) produce HTML output
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_suppress_html:n {
+ \exp_args:Nne \use:nn {
+ \bool_set_false:N \_stex_html_do_output_bool
+ #1
+ }{
+ \stex_if_do_html:T {
+ \bool_set_true:N \_stex_html_do_output_bool
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{environment}{stex_annotate_env}
+% \begin{macro}{\stex_annotate:nnn, \stex_annotate_invisible:n,
+% \stex_annotate_invisible:nnn}
+%
+% We define four macros for introducing attributes in the HTML
+% output. The definitions depend on the ``backend'' used
+% (\latexml, \rustex, \texttt{pdflatex}).
+%
+% The \texttt{pdflatex}-macros largely do nothing; the
+% \rustex-implementations are pretty clear in what they do,
+% the \latexml-implementations resort to perl bindings.
+%
+% \begin{macrocode}
+\rustex_if:TF{
+ \cs_new_protected:Nn \stex_annotate:nnn {
+ \_@@_checkempty:n { #3 }
+ \rustex_annotate_HTML:nn {
+ property="stex:#1" ~
+ resource="#2"
+ } {
+ \mode_if_vertical:TF{
+ \tl_use:N \l_@@_arg_tl\par
+ }{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }
+ }
+ \cs_new_protected:Nn \stex_annotate_invisible:n {
+ \_@@_checkempty:n { #1 }
+ \rustex_annotate_HTML:nn {
+ stex:visible="false" ~
+ style:display="none"
+ } {
+ \mode_if_vertical:TF{
+ \tl_use:N \l_@@_arg_tl\par
+ }{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }
+ }
+ \cs_new_protected:Nn \stex_annotate_invisible:nnn {
+ \_@@_checkempty:n { #3 }
+ \rustex_annotate_HTML:nn {
+ property="stex:#1" ~
+ resource="#2" ~
+ stex:visible="false" ~
+ style:display="none"
+ } {
+ \mode_if_vertical:TF{
+ \tl_use:N \l_@@_arg_tl\par
+ }{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }
+ }
+ \NewDocumentEnvironment{stex_annotate_env} { m m } {
+ \par
+ \rustex_annotate_HTML_begin:n {
+ property="stex:#1" ~
+ resource="#2"
+ }
+ }{
+ \par\rustex_annotate_HTML_end:
+ }
+}{
+ \latexml_if:TF {
+ \cs_new_protected:Nn \stex_annotate:nnn {
+ \_@@_checkempty:n { #3 }
+ \mode_if_math:TF {
+ \cs:w latexml@annotate@math\cs_end:{#1}{#2}{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }{
+ \cs:w latexml@annotate@text\cs_end:{#1}{#2}{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }
+ }
+ \cs_new_protected:Nn \stex_annotate_invisible:n {
+ \_@@_checkempty:n { #1 }
+ \mode_if_math:TF {
+ \cs:w latexml@invisible@math\cs_end:{
+ \tl_use:N \l_@@_arg_tl
+ }
+ } {
+ \cs:w latexml@invisible@text\cs_end:{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }
+ }
+ \cs_new_protected:Nn \stex_annotate_invisible:nnn {
+ \_@@_checkempty:n { #3 }
+ \cs:w latexml@annotate@invisible\cs_end:{#1}{#2}{
+ \tl_use:N \l_@@_arg_tl
+ }
+ }
+ \NewDocumentEnvironment{stex_annotate_env} { m m } {
+ \par\begin{latexml@annotateenv}{#1}{#2}
+ }{
+ \par\end{latexml@annotateenv}
+ }
+ }{
+ \cs_new_protected:Nn \stex_annotate:nnn {#3}
+ \cs_new_protected:Nn \stex_annotate_invisible:n {}
+ \cs_new_protected:Nn \stex_annotate_invisible:nnn {}
+ \NewDocumentEnvironment{stex_annotate_env} { m m } {}{}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+% \end{environment}
+%
+% \subsection{Babel Languages}
+% \begin{macrocode}
+%<@@=stex_language>
+% \end{macrocode}
+%
+% \begin{variable}{\c_stex_languages_prop,\c_stex_language_abbrevs_prop}
+%
+% We store language abbreviations in two (mutually inverse)
+% property lists:
+% \begin{macrocode}
+\prop_const_from_keyval:Nn \c_stex_languages_prop {
+ en = english ,
+ de = ngerman ,
+ ar = arabic ,
+ bg = bulgarian ,
+ ru = russian ,
+ fi = finnish ,
+ ro = romanian ,
+ tr = turkish ,
+ fr = french
+}
+
+\prop_const_from_keyval:Nn \c_stex_language_abbrevs_prop {
+ english = en ,
+ ngerman = de ,
+ arabic = ar ,
+ bulgarian = bg ,
+ russian = ru ,
+ finnish = fi ,
+ romanian = ro ,
+ turkish = tr ,
+ french = fr
+}
+% todo: chinese simplified (zhs)
+% chinese traditional (zht)
+% \end{macrocode}
+% \end{variable}
+%
+% we use the |lang|-package option to load the corresponding
+% babel languages:
+%
+% \begin{macrocode}
+\clist_if_empty:NF \c_stex_languages_clist {
+ \clist_clear:N \l_tmpa_clist
+ \clist_map_inline:Nn \c_stex_languages_clist {
+ \prop_get:NnNTF \c_stex_languages_prop { #1 } \l_tmpa_str {
+ \clist_put_right:No \l_tmpa_clist \l_tmpa_str
+ } {
+ \msg_error:nnx{stex}{error/unknownlanguage}{\l_tmpa_str}
+ }
+ }
+ \stex_debug:nn{lang} {Languages:~\clist_use:Nn \l_tmpa_clist {,~} }
+ \RequirePackage[\clist_use:Nn \l_tmpa_clist,]{babel}
+}
+% \end{macrocode}
+%
+% \subsection{Auxiliary Methods}
+%
+% \begin{macro}{\stex_deactivate_macro:Nn}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_deactivate_macro:Nn {
+ \exp_after:wN\let\csname \detokenize{#1} - orig\endcsname#1
+ \def#1{
+ \msg_error:nnnn{stex}{error/deactivated-macro}{#1}{#2}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_reactivate_macro:N}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_reactivate_macro:N {
+ \exp_after:wN\let\exp_after:wN#1\csname \detokenize{#1} - orig\endcsname
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ignorespacesandpars}
+% \begin{macrocode}
+\protected\def\ignorespacesandpars{
+ \begingroup\catcode13=10\relax
+ \@ifnextchar\par{
+ \endgroup\expandafter\ignorespacesandpars\@gobble
+ }{
+ \endgroup
+ }
+}
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/source/stex/features.dtx b/macros/latex/contrib/stex/source/stex/features.dtx
new file mode 100644
index 0000000000..851af04984
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/features.dtx
@@ -0,0 +1,784 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Structural Features
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-features} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/features}
+% \fi
+%
+% \begin{documentation}\label{pkg:features:doc}
+%
+% Code related to structural features
+%
+% \section{Macros and Environments}\label{pkg:features:doc:macros}
+%
+% \subsection{Structures}
+%
+% \begin{environment}{mathstructure}
+% TODO
+% \end{environment}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:features:impl}
+%
+% \section{\sTeX-Structural Features Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% features.dtx %%%%%%%%%%%%%
+
+%<@@=stex_features>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+\msg_new:nnn{stex}{error/copymodule/notallowed}{
+ Symbol~#1~can~not~be~assigned~in~copymodule~#2
+}
+\msg_new:nnn{stex}{error/interpretmodule/nodefiniens}{
+ Symbol~#1~not~assigned~in~interpretmodule~#2
+}
+
+% \end{macrocode}
+%
+% \subsection{Imports with modification}
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_get_symbol_in_copymodule:n {
+ \tl_if_head_eq_catcode:nNTF { #1 } \relax {
+ \_@@_get_symbol_from_cs:n { #1 }
+ }{
+ % argument is a string
+ % is it a command name?
+ \cs_if_exist:cTF { #1 }{
+ \cs_set_eq:Nc \l_tmpa_tl { #1 }
+ \str_set:Nx \l_tmpa_str { \cs_argument_spec:N \l_tmpa_tl }
+ \str_if_empty:NTF \l_tmpa_str {
+ \exp_args:Nx \cs_if_eq:NNTF {
+ \tl_head:N \l_tmpa_tl
+ } \stex_invoke_symbol:n {
+ \exp_args:No \_@@_get_symbol_from_cs:n { \use:c { #1 } }
+ }{
+ \_@@_get_symbol_from_string:n { #1 }
+ }
+ } {
+ \_@@_get_symbol_from_string:n { #1 }
+ }
+ }{
+ % argument is not a command name
+ \_@@_get_symbol_from_string:n { #1 }
+ % \l_stex_all_symbols_seq
+ }
+ }
+}
+
+\cs_new_protected:Nn \_@@_get_symbol_from_string:n {
+ \str_set:Nn \l_tmpa_str { #1 }
+ \bool_set_false:N \l_tmpa_bool
+ \bool_if:NF \l_tmpa_bool {
+ \tl_set:Nn \l_tmpa_tl {
+ \msg_set:nnn{stex}{error/unknownsymbol}{
+ No~symbol~#1~found!
+ }
+ \msg_error:nn{stex}{error/unknownsymbol}
+ }
+ \str_set:Nn \l_tmpa_str { #1 }
+ \int_set:Nn \l_tmpa_int { \str_count:N \l_tmpa_str }
+ \seq_map_inline:Nn \l_@@_copymodule_fields_seq {
+ \str_set:Nn \l_tmpb_str { ##1 }
+ \str_if_eq:eeT { \l_tmpa_str } {
+ \str_range:Nnn \l_tmpb_str { -\l_tmpa_int } { -1 }
+ } {
+ \seq_map_break:n {
+ \tl_set:Nn \l_tmpa_tl {
+ \str_set:Nn \l_stex_get_symbol_uri_str {
+ ##1
+ }
+ \_@@_get_symbol_check:
+ }
+ }
+ }
+ }
+ \l_tmpa_tl
+ }
+}
+
+\cs_new_protected:Nn \_@@_get_symbol_from_cs:n {
+ \exp_args:NNx \tl_set:Nn \l_tmpa_tl
+ { \tl_tail:N \l_tmpa_tl }
+ \tl_if_single:NTF \l_tmpa_tl {
+ \exp_args:No \tl_if_head_is_group:nTF \l_tmpa_tl {
+ \exp_after:wN \str_set:Nn \exp_after:wN
+ \l_stex_get_symbol_uri_str \l_tmpa_tl
+ \_@@_get_symbol_check:
+ }{
+ % TODO
+ % tail is not a single group
+ }
+ }{
+ % TODO
+ % tail is not a single group
+ }
+}
+
+\cs_new_protected:Nn \_@@_get_symbol_check: {
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpa_seq {?} \l_stex_get_symbol_uri_str
+ \int_compare:nNnTF {\seq_count:N \l_tmpa_seq} = 3 {
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_str
+ \str_set:Nx \l_tmpa_str {\seq_use:Nn \l_tmpa_seq ?}
+ \seq_if_in:NoF \l_@@_copymodule_modules_seq \l_tmpa_str {
+ \msg_error:nnxx{stex}{error/copymodule/notallowed}{\l_stex_get_symbol_uri_str}{
+ \l_stex_current_copymodule_name_str\\Allowed:~\seq_use:Nn \l_@@_copymodule_modules_seq {,~}
+ }
+ }
+ }{
+ \msg_error:nnxx{stex}{error/copymodule/notallowed}{\l_stex_get_symbol_uri_str}{
+ \l_stex_current_copymodule_name_str~(inexplicably)
+ }
+ }
+}
+
+\cs_new_protected:Nn \stex_copymodule_start:nnnn {
+ \stex_import_module_uri:nn { #1 } { #2 }
+ \str_set:Nx \l_stex_current_copymodule_name_str {#3}
+ \stex_import_require_module:nnnn
+ { \l_stex_import_ns_str } { \l_stex_import_archive_str }
+ { \l_stex_import_path_str } { \l_stex_import_name_str }
+ \stex_collect_imports:n {\l_stex_import_ns_str ?\l_stex_import_name_str }
+ \seq_set_eq:NN \l_@@_copymodule_modules_seq \l_stex_collect_imports_seq
+ \seq_clear:N \l_@@_copymodule_fields_seq
+ \seq_map_inline:Nn \l_@@_copymodule_modules_seq {
+ \seq_map_inline:cn {c_stex_module_##1_constants}{
+ \exp_args:NNx \seq_put_right:Nn \l_@@_copymodule_fields_seq {
+ ##1 ? ####1
+ }
+ }
+ }
+ \seq_clear:N \l_tmpa_seq
+ \exp_args:NNx \prop_set_from_keyval:Nn \l_stex_current_copymodule_prop {
+ name = \l_stex_current_copymodule_name_str ,
+ module = \l_stex_current_module_str ,
+ from = \l_stex_import_ns_str ?\l_stex_import_name_str ,
+ includes = \l_tmpa_seq ,
+ fields = \l_tmpa_seq
+ }
+ \stex_debug:nn{copymodule}{#4~for~module~{\l_stex_import_ns_str ?\l_stex_import_name_str}
+ as~\l_stex_current_module_str?\l_stex_current_copymodule_name_str}
+ \stex_debug:nn{copymodule}{modules:\seq_use:Nn \l_@@_copymodule_modules_seq {,~}}
+ \stex_debug:nn{copymodule}{fields:\seq_use:Nn \l_@@_copymodule_fields_seq {,~}}
+ \stex_if_smsmode:F {
+ \begin{stex_annotate_env} {#4} {
+ \l_stex_current_module_str?\l_stex_current_copymodule_name_str
+ }
+ \stex_annotate_invisible:nnn{from}{\l_stex_import_ns_str ?\l_stex_import_name_str}{}
+ }
+ \bool_set_eq:NN \l_@@_oldhtml_bool \_stex_html_do_output_bool
+ \bool_set_false:N \_stex_html_do_output_bool
+}
+\cs_new_protected:Nn \stex_copymodule_end:n {
+ \def \l_tmpa_cs ##1 ##2 {#1}
+ \bool_set_eq:NN \_stex_html_do_output_bool \l_@@_oldhtml_bool
+ \tl_clear:N \l_tmpa_tl
+ \tl_clear:N \l_tmpb_tl
+ \prop_get:NnN \l_stex_current_copymodule_prop {fields} \l_tmpa_seq
+ \seq_map_inline:Nn \l_@@_copymodule_modules_seq {
+ \seq_map_inline:cn {c_stex_module_##1_constants}{
+ \tl_clear:N \l_tmpc_tl
+ \l_tmpa_cs{##1}{####1}
+ \str_if_exist:cTF {l_@@_copymodule_##1?####1_name_str} {
+ \tl_put_right:Nx \l_tmpa_tl {
+ \prop_set_from_keyval:cn {
+ l_stex_symdecl_\l_stex_current_module_str ? \use:c{l_@@_copymodule_##1?####1_name_str}_prop
+ }{
+ \exp_after:wN \prop_to_keyval:N \csname
+ l_stex_symdecl_\l_stex_current_module_str ? \use:c{l_@@_copymodule_##1?####1_name_str}_prop
+ \endcsname
+ }
+ \seq_clear:c {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \use:c{l_@@_copymodule_##1?####1_name_str}
+ _notations
+ }
+ }
+ \tl_put_right:Nx \l_tmpc_tl {
+ \stex_copy_notations:nn {\l_stex_current_module_str ? \use:c{l_@@_copymodule_##1?####1_name_str}}{##1?####1}
+ \stex_annotate_invisible:nnn{alias}{\use:c{l_@@_copymodule_##1?####1_name_str}}{}
+ }
+ \seq_put_right:Nx \l_tmpa_seq {\l_stex_current_module_str ? \use:c{l_@@_copymodule_##1?####1_name_str}}
+ \str_if_exist:cT {l_@@_copymodule_##1?####1_macroname_str} {
+ \tl_put_right:Nx \l_tmpc_tl {
+ \stex_annotate_invisible:nnn{macroname}{\use:c{l_@@_copymodule_##1?####1_macroname_str}}{}
+ }
+ \tl_put_right:Nx \l_tmpa_tl {
+ \tl_set:cx {\use:c{l_@@_copymodule_##1?####1_macroname_str}}{
+ \stex_invoke_symbol:n {
+ \l_stex_current_module_str ? \use:c{l_@@_copymodule_##1?####1_name_str}
+ }
+ }
+ }
+ }
+ }{
+ \tl_put_right:Nx \l_tmpc_tl {
+ \stex_copy_notations:nn {\l_stex_current_module_str ? \l_stex_current_copymodule_name_str / ####1 }{##1?####1}
+ }
+ \prop_set_eq:Nc \l_tmpa_prop {l_stex_symdecl_ ##1?####1 _prop}
+ \prop_put:Nnx \l_tmpa_prop { name }{ \l_stex_current_copymodule_name_str / ####1 }
+ \prop_put:Nnx \l_tmpa_prop { module }{ \l_stex_current_module_str }
+ \tl_put_right:Nx \l_tmpa_tl {
+ \prop_set_from_keyval:cn {
+ l_stex_symdecl_\l_stex_current_module_str ? \l_stex_current_copymodule_name_str / ####1_prop
+ }{
+ \prop_to_keyval:N \l_tmpa_prop
+ }
+ \seq_clear:c {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_current_copymodule_name_str / ####1
+ _notations
+ }
+ }
+ \seq_put_right:Nx \l_tmpa_seq {\l_stex_current_module_str ? \l_stex_current_copymodule_name_str / ####1 }
+ \str_if_exist:cT {l_@@_copymodule_##1?####1_macroname_str} {
+ \tl_put_right:Nx \l_tmpc_tl {
+ \stex_annotate_invisible:nnn{macroname}{\use:c{l_@@_copymodule_##1?####1_macroname_str}}{}
+ }
+ \tl_put_right:Nx \l_tmpa_tl {
+ \tl_set:cx {\use:c{l_@@_copymodule_##1?####1_macroname_str}}{
+ \stex_invoke_symbol:n {
+ \l_stex_current_module_str ? \l_stex_current_copymodule_name_str / ####1
+ }
+ }
+ }
+ }
+ }
+ \tl_if_exist:cT {l_@@_copymodule_##1?####1_def_tl}{
+ \tl_put_right:Nx \l_tmpc_tl {
+ \stex_annotate_invisible:nnn{definiens}{}{$\use:c{l_@@_copymodule_##1?####1_def_tl}$}
+ }
+ }
+ \tl_put_right:Nx \l_tmpb_tl {
+ \stex_annotate:nnn{assignment} {##1?####1} { \l_tmpc_tl }
+ }
+ }
+ }
+ \prop_put:Nno \l_stex_current_copymodule_prop {fields} \l_tmpa_seq
+ \tl_put_left:Nx \l_tmpa_tl {
+ \prop_set_from_keyval:cn {
+ l_stex_copymodule_ \l_stex_current_module_str?\l_stex_current_copymodule_name_str _prop
+ }{
+ \prop_to_keyval:N \l_stex_current_copymodule_prop
+ }
+ }
+ \exp_args:No \stex_add_to_current_module:n \l_tmpa_tl
+ \stex_debug:nn{copymodule}{result:\meaning \l_tmpa_tl}
+ \exp_args:Nx \stex_do_up_to_module:n {
+ \exp_args:No \exp_not:n \l_tmpa_tl
+ }
+ \l_tmpb_tl
+ \stex_if_smsmode:F {
+ \end{stex_annotate_env}
+ }
+}
+
+\NewDocumentEnvironment {copymodule} { O{} m m}{
+ \stex_copymodule_start:nnnn { #1 }{ #2 }{ #3 }{ structure }
+ \stex_deactivate_macro:Nn \symdecl {module~environments}
+ \stex_deactivate_macro:Nn \symdef {module~environments}
+ \stex_deactivate_macro:Nn \notation {module~environments}
+ \stex_reactivate_macro:N \assign
+ \stex_reactivate_macro:N \renamedecl
+ \stex_reactivate_macro:N \donotcopy
+ \stex_smsmode_do:
+}{
+ \stex_copymodule_end:n {}
+}
+
+\NewDocumentEnvironment {interpretmodule} { O{} m m}{
+ \stex_copymodule_start:nnnn { #1 }{ #2 }{ #3 }{ realization }
+ \stex_deactivate_macro:Nn \symdecl {module~environments}
+ \stex_deactivate_macro:Nn \symdef {module~environments}
+ \stex_deactivate_macro:Nn \notation {module~environments}
+ \stex_reactivate_macro:N \assign
+ \stex_reactivate_macro:N \renamedecl
+ \stex_reactivate_macro:N \donotcopy
+ \stex_smsmode_do:
+}{
+ \stex_copymodule_end:n {
+ \tl_if_exist:cF {
+ l_@@_copymodule_##1?##2_def_tl
+ }{
+ \msg_error:nnxx{stex}{error/interpretmodule/nodefiniens}{
+ ##1?##2
+ }{\l_stex_current_copymodule_name_str}
+ }
+ }
+}
+
+\NewDocumentCommand \donotcopy { O{} m}{
+ \stex_import_module_uri:nn { #1 } { #2 }
+ \stex_collect_imports:n {\l_stex_import_ns_str ?\l_stex_import_name_str }
+ \seq_map_inline:Nn \l_stex_collect_imports_seq {
+ \seq_remove_all:Nn \l_@@_copymodule_modules_seq { ##1 }
+ \seq_map_inline:cn {c_stex_module_##1_constants}{
+ \seq_remove_all:Nn \l_@@_copymodule_fields_seq { ##1 ? ####1 }
+ \bool_lazy_any_p:nT {
+ { \cs_if_exist_p:c {l_@@_copymodule_##1?####1_name_str}}
+ { \cs_if_exist_p:c {l_@@_copymodule_##1?####1_macroname_str}}
+ { \cs_if_exist_p:c {l_@@_copymodule_##1?####1_def_tl}}
+ }{
+ % TODO throw error
+ }
+ }
+ }
+
+ \prop_get:NnN \l_stex_current_copymodule_prop { includes } \l_tmpa_seq
+ \seq_put_right:Nx \l_tmpa_seq {\l_stex_import_ns_str ?\l_stex_import_name_str }
+ \prop_put:Nnx \l_stex_current_copymodule_prop {includes} \l_tmpa_seq
+}
+
+\NewDocumentCommand \assign { m m }{
+ \stex_get_symbol_in_copymodule:n {#1}
+ \stex_debug:nn{assign}{defining~{\l_stex_get_symbol_uri_str}~as~\detokenize{#2}}
+ \tl_set:cn {l_@@_copymodule_\l_stex_get_symbol_uri_str _def_tl}{#2}
+}
+
+\keys_define:nn { stex / renamedecl } {
+ name .str_set_x:N = \l_stex_renamedecl_name_str
+}
+\cs_new_protected:Nn \_@@_renamedecl_args:n {
+ \str_clear:N \l_stex_renamedecl_name_str
+
+ \keys_set:nn { stex / renamedecl } { #1 }
+}
+
+\NewDocumentCommand \renamedecl { O{} m m}{
+ \_@@_renamedecl_args:n { #1 }
+ \stex_get_symbol_in_copymodule:n {#2}
+ \stex_debug:nn{renamedecl}{renaming~{\l_stex_get_symbol_uri_str}~to~#3}
+ \str_set:cx {l_@@_copymodule_\l_stex_get_symbol_uri_str _macroname_str}{#3}
+ \str_if_empty:NTF \l_stex_renamedecl_name_str {
+ \tl_set:cx { #3 }{ \stex_invoke_symbol:n {
+ \l_stex_get_symbol_uri_str
+ } }
+ } {
+ \str_set:cx {l_@@_copymodule_\l_stex_get_symbol_uri_str _name_str}{\l_stex_renamedecl_name_str}
+ \stex_debug:nn{renamedecl}{@~\l_stex_current_module_str ? \l_stex_renamedecl_name_str}
+ \prop_set_eq:cc {l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_renamedecl_name_str
+ _prop
+ }{l_stex_symdecl_ \l_stex_get_symbol_uri_str _prop}
+ \seq_set_eq:cc {l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_renamedecl_name_str
+ _notations
+ }{l_stex_symdecl_ \l_stex_get_symbol_uri_str _notations}
+ \prop_put:cnx {l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_renamedecl_name_str
+ _prop
+ }{ name }{ \l_stex_renamedecl_name_str }
+ \prop_put:cnx {l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_renamedecl_name_str
+ _prop
+ }{ module }{ \l_stex_current_module_str }
+ \exp_args:NNx \seq_put_left:Nn \l_@@_copymodule_fields_seq {
+ \l_stex_current_module_str ? \l_stex_renamedecl_name_str
+ }
+ \tl_set:cx { #3 }{ \stex_invoke_symbol:n {
+ \l_stex_current_module_str ? \l_stex_renamedecl_name_str
+ } }
+ }
+}
+
+\stex_deactivate_macro:Nn \assign {copymodules}
+\stex_deactivate_macro:Nn \renamedecl {copymodules}
+\stex_deactivate_macro:Nn \donotcopy {copymodules}
+
+
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+\seq_new:N \l_stex_implicit_morphisms_seq
+\NewDocumentCommand \implicitmorphism { O{} m m}{
+ \stex_import_module_uri:nn { #1 } { #2 }
+ \stex_debug:nn{implicits}{
+ Implicit~morphism:~
+ \l_stex_module_ns_str ? \l_@@_name_str
+ }
+ \exp_args:NNx \seq_if_in:NnT \l_stex_all_modules_seq {
+ \l_stex_module_ns_str ? \l_@@_name_str
+ }{
+ \msg_error:nnn{stex}{error/conflictingmodules}{
+ \l_stex_module_ns_str ? \l_@@_name_str
+ }
+ }
+
+ % TODO
+
+
+
+ \seq_put_right:Nx \l_stex_implicit_morphisms_seq {
+ \l_stex_module_ns_str ? \l_@@_name_str
+ }
+}
+
+% \end{macrocode}
+%
+%
+% \subsection{The feature environment}
+%
+% \begin{environment}{structural@feature}
+% \begin{macrocode}
+
+\NewDocumentEnvironment{structural@feature}{ m m m }{
+ \stex_if_in_module:F {
+ \msg_set:nnn{stex}{error/nomodule}{
+ Structural~Feature~has~to~occur~in~a~module:\\
+ Feature~#2~of~type~#1\\
+ In~File:~\stex_path_to_string:N \g_stex_currentfile_seq
+ }
+ \msg_error:nn{stex}{error/nomodule}
+ }
+
+ \str_set:Nx \l_stex_module_name_str {
+ \prop_item:Nn \l_stex_current_module_prop
+ { name } / #2 - feature
+ }
+
+ \str_set:Nx \l_stex_module_ns_str {
+ \prop_item:Nn \l_stex_current_module_prop
+ { ns }
+ }
+
+
+ \str_clear:N \l_tmpa_str
+ \seq_clear:N \l_tmpa_seq
+ \tl_clear:N \l_tmpa_tl
+ \exp_args:NNx \prop_set_from_keyval:Nn \l_stex_current_module_prop {
+ origname = #2,
+ name = \l_stex_module_name_str ,
+ ns = \l_stex_module_ns_str ,
+ imports = \exp_not:o { \l_tmpa_seq } ,
+ constants = \exp_not:o { \l_tmpa_seq } ,
+ content = \exp_not:o { \l_tmpa_tl } ,
+ file = \exp_not:o { \g_stex_currentfile_seq } ,
+ lang = \l_stex_module_lang_str ,
+ sig = \l_tmpa_str ,
+ meta = \l_tmpa_str ,
+ feature = #1 ,
+ }
+
+ \stex_if_smsmode:F {
+ \begin{stex_annotate_env}{ feature:#1 }{}
+ \stex_annotate_invisible:nnn{header}{}{ #3 }
+ }
+}{
+ \str_set:Nx \l_tmpa_str {
+ c_stex_feature_
+ \prop_item:Nn \l_stex_current_module_prop { ns } ?
+ \prop_item:Nn \l_stex_current_module_prop { name }
+ _prop
+ }
+ \prop_gset_eq:cN { \l_tmpa_str } \l_stex_current_module_prop
+ \prop_gset_eq:NN \g_stex_last_feature_prop \l_stex_current_module_prop
+ \stex_if_smsmode:F {
+ \end{stex_annotate_env}
+ }
+}
+
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \subsection{Features}
+%
+% \begin{environment}{structure}
+% \begin{macrocode}
+
+\prop_new:N \l_stex_all_structures_prop
+
+\keys_define:nn { stex / features / structure } {
+ name .str_set_x:N = \l_@@_structure_name_str ,
+}
+
+\cs_new_protected:Nn \_@@_structure_args:n {
+ \str_clear:N \l_@@_structure_name_str
+ \keys_set:nn { stex / features / structure } { #1 }
+}
+
+\NewDocumentEnvironment{mathstructure}{ O{} m }{
+ \_@@_structure_args:n { #1 }
+ \str_if_empty:NT \l_@@_structure_name_str {
+ \str_set:Nx \l_@@_structure_name_str { #2 }
+ }
+ \exp_args:Nnnx
+ \begin{structural@feature}{ structure }
+ { \l_@@_structure_name_str }{}
+ \seq_clear:N \l_tmpa_seq
+ \prop_put:Nno \l_stex_current_module_prop { fields } \l_tmpa_seq
+ \stex_smsmode_do:
+}{
+ \prop_get:NnN \l_stex_current_module_prop { constants } \l_tmpa_seq
+ \prop_get:NnN \l_stex_current_module_prop { fields } \l_tmpb_seq
+ \str_set:Nx \l_tmpa_str {
+ \prop_item:Nn \l_stex_current_module_prop { ns } ?
+ \prop_item:Nn \l_stex_current_module_prop { name }
+ }
+ \seq_map_inline:Nn \l_tmpa_seq {
+ \exp_args:NNx \seq_put_right:Nn \l_tmpb_seq { \l_tmpa_str ? ##1 }
+ }
+ \prop_put:Nno \l_stex_current_module_prop { fields } { \l_tmpb_seq }
+ \exp_args:Nnx
+ \AddToHookNext { env / mathstructure / after }{
+ \symdecl{ #2 }[type = \exp_not:N\collection,def={\STEXsymbol{module-type}{
+ \_stex_term_math_oms:nnnn { \l_tmpa_str }{}{0}{}
+ }}, name = \prop_item:Nn \l_stex_current_module_prop { origname }]
+ \STEXexport {
+ \prop_put:Nno \exp_not:N \l_stex_all_structures_prop
+ {\prop_item:Nn \l_stex_current_module_prop { origname }}
+ {\l_tmpa_str}
+ \prop_put:Nno \exp_not:N \l_stex_all_structures_prop
+ {#2}{\l_tmpa_str}
+% \seq_put_right:Nn \exp_not:N \l_stex_all_structures_seq {
+% \prop_item:Nn \l_stex_current_module_prop { origname },
+% \l_tmpa_str
+% }
+% \seq_put_right:Nn \exp_not:N \l_stex_all_structures_seq {
+% #2,\l_tmpa_str
+% }
+% \tl_set:cx { #2 } {
+% \stex_invoke_structure:n { \l_tmpa_str }
+ }
+ }
+
+ \end{structural@feature}
+ % \g_stex_last_feature_prop
+}
+% \end{macrocode}
+% \end{environment}
+%
+%
+% \begin{macro}{\instantiate}
+% \begin{macrocode}
+\seq_new:N \l_@@_structure_field_seq
+\str_new:N \l_@@_structure_field_str
+\str_new:N \l_@@_structure_def_tl
+\prop_new:N \l_@@_structure_prop
+\NewDocumentCommand \instantiate { m O{} m }{
+ \prop_get:NnN \l_stex_all_structures_prop {#1} \l_tmpa_str
+ \prop_set_eq:Nc \l_@@_structure_prop {
+ c_stex_feature_\l_tmpa_str _prop
+ }
+ \seq_set_from_clist:Nn \l_@@_structure_field_seq { #2 }
+ \seq_map_inline:Nn \l_@@_structure_field_seq {
+ \seq_set_split:Nnn \l_tmpa_seq{=}{ ##1 }
+ \int_compare:nNnTF {\seq_count:N \l_tmpa_seq} > 1 {
+ \seq_get_left:NN \l_tmpa_seq \l_tmpa_tl
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpb_seq
+ {!} \l_tmpa_tl
+ \int_compare:nNnTF {\seq_count:N \l_tmpb_seq} > 1 {
+ \str_set:Nx \l_@@_structure_field_str {\seq_item:Nn \l_tmpb_seq 1}
+ \seq_get_right:NN \l_tmpb_seq \l_tmpb_tl
+ \seq_get_right:NN \l_tmpa_seq \l_tmpa_tl
+ }{
+ \str_set:Nx \l_@@_structure_field_str \l_tmpa_tl
+ \seq_get_right:NN \l_tmpa_seq \l_tmpa_tl
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpb_seq{!}
+ \l_tmpa_tl
+ \int_compare:nNnTF {\seq_count:N \l_tmpb_seq} > 1 {
+ \seq_get_left:NN \l_tmpb_seq \l_tmpa_tl
+ \seq_get_right:NN \l_tmpb_seq \l_tmpb_tl
+ }{
+ \tl_clear:N \l_tmpb_tl
+ }
+ }
+ }{
+ \seq_set_split:Nnn \l_tmpa_seq{!}{ ##1 }
+ \int_compare:nNnTF {\seq_count:N \l_tmpa_seq} > 1 {
+ \str_set:Nx \l_@@_structure_field_str {\seq_item:Nn \l_tmpa_seq 1}
+ \seq_get_right:NN \l_tmpa_seq \l_tmpb_tl
+ \tl_clear:N \l_tmpa_tl
+ }{
+ % TODO throw error
+ }
+ }
+ % \l_tmpa_str: name
+ % \l_tmpa_tl: definiens
+ % \l_tmpb_tl: notation
+ \tl_if_empty:NT \l_@@_structure_field_str {
+ % TODO throw error
+ }
+ \str_clear:N \l_tmpb_str
+
+ \prop_get:NnN \l_@@_structure_prop { fields } \l_tmpa_seq
+ \seq_map_inline:Nn \l_tmpa_seq {
+ \seq_set_split:Nnn \l_tmpb_seq ? { ####1 }
+ \seq_get_right:NN \l_tmpb_seq \l_tmpb_str
+ \str_if_eq:NNT \l_@@_structure_field_str \l_tmpb_str {
+ \seq_map_break:n {
+ \str_set:Nn \l_tmpb_str { ####1 }
+ }
+ }
+ }
+ \prop_get:cnN { l_stex_symdecl_ \l_tmpb_str _prop } {args}
+ \l_tmpb_str
+
+ \tl_if_empty:NTF \l_tmpb_tl {
+ \tl_if_empty:NF \l_tmpa_tl {
+ \exp_args:Nx \use:n {
+ \symdecl{#3/\l_@@_structure_field_str}[args=\l_tmpb_str,def={\exp_args:No\exp_not:n{\l_tmpa_tl}}]
+ }
+ }
+ }{
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \exp_args:Nx \use:n {
+ \symdef{#3/\l_@@_structure_field_str}[args=\l_tmpb_str]\exp_after:wN\exp_not:n\exp_after:wN{\l_tmpb_tl}
+ }
+
+ }{
+ \exp_args:Nx \use:n {
+ \symdef{#3/\l_@@_structure_field_str}[args=\l_tmpb_str,def={\exp_args:No\exp_not:n{\l_tmpa_tl}}]
+ \exp_after:wN\exp_not:n\exp_after:wN{\l_tmpb_tl}
+ }
+ }
+ }
+% \par \prop_item:Nn \l_stex_current_module_prop {ns} ?
+% \prop_item:Nn \l_stex_current_module_prop {name} ?
+% #3/\l_@@_structure_field_str
+% \par
+% \expandafter\present\csname
+% l_stex_symdecl_
+% \prop_item:Nn \l_stex_current_module_prop {ns} ?
+% \prop_item:Nn \l_stex_current_module_prop {name} ?
+% #3/\l_@@_structure_field_str
+% _prop
+% \endcsname
+ }
+
+ \tl_clear:N \l_@@_structure_def_tl
+
+ \prop_get:NnN \l_@@_structure_prop { fields } \l_tmpa_seq
+ \seq_map_inline:Nn \l_tmpa_seq {
+ \seq_set_split:Nnn \l_tmpb_seq ? { ##1 }
+ \seq_get_right:NN \l_tmpb_seq \l_tmpa_str
+ \exp_args:Nx \use:n {
+ \tl_put_right:Nn \exp_not:N \l_@@_structure_def_tl {
+
+ }
+ }
+
+ \prop_if_exist:cF {
+ l_stex_symdecl_
+ \prop_item:Nn \l_stex_current_module_prop {ns} ?
+ \prop_item:Nn \l_stex_current_module_prop {name} ?
+ #3/\l_tmpa_str
+ _prop
+ }{
+ \prop_get:cnN { l_stex_symdecl_ ##1 _prop } {args}
+ \l_tmpb_str
+ \exp_args:Nx \use:n {
+ \symdecl{#3/\l_tmpa_str}[args=\l_tmpb_str]
+ }
+ }
+ }
+
+ \symdecl*{#3}[type={\STEXsymbol{module-type}{
+ \_stex_term_math_oms:nnnn {
+ \prop_item:Nn \l_@@_structure_prop {ns} ?
+ \prop_item:Nn \l_@@_structure_prop {name}
+ }{}{0}{}
+ }}]
+
+ % TODO: -> sms file
+
+ \tl_set:cx{ #3 }{
+ \stex_invoke_structure:nnn {
+ \prop_item:Nn \l_stex_current_module_prop {ns} ?
+ \prop_item:Nn \l_stex_current_module_prop {name} ? #3
+ } {
+ \prop_item:Nn \l_@@_structure_prop {ns} ?
+ \prop_item:Nn \l_@@_structure_prop {name}
+ }
+ }
+ \stex_smsmode_do:
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\stex_invoke_structure:nnn}
+% \begin{macrocode}
+% #1: URI of the instance
+% #2: URI of the instantiated module
+\cs_new_protected:Nn \stex_invoke_structure:nnn {
+ \tl_if_empty:nTF{ #3 }{
+ \prop_set_eq:Nc \l_@@_structure_prop {
+ c_stex_feature_ #2 _prop
+ }
+ \tl_clear:N \l_tmpa_tl
+ \prop_get:NnN \l_@@_structure_prop { fields } \l_tmpa_seq
+ \seq_map_inline:Nn \l_tmpa_seq {
+ \seq_set_split:Nnn \l_tmpb_seq ? { ##1 }
+ \seq_get_right:NN \l_tmpb_seq \l_tmpa_str
+ \cs_if_exist:cT {
+ stex_notation_ #1/\l_tmpa_str \c_hash_str\c_hash_str _cs
+ }{
+ \tl_if_empty:NF \l_tmpa_tl {
+ \tl_put_right:Nn \l_tmpa_tl {,}
+ }
+ \tl_put_right:Nx \l_tmpa_tl {
+ \stex_invoke_symbol:n {#1/\l_tmpa_str}!
+ }
+ }
+ }
+ \exp_args:No \mathstruct \l_tmpa_tl
+ }{
+ \stex_invoke_symbol:n{#1/#3}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/source/stex/inheritance.dtx b/macros/latex/contrib/stex/source/stex/inheritance.dtx
new file mode 100644
index 0000000000..692d7b952c
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/inheritance.dtx
@@ -0,0 +1,575 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Module Inheritance
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-inheritance} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+% \fi
+%
+% \begin{documentation}\label{pkg:inheritance:doc}
+%
+% Code related to Module Inheritance, in particular \emph{sms mode}.
+%
+%\ifinfulldoc\else
+% \input{../../doc/packages/inheritance}
+%\fi
+%
+% \section{Macros and Environments}\label{pkg:inheritance:doc:macros}
+%
+% \subsection{SMS Mode}
+% ``SMS Mode'' is used when loading modules from external tex files.
+% It deactivates any output and ignores all \TeX\ commands
+% not explicitly allowed via the following lists -- all of which either
+% declare module content or are needed in order to declare module content:
+%
+% \begin{variable}{\g_stex_smsmode_allowedmacros_tl}
+% Macros that are executed as is; i.e. sms mode continues immediately after.
+% These macros may not take any arguments or otherwise gobble tokens.
+%
+% Initially: \cs{makeatletter}, \cs{makeatother}, \cs{ExplSyntaxOn},
+% \cs{ExplSyntaxOff}.
+% \end{variable}
+%
+% \begin{variable}{\g_stex_smsmode_allowedmacros_escape_tl}
+% Macros that are executed and potentially gobble up further tokens.
+% These macros need to make sure, that the very last token they ultimately
+% expand to is \cs{stex_smsmode_do:}.
+%
+% Initially: \cs{symdecl}, \cs{notation}, \cs{symdef},
+% \cs{importmodule}, \cs{STEXexport}, \cs{inlineass}, \cs{inlinedef},
+% \cs{inlineex}, \cs{endinput}, \cs{setnotation}, \cs{copynotation}.
+% \end{variable}
+%
+% \begin{variable}{\g_stex_smsmode_allowedenvs_seq}
+% The names of environments that should be allowed in SMS mode.
+% The corresponding \cs{begin}-statements are treated like
+% the macros in \cs{g_stex_smsmode_allowedmacros_escape_tl}, so
+% \cs{stex_smsmode_do:} needs to be the last token in the
+% \cs{begin}-code. Since \cs{end}-statements take no arguments anyway,
+% those are called directly and sms mode continues afterwards.
+%
+% Initially: |smodule|, |copymodule|, |interpretmodule|, |sdefinition|,
+% |sexample|, |sassertion|, |sparagraph|.
+% \end{variable}
+%
+% \begin{function}[pTF]{\stex_if_smsmode:}
+% Tests whether SMS mode is currently active.
+% \end{function}
+%
+% \begin{function}{\stex_file_in_smsmode:nn}
+% \begin{syntax} \cs{stex_in_smsmode:nn} \Arg{filename} \Arg{code} \end{syntax}
+% Executes \meta{code} in SMS mode, followed by the content of \meta{filename}.
+% \meta{code} can be used e.g. to set the current repository, and is
+% executed within a new tex group, and the same group as the file content.
+% \end{function}
+%
+% \begin{function}{\stex_smsmode_do:}
+% Starts gobbling tokens until one is encountered that is allowed in SMS mode.
+% \end{function}
+%
+% \subsection{Imports and Inheritance}
+%
+% \begin{function}{\importmodule}
+% \begin{syntax} \cs{importmodule}|[|\meta{archive-ID}|]|\Arg{module-path} \end{syntax}
+% Imports a module by reading it from a file and ``activating'' it.
+% \sTeX determines the module and its containing file by passing its
+% arguments on to \cs{stex_import_module_path:nn}.
+%
+% \end{function}
+%
+% \begin{function}{\usemodule}
+% \begin{syntax} \cs{importmodule}|[|\meta{archive-ID}|]|\Arg{module-path} \end{syntax}
+% Like \cs{importmodule}, but does not export its contents;
+% i.e. including the current module will not activate the used module
+% \end{function}
+%
+% \begin{function}{\stex_import_module_uri:nn}
+% \begin{syntax} \cs{stex_import_module_uri:nn} \Arg{archive-ID} \Arg{module-path} \end{syntax}
+% Determines the URI of a module by splitting
+% \meta{module-path} into \meta{path}|?|\meta{name}. If \meta{module-path}
+% does \emph{not} contain a |?|-character, we consider it to be the \meta{name},
+% and \meta{path} to be empty.
+%
+% If \meta{archive-ID} is empty, it is automatically set to the
+% ID of the current archive (if one exists).
+%
+% \begin{enumerate}
+% \item If \meta{archive-ID} is empty:
+% \begin{enumerate}
+% \item If \meta{path} is empty, then
+% \meta{name} must have been declared earlier in the same file
+% and retrievable from \cs{g_stex_modules_in_file_seq}, or
+% a file with name \meta{name}|.|\meta{lang}|.tex| must exist
+% in the same folder, containing a module \meta{name}.
+%
+% That module should have the same namespace as the current one.
+% \item If \meta{path} is not empty, it must point to the relative
+% path of the containing file as well as the namespace.
+% \end{enumerate}
+% \item Otherwise:
+% \begin{enumerate}
+% \item If \meta{path} is empty, then
+% \meta{name} must have been declared earlier in the same file
+% and retrievable from \cs{g_stex_modules_in_file_seq}, or
+% a file with name \meta{name}|.|\meta{lang}|.tex| must exist
+% in the top |source| folder of the archive,
+% containing a module \meta{name}.
+%
+% That module should lie directly in the namespace
+% of the archive.
+% \item If \meta{path} is not empty, it must point to the
+% path of the containing file as well as the namespace,
+% relative to the namespace of the archive.
+%
+% If a module by that namespace exists, it is returned.
+% Otherwise, we call \cs{stex_require_module:nn}
+% on the |source| directory of the archive to find the
+% file.
+% \end{enumerate}
+% \end{enumerate}
+% \end{function}
+% \begin{variable}{
+% \l_stex_import_name_str,\l_stex_import_archive_str,\l_stex_import_path_str,\l_stex_import_ns_str
+% }
+% stores the result in these four variables.
+% \end{variable}
+%
+% \begin{function}{\stex_import_require_module:nnnn}
+% \begin{syntax} \Arg{ns} \Arg{archive-ID} \Arg{path} \Arg{name} \end{syntax}
+% Checks whether a module with URI \meta{ns}|?|\meta{name} already
+% exists. If not, it looks for a plausible file that declares
+% a module with that URI.
+%
+% Finally, activates that module by executing its |_code|-macro.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:inheritance:impl}
+%
+% \section{\sTeX-Module Inheritance Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% inheritance.dtx %%%%%%%%%%%%%
+
+% \end{macrocode}
+%
+% \subsection{SMS Mode}
+% \begin{macrocode}
+%<@@=stex_smsmode>
+% \end{macrocode}
+%
+% \begin{variable}{
+% \g_stex_smsmode_allowedmacros_tl,
+% \g_stex_smsmode_allowedmacros_escape_tl,
+% \g_stex_smsmode_allowedenvs_seq
+% }
+% \begin{macrocode}
+\tl_new:N \g_stex_smsmode_allowedmacros_tl
+\tl_new:N \g_stex_smsmode_allowedmacros_escape_tl
+\seq_new:N \g_stex_smsmode_allowedenvs_seq
+
+\tl_set:Nn \g_stex_smsmode_allowedmacros_tl {
+ \makeatletter
+ \makeatother
+ \ExplSyntaxOn
+ \ExplSyntaxOff
+ \rustexBREAK
+}
+
+\tl_set:Nn \g_stex_smsmode_allowedmacros_escape_tl {
+ \symdef
+ \importmodule
+ \notation
+ \symdecl
+ \STEXexport
+ \inlineass
+ \inlinedef
+ \inlineex
+ \endinput
+ \setnotation
+ \copynotation
+}
+
+\exp_args:NNx \seq_set_from_clist:Nn \g_stex_smsmode_allowedenvs_seq {
+ \tl_to_str:n {
+ smodule,
+ copymodule,
+ interpretmodule,
+ sdefinition,
+ sexample,
+ sassertion,
+ sparagraph
+ }
+}
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[pTF]{\stex_if_smsmode:}
+% \begin{macrocode}
+\bool_new:N \g_@@_bool
+\bool_set_false:N \g_@@_bool
+\prg_new_conditional:Nnn \stex_if_smsmode: { p, T, F, TF } {
+ \bool_if:NTF \g_@@_bool \prg_return_true: \prg_return_false:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_in_smsmode:nn}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_in_smsmode:nn {
+ \vbox_set:Nn \l_tmpa_box {
+ \bool_set_eq:cN { l_@@_#1_bool } \g_@@_bool
+ \bool_gset_true:N \g_@@_bool
+ #2
+ \bool_gset_eq:Nc \g_@@_bool { l_@@_#1_bool }
+ }
+ \box_clear:N \l_tmpa_box
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_file_in_smsmode:nn}
+% \begin{macrocode}
+\quark_new:N \q_@@_break
+
+\cs_new_protected:Nn \stex_file_in_smsmode:nn {
+ \stex_filestack_push:n{#1}
+ \_@@_in_smsmode:nn{#1} {
+ #2
+ \everyeof{\q_@@_break\noexpand}
+ \expandafter\expandafter\expandafter
+ \stex_smsmode_do:
+ \csname @ @ input\endcsname "#1"\relax
+ }
+ \stex_filestack_pop:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_smsmode_do:}
+% is executed on encountering |\| in smsmode.
+% It checks whether the corresponding command is allowed and executes
+% or ignores it accordingly:
+% \begin{macrocode}
+\cs_new_protected:Npn \stex_smsmode_do: {
+ \stex_if_smsmode:T {
+ \_@@_do:w
+ }
+}
+\cs_new_protected:Npn \_@@_do:w #1 {
+ \exp_args:Nx \tl_if_empty:nTF { \tl_tail:n{ #1 }}{
+ \expandafter\if\expandafter\relax\noexpand#1
+ \expandafter\_@@_do_aux:N\expandafter#1
+ \else\expandafter\_@@_do:w\fi
+ }{
+ \_@@_do:w %#1
+ }
+}
+\cs_new_protected:Nn \_@@_do_aux:N {
+ \cs_if_eq:NNF #1 \q_@@_break {
+ \tl_if_in:NnTF \g_stex_smsmode_allowedmacros_tl {#1} {
+ #1\_@@_do:w
+ }{
+ \tl_if_in:NnTF \g_stex_smsmode_allowedmacros_escape_tl {#1} {
+ #1
+ }{
+ \cs_if_eq:NNTF \begin #1 {
+ \_@@_check_begin:n
+ }{
+ \cs_if_eq:NNTF \end #1 {
+ \_@@_check_end:n
+ }{
+ \_@@_do:w
+ }
+ }
+ }
+ }
+ }
+}
+
+\cs_new_protected:Nn \_@@_check_begin:n {
+ \seq_if_in:NxTF \g_stex_smsmode_allowedenvs_seq { \detokenize{#1} }{
+ \begin{#1}
+ }{
+ \_@@_do:w
+ }
+}
+\cs_new_protected:Nn \_@@_check_end:n {
+ \seq_if_in:NxTF \g_stex_smsmode_allowedenvs_seq { \detokenize{#1} }{
+ \end{#1}\_@@_do:w
+ }{
+ \str_if_eq:nnTF{#1}{document}{\endinput}{\_@@_do:w}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+
+% \subsection{Inheritance}
+% \begin{macrocode}
+%<@@=stex_importmodule>
+% \end{macrocode}
+%
+% \begin{macro}{\stex_import_module_uri:nn}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_import_module_uri:nn {
+ \str_set:Nx \l_stex_import_archive_str { #1 }
+ \str_set:Nn \l_stex_import_path_str { #2 }
+
+ \exp_args:NNNo \seq_set_split:Nnn \l_tmpb_seq ? { \l_stex_import_path_str }
+ \seq_pop_right:NN \l_tmpb_seq \l_stex_import_name_str
+ \str_set:Nx \l_stex_import_path_str { \seq_use:Nn \l_tmpb_seq ? }
+
+ \stex_modules_current_namespace:
+ \bool_lazy_all:nTF {
+ {\str_if_empty_p:N \l_stex_import_archive_str}
+ {\str_if_empty_p:N \l_stex_import_path_str}
+ {\stex_if_module_exists_p:n { \l_stex_module_ns_str ? \l_stex_import_name_str } }
+ }{
+ \str_set_eq:NN \l_stex_import_path_str \l_stex_modules_subpath_str
+ \str_set_eq:NN \l_stex_import_ns_str \l_stex_module_ns_str
+ }{
+ \str_if_empty:NT \l_stex_import_archive_str {
+ \prop_if_exist:NT \l_stex_current_repository_prop {
+ \prop_get:NnN \l_stex_current_repository_prop { id } \l_stex_import_archive_str
+ }
+ }
+ \str_if_empty:NTF \l_stex_import_archive_str {
+ \str_if_empty:NF \l_stex_import_path_str {
+ \str_set:Nx \l_stex_import_ns_str {
+ \l_stex_module_ns_str / \l_stex_import_path_str
+ }
+ }
+ }{
+ \stex_require_repository:n \l_stex_import_archive_str
+ \prop_get:cnN { c_stex_mathhub_\l_stex_import_archive_str _manifest_prop } { ns }
+ \l_stex_import_ns_str
+ \str_if_empty:NF \l_stex_import_path_str {
+ \str_set:Nx \l_stex_import_ns_str {
+ \l_stex_import_ns_str / \l_stex_import_path_str
+ }
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{
+% \l_stex_import_name_str,\l_stex_import_archive_str,\l_stex_import_path_str,\l_stex_import_ns_str
+% }
+% Store the return values of \cs{stex_import_module_uri:nn}.
+% \begin{macrocode}
+\str_new:N \l_stex_import_name_str
+\str_new:N \l_stex_import_archive_str
+\str_new:N \l_stex_import_path_str
+\str_new:N \l_stex_import_ns_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\stex_import_require_module:nnnn}
+% \begin{syntax} \Arg{ns} \Arg{archive-ID} \Arg{path} \Arg{name} \end{syntax}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_import_require_module:nnnn {
+ \exp_args:Nx \stex_if_module_exists:nF { #1 ? #4 } {
+
+ % archive
+ \str_set:Nx \l_tmpa_str { #2 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \seq_set_eq:NN \l_tmpa_seq \g_stex_currentfile_seq
+ } {
+ \stex_path_from_string:Nn \l_tmpb_seq { \l_tmpa_str }
+ \seq_concat:NNN \l_tmpa_seq \c_stex_mathhub_seq \l_tmpb_seq
+ \seq_put_right:Nn \l_tmpa_seq { source }
+ }
+
+ % path
+ \str_set:Nx \l_tmpb_str { #3 }
+ \str_if_empty:NTF \l_tmpb_str {
+ \str_set:Nx \l_tmpa_str { \stex_path_to_string:N \l_tmpa_seq / #4 }
+
+ \ltx@ifpackageloaded{babel} {
+ \exp_args:NNx \prop_get:NnNF \c_stex_language_abbrevs_prop
+ { \languagename } \l_tmpb_str {
+ \msg_error:nnx{stex}{error/unknownlanguage}{\languagename}
+ }
+ } {
+ \str_clear:N \l_tmpb_str
+ }
+
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str.\l_tmpb_str.tex}
+ \IfFileExists{ \l_tmpa_str.\l_tmpb_str.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str.\l_tmpb_str.tex }
+ }{
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str.tex}
+ \IfFileExists{ \l_tmpa_str.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str.tex }
+ }{
+ % try english as default
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str.en.tex}
+ \IfFileExists{ \l_tmpa_str.en.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str.en.tex }
+ }{
+ \msg_error:nnx{stex}{error/unknownmodule}{#1?#4}
+ }
+ }
+ }
+
+ } {
+ \seq_set_split:NnV \l_tmpb_seq / \l_tmpb_str
+ \seq_concat:NNN \l_tmpa_seq \l_tmpa_seq \l_tmpb_seq
+
+ \ltx@ifpackageloaded{babel} {
+ \exp_args:NNx \prop_get:NnNF \c_stex_language_abbrevs_prop
+ { \languagename } \l_tmpb_str {
+ \msg_error:nnx{stex}{error/unknownlanguage}{\languagename}
+ }
+ } {
+ \str_clear:N \l_tmpb_str
+ }
+
+ \stex_path_to_string:NN \l_tmpa_seq \l_tmpa_str
+
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str/#4.\l_tmpb_str.tex}
+ \IfFileExists{ \l_tmpa_str/#4.\l_tmpb_str.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str/#4.\l_tmpb_str.tex }
+ }{
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str/#4.tex}
+ \IfFileExists{ \l_tmpa_str/#4.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str/#4.tex }
+ }{
+ % try english as default
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str/#4.en.tex}
+ \IfFileExists{ \l_tmpa_str/#4.en.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str/#4.en.tex }
+ }{
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str.\l_tmpb_str.tex}
+ \IfFileExists{ \l_tmpa_str.\l_tmpb_str.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str.\l_tmpb_str.tex }
+ }{
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str.tex}
+ \IfFileExists{ \l_tmpa_str.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str.tex }
+ }{
+ % try english as default
+ \stex_debug:nn{modules}{Checking~\l_tmpa_str.en.tex}
+ \IfFileExists{ \l_tmpa_str.en.tex }{
+ \str_gset:Nx \g_@@_file_str { \l_tmpa_str.en.tex }
+ }{
+ \msg_error:nnx{stex}{error/unknownmodule}{#1?#4}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ \exp_args:No \stex_file_in_smsmode:nn { \g_@@_file_str } {
+ \seq_clear:N \l_stex_all_modules_seq
+ \str_clear:N \l_stex_current_module_str
+ \str_set:Nx \l_tmpb_str { #2 }
+ \str_if_empty:NF \l_tmpb_str {
+ \stex_set_current_repository:n { #2 }
+ }
+ \stex_debug:nn{modules}{Loading~\g_@@_file_str}
+ }
+
+ \stex_if_module_exists:nF { #1 ? #4 } {
+ \msg_error:nnx{stex}{error/unknownmodule}{
+ #1?#4~(in~file~\g_@@_file_str)
+ }
+ }
+ }
+ \stex_activate_module:n { #1 ? #4 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\importmodule}
+% \begin{macrocode}
+\NewDocumentCommand \importmodule { O{} m } {
+ \stex_import_module_uri:nn { #1 } { #2 }
+ \stex_debug:nn{modules}{Importing~module:~
+ \l_stex_import_ns_str ? \l_stex_import_name_str
+ }
+ \stex_if_smsmode:F {
+ \stex_import_require_module:nnnn
+ { \l_stex_import_ns_str } { \l_stex_import_archive_str }
+ { \l_stex_import_path_str } { \l_stex_import_name_str }
+ \stex_annotate_invisible:nnn
+ {import} {\l_stex_import_ns_str ? \l_stex_import_name_str} {}
+ }
+ \exp_args:Nx \stex_add_to_current_module:n {
+ \stex_import_require_module:nnnn
+ { \l_stex_import_ns_str } { \l_stex_import_archive_str }
+ { \l_stex_import_path_str } { \l_stex_import_name_str }
+ }
+ \exp_args:Nx \stex_add_import_to_current_module:n {
+ \l_stex_import_ns_str ? \l_stex_import_name_str
+ }
+ \stex_smsmode_do:
+ \ignorespacesandpars
+}
+\stex_deactivate_macro:Nn \importmodule {module~environments}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\usemodule}
+% \begin{macrocode}
+\NewDocumentCommand \usemodule { O{} m } {
+ \stex_if_smsmode:F {
+ \stex_import_module_uri:nn { #1 } { #2 }
+ \stex_import_require_module:nnnn
+ { \l_stex_import_ns_str } { \l_stex_import_archive_str }
+ { \l_stex_import_path_str } { \l_stex_import_name_str }
+ \stex_annotate_invisible:nnn
+ {usemodule} {\l_stex_import_ns_str ? \l_stex_import_name_str} {}
+ }
+ \stex_smsmode_do:
+ \ignorespacesandpars
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/source/stex/mathhub.dtx b/macros/latex/contrib/stex/source/stex/mathhub.dtx
new file mode 100644
index 0000000000..16ff57ede8
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/mathhub.dtx
@@ -0,0 +1,916 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-MathHub
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-mathhub} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+% \fi
+%
+%
+% \begin{documentation}\label{pkg:mathhub:doc}
+%
+% This sub package provides code for handling \sTeX archives,
+% files, file paths and related methods.
+%
+% \ifinfulldoc\else
+% \begin{sfragment}{Manual}\input{../../doc/packages/mathhub}\end{sfragment}
+% \fi
+%
+% \section{Macros and Environments}\label{pkg:mathhub:doc:macros}
+%
+% \begin{function}{\stex_kpsewhich:n}
+% |\stex_kpsewhich:n| executes kpsewhich and stores the return
+% in\\ |\l_stex_kpsewhich_return_str|. This does not require
+% shell escaping.
+% \end{function}
+%
+% \subsection{Files, Paths, URIs}
+%
+% \begin{function}{\stex_path_from_string:Nn}
+%
+% \begin{syntax} \cs{stex_path_from_string:Nn} \meta{path-variable} \Arg{string} \end{syntax}
+% turns the \meta{string} into a path by splitting it at |/|-characters
+% and stores the result in \meta{path-variable}. Also applies
+% \cs{stex_path_canonicalize:N}.
+% \end{function}
+%
+% \begin{function}{\stex_path_to_string:NN, \stex_path_to_string:N}
+% The inverse; turns a path into a string and stores it in the second
+% argument variable, or leaves it in the input stream.
+% \end{function}
+%
+% \begin{function}{\stex_path_canonicalize:N}
+% Canonicalizes the path provided; in particular, resolves |.| and |..|
+% path segments.
+% \end{function}
+%
+% \begin{function}[pTF]{\stex_path_if_absolute:N}
+% Checks whether the path provided is \emph{absolute}, i.e. starts
+% with an empty segment
+% \end{function}
+%
+% \begin{variable}{\c_stex_pwd_seq, \c_stex_pwd_str, \c_stex_mainfile_seq, \c_stex_mainfile_str}
+% Store the current working directory as path-sequence and string,
+% respectively, and the (heuristically guessed) full path to the
+% main file, based on the PWD and |\jobname|.
+% \end{variable}
+%
+% \begin{variable}{\g_stex_currentfile_seq}
+% The file being currently processed (respecting |\input| etc.)
+% \end{variable}
+%
+% \begin{function}{\stex_filestack_push:n,\stex_filestack_pop:}
+% Push and pop (repsectively) a file path to the file stack,
+% to keep track of the current file. Are called in hooks |file/before|
+% and |file/after|, respectively.
+% \end{function}
+%
+% \subsection{MathHub Archives}
+%
+% \begin{variable}{\mathhub, \c_stex_mathhub_seq, \c_stex_mathhub_str}
+% We determine the path to the local MathHub folder via one of
+% three means, in order of precedence:
+% \begin{enumerate}
+% \item The |mathhub| package option, or
+% \item the |\mathhub|-macro, if it has been defined before
+% the |\usepackage{stex}|-statement, or
+% \item the |MATHHUB| system variable.
+% \end{enumerate}
+% In all three cases, \cs{c_stex_mathhub_seq} and
+% \cs{c_stex_mathhub_str} are set accordingly.
+% \end{variable}
+%
+% \begin{variable}{\l_stex_current_repository_prop}
+% Always points to the \emph{current} MathHub repository (if
+% we currently are in one). Has the following fields corresponding
+% to the entries in the |MANIFEST.MF|-file:
+% \begin{itemize}
+% \item[|id|:] The name of the archive, including its group (e.g. |smglom/calculus|),
+% \item[|ns|:] The content namespace (for modules and symbols),
+% \item[|narr|:] the narration namespace (for document references),
+% \item[|docurl|:] The URL that is used as a basis for \emph{external references},
+% \item[|deps|:] All archives that this archive depends on (currently not in use).
+% \end{itemize}
+% \end{variable}
+%
+% \begin{function}{\stex_set_current_repository:n}
+% Sets the current repository to the one with the provided ID.
+% calls \cs{__stex_mathhub_do_manifest:n}, so works whether this
+% repository's |MANIFEST.MF|-file has already been read or not.
+% \end{function}
+%
+% \begin{function}{\stex_require_repository:n}
+% Calls \cs{__stex_mathhub_do_manifest:n} iff the corresponding
+% archive property list does not already exist, and
+% adds a corresponding definition to the |.sms|-file.
+% \end{function}
+%
+% \begin{function}{\stex_in_repository:nn}
+% \begin{syntax}\cs{stex_in_repository:nn}\Arg{repository-name}\Arg{code}\end{syntax}
+% Change the current repository to \Arg{repository-name} (or not, if \Arg{repository-name} is
+% empty), and passes its ID on to \Arg{code} as |#1|. Switches back
+% to the previous repository after executing \Arg{code}.
+% \end{function}
+%
+% \subsection{Using Content in Archives}
+%
+% \begin{function}[EXP]{\mhpath}
+% \begin{syntax}\cs{mhpath}\Arg{archive-ID}\Arg{filename}\end{syntax}
+% Expands to the full path of file \meta{filename} in repository \meta{archive-ID}.
+% Does not check whether the file or the repository exist.
+% \end{function}
+%
+% \begin{function}{\inputref,\mhinput}
+% \begin{syntax}\cs{inputref}|[|\meta{archive-ID}|]|\Arg{filename}\end{syntax}
+% Both \cs{input} the file \meta{filename} in archive \meta{archive-ID} (relative
+% to the |source|-subdirectory). \cs{mhinput} does so directly.
+% \cs{inputref} does so within an |\begingroup|...|\endgroup|-block,
+% and skips it in |html|-mode, inserting a \emph{reference} to the
+% file instead.
+%
+% Both also set |\ifinputref| to true.
+% \end{function}
+%
+% \begin{function}{\addmhbibresource}
+% \begin{syntax}\cs{inputref}|[|\meta{archive-ID}|]|\Arg{filename}\end{syntax}
+% Adds a |.bib|-file \meta{filename} in archive \meta{archive-ID} (relative
+% to the top-directory of the archive!).
+% \end{function}
+%
+% \begin{function}{\libinput}
+% \begin{syntax} \cs{libinput}\Arg{filename} \end{syntax}
+% Inputs \meta{filename}|.tex| from the |lib| folders in the
+% current archive and the |meta-inf|-archive of the current archive group(s)
+% (if existent) in descending order. Throws an error if no file by that name exists in
+% any of the relevant |lib|-folders.
+% \end{function}
+%
+% \begin{function}{\libusepackage}
+% \begin{syntax} \cs{libusepackage}[\meta{args}]\Arg{filename} \end{syntax}
+% Like \cs{libinput}, but looks for |.sty|-files and calls
+% |\usepackage[\meta{args}]\Arg{filename}| instead of \cs{input}.
+%
+% Throws an error, if none or more than one suitable package file is found.
+% \end{function}
+%
+% \begin{function}{\mhgraphics,\cmhgraphics}
+% \emph{If} the \pkg{graphicx} package is loaded, these
+% macros are defined at |\begin{document}|.
+%
+% \cs{mhgraphics} takes the same arguments as \cs{includegraphics},
+% with the additional optional key |mhrepos|. It then resolves
+% the file path in |\mhgraphics[mhrepos=Foo/Bar]{foo/bar.png}|
+% relative to the |source|-folder of the |Foo/Bar|-archive.
+%
+% \cs{cmhgraphics} additional wraps the image in a |center|-environment.
+% \end{function}
+%
+% \begin{function}{\lstinputmhlisting,\clstinputmhlisting}
+% Like \cs{mhgraphics}, but only defined if the \pkg{listings}-package
+% is loaded, and with \cs{lstinputlisting} instead of \cs{includegraphics}.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{\sTeX-MathHub Implementation}\label{pkg:mathhub:doc:impl}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% mathhub.dtx %%%%%%%%%%%%%
+
+%<@@=stex_path>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+\msg_new:nnn{stex}{error/norepository}{
+ No~archive~#1~found~in~#2
+}
+\msg_new:nnn{stex}{error/notinarchive}{
+ Not~currently~in~an~archive,~but~\detokenize{#1}~
+ needs~one!
+}
+\msg_new:nnn{stex}{error/nofile}{
+ \detokenize{#1}~could~not~find~file~#2
+}
+\msg_new:nnn{stex}{error/twofiles}{
+ \detokenize{#1}~found~two~candidates~for~#2
+}
+% \end{macrocode}
+%
+% \subsubsection{Generic Path Handling}
+%
+% We treat paths as \LaTeX3-sequences (of the individual
+% path segments, i.e. separated by a /-character) unix-style;
+% i.e. a path is absolute if the sequence starts with an empty
+% entry.
+%
+% \begin{macro}{\stex_path_from_string:Nn}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_path_from_string:Nn {
+ \str_set:Nx \l_tmpa_str { #2 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \seq_clear:N #1
+ }{
+ \exp_args:NNNo \seq_set_split:Nnn #1 / { \l_tmpa_str }
+ \sys_if_platform_windows:T{
+ \seq_clear:N \l_tmpa_tl
+ \seq_map_inline:Nn #1 {
+ \seq_set_split:Nnn \l_tmpb_tl \c_backslash_str { ##1 }
+ \seq_concat:NNN \l_tmpa_tl \l_tmpa_tl \l_tmpb_tl
+ }
+ \seq_set_eq:NN #1 \l_tmpa_tl
+ }
+ \stex_path_canonicalize:N #1
+ }
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_path_to_string:NN,\stex_path_to_string:N}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_path_to_string:NN {
+ \exp_args:NNe \str_set:Nn #2 { \seq_use:Nn #1 / }
+}
+
+\cs_new:Nn \stex_path_to_string:N {
+ \seq_use:Nn #1 /
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\c_@@_dot_str,\c_@@_up_str}
+%
+% |.| and |..|, respectively.
+%
+% \begin{macrocode}
+\str_const:Nn \c_@@_dot_str {.}
+\str_const:Nn \c_@@_up_str {..}
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\stex_path_canonicalize:N}
+%
+% Canonicalizes the path provided; in particular, resolves |.| and |..|
+% path segments.
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_path_canonicalize:N {
+ \seq_if_empty:NF #1 {
+ \seq_clear:N \l_tmpa_seq
+ \seq_get_left:NN #1 \l_tmpa_tl
+ \str_if_empty:NT \l_tmpa_tl {
+ \seq_put_right:Nn \l_tmpa_seq {}
+ }
+ \seq_map_inline:Nn #1 {
+ \str_set:Nn \l_tmpa_tl { ##1 }
+ \str_if_eq:NNF \l_tmpa_tl \c_@@_dot_str {
+ \str_if_eq:NNTF \l_tmpa_tl \c_@@_up_str {
+ \seq_if_empty:NTF \l_tmpa_seq {
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \c_@@_up_str
+ }
+ }{
+ \seq_get_right:NN \l_tmpa_seq \l_tmpa_tl
+ \str_if_eq:NNTF \l_tmpa_tl \c_@@_up_str {
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \c_@@_up_str
+ }
+ }{
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_tl
+ }
+ }
+ }{
+ \str_if_empty:NF \l_tmpa_tl {
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq { \l_tmpa_tl }
+ }
+ }
+ }
+ }
+ \seq_gset_eq:NN #1 \l_tmpa_seq
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\stex_path_if_absolute:N}
+% \begin{macrocode}
+\prg_new_conditional:Nnn \stex_path_if_absolute:N {p, T, F, TF} {
+ \seq_if_empty:NTF #1 {
+ \prg_return_false:
+ }{
+ \seq_get_left:NN #1 \l_tmpa_tl
+ \sys_if_platform_windows:TF{
+ \str_if_in:NnTF \l_tmpa_tl {:}{
+ \prg_return_true:
+ }{
+ \prg_return_false:
+ }
+ }{
+ \str_if_empty:NTF \l_tmpa_tl {
+ \prg_return_true:
+ }{
+ \prg_return_false:
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{PWD and kpsewhich}
+%
+% \begin{macro}{\stex_kpsewhich:n}
+% \begin{macrocode}
+\str_new:N\l_stex_kpsewhich_return_str
+\cs_new_protected:Nn \stex_kpsewhich:n {
+ \sys_get_shell:nnN { kpsewhich ~ #1 } { } \l_tmpa_tl
+ \exp_args:NNo\str_set:Nn\l_stex_kpsewhich_return_str{\l_tmpa_tl}
+ \tl_trim_spaces:N \l_stex_kpsewhich_return_str
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We determine the PWD
+%
+% \begin{variable}{\c_stex_pwd_seq,\c_stex_pwd_str}
+% \begin{macrocode}
+\sys_if_platform_windows:TF{
+ \begingroup\escapechar=-1\catcode`\\=12
+ \exp_args:Nx\stex_kpsewhich:n{-expand-var~\c_percent_str CD\c_percent_str}
+ \exp_args:NNx\str_replace_all:Nnn\l_stex_kpsewhich_return_str{\c_backslash_str}/
+ \exp_args:Nnx\use:nn{\endgroup}{\str_set:Nn\exp_not:N\l_stex_kpsewhich_return_str{\l_stex_kpsewhich_return_str}}
+}{
+ \stex_kpsewhich:n{-var-value~PWD}
+}
+
+\stex_path_from_string:Nn\c_stex_pwd_seq\l_stex_kpsewhich_return_str
+\stex_path_to_string:NN\c_stex_pwd_seq\c_stex_pwd_str
+\stex_debug:nn {mathhub} {PWD:~\str_use:N\c_stex_pwd_str}
+% \end{macrocode}
+% \end{variable}
+%
+% \subsubsection{File Hooks and Tracking}
+% \begin{macrocode}
+%<@@=stex_files>
+% \end{macrocode}
+%
+% We introduce hooks for file inputs that keep track of the
+% absolute paths of files used. This will be useful to keep track
+% of modules, their archives, namespaces etc.
+%
+% Note that the absolute paths are only accurate in |\input|-statements
+% for paths relative to the PWD, so they shouldn't be relied upon
+% in any other setting than for \sTeX-purposes.
+%
+% \begin{variable}{\g_@@_stack}
+%
+% keeps track of file changes
+%
+% \begin{macrocode}
+\seq_gclear_new:N\g_@@_stack
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\c_stex_mainfile_seq, \c_stex_mainfile_str}
+% \begin{macrocode}
+\str_set:Nx \c_stex_mainfile_str {\c_stex_pwd_str/\jobname.tex}
+\stex_path_from_string:Nn \c_stex_mainfile_seq
+ \c_stex_mainfile_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\g_stex_currentfile_seq}
+% \begin{macrocode}
+\seq_gclear_new:N\g_stex_currentfile_seq
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\stex_filestack_push:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_filestack_push:n {
+ \stex_path_from_string:Nn\g_stex_currentfile_seq{#1}
+ \stex_path_if_absolute:NF\g_stex_currentfile_seq{
+ \stex_path_from_string:Nn\g_stex_currentfile_seq{
+ \c_stex_pwd_str/#1
+ }
+ }
+ \seq_gset_eq:NN\g_stex_currentfile_seq\g_stex_currentfile_seq
+ \exp_args:NNo\seq_gpush:Nn\g_@@_stack\g_stex_currentfile_seq
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_filestack_pop:}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_filestack_pop: {
+ \seq_if_empty:NF\g_@@_stack{
+ \seq_gpop:NN\g_@@_stack\l_tmpa_seq
+ }
+ \seq_if_empty:NTF\g_@@_stack{
+ \seq_gset_eq:NN\g_stex_currentfile_seq\c_stex_mainfile_seq
+ }{
+ \seq_get:NN\g_@@_stack\l_tmpa_seq
+ \seq_gset_eq:NN\g_stex_currentfile_seq\l_tmpa_seq
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Hooks for the current file:
+%
+% \begin{macrocode}
+\AddToHook{file/before}{
+ \stex_filestack_push:n{\CurrentFilePath/\CurrentFile}
+}
+\AddToHook{file/after}{
+ \stex_filestack_pop:
+}
+% \end{macrocode}
+%
+% \subsection{MathHub Repositories}
+% \begin{macrocode}
+%<@@=stex_mathhub>
+% \end{macrocode}
+%
+% \begin{variable}{\mathhub, \c_stex_mathhub_seq, \c_stex_mathhub_str}
+% The path to the mathhub directory. If the \cs{mathhub}-macro is not set,
+% we query |kpsewhich| for the |MATHHUB| system variable.
+% \begin{macrocode}
+\str_if_empty:NTF\mathhub{
+ \sys_if_platform_windows:TF{
+ \begingroup\escapechar=-1\catcode`\\=12
+ \exp_args:Nx\stex_kpsewhich:n{-expand-var~\c_percent_str MATHHUB\c_percent_str}
+ \exp_args:NNx\str_replace_all:Nnn\l_stex_kpsewhich_return_str{\c_backslash_str}/
+ \exp_args:Nnx\use:nn{\endgroup}{\str_set:Nn\exp_not:N\l_stex_kpsewhich_return_str{\l_stex_kpsewhich_return_str}}
+ }{
+ \stex_kpsewhich:n{-var-value~MATHHUB}
+ }
+ \str_set_eq:NN\c_stex_mathhub_str\l_stex_kpsewhich_return_str
+
+ \str_if_empty:NTF\c_stex_mathhub_str{
+ \msg_warning:nn{stex}{warning/nomathhub}
+ }{
+ \stex_debug:nn{mathhub}{MathHub:~\str_use:N\c_stex_mathhub_str}
+ \exp_args:NNo \stex_path_from_string:Nn\c_stex_mathhub_seq\c_stex_mathhub_str
+ }
+}{
+ \stex_path_from_string:Nn \c_stex_mathhub_seq \mathhub
+ \stex_path_if_absolute:NF \c_stex_mathhub_seq {
+ \exp_args:NNx \stex_path_from_string:Nn \c_stex_mathhub_seq {
+ \c_stex_pwd_str/\mathhub
+ }
+ }
+ \stex_path_to_string:NN\c_stex_mathhub_seq\c_stex_mathhub_str
+ \stex_debug:nn{mathhub} {MathHub:~\str_use:N\c_stex_mathhub_str}
+}
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\_@@_do_manifest:n}
+% Checks whether the manifest for archive |#1| already exists, and
+% if not, finds and parses the corresponding manifest file
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_do_manifest:n {
+ \prop_if_exist:cF {c_stex_mathhub_#1_manifest_prop} {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \prop_new:c { c_stex_mathhub_#1_manifest_prop }
+ \seq_set_split:NnV \l_tmpa_seq / \l_tmpa_str
+ \seq_concat:NNN \l_tmpa_seq \c_stex_mathhub_seq \l_tmpa_seq
+ \_@@_find_manifest:N \l_tmpa_seq
+ \seq_if_empty:NTF \l_@@_manifest_file_seq {
+ \msg_error:nnxx{stex}{error/norepository}{#1}{
+ \stex_path_to_string:N \c_stex_mathhub_str
+ }
+ } {
+ \exp_args:No \_@@_parse_manifest:n { \l_tmpa_str }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_@@_manifest_file_seq}
+% \begin{macrocode}
+\seq_new:N\l_@@_manifest_file_seq
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\_@@_find_manifest:N}
+%
+% Attempts to find the |MANIFEST.MF| in some file path and
+% stores its path in \cs{l_@@_manifest_file_seq}:
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_find_manifest:N {
+ \seq_set_eq:NN\l_tmpa_seq #1
+ \bool_set_true:N\l_tmpa_bool
+ \bool_while_do:Nn \l_tmpa_bool {
+ \seq_if_empty:NTF \l_tmpa_seq {
+ \bool_set_false:N\l_tmpa_bool
+ }{
+ \file_if_exist:nTF{
+ \stex_path_to_string:N\l_tmpa_seq/MANIFEST.MF
+ }{
+ \seq_put_right:Nn\l_tmpa_seq{MANIFEST.MF}
+ \bool_set_false:N\l_tmpa_bool
+ }{
+ \file_if_exist:nTF{
+ \stex_path_to_string:N\l_tmpa_seq/META-INF/MANIFEST.MF
+ }{
+ \seq_put_right:Nn\l_tmpa_seq{META-INF}
+ \seq_put_right:Nn\l_tmpa_seq{MANIFEST.MF}
+ \bool_set_false:N\l_tmpa_bool
+ }{
+ \file_if_exist:nTF{
+ \stex_path_to_string:N\l_tmpa_seq/meta-inf/MANIFEST.MF
+ }{
+ \seq_put_right:Nn\l_tmpa_seq{meta-inf}
+ \seq_put_right:Nn\l_tmpa_seq{MANIFEST.MF}
+ \bool_set_false:N\l_tmpa_bool
+ }{
+ \seq_pop_right:NN\l_tmpa_seq\l_tmpa_tl
+ }
+ }
+ }
+ }
+ }
+ \seq_set_eq:NN\l_@@_manifest_file_seq\l_tmpa_seq
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\c_@@_manifest_ior}
+%
+% File variable used for |MANIFEST|-files
+%
+% \begin{macrocode}
+\ior_new:N \c_@@_manifest_ior
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\_@@_parse_manifest:n}
+%
+% Stores the entries in manifest file in the
+% corresponding property list:
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_parse_manifest:n {
+ \seq_set_eq:NN \l_tmpa_seq \l_@@_manifest_file_seq
+ \ior_open:Nn \c_@@_manifest_ior {\stex_path_to_string:N \l_tmpa_seq}
+ \ior_map_inline:Nn \c_@@_manifest_ior {
+ \str_set:Nn \l_tmpa_str {##1}
+ \exp_args:NNoo \seq_set_split:Nnn
+ \l_tmpb_seq \c_colon_str \l_tmpa_str
+ \seq_pop_left:NNTF \l_tmpb_seq \l_tmpa_tl {
+ \exp_args:NNe \str_set:Nn \l_tmpb_tl {
+ \exp_args:NNo \seq_use:Nn \l_tmpb_seq \c_colon_str
+ }
+ \exp_args:No \str_case:nnTF \l_tmpa_tl {
+ {id} {
+ \prop_gput:cno { c_stex_mathhub_#1_manifest_prop }
+ { id } \l_tmpb_tl
+ }
+ {narration-base} {
+ \prop_gput:cno { c_stex_mathhub_#1_manifest_prop }
+ { narr } \l_tmpb_tl
+ }
+ {url-base} {
+ \prop_gput:cno { c_stex_mathhub_#1_manifest_prop }
+ { docurl } \l_tmpb_tl
+ }
+ {source-base} {
+ \prop_gput:cno { c_stex_mathhub_#1_manifest_prop }
+ { ns } \l_tmpb_tl
+ }
+ {ns} {
+ \prop_gput:cno { c_stex_mathhub_#1_manifest_prop }
+ { ns } \l_tmpb_tl
+ }
+ {dependencies} {
+ \prop_gput:cno { c_stex_mathhub_#1_manifest_prop }
+ { deps } \l_tmpb_tl
+ }
+ }{}{}
+ }{}
+ }
+ \ior_close:N \c_@@_manifest_ior
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\stex_set_current_repository:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_set_current_repository:n {
+ \stex_require_repository:n { #1 }
+ \prop_set_eq:Nc \l_stex_current_repository_prop {
+ c_stex_mathhub_#1_manifest_prop
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_require_repository:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_require_repository:n {
+ \prop_if_exist:cF { c_stex_mathhub_#1_manifest_prop } {
+ \stex_debug:nn{mathhub}{Opening~archive:~#1}
+ \_@@_do_manifest:n { #1 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%\begin{variable}{\l_stex_current_repository_prop}
+%
+% Current MathHub repository
+%
+% \begin{macrocode}
+%\prop_new:N \l_stex_current_repository_prop
+
+\_@@_find_manifest:N \c_stex_pwd_seq
+\seq_if_empty:NTF \l_@@_manifest_file_seq {
+ \stex_debug:nn{mathhub}{Not~currently~in~a~MathHub~repository}
+} {
+ \_@@_parse_manifest:n { main }
+ \prop_get:NnN \c_stex_mathhub_main_manifest_prop {id}
+ \l_tmpa_str
+ \prop_set_eq:cN { c_stex_mathhub_\l_tmpa_str _manifest_prop }
+ \c_stex_mathhub_main_manifest_prop
+ \exp_args:Nx \stex_set_current_repository:n { \l_tmpa_str }
+ \stex_debug:nn{mathhub}{Current~repository:~
+ \prop_item:Nn \l_stex_current_repository_prop {id}
+ }
+}
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\stex_in_repository:nn}
+% Executes the code in the second argument in the context
+% of the repository whose ID is provided as the first argument.
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_in_repository:nn {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \cs_set:Npn \l_tmpa_cs ##1 { #2 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \prop_if_exist:NTF \l_stex_current_repository_prop {
+ \stex_debug:nn{mathhub}{do~in~current~repository:~\prop_item:Nn \l_stex_current_repository_prop { id }}
+ \exp_args:Ne \l_tmpa_cs{
+ \prop_item:Nn \l_stex_current_repository_prop { id }
+ }
+ }{
+ \l_tmpa_cs{}
+ }
+ }{
+ \stex_debug:nn{mathhub}{in~repository:~\l_tmpa_str}
+ \stex_require_repository:n \l_tmpa_str
+ \str_set:Nx \l_tmpa_str { #1 }
+ \exp_args:Nne \use:nn {
+ \stex_set_current_repository:n \l_tmpa_str
+ \exp_args:Nx \l_tmpa_cs{\l_tmpa_str}
+ }{
+ \stex_debug:nn{mathhub}{switching~back~to:~
+ \prop_if_exist:NTF \l_stex_current_repository_prop {
+ \prop_item:Nn \l_stex_current_repository_prop { id }:~
+ \meaning\l_stex_current_repository_prop
+ }{
+ no~repository
+ }
+ }
+ \prop_if_exist:NTF \l_stex_current_repository_prop {
+ \stex_set_current_repository:n {
+ \prop_item:Nn \l_stex_current_repository_prop { id }
+ }
+ }{
+ \let\exp_not:N\l_stex_current_repository_prop\exp_not:N\undefined
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Using Content in Archives}
+%
+% \begin{macro}{\mhpath}
+% \begin{macrocode}
+\def \mhpath #1 #2 {
+ \exp_args:Ne \tl_if_empty:nTF{#1}{
+ \c_stex_mathhub_str /
+ \prop_item:Nn \l_stex_current_repository_prop { id }
+ / source / #2
+ }{
+ \c_stex_mathhub_str / #1 / source / #2
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\inputref,\mhinput}
+% \begin{macrocode}
+\newif \ifinputref \inputreffalse
+
+\cs_new_protected:Nn \_@@_mhinput:nn {
+ \stex_in_repository:nn {#1} {
+ \ifinputref
+ \input{ \c_stex_mathhub_str / ##1 / source / #2 }
+ \else
+ \inputreftrue
+ \input{ \c_stex_mathhub_str / ##1 / source / #2 }
+ \inputreffalse
+ \fi
+ }
+}
+\NewDocumentCommand \mhinput { O{} m}{
+ \stex_mhinput:nn{ #1 }{ #2 }
+}
+
+\cs_new_protected:Nn \_@@_inputref:nn {
+ \stex_in_repository:nn {#1} {
+ \bool_lazy_any:nTF {
+ {\rustex_if_p:}
+ {\latexml_if_p:}
+ } {
+ \str_clear:N \l_tmpa_str
+ \prop_get:NnNF \l_stex_current_repository_prop { narr } \l_tmpa_str {
+ \prop_get:NnNF \l_stex_current_repository_prop { ns } \l_tmpa_str {}
+ }
+ \stex_annotate_invisible:nnn{inputref}{
+ \l_tmpa_str / #2
+ }{}
+ }{
+ \begingroup
+ \inputreftrue
+ \input{ \c_stex_mathhub_str / ##1 / source / #2 }
+ \endgroup
+ }
+ }
+}
+\NewDocumentCommand \inputref { O{} m}{
+ \_@@_inputref:nn{ #1 }{ #2 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\addmhbibresource}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_mhbibresource:nn {
+ \stex_in_repository:nn {#1} {
+ \addbibresource{ \c_stex_mathhub_str / ##1 / #2 }
+ }
+}
+\newcommand\addmhbibresource[2][]{
+ \_@@_mhbibresource:nn{ #1 }{ #2 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\libinput}
+% \begin{macrocode}
+\cs_new_protected:Npn \libinput #1 {
+ \prop_if_exist:NF \l_stex_current_repository_prop {
+ \msg_error:nnn{stex}{error/notinarchive}\libinput
+ }
+ \prop_get:NnNF \l_stex_current_repository_prop {id} \l_tmpa_str {
+ \msg_error:nnn{stex}{error/notinarchive}\libinput
+ }
+ \seq_clear:N \l_@@_libinput_files_seq
+ \seq_set_eq:NN \l_tmpa_seq \c_stex_mathhub_seq
+ \seq_set_split:NnV \l_tmpb_seq / \l_tmpa_str
+
+ \bool_while_do:nn { ! \seq_if_empty_p:N \l_tmpb_seq }{
+ \str_set:Nx \l_tmpa_str {\stex_path_to_string:N \l_tmpa_seq / meta-inf / lib / #1.tex}
+ \IfFileExists{ \l_tmpa_str }{
+ \seq_put_right:No \l_@@_libinput_files_seq \l_tmpa_str
+ }{}
+ \seq_pop_left:NN \l_tmpb_seq \l_tmpa_str
+ \seq_put_right:No \l_tmpa_seq \l_tmpa_str
+ }
+
+ \str_set:Nx \l_tmpa_str {\stex_path_to_string:N \l_tmpa_seq / lib / #1.tex}
+ \IfFileExists{ \l_tmpa_str }{
+ \seq_put_right:No \l_@@_libinput_files_seq \l_tmpa_str
+ }{}
+
+ \seq_if_empty:NTF \l_@@_libinput_files_seq {
+ \msg_error:nnxx{stex}{error/nofile}{\exp_not:N\libinput}{#1.tex}
+ }{
+ \seq_map_inline:Nn \l_@@_libinput_files_seq {
+ \input{ ##1 }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\libusepackage}
+% \begin{macrocode}
+\NewDocumentCommand \libusepackage {O{} m} {
+ \prop_if_exist:NF \l_stex_current_repository_prop {
+ \msg_error:nnn{stex}{error/notinarchive}\libusepackage
+ }
+ \prop_get:NnNF \l_stex_current_repository_prop {id} \l_tmpa_str {
+ \msg_error:nnn{stex}{error/notinarchive}\libusepackage
+ }
+ \seq_clear:N \l_@@_libinput_files_seq
+ \seq_set_eq:NN \l_tmpa_seq \c_stex_mathhub_seq
+ \seq_set_split:NnV \l_tmpb_seq / \l_tmpa_str
+
+ \bool_while_do:nn { ! \seq_if_empty_p:N \l_tmpb_seq }{
+ \str_set:Nx \l_tmpa_str {\stex_path_to_string:N \l_tmpa_seq / meta-inf / lib / #2}
+ \IfFileExists{ \l_tmpa_str.sty }{
+ \seq_put_right:No \l_@@_libinput_files_seq \l_tmpa_str
+ }{}
+ \seq_pop_left:NN \l_tmpb_seq \l_tmpa_str
+ \seq_put_right:No \l_tmpa_seq \l_tmpa_str
+ }
+
+ \str_set:Nx \l_tmpa_str {\stex_path_to_string:N \l_tmpa_seq / lib / #2}
+ \IfFileExists{ \l_tmpa_str.sty }{
+ \seq_put_right:No \l_@@_libinput_files_seq \l_tmpa_str
+ }{}
+
+ \seq_if_empty:NTF \l_@@_libinput_files_seq {
+ \msg_error:nnxx{stex}{error/nofile}{\exp_not:N\libusepackage}{#2.sty}
+ }{
+ \int_compare:nNnTF {\seq_count:N \l_@@_libinput_files_seq} = 1 {
+ \seq_map_inline:Nn \l_@@_libinput_files_seq {
+ \usepackage[#1]{ ##1 }
+ }
+ }{
+ \msg_error:nnxx{stex}{error/twofiles}{\exp_not:N\libusepackage}{#2.sty}
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\mhgraphics,\cmhgraphics}
+% \begin{macrocode}
+
+\AddToHook{begindocument}{
+ \ltx@ifpackageloaded{graphicx}{
+ \define@key{Gin}{mhrepos}{\def\Gin@mhrepos{#1}}
+ \newcommand\mhgraphics[2][]{%
+ \def\Gin@mhrepos{}\setkeys{Gin}{#1}%
+ \includegraphics[#1]{\mhpath\Gin@mhrepos{#2}}}
+ \newcommand\cmhgraphics[2][]{\begin{center}\mhgraphics[#1]{#2}\end{center}}
+ }{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\lstinputmhlisting,\clstinputmhlisting}
+% \begin{macrocode}
+ \ltx@ifpackageloaded{listings}{
+ \define@key{lst}{mhrepos}{\def\lst@mhrepos{#1}}
+ \newcommand\lstinputmhlisting[2][]{%
+ \def\lst@mhrepos{}\setkeys{lst}{#1}%
+ \lstinputlisting[#1]{\mhpath\lst@mhrepos{#2}}}
+ \newcommand\clstinputmhlisting[2][]{\begin{center}\lstinputmhlisting[#1]{#2}\end{center}}
+ }{}
+}
+
+%</package>
+% \end{macrocode}
+% \end{macro}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/source/stex/metatheory.dtx b/macros/latex/contrib/stex/source/stex/metatheory.dtx
new file mode 100644
index 0000000000..a477e67f63
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/metatheory.dtx
@@ -0,0 +1,179 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Metatheory
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-metatheory} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/metatheory}
+% \fi
+%
+% \begin{documentation}\label{pkg:metatheory:doc}
+%
+% The default meta theory for an \sTeX module. Contains
+% symbols so ubiquitous, that it is virtually impossible
+% to describe any flexiformal content without them, or
+% that are required to annotate even the most primitive symbols
+% with meaningful (foundation-independent) ``type''-annotations,
+% or required for basic structuring principles (theorems, definitions).
+%
+% Foundations should ideally instantiate these symbols
+% with their formal counterparts, e.g. |isa| corresponds
+% to a typing operation in typed setting, or the $\in$-operator
+% in set-theoretic contexts; |bind| corresponds to a universal
+% quantifier in ($n$th-order) logic, or a $\Pi$ in dependent type
+% theories.
+%
+% \section{Symbols}\label{pkg:metatheory:symbols}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:metatheory:impl}
+%
+% \section{\sTeX-Metatheory Implementation}
+%
+% \begin{macrocode}
+%<*package>
+%<@@=stex_modules>
+
+%%%%%%%%%%%%% metatheory.dtx %%%%%%%%%%%%%
+
+\str_const:Nn \c_stex_metatheory_ns_str {http://mathhub.info/sTeX}
+\begingroup
+\stex_module_setup:nn{
+ ns=\c_stex_metatheory_ns_str,
+ meta=NONE
+}{Metatheory}
+\stex_reactivate_macro:N \symdecl
+\stex_reactivate_macro:N \notation
+\stex_reactivate_macro:N \symdef
+\ExplSyntaxOff
+\csname stex_suppress_html:n\endcsname{
+ % is-a (a:A, a \in A, a is an A, etc.)
+ \symdecl{isa}[args=ai]
+ \notation{isa}[typed]{#1 \comp{:} #2}{##1 \comp, ##2}
+ \notation{isa}[in]{#1 \comp\in #2}{##1 \comp, ##2}
+ \notation{isa}[pred]{#2\comp(#1 \comp)}{##1 \comp, ##2}
+
+ % bind (\forall, \Pi, \lambda etc.)
+ \symdecl{bind}[args=Bi]
+ \notation{bind}[forall]{\comp\forall #1.\;#2}{##1 \comp, ##2}
+ \notation{bind}[Pi]{\comp\prod_{#1}#2}{##1 \comp, ##2}
+ \notation{bind}[depfun]{\comp( #1 \comp{)\;\to\;} #2}{##1 \comp, ##2}
+
+ % dummy variable
+ \symdecl{dummyvar}
+ \notation{dummyvar}[underscore]{\comp\_}
+ \notation{dummyvar}[dot]{\comp\cdot}
+ \notation{dummyvar}[dash]{\comp{{\rm --}}}
+
+ %fromto (function space, Hom-set, implication etc.)
+ \symdecl{fromto}[args=ai]
+ \notation{fromto}[xarrow]{#1 \comp\to #2}{##1 \comp\times ##2}
+ \notation{fromto}[arrow]{#1 \comp\to #2}{##1 \comp\to ##2}
+
+ % mapto (lambda etc.)
+ %\symdecl{mapto}[args=Bi]
+ %\notation{mapto}[mapsto]{#1 \comp\mapsto #2}{#1 \comp, #2}
+ %\notation{mapto}[lambda]{\comp\lambda #1 \comp.\; #2}{#1 \comp, #2}
+ %\notation{mapto}[lambdau]{\comp\lambda_{#1} \comp.\; #2}{#1 \comp, #2}
+
+ % function/operator application
+ \symdecl{apply}[args=ia]
+ \notation{apply}[prec=0;0x\infprec,parens]{#1 \comp( #2 \comp)}{##1 \comp, ##2}
+ \notation{apply}[prec=0;0x\infprec,lambda]{#1 \; #2 }{##1 \; ##2}
+
+ % ``type'' of all collections (sets,classes,types,kinds)
+ \symdecl{collection}
+ \notation{collection}[U]{\comp{\mathcal{U}}}
+ \notation{collection}[set]{\comp{\textsf{Set}}}
+
+ % collection of propositions/booleans/truth values
+ \symdecl{prop}[name=proposition]
+ \notation{prop}[prop]{\comp{{\rm prop}}}
+ \notation{prop}[BOOL]{\comp{{\rm BOOL}}}
+
+ % sequences
+ \symdecl{seqtype}[args=1]
+ \notation{seqtype}[kleene]{#1^{\comp\ast}}
+
+ \symdef{sequence-index}[args=2,li,prec=nobrackets]{{#1}_{#2}}
+ \notation{sequence-index}[ui,prec=nobrackets]{{#1}^{#2}}
+
+ \symdef{aseqdots}[args=a,prec=nobrackets]{#1\comp{,\ellipses}}{##1\comp,##2}
+ \symdef{aseqfromto}[args=ai,prec=nobrackets]{#1\comp{,\ellipses,}#2}{##1\comp,##2}
+ \symdef{aseqfromtovia}[args=aii,prec=nobrackets]{#1\comp{,\ellipses,}#2\comp{,\ellipses,}#3}{##1\comp,##2}
+
+ % letin (``let'', local definitions, variable substitution)
+ \symdecl{letin}[args=bii]
+ \notation{letin}[let]{\comp{{\rm let}}\;#1\comp{=}#2\;\comp{{\rm in}}\;#3}
+ \notation{letin}[subst]{#3 \comp[ #1 \comp/ #2 \comp]}
+ \notation{letin}[frac]{#3 \comp[ \frac{#2}{#1} \comp]}
+
+ % structures
+ \symdecl*{module-type}[args=1]
+ \notation{module-type}{\mathtt{MOD} #1}
+ \symdecl{mathstruct}[name=mathematical-structure,args=a] % TODO
+ \notation{mathstruct}[angle,prec=nobrackets]{\comp\langle #1 \comp\rangle}{##1 \comp, ##2}
+
+}
+ \ExplSyntaxOn
+ \stex_add_to_current_module:n{
+ \let\nappa\apply
+ \def\nappli#1#2#3#4{\apply{#1}{\naseqli{#2}{#3}{#4}}}
+ \def\nappui#1#2#3#4{\apply{#1}{\nasequi{#2}{#3}{#4}}}
+ \def\livar{\csname sequence-index\endcsname[li]}
+ \def\uivar{\csname sequence-index\endcsname[ui]}
+ \def\naseqli#1#2#3{\aseqfromto{\livar{#1}{#2}}{\livar{#1}{#3}}}
+ \def\nasequi#1#2#3{\aseqfromto{\uivar{#1}{#2}}{\uivar{#1}{#3}}}
+ \def\nappe#1#2#3{\apply{#1}{\aseqfromto{#2}{#3}}}
+ }
+\_@@_end_module:
+\endgroup
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
+
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:
diff --git a/macros/latex/contrib/stex/source/stex/modules.dtx b/macros/latex/contrib/stex/source/stex/modules.dtx
new file mode 100644
index 0000000000..f345e3066b
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/modules.dtx
@@ -0,0 +1,824 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Modules
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-modules} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.\fi
+%
+%
+% \begin{documentation}\label{pkg:modules:doc}
+%
+% This sub package contains code related to Modules
+%
+% \ifinfulldoc\else
+% \input{../../doc/packages/modules}
+% \fi
+%
+% \section{Macros and Environments}\label{pkg:modules:doc:macros}
+%
+% The content of a module with uri \meta{<URI>} is stored in four
+% macros. All modifications of these macros are global:
+% \begin{variable}{\c_stex_module_<URI>_prop}
+% A property list with the following fields:
+% \begin{itemize}
+% \item[|name|] The \emph{name} of the module,
+% \item[|ns|] the \emph{namespace} in field |ns|,
+% \item[|file|] the \emph{file} containing the module,
+% as a sequence of path fragments
+% \item[|lang|] the module's \emph{language},
+% \item[|sig|] the language of the signature module, if the
+% current file is a translation from some other language,
+% \item[|deprecate|] if this module is deprecated, the module
+% that replaces it,
+% \item[|meta|] the metatheory of the module.
+% \end{itemize}
+% \end{variable}
+%
+% \begin{variable}{\c_stex_module_<URI>_code}
+% The code to execute when this module is activated (i.e. imported),
+% e.g. to set all the semantic macros, notations, etc.
+% \end{variable}
+%
+% \begin{variable}{\c_stex_module_<URI>_constants}
+% The names of all constants declared in the module
+% \end{variable}
+%
+% \begin{variable}{\c_stex_module_<URI>_constants}
+% The full URIs of all modules imported in this module
+% \end{variable}
+%
+% \begin{variable}{\l_stex_current_module_str}
+% \cs{l_stex_current_module_str} always
+% contains the URI of the current module (if existent).
+% \end{variable}
+%
+% \begin{variable}{\l_stex_all_modules_seq}
+% Stores full URIs for all modules currently in scope.
+% \end{variable}
+%
+% \begin{function}[pTF]{\stex_if_in_module:}
+% Conditional for whether we are currently in a module
+% \end{function}
+%
+% \begin{function}[pTF]{\stex_if_module_exists:n}
+% Conditional for whether a module with the provided URI
+% is already known.
+% \end{function}
+%
+% \begin{function}{\stex_add_to_current_module:n,\STEXexport}
+% Adds the provided tokens to the |_code| control sequence of the
+% current module.
+%
+% \cs{stex_add_to_current_module:n} is used internally,
+% \cs{STEXexport} is intended for users and additionally executes
+% the provided code immediately.
+% \end{function}
+%
+% \begin{function}{\stex_add_constant_to_current_module:n}
+% Adds the declaration with the provided name to the |_constants|
+% control sequence of the current module.
+% \end{function}
+%
+% \begin{function}{\stex_add_import_to_current_module:n}
+% Adds the module with the provided full URI to the |_imports|
+% control sequence of the current module.
+% \end{function}
+%
+% \begin{function}{\stex_collect_imports:n}
+% Iterates over all imports of the provided (full URI of a) module
+% and stores them as a topologically sorted list -- including
+% the provided module as the last element -- in
+% |\l_stex_collect_imports_seq|
+% \end{function}
+%
+% \begin{function}{\stex_do_up_to_module:n}
+% Code that is \emph{exported} from module (such as symbol declarations)
+% should be local \emph{to the current module}. For that reason, ideally
+% all symbol declarations and similar commands should be called directly
+% in the module environment, however, that is not always feasible, e.g.
+% in structural features or |sparapraph|s. \cs{stex_do_up_to_module}
+% therefore executes the provided code repeatedly in an \cs{aftergroup}
+% up until the group level is equal to that of the innermost smodule environment.
+% \end{function}
+%
+% \begin{function}{\stex_modules_current_namespace:}
+% Computes the current namespace as follows:
+%
+% If the current file is |.../source/sub/file.tex| in some archive
+% with namespace |http://some.namespace/foo|, then the namespace of
+% is |http://some.namespace/foo/sub/file|. Otherwise, the namespace
+% is the absolute file path of the current file (i.e. starting with |file:///|).
+%
+% The result is stored in |\l_stex_modules_ns_str|. Additionally, the sub path
+% relative to the current repository is stored in |\l_stex_modules_subpath_str|.
+% \end{function}
+%
+% \subsection{The \texttt{smodule} environment}
+%
+% \begin{environment}{module}
+% \begin{syntax} \cs{begin}|{module}[|\meta{options}|]|\Arg{name}\end{syntax}
+%
+% Opens a new module with name \meta{name}. Options are:
+% \begin{itemize}
+% \item[|title|] (\meta{token list}) to display in customizations.
+% \item[|type|] (\meta{string}$\ast$) for use in customizations.
+% \item[|deprecate|] (\meta{module}) if set, will throw a warning
+% when loaded, urging to use \meta{module} instead.
+% \item[|id|] (\meta{string}) for cross-referencing.
+% \item[|ns|] (\meta{URI}) the namespace to use. \emph{Should not be used,
+% unless you know precisely what you're doing}. If not explicitly set, is
+% computed using \cs{stex_modules_current_namespace:}.
+% \item[|lang|] (\meta{language}) if not set, computed from the current file name (e.g. |foo.en.tex|).
+% \item[|sig|] (\meta{language}) if the current file is a translation of a file with the same base name
+% but a different language suffix, setting |sig=<lang>| will preload the module
+% from that language file. This helps ensuring that the (formal) content of both modules
+% is (almost) identical across languages and avoids duplication.
+% \item[|creators|] (\meta{string}$\ast$) names of the creators.
+% \item[|contributors|] (\meta{string}$\ast$) names of contributors.
+% \item[|srccite|] (\meta{string}) a source citation for the content of this module.
+% \end{itemize}
+%
+% \begin{function}{\stex_module_setup:nn}
+% \begin{syntax}\cs{stex_module_setup:nn}\Arg{params}\Arg{name}\end{syntax}
+% Sets up a new module with name \meta{name} and optional parameters
+% \meta{params}. In particular, sets
+% \cs{l_stex_current_module_str} appropriately.
+% \end{function}
+%
+% \end{environment}
+%
+% \begin{function}{\stexpatchmodule}
+% \begin{syntax} \cs{stexpatchmodule} [\meta{type}] \Arg{begincode} \Arg{endcode} \end{syntax}
+% Customizes the presentation for those |smodule|-environments
+% with |type=|\meta{type}, or all others if no \meta{type} is given.
+% \end{function}
+%
+% \begin{function}{\STEXModule}
+% \begin{syntax} \cs{STEXModule} \Arg{fragment} \end{syntax}
+% Attempts to find a module whose URI ends with \meta{fragment}
+% in the current scope and passes the full URI on to
+% \cs{stex_invoke_module:n}.
+% \end{function}
+%
+% \begin{function}{\stex_invoke_module:n}
+% Invoked by \cs{STEXModule}. Needs to be followed either
+% by |!\macro| or |?|\Arg{symbolname}. In the first case,
+% it stores the full URI in \cs{macro}; in the second
+% case, it invokes the symbol \meta{symbolname} in the
+% selected module.
+% \end{function}
+%
+% \begin{function}{\stex_activate_module:n}
+% Activate the module with the provided URI; i.e. executes
+% all macro code of the module's |_code|-macro (does
+% nothing if the module is already activated in the current
+% context) and adds the module to \cs{l_stex_all_modules_seq}.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:modules:impl}
+%
+% \section{\sTeX-Modules Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% modules.dtx %%%%%%%%%%%%%
+
+%<@@=stex_modules>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+\msg_new:nnn{stex}{error/unknownmodule}{
+ No~module~#1~found
+}
+\msg_new:nnn{stex}{error/syntax}{
+ Syntax~error:~#1
+}
+\msg_new:nnn{stex}{error/siglanguage}{
+ Module~#1~declares~signature~#2,~but~does~not~
+ declare~its~language
+}
+\msg_new:nnn{stex}{warning/deprecated}{
+ #1~is~deprecated;~please~use~#2~instead!
+}
+
+\msg_new:nnn{stex}{error/conflictingmodules}{
+ Conflicting~imports~for~module~#1
+}
+% \end{macrocode}
+%
+%
+% \begin{variable}{\l_stex_current_module_str}
+% The current module:
+% \begin{macrocode}
+\str_new:N \l_stex_current_module_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_stex_all_modules_seq}
+% Stores all available modules
+% \begin{macrocode}
+\seq_new:N \l_stex_all_modules_seq
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[pTF]{\stex_if_in_module:}
+% \begin{macrocode}
+\prg_new_conditional:Nnn \stex_if_in_module: {p, T, F, TF} {
+ \str_if_empty:NTF \l_stex_current_module_str
+ \prg_return_false: \prg_return_true:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\stex_if_module_exists:n}
+% \begin{macrocode}
+\prg_new_conditional:Nnn \stex_if_module_exists:n {p, T, F, TF} {
+ \prop_if_exist:cTF { c_stex_module_#1_prop }
+ \prg_return_true: \prg_return_false:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_add_to_current_module:n,\STEXexport}
+%
+% Only allowed within modules:
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_add_to_current_module:n {
+ \tl_gput_right:cn {c_stex_module_\l_stex_current_module_str _code} { #1 }
+}
+\cs_new_protected:Npn \STEXexport {
+ \begingroup
+ \newlinechar=-1\relax
+ \endlinechar=-1\relax
+ %\catcode`\ = 9\relax
+ \expandafter\endgroup\_@@_export:n
+}
+\cs_new_protected:Nn \_@@_export:n {
+ \ignorespaces #1
+ \stex_add_to_current_module:n { \ignorespaces #1 }
+ \stex_smsmode_do:
+}
+\stex_deactivate_macro:Nn \STEXexport {module~environments}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_add_constant_to_current_module:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_add_constant_to_current_module:n {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \seq_gput_right:co {c_stex_module_\l_stex_current_module_str _constants} { \l_tmpa_str }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_add_import_to_current_module:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_add_import_to_current_module:n {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \exp_args:Nno
+ \seq_if_in:cnF{c_stex_module_\l_stex_current_module_str _imports}\l_tmpa_str{
+ \seq_gput_right:co{c_stex_module_\l_stex_current_module_str _imports}\l_tmpa_str
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_collect_imports:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_collect_imports:n {
+ \seq_clear:N \l_stex_collect_imports_seq
+ \_@@_collect_imports:n {#1}
+}
+\cs_new_protected:Nn \_@@_collect_imports:n {
+ \seq_map_inline:cn {c_stex_module_#1_imports} {
+ \seq_if_in:NnF \l_stex_collect_imports_seq { ##1 } {
+ \_@@_collect_imports:n { ##1 }
+ }
+ }
+ \seq_if_in:NnF \l_stex_collect_imports_seq { #1 } {
+ \seq_put_right:Nx \l_stex_collect_imports_seq { #1 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_do_up_to_module:n}
+% \begin{macrocode}
+\int_new:N \l_@@_group_depth_int
+\tl_new:N \l_@@_aftergroup_tl
+\cs_new_protected:Nn \stex_do_up_to_module:n {
+ \int_compare:nNnTF \l_@@_group_depth_int = \currentgrouplevel {
+ #1
+ }{
+ #1
+ \expandafter \tl_gset:Nn \expandafter \l_@@_aftergroup_tl \expandafter { \l_@@_aftergroup_tl #1 }
+ \aftergroup\_@@_aftergroup_do:
+ }
+}
+\cs_new_protected:Nn \_@@_aftergroup_do: {
+ \int_compare:nNnTF \l_@@_group_depth_int = \currentgrouplevel {
+ \l_@@_aftergroup_tl
+ \tl_clear:N \l_@@_aftergroup_tl
+ }{
+ \l_@@_aftergroup_tl
+ \aftergroup\_@@_aftergroup_do:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_modules_compute_namespace:nN}
+% Computes the appropriate namespace from the top-level namespace
+% of a repository (|#1|) and a file path
+% (|#2|).
+%
+%
+% \begin{macrocode}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_modules_current_namespace:}
+%
+% Computes the current namespace based on the current
+% MathHub repository (if existent) and the current file.
+%
+% \begin{macrocode}
+\str_new:N \l_stex_modules_ns_str
+\str_new:N \l_stex_modules_subpath_str
+\cs_new_protected:Nn \_@@_compute_namespace:nN {
+ \str_set:Nx \l_tmpa_str { #1 }
+ \seq_set_eq:NN \l_tmpa_seq #2
+ % split off file extension
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpb_seq . \l_tmpb_str
+ \seq_get_left:NN \l_tmpb_seq \l_tmpb_str
+ \seq_put_right:No \l_tmpa_seq \l_tmpb_str
+
+ \bool_set_true:N \l_tmpa_bool
+ \bool_while_do:Nn \l_tmpa_bool {
+ \seq_pop_left:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:No \str_case:nnTF { \l_tmpb_str } {
+ {source} { \bool_set_false:N \l_tmpa_bool }
+ }{}{
+ \seq_if_empty:NT \l_tmpa_seq {
+ \bool_set_false:N \l_tmpa_bool
+ }
+ }
+ }
+
+ \stex_path_to_string:NN \l_tmpa_seq \l_stex_modules_subpath_str
+ \str_if_empty:NTF \l_stex_modules_subpath_str {
+ \str_set_eq:NN \l_stex_modules_ns_str \l_tmpa_str
+ }{
+ \str_set:Nx \l_stex_modules_ns_str {
+ \l_tmpa_str/\l_stex_modules_subpath_str
+ }
+ }
+}
+
+\cs_new_protected:Nn \stex_modules_current_namespace: {
+ \str_clear:N \l_stex_modules_subpath_str
+ \prop_if_exist:NTF \l_stex_current_repository_prop {
+ \prop_get:NnN \l_stex_current_repository_prop { ns } \l_tmpa_str
+ \_@@_compute_namespace:nN \l_tmpa_str \g_stex_currentfile_seq
+ }{
+ % split off file extension
+ \seq_set_eq:NN \l_tmpa_seq \g_stex_currentfile_seq
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpb_seq . \l_tmpb_str
+ \seq_get_left:NN \l_tmpb_seq \l_tmpb_str
+ \seq_put_right:No \l_tmpa_seq \l_tmpb_str
+ \str_set:Nx \l_stex_modules_ns_str {
+ file:/\stex_path_to_string:N \l_tmpa_seq
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{The \texttt{smodule} environment}
+%
+% |smodule| arguments:
+%
+% \begin{macrocode}
+\keys_define:nn { stex / module } {
+ title .tl_set:N = \smoduletitle ,
+ type .str_set_x:N = \smoduletype ,
+ id .str_set_x:N = \smoduleid ,
+ deprecate .str_set_x:N = \l_stex_module_deprecate_str ,
+ ns .str_set_x:N = \l_stex_module_ns_str ,
+ lang .str_set_x:N = \l_stex_module_lang_str ,
+ sig .str_set_x:N = \l_stex_module_sig_str ,
+ creators .str_set_x:N = \l_stex_module_creators_str ,
+ contributors .str_set_x:N = \l_stex_module_contributors_str ,
+ meta .str_set_x:N = \l_stex_module_meta_str ,
+ srccite .str_set_x:N = \l_stex_module_srccite_str
+}
+
+\cs_new_protected:Nn \_@@_args:n {
+ \str_clear:N \smoduletitle
+ \str_clear:N \smoduletype
+ \str_clear:N \smoduleid
+ \str_clear:N \l_stex_module_ns_str
+ \str_clear:N \l_stex_module_deprecate_str
+ \str_clear:N \l_stex_module_lang_str
+ \str_clear:N \l_stex_module_sig_str
+ \str_clear:N \l_stex_module_creators_str
+ \str_clear:N \l_stex_module_contributors_str
+ \str_clear:N \l_stex_module_meta_str
+ \str_clear:N \l_stex_module_srccite_str
+ \keys_set:nn { stex / module } { #1 }
+}
+
+% module parameters here? In the body?
+
+% \end{macrocode}
+%
+% \begin{macro}{\stex_module_setup:nn}
+% Sets up a new module property list:
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_module_setup:nn {
+ \str_set:Nx \l_stex_module_name_str { #2 }
+ \_@@_args:n { #1 }
+% \end{macrocode}
+%
+% First, we set up the name and namespace of the module.
+%
+% Are we in a nested module?
+%
+% \begin{macrocode}
+ \stex_if_in_module:TF {
+ % Nested module
+ \prop_get:cnN {c_stex_module_\l_stex_current_module_str _prop}
+ { ns } \l_stex_module_ns_str
+ \str_set:Nx \l_stex_module_name_str {
+ \prop_item:cn {c_stex_module_\l_stex_current_module_str _prop}
+ { name } / \l_stex_module_name_str
+ }
+ }{
+ % not nested:
+ \str_if_empty:NT \l_stex_module_ns_str {
+ \stex_modules_current_namespace:
+ \str_set_eq:NN \l_stex_module_ns_str \l_stex_modules_ns_str
+ \exp_args:NNNo \seq_set_split:Nnn \l_tmpa_seq
+ / {\l_stex_module_ns_str}
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpa_str
+ \str_if_eq:NNT \l_tmpa_str \l_stex_module_name_str {
+ \str_set:Nx \l_stex_module_ns_str {
+ \stex_path_to_string:N \l_tmpa_seq
+ }
+ }
+ }
+ }
+% \end{macrocode}
+%
+% Next, we determine the language of the module:
+%
+% \begin{macrocode}
+ \str_if_empty:NT \l_stex_module_lang_str {
+ \seq_get_right:NN \g_stex_currentfile_seq \l_tmpa_str
+ \seq_set_split:NnV \l_tmpa_seq . \l_tmpa_str
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpa_str % .tex
+ \seq_pop_left:NN \l_tmpa_seq \l_tmpa_str % <filename>
+ \seq_if_empty:NF \l_tmpa_seq { %remaining element should be language
+ \stex_debug:nn{modules} {Language~\l_stex_module_lang_str~
+ inferred~from~file~name}
+ \seq_pop_left:NN \l_tmpa_seq \l_stex_module_lang_str
+ }
+ }
+
+ \stex_if_smsmode:F { \str_if_empty:NF \l_stex_module_lang_str {
+ \prop_get:NVNTF \c_stex_languages_prop \l_stex_module_lang_str
+ \l_tmpa_str {
+ \ltx@ifpackageloaded{babel}{
+ \exp_args:Nx \selectlanguage { \l_tmpa_str }
+ }{}
+ } {
+ \msg_error:nnx{stex}{error/unknownlanguage}{\l_tmpa_str}
+ }
+ }}
+% \end{macrocode}
+%
+% We check if we need to extend a signature module, and set
+% \cs{l_stex_current_module_prop} accordingly:
+%
+% \begin{macrocode}
+ \str_if_empty:NTF \l_stex_module_sig_str {
+ \exp_args:Nnx \prop_gset_from_keyval:cn {
+ c_stex_module_\l_stex_module_ns_str?\l_stex_module_name_str _prop
+ } {
+ name = \l_stex_module_name_str ,
+ ns = \l_stex_module_ns_str ,
+ file = \exp_not:o { \g_stex_currentfile_seq } ,
+ lang = \l_stex_module_lang_str ,
+ sig = \l_stex_module_sig_str ,
+ deprecate = \l_stex_module_deprecate_str ,
+ meta = \l_stex_module_meta_str
+ }
+ \seq_clear:c {c_stex_module_\l_stex_module_ns_str?\l_stex_module_name_str _imports}
+ \seq_clear:c {c_stex_module_\l_stex_module_ns_str?\l_stex_module_name_str _constants}
+ \tl_clear:c {c_stex_module_\l_stex_module_ns_str?\l_stex_module_name_str _code}
+ \str_set:Nx\l_stex_current_module_str{\l_stex_module_ns_str?\l_stex_module_name_str}
+% \end{macrocode}
+%
+% We load the metatheory:
+%
+% \begin{macrocode}
+ \str_if_empty:NT \l_stex_module_meta_str {
+ \str_set:Nx \l_stex_module_meta_str {
+ \c_stex_metatheory_ns_str ? Metatheory
+ }
+ }
+ \str_if_eq:VnF \l_stex_module_meta_str {NONE} {
+ \bool_set_true:N \l_stex_in_meta_bool
+ \exp_args:Nx \stex_add_to_current_module:n {
+ \bool_set_true:N \l_stex_in_meta_bool
+ \stex_activate_module:n {\l_stex_module_meta_str}
+ \bool_set_false:N \l_stex_in_meta_bool
+ }
+ \stex_activate_module:n {\l_stex_module_meta_str}
+ \bool_set_false:N \l_stex_in_meta_bool
+ }
+ }{
+ \str_if_empty:NT \l_stex_module_lang_str {
+ \msg_error:nnxx{stex}{error/siglanguage}{
+ \l_stex_module_ns_str?\l_stex_module_name_str
+ }{\l_stex_module_sig_str}
+ }
+
+ \seq_set_eq:NN \l_tmpa_seq \g_stex_currentfile_seq
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpa_str
+ \seq_set_split:NnV \l_tmpb_seq . \l_tmpa_str
+ \seq_pop_right:NN \l_tmpb_seq \l_tmpa_str % .tex
+ \seq_pop_left:NN \l_tmpb_seq \l_tmpa_str % <filename>
+ \str_set:Nx \l_tmpa_str {
+ \stex_path_to_string:N \l_tmpa_seq /
+ \l_tmpa_str . \l_stex_module_sig_str .tex
+ }
+ \IfFileExists \l_tmpa_str {
+ \exp_args:No \stex_file_in_smsmode:nn { \l_tmpa_str } {
+ \str_clear:N \l_stex_current_module_str
+ \seq_clear:N \l_stex_all_modules_seq
+ \stex_debug:nn{modules}{Loading~signature~\l_tmpa_str}
+ }
+ }{
+ \msg_error:nnx{stex}{error/unknownmodule}{for~signature~\l_tmpa_str}
+ }
+ \stex_if_smsmode:F {
+ \stex_activate_module:n {
+ \l_stex_module_ns_str ? \l_stex_module_name_str
+ }
+ }
+ \str_set:Nx\l_stex_current_module_str{\l_stex_module_ns_str?\l_stex_module_name_str}
+ }
+ \str_if_empty:NF \l_stex_module_deprecate_str {
+ \msg_warning:nnxx{stex}{warning/deprecated}{
+ Module~\l_stex_current_module_str
+ }{
+ \l_stex_module_deprecate_str
+ }
+ }
+ \seq_put_right:Nx \l_stex_all_modules_seq {
+ \l_stex_module_ns_str ? \l_stex_module_name_str
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{smodule}
+%
+% The |module| environment.
+%
+% \begin{macro}{\_@@_begin_module:}
+%
+% implements |\begin{smodule}|
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_begin_module: {
+ \stex_reactivate_macro:N \STEXexport
+ \stex_reactivate_macro:N \importmodule
+ \stex_reactivate_macro:N \symdecl
+ \stex_reactivate_macro:N \notation
+ \stex_reactivate_macro:N \symdef
+
+ \stex_debug:nn{modules}{
+ New~module:\\
+ Namespace:~\l_stex_module_ns_str\\
+ Name:~\l_stex_module_name_str\\
+ Language:~\l_stex_module_lang_str\\
+ Signature:~\l_stex_module_sig_str\\
+ Metatheory:~\l_stex_module_meta_str\\
+ File:~\stex_path_to_string:N \g_stex_currentfile_seq
+ }
+
+ \stex_if_smsmode:F{
+ \begin{stex_annotate_env} {theory} {
+ \l_stex_module_ns_str ? \l_stex_module_name_str
+ }
+
+ \stex_annotate_invisible:nnn{header}{} {
+ \stex_annotate:nnn{language}{ \l_stex_module_lang_str }{}
+ \stex_annotate:nnn{signature}{ \l_stex_module_sig_str }{}
+ \str_if_eq:VnF \l_stex_module_meta_str {NONE} {
+ \stex_annotate:nnn{metatheory}{ \l_stex_module_meta_str }{}
+ }
+ \str_if_empty:NF \smoduletype {
+ \stex_annotate:nnn{type}{\smoduletype}{}
+ }
+ }
+ }
+ \int_set:Nn \l_@@_group_depth_int {\currentgrouplevel}
+ % TODO: Inherit metatheory for nested modules?
+}
+\iffalse \end{stex_annotate_env} \fi %^^A make syntax highlighting work again
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_end_module:}
+%
+% implements |\end{module}|
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_end_module: {
+ \stex_debug:nn{modules}{Closing~module~\prop_item:cn {c_stex_module_\l_stex_current_module_str _prop} { name }}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% The core environment
+%
+% \begin{macrocode}
+\iffalse \begin{stex_annotate_env} \fi %^^A make syntax highlighting work again
+\NewDocumentEnvironment { smodule } { O{} m } {
+ \stex_module_setup:nn{#1}{#2}
+ \par
+ \stex_if_smsmode:F{
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \smoduletype {
+ \tl_if_exist:cT {_@@_smodule_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_smodule_##1_start:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_smodule_start:
+ }{
+ \l_tmpa_tl
+ }
+ }
+ \_@@_begin_module:
+ \str_if_empty:NF \smoduleid {
+ \stex_ref_new_doc_target:n \smoduleid
+ }
+ \stex_smsmode_do:
+} {
+ \_@@_end_module:
+ \stex_if_smsmode:F {
+ \end{stex_annotate_env}
+ \clist_set:No \l_tmpa_clist \smoduletype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_smodule_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_smodule_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_smodule_end:
+ }{
+ \l_tmpa_tl
+ }
+ }
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\stexpatchmodule}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_smodule_start: {}
+\cs_new_protected:Nn \_@@_smodule_end: {}
+
+\newcommand\stexpatchmodule[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_smodule_start: { #2 }
+ \tl_set:Nn \_@@_smodule_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_smodule_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_smodule_#1_end:\endcsname{ #3 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Invoking modules}
+%
+% \begin{macro}{\STEXModule,\stex_invoke_module:n}
+% \begin{macrocode}
+\NewDocumentCommand \STEXModule { m } {
+ \exp_args:NNx \str_set:Nn \l_tmpa_str { #1 }
+ \int_set:Nn \l_tmpa_int { \str_count:N \l_tmpa_str }
+ \tl_set:Nn \l_tmpa_tl {
+ \msg_error:nnx{stex}{error/unknownmodule}{#1}
+ }
+ \seq_map_inline:Nn \l_stex_all_modules_seq {
+ \str_set:Nn \l_tmpb_str { ##1 }
+ \str_if_eq:eeT { \l_tmpa_str } {
+ \str_range:Nnn \l_tmpb_str { -\l_tmpa_int } { -1 }
+ } {
+ \seq_map_break:n {
+ \tl_set:Nn \l_tmpa_tl {
+ \stex_invoke_module:n { ##1 }
+ }
+ }
+ }
+ }
+ \l_tmpa_tl
+}
+
+\cs_new_protected:Nn \stex_invoke_module:n {
+ \stex_debug:nn{modules}{Invoking~module~#1}
+ \peek_charcode_remove:NTF ! {
+ \_@@_invoke_uri:nN { #1 }
+ } {
+ \peek_charcode_remove:NTF ? {
+ \_@@_invoke_symbol:nn { #1 }
+ } {
+ \msg_error:nnx{stex}{error/syntax}{
+ ?~or~!~expected~after~
+ \c_backslash_str STEXModule{#1}
+ }
+ }
+ }
+}
+
+\cs_new_protected:Nn \_@@_invoke_uri:nN {
+ \str_set:Nn #2 { #1 }
+}
+
+\cs_new_protected:Nn \_@@_invoke_symbol:nn {
+ \stex_invoke_symbol:n{#1?#2}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_activate_module:n}
+% \begin{macrocode}
+\bool_new:N \l_stex_in_meta_bool
+\bool_set_false:N \l_stex_in_meta_bool
+\cs_new_protected:Nn \stex_activate_module:n {
+ \stex_debug:nn{modules}{Activating~module~#1}
+ \seq_if_in:NnT \l_stex_implicit_morphisms_seq { #1 }{
+ \msg_error:nnn{stex}{error/conflictingmodules}{ #1 }
+ }
+ \exp_args:NNx \seq_if_in:NnF \l_stex_all_modules_seq { #1 } {
+ \seq_put_right:Nx \l_stex_all_modules_seq { #1 }
+ \use:c{ c_stex_module_#1_code }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/source/stex/others.dtx b/macros/latex/contrib/stex/source/stex/others.dtx
new file mode 100644
index 0000000000..1905079a9c
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/others.dtx
@@ -0,0 +1,87 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Others
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+% \begin{documentation}\label{pkg:finally:doc}
+%
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:finally:impl}
+%
+% Some auxiliary code, and clean up to be executed at the
+% end of the package.
+%
+% \section{\sTeX-Others Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% others.dtx %%%%%%%%%%%%%
+
+%<@@=stex_others>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+ % None
+% \end{macrocode}
+%
+% \begin{macro}{\MSC}
+%
+% Math subject classifier
+%
+% \begin{macrocode}
+\NewDocumentCommand \MSC {m} {
+ % TODO
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% Patching \pkg{tikzinput}, if loaded
+%
+% \begin{macrocode}
+\@ifpackageloaded{tikzinput}{
+ \RequirePackage{stex-tikzinput}
+}{}
+% \end{macrocode}
+%
+%
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/source/stex/references.dtx b/macros/latex/contrib/stex/source/stex/references.dtx
new file mode 100644
index 0000000000..3153eeabab
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/references.dtx
@@ -0,0 +1,525 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-References
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-references} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+% \fi
+%
+% \begin{documentation}\label{pkg:sref:doc}
+%
+% This sub package contains code related to links and cross-references
+%
+%\ifinfulldoc\else
+% \input{../../doc/packages/references}
+% \fi
+%
+% \section{Macros and Environments}\label{pkg:sref:doc:macros}
+%
+% \begin{function}{\STEXreftitle}
+% \begin{syntax} \cs{STEXreftitle}\Arg{some title} \end{syntax}
+%
+% Sets the title of the current document to \meta{some title}.
+% A reference to the current document from \emph{some other}
+% document will then be displayed accordingly. e.g.
+% if |\STEXreftitle{foo book}| is called, then referencing
+% Definition 3.5 in this document in another document will display
+% |Definition 3.5 in foo book|.
+% \end{function}
+%
+% \begin{function}{\stex_get_document_uri:}
+% Computes the current document uri from the current archive's
+% |narr|-field and its location relative to the archive's
+% |source|-directory. Reference targets are computed from
+% this URI and the reference-id.
+%
+% \begin{variable}{\l_stex_current_docns_str}
+% Stores its result in |\l_stex_current_docns_str|
+% \end{variable}
+% \end{function}
+%
+% \begin{function}{\stex_get_document_url:}
+% Computes the current URL from the current archive's
+% |docurl|-field and its location relative to the archive's
+% |source|-directory. Reference targets are computed from
+% this URL and the reference-id, if this document is only included
+% in SMS mode.
+%
+% \begin{variable}{\l_stex_current_docurl_str}
+% Stores its result in |\l_stex_current_docurl_str|
+% \end{variable}
+% \end{function}
+%
+% \subsection{Setting Reference Targets}
+%
+% \begin{function}{\stex_ref_new_doc_target:n}
+% \begin{syntax} \cs{stex_ref_new_doc_target:n}\Arg{id} \end{syntax}
+%
+% Sets a new reference target with id \meta{id}.
+% \end{function}
+%
+% \begin{function}{\stex_ref_new_sym_target:n}
+% \begin{syntax} \cs{stex_ref_new_sym_target:n}\Arg{uri} \end{syntax}
+%
+% Sets a new reference target for the symbol \meta{uri}.
+% \end{function}
+%
+% \subsection{Using References}
+%
+% \begin{function}{\sref}
+% \begin{syntax} \cs{sref}|[|\meta{opt-args}|]|\Arg{id} \end{syntax}
+% References the label with if \meta{id}.
+% Optional arguments: TODO
+% \end{function}
+%
+% \begin{function}{\srefsym}
+% \begin{syntax} \cs{srefsym}|[|\meta{opt-args}|]|\Arg{symbol} \end{syntax}
+% Like \cs{sref}, but references the \emph{canonical label} for
+% the provided symbol. The canonical target is the last of the following
+% occuring in the document:
+% \begin{itemize}
+% \item A \cs{definiendum} or \cs{definame} for \meta{symbol},
+% \item The |sassertion|, |sexample| or |sparagraph| with |for=|\meta{symbol} that
+% generated \meta{symbol} in the first place, or
+% \item A \cs{sparagraph} with |type=symdoc| and |for=|\meta{symbol}.
+% \end{itemize}
+% \end{function}
+%
+% \begin{function}{\srefsymuri}
+% \begin{syntax} \cs{srefsymuri}\Arg{URI}\Arg{text} \end{syntax}
+% A convenient short-hand for |\srefsym[linktext={text}]{URI}|,
+% but requires the first argument to be a full URI already.
+% Intended to be used in e.g. \cs{compemph@uri}, \cs{defemph@uri}, etc.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:sref:impl}
+%
+% \section{\sTeX-References Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% references.dtx %%%%%%%%%%%%%
+
+%<@@=stex_refs>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+
+% \end{macrocode}
+%
+% References are stored in the file |\jobname.sref|, to enable
+% cross-referencing external documents.
+%
+% \begin{macrocode}
+%\iow_new:N \c_@@_refs_iow
+\AddToHook{begindocument}{
+% \iow_open:Nn \c_@@_refs_iow {\jobname.sref}
+}
+\AddToHook{enddocument}{
+% \iow_close:N \c_@@_refs_iow
+}
+% \end{macrocode}
+%
+% \begin{macro}{\STEXreftitle}
+% \begin{macrocode}
+\str_set:Nn \g_@@_title_tl {Unnamed~Document}
+
+\NewDocumentCommand \STEXreftitle { m } {
+ \tl_gset:Nx \g_@@_title_tl { #1 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Document URIs and URLs}
+%
+% \begin{variable}{\l_stex_current_docns_str}
+% \begin{macrocode}
+\str_new:N \l_stex_current_docns_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\stex_get_document_uri:}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_get_document_uri: {
+ \seq_set_eq:NN \l_tmpa_seq \g_stex_currentfile_seq
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpb_seq . \l_tmpb_str
+ \seq_get_left:NN \l_tmpb_seq \l_tmpb_str
+ \seq_put_right:No \l_tmpa_seq \l_tmpb_str
+
+ \str_clear:N \l_tmpa_str
+ \prop_if_exist:NT \l_stex_current_repository_prop {
+ \prop_get:NnNF \l_stex_current_repository_prop { narr } \l_tmpa_str {
+ \prop_get:NnNF \l_stex_current_repository_prop { ns } \l_tmpa_str {}
+ }
+ }
+
+ \str_if_empty:NTF \l_tmpa_str {
+ \str_set:Nx \l_stex_current_docns_str {
+ file:/\stex_path_to_string:N \l_tmpa_seq
+ }
+ }{
+ \bool_set_true:N \l_tmpa_bool
+ \bool_while_do:Nn \l_tmpa_bool {
+ \seq_pop_left:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:No \str_case:nnTF { \l_tmpb_str } {
+ {source} { \bool_set_false:N \l_tmpa_bool }
+ }{}{
+ \seq_if_empty:NT \l_tmpa_seq {
+ \bool_set_false:N \l_tmpa_bool
+ }
+ }
+ }
+
+ \seq_if_empty:NTF \l_tmpa_seq {
+ \str_set_eq:NN \l_stex_current_docns_str \l_tmpa_str
+ }{
+ \str_set:Nx \l_stex_current_docns_str {
+ \l_tmpa_str/\stex_path_to_string:N \l_tmpa_seq
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{variable}{\l_stex_current_docurl_str}
+% \begin{macrocode}
+\str_new:N \l_stex_current_docurl_str
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\stex_get_document_url:}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_get_document_url: {
+ \seq_set_eq:NN \l_tmpa_seq \g_stex_currentfile_seq
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpb_seq . \l_tmpb_str
+ \seq_get_left:NN \l_tmpb_seq \l_tmpb_str
+ \seq_put_right:No \l_tmpa_seq \l_tmpb_str
+
+ \str_clear:N \l_tmpa_str
+ \prop_if_exist:NT \l_stex_current_repository_prop {
+ \prop_get:NnNF \l_stex_current_repository_prop { docurl } \l_tmpa_str {
+ \prop_get:NnNF \l_stex_current_repository_prop { narr } \l_tmpa_str {
+ \prop_get:NnNF \l_stex_current_repository_prop { ns } \l_tmpa_str {}
+ }
+ }
+ }
+
+ \str_if_empty:NTF \l_tmpa_str {
+ \str_set:Nx \l_stex_current_docurl_str {
+ file:/\stex_path_to_string:N \l_tmpa_seq
+ }
+ }{
+ \bool_set_true:N \l_tmpa_bool
+ \bool_while_do:Nn \l_tmpa_bool {
+ \seq_pop_left:NN \l_tmpa_seq \l_tmpb_str
+ \exp_args:No \str_case:nnTF { \l_tmpb_str } {
+ {source} { \bool_set_false:N \l_tmpa_bool }
+ }{}{
+ \seq_if_empty:NT \l_tmpa_seq {
+ \bool_set_false:N \l_tmpa_bool
+ }
+ }
+ }
+
+ \seq_if_empty:NTF \l_tmpa_seq {
+ \str_set_eq:NN \l_stex_current_docurl_str \l_tmpa_str
+ }{
+ \str_set:Nx \l_stex_current_docurl_str {
+ \l_tmpa_str/\stex_path_to_string:N \l_tmpa_seq
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Setting Reference Targets}
+%
+% \begin{macrocode}
+\str_const:Nn \c_@@_url_str{URL}
+\str_const:Nn \c_@@_ref_str{REF}
+\str_new:N \l_@@_curr_label_str
+% @currentlabel -> number
+% @currentlabelname -> title
+% @currentHref -> name.number <- id of some kind
+% \theH# -> \arabic{section}
+% \the# -> number
+% \hyper@makecurrent{#}
+\int_new:N \l_@@_unnamed_counter_int
+% \end{macrocode}
+%
+% \begin{macro}{\stex_ref_new_doc_target:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_ref_new_doc_target:n {
+ \stex_get_document_uri:
+ \str_clear:N \l_@@_curr_label_str
+ \str_set:Nx \l_tmpa_str { #1 }
+ \str_if_empty:NT \l_tmpa_str {
+ \int_incr:N \l_@@_unnamed_counter_int
+ \str_set:Nx \l_tmpa_str {REF\int_use:N \l_@@_unnamed_counter_int}
+ }
+ \str_set:Nx \l_@@_curr_label_str {
+ \l_stex_current_docns_str?\l_tmpa_str
+ }
+ \seq_if_exist:cF{g_@@_labels_\l_tmpa_str _seq}{
+ \seq_new:c {g_@@_labels_\l_tmpa_str _seq}
+ }
+ \seq_if_in:coF{g_@@_labels_\l_tmpa_str _seq}\l_@@_curr_label_str {
+ \seq_gput_right:co{g_@@_labels_\l_tmpa_str _seq}\l_@@_curr_label_str
+ }
+ \stex_if_smsmode:TF {
+ \stex_get_document_url:
+ \str_gset_eq:cN {sref_url_\l_@@_curr_label_str _str}\l_stex_current_docurl_str
+ \str_gset_eq:cN {sref_\l_@@_curr_label_str _type}\c_@@_url_str
+ }{
+ %\iow_now:Nx \c_@@_refs_iow { \l_tmpa_str~=~\expandafter\unexpanded\expandafter{\@currentlabel}~in~\exp_args:No\unexpanded\g_@@_title_tl,}
+ \exp_args:Nx\label{sref_\l_@@_curr_label_str}
+ \immediate\write\@auxout{\stexauxadddocref{\l_stex_current_docns_str}{\l_tmpa_str}}
+ \str_gset:cx {sref_\l_@@_curr_label_str _type}\c_@@_ref_str
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% The following is used to set the necessary macros in the |.aux|-file.
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \stexauxadddocref #1 #2 {
+ \str_set:Nn \l_tmpa_str {#1?#2}
+ \str_gset_eq:cN{sref_#1?#2_type}\c_@@_ref_str
+ \seq_if_exist:cF{g_@@_labels_#2_seq}{
+ \seq_new:c {g_@@_labels_#2_seq}
+ }
+ \seq_if_in:coF{g_@@_labels_#2_seq}\l_tmpa_str {
+ \seq_gput_right:co{g_@@_labels_#2_seq}\l_tmpa_str
+ }
+}
+% \end{macrocode}
+% To avoid resetting the same macros when the |.aux|-file is read
+% at the end of the document:
+%
+% \begin{macrocode}
+\AtEndDocument{
+ \def\stexauxadddocref#1 #2 {}{}
+}
+% \end{macrocode}
+%
+% \begin{macro}{\stex_ref_new_sym_target:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_ref_new_sym_target:n {
+ \stex_if_smsmode:TF {
+ \str_if_exist:cF{sref_sym_#1_type}{
+ \stex_get_document_url:
+ \str_gset_eq:cN {sref_sym_url_#1_str}\l_stex_current_docurl_str
+ \str_gset_eq:cN {sref_sym_#1_type}\c_@@_url_str
+ }
+ }{
+ \str_if_empty:NF \l_@@_curr_label_str {
+ \str_gset_eq:cN {sref_sym_#1_label_str}\l_@@_curr_label_str
+ \immediate\write\@auxout{
+ \exp_not:N\expandafter\def\exp_not:N\csname sref_sym_#1_label_str\exp_not:N\endcsname{
+ \l_@@_curr_label_str
+ }
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Using References}
+%
+% \begin{macrocode}
+\str_new:N \l_@@_indocument_str
+% \end{macrocode}
+%
+% \begin{macro}{\sref}
+% Optional arguments:
+% \begin{macrocode}
+
+\keys_define:nn { stex / sref } {
+ linktext .tl_set:N = \l_@@_linktext_tl ,
+ fallback .tl_set:N = \l_@@_fallback_tl ,
+ pre .tl_set:N = \l_@@_pre_tl ,
+ post .tl_set:N = \l_@@_post_tl ,
+}
+\cs_new_protected:Nn \_@@_args:n {
+ \tl_clear:N \l_@@_linktext_tl
+ \tl_clear:N \l_@@_fallback_tl
+ \tl_clear:N \l_@@_pre_tl
+ \tl_clear:N \l_@@_post_tl
+ \str_clear:N \l_@@_repo_str
+ \keys_set:nn { stex / sref } { #1 }
+}
+% \end{macrocode}
+% The actual macro:
+% \begin{macrocode}
+\NewDocumentCommand \sref { O{} m}{
+ \_@@_args:n { #1 }
+ \str_if_empty:NTF \l_@@_indocument_str {
+ \str_set:Nx \l_tmpa_str { #2 }
+ \exp_args:NNno \seq_set_split:Nnn \l_tmpa_seq ? \l_tmpa_str
+ \int_compare:nNnTF {\seq_count:N \l_tmpa_seq} = 1 {
+ \seq_if_exist:cTF{g_@@_labels_\l_tmpa_str _seq}{
+ \seq_get_left:cNF {g_@@_labels_\l_tmpa_str _seq} \l_tmpa_str {
+ \str_clear:N \l_tmpa_str
+ }
+ }{
+ \str_clear:N \l_tmpa_str
+ }
+ }{
+ \seq_pop_left:NN \l_tmpa_seq \l_tmpb_str
+ \seq_pop_right:NN \l_tmpa_seq \l_tmpa_str
+ \int_set:Nn \l_tmpa_int { \exp_args:Ne \str_count:n {\l_tmpb_str?\l_tmpa_str} }
+ \seq_if_exist:cTF{g_@@_labels_\l_tmpa_str _seq}{
+ \str_set_eq:NN \l_tmpc_str \l_tmpa_str
+ \str_clear:N \l_tmpa_str
+ \seq_map_inline:cn {g_@@_labels_\l_tmpc_str _seq} {
+ \str_if_eq:eeT { \l_tmpb_str?\l_tmpc_str }{
+ \str_range:nnn { ##1 }{ -\l_tmpa_int}{ -1 }
+ }{
+ \seq_map_break:n {
+ \str_set:Nn \l_tmpa_str { ##1 }
+ }
+ }
+ }
+ }{
+ \str_clear:N \l_tmpa_str
+ }
+ }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_if_empty:NTF \l_@@_linktext_tl \l_@@_fallback_tl \l_@@_linktext_tl
+ }{
+ \str_if_eq:cNTF {sref_\l_tmpa_str _type} \c_@@_ref_str {
+ \tl_if_empty:NTF \l_@@_linktext_tl {
+ \cs_if_exist:cTF{autoref}{
+ \l_@@_pre_tl\exp_args:Nx\autoref{sref_\l_tmpa_str}\l_@@_post_tl
+ }{
+ \l_@@_pre_tl\exp_args:Nx\ref{sref_\l_tmpa_str}\l_@@_post_tl
+ }
+ }{
+ \ltx@ifpackageloaded{hyperref}{
+ \hyperref[sref_\l_tmpa_str]\l_@@_linktext_tl
+ }{
+ \l_@@_linktext_tl
+ }
+ }
+ }{
+ \ltx@ifpackageloaded{hyperref}{
+ \href{\use:c{sref_url_\l_tmpa_str _str}}{\tl_if_empty:NTF \l_@@_linktext_tl \l_@@_fallback_tl \l_@@_linktext_tl}
+ }{
+ \tl_if_empty:NTF \l_@@_linktext_tl \l_@@_fallback_tl \l_@@_linktext_tl
+ }
+ }
+ }
+ }{
+ % TODO
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\srefsym}
+% \begin{macrocode}
+\NewDocumentCommand \srefsym { O{} m}{
+ \stex_get_symbol:n { #2 }
+ \_@@_sym_aux:nn{#1}{\l_stex_get_symbol_uri_str}
+}
+
+\cs_new_protected:Nn \_@@_sym_aux:nn {
+ \str_if_exist:cTF {sref_sym_#2 _label_str }{
+ \sref[#1]{\use:c{sref_sym_#2 _label_str}}
+ }{
+ \_@@_args:n { #1 }
+ \str_if_empty:NTF \l_@@_indocument_str {
+ \tl_if_exist:cTF{sref_sym_#2 _type}{
+ % doc uri in \l_tmpb_str
+ \str_set:Nx \l_tmpa_str {\use:c{sref_sym_#2 _type}}
+ \str_if_eq:NNTF \l_tmpa_str \c_@@_ref_str {
+ % reference
+ \tl_if_empty:NTF \l_@@_linktext_tl {
+ \cs_if_exist:cTF{autoref}{
+ \l_@@_pre_tl\autoref{sref_sym_#2}\l_@@_post_tl
+ }{
+ \l_@@_pre_tl\ref{sref_sym_#2}\l_@@_post_tl
+ }
+ }{
+ \ltx@ifpackageloaded{hyperref}{
+ \hyperref[sref_sym_#2]\l_@@_linktext_tl
+ }{
+ \l_@@_linktext_tl
+ }
+ }
+ }{
+ % URL
+ \ltx@ifpackageloaded{hyperref}{
+ \href{\use:c{sref_sym_url_#2 _str}}{\tl_if_empty:NTF \l_@@_linktext_tl \l_@@_fallback_tl \l_@@_linktext_tl}
+ }{
+ \tl_if_empty:NTF \l_@@_linktext_tl \l_@@_fallback_tl \l_@@_linktext_tl
+ }
+ }
+ }{
+ \tl_if_empty:NTF \l_@@_linktext_tl \l_@@_fallback_tl \l_@@_linktext_tl
+ }
+ }{
+ % TODO
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\srefsymuri}
+% \begin{macrocode}
+\cs_new_protected:Npn \srefsymuri #1 #2 {
+ \_@@_sym_aux:nn{linktext={#2}}{#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/stex/sty/sproof/sproof.dtx b/macros/latex/contrib/stex/source/stex/sproof.dtx
index 16f5226020..f3cbdb869a 100644
--- a/macros/latex/contrib/stex/sty/sproof/sproof.dtx
+++ b/macros/latex/contrib/stex/source/stex/sproof.dtx
@@ -1,80 +1,48 @@
% \iffalse meta-comment
% An Infrastructure for Structural Markup for Proofs
-% Copyright (C) 2004-2011 Michael Kohlhase, all rights reserved
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
% this file is released under the
% LaTeX Project Public License (LPPL)
%
% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
+% http://github.com/sLaTeX/sTeX/
% \fi
%
% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{sproof}[2019/03/20 v1.1 Semantic Markup for Proofs]
-%
%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,stex,float,moreverb}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{ctangit}
-\usepackage{paralist}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
+\def\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
\begin{document}
-\RecordChanges
-\DocInput{sproof.dtx}
+ \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{341}
-%
-% \changes{v0.9}{2005/06/14}{First Version with Documentation}
-% \changes{v0.9a}{2005/07/01}{Completed Documentation}
-% \changes{v0.9b}{2005/08/06}{Complete functionality and Updated Documentation}
-% \changes{v0.9c}{2006/01/13}{more packaging}
-% \changes{v0.9d}{2006/10/31}{made sproof.dtx independent of statements.dtx}
-% \changes{v0.9d}{2006/10/31}{revamped the proof end mark management}
-% \changes{v0.9e}{2008/10/11}{taking type seriously}
-% \changes{v0.9f}{2009/12/14}{changing to omd metadata framework}
-% \changes{v0.9f}{2008/12/14}{first steps to sref}
-% \changes{v1.0}{2011/01/23}{making proof step labels stylable}
-% \changes{v1.1}{2013/09/29}{subproof now more like proof (takes comment arg)}
+% \iffalse\CheckSum{341}\fi
+%
+% ^^A \changes{v0.9}{2005/06/14}{First Version with Documentation}
%
% \GetFileInfo{sproof.sty}
%
-% \MakeShortVerb{\|}
-%\def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\xml{\scsys{Xml}}
-% \def\mathml{\scsys{MathML}}
-% \def\omdoc{\scsys{OMDoc}}
-% \def\openmath{\scsys{OpenMath}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\perl{\scsys{Perl}}
-% \def\cmathml{Content-{\sc MathML}\index{Content {\sc MathML}}\index{MathML@{\sc MathML}!content}}
-% \def\activemath{\scsys{ActiveMath}}
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-% \title{{\texttt{sproof.sty}}: Structural Markup for Proofs\thanks{Version {\fileversion} (last revised
+% \title{\sTeX-Proofs: Structural Markup for Proofs\thanks{Version {\fileversion} (last revised
% {\filedate})}}
-% \author{Michael Kohlhase\\
+% \author{Michael Kohlhase, Dennis Müller\\
% FAU Erlangen-N\"urnberg\\
% \url{http://kwarc.info/kohlhase}}
% \maketitle
%
-% \begin{abstract}
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-proofs} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/sproofs}
+% \fi
+%
+% \begin{documentation}
+%
% The |sproof| package is part of the {\stex} collection, a version of {\TeX/\LaTeX} that
% allows to markup {\TeX/\LaTeX} documents semantically without leaving the document
% format, essentially turning {\TeX/\LaTeX} into a document format for mathematical
@@ -82,8 +50,7 @@
%
% This package supplies macros and environment that allow to annotate the structure of
% mathematical proofs in {\stex} files. This structure can be used by MKM systems for
-% added-value services, either directly from the {\sTeX} sources, or after translation.
-% \end{abstract}
+% added-value services, either directly from the \sTeX sources, or after translation.
%
% \newpage\tableofcontents\newpage
%
@@ -91,7 +58,7 @@
%
% The |sproof| ({\twintoo{semantic}{proofs}}) package supplies macros and environment that
% allow to annotate the structure of mathematical proofs in {\stex} files. This structure
-% can be used by MKM systems for added-value services, either directly from the {\sTeX}
+% can be used by MKM systems for added-value services, either directly from the \sTeX
% sources, or after translation. Even though it is part of the {\stex} collection, it can
% be used independently, like it's sister package |statements|.
%
@@ -101,18 +68,18 @@
%
% \begin{exfig}\scriptsize
% \begin{verbatim}
-% \begin{sproof}[id=simple-proof,for=sum-over-odds]
+% \begin{sproof}[id=simple-proof]
% {We prove that $\sum_{i=1}^n{2i-1}=n^{2}$ by induction over $n$}
% \begin{spfcases}{For the induction we have to consider the following cases:}
% \begin{spfcase}{$n=1$}
-% \begin{spfstep}[display=flow] then we compute $1=1^2$\end{spfstep}
+% \begin{spfstep}[type=inline] then we compute $1=1^2$\end{spfstep}
% \end{spfcase}
% \begin{spfcase}{$n=2$}
-% \begin{sproofcomment}[display=flow]
+% \begin{sproofcomment}[type=inline]
% This case is not really necessary, but we do it for the
% fun of it (and to get more intuition).
% \end{sproofcomment}
-% \begin{spfstep}[display=flow] We compute $1+3=2^{2}=4$.\end{spfstep}
+% \begin{spfstep}[type=inline] We compute $1+3=2^{2}=4$.\end{spfstep}
% \end{spfcase}
% \begin{spfcase}{$n>1$}
% \begin{spfstep}[type=assumption,id=ind-hyp]
@@ -160,7 +127,7 @@
% \subsection{Package Options}\label{sec:user:options}
%
% The |sproof| package takes a single option: \DescribeMacro{showmeta}|showmeta|. If
-% this is set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for details
+% this is set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys} for details
% and customization options).
%
% \subsection{Proofs and Proof steps}
@@ -192,18 +159,18 @@
% mark up premises and arguments that are not explicitly mentioned in the text.
%
% \begin{exfig}
-% \begin{sproof}[id=simple-proof,for=sum-over-odds]
+% \begin{sproof}[id=simple-proof]
% {We prove that $\sum_{i=1}^n{2i-1}=n^{2}$ by induction over $n$}
% \begin{spfcases}{For the induction we have to consider the following cases:}
% \begin{spfcase}{$n=1$}
-% \begin{spfstep}[display=flow] then we compute $1=1^2$\end{spfstep}
+% \begin{spfstep}[type=inline] then we compute $1=1^2$\end{spfstep}
% \end{spfcase}
% \begin{spfcase}{$n=2$}
-% \begin{sproofcomment}[display=flow]
+% \begin{sproofcomment}[type=inline]
% This case is not really necessary, but we do it for the fun
% of it (and to get more intuition).
% \end{sproofcomment}
-% \begin{spfstep}[display=flow]
+% \begin{spfstep}[type=inline]
% We compute $1+3=2^{2}=4$
% \end{spfstep}
% \end{spfcase}
@@ -334,23 +301,11 @@
% {\LaTeX} |\@for|\ldots|:=|\ldots|\do{|\ldots|}| macro; see Figure~\ref{fig:pstlabel} for
% examples.
%
-%\begin{figure}[ht]\centering\makeatletter\small
-% \begin{tabular}{|lll|}\hline
-% style & example& configuration macro\\\hline\hline
-% \texttt{long} & \pst@make@label@long{0,8,1}{5} & \verb|\def\pst@make@label@long#1#2{\@for\@I:=#1\do{\@I.}#2}|\\\hline
-% \texttt{angles} & \pst@make@label@angles{0,8,1}{5} & \verb|\def\pst@make@label@angles#1#2|\\
-% &&\quad\verb|{\ensuremath{\@for\@I:=#1\do{\rangle}}#2}|\\\hline
-% \texttt{short} & \pst@make@label@short{0,8,1}{5} & \verb|\def\pst@make@label@short#1#2{#2}|\\\hline
-% \texttt{empty} & \pst@make@label@empty{0,8,1}{5} & \verb|\def\pst@make@label@empty#1#2{}|\\\hline
-% \end{tabular}
-% \caption{Configuration Proof Step Label Styles}\label{fig:pstlabel}
-% \end{figure}
-%
% \section{Limitations}\label{sec:limitations}
%
% In this section we document known limitations. If you want to help alleviate them,
% please feel free to contact the package author. Some of them are currently discussed in
-% the TRAC.
+% the \sTeX issue tracker at \cite{sTeX:github:on}.
% \begin{enumerate}
% \item The numbering scheme of proofs cannot be changed. It is more geared for teaching
% proof structures (the author's main use case) and not for writing papers.\lec{reported
@@ -362,10 +317,10 @@
% |prooflistenv| to the |proof| environment that allows to specify the environment
% directly. Maybe we should do both.
% \end{enumerate}
-%
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-% \newpage
+%
+% \end{documentation}
+%
+% \begin{implementation}
%
% \section{The Implementation}
%
@@ -377,37 +332,47 @@
%
% \begin{macrocode}
%<*package>
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}}
-\ProcessOptions
+%<@@=stex_sproof>
+
+%%%%%%%%%%%%% sproof.dtx %%%%%%%%%%%%%
+
% \end{macrocode}
%
-% Then we make sure that the |sref| package is loaded~\ctancite{Kohlhase:sref}.
-% \begin{macrocode}
-\RequirePackage{sref}
-\RequirePackage{etoolbox}
-\RequirePackage[base]{babel}
-% \end{macrocode}
%
% \subsection{Proofs}\label{sec:impl:proofs}
%
% We first define some keys for the |proof| environment.
% \begin{macrocode}
-\srefaddidkey{spf}
-\addmetakey*{spf}{display}
-\addmetakey{spf}{for}
-\addmetakey{spf}{from}
-\addmetakey*[\sproof@box]{spf}{proofend}
-\addmetakey{spf}{type}
-\addmetakey*{spf}{title}
-\addmetakey{spf}{continues}
-\addmetakey{spf}{functions}
-\addmetakey{spf}{method}
+\keys_define:nn { stex / spf } {
+ id .str_set_x:N = \spfid,
+ for .clist_set:N = \l_@@_spf_for_clist ,
+ from .tl_set:N = \l_@@_spf_from_tl ,
+ proofend .tl_set:N = \l_@@_spf_proofend_tl,
+ type .str_set_x:N = \spftype,
+ title .tl_set:N = \spftitle,
+ continues .tl_set:N = \l_@@_spf_continues_tl,
+ functions .tl_set:N = \l_@@_spf_functions_tl,
+ method .tl_set:N = \l_@@_spf_method_tl
+}
+\cs_new_protected:Nn \_@@_spf_args:n {
+ \str_clear:N \spfid
+ \tl_clear:N \l_@@_spf_for_tl
+ \tl_clear:N \l_@@_spf_from_tl
+ \tl_set:Nn \l_@@_spf_proofend_tl {\sproof@box}
+ \str_clear:N \spftype
+ \tl_clear:N \spftitle
+ \tl_clear:N \l_@@_spf_continues_tl
+ \tl_clear:N \l_@@_spf_functions_tl
+ \tl_clear:N \l_@@_spf_method_tl
+ \bool_set_false:N \l_@@_inc_counter_bool
+ \keys_set:nn { stex / spf }{ #1 }
+}
% \end{macrocode}
%
-% \begin{macro}{\spf@flow}
+% \begin{macro}{\c_@@_flow_str}
% We define this macro, so that we can test whether the |display| key has the value |flow|
% \begin{macrocode}
-\def\spf@flow{flow}
+\str_set:Nn\c_@@_flow_str{inline}
% \end{macrocode}
% \end{macro}
%
@@ -430,88 +395,81 @@
% |\count\count10| with 1. In the end call for this environment, we just decrease the
% proof depth counter by 1 again.
% \begin{macrocode}
-\newenvironment{pst@with@label}[1]{%
- \edef\pst@label{#1}%
- \advance\count10 by 1%
- \count\count10=1%
-}{%
- \advance\count10 by -1%
-}%
+\intarray_new:Nn\l_@@_counter_intarray{50}
+\cs_new_protected:Npn \sproofnumber {
+ \int_set:Nn \l_tmpa_int {1}
+ \bool_while_do:nn {
+ \int_compare_p:nNn {
+ \intarray_item:Nn \l_@@_counter_intarray \l_tmpa_int
+ } > 0
+ }{
+ \intarray_item:Nn \l_@@_counter_intarray \l_tmpa_int .
+ \int_incr:N \l_tmpa_int
+ }
+}
+\cs_new_protected:Npn \_@@_inc_counter: {
+ \int_set:Nn \l_tmpa_int {1}
+ \bool_while_do:nn {
+ \int_compare_p:nNn {
+ \intarray_item:Nn \l_@@_counter_intarray \l_tmpa_int
+ } > 0
+ }{
+ \int_incr:N \l_tmpa_int
+ }
+ \int_compare:nNnF \l_tmpa_int = 1 {
+ \int_decr:N \l_tmpa_int
+ }
+ \intarray_gset:Nnn \l_@@_counter_intarray \l_tmpa_int {
+ \intarray_item:Nn \l_@@_counter_intarray \l_tmpa_int + 1
+ }
+}
+
+\cs_new_protected:Npn \_@@_add_counter: {
+ \int_set:Nn \l_tmpa_int {1}
+ \bool_while_do:nn {
+ \int_compare_p:nNn {
+ \intarray_item:Nn \l_@@_counter_intarray \l_tmpa_int
+ } > 0
+ }{
+ \int_incr:N \l_tmpa_int
+ }
+ \intarray_gset:Nnn \l_@@_counter_intarray \l_tmpa_int { 1 }
+}
+
+\cs_new_protected:Npn \_@@_remove_counter: {
+ \int_set:Nn \l_tmpa_int {1}
+ \bool_while_do:nn {
+ \int_compare_p:nNn {
+ \intarray_item:Nn \l_@@_counter_intarray \l_tmpa_int
+ } > 0
+ }{
+ \int_incr:N \l_tmpa_int
+ }
+ \int_decr:N \l_tmpa_int
+ \intarray_gset:Nnn \l_@@_counter_intarray \l_tmpa_int { 0 }
+}
% \end{macrocode}
% \end{environment}
%
-% \begin{macro}{\the@pst@label}
-% |\the@pst@label| evaluates to the current step label.
-% \begin{macrocode}
-\def\the@pst@label{%
- \pst@make@label\pst@label{\number\count\count10}\pstlabel@postfix%
-}%
-% \end{macrocode}
-%\end{macro}
-%
-% \begin{macro}{\setpstlabelstyle}
-% |\setpstlabelstyle{|meta{Key-Val pairs}|}| makes the labeling style customizable.
-% |\setpstlabelstyle{prefix=Pr,delimiter=-,postfix=\dag}| will change the labeling style
-% from \textbf{P.1.2.3} to \textbf{Pr-1-2-3\dag}. |\setpstlabelstyledefault| will set the
-% labeling style back to default.
-% \begin{macrocode}
-\addmetakey[P]{pstlabel}{prefix}[]
-\addmetakey[.]{pstlabel}{delimiter}[]
-\addmetakey[]{pstlabel}{postfix}[]
-\metasetkeys{pstlabel}{}% initialization
-\newrobustcmd\setpstlabelstyle[1]{%
- \metasetkeys{pstlabel}{#1}%
-}%
-\newrobustcmd\setpstlabelstyledefault{%
- \metasetkeys{pstlabel}{prefix=P,delimiter=.,postfix=}%
-}%
-% \end{macrocode}
-%\end{macro}
-%
-% \begin{macro}{\pstlabelstyle}
-% |\pstlabelstyle| just sets the |\pst@make@label| macro according to the style.
-% \begin{macrocode}
-\def\pst@make@label@long#1#2{\@for\@I:=#1\do{\expandafter\@I\pstlabel@delimiter}#2}
-\def\pst@make@label@angles#1#2{\ensuremath{\@for\@I:=#1\do{\rangle}}#2}
-\def\pst@make@label@short#1#2{#2}
-\def\pst@make@label@empty#1#2{}
-\def\pstlabelstyle#1{%
- \def\pst@make@label{\@nameuse{pst@make@label@#1}}%
-}%
-\pstlabelstyle{long}%
-% \end{macrocode}
-%\end{macro}
-%
-% \begin{macro}{\next@pst@label}
-% |\next@pst@label| increments the step label at the current level.
-% \begin{macrocode}
-\def\next@pst@label{%
- \global\advance\count\count10 by 1%
-}%
-% \end{macrocode}
-%\end{macro}
%
%\begin{macro}{\sproofend}
% This macro places a little box at the end of the line if there is space, or at the
% end of the next line if there isn't
% \begin{macrocode}
-\def\sproof@box{%
- \hbox{\vrule\vbox{\hrule width 6 pt\vskip 6pt\hrule}\vrule}%
-}%
-\def\spf@proofend{\sproof@box}%
-\def\sproofend{%
- \ifx\spf@proofend\@empty%
- \else%
- \hfil\null\nobreak\hfill\spf@proofend\par\smallskip%
- \fi%
-}%
-\def\sProofEndSymbol#1{\def\sproof@box{#1}}%
+\def\sproof@box{
+ \hbox{\vrule\vbox{\hrule width 6 pt\vskip 6pt\hrule}\vrule}
+}
+\def\sproofend{
+ \tl_if_empty:NF \l_@@_spf_proofend_tl {
+ \hfil\null\nobreak\hfill\l_@@_spf_proofend_tl\par\smallskip
+ }
+}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{spf@*@kw}
% \begin{macrocode}
-\def\spf@proofsketch@kw{Proof Sketch}
+\def\spf@proofsketch@kw{Proof~Sketch}
\def\spf@proof@kw{Proof}
\def\spf@step@kw{Step}
% \end{macrocode}
@@ -519,21 +477,77 @@
%
% For the other languages, we set up triggers
% \begin{macrocode}
-\AfterBabelLanguage{ngerman}{\input{sproof-ngerman.ldf}}
-\AfterBabelLanguage{arabic}{\input{sproof-arabic.ldf}}
+\AddToHook{begindocument}{
+ \ltx@ifpackageloaded{babel}{
+ \makeatletter
+ \clist_set:Nx \l_tmpa_clist {\bbl@loaded}
+ \clist_if_in:NnT \l_tmpa_clist {ngerman}{
+ \input{sproof-ngerman.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {finnish}{
+ \input{sproof-finnish.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {french}{
+ \input{sproof-french.ldf}
+ }
+ \clist_if_in:NnT \l_tmpa_clist {russian}{
+ \input{sproof-russian.ldf}
+ }
+ \makeatother
+ }{}
+}
% \end{macrocode}
%
% \begin{macro}{spfsketch}
% \begin{macrocode}
-\newrobustcmd\spfsketch[2][]{%
- \metasetkeys{spf}{#1}%
- \sref@target%
- \ifx\spf@display\spf@flow%
- \else%
- {\stDMemph{\ifx\spf@type\@empty\spf@proofsketch@kw\else\spf@type\fi}:}
- \fi{ #2}%
- \sref@label@id{this \ifx\spf@type\@empty\spf@proofsketch@kw\else\spf@type\fi}\sproofend%
-}%
+\newcommand\spfsketch[2][]{
+ \begingroup
+ \let \premise \stex_proof_premise:
+ \_@@_spf_args:n{#1}
+ \stex_if_smsmode:TF {
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_spf_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnx
+ \stex_annotate:nnn{proofsketch}{\seq_use:Nn \l_tmpa_seq {,}}{
+ \str_if_empty:NF \spftype {
+ \stex_annotate_invisible:nnn{type}{\spftype}{}
+ }
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_set:Nn \l_tmpa_tl {
+ \titleemph{
+ \tl_if_empty:NTF \spftitle {
+ \spf@proofsketch@kw
+ }{
+ \spftitle
+ }
+ }:~
+ }
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_clear:N \l_tmpa_tl
+ }
+ }
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ \l_tmpa_tl #2 \sproofend
+ }
+ }
+ \endgroup
+ \stex_smsmode_do:
+}
+
% \end{macrocode}
% \end{macro}
%
@@ -542,16 +556,91 @@
% really be more like a tabular with an ensuremath in it. or invoke text on the last
% column}\ednote{document above}
% \begin{macrocode}
-\newenvironment{spfeq}[2][]{%
- \metasetkeys{spf}{#1}\sref@target%
- \ifx\spf@display\spf@flow%
- \else%
- {\stDMemph{\ifx\spf@type\@empty\spf@proof@kw\else\spf@type\fi}:} #2%
- \fi% display=flow
- \begin{displaymath}\begin{array}{rcll}%
-}{%
- \end{array}\end{displaymath}%
-}%
+\newenvironment{spfeq}[2][]{
+ \_@@_spf_args:n{#1}
+ \let \premise \stex_proof_premise:
+ \stex_if_smsmode:TF {
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_spf_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{spfeq}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \spftype {
+ \stex_annotate_invisible:nnn{type}{\spftype}{}
+ }
+
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_spfeq_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_spfeq_##1_start:}}
+ }
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_set:Nn \l_tmpa_tl {\use:n{}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_spfeq_start:
+ }{
+ \l_tmpa_tl
+ }{~#2}
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ \begin{displaymath}\begin{array}{rcll}
+ }
+ \stex_smsmode_do:
+}{
+ \stex_if_smsmode:F {
+ \end{array}\end{displaymath}
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_spfeq_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_spfeq_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_spfeq_end:
+ }{
+ \l_tmpa_tl
+ }
+ \end{stex_annotate_env}
+ }
+}
+
+\cs_new_protected:Nn \_@@_spfeq_start: {
+ \titleemph{
+ \tl_if_empty:NTF \spftitle {
+ \spf@proof@kw
+ }{
+ \spftitle
+ }
+ }:
+}
+\cs_new_protected:Nn \_@@_spfeq_end: {\sproofend}
+
+\newcommand\stexpatchspfeq[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_spfeq_start: { #2 }
+ \tl_set:Nn \_@@_spfeq_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_spfeq_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_spfeq_#1_end:\endcsname{ #3 }
+ }
+}
+
% \end{macrocode}
% \end{macro}
%
@@ -560,35 +649,108 @@
% up the description environment that will take the proof steps. At the end of the
% proof, we position the proof end into the last line.
% \begin{macrocode}
-\newenvironment{spf@proof}[2][]{%
- \metasetkeys{spf}{#1}%
- \sref@target%
- \count10=10%
- \par\noindent%
- \ifx\spf@display\spf@flow%
- \else%
- \stDMemph{\ifx\spf@type\@empty\spf@proof@kw\else\spf@type\fi}:%
- \fi{ #2}%
- \sref@label@id{this \ifx\spf@type\@empty\spf@proof@kw\else\spf@type\fi}%
- \def\pst@label{}%
- \newcount\pst@count% initialize the labeling mechanism
- \begin{description}\begin{pst@with@label}{\pstlabel@prefix}%
-}{%
- \end{pst@with@label}\end{description}%
-}%
-\newenvironment{sproof}[2][]{\begin{spf@proof}[#1]{#2}}{\sproofend\end{spf@proof}}%
-\newenvironment{sProof}[2][]{\begin{spf@proof}[#1]{#2}}{\end{spf@proof}}%
+\newenvironment{sproof}[2][]{
+ \let \premise \stex_proof_premise:
+ \intarray_gzero:N \l_@@_counter_intarray
+ \intarray_gset:Nnn \l_@@_counter_intarray 1 1
+ \_@@_spf_args:n{#1}
+ \stex_if_smsmode:TF {
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_spf_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{sproof}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \spftype {
+ \stex_annotate_invisible:nnn{type}{\spftype}{}
+ }
+
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sproof_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sproof_##1_start:}}
+ }
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_set:Nn \l_tmpa_tl {\use:n{}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sproof_start:
+ }{
+ \l_tmpa_tl
+ }{~#2}
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ \begin{description}
+ }
+ \stex_smsmode_do:
+}{
+ \stex_if_smsmode:F{
+ \end{description}
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sproof_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sproof_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sproof_end:
+ }{
+ \l_tmpa_tl
+ }
+ \end{stex_annotate_env}
+ }
+}
+
+\cs_new_protected:Nn \_@@_sproof_start: {
+ \par\noindent\titleemph{
+ \tl_if_empty:NTF \spftype {
+ \spf@proof@kw
+ }{
+ \spftype
+ }
+ }:
+}
+\cs_new_protected:Nn \_@@_sproof_end: {\sproofend}
+
+\newcommand\stexpatchsproof[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_sproof_start: { #2 }
+ \tl_set:Nn \_@@_sproof_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_sproof_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_sproof_#1_end:\endcsname{ #3 }
+ }
+}
% \end{macrocode}
% \end{environment}
%
-% \begin{environment}{spfidea}
+% \begin{macro}{\spfidea}
% \begin{macrocode}
-\newrobustcmd\spfidea[2][]{%
- \metasetkeys{spf}{#1}%
- \stDMemph{\ifx\spf@type\@empty{Proof Idea}\else\spf@type\fi:} #2\sproofend%
-}%
+\newcommand\spfidea[2][]{
+ \_@@_spf_args:n{#1}
+ \titleemph{
+ \tl_if_empty:NTF \spftype {Proof~Idea}{
+ \spftype
+ }:
+ }~#2
+ \sproofend
+}
% \end{macrocode}
-% \end{environment}
+% \end{macro}
%
% The next two environments (proof steps) and comments, are mostly semantical, they take
% |KeyVal| arguments that specify their semantic role. In draft mode, they read these
@@ -596,31 +758,80 @@
% generated, otherwise it is. In any case, the proof step number (at the current level) is
% incremented.
% \begin{environment}{spfstep}
-% \ednote{MK: labeling of steps does not work yet.}
% \begin{macrocode}
-\newenvironment{spfstep}[1][]{%
- \metasetkeys{spf}{#1}%
- \@in@omtexttrue%
- \ifx\spf@display\spf@flow%
- \else%
- \item[\the@pst@label]%
- \fi%
- \ifx\spf@title\@empty\else{(\stDMemph{\spf@title}) }\fi%
- \sref@label@id{\pst@label}\ignorespaces%
-}{%
- \next@pst@label\@in@omtextfalse\ignorespaces%
-}%
+\newenvironment{spfstep}[1][]{
+ \_@@_spf_args:n{#1}
+ \stex_if_smsmode:TF {
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }{
+ \@in@omtexttrue
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_spf_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{spfstep}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \spftype {
+ \stex_annotate_invisible:nnn{type}{\spftype}{}
+ }
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_set:Nn \l_tmpa_tl {
+ \item[\sproofnumber]
+ \bool_set_true:N \l_@@_inc_counter_bool
+ }
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_clear:N \l_tmpa_tl
+ }
+ }
+ \l_tmpa_tl
+ \tl_if_empty:NF \spftitle {
+ {(\titleemph{\spftitle})\enspace}
+ }
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }
+ \stex_smsmode_do:
+ \ignorespacesandpars
+}{
+ \bool_if:NT \l_@@_inc_counter_bool {
+ \_@@_inc_counter:
+ }
+ \stex_if_smsmode:F {
+ \end{stex_annotate_env}
+ }
+}
% \end{macrocode}
% \end{environment}
%
% \begin{environment}{sproofcomment}
% \begin{macrocode}
-\newenvironment{sproofcomment}[1][]{%
- \metasetkeys{spf}{#1}%
- \ifx\spf@display\spf@flow\else\item[\the@pst@label]\fi%
-}{%
- \next@pst@label%
-}%
+\newenvironment{sproofcomment}[1][]{
+ \_@@_spf_args:n{#1}
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_set:Nn \l_tmpa_tl {
+ \item[\sproofnumber]
+ \bool_set_true:N \l_@@_inc_counter_bool
+ }
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_clear:N \l_tmpa_tl
+ }
+ }
+ \l_tmpa_tl
+}{
+ \bool_if:NT \l_@@_inc_counter_bool {
+ \_@@_inc_counter:
+ }
+}
% \end{macrocode}
% \end{environment}
%
@@ -630,20 +841,58 @@
% \begin{environment}{subproof}
% In the |subproof| environment, a new (lower-level) proproofof environment is started.
% \begin{macrocode}
-\newenvironment{subproof}[2][]{%
- \metasetkeys{spf}{#1}%
- \def\@test{#2}%
- \ifx\@test\empty%
- \else%
- \ifx\spf@display\spf@flow {#2}%
- \else%
- \item[\the@pst@label]{#2} %
- \fi%
- \fi%
- \begin{pst@with@label}{\pst@label,\number\count\count10}%
-}{%
- \end{pst@with@label}\next@pst@label%
-}%
+\newenvironment{subproof}[2][]{
+ \_@@_spf_args:n{#1}
+ \stex_if_smsmode:TF{
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_spf_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{subproof}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \spftype {
+ \stex_annotate_invisible:nnn{type}{\spftype}{}
+ }
+
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_set:Nn \l_tmpa_tl {
+ \item[\sproofnumber]
+ \bool_set_true:N \l_@@_inc_counter_bool
+ }
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_clear:N \l_tmpa_tl
+ }
+ }
+ \l_tmpa_tl
+ \tl_if_empty:NF \spftitle {
+ {(\titleemph{\spftitle})\enspace}
+ }
+ {~#2}
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }
+ \_@@_add_counter:
+ \stex_smsmode_do:
+}{
+ \_@@_remove_counter:
+ \bool_if:NT \l_@@_inc_counter_bool {
+ \_@@_inc_counter:
+ }
+ \stex_if_smsmode:F{
+ \end{stex_annotate_env}
+ }
+}
% \end{macrocode}
% \end{environment}
%
@@ -651,16 +900,15 @@
% In the |pfcases| environment, the start text is displayed as the first comment of the
% proof.
% \begin{macrocode}
-\newenvironment{spfcases}[2][]{%
- \def\@test{#1}%
- \ifx\@test\empty%
- \begin{subproof}[method=by-cases]{#2}%
- \else%
- \begin{subproof}[#1,method=by-cases]{#2}%
- \fi%
-}{%
- \end{subproof}%
-}%
+\newenvironment{spfcases}[2][]{
+ \tl_if_empty:nTF{#1}{
+ \begin{subproof}[method=by-cases]{#2}
+ }{
+ \begin{subproof}[#1,method=by-cases]{#2}
+ }
+}{
+ \end{subproof}
+}
% \end{macrocode}
% \end{environment}
%
@@ -668,42 +916,70 @@
% In the |pfcase| environment, the start text is displayed specification of the case
% after the |\item|
% \begin{macrocode}
-\newenvironment{spfcase}[2][]{%
- \metasetkeys{spf}{#1}%
- \ifx\spf@display\spf@flow\else\item[\the@pst@label]\fi%
- \def\@test{#2}%
- \ifx\@test\@empty%
- \else%
- {\stDMemph{#2}: }% need blank here
- \fi%
- \begin{pst@with@label}{\pst@label,\number\count\count10}
-}{%
- \ifx\spf@display\spf@flow%
- \else%
- \sproofend%
- \fi%
- \end{pst@with@label}%
- \next@pst@label%
-}%
+\newenvironment{spfcase}[2][]{
+ \_@@_spf_args:n{#1}
+ \stex_if_smsmode:TF {
+ \str_if_empty:NF \spfid {
+ \stex_ref_new_doc_target:n \spfid
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_spf_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{spfcase}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \spftype {
+ \stex_annotate_invisible:nnn{type}{\spftype}{}
+ }
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_set:Nn \l_tmpa_tl {
+ \item[\sproofnumber]
+ \bool_set_true:N \l_@@_inc_counter_bool
+ }
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_clear:N \l_tmpa_tl
+ }
+ }
+ \l_tmpa_tl
+ \tl_if_empty:nF{#2}{
+ \titleemph{#2}:~
+ }
+ }
+ \_@@_add_counter:
+ \stex_smsmode_do:
+}{
+ \_@@_remove_counter:
+ \bool_if:NT \l_@@_inc_counter_bool {
+ \_@@_inc_counter:
+ }
+ \stex_if_smsmode:F{
+ \clist_set:No \l_tmpa_clist \spftype
+ \tl_set:Nn \l_tmpa_tl{\sproofend}
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:No \str_if_eq:nnT \c_@@_flow_str {##1} {
+ \tl_clear:N \l_tmpa_tl
+ }
+ }
+ \l_tmpa_tl
+ \end{stex_annotate_env}
+ }
+}
% \end{macrocode}
% \end{environment}
%
% \begin{environment}{spfcase}
% similar to |spfcase|, takes a third argument.
% \begin{macrocode}
-\newrobustcmd\spfcasesketch[3][]{%
- \metasetkeys{spf}{#1}%
- \ifx\spf@display\spf@flow%
- \else%
- \item[\the@pst@label]%
- \fi%
- \def\@test{#2}%
- \ifx\@test\@empty%
- \else%
- {\stDMemph{#2}: }%
- \fi#3%
- \next@pst@label%
-}%
+\newcommand\spfcasesketch[3][]{
+ \begin{spfcase}[#1]{#2}#3\end{spfcase}
+}
% \end{macrocode}
% \end{environment}
%
@@ -713,10 +989,12 @@
% encountered. Here this is very simple, we just define an internal macro with the value,
% so that we can use it later.
% \begin{macrocode}
-\srefaddidkey{just}
-\addmetakey{just}{method}
-\addmetakey{just}{premises}
-\addmetakey{just}{args}
+\keys_define:nn { stex / just }{
+ id .str_set_x:N = \l_@@_just_id_str,
+ method .tl_set:N = \l_@@_just_method_tl,
+ premises .tl_set:N = \l_@@_just_premises_tl,
+ args .tl_set:N = \l_@@_just_args_tl
+}
% \end{macrocode}
%
% The next three environments and macros are purely semantic, so we ignore the keyval
@@ -731,7 +1009,7 @@
%
% \begin{macro}{\premise}
% \begin{macrocode}
-\newrobustcmd\premise[2][]{#2}
+\newcommand\stex_proof_premise:[2][]{#2}
% \end{macrocode}
% \end{macro}
%
@@ -739,11 +1017,11 @@
% the |\justarg| macro is purely semantic, so we ignore the keyval arguments for now and
% only display the content.
% \begin{macrocode}
-\newrobustcmd\justarg[2][]{#2}
+\newcommand\justarg[2][]{#2}
%</package>
% \end{macrocode}
% \end{macro}
-%
+% \end{implementation}
% \Finale
\endinput
%%% Local Variables:
diff --git a/macros/latex/contrib/stex/source/stex/statements.dtx b/macros/latex/contrib/stex/source/stex/statements.dtx
new file mode 100644
index 0000000000..3ddeca0dbd
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/statements.dtx
@@ -0,0 +1,908 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Statements
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-statements} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/statements}
+% \fi
+%
+% \begin{documentation}\label{pkg:statements:doc}
+%
+% Code related to statements, e.g. definitions, theorems
+%
+% \section{Macros and Environments}\label{pkg:statements:doc:macros}
+%
+% \begin{environment}{symboldoc}
+% \begin{syntax} \cs{begin}\Arg{symboldoc}\Arg{symbols} \meta{text} \cs{end}\Arg{symboldoc} \end{syntax}
+% Declares \meta{text} to be a (natural language, encyclopaedic) description
+% of \Arg{symbols} (a comma separated list of symbol identifiers).
+% \end{environment}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:statements:impl}
+%
+% \section{\sTeX-Statements Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% features.dtx %%%%%%%%%%%%%
+
+%<@@=stex_statements>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+
+% \end{macrocode}
+% \begin{macro}{\titleemph}
+% \begin{macrocode}
+\def\titleemph#1{\textbf{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Definitions}
+%
+% \begin{macro}{definiendum}
+% \begin{macrocode}
+\keys_define:nn {stex / definiendum }{
+ pre .tl_set:N = \l_@@_definiendum_pre_tl,
+ post .tl_set:N = \l_@@_definiendum_post_tl,
+ root .str_set_x:N = \l_@@_definiendum_root_str,
+ gfa .str_set_x:N = \l_@@_definiendum_gfa_str
+}
+\cs_new_protected:Nn \_@@_definiendum_args:n {
+ \str_clear:N \l_@@_definiendum_root_str
+ \tl_clear:N \l_@@_definiendum_post_tl
+ \str_clear:N \l_@@_definiendum_gfa_str
+ \keys_set:nn { stex / definiendum }{ #1 }
+}
+\NewDocumentCommand \definiendum { O{} m m} {
+ \_@@_definiendum_args:n { #1 }
+ \stex_get_symbol:n { #2 }
+ \stex_ref_new_sym_target:n \l_stex_get_symbol_uri_str
+ \str_if_empty:NTF \l_@@_definiendum_root_str {
+ \tl_if_empty:NTF \l_@@_definiendum_post_tl {
+ \tl_set:Nn \l_tmpa_tl { #3 }
+ } {
+ \str_set:Nx \l_@@_definiendum_root_str { #3 }
+ \tl_set:Nn \l_tmpa_tl {
+ \l_@@_definiendum_pre_tl\l_@@_definiendum_root_str\l_@@_definiendum_post_tl
+ }
+ }
+ } {
+ \tl_set:Nn \l_tmpa_tl { #3 }
+ }
+
+ % TODO root
+ \rustex_if:TF {
+ \stex_annotate:nnn { definiendum } { \l_stex_get_symbol_uri_str } { \l_tmpa_tl }
+ } {
+ \exp_args:Nnx \defemph@uri { \l_tmpa_tl } { \l_stex_get_symbol_uri_str }
+ }
+}
+\stex_deactivate_macro:Nn \definiendum {definition~environments}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{definame}
+% \begin{macrocode}
+
+\NewDocumentCommand \definame { O{} m } {
+ \_@@_definiendum_args:n { #1 }
+ % TODO: root
+ \stex_get_symbol:n { #2 }
+ \stex_ref_new_sym_target:n \l_stex_get_symbol_uri_str
+ \str_set:Nx \l_tmpa_str {
+ \prop_item:cn { l_stex_symdecl_ \l_stex_get_symbol_uri_str _prop } { name }
+ }
+ \exp_args:NNno \str_replace_all:Nnn \l_tmpa_str {-} {~}
+ \rustex_if:TF {
+ \stex_annotate:nnn { definiendum } { \l_stex_get_symbol_uri_str } {
+ \l_tmpa_str\l_@@_definiendum_post_tl
+ }
+ } {
+ \defemph@uri {
+ \l_tmpa_str\l_@@_definiendum_post_tl
+ } { \l_stex_get_symbol_uri_str }
+ }
+}
+\stex_deactivate_macro:Nn \definame {definition~environments}
+
+\NewDocumentCommand \Definame { O{} m } {
+ \_@@_definiendum_args:n { #1 }
+ \stex_get_symbol:n { #2 }
+ \str_set:Nx \l_tmpa_str {
+ \prop_item:cn { l_stex_symdecl_ \l_stex_get_symbol_uri_str _prop } { name }
+ }
+ \exp_args:NNno \str_replace_all:Nnn \l_tmpa_str {-} {~}
+ \stex_ref_new_sym_target:n \l_stex_get_symbol_uri_str
+ \rustex_if:TF {
+ \stex_annotate:nnn { definiendum } { \l_stex_get_symbol_uri_str } {
+ \l_tmpa_str\l__stex_statements_definiendum_post_tl
+ }
+ } {
+ \defemph@uri {
+ \exp_after:wN \stex_capitalize:n \l_tmpa_str\l__stex_statements_definiendum_post_tl
+ } { \l_stex_get_symbol_uri_str }
+ }
+}
+\stex_deactivate_macro:Nn \Definame {definition~environments}
+
+\NewDocumentCommand \premise { m }{
+ \stex_annotate:nnn{ premise }{}{ #1 }
+}
+\NewDocumentCommand \conclusion { m }{
+ \stex_annotate:nnn{ conclusion }{}{ #1 }
+}
+\NewDocumentCommand \definiens { m }{
+ \stex_annotate:nnn{ definiens }{}{ #1 }
+}
+
+\stex_deactivate_macro:Nn \premise {definition,~example~or~assertion~environments}
+\stex_deactivate_macro:Nn \conclusion {example~or~assertion~environments}
+\stex_deactivate_macro:Nn \definiens {definition~environments}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{sdefinition}
+% \begin{macrocode}
+
+\keys_define:nn {stex / sdefinition }{
+ type .str_set_x:N = \sdefinitiontype,
+ id .str_set_x:N = \sdefinitionid,
+ name .str_set_x:N = \sdefinitionname,
+ for .clist_set:N = \l_@@_sdefinition_for_clist ,
+ title .tl_set:N = \sdefinitiontitle
+}
+\cs_new_protected:Nn \_@@_sdefinition_args:n {
+ \str_clear:N \sdefinitiontype
+ \str_clear:N \sdefinitionid
+ \str_clear:N \sdefinitionname
+ \clist_clear:N \l_@@_sdefinition_for_clist
+ \tl_clear:N \sdefinitiontitle
+ \keys_set:nn { stex / sdefinition }{ #1 }
+}
+
+\NewDocumentEnvironment{sdefinition}{O{}}{
+ \_@@_sdefinition_args:n{ #1 }
+ \stex_reactivate_macro:N \definiendum
+ \stex_reactivate_macro:N \definame
+ \stex_reactivate_macro:N \Definame
+ \stex_reactivate_macro:N \premise
+ \stex_reactivate_macro:N \definiens
+ \stex_if_smsmode:F{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sdefinition_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{definition}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \sdefinitiontype {
+ \stex_annotate_invisible:nnn{type}{\sdefinitiontype}{}
+ }
+ \clist_set:No \l_tmpa_clist \sdefinitiontype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sdefinition_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sdefinition_##1_start:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sdefinition_start:
+ }{
+ \l_tmpa_tl
+ }
+ }
+ \stex_ref_new_doc_target:n \sdefinitionid
+ \stex_smsmode_do:
+}{
+ \str_if_empty:NF \sdefinitionname { \stex_symdecl_do:nn{}{\sdefinitionname} }
+ \stex_if_smsmode:F {
+ \clist_set:No \l_tmpa_clist \sdefinitiontype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sdefinition_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sdefinition_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sdefinition_end:
+ }{
+ \l_tmpa_tl
+ }
+ \end{stex_annotate_env}
+ }
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\stexpatchdefinition}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_sdefinition_start: {
+ \par\noindent\titleemph{Definition\tl_if_empty:NF \sdefinitiontitle {
+ ~(\sdefinitiontitle)
+ }~}
+}
+\cs_new_protected:Nn \_@@_sdefinition_end: {\par\medskip}
+
+\newcommand\stexpatchdefinition[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_sdefinition_start: { #2 }
+ \tl_set:Nn \_@@_sdefinition_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_sdefinition_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_sdefinition_#1_end:\endcsname{ #3 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\inlinedef}
+% inline:
+% \begin{macrocode}
+\keys_define:nn {stex / inlinedef }{
+ type .str_set_x:N = \sdefinitiontype,
+ id .str_set_x:N = \sdefinitionid,
+ for .clist_set:N = \l_@@_sdefinition_for_clist ,
+ name .str_set_x:N = \sdefinitionname
+}
+\cs_new_protected:Nn \_@@_inlinedef_args:n {
+ \str_clear:N \sdefinitiontype
+ \str_clear:N \sdefinitionid
+ \str_clear:N \sdefinitionname
+ \clist_clear:N \l_@@_sdefinition_for_clist
+ \keys_set:nn { stex / inlinedef }{ #1 }
+}
+\NewDocumentCommand \inlinedef { O{} m } {
+ \begingroup
+ \_@@_inlinedef_args:n{ #1 }
+ \stex_reactivate_macro:N \definiendum
+ \stex_reactivate_macro:N \definame
+ \stex_reactivate_macro:N \Definame
+ \stex_reactivate_macro:N \premise
+ \stex_reactivate_macro:N \definiens
+ \stex_ref_new_doc_target:n \sdefinitionid
+ \stex_if_smsmode:TF{
+ \str_if_empty:NF \sdefinitionname { \stex_symdecl_do:nn{}{\sdefinitionname} }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sdefinition_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnx
+ \stex_annotate:nnn{definition}{\seq_use:Nn \l_tmpa_seq {,}}{
+ \str_if_empty:NF \sdefinitiontype {
+ \stex_annotate_invisible:nnn{type}{\sdefinitiontype}{}
+ }
+ #2
+ \str_if_empty:NF \sdefinitionname { \stex_symdecl_do:nn{}{\sdefinitionname} }
+ }
+ }
+ \endgroup
+ \stex_smsmode_do:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Assertions}
+%
+% \begin{environment}{sassertion}
+% \begin{macrocode}
+
+\keys_define:nn {stex / sassertion }{
+ type .str_set_x:N = \sassertiontype,
+ id .str_set_x:N = \sassertionid,
+ title .tl_set:N = \sassertiontitle ,
+ for .clist_set:N = \l_@@_sassertion_for_clist ,
+ name .str_set_x:N = \sassertionname
+}
+\cs_new_protected:Nn \_@@_sassertion_args:n {
+ \str_clear:N \sassertiontype
+ \str_clear:N \sassertionid
+ \str_clear:N \sassertionname
+ \clist_clear:N \l_@@_sassertion_for_clist
+ \tl_clear:N \sassertiontitle
+ \keys_set:nn { stex / sassertion }{ #1 }
+}
+
+%\tl_new:N \g_@@_aftergroup_tl
+
+\NewDocumentEnvironment{sassertion}{O{}}{
+ \_@@_sassertion_args:n{ #1 }
+ \stex_reactivate_macro:N \premise
+ \stex_reactivate_macro:N \conclusion
+ \stex_if_smsmode:F {
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sassertion_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{assertion}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \sassertiontype {
+ \stex_annotate_invisible:nnn{type}{\sassertiontype}{}
+ }
+ \clist_set:No \l_tmpa_clist \sassertiontype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sassertion_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sassertion_##1_start:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sassertion_start:
+ }{
+ \l_tmpa_tl
+ }
+ }
+ \str_if_empty:NTF \sassertionid {
+ \str_if_empty:NF \sassertionname {
+ \stex_ref_new_doc_target:n {}
+ }
+ } {
+ \stex_ref_new_doc_target:n \sassertionid
+ }
+ \stex_smsmode_do:
+}{
+ \str_if_empty:NF \sassertionname {
+ \stex_symdecl_do:nn{}{\sassertionname}
+ \stex_ref_new_sym_target:n {\l_stex_current_module_str ? \sassertionname}
+ }
+ \stex_if_smsmode:F {
+ \clist_set:No \l_tmpa_clist \sassertiontype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sassertion_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sassertion_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sassertion_end:
+ }{
+ \l_tmpa_tl
+ }
+ \end{stex_annotate_env}
+ }
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\stexpatchassertion}
+% \begin{macrocode}
+
+\cs_new_protected:Nn \_@@_sassertion_start: {
+ \par\noindent\titleemph{Assertion~\tl_if_empty:NF \sassertiontitle {
+ (\sassertiontitle)
+ }~}
+}
+\cs_new_protected:Nn \_@@_sassertion_end: {\par\medskip}
+
+\newcommand\stexpatchassertion[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_sassertion_start: { #2 }
+ \tl_set:Nn \_@@_sassertion_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_sassertion_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_sassertion_#1_end:\endcsname{ #3 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\inlineass}
+% inline:
+% \begin{macrocode}
+\keys_define:nn {stex / inlineass }{
+ type .str_set_x:N = \sassertiontype,
+ id .str_set_x:N = \sassertionid,
+ for .clist_set:N = \l_@@_sassertion_for_clist ,
+ name .str_set_x:N = \sassertionname
+}
+\cs_new_protected:Nn \_@@_inlineass_args:n {
+ \str_clear:N \sassertiontype
+ \str_clear:N \sassertionid
+ \str_clear:N \sassertionname
+ \clist_clear:N \l_@@_sassertion_for_clist
+ \keys_set:nn { stex / inlineass }{ #1 }
+}
+\NewDocumentCommand \inlineass { O{} m } {
+ \begingroup
+ \stex_reactivate_macro:N \premise
+ \stex_reactivate_macro:N \conclusion
+ \_@@_inlineass_args:n{ #1 }
+ \str_if_empty:NTF \sassertionid {
+ \str_if_empty:NF \sassertionname {
+ \stex_ref_new_doc_target:n {}
+ }
+ } {
+ \stex_ref_new_doc_target:n \sassertionid
+ }
+
+ \stex_if_smsmode:TF{
+ \str_if_empty:NF \sassertionname {
+ \stex_symdecl_do:nn{}{\sassertionname}
+ \stex_ref_new_sym_target:n {\l_stex_current_module_str ? \sassertionname}
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sassertion_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnx
+ \stex_annotate:nnn{assertion}{\seq_use:Nn \l_tmpa_seq {,}}{
+ \str_if_empty:NF \sassertiontype {
+ \stex_annotate_invisible:nnn{type}{\sassertiontype}{}
+ }
+ #2
+ \str_if_empty:NF \sassertionname {
+ \stex_symdecl_do:nn{}{\sassertionname}
+ \stex_ref_new_sym_target:n {\l_stex_current_module_str ? \sassertionname}
+ }
+ }
+ }
+ \endgroup
+ \stex_smsmode_do:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Examples}
+%
+% \begin{environment}{sexample}
+% \begin{macrocode}
+
+\keys_define:nn {stex / sexample }{
+ type .str_set_x:N = \exampletype,
+ id .str_set_x:N = \sexampleid,
+ title .tl_set:N = \sexampletitle,
+ for .clist_set:N = \l_@@_sexample_for_clist,
+}
+\cs_new_protected:Nn \_@@_sexample_args:n {
+ \str_clear:N \sexampletype
+ \str_clear:N \sexampleid
+ \tl_clear:N \sexampletitle
+ \clist_clear:N \l_@@_sexample_for_clist
+ \keys_set:nn { stex / sexample }{ #1 }
+}
+
+\NewDocumentEnvironment{sexample}{O{}}{
+ \_@@_sexample_args:n{ #1 }
+ \stex_reactivate_macro:N \premise
+ \stex_reactivate_macro:N \conclusion
+ \stex_if_smsmode:F {
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sexample_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{example}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \sexampletype {
+ \stex_annotate_invisible:nnn{type}{\sexampletype}{}
+ }
+ \clist_set:No \l_tmpa_clist \sexampletype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sexample_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sexample_##1_start:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sexample_start:
+ }{
+ \l_tmpa_tl
+ }
+ }
+ \str_if_empty:NF \sexampleid {
+ \stex_ref_new_doc_target:n \sexampleid
+ }
+ \stex_smsmode_do:
+}{
+ \str_if_empty:NF \sexamplename { \stex_symdecl_do:nn{}{\sexamplename} }
+ \stex_if_smsmode:F {
+ \clist_set:No \l_tmpa_clist \sexampletype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sexample_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sexample_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sexample_end:
+ }{
+ \l_tmpa_tl
+ }
+ \end{stex_annotate_env}
+ }
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\stexpatchexample}
+% \begin{macrocode}
+
+\cs_new_protected:Nn \_@@_sexample_start: {
+ \par\noindent\titleemph{Example~\tl_if_empty:NF \sexampletitle {
+ (\sexampletitle)
+ }~}
+}
+\cs_new_protected:Nn \_@@_sexample_end: {\par\medskip}
+
+\newcommand\stexpatchexample[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_sexample_start: { #2 }
+ \tl_set:Nn \_@@_sexample_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_sexample_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_sexample_#1_end:\endcsname{ #3 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\inlineex}
+% inline:
+% \begin{macrocode}
+\keys_define:nn {stex / inlineex }{
+ type .str_set_x:N = \sexampletype,
+ id .str_set_x:N = \sexampleid,
+ for .clist_set:N = \l_@@_sexample_for_clist ,
+ name .str_set_x:N = \sexamplename
+}
+\cs_new_protected:Nn \_@@_inlineex_args:n {
+ \str_clear:N \sexampletype
+ \str_clear:N \sexampleid
+ \str_clear:N \sexamplename
+ \clist_clear:N \l_@@_sexample_for_clist
+ \keys_set:nn { stex / inlineex }{ #1 }
+}
+\NewDocumentCommand \inlineex { O{} m } {
+ \begingroup
+ \stex_reactivate_macro:N \premise
+ \stex_reactivate_macro:N \conclusion
+ \_@@_inlineex_args:n{ #1 }
+ \str_if_empty:NF \sexampleid {
+ \stex_ref_new_doc_target:n \sexampleid
+ }
+ \stex_if_smsmode:TF{
+ \str_if_empty:NF \sexamplename { \stex_symdecl_do:nn{}{\examplename} }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sexample_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnx
+ \stex_annotate:nnn{example}{\seq_use:Nn \l_tmpa_seq {,}}{
+ \str_if_empty:NF \sexampletype {
+ \stex_annotate_invisible:nnn{type}{\sexampletype}{}
+ }
+ #2
+ \str_if_empty:NF \sexamplename { \stex_symdecl_do:nn{}{\sexamplename} }
+ }
+ }
+ \endgroup
+ \stex_smsmode_do:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Logical Paragraphs}
+%
+% \begin{environment}{sparagraph}
+% \begin{macrocode}
+\keys_define:nn { stex / sparagraph} {
+ id .str_set_x:N = \sparagraphid ,
+ title .tl_set:N = \l_stex_sparagraph_title_tl ,
+ type .str_set_x:N = \sparagraphtype ,
+ for .clist_set:N = \l_@@_sparagraph_for_clist ,
+ from .tl_set:N = \sparagraphfrom ,
+ to .tl_set:N = \sparagraphto ,
+ start .tl_set:N = \l_stex_sparagraph_start_tl ,
+ name .str_set:N = \sparagraphname
+}
+
+\cs_new_protected:Nn \stex_sparagraph_args:n {
+ \tl_clear:N \l_stex_sparagraph_title_tl
+ \tl_clear:N \sparagraphfrom
+ \tl_clear:N \sparagraphto
+ \tl_clear:N \l_stex_sparagraph_start_tl
+ \str_clear:N \sparagraphid
+ \str_clear:N \sparagraphtype
+ \clist_clear:N \l_@@_sparagraph_for_clist
+ \str_clear:N \sparagraphname
+ \keys_set:nn { stex / sparagraph }{ #1 }
+}
+\newif\if@in@omtext\@in@omtextfalse
+
+\NewDocumentEnvironment {sparagraph} { O{} } {
+ \stex_sparagraph_args:n { #1 }
+ \tl_if_empty:NTF \l_stex_sparagraph_start_tl {
+ \tl_set_eq:NN \sparagraphtitle \l_stex_sparagraph_title_tl
+ }{
+ \tl_set_eq:NN \sparagraphtitle \l_stex_sparagraph_start_tl
+ }
+ \@in@omtexttrue
+ \stex_if_smsmode:F {
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sparagraph_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnnx
+ \begin{stex_annotate_env}{paragraph}{\seq_use:Nn \l_tmpa_seq {,}}
+ \str_if_empty:NF \sparagraphtype {
+ \stex_annotate_invisible:nnn{type}{\sparagraphtype}{}
+ }
+ \str_if_empty:NF \sparagraphfrom {
+ \stex_annotate_invisible:nnn{from}{\sparagraphfrom}{}
+ }
+ \str_if_empty:NF \sparagraphto {
+ \stex_annotate_invisible:nnn{to}{\sparagraphto}{}
+ }
+ \clist_set:No \l_tmpa_clist \sparagraphtype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \sparagraphtype {
+ \tl_if_exist:cT {_@@_sparagraph_##1_start:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sparagraph_##1_start:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sparagraph_start:
+ }{
+ \l_tmpa_tl
+ }
+ }
+ \clist_set:No \l_tmpa_clist \sparagraphtype
+ \str_if_empty:NTF \sparagraphid {
+ \str_if_empty:NTF \sparagraphname {
+ \exp_args:NNx \clist_if_in:NnT \l_tmpa_clist {\tl_to_str:n{symdoc}}{
+ \stex_ref_new_doc_target:n {}
+ }
+ } {
+ \stex_ref_new_doc_target:n {}
+ }
+ } {
+ \stex_ref_new_doc_target:n \sparagraphid
+ }
+ \exp_args:NNx
+ \clist_if_in:NnT \l_tmpa_clist {\tl_to_str:n{symdoc}}{
+ \clist_map_inline:Nn \l_@@_sparagraph_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \stex_ref_new_sym_target:n \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \stex_smsmode_do:
+ \ignorespacesandpars
+}{
+ \str_if_empty:NF \sparagraphname {
+ \stex_symdecl_do:nn{}{\sparagraphname}
+ \stex_ref_new_sym_target:n {\l_stex_current_module_str ? \sparagraphname}
+ }
+ \stex_if_smsmode:F {
+ \clist_set:No \l_tmpa_clist \sparagraphtype
+ \tl_clear:N \l_tmpa_tl
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \tl_if_exist:cT {_@@_sparagraph_##1_end:}{
+ \tl_set:Nn \l_tmpa_tl {\use:c{_@@_sparagraph_##1_end:}}
+ }
+ }
+ \tl_if_empty:NTF \l_tmpa_tl {
+ \_@@_sparagraph_end:
+ }{
+ \l_tmpa_tl
+ }
+ \end{stex_annotate_env}
+ }
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\stexpatchparagraph}
+% \begin{macrocode}
+
+\cs_new_protected:Nn \_@@_sparagraph_start: {
+ \par\noindent\tl_if_empty:NTF \l_stex_sparagraph_start_tl {
+ \tl_if_empty:NF \l_stex_sparagraph_title_tl {
+ \titleemph{\l_stex_sparagraph_title_tl}:~
+ }
+ }{
+ \titleemph{\l_stex_sparagraph_start_tl}~
+ }
+}
+\cs_new_protected:Nn \_@@_sparagraph_end: {\par\medskip}
+
+\newcommand\stexpatchparagraph[3][] {
+ \str_set:Nx \l_tmpa_str{ #1 }
+ \str_if_empty:NTF \l_tmpa_str {
+ \tl_set:Nn \_@@_sparagraph_start: { #2 }
+ \tl_set:Nn \_@@_sparagraph_end: { #3 }
+ }{
+ \exp_after:wN \tl_set:Nn \csname _@@_sparagraph_#1_start:\endcsname{ #2 }
+ \exp_after:wN \tl_set:Nn \csname _@@_sparagraph_#1_end:\endcsname{ #3 }
+ }
+}
+
+\keys_define:nn { stex / inlinepara} {
+ id .str_set_x:N = \sparagraphid ,
+ type .str_set_x:N = \sparagraphtype ,
+ for .clist_set:N = \l_@@_sparagraph_for_clist ,
+ from .tl_set:N = \sparagraphfrom ,
+ to .tl_set:N = \sparagraphto ,
+ name .str_set:N = \sparagraphname
+}
+\cs_new_protected:Nn \_@@_inlinepara_args:n {
+ \tl_clear:N \sparagraphfrom
+ \tl_clear:N \sparagraphto
+ \str_clear:N \sparagraphid
+ \str_clear:N \sparagraphtype
+ \clist_clear:N \l_@@_sparagraph_for_clist
+ \str_clear:N \sparagraphname
+ \keys_set:nn { stex / inlinepara }{ #1 }
+}
+\NewDocumentCommand \inlinepara { O{} m } {
+ \begingroup
+ \_@@_inlinepara_args:n{ #1 }
+ \clist_set:No \l_tmpa_clist \sparagraphtype
+ \str_if_empty:NTF \sparagraphid {
+ \str_if_empty:NTF \sparagraphname {
+ \exp_args:NNx \clist_if_in:NnT \l_tmpa_clist {\tl_to_str:n{symdoc}}{
+ \stex_ref_new_doc_target:n {}
+ }
+ } {
+ \stex_ref_new_doc_target:n {}
+ }
+ } {
+ \stex_ref_new_doc_target:n \sparagraphid
+ }
+ \stex_if_smsmode:TF{
+ \str_if_empty:NF \sparagraphname {
+ \stex_symdecl_do:nn{}{\sparagraphname}
+ \stex_ref_new_sym_target:n {\l_stex_current_module_str ? \sparagraphname}
+ }
+ }{
+ \seq_clear:N \l_tmpa_seq
+ \clist_map_inline:Nn \l_@@_sparagraph_for_clist {
+ \tl_if_empty:nF{ ##1 }{
+ \stex_get_symbol:n { ##1 }
+ \exp_args:NNo \seq_put_right:Nn \l_tmpa_seq {
+ \l_stex_get_symbol_uri_str
+ }
+ }
+ }
+ \exp_args:Nnx
+ \stex_annotate:nnn{paragraph}{\seq_use:Nn \l_tmpa_seq {,}}{
+ \str_if_empty:NF \sparagraphtype {
+ \stex_annotate_invisible:nnn{type}{\sparagraphtype}{}
+ }
+ \str_if_empty:NF \sparagraphfrom {
+ \stex_annotate_invisible:nnn{from}{\sparagraphfrom}{}
+ }
+ \str_if_empty:NF \sparagraphto {
+ \stex_annotate_invisible:nnn{to}{\sparagraphto}{}
+ }
+ \str_if_empty:NF \sparagraphname {
+ \stex_symdecl_do:nn{}{\sparagraphname}
+ \stex_ref_new_sym_target:n {\l_stex_current_module_str ? \sparagraphname}
+ }
+ \exp_args:NNx \clist_if_in:NnT \l_tmpa_clist {\tl_to_str:n{symdoc}}{
+ \clist_map_inline:Nn \l_tmpa_seq {
+ \stex_ref_new_sym_target:n {##1}
+ }
+ }
+ #2
+ }
+ }
+ \endgroup
+ \stex_smsmode_do:
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
+
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:
diff --git a/macros/latex/contrib/stex/sty/structview/structview.ins b/macros/latex/contrib/stex/source/stex/stex.ins
index a0ae65dd91..95ff248c0d 100644
--- a/macros/latex/contrib/stex/sty/structview/structview.ins
+++ b/macros/latex/contrib/stex/source/stex/stex.ins
@@ -2,9 +2,9 @@
%% This file generates files required to use the ed package.
%% At your command prompt write
%%
-%% latex structview.ins
+%% latex stex.ins
%%
-%% Copyright(c) 2005 Michael Kohlhase
+%% Copyright (c) 2021 Michael Kohlhase
%%
%% This file is distributed under the terms of the LaTeX Project Public
%% License from CTAN archives in directory macros/latex/base/lppl.txt.
@@ -14,12 +14,27 @@
\preamble
\endpreamble
-%\usedir{tex/latex/listings}
\keepsilent
\askforoverwritefalse
-% generate base package
-\generate{\file{structview.sty}{\from{structview.dtx}{package}}}
+\generate{
+ \file{stex.cls}{\from{basics.dtx}{cls}}
+ \file{stex.sty}{
+ \from{basics.dtx}{package}
+ \from{mathhub.dtx}{package}
+ \from{references.dtx}{package}
+ \from{modules.dtx}{package}
+ \from{inheritance.dtx}{package}
+ \from{symbols.dtx}{package}
+ \from{terms.dtx}{package}
+ \from{features.dtx}{package}
+ \from{statements.dtx}{package}
+ \from{sproof.dtx}{package}
+ % ...
+ \from{others.dtx}{package}
+ \from{metatheory.dtx}{package}
+ }
+}
\Msg{*}
\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
@@ -27,4 +42,5 @@
\Msg{* And don't forget to refresh your filename database}
\Msg{* if your TeX distribution uses such a database.}
\Msg{*}
+
\endbatchfile
diff --git a/macros/latex/contrib/stex/source/stex/symbols.dtx b/macros/latex/contrib/stex/source/stex/symbols.dtx
new file mode 100644
index 0000000000..da633e1be3
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/symbols.dtx
@@ -0,0 +1,1263 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Symbols
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-symbols} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/symbols}
+% \fi
+%
+% \begin{documentation}\label{pkg:symbols:doc}
+%
+% Code related to symbol declarations and notations
+%
+% \section{Macros and Environments}\label{pkg:symbols:doc:macros}
+%
+% \begin{function}{\symdecl}
+% \begin{syntax} \cs{symdecl}\Arg{macroname}|[|\meta{args}|]| \end{syntax}
+% Declares a new symbol with semantic macro \cs{macroname}. Optional
+% arguments are:
+% \begin{itemize}
+% \item |name|: An (\omdoc) name. By default equal to \meta{macroname}.
+% \item |type|: An (ideally semantic) term. Not used by \sTeX, but
+% passed on to \mmt for semantic services.
+% \item |local|: A boolean (by default false). If set, this declaration
+% will not be added to the module content, i.e. importing
+% the current module will not make this declaration available.
+% \item |args|: Specifies the ``signature'' of the semantic macro.
+% Can be either an integer $0 \leq n \leq 9$, or a (more precise)
+% sequence of the following characters:
+% \begin{itemize}
+% \item[|i|] a ``normal'' argument, e.g.
+% |\symdecl{plus}[args=ii]| allows for |\plus{2}{2}|.
+% \item[|a|] an \emph{associative} argument; i.e. a sequence of
+% arbitrarily many arguments provided as a comma-separated list,
+% e.g.
+% |\symdecl{plus}[args=a]| allows for |\plus{2,2,2}|.
+% \item[|b|] a \emph{variable} argument. Is treated by \sTeX
+% like an |i|-argument, but an application is turned into
+% an |OMBind| in \omdoc, binding the provided variable
+% in the subsequent arguments of the operator; e.g.
+% |\symdecl{forall}[args=bi]| allows for |\forall{x\in\Nat}{x\geq0}|.
+% \end{itemize}
+% \end{itemize}
+% \end{function}
+%
+% \begin{function}{\stex_symdecl_do:n}
+% Implements the core functionality of \cs{symdecl}, and is
+% called by \cs{symdecl} and \cs{symdef}.
+%
+% Ultimately stores the symbol \meta{URI} in the property
+% list |\l_stex_symdecl_|\meta{URI}|_prop| with fields:
+% \begin{itemize}
+% \item |name| (string),
+% \item |module| (string),
+% \item |notations| (sequence of strings; initially empty),
+% \item |local| (boolean),
+% \item |type| (token list),
+% \item |args| (string of |i|s, |a|s and |b|s),
+% \item |arity| (integer string),
+% \item |assocs| (integer string; number of associative arguments),
+% \end{itemize}
+% \end{function}
+%
+% \begin{function}{\stex_all_symbols:n}
+% Iterates over all currently available symbols.
+% Requires two |\seq_map_break:| to break fully.
+% \end{function}
+%
+% \begin{function}{\stex_get_symbol:n}
+% Computes the full URI of a symbol from a macro argument, e.g.
+% the macro name, the macro itself, the full URI...
+% \end{function}
+%
+% \begin{function}{\notation}
+% \begin{syntax} \cs{notation}|[|\meta{args}|]|\Arg{symbol}\Arg{notations$^+$} \end{syntax}
+% Introduces a new notation for \meta{symbol}, see \cs{stex_notation_do:nn}
+% \end{function}
+%
+% \begin{function}{\stex_notation_do:nn}
+% \begin{syntax} \cs{stex_notation_do:nn}\Arg{URI}\Arg{notations$^+$}\end{syntax}
+%
+% Implements the core functionality of \cs{notation}, and is
+% called by \cs{notation} and \cs{symdef}.
+%
+% Ultimately stores the notation in the property
+% list\\ |\g_stex_notation_|\meta{URI}|#|\meta{variant}|#|^^A
+% \meta{lang}|_prop| with fields:
+% \begin{itemize}
+% \item |symbol| (URI string),
+% \item |language| (string),
+% \item |variant| (string),
+% \item |opprec| (integer string),
+% \item |argprecs| (sequence of integer strings)
+% \end{itemize}
+% \end{function}
+%
+% \begin{function}{\symdef}
+% \begin{syntax} \cs{symdef}|[|\meta{args}|]|\Arg{symbol}\Arg{notations$^+$} \end{syntax}
+% Combines \cs{symdecl} and \cs{notation} by introducing a new
+% symbol and assigning a new notation for it.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:symbols:impl}
+%
+% \section{\sTeX-Symbols Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% symbols.dtx %%%%%%%%%%%%%
+
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+\msg_new:nnn{stex}{error/wrongargs}{
+ args~value~in~symbol~declaration~for~#1~
+ needs~to~be~i,~a,~b~or~B,~but~#2~given
+}
+% \end{macrocode}
+%
+% \subsection{Symbol Declarations}
+% \begin{macrocode}
+%<@@=stex_symdecl>
+% \end{macrocode}
+%
+% \begin{macro}{\stex_all_symbols:n}
+% Map over all available symbols
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_all_symbols:n {
+ \def \_@@_all_symbols_cs ##1 {#1}
+ \seq_map_inline:Nn \l_stex_all_modules_seq {
+ \seq_map_inline:cn{c_stex_module_##1_constants}{
+ \_@@_all_symbols_cs{##1?####1}
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\STEXsymbol}
+% \begin{macrocode}
+\NewDocumentCommand \STEXsymbol { m } {
+ \stex_get_symbol:n { #1 }
+ \exp_args:No
+ \stex_invoke_symbol:n { \l_stex_get_symbol_uri_str }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% |symdecl| arguments:
+%
+% \begin{macrocode}
+\keys_define:nn { stex / symdecl } {
+ name .str_set_x:N = \l_stex_symdecl_name_str ,
+ local .bool_set:N = \l_stex_symdecl_local_bool ,
+ args .str_set_x:N = \l_stex_symdecl_args_str ,
+ type .tl_set:N = \l_stex_symdecl_type_tl ,
+ deprecate .str_set_x:N = \l_stex_symdecl_deprecate_str ,
+ align .str_set:N = \l_stex_symdecl_align_str , % TODO(?)
+ gfc .str_set:N = \l_stex_symdecl_gfc_str , % TODO(?)
+ specializes .str_set:N = \l_stex_symdecl_specializes_str , % TODO(?)
+ def .tl_set:N = \l_stex_symdecl_definiens_tl ,
+ assoc .choices:nn =
+ {bin,binl,binr,pre,conj,pwconj}
+ {\str_set:Nx \l_stex_symdecl_assoctype_str {\l_keys_choice_tl}}
+}
+
+\bool_new:N \l_stex_symdecl_make_macro_bool
+
+\cs_new_protected:Nn \_@@_args:n {
+ \str_clear:N \l_stex_symdecl_name_str
+ \str_clear:N \l_stex_symdecl_args_str
+ \str_clear:N \l_stex_symdecl_deprecate_str
+ \str_clear:N \l_stex_symdecl_assoctype_str
+ \bool_set_false:N \l_stex_symdecl_local_bool
+ \tl_clear:N \l_stex_symdecl_type_tl
+ \tl_clear:N \l_stex_symdecl_definiens_tl
+
+ \keys_set:nn { stex / symdecl } { #1 }
+}
+% \end{macrocode}
+%
+% \begin{macro}{\symdecl}
+%
+% Parses the optional arguments and passes them on to
+% \cs{stex_symdecl_do:} (so that \cs{symdef}
+% can do the same)
+%
+% \begin{macrocode}
+
+\NewDocumentCommand \symdecl { s m O{}} {
+ \_@@_args:n { #3 }
+ \IfBooleanTF #1 {
+ \bool_set_false:N \l_stex_symdecl_make_macro_bool
+ } {
+ \bool_set_true:N \l_stex_symdecl_make_macro_bool
+ }
+ \stex_symdecl_do:n { #2 }
+ \stex_smsmode_do:
+}
+
+\cs_new_protected:Nn \stex_symdecl_do:nn {
+ \_@@_args:n{#1}
+ \bool_set_false:N \l_stex_symdecl_make_macro_bool
+ \stex_symdecl_do:n{#2}
+}
+
+\stex_deactivate_macro:Nn \symdecl {module~environments}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\stex_symdecl_do:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_symdecl_do:n {
+ \stex_if_in_module:F {
+ % TODO throw error? some default namespace?
+ }
+
+ \str_if_empty:NT \l_stex_symdecl_name_str {
+ \str_set:Nx \l_stex_symdecl_name_str { #1 }
+ }
+
+ \prop_if_exist:cT { l_stex_symdecl_
+ \l_stex_current_module_str ?
+ \l_stex_symdecl_name_str
+ _prop
+ }{
+ % TODO throw error (beware of circular dependencies)
+ }
+
+ \prop_clear:N \l_tmpa_prop
+ \prop_put:Nnx \l_tmpa_prop { module } { \l_stex_current_module_str }
+ \seq_clear:N \l_tmpa_seq
+ \prop_put:Nno \l_tmpa_prop { name } \l_stex_symdecl_name_str
+ \prop_put:Nno \l_tmpa_prop { type } \l_stex_symdecl_type_tl
+
+ \str_if_empty:NT \l_stex_symdecl_deprecate_str {
+ \str_if_empty:NF \l_stex_module_deprecate_str {
+ \str_set_eq:NN \l_stex_symdecl_deprecate_str \l_stex_module_deprecate_str
+ }
+ }
+ \prop_put:Nno \l_tmpa_prop { deprecate } \l_stex_symdecl_deprecate_str
+
+ \exp_args:No \stex_add_constant_to_current_module:n {
+ \l_stex_symdecl_name_str
+ }
+
+ % arity/args
+ \int_zero:N \l_tmpb_int
+
+ \bool_set_true:N \l_tmpa_bool
+ \str_map_inline:Nn \l_stex_symdecl_args_str {
+ \token_case_meaning:NnF ##1 {
+ 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ {\tl_to_str:n i} { \bool_set_false:N \l_tmpa_bool }
+ {\tl_to_str:n b} { \bool_set_false:N \l_tmpa_bool }
+ {\tl_to_str:n a} {
+ \bool_set_false:N \l_tmpa_bool
+ \int_incr:N \l_tmpb_int
+ }
+ {\tl_to_str:n B} {
+ \bool_set_false:N \l_tmpa_bool
+ \int_incr:N \l_tmpb_int
+ }
+ }{
+ \msg_error:nnxx{stex}{error/wrongargs}{
+ \l_stex_current_module_str ?
+ \l_stex_symdecl_name_str
+ }{##1}
+ }
+ }
+ \bool_if:NTF \l_tmpa_bool {
+ % possibly numeric
+ \str_if_empty:NTF \l_stex_symdecl_args_str {
+ \prop_put:Nnn \l_tmpa_prop { args } {}
+ \prop_put:Nnn \l_tmpa_prop { arity } { 0 }
+ }{
+ \int_set:Nn \l_tmpa_int { \l_stex_symdecl_args_str }
+ \prop_put:Nnx \l_tmpa_prop { arity } { \int_use:N \l_tmpa_int }
+ \str_clear:N \l_tmpa_str
+ \int_step_inline:nn \l_tmpa_int {
+ \str_put_right:Nn \l_tmpa_str i
+ }
+ \prop_put:Nnx \l_tmpa_prop { args } { \l_tmpa_str }
+ }
+ } {
+ \prop_put:Nnx \l_tmpa_prop { args } { \l_stex_symdecl_args_str }
+ \prop_put:Nnx \l_tmpa_prop { arity }
+ { \str_count:N \l_stex_symdecl_args_str }
+ }
+ \prop_put:Nnx \l_tmpa_prop { assocs } { \int_use:N \l_tmpb_int }
+
+
+ % semantic macro
+
+ \bool_if:NT \l_stex_symdecl_make_macro_bool {
+ \exp_args:Nx \stex_do_up_to_module:n {
+ \tl_set:cn { #1 } { \stex_invoke_symbol:n {
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ }}
+ }
+
+ \bool_if:NF \l_stex_symdecl_local_bool {
+ \exp_args:Nx \stex_add_to_current_module:n {
+ \tl_set:cn { #1 } { \stex_invoke_symbol:n {
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ } }
+ }
+ }
+ }
+
+ \stex_debug:nn{symbols}{New~symbol:~
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str^^J
+ Type:~\exp_not:o { \l_stex_symdecl_type_tl }^^J
+ Args:~\prop_item:Nn \l_tmpa_prop { args }
+ }
+
+ % circular dependencies require this:
+
+ \prop_if_exist:cF {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ _prop
+ } {
+ \prop_set_eq:cN {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ _prop
+ } \l_tmpa_prop
+ }
+
+ \seq_clear:c {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ _notations
+ }
+
+ \bool_if:NF \l_stex_symdecl_local_bool {
+ \exp_args:Nx
+ \stex_add_to_current_module:n {
+ \seq_clear:c {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ _notations
+ }
+ \prop_set_from_keyval:cn {
+ l_stex_symdecl_
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ _prop
+ } {
+ name = \prop_item:Nn \l_tmpa_prop { name } ,
+ module = \prop_item:Nn \l_tmpa_prop { module } ,
+ type = \prop_item:Nn \l_tmpa_prop { type } ,
+ args = \prop_item:Nn \l_tmpa_prop { args } ,
+ arity = \prop_item:Nn \l_tmpa_prop { arity } ,
+ assocs = \prop_item:Nn \l_tmpa_prop { assocs }
+ }
+ }
+ }
+
+ \stex_if_smsmode:F {
+% \exp_args:Nx \stex_do_up_to_module:n {
+% \seq_put_right:Nn \exp_not:N \l_stex_all_symbols_seq {
+% \l_stex_current_module_str ? \l_stex_symdecl_name_str
+% }
+% }
+ \stex_if_do_html:T {
+ \stex_annotate_invisible:nnn {symdecl} {
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ } {
+ \tl_if_empty:NF \l_stex_symdecl_type_tl {\stex_annotate_invisible:nnn{type}{}{$\l_stex_symdecl_type_tl$}}
+ \stex_annotate_invisible:nnn{args}{}{
+ \prop_item:Nn \l_tmpa_prop { args }
+ }
+ \stex_annotate_invisible:nnn{macroname}{#1}{}
+ \tl_if_empty:NF \l_stex_symdecl_definiens_tl {
+ \stex_annotate_invisible:nnn{definiens}{}
+ {$\l_stex_symdecl_definiens_tl$}
+ }
+ \str_if_empty:NF \l_stex_symdecl_assoctype_str {
+ \stex_annotate_invisible:nnn{assoctype}{\l_stex_symdecl_assoctype_str}{}
+ }
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_get_symbol:n}
+%
+% \begin{macrocode}
+\str_new:N \l_stex_get_symbol_uri_str
+
+\cs_new_protected:Nn \stex_get_symbol:n {
+ \tl_if_head_eq_catcode:nNTF { #1 } \relax {
+ \_@@_get_symbol_from_cs:n { #1 }
+ }{
+ % argument is a string
+ % is it a command name?
+ \cs_if_exist:cTF { #1 }{
+ \cs_set_eq:Nc \l_tmpa_tl { #1 }
+ \str_set:Nx \l_tmpa_str { \cs_argument_spec:N \l_tmpa_tl }
+ \str_if_empty:NTF \l_tmpa_str {
+ \exp_args:Nx \cs_if_eq:NNTF {
+ \tl_head:N \l_tmpa_tl
+ } \stex_invoke_symbol:n {
+ \exp_args:No \_@@_get_symbol_from_cs:n { \use:c { #1 } }
+ }{
+ \_@@_get_symbol_from_string:n { #1 }
+ }
+ } {
+ \_@@_get_symbol_from_string:n { #1 }
+ }
+ }{
+ % argument is not a command name
+ \_@@_get_symbol_from_string:n { #1 }
+ % \l_stex_all_symbols_seq
+ }
+ }
+ \str_if_eq:eeF {
+ \prop_item:cn {
+ l_stex_symdecl_\l_stex_get_symbol_uri_str _prop
+ }{ deprecate }
+ }{}{
+ \msg_warning:nnxx{stex}{warning/deprecated}{
+ Symbol~\l_stex_get_symbol_uri_str
+ }{
+ \prop_item:cn {l_stex_symdecl_\l_stex_get_symbol_uri_str _prop}{ deprecate }
+ }
+ }
+}
+
+\cs_new_protected:Nn \_@@_get_symbol_from_string:n {
+ \tl_set:Nn \l_tmpa_tl {
+ \msg_set:nnn{stex}{error/unknownsymbol}{
+ No~symbol~#1~found!
+ }
+ \msg_error:nn{stex}{error/unknownsymbol}
+ }
+ \str_set:Nn \l_tmpa_str { #1 }
+ \int_set:Nn \l_tmpa_int { \str_count:N \l_tmpa_str }
+
+ \stex_all_symbols:n {
+ \str_if_eq:eeT { \l_tmpa_str }{ \str_range:nnn {##1}{-\l_tmpa_int}{-1}}{
+ \seq_map_break:n{\seq_map_break:n{
+ \tl_set:Nn \l_tmpa_tl {
+ \str_set:Nn \l_stex_get_symbol_uri_str { ##1 }
+ }
+ }}
+ }
+ }
+
+ \l_tmpa_tl
+}
+
+\cs_new_protected:Nn \_@@_get_symbol_from_cs:n {
+ \exp_args:NNx \tl_set:Nn \l_tmpa_tl
+ { \tl_tail:N \l_tmpa_tl }
+ \tl_if_single:NTF \l_tmpa_tl {
+ \exp_args:No \tl_if_head_is_group:nTF \l_tmpa_tl {
+ \exp_after:wN \str_set:Nn \exp_after:wN
+ \l_stex_get_symbol_uri_str \l_tmpa_tl
+ }{
+ % TODO
+ % tail is not a single group
+ }
+ }{
+ % TODO
+ % tail is not a single group
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Notations}
+% \begin{macrocode}
+%<@@=stex_notation>
+% \end{macrocode}
+%
+% |notation| arguments:
+%
+% \begin{macrocode}
+\keys_define:nn { stex / notation } {
+ lang .tl_set_x:N = \l_@@_lang_str ,
+ variant .tl_set_x:N = \l_@@_variant_str ,
+ prec .str_set_x:N = \l_@@_prec_str ,
+ op .tl_set:N = \l_@@_op_tl ,
+ primary .bool_set:N = \l_@@_primary_bool ,
+ primary .default:n = {true} ,
+ unknown .code:n = \str_set:Nx
+ \l_@@_variant_str \l_keys_key_str
+}
+
+\cs_new_protected:Nn \_stex_notation_args:n {
+ \str_clear:N \l_@@_lang_str
+ \str_clear:N \l_@@_variant_str
+ \str_clear:N \l_@@_prec_str
+ \tl_clear:N \l_@@_op_tl
+ \bool_set_false:N \l_@@_primary_bool
+
+ \keys_set:nn { stex / notation } { #1 }
+}
+% \end{macrocode}
+%
+%
+%
+% \begin{macro}{\notation}
+% \begin{macrocode}
+\NewDocumentCommand \notation { s m O{}} {
+ \_stex_notation_args:n { #3 }
+ \tl_clear:N \l_stex_symdecl_definiens_tl
+ \stex_get_symbol:n { #2 }
+ \tl_set:Nn \l_stex_notation_after_do_tl {
+ \_@@_final:
+ \IfBooleanTF#1{
+ \stex_setnotation:n {\l_stex_get_symbol_uri_str}
+ }{}
+ \stex_smsmode_do:
+ }
+ \stex_notation_do:nnnn
+ { \prop_item:cn {l_stex_symdecl_\l_stex_get_symbol_uri_str _prop } { args } }
+ { \prop_item:cn { l_stex_symdecl_\l_stex_get_symbol_uri_str _prop } { arity } }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+}
+\stex_deactivate_macro:Nn \notation {module~environments}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_notation_do:nnnn}
+% \begin{macrocode}
+\seq_new:N \l_@@_precedences_seq
+\tl_new:N \l_@@_opprec_tl
+\int_new:N \l_@@_currarg_int
+\tl_new:N \stex_symbol_after_invocation_tl
+
+\cs_new_protected:Nn \stex_notation_do:nnnn {
+ \let\l_stex_current_symbol_str\relax
+ \seq_clear:N \l_@@_precedences_seq
+ \tl_clear:N \l_@@_opprec_tl
+ \str_set:Nx \l_@@_args_str { #1 }
+ \str_set:Nx \l_@@_arity_str { #2 }
+ \str_set:Nx \_@@_suffix_str { #3 }
+
+ % precedences
+ \str_if_empty:NTF \l_@@_prec_str {
+ \int_compare:nNnTF \l_@@_arity_str = 0 {
+ \tl_set:No \l_@@_opprec_tl { \neginfprec }
+ }{
+ \tl_set:Nn \l_@@_opprec_tl { 0 }
+ }
+ } {
+ \str_if_eq:onTF \l_@@_prec_str {nobrackets}{
+ \tl_set:No \l_@@_opprec_tl { \neginfprec }
+ \int_step_inline:nn { \l_@@_arity_str } {
+ \exp_args:NNo
+ \seq_put_right:Nn \l_@@_precedences_seq { \infprec }
+ }
+ }{
+ \seq_set_split:NnV \l_tmpa_seq ; \l_@@_prec_str
+ \seq_pop_left:NNTF \l_tmpa_seq \l_tmpa_str {
+ \tl_set:No \l_@@_opprec_tl { \l_tmpa_str }
+ \seq_pop_left:NNT \l_tmpa_seq \l_tmpa_str {
+ \exp_args:NNNo \exp_args:NNno \seq_set_split:Nnn
+ \l_tmpa_seq {\tl_to_str:n{x} } { \l_tmpa_str }
+ \seq_map_inline:Nn \l_tmpa_seq {
+ \seq_put_right:Nn \l_tmpb_seq { ##1 }
+ }
+ }
+ }{
+ \int_compare:nNnTF \l_@@_arity_str = 0 {
+ \tl_set:No \l_@@_opprec_tl { \infprec }
+ }{
+ \tl_set:No \l_@@_opprec_tl { 0 }
+ }
+ }
+ }
+ }
+
+ \seq_set_eq:NN \l_tmpa_seq \l_@@_precedences_seq
+ \int_step_inline:nn { \l_@@_arity_str } {
+ \seq_pop_left:NNF \l_tmpa_seq \l_tmpb_str {
+ \exp_args:NNo
+ \seq_put_right:No \l_@@_precedences_seq {
+ \l_@@_opprec_tl
+ }
+ }
+ }
+ \tl_clear:N \l_stex_notation_dummyargs_tl
+
+ \int_compare:nNnTF \l_@@_arity_str = 0 {
+ \exp_args:NNe
+ \cs_set:Npn \l_stex_notation_macrocode_cs {
+ \_stex_term_math_oms:nnnn { \l_stex_current_symbol_str }
+ { \_@@_suffix_str }
+ { \l_@@_opprec_tl }
+ { \exp_not:n { #4 } }
+ }
+ \l_stex_notation_after_do_tl
+ }{
+ \str_if_in:NnTF \l_@@_args_str b {
+ \exp_args:Nne \use:nn
+ {
+ \cs_generate_from_arg_count:NNnn \l_stex_notation_macrocode_cs
+ \cs_set:Npn \l_@@_arity_str } { {
+ \_stex_term_math_omb:nnnn { \l_stex_current_symbol_str }
+ { \_@@_suffix_str }
+ { \l_@@_opprec_tl }
+ { \exp_not:n { #4 } }
+ }}
+ }{
+ \str_if_in:NnTF \l_@@_args_str B {
+ \exp_args:Nne \use:nn
+ {
+ \cs_generate_from_arg_count:NNnn \l_stex_notation_macrocode_cs
+ \cs_set:Npn \l_@@_arity_str } { {
+ \_stex_term_math_omb:nnnn { \l_stex_current_symbol_str }
+ { \_@@_suffix_str }
+ { \l_@@_opprec_tl }
+ { \exp_not:n { #4 } }
+ } }
+ }{
+ \exp_args:Nne \use:nn
+ {
+ \cs_generate_from_arg_count:NNnn \l_stex_notation_macrocode_cs
+ \cs_set:Npn \l_@@_arity_str } { {
+ \_stex_term_math_oma:nnnn { \l_stex_current_symbol_str }
+ { \_@@_suffix_str }
+ { \l_@@_opprec_tl }
+ { \exp_not:n { #4 } }
+ } }
+ }
+ }
+
+ \str_set_eq:NN \l_@@_remaining_args_str \l_@@_args_str
+ \int_zero:N \l_@@_currarg_int
+ \seq_set_eq:NN \l_@@_remaining_precs_seq \l_@@_precedences_seq
+ \_@@_arguments:
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_arguments:}
+%
+% Takes care of annotating the arguments in a
+% notation macro
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_arguments: {
+ \int_incr:N \l_@@_currarg_int
+ \str_if_empty:NTF \l_@@_remaining_args_str {
+ \l_stex_notation_after_do_tl
+ }{
+ \str_set:Nx \l_tmpa_str { \str_head:N \l_@@_remaining_args_str }
+ \str_set:Nx \l_@@_remaining_args_str { \str_tail:N \l_@@_remaining_args_str }
+ \str_if_eq:VnTF \l_tmpa_str a {
+ \_@@_argument_assoc:n
+ }{
+ \str_if_eq:VnTF \l_tmpa_str B {
+ \_@@_argument_assoc:n
+ }{
+ \seq_pop_left:NN \l_@@_remaining_precs_seq \l_tmpa_str
+ \tl_put_right:Nx \l_stex_notation_dummyargs_tl {
+ { \_stex_term_math_arg:nnn
+ { \int_use:N \l_@@_currarg_int }
+ { \l_tmpa_str }
+ { ####\int_use:N \l_@@_currarg_int }
+ }
+ }
+ \_@@_arguments:
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_argument_assoc:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_argument_assoc:n {
+
+ \cs_generate_from_arg_count:NNnn \l_tmpa_cs \cs_set:Npn
+ {\l_@@_arity_str}{
+ #1
+ }
+ \int_zero:N \l_tmpa_int
+ \tl_clear:N \l_tmpa_tl
+ \str_map_inline:Nn \l_@@_args_str {
+ \int_incr:N \l_tmpa_int
+ \tl_put_right:Nx \l_tmpa_tl {
+ \str_if_eq:nnTF {##1}{a}{ {} }{
+ \str_if_eq:nnTF {##1}{B}{ {} }{
+ {\_stex_term_arg:nn{\int_use:N \l_tmpa_int}{################ \int_use:N \l_tmpa_int}}
+ }
+ }
+ }
+ }
+ \exp_after:wN\exp_after:wN\exp_after:wN \def
+ \exp_after:wN\exp_after:wN\exp_after:wN \l_tmpa_cs
+ \exp_after:wN\exp_after:wN\exp_after:wN ##
+ \exp_after:wN\exp_after:wN\exp_after:wN 1
+ \exp_after:wN\exp_after:wN\exp_after:wN ##
+ \exp_after:wN\exp_after:wN\exp_after:wN 2
+ \exp_after:wN\exp_after:wN\exp_after:wN {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:n \exp_after:wN \exp_after:wN \exp_after:wN {
+ \exp_after:wN \l_tmpa_cs \l_tmpa_tl
+ }
+ }
+
+ \seq_pop_left:NN \l_@@_remaining_precs_seq \l_tmpa_str
+ \tl_put_right:Nx \l_stex_notation_dummyargs_tl { {
+ \_stex_term_math_assoc_arg:nnnn
+ { \int_use:N \l_@@_currarg_int }
+ { \l_tmpa_str }
+ { ####\int_use:N \l_@@_currarg_int }
+ { \l_tmpa_cs {####1} {####2} }
+ } }
+ \_@@_arguments:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_final:}
+%
+% Called after processing all notation arguments
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_final: {
+ \exp_args:Nne \use:nn
+ {
+ \cs_generate_from_arg_count:cNnn {
+ stex_notation_ \l_stex_get_symbol_uri_str \c_hash_str
+ \_@@_suffix_str
+ _cs
+ }
+ \cs_set:Npn \l_@@_arity_str } { {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:n \exp_after:wN \exp_after:wN \exp_after:wN
+ { \exp_after:wN \l_stex_notation_macrocode_cs \l_stex_notation_dummyargs_tl \stex_symbol_after_invocation_tl}
+ } }
+
+ \tl_if_empty:NF \l_@@_op_tl {
+ \cs_set:cpx {
+ stex_op_notation_ \l_stex_get_symbol_uri_str \c_hash_str
+ \_@@_suffix_str
+ _cs
+ } {
+ \_stex_term_oms:nnn {
+ \l_stex_get_symbol_uri_str \c_hash_str \_@@_suffix_str
+ }{
+ \l_stex_get_symbol_uri_str
+ }{ \comp{ \exp_args:No \exp_not:n { \l_@@_op_tl } } }
+ }
+ }
+
+ \exp_args:Ne
+ \stex_add_to_current_module:n {
+ \cs_generate_from_arg_count:cNnn {
+ stex_notation_ \l_stex_get_symbol_uri_str \c_hash_str
+ \_@@_suffix_str
+ _cs
+ } \cs_set:Npn {\l_@@_arity_str} {
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:n \exp_after:wN \exp_after:wN \exp_after:wN
+ { \exp_after:wN \l_stex_notation_macrocode_cs \l_stex_notation_dummyargs_tl \stex_symbol_after_invocation_tl}
+ }
+ \tl_if_empty:NF \l_@@_op_tl {
+ \cs_set:cpn {
+ stex_op_notation_\l_stex_get_symbol_uri_str \c_hash_str
+ \_@@_suffix_str
+ _cs
+ } {
+ \_stex_term_oms:nnn {
+ \l_stex_get_symbol_uri_str\c_hash_str \_@@_suffix_str
+ }{
+ \l_stex_get_symbol_uri_str
+ }{ \comp{ \exp_args:No \exp_not:n { \l_@@_op_tl } } }
+ }
+ }
+ }
+ %\exp_args:Nx
+ % \stex_do_up_to_module:n {
+ \seq_put_right:cx {
+ l_stex_symdecl_ \l_stex_get_symbol_uri_str
+ _notations
+ } {
+ \_@@_suffix_str
+ }
+ % }
+
+ \stex_debug:nn{symbols}{
+ Notation~\_@@_suffix_str
+ ~for~\l_stex_get_symbol_uri_str^^J
+ Operator~precedence:~\l_@@_opprec_tl^^J
+ Argument~precedences:~
+ \seq_use:Nn \l_@@_precedences_seq {,~}^^J
+ Notation: \cs_meaning:c {
+ stex_notation_ \l_stex_get_symbol_uri_str \c_hash_str
+ \_@@_suffix_str
+ _cs
+ }
+ }
+
+ \exp_args:Ne
+ \stex_add_to_current_module:n {
+ \seq_put_right:cn {
+ l_stex_symdecl_\l_stex_get_symbol_uri_str
+ _notations
+ } { \_@@_suffix_str }
+ }
+
+ \stex_if_smsmode:F {
+
+ % HTML annotations
+ \stex_if_do_html:T {
+ \stex_annotate_invisible:nnn { notation }
+ { \l_stex_get_symbol_uri_str } {
+ \stex_annotate_invisible:nnn { notationfragment }
+ { \_@@_suffix_str }{}
+ \stex_annotate_invisible:nnn { precedence }
+ { \l_@@_prec_str }{}
+
+ \int_zero:N \l_tmpa_int
+ \str_set_eq:NN \l_@@_remaining_args_str \l_@@_args_str
+ \tl_clear:N \l_tmpa_tl
+ \int_step_inline:nn { \l_@@_arity_str }{
+ \int_incr:N \l_tmpa_int
+ \str_set:Nx \l_tmpb_str { \str_head:N \l_@@_remaining_args_str }
+ \str_set:Nx \l_@@_remaining_args_str { \str_tail:N \l_@@_remaining_args_str }
+ \str_if_eq:VnTF \l_tmpb_str a {
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl {
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int a ,
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int b
+ } }
+ }{
+ \str_if_eq:VnTF \l_tmpb_str B {
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl {
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int a ,
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int b
+ } }
+ }{
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl {
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int
+ } }
+ }
+ }
+ }
+ \stex_annotate_invisible:nnn { notationcomp }{}{
+ \str_set:Nx \l_stex_current_symbol_str {\l_stex_get_symbol_uri_str }
+ $ \exp_args:Nno \use:nn { \use:c {
+ stex_notation_ \l_stex_current_symbol_str
+ \c_hash_str \_@@_suffix_str _cs
+ } } { \l_tmpa_tl } $
+ }
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setnotation}
+% \begin{macrocode}
+\keys_define:nn { stex / setnotation } {
+ lang .tl_set_x:N = \l_@@_lang_str ,
+ variant .tl_set_x:N = \l_@@_variant_str ,
+ unknown .code:n = \str_set:Nx
+ \l_@@_variant_str \l_keys_key_str
+}
+
+\cs_new_protected:Nn \_stex_setnotation_args:n {
+ \str_clear:N \l_@@_lang_str
+ \str_clear:N \l_@@_variant_str
+ \keys_set:nn { stex / setnotation } { #1 }
+}
+
+\cs_new_protected:Nn \stex_setnotation:n {
+ \exp_args:Nnx \seq_if_in:cnTF { l_stex_symdecl_#1 _notations }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }{
+ \exp_args:Nnx \seq_remove_all:cn { l_stex_symdecl_#1 _notations }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+ \exp_args:Nnx \seq_remove_all:cn { l_stex_symdecl_#1 _notations }
+ { \c_hash_str }
+ \exp_args:Nnx \seq_put_left:cn { l_stex_symdecl_#1 _notations }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+ \exp_args:Nx \stex_add_to_current_module:n {
+ \exp_args:Nnx \seq_remove_all:cn { l_stex_symdecl_#1 _notations }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+ \exp_args:Nnx \seq_put_left:cn { l_stex_symdecl_#1 _notations }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+ \exp_args:Nnx \seq_remove_all:cn { l_stex_symdecl_#1 _notations }
+ { \c_hash_str }
+ }
+ \stex_debug:nn {notations}{
+ Setting~default~notation~
+ {\l_@@_variant_str \c_hash_str \l_@@_lang_str}~for~
+ #1 \\
+ \expandafter\meaning\csname
+ l_stex_symdecl_#1 _notations\endcsname
+ }
+ }{
+ % todo throw error
+ }
+}
+
+\NewDocumentCommand \setnotation {m m} {
+ \stex_get_symbol:n { #1 }
+ \_stex_setnotation_args:n { #2 }
+ \stex_setnotation:n{\l_stex_get_symbol_uri_str}
+ \stex_smsmode_do:
+}
+
+\cs_new_protected:Nn \stex_copy_notations:nn {
+ \stex_debug:nn {notations}{
+ Copying~notations~from~#2~to~#1\\
+ \seq_use:cn{l_stex_symdecl_#2_notations}{,~}
+ }
+ \tl_clear:N \l_tmpa_tl
+ \int_step_inline:nn { \prop_item:cn {l_stex_symdecl_#2_prop}{ arity } } {
+ \tl_put_right:Nn \l_tmpa_tl { {## ##1} }
+ }
+ \seq_map_inline:cn {l_stex_symdecl_#2_notations}{
+ \cs_set_eq:Nc \l_tmpa_cs { stex_notation_ #2 \c_hash_str ##1 _cs }
+ \edef \l_tmpa_tl {
+ \exp_after:wN\exp_after:wN\exp_after:wN \exp_not:n
+ \exp_after:wN\exp_after:wN\exp_after:wN {
+ \exp_after:wN \l_tmpa_cs \l_tmpa_tl
+ }
+ }
+ \exp_args:Nx
+ \stex_do_up_to_module:n {
+ \seq_put_right:cn{l_stex_symdecl_#1_notations}{##1}
+ \cs_generate_from_arg_count:cNnn {
+ stex_notation_ #1 \c_hash_str ##1 _cs
+ } \cs_set:Npn { \prop_item:cn {l_stex_symdecl_#2_prop}{ arity } }{
+ \exp_after:wN\exp_not:n\exp_after:wN{\l_tmpa_tl}
+ }
+ }
+ }
+}
+
+\NewDocumentCommand \copynotation {m m} {
+ \stex_get_symbol:n { #1 }
+ \str_set_eq:NN \l_tmpa_str \l_stex_get_symbol_uri_str
+ \stex_get_symbol:n { #2 }
+ \exp_args:Noo
+ \stex_copy_notations:nn \l_tmpa_str \l_stex_get_symbol_uri_str
+ \exp_args:Nx \stex_add_import_to_current_module:n{
+ \stex_copy_notations:nn {\l_tmpa_str} {\l_stex_get_symbol_uri_str}
+ }
+ \stex_smsmode_do:
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\symdef}
+% \begin{macrocode}
+\keys_define:nn { stex / symdef } {
+ name .str_set_x:N = \l_stex_symdecl_name_str ,
+ local .bool_set:N = \l_stex_symdecl_local_bool ,
+ args .str_set_x:N = \l_stex_symdecl_args_str ,
+ type .tl_set:N = \l_stex_symdecl_type_tl ,
+ def .tl_set:N = \l_stex_symdecl_definiens_tl ,
+ op .tl_set:N = \l_@@_op_tl ,
+ lang .str_set_x:N = \l_@@_lang_str ,
+ variant .str_set_x:N = \l_@@_variant_str ,
+ prec .str_set_x:N = \l_@@_prec_str ,
+ assoc .choices:nn =
+ {bin,binl,binr,pre,conj,pwconj}
+ {\str_set:Nx \l_stex_symdecl_assoctype_str {\l_keys_choice_tl}},
+ unknown .code:n = \str_set:Nx
+ \l_@@_variant_str \l_keys_key_str
+}
+
+\cs_new_protected:Nn \_@@_symdef_args:n {
+ \str_clear:N \l_stex_symdecl_name_str
+ \str_clear:N \l_stex_symdecl_args_str
+ \str_clear:N \l_stex_symdecl_assoctype_str
+ \bool_set_false:N \l_stex_symdecl_local_bool
+ \tl_clear:N \l_stex_symdecl_type_tl
+ \tl_clear:N \l_stex_symdecl_definiens_tl
+ \str_clear:N \l_@@_lang_str
+ \str_clear:N \l_@@_variant_str
+ \str_clear:N \l_@@_prec_str
+ \tl_clear:N \l_@@_op_tl
+
+ \keys_set:nn { stex / symdef } { #1 }
+}
+
+\NewDocumentCommand \symdef { m O{} } {
+ \_@@_symdef_args:n { #2 }
+ \bool_set_true:N \l_stex_symdecl_make_macro_bool
+ \stex_symdecl_do:n { #1 }
+ \tl_set:Nn \l_stex_notation_after_do_tl {
+ \_@@_final:
+ \stex_smsmode_do:
+ }
+ \str_set:Nx \l_stex_get_symbol_uri_str {
+ \l_stex_current_module_str ? \l_stex_symdecl_name_str
+ }
+ \exp_args:Nx \stex_notation_do:nnnn
+ { \prop_item:cn {l_stex_symdecl_\l_stex_get_symbol_uri_str _prop } { args } }
+ { \prop_item:cn { l_stex_symdecl_\l_stex_get_symbol_uri_str _prop } { arity } }
+ { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+}
+\stex_deactivate_macro:Nn \symdef {module~environments}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Variables}
+%
+% \begin{macrocode}
+%<@@=stex_variables>
+
+\keys_define:nn { stex / vardef } {
+ name .str_set_x:N = \l_@@_name_str ,
+ args .str_set_x:N = \l_@@_args_str ,
+ type .tl_set:N = \l_@@_type_tl ,
+ def .tl_set:N = \l_@@_def_tl ,
+ op .tl_set:N = \l_@@_op_tl ,
+ prec .str_set_x:N = \l_@@_prec_str ,
+ assoc .choices:nn =
+ {bin,binl,binr,pre,conj,pwconj}
+ {\str_set:Nx \l_@@_assoctype_str {\l_keys_choice_tl}},
+ bind .choices:nn =
+ {forall,exists}
+ {\str_set:Nx \l_@@_bind_str {\l_keys_choice_tl}}
+}
+
+\cs_new_protected:Nn \_@@_args:n {
+ \str_clear:N \l_@@_name_str
+ \str_clear:N \l_@@_args_str
+ \str_clear:N \l_@@_prec_str
+ \str_clear:N \l_@@_assoctype_str
+ \str_clear:N \l_@@_bind_str
+ \tl_clear:N \l_@@_type_tl
+ \tl_clear:N \l_@@_def_tl
+ \tl_clear:N \l_@@_op_tl
+
+ \keys_set:nn { stex / vardef } { #1 }
+}
+
+\NewDocumentCommand \_@@_do_simple:nnn { m O{}} {
+ \_@@_args:n {#2}
+ \str_if_empty:NT \l_@@_name_str {
+ \str_set:Nx \l_@@_name_str { #1 }
+ }
+ \prop_clear:N \l_tmpa_prop
+ \prop_put:Nno \l_tmpa_prop { name } \l_@@_name_str
+
+ \int_zero:N \l_tmpb_int
+ \bool_set_true:N \l_tmpa_bool
+ \str_map_inline:Nn \l_@@_args_str {
+ \token_case_meaning:NnF ##1 {
+ 0 {} 1 {} 2 {} 3 {} 4 {} 5 {} 6 {} 7 {} 8 {} 9 {}
+ {\tl_to_str:n i} { \bool_set_false:N \l_tmpa_bool }
+ {\tl_to_str:n b} { \bool_set_false:N \l_tmpa_bool }
+ {\tl_to_str:n a} {
+ \bool_set_false:N \l_tmpa_bool
+ \int_incr:N \l_tmpb_int
+ }
+ {\tl_to_str:n B} {
+ \bool_set_false:N \l_tmpa_bool
+ \int_incr:N \l_tmpb_int
+ }
+ }{
+ \msg_error:nnxx{stex}{error/wrongargs}{
+ variable~\l_@@_name_str
+ }{##1}
+ }
+ }
+ \bool_if:NTF \l_tmpa_bool {
+ % possibly numeric
+ \str_if_empty:NTF \l_@@_args_str {
+ \prop_put:Nnn \l_tmpa_prop { args } {}
+ \prop_put:Nnn \l_tmpa_prop { arity } { 0 }
+ }{
+ \int_set:Nn \l_tmpa_int { \l_@@_args_str }
+ \prop_put:Nnx \l_tmpa_prop { arity } { \int_use:N \l_tmpa_int }
+ \str_clear:N \l_tmpa_str
+ \int_step_inline:nn \l_tmpa_int {
+ \str_put_right:Nn \l_tmpa_str i
+ }
+ \str_set_eq:NN \l_@@_args_str \l_tmpa_str
+ \prop_put:Nnx \l_tmpa_prop { args } { \l_@@_args_str }
+ }
+ } {
+ \prop_put:Nnx \l_tmpa_prop { args } { \l_@@_args_str }
+ \prop_put:Nnx \l_tmpa_prop { arity }
+ { \str_count:N \l_@@_args_str }
+ }
+ \prop_put:Nnx \l_tmpa_prop { assocs } { \int_use:N \l_tmpb_int }
+ \tl_set:cx { #1 }{ \stex_invoke_variable:n { \l_@@_name_str } }
+
+ \prop_set_eq:cN { l_stex_variable_\l_@@_name_str _prop} \l_tmpa_prop
+
+ \tl_if_empty:NF \l_@@_op_tl {
+ \cs_set:cpx {
+ stex_var_op_notation_ \l_@@_name_str _cs
+ } {
+ \_stex_term_omv:nn {
+ var://\l_@@_name_str
+ }{ \comp{ \exp_args:No \exp_not:n { \l_@@_op_tl } } }
+ }
+ }
+
+ \tl_set:Nn \l_stex_notation_after_do_tl {
+ \exp_args:Nne \use:nn {
+ \cs_generate_from_arg_count:cNnn { stex_var_notation_\l_@@_name_str _cs }
+ \cs_set:Npn { \prop_item:Nn \l_tmpa_prop { arity } }
+ } {{
+ \exp_after:wN \exp_after:wN \exp_after:wN
+ \exp_not:n \exp_after:wN \exp_after:wN \exp_after:wN
+ { \exp_after:wN \l_stex_notation_macrocode_cs \l_stex_notation_dummyargs_tl \stex_symbol_after_invocation_tl}
+ }}
+ \stex_if_do_html:T {
+ \stex_annotate_invisible:nnn {vardecl}{\l_@@_name_str}{
+ \stex_annotate_invisible:nnn { precedence }
+ { \l_@@_prec_str }{}
+ \tl_if_empty:NF \l_@@_type_tl {\stex_annotate_invisible:nnn{type}{}{$\l_@@_type_tl$}}
+ \stex_annotate_invisible:nnn{args}{}{ \l_@@_args_str }
+ \stex_annotate_invisible:nnn{macroname}{#1}{}
+ \tl_if_empty:NF \l_@@_def_tl {
+ \stex_annotate_invisible:nnn{definiens}{}
+ {$\l_@@_def_tl$}
+ }
+ \str_if_empty:NF \l_@@_assoctype_str {
+ \stex_annotate_invisible:nnn{assoctype}{\l_@@_assoctype_str}{}
+ }
+ \int_zero:N \l_tmpa_int
+ \str_set_eq:NN \l_@@_remaining_args_str \l_@@_args_str
+ \tl_clear:N \l_tmpa_tl
+ \int_step_inline:nn { \prop_item:Nn \l_tmpa_prop { arity } }{
+ \int_incr:N \l_tmpa_int
+ \str_set:Nx \l_tmpb_str { \str_head:N \l_@@_remaining_args_str }
+ \str_set:Nx \l_@@_remaining_args_str { \str_tail:N \l_@@_remaining_args_str }
+ \str_if_eq:VnTF \l_tmpb_str a {
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl {
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int a ,
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int b
+ } }
+ }{
+ \str_if_eq:VnTF \l_tmpb_str B {
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl {
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int a ,
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int b
+ } }
+ }{
+ \tl_set:Nx \l_tmpa_tl { \l_tmpa_tl {
+ \c_hash_str \c_hash_str \int_use:N \l_tmpa_int
+ } }
+ }
+ }
+ }
+ \stex_annotate_invisible:nnn { notationcomp }{}{
+ \str_set:Nx \l_stex_current_symbol_str {var://\l_@@_name_str }
+ $ \exp_args:Nno \use:nn { \use:c {
+ stex_var_notation_\l_@@_name_str _cs
+ } } { \l_tmpa_tl } $
+ }
+ }
+ }
+ }
+
+ \stex_notation_do:nnnn { \l_@@_args_str } { \prop_item:Nn \l_tmpa_prop { arity } } {}
+}
+
+\cs_new:Nn \_@@_reset:N {
+ \tl_if_exist:NTF #1 {
+ \def \exp_not:N #1 { \exp_args:No \exp_not:n #1 }
+ }{
+ \let \exp_not:N #1 \exp_not:N \undefined
+ }
+}
+
+\NewDocumentCommand \_@@_do_complex:nn { m m }{
+ \clist_set:Nx \l_@@_names { \tl_to_str:n {#1} }
+ \exp_args:Nnx \use:nn {
+ % TODO
+ \stex_annotate_invisible:nnn {vardecls}{\clist_use:Nn\l_@@_names,}{
+ #2
+ }
+ }{
+ \_@@_reset:N \varnot
+ \_@@_reset:N \vartype
+ \_@@_reset:N \vardefi
+ }
+}
+
+\NewDocumentCommand \vardef { s } {
+ \IfBooleanTF#1 {
+ \_@@_do_complex:nn
+ }{
+ \_@@_do_simple:nnn
+ }
+}
+
+\NewDocumentCommand \svar { O{} m }{
+ \tl_if_empty:nTF {#1}{
+ \str_set:Nn \l_tmpa_str { #2 }
+ }{
+ \str_set:Nn \l_tmpa_str { #1 }
+ }
+ \_stex_term_omv:nn {
+ var://\l_tmpa_str
+ }{ \comp{ #2 } }
+}
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
+
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:
diff --git a/macros/latex/contrib/stex/source/stex/terms.dtx b/macros/latex/contrib/stex/source/stex/terms.dtx
new file mode 100644
index 0000000000..94a71d0208
--- /dev/null
+++ b/macros/latex/contrib/stex/source/stex/terms.dtx
@@ -0,0 +1,1037 @@
+% \iffalse meta-comment
+% An Infrastructure for Semantic Macros and Module Scoping
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+%
+% TODO update copyright
+%
+%<*driver>
+\providecommand\bibfolder{../../lib/bib}
+\input{../../doc/docheader}
+
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{ \sTeX-Terms
+% \thanks{Version {\fileversion} (last revised {\filedate})}
+% }
+%
+% \author{Michael Kohlhase, Dennis Müller\\
+% FAU Erlangen-Nürnberg\\
+% \url{http://kwarc.info/}
+% }
+%
+% \maketitle
+%
+%\ifinfulldoc\else
+% This is the documentation for the \pkg{stex-terms} package.
+% For a more high-level introduction,
+% see \href{\basedocurl/manual.pdf}{the \sTeX Manual} or the
+% \href{\basedocurl/stex.pdf}{full \sTeX documentation}.
+%
+% \input{../../doc/packages/terms}
+% \fi
+%
+% \begin{documentation}\label{pkg:terms:doc}
+%
+% Code related to symbolic expressions, typesetting notations,
+% notation components, etc.
+%
+% \section{Macros and Environments}\label{pkg:terms:doc:macros}
+%
+% \begin{function}{\STEXsymbol}
+% Uses \cs{stex_get_symbol:n} to find the symbol denoted by
+% the first argument and passes the result on to
+% \cs{stex_invoke_symbol:n}
+% \end{function}
+%
+% \begin{function}{\symref}
+% \begin{syntax} \cs{symref}\Arg{symbol}\Arg{text} \end{syntax}
+% shortcut for \cs{STEXsymbol}\Arg{symbol}|![|\meta{text}|]|
+% \end{function}
+%
+% \begin{function}{\stex_invoke_symbol:n}
+% Executes a semantic macro. Outside of math mode or if followed by |*|,
+% it continues to \cs{stex_term_custom:nn}. In math mode,
+% it uses the default or optionally provided notation of
+% the associated symbol.
+%
+% If followed by |!|, it will invoke the symbol \emph{itself}
+% rather than its application (and continue to
+% \cs{stex_term_custom:nn}), i.e. it allows to refer to
+% |\plus![addition]| as an operation, rather than
+% |\plus[addition of]{some}{terms}|.
+% \end{function}
+%
+% \begin{function}{\_stex_term_math_oms:nnnn,\_stex_term_math_oma:nnnn,\_stex_term_math_omb:nnnn}
+% \begin{syntax} \meta{URI}\meta{fragment}\meta{precedence}\meta{body} \end{syntax}
+%
+% Annotates \meta{body} as an \omdoc-term (|OMID|, |OMA| or |OMBIND|, respectively)
+% with head symbol \meta{URI}, generated
+% by the specific notation \meta{fragment} with (upwards) operator precedence
+% \meta{precedence}. Inserts parentheses according to
+% the current downwards precedence and operator precedence.
+% \end{function}
+%
+% \begin{function}{\_stex_term_math_arg:nnn}
+% \begin{syntax} \cs{stex_term_arg:nnn}\meta{int}\meta{prec}\meta{body} \end{syntax}
+% Annotates \meta{body} as the \meta{int}th argument of the current |OMA| or |OMBIND|,
+% with (downwards) argument precedence \meta{prec}.
+% \end{function}
+%
+% \begin{function}{\_stex_term_math_assoc_arg:nnnn}
+% \begin{syntax} \cs{stex_term_arg:nnn}\meta{int}\meta{prec}\meta{notation}\meta{body} \end{syntax}
+% Annotates \meta{body} as the \meta{int}th (associative) \emph{sequence} argument
+% (as comma-separated list of terms) of the current |OMA| or |OMBIND|,
+% with (downwards) argument precedence \meta{prec} and associative
+% notation \meta{notation}.
+%
+% \end{function}
+%
+% \begin{variable}{\infprec, \neginfprec}
+% Maximal and minimal notation precedences.
+% \end{variable}
+%
+% \begin{function}{\dobrackets}
+% \begin{syntax} \cs{dobrackets} \Arg{body} \end{syntax}
+% Puts \meta{body} in parentheses; scaled if in display mode
+% unscaled otherwise. Uses the current \sTeX brackets (by default |(| and |)|),
+% which can be changed temporarily using \cs{withbrackets}.
+% \end{function}
+%
+% \begin{function}{\withbrackets}
+% \begin{syntax} \cs{withbrackets} \meta{left} \meta{right} \Arg{body} \end{syntax}
+% Temporarily (i.e. within \meta{body}) sets the brackets used by \sTeX for automated
+% bracketing (by default |(| and |)|) to \meta{left} and \meta{right}.
+%
+% Note that \meta{left} and \meta{right} need to be allowed
+% after \cs{left} and \cs{right} in displaymode.
+% \end{function}
+%
+% \begin{function}{\stex_term_custom:nn}
+% \begin{syntax} \cs{stex_term_custom:nn}\Arg{URI}\Arg{args}\end{syntax}
+% Implements custom one-time notation.
+% Invoked by \cs{stex_invoke_symbol:n} in text mode, or if
+% followed by |*| in math mode, or whenever followed by |!|.
+% \end{function}
+%
+% \begin{function}{\stex_highlight_term:nn}
+% \begin{syntax} \cs{stex_highlight_term:nn}\Arg{URI}\Arg{args}\end{syntax}
+% Establishes a context for \cs{comp}. Stores the URI in a variable
+% so that \cs{comp} knows which symbol governs the current notation.
+% \end{function}
+%
+% \begin{function}{\comp, \compemph,\compemph@uri, \defemph, \defemph@uri, \symrefemph,\symrefemph@uri}
+% \begin{syntax} \cs{comp}\Arg{args}\end{syntax}
+% Marks \meta{args} as a notation component of the current symbol for
+% highlighting, linking, etc.
+%
+% The precise behavior is governed by \cs{@comp}, which takes as
+% additional argument the URI of the current symbol. By default,
+% \cs{@comp} adds the URI as a PDF tooltip and colors the highlighted part
+% in blue.
+%
+% \cs{@defemph} behaves like \cs{@comp}, and can be similarly redefined,
+% but marks an expression as \emph{definiendum} (used by \cs{definiendum})
+% \end{function}
+%
+% \begin{function}{\STEXinvisible}
+% Exports its argument as \omdoc (invisible), but does
+% not produce PDF output. Useful e.g. for semantic macros
+% that take arguments that are not part of the symbolic
+% notation.
+% \end{function}
+%
+% \begin{function}{\ellipses}
+% TODO
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}\label{pkg:terms:impl}
+%
+% \section{\sTeX-Terms Implementation}
+%
+% \begin{macrocode}
+%<*package>
+
+%%%%%%%%%%%%% terms.dtx %%%%%%%%%%%%%
+
+%<@@=stex_terms>
+% \end{macrocode}
+%
+% Warnings and error messages
+%
+% \begin{macrocode}
+\msg_new:nnn{stex}{error/nonotation}{
+ Symbol~#1~invoked,~but~has~no~notation#2!
+}
+\msg_new:nnn{stex}{error/notationarg}{
+ Error~in~parsing~notation~#1
+}
+\msg_new:nnn{stex}{error/noop}{
+ Symbol~#1~has~no~operator~notation~for~notation~#2
+}
+\msg_new:nnn{stex}{error/notallowed}{
+ Symbol~invocation~#1~not~allowed~in~notation~component~of~#2
+}
+
+% \end{macrocode}
+% \subsection{Symbol Invocations}
+%
+%
+% \begin{macro}{\stex_invoke_symbol:n}
+%
+% Invokes a semantic macro
+%
+% \begin{macrocode}
+\keys_define:nn { stex / terms } {
+ lang .tl_set_x:N = \l_@@_lang_str ,
+ variant .tl_set_x:N = \l_@@_variant_str ,
+ unknown .code:n = \str_set:Nx
+ \l_@@_variant_str \l_keys_key_str
+}
+
+\cs_new_protected:Nn \_@@_args:n {
+ \str_clear:N \l_@@_lang_str
+ \str_clear:N \l_@@_variant_str
+
+ \keys_set:nn { stex / terms } { #1 }
+}
+
+\cs_new:Nn \_@@_reset:N {
+ \tl_if_exist:NTF #1 {
+ \def \exp_not:N #1 { \exp_args:No \exp_not:n #1 }
+ }{
+ \let \exp_not:N #1 \exp_not:N \undefined
+ }
+}
+
+\bool_new:N \l_@@_allow_semantic_bool
+\bool_set_true:N \l_@@_allow_semantic_bool
+
+\cs_new_protected:Nn \stex_invoke_symbol:n {
+ \bool_if:NTF \l_@@_allow_semantic_bool {
+ \str_if_eq:eeF {
+ \prop_item:cn {
+ l_stex_symdecl_#1_prop
+ }{ deprecate }
+ }{}{
+ \msg_warning:nnxx{stex}{warning/deprecated}{
+ Symbol~#1
+ }{
+ \prop_item:cn {l_stex_symdecl_#1_prop}{ deprecate }
+ }
+ }
+ \if_mode_math:
+ \exp_after:wN \_@@_invoke_math:n
+ \else:
+ \exp_after:wN \_@@_invoke_text:n
+ \fi: { #1 }
+ }{
+ \msg_error:nnxx{stex}{error/notallowed}{#1}{\l_stex_current_symbol_str}
+ }
+}
+
+\cs_new_protected:Nn \_@@_invoke_text:n {
+ \peek_charcode_remove:NTF ! {
+ \_@@_invoke_op_custom:nn {#1}
+ }{
+ \_@@_invoke_custom:nn {#1}
+ }
+}
+
+\cs_new_protected:Nn \_@@_invoke_math:n {
+ \peek_charcode_remove:NTF ! {
+ % operator
+ \peek_charcode_remove:NTF * {
+ % custom op
+ \_@@_invoke_op_custom:nn {#1}
+ }{
+ % op notation
+ \peek_charcode:NTF [ {
+ \_@@_invoke_op_notation:nw {#1}
+ }{
+ \_@@_invoke_op_notation:nw {#1}[]
+ }
+ }
+ }{
+ \peek_charcode_remove:NTF * {
+ \_@@_invoke_custom:nn {#1}
+ % custom
+ }{
+ % normal
+ \peek_charcode:NTF [ {
+ \_@@_invoke_notation:nw {#1}
+ }{
+ \_@@_invoke_notation:nw {#1}[]
+ }
+ }
+ }
+}
+
+
+\cs_new_protected:Nn \_@@_invoke_op_custom:nn {
+ \exp_args:Nnx \use:nn {
+ \str_set:Nn \l_stex_current_symbol_str { #1 }
+ \bool_set_false:N \l_@@_allow_semantic_bool
+ \_stex_term_oms:nnn {#1 \c_hash_str\c_hash_str}{#1}{
+ \comp{ #2 }
+ }
+ }{
+ \_@@_reset:N \l_stex_current_symbol_str
+ \bool_set_true:N \l_@@_allow_semantic_bool
+ }
+}
+
+\cs_new_protected:Nn \_@@_find_notation:nn {
+ \str_set:Nn \l_stex_current_symbol_str { #1 }
+ \_@@_args:n { #2 }
+ \seq_if_empty:cTF {
+ l_stex_symdecl_ #1 _notations
+ } {
+ \msg_error:nnxx{stex}{error/nonotation}{#1}{s}
+ } {
+ \bool_lazy_all:nTF {
+ {\str_if_empty_p:N \l_@@_variant_str}
+ {\str_if_empty_p:N \l_@@_lang_str}
+ }{
+ \seq_get_left:cN {l_stex_symdecl_#1_notations}\l_@@_variant_str
+ }{
+ \seq_if_in:cxTF {l_stex_symdecl_#1_notations}{
+ \l_@@_variant_str \c_hash_str \l_@@_lang_str
+ }{
+ \str_set:Nx \l_@@_variant_str { \l_@@_variant_str \c_hash_str \l_@@_lang_str }
+ }{
+ \msg_error:nnxx{stex}{error/nonotation}{#1}{
+ ~\l_@@_variant_str \c_hash_str \l_@@_lang_str
+ }
+ }
+ }
+ }
+}
+
+\cs_new_protected:Npn \_@@_invoke_op_notation:nw #1 [#2] {
+ \_@@_find_notation:nn { #1 }{ #2 }
+ \bool_set_false:N \l_@@_allow_semantic_bool
+ \cs_if_exist:cTF {
+ stex_op_notation_ #1 \c_hash_str \l_@@_variant_str _cs
+ }{
+ \use:c{stex_op_notation_ #1 \c_hash_str \l_@@_variant_str _cs}
+ }{
+ \msg_error:nnxx{stex}{error/noop}{#1}{\l_@@_variant_str}
+ }
+ \bool_set_true:N \l_@@_allow_semantic_bool
+}
+
+\cs_new_protected:Npn \_@@_invoke_notation:nw #1 [#2] {
+ \_@@_find_notation:nn { #1 }{ #2 }
+ \cs_if_exist:cTF {
+ stex_notation_ #1 \c_hash_str \l_@@_variant_str _cs
+ }{
+ \tl_set:Nx \stex_symbol_after_invocation_tl {
+ \_@@_reset:N \stex_symbol_after_invocation_tl
+ \_@@_reset:N \l_stex_current_symbol_str
+ \bool_set_true:N \l_@@_allow_semantic_bool
+ }
+ \bool_set_false:N \l_@@_allow_semantic_bool
+ \use:c{stex_notation_ #1 \c_hash_str \l_@@_variant_str _cs}
+ }{
+ \msg_error:nnxx{stex}{error/nonotation}{#1}{
+ ~\l_@@_variant_str
+ }
+ }
+}
+
+\prop_new:N \l_@@_custom_args_prop
+
+\cs_new_protected:Nn \_@@_invoke_custom:nn {
+ \exp_args:Nnx \use:nn {
+ \bool_set_false:N \l_@@_allow_semantic_bool
+ \str_set:Nn \l_stex_current_symbol_str { #1 }
+ \prop_clear:N \l_@@_custom_args_prop
+ \prop_put:Nnn \l_@@_custom_args_prop {currnum} {1}
+ \prop_get:cnN {
+ l_stex_symdecl_#1 _prop
+ }{ args } \l_tmpa_str
+ \prop_put:Nno \l_@@_custom_args_prop {args} \l_tmpa_str
+ \tl_set:Nn \arg { \_@@_arg: }
+ \str_if_empty:NTF \l_tmpa_str {
+ \_stex_term_oms:nnn {#1}{#1}{#2}
+ }{
+ \str_if_in:NnTF \l_tmpa_str b {
+ \_stex_term_ombind:nnn {#1}{#1}{#2}
+ }{
+ \str_if_in:NnTF \l_tmpa_str B {
+ \_stex_term_ombind:nnn {#1}{#1}{#2}
+ }{
+ \_stex_term_oma:nnn {#1}{#1}{#2}
+ }
+ }
+ }
+ % TODO check that all arguments exist
+ }{
+ \_@@_reset:N \l_stex_current_symbol_str
+ \_@@_reset:N \arg
+ \_@@_reset:N \l_@@_custom_args_prop
+ \bool_set_true:N \l_@@_allow_semantic_bool
+ }
+}
+
+\NewDocumentCommand \_@@_arg: { s O{} m}{
+ \tl_if_empty:nTF {#2}{
+ \int_set:Nn \l_tmpa_int {\prop_item:Nn \l_@@_custom_args_prop {currnum}}
+ \bool_set_true:N \l_tmpa_bool
+ \bool_do_while:Nn \l_tmpa_bool {
+ \exp_args:NNx \prop_if_in:NnTF \l_@@_custom_args_prop {\int_use:N \l_tmpa_int} {
+ \int_incr:N \l_tmpa_int
+ }{
+ \bool_set_false:N \l_tmpa_bool
+ }
+ }
+ }{
+ \int_set:Nn \l_tmpa_int { #2 }
+ \exp_args:NNx \prop_if_in:NnT \l_@@_custom_args_prop {\int_use:N \l_tmpa_int} {
+ % TODO throw error
+ }
+ }
+ \str_set:Nx \l_tmpa_str {\prop_item:Nn \l_@@_custom_args_prop {args} }
+ \int_compare:nNnT \l_tmpa_int > {\str_count:N \l_tmpa_str} {
+ % TODO throw error
+ }
+ \IfBooleanTF#1{
+ \stex_annotate_invisible:n {
+ \exp_args:No \_stex_term_arg:nn {\l_stex_current_symbol_str}{#3}
+ }
+ }{
+ \exp_args:No \_stex_term_arg:nn {\l_stex_current_symbol_str}{#3}
+ }
+}
+
+
+\cs_new_protected:Nn \_stex_term_arg:nn {
+ \exp_args:Nnx \use:nn {
+ \bool_set_true:N \l_@@_allow_semantic_bool
+ \stex_annotate:nnn{ arg }{ #1 }{ #2 }
+ }{
+ \bool_set_false:N \l_@@_allow_semantic_bool
+ }
+}
+
+\cs_new_protected:Nn \_stex_term_math_arg:nnn {
+ \exp_args:Nnx \use:nn
+ { \int_set:Nn \l_@@_downprec { #2 }
+ \_stex_term_arg:nn { #1 }{ #3 }
+ }
+ { \int_set:Nn \exp_not:N \l_@@_downprec { \int_use:N \l_@@_downprec } }
+}
+
+
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Terms}
+%
+% Precedences:
+% \begin{variable}{\infprec, \neginfprec, \l_@@_downprec}
+% \begin{macrocode}
+\tl_const:Nx \infprec {\int_use:N \c_max_int}
+\tl_const:Nx \neginfprec {-\int_use:N \c_max_int}
+\int_new:N \l_@@_downprec
+\int_set_eq:NN \l_@@_downprec \infprec
+% \end{macrocode}
+% \end{variable}
+%
+% Bracketing:
+%
+% \begin{variable}{\l_@@_left_bracket_str, \l_@@_right_bracket_str}
+% \begin{macrocode}
+\tl_set:Nn \l_@@_left_bracket_str (
+\tl_set:Nn \l_@@_right_bracket_str )
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\_@@_maybe_brackets:nn}
+%
+% Compares precedences and insert brackets accordingly
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_maybe_brackets:nn {
+ \bool_if:NTF \l_@@_brackets_done_bool {
+ \bool_set_false:N \l_@@_brackets_done_bool
+ #2
+ } {
+ \int_compare:nNnTF { #1 } > \l_@@_downprec {
+ \bool_if:NTF \l_stex_inparray_bool { #2 }{
+ \stex_debug:nn{dobrackets}{\number#1 > \number\l_@@_downprec; \detokenize{#2}}
+ \dobrackets { #2 }
+ }
+ }{ #2 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dobrackets}
+% \begin{macrocode}
+\bool_new:N \l_@@_brackets_done_bool
+%\RequirePackage{scalerel}
+\cs_new_protected:Npn \dobrackets #1 {
+ %\ThisStyle{\if D\m@switch
+ % \exp_args:Nnx \use:nn
+ % { \exp_after:wN \left\l_@@_left_bracket_str #1 }
+ % { \exp_not:N\right\l_@@_right_bracket_str }
+ % \else
+ \exp_args:Nnx \use:nn
+ {
+ \bool_set_true:N \l_@@_brackets_done_bool
+ \int_set:Nn \l_@@_downprec \infprec
+ \l_@@_left_bracket_str
+ #1
+ }
+ {
+ \bool_set_false:N \l_@@_brackets_done_bool
+ \l_@@_right_bracket_str
+ \int_set:Nn \l_@@_downprec { \int_use:N \l_@@_downprec }
+ }
+ %\fi}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\withbrackets}
+% \begin{macrocode}
+\cs_new_protected:Npn \withbrackets #1 #2 #3 {
+ \exp_args:Nnx \use:nn
+ {
+ \tl_set:Nx \l_@@_left_bracket_str { #1 }
+ \tl_set:Nx \l_@@_right_bracket_str { #2 }
+ #3
+ }
+ {
+ \tl_set:Nn \exp_not:N \l_@@_left_bracket_str
+ {\l_@@_left_bracket_str}
+ \tl_set:Nn \exp_not:N \l_@@_right_bracket_str
+ {\l_@@_right_bracket_str}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\STEXinvisible}
+% \begin{macrocode}
+\cs_new_protected:Npn \STEXinvisible #1 {
+ \stex_annotate_invisible:n { #1 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \omdoc terms:
+%
+% \begin{macro}{\_stex_term_math_oms:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Nn \_stex_term_oms:nnn {
+ \stex_annotate:nnn{ OMID }{ #2 }{
+ \stex_highlight_term:nn { #1 } { #3 }
+ }
+}
+
+\cs_new_protected:Nn \_stex_term_math_oms:nnnn {
+ \_@@_maybe_brackets:nn { #3 }{
+ \_stex_term_oms:nnn { #1 } { #1\c_hash_str#2 } { #4 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_stex_term_math_omv:nn}
+% \begin{macrocode}
+\cs_new_protected:Nn \_stex_term_omv:nn {
+ \stex_annotate:nnn{ OMID }{ #1 }{
+ \stex_highlight_term:nn { #1 } { #2 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_stex_term_math_oma:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Nn \_stex_term_oma:nnn {
+ \stex_annotate:nnn{ OMA }{ #2 }{
+ \stex_highlight_term:nn { #1 } { #3 }
+ }
+}
+
+\cs_new_protected:Nn \_stex_term_math_oma:nnnn {
+ \_@@_maybe_brackets:nn { #3 }{
+ \_stex_term_oma:nnn { #1 } { #1\c_hash_str#2 } { #4 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_stex_term_math_omb:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Nn \_stex_term_ombind:nnn {
+ \stex_annotate:nnn{ OMBIND }{ #2 }{
+ \stex_highlight_term:nn { #1 } { #3 }
+ }
+}
+
+\cs_new_protected:Nn \_stex_term_math_omb:nnnn {
+ \_@@_maybe_brackets:nn { #3 }{
+ \_stex_term_ombind:nnn { #1 } { #1\c_hash_str#2 } { #4 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_stex_term_math_assoc_arg:nnnn}
+% \begin{macrocode}
+\cs_new_protected:Nn \_stex_term_math_assoc_arg:nnnn {
+ % TODO sequences
+ \clist_set:Nn \l_tmpa_clist{ #3 }
+ \int_compare:nNnTF { \clist_count:N \l_tmpa_clist } < 2 {
+ \tl_set:Nn \l_tmpa_tl { #3 }
+ }{
+ \cs_set:Npn \l_tmpa_cs ##1 ##2 { #4 }
+ \clist_reverse:N \l_tmpa_clist
+ \clist_pop:NN \l_tmpa_clist \l_tmpa_tl
+
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:NNNo \exp_args:NNo \tl_set:No \l_tmpa_tl {
+ \exp_args:Nno
+ \l_tmpa_cs { ##1 } \l_tmpa_tl
+ }
+ }
+ }
+ \exp_args:Nnno
+ \_stex_term_math_arg:nnn{#1}{#2}\l_tmpa_tl
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\stex_term_custom:nn}
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_term_custom:nn {
+ \str_set:Nn \l_@@_custom_uri { #1 }
+ \str_set:Nn \l_tmpa_str { #2 }
+ \tl_clear:N \l_tmpa_tl
+ \int_zero:N \l_tmpa_int
+ \int_set:Nn \l_tmpb_int { \str_count:N \l_tmpa_str }
+ \_@@_custom_loop:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_custom_loop:}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_custom_loop: {
+ \bool_set_false:N \l_tmpa_bool
+ \bool_while_do:nn {
+ \str_if_eq_p:ee X {
+ \str_item:Nn \l_tmpa_str { \l_tmpa_int + 1 }
+ }
+ }{
+ \int_incr:N \l_tmpa_int
+ }
+
+ \peek_charcode:NTF [ {
+ % notation/text component
+ \_@@_custom_component:w
+ } {
+ \int_compare:nNnTF \l_tmpa_int = \l_tmpb_int {
+ % all arguments read => finish
+ \_@@_custom_final:
+ } {
+ % arguments missing
+ \peek_charcode_remove:NTF * {
+ % invisible, specific argument position or both
+ \peek_charcode:NTF [ {
+ % visible specific argument position
+ \_@@_custom_arg:wn
+ } {
+ % invisible
+ \peek_charcode_remove:NTF * {
+ % invisible specific argument position
+ \_@@_custom_arg_inv:wn
+ } {
+ % invisible next argument
+ \_@@_custom_arg_inv:wn [ \l_tmpa_int + 1 ]
+ }
+ }
+ } {
+ % next normal argument
+ \_@@_custom_arg:wn [ \l_tmpa_int + 1 ]
+ }
+ }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_custom_arg_inv:wn}
+% \begin{macrocode}
+\cs_new_protected:Npn \_@@_custom_arg_inv:wn [ #1 ] #2 {
+ \bool_set_true:N \l_tmpa_bool
+ \_@@_custom_arg:wn [ #1 ] { #2 }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_custom_arg:wn}
+% \begin{macrocode}
+\cs_new_protected:Npn \_@@_custom_arg:wn [ #1 ] #2 {
+ \str_set:Nx \l_tmpb_str {
+ \str_item:Nn \l_tmpa_str { #1 }
+ }
+ \str_case:VnTF \l_tmpb_str {
+ { X } {
+ \msg_error:nnx{stex}{error/notationarg}{\l_@@_custom_uri}
+ }
+ { i } { \_@@_custom_set_X:n { #1 } }
+ { b } { \_@@_custom_set_X:n { #1 } }
+ { a } { \_@@_custom_set_X:n { #1 } } % TODO ?
+ { B } { \_@@_custom_set_X:n { #1 } } % TODO ?
+ }{}{
+ \msg_error:nnx{stex}{error/notationarg}{\l_@@_custom_uri}
+ }
+
+ \bool_if:nTF \l_tmpa_bool {
+ \tl_put_right:Nx \l_tmpa_tl {
+ \stex_annotate_invisible:n {
+ \_stex_term_arg:nn { \int_eval:n { #1 } }
+ \exp_not:n { { #2 } }
+ }
+ }
+ } {
+ \tl_put_right:Nx \l_tmpa_tl {
+ \_stex_term_arg:nn { \int_eval:n { #1 } }
+ \exp_not:n { { #2 } }
+ }
+ }
+
+ \_@@_custom_loop:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_custom_set_X:n}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_custom_set_X:n {
+ \str_set:Nx \l_tmpa_str {
+ \str_range:Nnn \l_tmpa_str 1 { #1 - 1 }
+ X
+ \str_range:Nnn \l_tmpa_str { #1 + 1 } { -1 }
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_custom_component:}
+% \begin{macrocode}
+\cs_new_protected:Npn \_@@_custom_component:w [ #1 ] {
+ \tl_put_right:Nn \l_tmpa_tl { \comp{ #1 } }
+ \_@@_custom_loop:
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\_@@_custom_final:}
+% \begin{macrocode}
+\cs_new_protected:Nn \_@@_custom_final: {
+ \int_compare:nNnTF \l_tmpb_int = 0 {
+ \exp_args:Nnno \_stex_term_oms:nnn
+ }{
+ \str_if_in:NnTF \l_tmpa_str {b} {
+ \exp_args:Nnno \_stex_term_ombind:nnn
+ } {
+ \exp_args:Nnno \_stex_term_oma:nnn
+ }
+ }
+ { \l_@@_custom_uri } { \l_@@_custom_uri } { \l_tmpa_tl }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\symref,\symname}
+% \begin{macrocode}
+\cs_new:Nn \stex_capitalize:n { \uppercase{#1} }
+
+\keys_define:nn { stex / symname } {
+ pre .tl_set_x:N = \l_@@_pre_tl ,
+ post .tl_set_x:N = \l_@@_post_tl ,
+ root .tl_set_x:N = \l_@@_root_tl
+}
+
+\cs_new_protected:Nn \stex_symname_args:n {
+ \tl_clear:N \l_@@_post_tl
+ \tl_clear:N \l_@@_pre_tl
+ \tl_clear:N \l_@@_root_str
+ \keys_set:nn { stex / symname } { #1 }
+}
+
+\NewDocumentCommand \symref { m m }{
+ \let\compemph_uri_prev:\compemph@uri
+ \let\compemph@uri\symrefemph@uri
+ \STEXsymbol{#1}!{ #2 }
+ \let\compemph@uri\compemph_uri_prev:
+}
+
+\NewDocumentCommand \synonym { O{} m m}{
+ \stex_symname_args:n { #1 }
+ \let\compemph_uri_prev:\compemph@uri
+ \let\compemph@uri\symrefemph@uri
+ % TODO
+ \STEXsymbol{#2}!{\l_@@_pre_tl #3 \l_@@_post_tl}
+ \let\compemph@uri\compemph_uri_prev:
+}
+
+\NewDocumentCommand \symname { O{} m }{
+ \stex_symname_args:n { #1 }
+ \stex_get_symbol:n { #2 }
+ \str_set:Nx \l_tmpa_str {
+ \prop_item:cn { l_stex_symdecl_ \l_stex_get_symbol_uri_str _prop } { name }
+ }
+ \exp_args:NNno \str_replace_all:Nnn \l_tmpa_str {-} {~}
+
+ \let\compemph_uri_prev:\compemph@uri
+ \let\compemph@uri\symrefemph@uri
+ \exp_args:NNx \use:nn
+ \stex_invoke_symbol:n { { \l_stex_get_symbol_uri_str }!{
+ \l_@@_pre_tl \l_tmpa_str \l_@@_post_tl
+ } }
+ \let\compemph@uri\compemph_uri_prev:
+}
+
+\NewDocumentCommand \Symname { O{} m }{
+ \stex_symname_args:n { #1 }
+ \stex_get_symbol:n { #2 }
+ \str_set:Nx \l_tmpa_str {
+ \prop_item:cn { l_stex_symdecl_ \l_stex_get_symbol_uri_str _prop } { name }
+ }
+ \exp_args:NNno \str_replace_all:Nnn \l_tmpa_str {-} {~}
+ \let\compemph_uri_prev:\compemph@uri
+ \let\compemph@uri\symrefemph@uri
+ \exp_args:NNx \use:nn
+ \stex_invoke_symbol:n { { \l_stex_get_symbol_uri_str }!{
+ \exp_after:wN \stex_capitalize:n \l_tmpa_str
+ \l_@@_post_tl
+ } }
+ \let\compemph@uri\compemph_uri_prev:
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Notation Components}
+% \begin{macrocode}
+%<@@=stex_notationcomps>
+% \end{macrocode}
+%
+%
+% \begin{macro}{\stex_highlight_term:nn}
+% \begin{macrocode}
+
+\str_new:N \l_stex_current_symbol_str
+\cs_new_protected:Nn \stex_highlight_term:nn {
+ \exp_args:Nnx
+ \use:nn {
+ \str_set:Nx \l_stex_current_symbol_str { #1 }
+ #2
+ } {
+ \str_set:Nx \exp_not:N \l_stex_current_symbol_str
+ { \l_stex_current_symbol_str }
+ }
+}
+
+\cs_new_protected:Nn \stex_unhighlight_term:n {
+% \latexml_if:TF {
+% #1
+% } {
+% \rustex_if:TF {
+% #1
+% } {
+ #1 %\iffalse{{\fi}} #1 {{\iffalse}}\fi
+% }
+% }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\comp,\compemph@uri,\compemph,\defemph,\defemph@uri,\symrefemph,\symrefemph@uri}
+% \begin{macrocode}
+\cs_new_protected:Npn \comp #1 {
+ \str_if_empty:NF \l_stex_current_symbol_str {
+ \rustex_if:TF {
+ \stex_annotate:nnn { comp }{ \l_stex_current_symbol_str }{ #1 }
+ }{
+ \exp_args:Nnx \compemph@uri { #1 } { \l_stex_current_symbol_str }
+ }
+ }
+}
+
+\cs_new_protected:Npn \compemph@uri #1 #2 {
+ \compemph{ #1 }
+}
+
+
+\cs_new_protected:Npn \compemph #1 {
+ #1
+}
+
+\cs_new_protected:Npn \defemph@uri #1 #2 {
+ \defemph{#1}
+}
+
+\cs_new_protected:Npn \defemph #1 {
+ \textbf{#1}
+}
+
+\cs_new_protected:Npn \symrefemph@uri #1 #2 {
+ \symrefemph{#1}
+}
+
+\cs_new_protected:Npn \symrefemph #1 {
+ \textbf{#1}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\ellipses}
+% \begin{macrocode}
+\NewDocumentCommand \ellipses {} { \ldots }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\parray,\prmatrix,\parrayline,\parraylineh,\parraycell}
+% \begin{macrocode}
+\bool_new:N \l_stex_inparray_bool
+\bool_set_false:N \l_stex_inparray_bool
+\NewDocumentCommand \parray { m m } {
+ \begingroup
+ \bool_set_true:N \l_stex_inparray_bool
+ \begin{array}{#1}
+ #2
+ \end{array}
+ \endgroup
+}
+
+\NewDocumentCommand \prmatrix { m } {
+ \begingroup
+ \bool_set_true:N \l_stex_inparray_bool
+ \begin{matrix}
+ #1
+ \end{matrix}
+ \endgroup
+}
+
+\def \maybephline {
+ \bool_if:NT \l_stex_inparray_bool {\hline}
+}
+
+\def \parrayline #1 #2 {
+ #1 #2 \bool_if:NT \l_stex_inparray_bool {\\}
+}
+
+\def \pmrow #1 { \parrayline{}{ #1 } }
+
+\def \parraylineh #1 #2 {
+ #1 #2 \bool_if:NT \l_stex_inparray_bool {\\\hline}
+}
+
+\def \parraycell #1 {
+ #1 \bool_if:NT \l_stex_inparray_bool {&}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Variables}
+% \begin{macrocode}
+%<@@=stex_variables>
+% \end{macrocode}
+%
+% \begin{macro}{\stex_invoke_variable:n}
+%
+% Invokes a variable
+%
+% \begin{macrocode}
+\cs_new_protected:Nn \stex_invoke_variable:n {
+ \if_mode_math:
+ \exp_after:wN \_@@_invoke_math:n
+ \else:
+ \exp_after:wN \_@@_invoke_text:n
+ \fi: {#1}
+}
+
+\cs_new_protected:Nn \_@@_invoke_text:n {
+ %TODO
+}
+
+
+\cs_new_protected:Nn \_@@_invoke_math:n {
+ \peek_charcode_remove:NTF ! {
+ \peek_charcode_remove:NTF ! {
+ \peek_charcode:NTF [ {
+ \_@@_invoke_op_custom:nw
+ }{
+ % TODO throw error
+ }
+ }{
+ \_@@_invoke_op:n { #1 }
+ }
+ }{
+ \peek_charcode_remove:NTF * {
+ \_@@_invoke_text:n { #1 }
+ }{
+ \_@@_invoke_math_ii:n { #1 }
+ }
+ }
+}
+
+\cs_new_protected:Nn \_@@_invoke_op:n {
+ \cs_if_exist:cTF {
+ stex_var_op_notation_ #1 _cs
+ }{
+ \use:c{stex_var_op_notation_ #1 _cs }
+ }{
+ \msg_error:nnxx{stex}{error/noop}{variable~#1}{}
+ }
+}
+
+\cs_new_protected:Npn \_@@_invoke_math_ii:n #1 {
+ \cs_if_exist:cTF {
+ stex_var_notation_#1_cs
+ }{
+ \str_set:Nn \l_stex_current_symbol_str { #1 }
+ \use:c{stex_var_notation_#1_cs}
+ }{
+ \msg_error:nnxx{stex}{error/nonotation}{variable~#1}{s}
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
+
+% \endinput
+% Local Variables:
+% mode: doctex
+% TeX-master: t
+% End:
diff --git a/macros/latex/contrib/stex/sty/cmath/README b/macros/latex/contrib/stex/sty/cmath/README
deleted file mode 100644
index 79e7d919e5..0000000000
--- a/macros/latex/contrib/stex/sty/cmath/README
+++ /dev/null
@@ -1,10 +0,0 @@
-cmath.sty: An Infrastructure for Building Inline Content Math in sTeX
-
-This package supplies an infrastructure that allows to specify to build inline content math
-structures as strict content MathML or OpenMath objects.
-
-Copyright (c) 2011 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/cmath/cmath.dtx b/macros/latex/contrib/stex/sty/cmath/cmath.dtx
deleted file mode 100644
index 109d658e46..0000000000
--- a/macros/latex/contrib/stex/sty/cmath/cmath.dtx
+++ /dev/null
@@ -1,330 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for Presenting Semantic Macros in sTeX
-% Copyright (C) 2004-2007 Michael Kohlhase, all rights reserved
-% This file is released under the LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{cmath}[2019/03/20 v0.1 inline content math]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float,amstext,alltt}
-\usepackage{modules,cmath,stex-logo}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{cmath.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{84}
-%
-% \changes{v0.2}{2016/02/12}{First Version with Documentation, extracted variables stuff
-% from \texttt{presentation.dtx}}
-% \changes{v0.2}{2016/02/12}{reinstating id macros from \texttt{latexml.sty}}
-% \GetFileInfo{cmath.sty}
-%
-% \MakeShortVerb{\|}
-%\def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\xml{\scsys{Xml}}
-% \def\mathml{\scsys{MathML}}
-% \def\omdoc{\scsys{OMDoc}}
-% \def\openmath{\scsys{OpenMath}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\perl{\scsys{Perl}}
-% \def\cmathml{Content-{\sc MathML}\index{Content {\sc MathML}}\index{MathML@{\sc MathML}!content}}
-% \def\activemath{\scsys{ActiveMath}}
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-% \title{{\texttt{cmath.sty}}: An Infrastructure for building Inline Content Math in
-% {\stex}\thanks{Version {\fileversion} (last revised {\filedate})}}
-% \author{Michael Kohlhase \\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}\and
-% Deyan Ginev\\Authorea}
-% \date{\today}
-% \maketitle
-%
-% \begin{abstract}
-% The |cmath| package is a central part of the {\stex} collection, a version of
-% {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX} documents semantically without
-% leaving the document format, essentially turning {\TeX/\LaTeX} into a document format
-% for mathematical knowledge management (MKM).
-%
-% This package supplies an infrastructure that allows to build content math expressions
-% (strict content MathML or OpenMath objects) in the text. This is needed whenever the
-% head symbols of expressions are variables and can thus not be treated via the
-% |\symdef| mechanism in \stex.
-% \end{abstract}
-%
-% \newpage\setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-%\section{Introduction}\label{sec:intro}
-%
-% \stex allows to build content math expressions via the |\symdef|
-% mechanism~\cite{KohAmb:smmssl:ctan} if their heads are constants. For instance, if we
-% have defined |\symdef{lt}[2]{#1<#2}| in the module |relation1|, then an invocation of
-% |\lt3a| will be transformed to
-% \begin{verbatim}
-% <OMA>
-% <OMS cd="relation1" name="lt"/>
-% <OMI>3</OMI>
-% <OMV name="a"/>
-% </OMA>
-% \end{verbatim}
-% If the head of the expression (i.e. the function symbol in this case) is a variable,
-% then we cannot resort to a |\symdef|, since that would define the functional equivalent
-% of a logical constant. Sometimes, {\latexml} can figure out that when we write $f(a,b)$
-% that $f$ is a function (especially, if we declare them to be via the |functions=| key in
-% the dominating statement environment~\cite{Kohlhase:smmtf:ctan}). But sometimes, we want
-% to be explicit, especially for $n$-ary functions and in the presence of elided elements
-% in argument sequences. A related problem is markup for complex variable names, such as
-% $x_{\text{left}}$ or $ST^*$.
-%
-% The |cmath| package supplies the {\LaTeX} bindings that allow us to
-% achieve this.
-%
-% \section{The User Interface}\label{sec:user}
-%
-% \subsection{Variable Names}\label{sec:inter:vname}
-%
-% In mathematics we often use complex variable names like $x'$, $g_n$, $f^1$,
-% $\widetilde\phi_i^j$ or even $foo$; for presentation-oriented {\LaTeX}, this is not a
-% problem, but if we want to generate content markup, we must show
-% explicitly that those are complex identifiers (otherwise the
-% variable name $foo$ might be mistaken for the product $f\cdot
-% o\cdot o$). In careful mathematical typesetting, |$sin$| is distinguished from |$\sin$|,
-% but we cannot rely on this effect for variable names.
-%
-% \DescribeMacro{\vname} |\vname| identifies a token sequence as a name, and allows the
-% user to provide an ASCII ({\xml}-compatible) identifier for it. The optional argument is
-% the identifier, and the second one the LaTeX representation. The identifier can also be
-% used with \DescribeMacro{\vname} |\vnref| for referencing. So, if we have used
-% |\vnname[xi]{x_i}|, then we can later use |\vnref{xi}| as a short name for
-% |\vname{x_i}|. Note that in output formats that are capable of generating structure
-% sharing, |\vnref{xi}| would be represented as a
-% cross-reference.\ednote{DG: Do we know whether using the same name
-% in two vname invocations, would refer to two instances of the same variable? Presumably so, since the names are the same? We should make this explicit in the
-% text. A different variable would e.g. have a name ``xi2'', but the same body}
-%
-% Since indexed variable names make a significant special case of complex identifiers, we
-% provides the macros \DescribeMacro{\livar}|\livar| that allows to mark up variables with
-% lower indices. If |\livar| is given an optional first argument, this is taken as a
-% name. Thus |\livar[foo]{x}1| is ``short'' for |\vname[foo]{x_1}|. The macros
-% \DescribeMacro{\livar}|\livar|, serve the analogous purpose for variables with upper
-% indices, and \DescribeMacro{\ulivar}|\ulivar| for upper and lower indices. Finally,
-% \DescribeMacro{\primvar}|\primvar| and \DescribeMacro{\pprimvar}|\pprimvar| do the same
-% for variables with primes and double primes (triple primes are bad style).
-%
-% \subsection{Applications}\label{sec:user:appl}
-%
-% To construct a content math application of the form $f(a_1,\ldots,a_n)$ with concrete
-% arguments $a_i$ (i.e. without elisions), then we can use the
-% \DescribeMacro{\nappa}|\nappa| macro. If we have elisions in the arguments, then we
-% have to interpret the arguments as a sequence of argument constructors applied to the
-% respective positional indexes. We can mark up this situation with the
-% \DescribeMacro{\nappf}|\nappf| macro:
-% |\nappf{|\meta{fun}|}{|\meta{const}|}{|\meta{first}|}{|\meta{last}|}| where \meta{const}
-% is a macro for the constructor is presented as
-% $\meta{fun}(\meta{const}\meta{first},\ldots,\meta{const}\meta{last})$; see
-% Figure~\ref{fig:application} for a concrete example, and
-% Figure~\ref{fig:application-result}.\ednote{MK@MK: we need a meta-cd |cmath| with the
-% respective notation definition here. It is very frustrating that we cannot even really
-% write down the axiomatization of flexary constants in OpenMath.}
-%
-% \begin{figure}\centering
-% \begin{tabular}{|l|l|}\hline
-% \verb|\nappa{f}{a_1,a_2,a_3}| & $\nappa{f}{a_1,a_2,a_3}$\\\hline
-% \verb|\nappe{f}{a_1}{a_n}| & $\nappe{f}{a_1}{a_n}$\\\hline
-% \verb|\symdef{eph}[1]{e_{#1}^{\varphi(#1)}}|& $\def\foo#1{e_{#1}^{\varphi(#1)}}\nappf{g}\foo14$\\
-% \verb|\nappf{g}\eph14|
-% & \\\hline
-% \verb|\nappli{f}a1n| & $\nappli{f}a1n$\\\hline
-% \verb|\nappui{f}a1n| & $\nappui{f}a1n$\\\hline
-% \end{tabular}
-% \caption{Application Macros}\label{fig:application}
-% \end{figure}
-%
-% For a simple elision in the arguments, we can use
-% \DescribeMacro{\nappe}|\nappe{|\meta{fun}|}{|\meta{first}|}{|\meta{last}|}| will be
-% formatted as $\meta{fun}(\meta{first},\ldots,\meta{last})$. Note that this is quite
-% un-semantic (we have to guess the sequence), so the use of |\nappe| is discouraged.
-%
-% A solution to this situation is if we can think of the arguments as a finite sequence
-% $a=:(a_i)_{l\leq i\leq h}$, then we can use \DescribeMacro
-% {\nappli}|\nappli{|\meta{fun}|}{|\meta{seq}|}{|\meta{start}|}{|\meta{end}|}|, where
-% \meta{seq} is the sequence, and the remaining arguments are the start and end index. The
-% \DescribeMacro{\nappui} works like |\nappli|, but uses upper indices in the
-% presentation.
-%
-% \begin{exfig}\centering
-% \begin{verbatim}
-% \symdef{eph}[1]{e_{#1}^{\phi(#1)}}
-% \nappf{g}\eph14
-% \end{verbatim}
-% currently generates
-% \begin{verbatim}
-% <OMA>
-% <OMS cd="cmath" name="apply-from-to"/>
-% <OMV name="g"/>
-% <OMBIND>
-% <OMS cd="fns1" name="lambda"/>
-% <OMBVAR><OMV name="x"/></OMBVAR>
-% <OMA><OMS cd="???" name="eph"/><OMV name="x"/></OMA>
-% </OMBIND>
-% <OMI>1</OMI>
-% <OMI>4</OMI>
-% </OMA>
-% \end{verbatim}
-% \caption{Application Macros}\label{fig:application-result}
-% \end{exfig}
-%
-% \subsection{Binders}\label{sec:user:bind}
-%\ednote{MK: document}
-%
-% \subsection{Sharing}\label{sec:user:sharing}
-% We (currently) use the
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-%
-% \section{The Implementation}\label{sec:implementation}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% The |cmath| package does not take options (at the moment), but we pass any we get to the
-% |presentation| package.
-%
-% \begin{macrocode}
-%<*package>
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{presentation}}
-\ProcessOptions
-% \end{macrocode}
-%
-% The next measure is to ensure that some {\sTeX} packages are loaded. For {\latexml}, we
-% also initialize the package inclusions, there we do not need |ntheorem|, since the XML
-% does not do the presentation.
-% \begin{macrocode}
-\RequirePackage{presentation}
-% \end{macrocode}
-
-% \subsection{Variable Names}\label{sec:impl:vname}
-%
-% \begin{macro}{\vname}
-% a name macro; the first optional argument is an identifier \meta{id}, this is standard
-% for {\LaTeX}, but for {\latexml}, we want to generate attributes
-% |xml:id="cvar.|\meta{id}|"| and |name="|\meta{id}|"|. However, if no id was given in
-% we default them to |xml:id="cvar.|\meta{count}|"| and
-% |name="name.cvar.|\meta{count}|"|.
-% \begin{macrocode}
-\newcommand\vname[2][]{#2%
-\def\@opt{#1}%
-\ifx\@opt\@empty\else\expandafter\gdef\csname MOD@name@#1\endcsname{#2}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\vnref}
-% \begin{macrocode}
-\def\vnref#1{\csname MOD@name@#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-% \ednote{the following macros are just ideas, they need to be implemented and documented}
-% \begin{macro}{\uivar}
-% constructors for variables.
-% \begin{macrocode}
-\newcommand\primvar[2][]{\vname[#1]{#2^\prime}}
-\newcommand\pprimvar[2][]{\vname[#1]{#2^{\prime\prime}}}
-\newcommand\uivar[3][]{\vname[#1]{{#2}^{#3}}}
-\newcommand\livar[3][]{\vname[#1]{{#2}_{#3}}}
-\newcommand\ulivar[4][]{\vname[#1]{{#2}^{#3}_{#4}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Applications}\label{sec:impl:appl}
-%
-% \begin{macro}{\napp*}
-% \ednote{document keyval args above and implement them in LaTeXML}
-% \begin{macrocode}
-\newcommand\nappa[3][]{\prefix[#1]{#2}{#3}}
-\newcommand\nappe[4][]{\nappa[#1]{#2}{#3,\ldots,#4}}
-\newcommand\nappf[5][]{\nappe[#1]{#2}{#3{#4}}{#3{#5}}}
-\newcommand\nappli[5][]{\nappe[#1]{#2}{#3_{#4}}{#3_{#5}}}
-\newcommand\nappui[5][]{\nappe[#1]{#2}{#3^{#4}}{#3^{#5}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\anapp*}
-% \ednote{document anapp* and implement in LaTeXML (i.e. get the presentation
-% information into the OM/MathML).}
-% \begin{macrocode}
-\newcommand\anappa[3][]{\assoc[#1]{#2}{#3}}
-\newcommand\anappe[4][]{\anappa[#1]{#2}{#3,\ldots,#4}}
-\newcommand\anappf[5][]{\anappe[#1]{#2}{#3{#4}}{#3{#5}}}
-\newcommand\anappli[5][]{\anappe[#1]{#2}{#3_{#4}}{#3_{#5}}}
-\newcommand\anappui[5][]{\anappe[#1]{#2}{#3^{#4}}{#3^{#5}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Binders}\label{sec:impl:bind}
-%
-% \subsection{Sharing}\label{sec:user:sharing}
-% These macros are lifted from Bruce Miller's |latexml.sty|, we do not want the rest.
-% \begin{macro}{\LXMID}
-% \begin{macrocode}
-\def\LXMID#1#2{\expandafter\gdef\csname xmarg#1\endcsname{#2}\csname xmarg#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\LXMRef}
-% \begin{macrocode}
-\def\LXMRef#1{\csname xmarg#1\endcsname}
-%</package>
-% \end{macrocode}
-% \end{macro}
-% \Finale
-\endinput
-%
-% Local Variables:
-% mode: doctex
-% TeX-master: t
-% End:
-%
-% LocalWords: iffalse NeedsTeXFormat cmath cmath.dtx texttt presentation.dtx scsys sc
-% LocalWords: sc mathml omdoc latexml cmathml activemath twintoo atwin atwintoo stex lt
-% LocalWords: fileversion filedate maketitle symdef newpage setcounter tocdepth newpage
-% LocalWords: tableofcontents ary widetilde cdot vname vname vnref vnname ednote livar
-% LocalWords: livar ulivar ulivar primvar primvar pprimvar pprimvar ldots nappa nappa
-% LocalWords: nappf nappf hline nappe eph varphi nappli nappli firstarg lastarg exfig
-% LocalWords: compactenum printbibliography textsf langle rangle textsf langle rangle
-% LocalWords: ltxml cvar newcommand ifx expandafter gdef csname endcsname ltx uivar leq
-% LocalWords: napp nappui sequencefromto endinput seq
-
diff --git a/macros/latex/contrib/stex/sty/cmath/cmath.ins b/macros/latex/contrib/stex/sty/cmath/cmath.ins
deleted file mode 100644
index 417eb8500e..0000000000
--- a/macros/latex/contrib/stex/sty/cmath/cmath.ins
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex cmath.ins
-%%
-%% Copyright(c) 2011 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{cmath.sty}{\from{cmath.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-
-\nopreamble\nopostamble
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/cmath/cmath.pdf b/macros/latex/contrib/stex/sty/cmath/cmath.pdf
deleted file mode 100644
index d5ceb08c58..0000000000
--- a/macros/latex/contrib/stex/sty/cmath/cmath.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/dcm/README b/macros/latex/contrib/stex/sty/dcm/README
deleted file mode 100644
index 34ce1bcdb9..0000000000
--- a/macros/latex/contrib/stex/sty/dcm/README
+++ /dev/null
@@ -1,9 +0,0 @@
-dcm.sty: An Infrastructure for marking up Dublin Core Metadata in LaTeX documents
-
-The dcm packge allows mark up Dublin Core Metadata in LaTeX documents that can be
-harvested by automated tools or exported to PDF.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/dcm/dcm.dtx b/macros/latex/contrib/stex/sty/dcm/dcm.dtx
deleted file mode 100644
index 0d8e32cc20..0000000000
--- a/macros/latex/contrib/stex/sty/dcm/dcm.dtx
+++ /dev/null
@@ -1,505 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for marking up Dublin Core Metadata in LaTeX documents
-% Copyright (c) 2007-2011 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{dcm}[2019/03/20 v0.3 Dublin Core Metadata]
-%</package>
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{dcm,modules,stex-logo,url,array,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\WAperson[id=jdoe,affiliation=dfki,department=skss,
- url=http://dfki.de/jdoe]
- {John Doe}
-\WAperson[id=miko,affiliation=jacu,department=case,
- url=http://kwarc.info/kohlhase]
- {Michael Kohlhase}
-\WAinstitution[id=case,acronym=CASE,shortname=Center for Adv. Sys. Engineering,
- url=http://jacobs-university.de/ses/case,partof=jacu]
- {Center for Advanced Systems Engineering}
-\WAinstitution[id=jacu,url=http://jacobs-university.de]
- {Jacobs University Bremen}
-\WAinstitution[id=skss,url=http://dfki.de/sks,partof=dfki,shortname=Safe\&Secure Cognitive
-Systems,acronym=SKS]
- {Safe and Secure Cognitive Systems}
-\WAinstitution[id=dfki,url=http://dfki.de,shortname=DFKI,acronym=DFKI]
- {German Research Center for Artificial Intelligence}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{dcm.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{291}
-%
-% \changes{v0.1}{2007/01/02}{First Hack for OMDoc spec}
-% \changes{v0.2}{2008/06/17}{First Version with Documentation}
-% \changes{v0.2}{2008/07/02}{Renamed to dcm}
-% \changes{v0.3}{2009/09/21}{much more documentation of the user interface}
-% \changes{v0.3}{2009/09/21}{Adding sref support and made generated headings configurable}
-% \changes{v0.3}{2010/01/11}{Eliminating stub author index that never worked anyways}
-% \changes{v0.4}{2011/11/05}{moving DCMperson and friends to the \texttt{workaddress} package}
-%
-% \GetFileInfo{dcm.sty}
-%
-% \MakeShortVerb{\|}
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\latexml{\scsys{LaTeXML}}
-%
-% \begin{DCmetadata}[maketitle]
-% \DCMtitle{{\texttt{dcm.sty}}: An Infrastructure for marking up Dublin Core Metadata in {\LaTeX}
-% documents\thanks{Version {\fileversion} (last revised {\filedate})}}
-% \DCMcreators{miko,jdoe}
-% \DCMabstract{The |dcm| package allows mark up Dublin
-% Core Metadata in {\LaTeX} documents that can be harvested by automated tools or
-% exported to PDF, while at the same time generating conventional title information.}
-% \end{DCmetadata}
-%
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-%\section[id=intro]{Introduction}
-%
-% The |dcm| package allows mark up Dublin Core Metadata~\cite{DCMI:dmt03} in {\LaTeX}
-% documents so that it can be harvested by automated tools or exported to PDF\ednote{This
-% still needs to be implemented, see \texttt{http://www.wlug.org.nz/PdfLatexNotes} for
-% details}. This package allows to attribute authorship to arbitrary text
-% fragments.\ednote{continue}
-%
-% \section[id=user]{The User Interface}
-%
-% \subsection[id=user.options]{Package Options}
-%
-% The |dcm| package takes a single option: \DescribeMacro{showmeta}|showmeta|. If this is
-% set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for details and
-% customization options).
-%
-% \subsection[id=user.dcm.mdblock]{The DC Metadata Block}
-%
-% \DescribeEnv{DCmetadata} The |dcm| provides the environment |DCmetadata| for Dublin Core
-% Metadata Blocks. |DCmetadata| defines local macros for the specifying the relevant
-% Dublin Core metadata fields and takes an optional argument that specifies the
-% presentation of the metadata block, see Figure~\ref{fig:dcmblock} for an example which
-% would generate the title block for the |dcm| package. Let us now come to the macros themselves
-%
-% \DescribeMacro{\DCMcreators}\DescribeMacro{\DCMcontributors} The |\DCMcreators| and
-% |\DCMcontributors| macros are used to specify the authors and contributors to a text
-% fragments. These macros take one argument, the authorship of a document specified in
-% terms of |id|s of persons specified via |\WAperson| before. They can occur multiply in
-% a metadata block.
-%
-% \DescribeMacro{\DCMtitle} The |\DCMtitle| macro takes one argument, the
-%
-% \DescribeMacro{\DCMshorttitle} The |\DCMshorttitle| macro takes one argument, the
-%
-% \DescribeMacro{\DCMsubject} The |\DCMsubject| macro takes one argument, the
-%
-% \DescribeMacro{\DCMdescription} The |\DCMdescription| macro takes one argument, the
-%
-% \DescribeMacro{\DCMpublisher} The |\DCMpublisher| macro takes one argument, the
-%
-% \DescribeMacro{\DCMdate} The |\DCMdate| macro takes one argument, the
-%
-% \DescribeMacro{\DCMtype} The |\DCMtype| macro takes one argument, the
-%
-% \DescribeMacro{\DCMidentifier} The |\DCMidentifier| macro takes two arguments, the first one
-% is the identification system, and the second one the identifier string itself.
-%
-% \DescribeMacro{\DCMsource} The |\DCMsource| macro takes one argument, the
-%
-% \DescribeMacro{\DCMlanguage} The |\DCMlanguage| macro takes one argument, the
-%
-% \DescribeMacro{\DCMrelation} The |\DCMrelation| macro takes one argument, the
-%
-% \DescribeMacro{\DCMrights} The |\DCMrights| macro takes one argument, the
-%
-% \DescribeMacro{\DCMlicense} The |\DCMlicense| macro takes one argument, the
-%
-% \DescribeMacro{\DCMabstract} The |\DCMabstract| macro takes one argument, the
-%
-% \DescribeMacro{\DCMlicensenotice} The |\DCMlicensenotice| macro takes one argument, the
-%
-% \DescribeMacro{\DCMcopyrightnotice} The |\DCMcopyrightnotice| macro takes one argument, the
-%
-% \DescribeMacro{\DCMcclicense} The |\DCMcclicense| macro
-%
-% \DescribeMacro{\attribution}
-%
-% \DescribeMacro{\noncommercial}
-%
-% \DescribeMacro{\sharealike}
-%
-% \DescribeMacro{\noderivativeworks}
-%
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \begin{DCmetadata}[maketitle]
-% \DCMtitle{An Infrastructure for marking up Dublin Core Metadata in
-% {\LaTeX} documents\thanks{Version {\fileversion}
-% (last revised {\filedate})}}
-% \DCMcreators{miko,jdoe}
-% \DCMdate{\today}
-% \DCMcopyrightnotice{2008}{Michael Kohlhase}
-% \DCMlicensenotice{Copyright (c) 2008 Michael Kohlhase, all rights
-% reserved. This file is released under the LaTeX Project Public
-% License (LPPL)}
-% \DCMabstract{The {\texttt{dcm}} packge allows mark up Dublin
-% Core Metadata in {\LaTeX} documents that can be harvested by
-% automated tools or exported to PDF, while at the same time
-% generating conventional title information.}
-% \end{DCmetadata}
-% \end{verbatim}
-% \caption{The DC Metadata block for the {\texttt{dcm}} package documentation}
-% \label{fig:dcmblock}
-% \end{exfig}
-%
-% \subsection[id=user.blockstyles]{DCM Metadata Block Styles}
-%
-% The |DCmetadata| environment takes an optional argument that specifies the style the
-% metadata block is rendered in. The |dcm| package supplies two styles:
-% \DescribeMacro{maketitle}|maketitle| and \DescribeMacro{titlepage}|titlepage|. The
-% former uses the |\maketitle| macro from the calling class to assemble a title, whereas
-% the latter builds a title page from scratch. The title block of this documentation has
-% been created by the |maketitle| style.
-%
-% To add a further metadata block style \meta{sty}, we simply have to supply a
-% \DescribeMacro{\dcm@*@block}|\dcm@|\meta{sty}|@block| macro that expands to the intended
-% presentation. This macro does not take any arguments, but can use the internal token
-% registers defined by the |DCmetadata| environment. Generally, for any of the metadata
-% commands |\DCM|\meta{md} defined in {\sref{user.dcm.mdblock}} there is a token register
-% |\dcm@|\meta{md} that contains the value specified in the key.
-%
-% \subsection[id=user.conig]{Configuration}
-%
-% The |dcm| package provides a set of macros that customize (e.g. for multiple languages)
-% the generated
-% content.
-% \DescribeMacro{\dcm@abstract@heading}
-% \DescribeMacro{\dcm@creators@heading}
-% \DescribeMacro{\dcm@contributors@connector}
-% \DescribeMacro{\dcm@chapter@heading}
-% \DescribeMacro{\dcm@section@heading}
-% \DescribeMacro{\dcm@subsection@heading}
-% \DescribeMacro{\dcm@subsubsection@heading}
-% \begin{center}\makeatletter
-% \begin{tabular}{|l|l|}\hline
-% Macro & Default\\\hline\hline
-% |\dcm@abstract@heading| & \dcm@abstract@heading \\\hline
-% |\dcm@creators@heading| & \dcm@creators@heading \\\hline
-% |\dcm@contributors@connector| & \dcm@contributors@connector \\\hline\hline
-% |\dcm@chapter@heading| & \dcm@chapter@heading \\\hline
-% |\dcm@section@heading| & \dcm@section@heading \\\hline
-% |\dcm@subsection@heading| & \dcm@subsection@heading \\\hline
-% |\dcm@subsubsection@heading| & \dcm@subsubsection@heading \\\hline
-% \end{tabular}
-% \end{center}
-%
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-%
-% \StopEventually{\printbibliography}
-%
-% \section[id=impl]{The Implementation}
-%
-% \subsection[id=impl.options]{Package Options}
-% The first step is to declare (a few) package options that handle whether certain
-% information is printed or not. They all come with their own conditionals that are set by
-% the options.
-%
-% \begin{macrocode}
-%<*package>
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{rdfmeta}
- \PassOptionsToPackage{\CurrentOption}{workaddress}}
-\ProcessOptions
-% \end{macrocode}
-%
-% The first measure is to ensure that the |KeyVal| package is loaded (in the right
-% version). For {\latexml} we also initialize the package inclusions.
-% \begin{macrocode}
-\RequirePackage{workaddress}
-\RequirePackage[sectioning]{rdfmeta}
-% \end{macrocode}
-%
-% \subsection{The DC Metadata Block}
-%
-% Then we make an environment for defining the metadata. Note that since we have defined
-% the |omdoc:metadata| element to auto-open and auto-close, we do not have to (and should
-% not for that matter) supply it in the |DCmetadata| element.
-%
-% \begin{environment}{DCmetadata}
-% \begin{macrocode}
-\newenvironment{DCmetadata}[1][]%
-{\def\@style{#1}}% to set the way things are presented.
-{\@ifundefined{dcm@\@style @block}%
-{\message{style {\@style} not defined}}%
-{\csname dcm@\@style @block\endcsname}}
-% \end{macrocode}
-% \end{environment}
-%
-% Here come the constructors, most of them are relatively straightforward
-%
-% \begin{macro}{\DCMcreators}
-% the |\DCMcreators| macro checks whether all ids are defined.
-% \begin{macrocode}
-\def\DCMcreators#1{\@for\@I:=#1\do{\wa@ref1{person}\@I{id}}
-\gdef\dcm@creators{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMcontributors}
-% the |\DCMcontributors| macro also checks whether all ids are defined.
-% \begin{macrocode}
-\def\DCMcontributors#1{\@for\@I:=#1\do{\wa@ref1{person}\@I{id}}%
-\def\dcm@contributors{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMtitle}
-% \begin{macrocode}
-\def\DCMtitle#1{\def\dcm@title{#1}\providecommand{\dcm@shorttitle}{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsubtitle}
-% \begin{macrocode}
-\def\dcm@subtitle{}
-\def\DCMsubtitle#1{\def\dcm@subtitle{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMshorttitle}
-% \begin{macrocode}
-\def\dcm@shorttitle{}
-\def\DCMshorttitle#1{\def\dcm@shorttitle{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsubject}
-% \begin{macrocode}
-\def\DCMsubject#1{\def\dcm@subject{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMdescription}
-% \begin{macrocode}
-\long\def\DCMdescription#1{\long\def\dcm@description{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMpublisher}
-% \begin{macrocode}
-\def\DCMpublisher#1{\def\dcm@publisher{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMdate}
-% the |\DCMdate| uses |\today| as a default\ednote{@DEYAN: do that in latexml}
-% \begin{macrocode}
-\def\dcm@date{\today}
-\def\DCMdate#1{\def\dcm@date{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMtype}
-% \begin{macrocode}
-\def\DCMtype#1{\def\dcm@type{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMidentifier}
-% \begin{macrocode}
-\def\DCMidentifier#1#2{\def\dcm@scheme{#1}\def\dcm@identifier{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMsource}
-% \begin{macrocode}
-\def\DCMsource#1{\def\dcm@source{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMlanguage}
-% \begin{macrocode}
-\def\DCMlanguage#1{\def\dcm@language{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMrelation}
-% \begin{macrocode}
-\def\DCMrelation#1{\def\dcm@relation{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMrights}
-% \begin{macrocode}
-\def\DCMrights#1{\long\def\dcm@rights{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMlicense}
-% \begin{macrocode}
-\def\DCMlicense#1{\def\dcm@license{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMlicensenotice}
-% here we have a default
-% \begin{macrocode}
-\def\dcm@license{All rights reserved}
-\def\DCMlicensenotice#1{\long\def\dcm@license{\\[1ex]License: #1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMcopyrightnotice}
-% \begin{macrocode}
-\def\DCMcopyrightnotice#1#2{\DCMrights{Copyright {\copyright} #1: #2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\cclicense}
-% \begin{macrocode}
-\def\cclicense#1{\def\attribution{\def\dcm@by{yes}}
- \def\noncommercial{\def\dcm@nc{yes}}
- \def\sharealike{\defdcm@sharealike{yes}}
- \def\noderivativeworks{\def\dcm@derivatives{no}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\DCMabstract}
-% \begin{macrocode}
-\long\def\DCMabstract#1{\long\def\dcm@abstract{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection[id=impl.blockstyles]{DCM Block Styles}
-%
-% We now define various commonly used styles.
-%
-% \begin{macro}{\dcm@titlepage@block}
-% This style builds up a title page from scratch
-% \begin{macrocode}
-\def\dcm@titlepage@block{\begin{titlepage}
- \null\vfil\vskip 60\p@
- \begin{center}
- \ifx\dcm@title\@empty
- \PackageWarning{dcm}{No title specified}{\LARGE Add title here\par}
- \else\LARGE \dcm@title \par\fi
- \ifx\dcm@subtitle\@empty
- \vskip 3em\Large \dcm@subtitle \par\vskip 3em
- \else\large\lineskip .75em\WAauthorblock\dcm@creators\vskip 1.5em\fi
- \ifx\dcm@date\@empty
- \PackageWarning{dcm}{No date specified}{\large\today\par}
- \else{\large\dcm@date\par}\vskip 2em\fi
- \end{center}\vskip2em
- \ifx\dcm@abstract\@empty
- \PackageWarning{dcm}{No Abstract specified}\else
- \begin{quote}\textbf\dcm@abstract@heading:\dcm@abstract\end{quote}\fi
- \vskip 2em\par\vfil\noindent
- {\small\noindent\dcm@rights\dcm@license}
- \end{titlepage}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\dcm@maketitle@block}
-% This style makes use of the title facility of the document class.
-% \begin{macrocode}
-\def\dcm@maketitle@block{\def\@title{\dcm@title\ifx\dcm@subtitle\empty\else\newline\dcm@subtitle\fi}%
-\def\@author{\WAauthorblock\dcm@creators}%
-\def\@date{\dcm@date}\maketitle}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Dealing with ISO Dates}
-%
-% The first step is to build a macro for making ISO dates.
-%
-% \begin{macrocode}
-\def\ISOtimestamp{\count1=\time\divide\count1 by 60 % hours
-\count2=\count1\multiply\count2 by 60% minutes in \count1 hours
-\count3=\time\advance\count3 by -\count2 % minutes
-\the\year -\ifnum\month>9\else0\fi\the\month-\ifnum\day>9\else0\fi\the\day
-T\ifnum\count1>9\else0\fi\the\count1:\ifnum\count3>9\else0\fi\the\count3:00Z}
-% \end{macrocode}
-%
-%\subsection{Configuration}
-%
-% \begin{macrocode}
-\def\dcm@abstract@heading{Abstract}
-\def\dcm@creators@heading{Author(s)}
-\def\dcm@contributors@connector{with contributions from}
-\def\dcm@chapter@heading{Chapter}
-\def\dcm@section@heading{Section}
-\def\dcm@subsection@heading{Subsection}
-\def\dcm@subsubsection@heading{Subsubsection}
-\def\dcm@paragraph@heading{Paragraph}
-%</package>
-% \end{macrocode}
-%
-% \Finale
-\endinput
-% \iffalse
-% LocalWords: GPL structuresharing STR LaTeX dcm dtx keyval sref CPERL url qw
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-% LocalWords: RequirePackage birthdate personaltitle academictitle workaddress
-% LocalWords: privaddress worktel privtel workfax privfax worktelfax noDelim
-% LocalWords: privtelfax getKeyValue valuelist ToString getValue affill STDERR
-% LocalWords: ExportMetadata AssignValue DCMperson DefConstructor afterDigest
-% LocalWords: getArg setValue FishOutMetadata keyvals foreach idlist tabline
-% LocalWords: LookupValue insertElement atabline bitabline shorttitle nc args
-% LocalWords: sharealike noderivativeworks DefMacro authorblock subsubsection
-% LocalWords: contribs OptionalKeyVals omgroup omdoc srcref xml RawTeX partof
-% LocalWords: openElement iffalse kohlhase Thu scsys sc sc latexml DCmetadata
-% LocalWords: maketitle DCMtitle texttt fileversion DCMcreators miko jdoe impl
-% LocalWords: DCMabstract setcounter tocdepth tableofcontents newpage dmt03
-% LocalWords: DCMsection ednote DCMsubsection exfig hline dcmblock Patashnik
-% LocalWords: DescribeEnv DCMcontributors DCMshorttitle DCMshorttitle DCMdate
-% LocalWords: DCMsubject DCMsubject DCMdescription DCMdescription DCMpublisher
-% LocalWords: DCMpublisher DCMdate DCMtype DCMtype DCMidentifier DCMidentifier
-% LocalWords: DCMsource DCMsource DCMlanguage DCMlanguage DCMrelation ctancite
-% LocalWords: DCMrelation DCMrights DCMrights DCMlicense DCMlicense titlepage
-% LocalWords: DCMlicensenotice DCMlicensenotice DCMcopyrightnotice titlepage
-% LocalWords: DCMcopyrightnotice DCMcclicense DCMcclicense user.blockstyles
-% LocalWords: DCMchapter DCMchatper DCMsubsubsection DCMsubsubsection ltxml
-% LocalWords: user.conig makeatletter printbibliography expandafter showmeta
-% LocalWords: xdef csname endcsname newcommand ifx ifundefined affs showmeta
-% LocalWords: Semiverbatim whatsit newenvironment mtabline providecommand vfil
-% LocalWords: DCMsubtitle cclicense defdcm impl.blockstyles newcounter vskip
-% LocalWords: stepcounter tabularnewline theauthors lineskip textbf noindent
-% LocalWords: omd omd srefaddidkey thechapter autoclose thesection ifnum ifnum
-% LocalWords: thesubsection thesubsubsection DCMparagraph ISOtimestamp doctex
-% LocalWords: DCMinstitution DCMinstitution compactenum textsf langle textsf
-% LocalWords: langle metakeys addmetakey metasetkeys countryshort townzip aff
-% LocalWords: streetaddress depts
diff --git a/macros/latex/contrib/stex/sty/dcm/dcm.ins b/macros/latex/contrib/stex/sty/dcm/dcm.ins
deleted file mode 100644
index 1a65a657f6..0000000000
--- a/macros/latex/contrib/stex/sty/dcm/dcm.ins
+++ /dev/null
@@ -1,33 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex dcm.ins
-%%
-%% Copyright(c) 2008 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex/trunk/sty/dcm/dcm.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{dcm.sty}{\from{dcm.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file dcm.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/dcm/dcm.pdf b/macros/latex/contrib/stex/sty/dcm/dcm.pdf
deleted file mode 100644
index 4b9b3f737c..0000000000
--- a/macros/latex/contrib/stex/sty/dcm/dcm.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/hwexam/README b/macros/latex/contrib/stex/sty/hwexam/README
deleted file mode 100644
index 25db46f14a..0000000000
--- a/macros/latex/contrib/stex/sty/hwexam/README
+++ /dev/null
@@ -1,10 +0,0 @@
-hwexam.sty: An Infrastructure for marking up Homework Assignment Sheets and Exams
-
-The hwexam packge allows individual course assignment sheets and compond
-assignment documents using problem files marked up with the problem package.
-
-Copyright (c) 2010 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/hwexam/hwexam.ins b/macros/latex/contrib/stex/sty/hwexam/hwexam.ins
deleted file mode 100644
index 07e07e9593..0000000000
--- a/macros/latex/contrib/stex/sty/hwexam/hwexam.ins
+++ /dev/null
@@ -1,35 +0,0 @@
-%%
-%% This file generates files required to use the hwexam class.
-%% At your command prompt write
-%%
-%% latex hwexam.ins
-%%
-%% Copyright(c) 2010 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex-content/sty/hwexam/hwexam.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{hwexam.sty}{\from{hwexam.dtx}{package}}}
-% and the class
-\generate{\file{hwexam.cls}{\from{hwexam.dtx}{cls}}}
-
-\Msg{*}
-\Msg{* You probably need to move the files hwexam.{sty,cls} into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/hwexam/hwexam.pdf b/macros/latex/contrib/stex/sty/hwexam/hwexam.pdf
deleted file mode 100644
index 22148735ae..0000000000
--- a/macros/latex/contrib/stex/sty/hwexam/hwexam.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/metakeys/README b/macros/latex/contrib/stex/sty/metakeys/README
deleted file mode 100644
index a10e46f6cc..0000000000
--- a/macros/latex/contrib/stex/sty/metakeys/README
+++ /dev/null
@@ -1,9 +0,0 @@
-omd.sty: A generic framework for extensible Metadata in LaTeX
-
-The omd packge supplies the infrastructure for extending sTeX macros with ontology-based
-metadata. This is a package primarily aimed at authors of sTeX extensions.
-
-Copyright (c) 2009 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/metakeys/metakeys.dtx b/macros/latex/contrib/stex/sty/metakeys/metakeys.dtx
deleted file mode 100644
index 84ced73e5f..0000000000
--- a/macros/latex/contrib/stex/sty/metakeys/metakeys.dtx
+++ /dev/null
@@ -1,455 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for marking up Metadata in LaTeX documents
-% Copyright (c) 2009 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{metakeys}[2019/03/20 v0.9 Framework for Metadata Keys]
-%</package>
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{stex-logo,url,array,float}
-\usepackage[show]{ed}
-\usepackage{ctangit}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{hyperref}
-%\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\usepackage[showmeta]{metakeys}
-\begin{document}
-\RecordChanges
-\DocInput{metakeys.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{135}
-%
-% \changes{v0.1}{2009/12/14}{First version}
-% \changes{v0.8}{2010/06/18}{This is almost done}
-% \changes{v0.9}{2010/09/02}{make sure that showkeys is always initialized}
-%
-% \GetFileInfo{metakeys.sty}
-%
-% \MakeShortVerb{\|}
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\omdoc{OMDoc}
-% \def\omdocv#1{\omdoc{#1}}
-%
-% \title{{\texttt{metakeys.sty}}: A generic framework for extensible Metadata in {\LaTeX}\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-% \begin{abstract}
-% The |metakeys| package is part of the {\sTeX} collection, a version of {\TeX/\LaTeX} that
-% allows to markup {\TeX/\LaTeX} documents semantically without leaving the document
-% format, essentially turning {\TeX/\LaTeX} into a document format for mathematical
-% knowledge management (MKM).
-%
-% This package supplies the infrastructure for extending {\sTeX} macros with {\omdoc}
-% metadata. This package is mainly intended for authors of {\sTeX} extension packages.
-% \end{abstract}
-%
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-% \section{The User Interface}\label{sec:user}
-%
-% Many of the {\stex} macros and environments take an optional first argument which uses
-% key/value pairs to specify metadata relations of the marked up objects. The |metakeys|
-% package supplies the infrastructure managing these key/value pairs. It also forms the
-% basis for the |rdfmeta| package which allows to use these for flexible, user-extensible
-% metadata relations (see~\ctancite{Kohlhase:rdfmeta} for details).
-%
-% \subsection{Package Options}\label{sec:user:options}
-%
-% The |metakeys| package takes a single option: \DescribeMacro{showmeta}|showmeta|. If
-% this is set, then the metadata keys defined by the |\addmetakey| are shown
-% (see~\ref{sec:user:showmeta})
-%
-% \subsection{Adding Metadata Keys to Commands}\label{sec:user:keys}
-%
-% Key/value pairs in \stex are organized in \textbf{key groups}: every {\stex} macro and
-% environment that takes a key/value argument has an associated key group, and only keys
-% that are registered in this group can be utilized. The |metakeys| package supplies the
-% \DescribeMacro{\addmetakey}|\addmetakey| macro to add a new key to a key group: If
-% \meta{group} is the name of a key group \meta{key} is a metadata keyword name, then
-% \begin{quote}
-% |\addmetakey[|\meta{default}|]{|\meta{group}|}{|\meta{key}|}[|\meta{dval}|]|
-% \end{quote}
-% registers \meta{key} in the metadata group \meta{group}, with an optional values
-% \meta{default} and \meta{dval} for \meta{key}. \meta{default} is the default value for
-% \meta{key}, if it is not specified, and \meta{dval} is the value \meta{key} gets, if
-% \meta{key} is given without specifying a value. These two defaults are often used as
-% \begin{quote}
-% |\addmetakey[false]{|\meta{group}|}{|\meta{key}|}[true]|
-% \end{quote}
-% Then, the value of \meta{key} is |false| if \meta{key} is not given and |true|, if
-% \meta{key} is specified without value. This is often the best way if we want to use
-% \meta{key} as an indicator to have a feature of name \meta{key} (we can test that with
-% |\ifx\|\meta{group}|@|\meta{key}|\@true|, if we prepared the macro |\def\@true{true}|
-% earlier).
-%
-% The keys registered for a metadata group can be used for defining macros with a
-% key/value arguments via the \DescribeMacro{\metasetkeys}|\metasetkeys| macro, see for
-% instance the the definition in Figure~\ref{fig:foo}. This macro is used exactly like the
-% |\setkeys| macro from the |keyval| package~\cite{Carlisle:tkp99}, but integrates custom
-% initialization and draft display functionality. This usage is mostly for package
-% designers. There is another: If a macro or environment cannot be extended by an optional
-% argument, e.g. because anther package already does so (e.g. the |document| environment
-% is extended -- by redefining it -- by various packages, which causes problems), the
-% |\metasetkeys| macro can be used directly.
-%
-% The \DescribeMacro{\addmetalistkey}|\addmetalistkey| macro is a variant of |\addmetakey|
-% that adds a list-valued metadata key. The |\addmetalistkey{foo}{val}| in
-% Figure~\ref{fig:foo} would allows to use multiple occurrences of the |val| keys in the
-% metadata argument of |\foo|, the values of the |val| keys are collected as a
-% comma-separated list in the token register |\foo@vals|. Note that the |val| key can also
-% deal with comma-separated lists for convenience.
-%
-% With these definitions in a used package\footnote{\makeatletter Recall that the
-% \texttt{@} character is only allowed in packages, where comma-separated lists can be
-% iterated over e.g. by the \texttt{\textbackslash{@}for} macro.} an invocation of
-% \begin{quote}
-% |\foo[type=bar,id=f4711,val=4,val=7,val={1,1}]|
-% \end{quote}
-% is formatted to
-% \begin{quote}
-% \addmetakey{foo}{id}\addmetakey{foo}{type}\addmetalistkey{foo}{val}\makeatletter
-% \newcommand\foo[1][]{\metasetkeys{foo}{#1} I have seen a \emph{foo} of type \texttt{\foo@type}
-% with identifier \texttt{\foo@id} and values
-% \let\@join=\relax\def\@thejoin{, and }
-% \@for\@I:=\foo@vals\do{\@join\@I\let\@join=\@thejoin}!}\makeatother
-% \foo[type=bar,id=f4711,val=4,val=7,val=1,val=1]
-% \end{quote}
-%
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \addmetakey{foo}{id}
-% \addmetakey{foo}{type}
-% \addmetakey[yes]{foo}{visible}
-% \addmetalistkey{foo}{val}
-% \def\@yes{yes}
-% \newcommand\foo[1][]{\metasetkeys{foo}{#1}
-% \ifx\foo@visible\@yes % testing for visibility
-% I have seen a \emph{foo} of type \texttt{\foo@type} with identifier
-% \texttt\foo@id and values \texttt\foo@vals.
-% \let\@join=\relax\def\@thejoin{, and }
-% \@for\@I:=\foo@vals\do{\@join\@I\let\@join=\@thejoin}!
-% \fi}
-% \end{verbatim}
-% \vspace*{-2em}
-% \caption{Defining a macro with metadata}
-% \label{fig:foo}
-% \end{exfig}
-%
-% \subsection{Showing Metadata Keys/Values}\label{sec:user:showmeta}
-%
-% If the |showmeta| package option is set, the |metakeys| package sets an internal switch that
-% shows the values of all keys specified with the |\addmetakey| macro. The default behavior
-% is to write the key/value pairs into the margin as \meta{key}|:|\meta{value}. Package
-% designers can customize this behavior by redefining the |\metakeys@show@key| and
-% |\metakeys@show@keys| macro.
-%
-% \DescribeMacro{\metakeys@show@key}|\metakeys@show@key{|\meta{key}|}{|\meta{value}|}| shows the a
-% single key value pair, and
-% \DescribeMacro{\metakeys@show@keys}|\metakeys@show@keys{|\meta{group}|}{|\meta{keys}|}| shows the
-% a list of keys metadata, by default we disregard the \meta{group} and show \meta{keys}
-% in a marginpar.
-%
-% For keys that should not be shown in this manner, the |\addmetakey| macro has a variant
-% \DescribeMacro{\addmetakey*}|\addmetakey*|. Its behavior is exactly the same, only that
-% it keeps the key from being shown by the |showmeta| option.
-%
-% Note that setting the |showmeta| option will enable metadata presentation on the whole
-% document. But sometimes we want to disable that, e.g. inside figures, where |\marginpar|
-% is not allowed. Therefore the |metakeys| package provides the
-% \DescribeMacro{\hidemetakeys}|\hidemetakeys| macro that reverses this. The
-% \DescribeMacro{\showmetakeys}|\showmetakeys| macro re-enables metadata presentation.
-%
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintChanges\printbibliography}
-%
-% \section{The Implementation}\label{sec:impl}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false). First we have the general options
-% \begin{macrocode}
-%<*package>
-\newif\ifmetakeys@showmeta\metakeys@showmetafalse
-\DeclareOption{showmeta}{\metakeys@showmetatrue}
-\DeclareOption*{}
-\ProcessOptions
-% \end{macrocode}
-%
-% We build on the |keyval| package which we first need to load. For {\latexml}, we also
-% initialize the package inclusions.
-% \begin{macrocode}
-\RequirePackage{keyval}[1997/11/10]
-\RequirePackage{etoolbox}
-% \end{macrocode}
-%
-% \subsection{Adding Metadata Keys}\label{sec:impl:keys}
-%
-% \begin{macro}{\addmetakey}
-% The |\addmetakey| macro looks at the next character and invokes helper macros accordingly.
-% \begin{macrocode}
-\newcommand\addmetakey{\@ifstar\addmetakey@star\addmetakey@nostar}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\addmetakey@star}
-% |\addmetakey@star| takes care of the starred form of |\addmetakey|. An invocation of
-% |\addmetakey@star{|\meta{default}|}{|\meta{group}|}{|\meta{key}|}| macro first extends the
-% |\metakeys@clear@|\meta{group}|@keys| macro then defines the key \meta{key} with the
-% |\define@key| macro from the |keyval| package. This stores the key value given in the
-% local macro |\|\meta{group}|@|\meta{key}.
-% \begin{macrocode}
-\newcommand\addmetakey@star[3][]{%
- \@ifnextchar[{%
- \addmetakey@star@aux[#1]{#2}{#3}%
- }{%
- \addmetakey@star@aux[#1]{#2}{#3}[]%
- }%
-}%
-\def\addmetakey@star@aux[#1]#2#3[#4]{%
- \metakeys@ext@clear@keys{#2}{#3}{#1}%
- \metakeys@initialize@showkeys{#2}%
- \define@key{#2}{#3}[#4]{%
- \csxdef{#2@#3}{##1}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\addmetakey@nostar}
-% |\addmetakey@nostar| takes care of the no-starred form of |\addmetakey| by first extending the
-% |\metakeys@|\meta{group}|@showkeys| macro which contains those keys that should be
-% shown and then calling |\addmetakey@star|.
-% \begin{macrocode}
-\newcommand\addmetakey@nostar[3][]{%
- \metakeys@ext@showkeys{#2}{#3}%
- \addmetakey@star[#1]{#2}{#3}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metasetkeys}
-% The |\metasetkeys{|\meta{group}|}| clears/presets the key of \meta{group} via
-% |\clear@|\meta{group}|@keys|, (if the |showmeta| option is set) shows them, and
-% then sets the keys via |keyval|s |\setkeys| command.
-% \begin{macrocode}
-\newcommand\metasetkeys[2]{%
- \@nameuse{clear@#1@keys}%
- \setkeys{#1}{#2}%
- \ifmetakeys@showmeta%
- \edef\@@keys{\@nameuse{#1@showkeys}}%
- \metakeys@show@keys{#1}{%
- \@for\@I:=\@@keys\do{%
- \metakeys@show@keyval{#1}{\@I}%
- }%
- }%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metakeys@ext@clear@keys}
-% |\metakeys@ext@clear@keys{|\meta{group}|}{|\meta{key}|}{|\meta{default}|}| extends (or
-% sets up if this is the first |\addmetakey| for \meta{group}) the
-% |\clear@|\meta{group}|@keys| macro to set the default value \meta{default} for
-% \meta{key}. The |\clear@|\meta{group}|@keys| macro is used in the generic
-% |\metasetkeys| macro below. The variant |\@metakeys@ext@clear@keys| is provided for
-% use in the |sref| package.
-% \begin{macrocode}
-\newrobustcmd\metakeys@ext@clear@keys[3]{%
- \@metakeys@ext@clear@keys{#1}{#1@#2}{#3}%
-}%
-\newrobustcmd\@metakeys@ext@clear@keys[3]{%
- \@ifundefined{clear@#1@keys}{%
- \csgdef{clear@#1@keys}{\csgdef{#2}{#3}}%
- }%
- {\expandafter\gappto\csname clear@#1@keys\endcsname{\csgdef{#2}{#3}}}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\addmetalistkey}
-% \begin{macrocode}
-\newrobustcmd\addmetalistkey{%
- \@ifstar\addmetalistkey@star\addmetalistkey@nostar%
-}%
-\newrobustcmd\addmetalistkey@star[3][]{%
- \metakeys@ext@clear@keys{#2}{#3}{#1}%
- \metakeys@initialize@showkeys{#2}%
- \csgdef{#2@#3s}{}%
- \define@key{#2}{#3}[#1]{%
- \ifcsempty{#2@#3s}{%
- \csgdef{#2@#3s}{##1}%
- }{%
- \csxdef{#2@#3s}{\csuse{#2@#3s},##1}%
- }%
- }%
-}%
-\newrobustcmd\addmetalistkey@nostar[3][]{%
- \metakeys@ext@showkeys{#2}{#3}%
- \addmetalistkey@star[#1]{#2}{#3}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Showing Metadata Keys/Values}\label{sec:impl:showmeta}
-%
-% \begin{macro}{\metakeys@initialize@showkeys}
-% |\metakeys@initialize@showkeys{|\meta{group}|}| sets up the |\|\meta{group}|@showkeys|
-% macro which is is used to store the keys to be shown of the metadata in in the generic
-% |\setmetakeys| macro below.
-% \begin{macrocode}
-\newrobustcmd\metakeys@initialize@showkeys[1]{%
- \@ifundefined{#1@showkeys}{%
- \csdef{#1@showkeys}{}%
- }{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metakeys@ext@showkeys}
-% |\metakeys@ext@showkeys{|\meta{group}|}{|\meta{key}|}| extends (or sets up) the
-% |\|\meta{group}|@showkeys| macro which is is used to store the keys to be shown of the
-% metadata in in the generic |\setmetakeys| macro below.
-% \begin{macrocode}
-\newrobustcmd\metakeys@ext@showkeys[2]{%
- \@ifundefined{#1@showkeys}{%
- \csdef{#1@showkeys}{#2}%
- }{%
- \csedef{#1@showkeys}{\csuse{#1@showkeys},#2}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metakeys@show@key}
-% |\metakeys@show@key{|\meta{key}|}{|\meta{value}|}| shows the a single key value pair, as a
-% default we just write \meta{key}|:|\meta{value}.
-% \begin{macrocode}
-\newrobustcmd\@metakeys@show@key[2]{\metakeys@show@key{#2}{#1}}%
-\newrobustcmd\metakeys@show@key[2]{%
- \edef\@test{#2}%
- \ifx\@test\@empty\else #1:#2\quad\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metakeys@show@keys}
-% |\metakeys@show@keys{|\meta{group}|}{|\meta{keys}|}| shows the metadata, by default we
-% disregard the \meta{group} and show \meta{keys} in a marginpar.
-% \begin{macrocode}
-\newrobustcmd\metakeys@show@keys[2]{\marginpar{{\scriptsize #2}}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metakeys@show@keyval}
-% |\metakeys@show@keyval{|\meta{group}|}|{|\meta{key}|} shows the key/value pair of a given key \meta{key}.
-% \begin{macrocode}
-\newrobustcmd\metakeys@show@keyval[2]{%
- \expandafter\@metakeys@show@key\csname #1@#2\endcsname{#2}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\showmetakeys}
-% \begin{macrocode}
-\newrobustcmd\showmetakeys{\metakeys@showmetatrue}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\hidemetakeys}
-% \begin{macrocode}
-\newrobustcmd\hidemetakeys{\metakeys@showmetafalse}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Using better defaults than empty}
-%
-% \begin{macro}{\addmetakeynew}
-% |\addmetakeynew| is an experimental version of |\addmetakey| which gives
-% |\omd@unspecified| as an optional argument, so that it is used as the default value
-% here and then test for it in |\omfidus|. But unfortunately, this does not work yet.
-% \begin{macrocode}
-\newrobustcmd\addmetakeynew[3][]{%
- \metakeys@ext@clear@keys{#2}{#3}{#1}%
- \define@key{#2}{#3}{%
- \csgdef{#2@#3}{##1}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\metakeys@unspecified}
-% An internal macro for unspecified values. It is used to initialize keys.\ednote{MK:
-% we could probably embed an package error or warning in here}
-% \begin{macrocode}
-\newrobustcmd\metakeys@unspecified{an metakeys-defined key left unspecified}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metakeysifus}
-% This just tests for equality of the first arg with |\metakeys@unspecified|
-% \begin{macrocode}
-\newrobustcmd\metakeysifus[4]{%
- \message{testing #1@#2=\csname#1@#2\endcsname}%
- \expandafter\ifx\csname #1@#2\endcsname\metakeys@unspecified{#3}\else{#4}\fi%
-}%
-%</package>
-% \end{macrocode}
-% \end{macro}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-
-% LocalWords: iffalse kohlhase Thu metakeys metakeys.dtx scsys sc sc latexml omdoc foo
-% LocalWords: omdocv texttt fileversion maketitle setcounter tocdepth newpage filedate
-% LocalWords: tableofcontents ednote showmeta NeedsTeXFormat stex rdfmeta ctancite dval
-% LocalWords: makeatletter newcommand emph makeatother exfig vspace impl ltxml textbf
-% LocalWords: printbibliography keyval expandafter gdef csname ifx tkp99 sref
-% LocalWords: endcsname setkeys ifundefined omfidus metakeysifus addmetakey foo@vals
-% LocalWords: doctex metasetkeys metasetkeys marginpar hidemetakeys textsf omd rangle
-% LocalWords: hidemetakeys showmetakeys showmetakeys langle textsf langle addmetalistkey
-% LocalWords: newif ifmetakeys showmetafalse showmetatrue ifstar showkeys addmetalistkey
-% LocalWords: nameuse setmetakeys addmetakeynew textbackslash compactenum rangle xdef
-% LocalWords: addmetakey@nostar addmetalistkey@nostar scriptsize endinput
diff --git a/macros/latex/contrib/stex/sty/metakeys/metakeys.ins b/macros/latex/contrib/stex/sty/metakeys/metakeys.ins
deleted file mode 100644
index 1ed4e2cce0..0000000000
--- a/macros/latex/contrib/stex/sty/metakeys/metakeys.ins
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex metakeys.ins
-%%
-%% Copyright(c) 2010 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex/trunk/sty/metakeys/metakeys.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{metakeys.sty}{\from{metakeys.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file metakeys.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/metakeys/metakeys.pdf b/macros/latex/contrib/stex/sty/metakeys/metakeys.pdf
deleted file mode 100644
index ddf654d939..0000000000
--- a/macros/latex/contrib/stex/sty/metakeys/metakeys.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/mikoslides/README b/macros/latex/contrib/stex/sty/mikoslides/README
deleted file mode 100644
index 444da1dbc1..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/README
+++ /dev/null
@@ -1,9 +0,0 @@
-mikoslides.cls: A Document class for Semantic Slides
-
-The mikoslides class provides a practical basis for marking up slides semantically in sTeX.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/mikoslides/beamerthemeJacobs.sty b/macros/latex/contrib/stex/sty/mikoslides/beamerthemeJacobs.sty
deleted file mode 100644
index 2581f00c04..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/beamerthemeJacobs.sty
+++ /dev/null
@@ -1,64 +0,0 @@
-% Beamer Jacobs slide theme; some hints from CXL's DFKI theme included
-%
-% (C) 2009 Michael Kohlhase <m.kohlhase@jacobs-university.de.
-
-\ProvidesPackage{beamerthemeJacobs}
-\typeout{Beamer KWARC theme}
-\author[Kohlhase]{Michael Kohlhase}
-\institute{Computer Science, Jacobs University Bremen, Germany\\\url{http://kwarc.info}}
-
-\mode
-<presentation>
-
-%% Shadings and logo images
-\pgfdeclareimage[height=.5ex,width=113mm]{shade-l2r}{shading-l2r}
-\pgfdeclareimage[height=2ex]{jacobslogo}{jacobs-logo}
-\pgfdeclareimage[height=2ex]{cclogo}{cc_somerights}
-
-%% Headers flushed to the left.
-\setbeamertemplate{frametitle}[default][left]
-
-
-%% Add the line below the header
-\addtobeamertemplate{frametitle}{}{\hspace*{-1cm} %
- \begin{pgfpicture}{0cm}{0cm}{128mm}{2mm}
- \pgfputat{\pgforigin}{\pgfbox[left,bottom]{\pgfuseimage{shade-l2r}}}
- \end{pgfpicture}
- }
-
-\setbeamertemplate{footline}[text line]{%
- \usebeamercolor[fg]{titlelike}
- \strut\hspace*{2cm}\insertshortauthor: \insertshorttitle\hfill{}%
- \insertframenumber\hfill\insertshortdate\hspace*{3cm}%
- }
- \addtobeamertemplate{footline}{ %
- \begin{pgfpicture}{0cm}{0cm}{128mm}{0mm} %
- \pgfputat{\pgfpoint{126mm}{1mm}}{\pgfbox[right,top]{\pgfuseimage{jacobslogo}}} %
- \pgfputat{\pgfpoint{10mm}{1mm}}{\pgfbox[right,top]{\pgfuseimage{cclogo}}} %
- \end{pgfpicture}}{}
-
-%% Turn off the navigation symbols
-\setbeamertemplate{navigation symbols}{}
-
-%% Inner theme
-\useinnertheme{default}
-%\setbeamertemplate{enumerate item}{(\alph{enumi})}
-%\setbeamertemplate{enumerate subitem}{(\roman{enumii})}
-
-%% Big logo for the title page.
-%\pgfdeclareimage[height=1cm]{biglogo}{beamer/img/DFKI-SKS}
-%\titlegraphic{\pgfuseimage{biglogo}}
-
-\mode
-<all>
-
-%% Redefine various margin sizes
-\setbeamersize{text margin left=3mm}
-\setbeamersize{text margin right=3mm}
-\setlength\leftmargini{1em}
-\setlength\leftmarginii{1em}
-\setlength\leftmarginiii{1em}
-\providecommand{\vstretch}[1]{\vspace*{\stretch{#1}}}
-\beamer@descriptionwidth=1cm
-
-
diff --git a/macros/latex/contrib/stex/sty/mikoslides/jacobs-logo.png b/macros/latex/contrib/stex/sty/mikoslides/jacobs-logo.png
deleted file mode 100644
index 0bbe28c44f..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/jacobs-logo.png
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx b/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx
deleted file mode 100644
index 1fc76db644..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.dtx
+++ /dev/null
@@ -1,810 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Class for Jacobs University Slides
-% Copyright (c) 2007 Michael Kohlhase, all rights reserved
-% this file is released under the
-% Gnu Library Public Licences (LGPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<cls|package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<cls>\ProvidesClass{mikoslides}[2019/03/20 v1.2 MiKo slides Class]
-%<package>\ProvidesPackage{mikoslides}[2019/03/20 v1.2 MiKo slides Package]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float,xspace}
-\usepackage[show]{ed}
-\usepackage{graphicx,paralist}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on},
-\hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\usepackage{hyperref}
-\begin{document}
-\RecordChanges
-\DocInput{mikoslides.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{469}
-%
-% \changes{v0.1}{2005/12/06}{Initial Version}
-% \changes{v0.2}{2006/01/11}{course notes back on seminar}
-% \changes{v0.3}{2007/05/16}{changing to Jacobs logo}
-% \changes{v0.4}{2007/10/16}{re-basing the whole thing on beamer}
-% \changes{v0.4}{2008/09/06}{moving line-end-comment to \texttt{omdoc.dtx}}
-% \changes{v0.5}{2009/06/17}{eliminating mytwocolumns, this is better done by \texttt{beamer.cls}}
-% \changes{v0.9}{2010/06/18}{this is almost done}
-% \changes{v0.9}{2012/09/17}{basic options handling for the \texttt{frame} environment in
-% notes mode}
-% \changes{v0.9}{2013/08/23}{numbered sectocframes}
-% \changes{v1.0}{2014/01/07}{adding \texttt{\textbackslash frameimage}}
-% \changes{v1.1}{2015/10/25}{Removing the old title macros (use the regular ones instead)}
-% \changes{v1.1}{2015/10/25}{reinterpreting omgroup}
-% \changes{v1.1}{2015/11/04}{moving MathHub support out to separate package}
-% \changes{v1.2}{2018/12/03}{changed to keyval class/package options, allowed arbitrary classes}
-%
-% \GetFileInfo{mikoslides.cls}
-% \MakeShortVerb{\|}
-%
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-%
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\stex{\hbox{\raisebox{-.5ex}S\kern-.5ex\TeX}}
-% \def\sTeX{\stex}
-% \def\cnxml{\scshape{CNXml}}
-% \def\connexions{\scshape{Connexions}}
-% \def\element#1{{\ttfamily{#1}}}
-% \def\snippet#1{{\ttfamily{#1}}}
-% \def\cnxlatex{CNX\LaTeX\xspace}
-% \def\mathml{{\scshape{MathML}}\xspace}
-% \def\omdoc{OMDoc\xspace}
-% \def\activemath{{\scshape{ActiveMath}}\xspace}
-% \def\textwarning{\includegraphics[width=1.2em]{dangerous-bend}\xspace}
-%
-% \title{Slides and Course Notes\thanks{Version {\fileversion}
-% (last revised {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% We present a document class from which we can generate both course slides and course
-% notes in a transparent way.
-% \end{abstract}
-%
-% \tableofcontents\newpage
-%
-%\section{Introduction}
-%
-% The |mikoslides| document class is derived from |beamer.cls|~\cite{beamerclass:on}, it
-% adds a ``notes version'' for course notes derived from the |omdoc|
-% class~\cite{Kohlhase:smomdl} that is more suited to printing than the one supplied by
-% |beamer.cls|.
-%
-%
-%\section{The User Interface}\label{sec:user}
-%
-% The |mikoslides| class takes the notion of a slide frame from Till Tantau's excellent
-% |beamer| class and adapts its notion of frames for use in the \sTeX and \omdoc. To
-% support semantic course notes, it extends the notion of mixing frames and explanatory
-% text, but rather than treating the frames as images (or integrating their contents into
-% the flowing text), the |mikoslides| package displays the slides as such in the course
-% notes to give students a visual anchor into the slide presentation in the course (and to
-% distinguish the different writing styles in slides and course notes).
-%
-% In practice we want to generate two documents from the same source: the slides for
-% presentation in the lecture and the course notes as a narrative document for home
-% study. To achieve this, the |mikoslides| class has two modes: \emph{slides mode} and
-% \emph{notes mode} which are determined by the package option.
-%
-% \subsection{Package Options}\label{sec:user:options}
-%
-% The |mikoslides| class takes a variety of class options:\ednote{leaving out noproblems
-% for the moment until we decide what to do with it.}
-% \begin{itemize}
-% \item The options \DescribeMacro{slides}|slides|\DescribeMacro and {notes}|notes| switch
-% between slides mode and notes mode (see Section~\ref{sec:user:notesslides}).
-% \item If the option \DescribeMacro{sectocframes}|sectocframes| is given, then special
-% frames with section table of contents are produced headers \ednote{document the functionality}
-% \item \DescribeMacro{showmeta}|showmeta|. If this is set, then the metadata keys are
-% shown (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
-% \item If the option \DescribeMacro{frameimages}|frameimages| is set, then slide mode
-% also shows the |\frameimage|-generated frames.
-% \item \DescribeMacro{topsect}|topsect=|\meta{sect} can be used to specify the
-% top-level sectioning level; the default for \meta{setc} is |section|.
-% \end{itemize}
-%
-% \subsection{Notes and Slides}\label{sec:user:notesslides}
-%
-% Slides are represented with the \DescribeEnv{frame}|frame| just like in the |beamer|
-% class, see~\cite{Tantau:ugbc} for details. The |mikoslides| class adds the
-% \DescribeEnv{note}|note| environment for encapsulating the course note
-% fragments.\footnote{MK: it would be very nice, if we did not need this environment, and
-% this should be possible in principle, but not without intensive LaTeX trickery. Hints to
-% the author are welcome.}
-%
-% \textwarning Note that it is essential to start and end the |notes| environment at the
-% start of the line -- in particular, there may not be leading blanks -- else {\LaTeX}
-% becomes confused and throws error messages that are difficult to decipher.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \begin{note}
-% We start this course with ...
-% \end{note}
-%
-% \begin{frame}
-% \frametitle{The first slide}
-% ...
-% \end{frame}
-% \begin{note}
-% ... and more explanatory text
-% \end{note}
-%
-% \begin{frame}
-% \frametitle{The second slide}
-% ...
-% \end{frame}
-% ...
-% \end{verbatim}
-% \caption{A typical Course Notes File}\label{fig:notesfile}
-% \end{exfig}
-%
-% By interleaving the |frame| and |note| environments, we can build course notes as shown
-% in Figure~\ref{fig:notesfile}.
-%
-% Sometimes, we want to integrate slides as images after all -- e.g. because we already
-% have a PowerPoint presentation, to which we want to add \sTeX notes. In this case we can
-% use \DescribeMacro{\frameimage}|\frameimage[|\meta{opt}|]{|\meta{path}|}|, where
-% \meta{opt} are the options of |\includegraphics| from the |graphicx|
-% package~\cite{CarRah:tpp99} and \meta{path} is the file path (extension can be left off
-% like in |\includegraphics|).
-%
-% If we want to transclude a the contents of a file as a note, we can use the
-% \DescribeMacro{\ninputref}|\ninputref| macro. |\ninputref{foo}| is equivalent to
-%\begin{verbatim}
-% \begin{note}
-% \inputref{foo}
-% \end{note}
-% \end{verbatim}
-%
-% There are some environments that tend to occur at the top-level of |note|
-% environments. We make convenience versions of these: e.g. the
-% \DescribeEnv{nomtext}|nomtext| environment is just an |omtext| inside a |note|
-% environemnt (but looks nicer in the source, since it avoids one level of source
-% indenting). Similarly, we have the \DescribeEnv{nomgroup}|nomgroup| environment.
-%
-% \subsection{Header and Footer Lines}\label{sec:user:headfootlines}
-%
-% \subsection{Colors and Highlighting}\label{sec:user:highlighting}
-% The \DescribeMacro{\textwarning}|\textwarning| macro generates a warning
-% sign: \textwarning
-%
-% \subsection{Front Matter, Titles, etc}\label{sec:user:matter}
-%
-% \subsection{Miscellaneous}\label{sec:user:misc}
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item when option |book| which uses |\pagestyle{headings}| is given and semantic macros
-% are given in the |omgroup| titles, then they sometimes are not defined by the time the
-% heading is formatted. Need to look into how the headings are made. This is a problem
-% of the underlying |omdoc| package.
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-%
-%\section{The Implementation}\label{sec:impl}
-%
-%\subsection{Class and Package Options}\label{sec:impl:init}
-%
-% We define some Package Options and switches for the |mikoslides| class and activate them
-% by passing them on to |beamer.cls| and |omdoc.cls| and the |mikoslides| package. We pass
-% the |nontheorem| option to the |statements| package when we are not in notes mode, since
-% the |beamer| package has its own (overlay-aware) theorem environments.
-%
-% \begin{macrocode}
-%<*cls>
-\RequirePackage{kvoptions}
-\RequirePackage{etoolbox}
-\SetupKeyvalOptions{family=mks@cls,prefix=mks@cls@}
-\DeclareStringOption[article]{class}
-\AddToKeyvalOption*{class}{\PassOptionsToClass{class=\mks@cls@class}{omdoc}
- \ifdefstring{\mks@cls@class}{book}{\PassOptionsToPackage{topsect=part}{mikoslides}}{}
- \ifdefstring{\mks@cls@class}{report}{\PassOptionsToPackage{topsect=part}{mikoslides}}}{}
-\DeclareBoolOption{notes}
-\DeclareComplementaryOption{slides}{notes}
-\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{omdoc}
- \PassOptionsToClass{\CurrentOption}{beamer}
- \PassOptionsToPackage{\CurrentOption}{mikoslides}}
-\ProcessKeyvalOptions{mks@cls}
-%</cls>
-% \end{macrocode}
-% now we do the same for the |mikoslides| package.
-% \begin{macrocode}
-%<*package>
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=mks@sty,prefix=mks@sty@}
-\DeclareStringOption[section]{topsect}
-\DeclareBoolOption{mh}
-\AddToKeyvalOption*{mh}{
- \PassOptionsToPackage{mh}{stex}
- \PassOptionsToPackage{mh}{smglom}
- \PassOptionsToPackage{mh}{tikzinput}}
-\newif\ifnotes\notestrue
-\DeclareBoolOption{notes}
-\AddToKeyvalOption*{notes}{\notestrue\PassOptionsToPackage{notes}{statements}}
-\DeclareComplementaryOption{slides}{notes}
-\AddToKeyvalOption*{slides}{\notesfalse\PassOptionsToPackage{nontheorem}{statements}}
-\DeclareBoolOption{sectocframes}
-\AddToKeyvalOption*{sectocframes}{\PassOptionsToPackage{msection}{statements}}
-\DeclareBoolOption{frameimages}
-\DeclareBoolOption{noproblems}
-\DeclareDefaultOption{\PassOptionsToPackage{\CurrentOption}{stex}
- \PassOptionsToPackage{\CurrentOption}{smglom}
- \PassOptionsToPackage{\CurrentOption}{tikzinput}}
-\ProcessKeyvalOptions{mks@sty}
-%</package>
-% \end{macrocode}
-%
-% Depending on the options, we either load the |article|-based |omdoc| or the |beamer|
-% class (and set some counters).
-% \begin{macrocode}
-%<*cls>
-\ifmks@cls@notes
- \LoadClass{omdoc}
-\else
- \LoadClass[10pt,notheorems]{beamer}
- \newcounter{Item}
- \newcounter{paragraph}
- \newcounter{subparagraph}
- \newcounter{Hfootnote}
-\fi
-% \end{macrocode}
-% now it only remains to load the |mikoslides| package that does all the rest.
-% \begin{macrocode}
-\RequirePackage{mikoslides}
-%</cls>
-% \end{macrocode}
-%
-% In |notes| mode, we also have to make the |beamer|-specific things available to
-% |article| via the |beamerarticle| package. We use options to avoid loading theorem-like
-% environments, since we want to use our own from the $\sTeX$ packages. The first batch
-% of packages we want are loaded on |mikoslides.sty|. These are the general ones, we will
-% load the \sTeX-specific ones after we have done some work (e.g. defined the counters
-% |m*|). Only the |stex-logo| package is already needed now for the default theme.
-%
-% \begin{macrocode}
-%<*package>
-\ifmks@sty@notes
-\RequirePackage{a4wide}
-\RequirePackage{marginnote}
-\RequirePackage{xcolor}
-\RequirePackage{mdframed}
-\RequirePackage[noxcolor,noamsthm]{beamerarticle}
-\fi
-\ifmks@sty@mh\RequirePackage{mikoslides-mh}\fi
-\RequirePackage{etoolbox}
-\RequirePackage{amssymb}
-\RequirePackage{amsmath}
-\RequirePackage{comment}
-\RequirePackage{textcomp}
-\RequirePackage{url}
-\RequirePackage{graphicx}
-\RequirePackage{stex-logo}
-\RequirePackage{pgf}
-\ifmks@sty@notes
-\RequirePackage[bookmarks,bookmarksopen,bookmarksnumbered,breaklinks,
-linkcolor=black,citecolor=black,urlcolor=cyan,filecolor=cyan,colorlinks]{hyperref}
-\fi
-% \end{macrocode}
-%
-% finally, we require the |metakeys| package from \sTeX, so that we can use the
-% |\addmetakey| mechanism.
-%
-% \begin{macrocode}
-\RequirePackage{metakeys}
-% \end{macrocode}
-%
-% \subsection{Notes and Slides}\label{sec:impl:noteslides}
-%
-% For the lecture notes cases, we also provide the |\usetheme| macro that would otherwise
-% from the the |beamer| class. While the latter loads |beamertheme|\meta{theme}{.sty}, the
-% notes version loads |beamernotestheme|\meta{theme}|.sty|.\ednote{MK: This is not ideal, but
-% I am not sure that I want to be able to provide the full theme functionality there.}
-% \begin{macrocode}
-\ifmks@sty@notes
-\renewcommand\usetheme[2][]{\usepackage[#1]{beamernotestheme#2}}
-\fi
-% \end{macrocode}
-% We define the sizes of slides in the notes. Somehow, we cannot get by with the same
-% here.
-%
-% \begin{macrocode}
-\newcounter{slide}
-\newlength{\slidewidth}\setlength{\slidewidth}{12.8cm}
-\newlength{\slideheight}\setlength{\slideheight}{9cm}
-% \end{macrocode}
-%
-% \begin{environment}{note}
-% The |note| environment is used to leave out text in the |slides| mode. It does not have
-% a counterpart in OMDoc. So for course notes, we define the |note| environment to be a
-% no-operation otherwise we declare the |note| environment as a comment via the |comment|
-% package.
-% \begin{macrocode}
-\ifmks@sty@notes%
- \renewenvironment{note}{\ignorespaces}{}%
-\else%
- \excludecomment{note}%
-\fi%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\ninputref}
-% \begin{macrocode}
-\newcommand\ninputref[2][]{\ifmks@sty@notes\inputref[#1]{#2}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% We first set up the slide boxes in |article| mode. We set up sizes and provide a
-% box register for the frames and a counter for the slides.
-%
-% \begin{macrocode}
-\ifmks@sty@notes
- \newlength{\slideframewidth}
- \setlength{\slideframewidth}{1.5pt}
-% \end{macrocode}
-%
-% \begin{environment}{frame}
-% We first define the keys.
-% \begin{macrocode}
- \addmetakey{frame}{label}
- \addmetakey[yes]{frame}{allowframebreaks}
- \addmetakey{frame}{allowdisplaybreaks}
- \addmetakey[yes]{frame}{fragile}
- \addmetakey[yes]{frame}{shrink}
- \addmetakey[yes]{frame}{squeeze}
- \addmetakey[yes]{frame}{t}
-% \end{macrocode}
-% We define the environment, read them, and construct the slide number and label.
-% \begin{macrocode}
- \renewenvironment{frame}[1][]{%
- \metasetkeys{frame}{#1}%
- \stepcounter{slide}%
- \def\@currentlabel{\theslide}%
- \ifx\frame@label\@empty%
- \else%
- \label{\frame@label}%
- \fi%
-% \end{macrocode}
-% We redefine the |itemize| environment so that it looks more like the one in |beamer|.
-% \begin{macrocode}
- \def\itemize@level{outer}%
- \def\itemize@outer{outer}%
- \def\itemize@inner{inner}%
- \renewcommand\newpage{}%
- \renewcommand\metakeys@show@keys[2]{\marginnote{{\scriptsize ##2}}}%
- \renewenvironment{itemize}{%
- \ifx\itemize@level\itemize@outer%
- \def\itemize@label{$\rhd$}%
- \fi%
- \ifx\itemize@level\itemize@inner%
- \def\itemize@label{$\scriptstyle\rhd$}%
- \fi%
- \begin{list}%
- {\itemize@label}%
- {\setlength{\labelsep}{.3em}%
- \setlength{\labelwidth}{.5em}%
- \setlength{\leftmargin}{1.5em}%
- }%
- \edef\itemize@level{\itemize@inner}%
- }{%
- \end{list}%
- }%
-% \end{macrocode}
-% We create the box with the |mdframed| environment from the equinymous package.
-% \begin{macrocode}
- \begin{mdframed}[linewidth=\slideframewidth,skipabove=1ex,skipbelow=1ex,userdefinedwidth=\slidewidth,align=center]\sf%
- }{%
- \medskip\miko@slidelabel\end{mdframed}%
- }%
-% \end{macrocode}
-% \end{environment}
-%
-% Now, we need to redefine the frametitle (we are still in course notes mode).
-% \begin{macro}{\frametitle}
-% \begin{macrocode}
- \renewcommand{\frametitle}[1]{{\Large\bf\sf\color{blue}{#1}}\medskip}%
-\fi %ifnotes
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\frameimage}
-% We have to make sure that the width is overwritten, for that we check the
-% |\Gin@ewidth| macro from the |graphicx| package\ednote{MK@DG; we need to do that in
-% the LaTeXML binding as well!}
-% \begin{macrocode}
-\newrobustcmd\frameimage[2][]{%
- \stepcounter{slide}%
- \ifmks@sty@frameimages%
- \def\Gin@ewidth{}\setkeys{Gin}{#1}%
- \ifmks@sty@notes\else\vfill\fi%
- \ifx\Gin@ewidth\@empty%
- \mycgraphics[width=\slidewidth,#1]{#2}\else\mycgraphics[#1]{#2}%
- \fi%
- \par\strut\hfill{\footnotesize Slide \arabic{slide}}%
- \ifmks@sty@notes\else\vfill\fi%
- \fi%
-}% ifframeimages
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pause}
-% \ednote{MK: fake it in notes mode for now}
-% \begin{macrocode}
-\ifmks@sty@notes\newcommand\pause{}\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{nomtext}
-% \begin{macrocode}
-\ifmks@sty@notes\newenvironment{nomtext}[1][]{\begin{omtext}[#1]}{\end{omtext}}%
-\else\excludecomment{nomtext}\fi%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{nomgroup}
-% \begin{macrocode}
-\ifmks@sty@notes\newenvironment{nomgroup}[2][]{\begin{omgroup}[#1]{#2}}{\end{omgroup}}%
-\else\excludecomment{nomgroup}\fi%
-% \end{macrocode}
-% \end{environment}
-% \subsection{Header and Footer Lines}\label{sec:impl:headfootlines}
-%
-% Now, we set up the infrastructure for the footer line of the slides, we use boxes for
-% the logos, so that they are only loaded once, that considerably speeds up processing.
-%
-% \begin{macro}{\setslidelogo}
-% The default logo is the logo of Jacobs University. Customization can be done by |\setslidelogo{|\meta{logo name}|}|.
-% \begin{macrocode}
-\newlength{\slidelogoheight}
-\ifmks@sty@notes%
- \setlength{\slidelogoheight}{.4cm}%
-\else%
- \setlength{\slidelogoheight}{1cm}%
-\fi%
-\newsavebox{\slidelogo}%
-\sbox{\slidelogo}{\sTeX}%
-\newrobustcmd{\setslidelogo}[1]{%
- \sbox{\slidelogo}{\includegraphics[height=\slidelogoheight]{#1}}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setsource}
-% |\source| stores the writer's name. By default it is {\it Michael Kohlhase} since he is the main user and designer of this package. |\setsource{|\meta{name}|}| can change the writer's name.
-% \begin{macrocode}
-\def\source{Michael Kohlhase}% customize locally
-\newrobustcmd{\setsource}[1]{\def\source{#1}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setlicensing}
-% Now, we set up the copyright and licensing. By default we use the Creative Commons
-% Attribuition-ShareAlike license to strengthen the public domain. If package |hyperref|
-% is loaded, then we can attach a hyperlink to the license
-% logo. |\setlicensing[|\meta{url}|]{|\meta{logo name}|}| is used for customization,
-% where ||\meta{url}|| is optional.
-% \begin{macrocode}
-\def\copyrightnotice{\footnotesize\copyright:\hspace{.3ex}{\source}}%
-\newsavebox{\cclogo}%
-\sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{cc_somerights}}%
-\newif\ifcchref\cchreffalse%
-\AtBeginDocument{%
- \@ifpackageloaded{hyperref}{\cchreftrue}{\cchreffalse}
-}%
-\def\licensing{%
- \ifcchref%
- \href{http://creativecommons.org/licenses/by-sa/2.5/}{\usebox{\cclogo}}%
- \else%
- {\usebox{\cclogo}}%
- \fi%
-}%
-\newrobustcmd{\setlicensing}[2][]{%
- \def\@url{#1}%
- \sbox{\cclogo}{\includegraphics[height=\slidelogoheight]{#2}}%
- \ifx\@url\@empty%
- \def\licensing{{\usebox{\cclogo}}}%
- \else%
- \def\licensing{%
- \ifcchref%
- \href{#1}{\usebox{\cclogo}}%
- \else%
- {\usebox{\cclogo}}%
- \fi%
- }%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\slidelabel}
-% Now, we set up the slide label for the |article| mode.\ednote{see that we can use the themes for the slides some day. This is all fake.}
-% \begin{macrocode}
-\newrobustcmd\miko@slidelabel{%
- \vbox to \slidelogoheight{%
- \vss\hbox to \slidewidth%
- {\licensing\hfill\copyrightnotice\hfill\arabic{slide}\hfill\usebox{\slidelogo}}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Colors and Highlighting}\label{sec:impl:highlighting}
-%
-% We first specify sans serif fonts as the default.
-%
-% \begin{macrocode}
-\sffamily
-% \end{macrocode}
-%
-% Now, we set up an infrastructure for highlighting phrases in slides. Note that we use
-% content-oriented macros for highlighting rather than directly using color markup.
-% The first thing to to is to adapt the green so that it is dark enough for most beamers
-% \begin{macrocode}
-\AtBeginDocument{%
-\definecolor{green}{rgb}{0,.5,0}%
-\definecolor{purple}{cmyk}{.3,1,0,.17}%
-}%
-% \end{macrocode}
-%
-% We customize the |\defemph|, |\notemph|, and |\stDMemph| macros with colors for the use
-% in the |statements| package. Furthermore we customize the |\@@lec| macro for the
-% appearance of line end comments in |\lec|.
-%
-% \begin{macrocode}
-% \def\STpresent#1{\textcolor{blue}{#1}}
-\def\defemph#1{{\textcolor{magenta}{#1}}}
-\def\notemph#1{{\textcolor{magenta}{#1}}}
-\def\stDMemph#1{{\textcolor{blue}{#1}}}
-\def\@@lec#1{(\textcolor{green}{#1})}
-% \end{macrocode}
-%
-% I like to use the dangerous bend symbol for warnings, so we provide it here.
-% \begin{macro}{\textwarning}
-% as the macro can be used quite often we put it into a box register, so that it is only
-% loaded once.
-% \begin{macrocode}
-\pgfdeclareimage[width=.8em]{miko@small@dbend}{dangerous-bend}
-\def\smalltextwarning{%
- \pgfuseimage{miko@small@dbend}%
- \xspace%
-}%
-\pgfdeclareimage[width=1.2em]{miko@dbend}{dangerous-bend}
-\newrobustcmd\textwarning{%
- \raisebox{-.05cm}{\pgfuseimage{miko@dbend}}%
- \xspace%
-}%
-\pgfdeclareimage[width=2.5em]{miko@big@dbend}{dangerous-bend}%
-\newrobustcmd\bigtextwarning{%
- \raisebox{-.05cm}{\pgfuseimage{miko@big@dbend}}%
- \xspace%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\newrobustcmd\putgraphicsat[3]{%
- \begin{picture}(0,0)\put(#1){\includegraphics[#2]{#3}}\end{picture}%
-}%
-\newrobustcmd\putat[2]{%
- \begin{picture}(0,0)\put(#1){#2}\end{picture}%
-}%
-% \end{macrocode}
-%
-% \subsection{Sectioning}
-%
-% If the |sectocframes| option is set, then we make section frames. We first define a set
-% of counters\ednote{I forget: why not use the counters from beamer/article? --> document
-% this.}
-% \begin{macrocode}
-\ifmks@sty@sectocframes%
-\ifdefstring\mks@sty@topsect{part}{%
- \newcounter{mpart}\newcounter{mchapter}\newcounter{msection}[mchapter]}
-{\ifdefstring\mks@sty@topsect{chapter}{%
- \newcounter{mchapter}\newcounter{msection}[mchapter]}
- {\newcounter{msection}}}
-\newcounter{msubsection}[msection]%
-\newcounter{msubsubsection}[msubsection]%
-\newcounter{msubsubsubsection}[msubsubsection]%
-\fi% ifsectocframes
-% \end{macrocode}
-%
-% Now that we have defined the counters, we can load the \sTeX-specific packages (in
-% particular |statements| that needs these counters).
-%
-% \begin{macrocode}
-\RequirePackage{stex}
-\RequirePackage{smglom}
-\RequirePackage{tikzinput}
-% \end{macrocode}
-%
-% Finally, we set the \DescribeMacro{\section@level}|\section@level| macro that governs
-% sectioning.
-%
-% \begin{macrocode}
-\section@level=2
-\ifdefstring{\mks@sty@topsect}{part}{\section@level=0}{}
-\ifdefstring{\mks@sty@topsect}{chapter}{\section@level=1}{}
-% \end{macrocode}
-%
-% Now \sTeX is loaded, we redefine the |omgroup| environment to produce section toc frames
-% (if the option |sectocframes| is specified.)\ednote{MK: we should probably just redefine
-% omgroup@num and omgroup@nonum, since they do the actual work so that we can add the
-% sectocframes behavior here without having to copy the internals. Then there is less
-% material that can get out of sync. Additionally, we should have a hook in the original
-% code of those so that we can increment the slides counter in notes node (to keep slides
-% in sync)}
-%
-% \begin{macrocode}
-\ifmks@sty@notes\else% only in slides
-\def\part@prefix{\ifdefstring\mks@sty@topsect{part}{\arabic{mchapter}.}{}}
-\renewenvironment{omgroup}[2][]{%
- \metasetkeys{omgroup}{#1}\sref@target%
- \advance\section@level by 1%
- \ifmks@sty@sectocframes%
- \stepcounter{slide}
- \begin{frame}[noframenumbering]%
- \vfill\Large\centering%
- \red{%
- \ifcase\section@level\or
- \stepcounter{mpart}
- \def\@@label{Part \Roman{mpart}}
- \def\currentsectionlevel{part}
- \or%
- \stepcounter{mchapter}
- \def\@@label{Chapter \arabic{mchapter}}
- \def\currentsectionlevel{chapter}
- \or
- \stepcounter{msection}
- \def\@@label{\part@prefix\arabic{msection}}
- \def\currentsectionlevel{section}
- \or
- \stepcounter{msubsection}
- \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}}
- \def\currentsectionlevel{subsection}
- \or
- \stepcounter{msubsubsection}
- \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}}
- \def\currentsectionlevel{subsubsection}
- \or
- \stepcounter{msubsubsubsection}
- \def\@@label{\part@prefix\arabic{msection}.\arabic{msubsection}.\arabic{msubsubsection}.\arabic{msubsubsubsection}}
- \def\currentsectionlevel{subsubsubsection}
- \fi% end ifcase
- \@@label\sref@label@id\@@label
- \quad #2%
- }%
- \vfill%
- \end{frame}%
- \fi %ifmks@sty@sectocframes
-}
-{\advance\section@level by -1}%
-\fi% ifmks@sty@notes
-% \end{macrocode}
-%
-% \subsection{Miscellaneous}
-%
-% We set up a |beamer| template for theorems like ams style, but without a block
-% environment.
-% \begin{macrocode}
-\def\inserttheorembodyfont{\normalfont}
-\defbeamertemplate{theorem begin}{miko}
-{\inserttheoremheadfont\inserttheoremname\inserttheoremnumber
- \ifx\inserttheoremaddition\@empty\else\ (\inserttheoremaddition)\fi%
- \inserttheorempunctuation\inserttheorembodyfont\xspace}
-\defbeamertemplate{theorem end}{miko}{}
-% \end{macrocode}
-% and we set it as the default one.
-% \begin{macrocode}
-\setbeamertemplate{theorems}[miko]
-% \end{macrocode}
-% The following fixes an error I do not understand, this has something to do with
-% beamer compatibility, which has similar definitions but only up to 1.
-% \begin{macrocode}
-\expandafter\def\csname Parent2\endcsname{}
-% \end{macrocode}
-% We need to disregard the columns macros introduced by the |beamer| class in the notes.
-% \begin{macrocode}
-\ifmks@sty@notes%
- \renewenvironment{columns}[1][]{%
- \par\noindent%
- \begin{minipage}%
- \slidewidth\centering\leavevmode%
- }{%
- \end{minipage}\par\noindent%
- }%
- \newsavebox\columnbox%
- \renewenvironment<>{column}[2][]{%
- \begin{lrbox}{\columnbox}\begin{minipage}{#2}%
- }{%
- \end{minipage}\end{lrbox}\usebox\columnbox%
- }%
-\fi% ifnotes
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ifmks@sty@noproblems%
- \newenvironment{problems}{}{}%
-\else%
- \excludecomment{problems}%
-\fi%
-%</package>
-% \end{macrocode}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: mikoslides dtx beamer omdoc notheorems noamsthm beamerarticle sc Licences
-% LocalWords: graphicx slidelabel stex amssymb tikz url CPERL amsmath filedate
-% LocalWords: LoadClass RequirePackage DefRegister DefEnvironment omgroup rgb frameimage
-% LocalWords: afterDigestBegin setProperty LookupValue DefConstructor hyperref Tantau's
-% LocalWords: cmyk lec DefMacro titleslide ttitle RawTeX metadata etoolbox cls emph ugbc
-% LocalWords: noproblems linkcolor bookmarksopen citecolor urlcolor colorlinks Tantau di
-% LocalWords: breaklinks plainpages pdfpagelabels srcref iffalse texttt atwin exfig dt
-% LocalWords: mytwocolumns twintoo atwintoo scsys sc hbox raisebox cnxml impl notesfile
-% LocalWords: scshape ttfamily cnxlatex mathml activemath fileversion newpage tpp99 dd
-% LocalWords: maketitle tableofcontents ednote compactitem showmeta showmeta beamerclass
-% LocalWords: sectocframes sectocframes textwarning textwarning compactenum eq omgroups
-% LocalWords: includegraphics tracissue printbibliography textsf langle textsf rangle
-% LocalWords: langle ltxml metakeys newif ifnotes notesfalse ifsectocframes rangle putat
-% LocalWords: sectocframesfalse ifproblems problemstrue notestrue marginnote frontmatter
-% LocalWords: problemsfalse sectocframestrue mdframed noxcolor newcounter ifx equinymous
-% LocalWords: Hfootnote usetheme tikzinput usepgflibrary usetikzlibrary rhd ignorespaces
-% LocalWords: tikzmark textcomp newlength slidewidth setlength slidewidth miko setkeys
-% LocalWords: slideheight slideheight renewenvironment excludecomment itenize Gin@ewidth
-% LocalWords: slideframewidth slideframewidth surroundwithmdframed addmetakey Gen@ewidth
-% LocalWords: allowframebreaks allowdisplaybreaks metasetkeys stepcounter sbox mpart baz
-% LocalWords: currentlabel theslide renewcommand scriptsize scriptstyle hspace mchapter
-% LocalWords: medskip linewidth skipabove skipbelow frametitle newenvironment msection
-% LocalWords: slidelogoheight newsavebox slidelogo slidelogo jacobs-logo vbox ifcase
-% LocalWords: Attribuition-ShareAlike copyrightnotice footnotesize cclogo vss minipage
-% LocalWords: cclogo somerights ifcchref cchreffalse ifpackageloaded usebox mycgraphics
-% LocalWords: cchreftrue usebox newcommand hfill hfill definecolor definecolor endinput
-% LocalWords: defemph notemph stDMemph STpresent textcolor textwarigrening ltx HorIacJuc
-% LocalWords: pgfdeclareimage dbend pgfuseimage xspace titleframe titlepage mycgraphics
-% LocalWords: titleframewith hline vspace ttitlejoint newbox boxwith boxwith msubsection
-% LocalWords: putgraphicsat beginomgroup ifnum vfill vfill noindent leavevmode cscpnrr11
-% LocalWords: columnbox lrbox needwrapper unlist omtext bgroup autoclose pgf readXToken
-% LocalWords: mygraphics doctex NeedsTeXFormat textbackslash userdefinedwidth foobar
-% LocalWords: includegrahics smalltextwarnings msubsubsection msubsubsubsection ldots
-% LocalWords: frameimages frameimages ifframeimages frameimagesfalse frameimagestrue
-% LocalWords: expandafter csname endcsname specializes customization flexiformal colors
-% LocalWords: initialize Initialization defindex realized itemize newrobustcmd
-% LocalWords: specialize centering itemizations setsource setlicensing
diff --git a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.ins b/macros/latex/contrib/stex/sty/mikoslides/mikoslides.ins
deleted file mode 100644
index 75c1024cd3..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.ins
+++ /dev/null
@@ -1,35 +0,0 @@
-%%
-%% This file generates files required to use the mikoslides class.
-%% At your command prompt write
-%%
-%% latex mikoslides.ins
-%%
-%% Copyright(c) 2007 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex-content/sty/mikoslides/mikoslides.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{mikoslides.sty}{\from{mikoslides.dtx}{package}}}
-\generate{\file{mikoslides.cls}{\from{mikoslides.dtx}{cls}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file mikolides.cls and mikoslides.sty
- into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.pdf b/macros/latex/contrib/stex/sty/mikoslides/mikoslides.pdf
deleted file mode 100644
index 79660957ba..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/mikoslides.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/mikoslides/shading-l2r.png b/macros/latex/contrib/stex/sty/mikoslides/shading-l2r.png
deleted file mode 100644
index 2eabe7a8b1..0000000000
--- a/macros/latex/contrib/stex/sty/mikoslides/shading-l2r.png
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/modules/README b/macros/latex/contrib/stex/sty/modules/README
deleted file mode 100644
index 1ca4729991..0000000000
--- a/macros/latex/contrib/stex/sty/modules/README
+++ /dev/null
@@ -1,19 +0,0 @@
-modules.sty: An Infrastructure for Semantic Macros and Module Scoping
-
-The modules package supplies an infrastructure that allows mark up semantic macros
-and to reuse them efficiently in multiple environments.
-
-This packge is a central part of the sTeX collection, a version of TeX/LaTeX that allows
-to markup TeX/LaTeX documents semantically without leaving the document format,
-essentially turning it into a document format for mathematical knowledge management
-(MKM).
-
-This package supplies a definition mechanism for semantic macros and a non-standard
-scoping construct for them, which is oriented at the semantic depency relation rather
-than the document structure. This structure can be used by MKM systems for
-added-value services, either directly from the sTeX sources, or after translation.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/modules/modules.dtx b/macros/latex/contrib/stex/sty/modules/modules.dtx
deleted file mode 100644
index e3f9787873..0000000000
--- a/macros/latex/contrib/stex/sty/modules/modules.dtx
+++ /dev/null
@@ -1,1674 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for Semantic Macros and Module Scoping
-% Copyright (C) 2004-2013 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{modules}[2019/03/20 v1.4 Semantic Markup]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{stex-logo,modules}
-\usepackage{url,array,float,textcomp}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{listings}
-\usepackage{amsfonts}
-\usepackage{ctangit}
-\usepackage{xspace}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{modules.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{802}
-%
-% \changes{v0.9}{2005/06/14}{First Version with Documentation}
-% \changes{v0.9a}{2005/07/01}{Completed Documentation}
-% \changes{v0.9b}{2005/08/06}{Complete functionality and Updated Documentation}
-% \changes{v0.9c}{2006/01/13}{more packaging}
-% \changes{v0.9d}{2007/12/12}{fixing double loading of .tex and .sms}
-% \changes{v0.9e}{2008/06/17}{fixing LaTeXML}
-% \changes{v0.9f}{2008/06/17}{remove unused options uses and usesqualified}
-% \changes{v0.9g}{2009/05/02}{adding resymdef functionality}
-% \changes{v0.9g}{2009/08/12}{adding importOMDocmodule}
-% \changes{v0.9h}{2010/01/19}{using {\texttt{\textbackslash mod@newcommand}} instead of
-% {\texttt{\textbackslash providecommand}} for more intuitive inheritance.}
-% \changes{v0.9h}{2010/03/05}{adding {\texttt{\textbackslash metalanguage}}}
-% \changes{v1.0}{2010/06/18}{minor fixes}
-% \changes{v1.1}{2010/12/30}{adding optional arguments to semantic macros for display
-% variants. The resymdef functionality introduced in 0.9g is now deprecated. It was hardly
-% used.}
-% \changes{v1.1}{2012/06/25}{adding additional keys for the \texttt{\textbackslash symdef}
-% macro and exporting them to OMDoc}
-% \changes{v1.1}{2012/07/06}{exporting requiremodules to the \texttt{aux} file, so that
-% they are preloaded (pre-required) so semantic macros in section titles can work.}
-% \changes{v1.1}{2012/11/09}{Moving LaTeXML bindings into \texttt{modules.sty.ltxml} and
-% disabling generation}
-% \changes{v1.2}{2013/08/25}{No longer loading the aux file at the end of the document}
-% \changes{v1.3}{2013/12/12}{adding MathHub support}
-% \changes{v1.4}{2015/03/31}{Completely revamped importing modules this is much faster now,
-% but can no longer do relative paths.}
-% \changes{v1.4}{2015/04/02}{deprecated \texttt {\textbackslash sinput} and \texttt {\textbackslash sinputref}}
-% \changes{v1.5}{2015/11/02}{Moved MH Versions to a separate \texttt{mathhub} package}
-% \changes{v1.5}{2018/06/15}{``unidentified cd'' in termref is now an error.}
-%
-% \GetFileInfo{modules.sty}
-%
-% \MakeShortVerb{\|}
-%\def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}\xspace}
-% \def\xml{\scsys{Xml}}
-% \def\mathml{\scsys{MathML}}
-% \def\omdoc{\scsys{OMDoc}}
-% \def\openmath{\scsys{OpenMath}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\perl{\scsys{Perl}}
-% \def\cmathml{Content-{\sc MathML}\index{Content {\sc MathML}}\index{MathML@{\sc MathML}!content}}
-% \def\activemath{\scsys{ActiveMath}}
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-% \def\cT{\mathcal{T}}\def\cD{\mathcal{D}}
-% \title{{\texttt{modules.sty}}: Semantic Macros and Module Scoping in {\stex}\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}\and
-% Deyan Ginev\\Authorea\and
-% Rares Ambrus\\Jacobs University Bremen}
-% \maketitle
-%
-% \begin{abstract}
-% The |modules| package is a central part of the {\stex} collection, a version of
-% {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX} documents semantically without
-% leaving the document format, essentially turning {\TeX/\LaTeX} into a document format
-% for mathematical knowledge management (MKM).
-%
-% This package supplies a definition mechanism for semantic macros and a non-standard
-% scoping construct for them, which is oriented at the semantic dependency relation
-% rather than the document structure. This structure can be used by MKM systems for
-% added-value services, either directly from the {\sTeX} sources, or after translation.
-% \end{abstract}
-%
-% \newpage\setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-% \section{Introduction}\label{sec:intro}
-%
-% Following general practice in the {\TeX/\LaTeX} community, we use the term ``semantic
-% macro'' for a macro whose expansion stands for a mathematical object, and whose name
-% (the command sequence) is inspired by the name of the mathematical object. This can
-% range from simple definitions like |\def\Reals{\mathbb{R}}| for individual mathematical
-% objects to more complex (functional) ones object constructors like
-% |\def\SmoothFunctionsOn#1{\mathcal{C}^\infty(#1,#1)}|. Semantic macros are traditionally
-% used to make {\TeX/\LaTeX} code more portable. However, the {\TeX/\LaTeX} scoping model
-% (macro definitions are scoped either in the local group or until the rest of the
-% document), does not mirror mathematical practice, where notations are scoped by
-% mathematical environments like statements, theories, or such. For an in-depth discussion
-% of semantic macros and scoping we refer the reader~\cite{Kohlhase:ulsmf08}.
-%
-% The |modules| package provides a {\LaTeX}-based markup infrastructure for defining
-% module-scoped semantic macros and {\latexml} bindings~\cite{Miller:latexml:online} to
-% create {\omdoc}~\cite{Kohlhase:OMDoc1.2} from {\stex} documents. In the {\stex} world
-% semantic macros have a special status, since they allow the transformation of
-% {\TeX/\LaTeX} formulae into a content-oriented markup format like
-% {\openmath}~\cite{BusCapCar:2oms04} and (strict) content
-% {\mathml}~\cite{CarlisleEd:MathML3}; see Figure~\ref{fig:omsemmac} for an example, where
-% the semantic macros above have been defined by the |\symdef| macros (see
-% Section~\ref{sec:symdef}) in the scope of a |\begin{module}[id=calculus]| (see
-% Section~\ref{sec:modules}).
-%
-% \begin{exfig}\lstset{basicstyle=\scriptsize,aboveskip=-.5em,belowskip=-1.5em}
-% \begin{tabular}{l|p{9.7cm}}
-% \LaTeX & \verb|\SmoothFunctionsOn\Reals| \\\hline
-% PDF/DVI & ${\mathcal{C}^\infty(\mathbb{R},\mathbb{R})}$\\\hline
-% {\openmath} & \lstset{morekeywords={OMA,OMS}}
-% \begin{lstlisting}
-% <OMA>
-% <OMS cd="calculus" name="SmoothFunctionsOn"/>
-% <OMS cd="calculus" name="Reals"/>
-% </OMA>\end{lstlisting}\\\hline
-% {\mathml} & \lstset{morekeywords={apply,csymbol}}
-% \begin{lstlisting}
-% <apply>
-% <csymbol cd="calculus">SmoothFunctionsOn</csymbol>
-% <csymbol cd="calculus">Reals</csymbol>
-% </apply>\end{lstlisting}\\
-% \end{tabular}
-% \caption{{\openmath} and {\mathml} generated from Semantic Macros}\label{fig:omsemmac}
-% \end{exfig}
-%
-% \section{The User Interface}
-%
-% The main contributions of the |modules| package are the |module| environment, which
-% allows for lexical scoping of semantic macros with inheritance and the |\symdef| macro
-% for declaration of semantic macros that underly the |module| scoping.
-%
-% \subsection{Package Options}\label{sec:options}
-%
-% The |modules| package takes six options: If we set
-% \DescribeMacro{showmods}|showmods|\ednote{This mechanism does not work yet, since we
-% cannot disable it when importing modules and that leads to unwanted boxes. What we need
-% to do instead is to tweak the sms utility to use an internal version that never shows
-% anything during sms reading.}, then the views (see Section~\ref{sec:user:views}) are
-% shown. If we set the \DescribeMacro{qualifiedimports}|qualifiedimports| option, then
-% qualified imports are enabled. Qualified imports give more flexibility in module
-% inheritance, but consume more internal memory. As qualified imports are not fully
-% implemented at the moment, they are turned off by default see
-% Limitation~\ref{sec:limitations:qualified-imports}. The option
-% \DescribeMacro{noauxreq}|noauxreq| prohibits the registration of |\@requiremodules|
-% commands in the |aux| file. They are necessary for preloading the module signatures so
-% that entries in the table of contents can have semantic macros; but as they sometimes
-% cause trouble the option allows to turn off preloading.
-%
-% If the \DescribeMacro{showmeta}|showmeta| optin is set, then the metadata keys are shown
-% (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
-%
-% The \texttt{mh} option enables MathHub support; see~\cite{Kohlhase:mss:ctan}.
-%
-% Finally, if the \DescribeMacro{trwarn}|trwrn| is given, then the |modules| package only
-% gives warnings instead of hard errors when term references are unknown.
-%
-% \subsection{Semantic Macros}\label{sec:symdef}
-%
-% The \DescribeMacro{\symdef} is the main constructor for semantic macros in {\sTeX}. A
-% call to the |\symdef| macro has the general form
-% \begin{quote}
-% |\symdef[|\meta{keys}|]{|\meta{cseq}|}[|\meta{args}|]{|\meta{definiens}|}|
-% \end{quote}
-% where {\meta{cseq}} is a control sequence (the name of the semantic macro) {\meta{args}}
-% is a number between 0 and 9 for the number of arguments {\meta{definiens}} is the token
-% sequence used in macro expansion for {\meta{cseq}}. Finally {\meta{keys}} is a keyword
-% list that further specifies the semantic status of the defined macro.
-%
-% The two semantic macros in Figure~\ref{fig:omsemmac} would have been declared by
-% invocations of the |\symdef| macro of the form:
-% \begin{verbatim}
-% \symdef{Reals}{\mathbb{R}}
-% \symdef{SmoothFunctionsOn}[1]{\mathcal{C}^\infty(#1,#1)}
-% \end{verbatim}
-%
-% Note that both semantic macros correspond to {\openmath} or {\mathml} ``symbols'',
-% i.e. named representations of mathematical concepts (the real numbers and the
-% constructor for the space of smooth functions over a set); we call these names the
-% \textbf{symbol name} of a semantic macro. Normally, the symbol name of a semantic macro
-% declared by a |\symdef| directive is just \meta{cseq}. The key-value pair
-% \DescribeMacro{name}|name=|\meta{symname} can be used to override this behavior and
-% specify a differing name. There are two main use cases for this.
-%
-% The first one is shown in Example~\ref{fig:symvariant}, where we define semantic macros
-% for the ``exclusive or'' operator. Note that we define two semantic macros: |\xorOp| and
-% |\xor| for the applied form and the operator. As both relate to the same mathematical
-% concept, their symbol names should be the same, so we specify |name=xor| on the
-% definition of |\xorOp|.
-%
-% A key \DescribeMacro{local}|local| can be added to {\meta{keys}} to specify that the
-% symbol is local to the module and is invisible outside. Note that even though |\symdef|
-% has no advantage over |\def| for defining local semantic macros, it is still considered
-% good style to use |\symdef| and |\abbrdef|, if only to make switching between local and
-% exported semantic macros easier.
-%
-% Finally, the key \DescribeMacro{primary}|primary| (no value) can be given for primary
-% symbols.
-%
-% \DescribeMacro{\abbrdef}The |\abbrdef| macro is a variant of |\symdef| that is only
-% different in semantics, not in presentation. An abbreviative macro is like a semantic
-% macro, and underlies the same scoping and inheritance rules, but it is just an
-% abbreviation that is meant to be expanded, it does not stand for an atomic mathematical
-% object.
-%
-% We will use a simple module for natural number arithmetics as a running example. It
-% defines exponentiation and summation as new concepts while drawing on the basic
-% operations like $+$ and $-$ from {\LaTeX}. In our example, we will define a semantic
-% macro for summation |\Sumfromto|, which will allow us to express an expression like
-% $\sum{i=1}^nx^i$ as |\Sumfromto{i}1n{2i-1}| (see Example~\ref{fig:semmodule} for an
-% example). In this example we have also made use of a local semantic symbol for $n$,
-% which is treated as an arbitrary (but fixed) symbol.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \begin{module}[id=arith]
-% \symdef{Sumfromto}[4]{\sum_{#1=#2}^{#3}{#4}}
-% \symdef[local]{arbitraryn}{n}
-% What is the sum of the first $\arbitraryn$ odd numbers, i.e.
-% $\Sumfromto{i}1\arbitraryn{2i-1}?$
-% \end{module}
-% \end{verbatim}
-% \vspace*{-3.5ex}\hrule\vspace*{1ex}
-% \begin{module}[id=arith]
-% \symdef{Sumfromto}[4]{\sum_{#1=#2}^{#3}{#4}}
-% \symdef[local]{arbitraryn}{n}
-% What is the sum of the first $\arbitraryn$ odd numbers, i.e.
-% $\Sumfromto{i}1\arbitraryn{2i-1}?$
-% \end{module}
-% \caption{Semantic Markup in a {\texttt{module}} Context}\label{fig:semmodule}
-% \end{exfig}
-%
-% The \DescribeMacro{\symvariant}|\symvariant| macro can be used to define presentation
-% variants for semantic macros previously defined via the |\symdef| directive. In an
-% invocation
-% \begin{quote}
-% |\symdef[|\meta{keys}|]{|\meta{cseq}|}[|\meta{args}|]{|\meta{pres}|}|\\
-% |\symvariant{|\meta{cseq}|}[|\meta{args}|]{|\meta{var}|}{|\meta{varpres}|}|
-% \end{quote}
-% the first line defines the semantic macro |\|\meta{cseq} that when applied to
-% \meta{args} arguments is presented as \meta{pres}. The second line allows the semantic
-% macro to be called with an optional argument \meta{var}: |\|\meta{cseq}|[var]| (applied
-% to \meta{args} arguments) is then presented as \meta{varpres}. We can define a variant
-% presentation for |\xor|; see Figure~\ref{fig:symvariant} for an example.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \begin{module}[id=xbool]
-% \symdef[name=xor]{xorOp}{\oplus}
-% \symvariant{xorOp}{uvee}{\underline{\vee}}
-% \symdef{xor}[2]{#1\xorOp #2}
-% \symvariant{xor}[2]{uvee}{#1\xorOp[uvee] #2}
-% Exclusive disjunction is commutative: $\xor{p}q=\xor{q}p$\\
-% Some authors also write exclusive or with the $\xorOp[uvee]$ operator,
-% then the formula above is $\xor[uvee]{p}q=\xor[uvee]{q}p$
-% \end{module}
-% \end{verbatim}
-% \vspace*{-3.5ex}\hrule\vspace*{1ex}
-% \begin{module}[id=xbool]
-% \symdef[name=xor]{xorOp}{\oplus}
-% \symvariant{xorOp}{uvee}{\underline{\vee}}
-% \symdef{xor}[2]{#1\xorOp #2}
-% \symvariant{xor}[2]{uvee}{#1\xorOp[uvee] #2}
-% Exclusive disjunction is commutative: $\xor{p}q=\xor{q}p$\\
-% Some authors also write exclusive or with the $\xorOp[uvee]$ operator,
-% then the formula above is $\xor[uvee]{p}q=\xor[uvee]{q}p$
-% \end{module}
-% \caption{Presentation Variants of a Semantic Macro}\label{fig:symvariant}
-% \end{exfig}
-%
-% Version 1.0 of the |modules| package had the \DescribeMacro{\resymdef}|\resymdef| macro
-% that allowed to locally redefine the presentation of a macro. But this did not interact
-% well with the |beamer| package and was less useful than the |\symvariant|
-% functionality. Therefore it is deprecated now and leads to an according error message.
-% \subsection{Testing Semantic Macros}\label{sec:user:testing}
-%
-% One of the problems in managing large module graphs with many semantic macros, so the
-% |module| package gives an infrastructure for unit testing. The first macro is
-% \DescribeMacro{\symtest}|\symtest|, which allows the author of a semantic macro to
-% generate test output (if the |symtest| option is set) see figure~\ref{fig:symtest} for a
-% ``tested semantic macro definition''.
-% \begin{exfig}
-% \begin{verbatim}
-% \symdef[name=setst]{SetSt}[2]{\{#1\,\vert\,#2\}}
-% \symtest[name=setst]{SetSt}{\SetSt{a}{a>0}}
-% \end{verbatim}
-% \vspace*{-2em} generates the output
-% \begin{module}[id=foo]
-% \symdef[name=setst]{SetSt}[2]{\{#1\,\vert\,#2\}}
-% \symtest[name=setst]{SetSt}{\SetSt{a}{a>0}}
-% \end{module}
-% \caption{A Semantic Macro Definition with Test}\label{fig:symtest}
-% \end{exfig}
-% Note that the language in this purely generated, so that it can be adapted (tbd).
-%
-% The \DescribeMacro{\abbrtest}|\abbrtest| macro gives the analogous functionality for
-% |\abbrdef|.
-%
-% \subsection{Axiomatic Assumptions}\label{sec:user:assumptions}
-%
-% In many ways, axioms and assumptions in definitions behave a lot like symbols
-% (see~\cite{RabKoh:WSMSML13} for discussion). Therefore we provide the macro
-% \DescribeMacro{\assdef}|\assdef| that can be used to mark up assumptions. Given a phrase
-% \meta{phrase} in a definition\ednote{only definitions?}, we can use
-% |\assdef{|\meta{name}|}{|\meta{phrase}|}| to give this the symbol name
-% \meta{name}.\ednote{continue}
-%
-% \subsection{Semantic Macros for Variables}\label{sec:user:semvars}
-%
-% Up to now, the semantic macros generated \openmath and \mathml markup where the heads of
-% the semantic macros become constants (the |OMS| and |csymbol| elements in
-% Figure~\ref{fig:omsemmac}). But sometimes we want to have semantic macros for variables,
-% e.g. to associate special notation conventions. For instance, if we want to define
-% mathematical structures from components as in Figure~\ref{fig:monoid}, where the
-% semigroup operation $\circ$ is a variable epistemologically, but is a $n$-ary
-% associative operator -- we are in a semigroup after all. Let us call such variables
-% \textbf{semantic variables} to contrast them from \textbf{semantic constants} generated
-% by |\symdef| and |\symvariant|.
-%
-%\begin{exfig}
-% \textbf{Definition 3.17} Let $\langle G,\circ\rangle$ be a semigroup, then we call
-% $e\in G$ a \textbf{unit}, iff $e\circ x=x\circ e=x$. A semigroup with unit $\langle
-% G,\circ,e\rangle$ is called a \textbf{monoid}.
-% \caption{A Definition of a Structure with ``semantic
-% variables''.}\label{fig:monoid}
-% \end{exfig}
-%
-% Semantic variables differ from semantic constants in two ways:
-% \begin{enumerate}
-% \item they do not participate
-% in the imports mechanism and
-% \item they generate markup with variables.
-% \end{enumerate}
-% In the case of
-% Figure~\ref{fig:monoid} we (want to) have the \xml markup in Figure~\ref{fig:omsemvar}.
-% To associate the notation to the variables, we define semantic macros for them, here the
-% macro |\op| for the (semigroup) operation via the \DescribeMacro{\vardef}|\vardef|
-% macro. |\vardef| works exactly like, except
-% \begin{enumerate}
-% \item semantic variables are local to the current {\TeX} group and
-% \item they generate variable markup in the \xml
-% \end{enumerate}
-%
-% \begin{exfig}\lstset{basicstyle=\scriptsize,aboveskip=-.5em,belowskip=-1.5em}
-% \begin{tabular}{l|p{9.7cm}}
-% \sTeX & \verb|\vardef{op}[1]{\assoc\circ{#1}}|\\\hline
-% \omdoc &
-% \begin{lstlisting}
-% <notation>
-% <prototype>
-% <OMA>
-% <OMV name="op"/>
-% <expr name="a1"/>
-% <expr name="a2"/>
-% </OMA>
-% </prototype>
-% <rendering>
-% <mrow>
-% <render name="a1"/>
-% <mo>&#x2384;</mo>
-% <render name="a2"/>
-% </mrow>
-% </rendering>
-% </notation>\end{lstlisting}\\\hline
-% \LaTeX & \verb|\op{x,e}| \\\hline
-% PDF/DVI & $x\circ e$\\\hline
-% {\openmath} & \lstset{morekeywords={OMA,OMV}}
-% \begin{lstlisting}
-% <OMA><OMV name="op"/><OMV name="x"/><OMV name="e"/></OMA>\end{lstlisting}\\\hline
-% {\mathml} & \lstset{morekeywords={apply,ci}}
-% \begin{lstlisting}
-% <apply><ci>op</ci><ci>x</ci><ci>e</ci></apply>\end{lstlisting}\\
-% \end{tabular}
-% \caption{Semantic Variables in {\openmath} and {\mathml}}\label{fig:omsemvar}
-% \end{exfig}
-%
-% \subsection{Symbol and Concept Names}\label{sec:user:termdef}
-%
-% Just as the |\symdef| declarations define semantic macros for mathematical symbols, the
-% |modules| package provides an infrastructure for {\emph{mathematical concepts}} that are
-% expressed in mathematical vernacular. The key observation here is that concept names
-% like ``finite symplectic group'' follow the same scoping rules as mathematical symbols,
-% i.e. they are module-scoped. The \DescribeMacro{\termdef}|\termdef| macro is an analogue
-% to |\symdef| that supports this: use
-% |\termdef[|\meta{keys}|]{|\meta{cseq}|}{|\meta{concept}|}| to declare the macro
-% |\|\meta{cseq} that expands to \meta{concept}. See Figure~\ref{fig:termref} for an
-% example, where we use the \DescribeMacro{\capitalize}|\capitalize| macro to adapt
-% \meta{concept} to the sentence beginning.\ednote{continue, describe \meta{keys}, they
-% will have to to with plurals,\ldots once implemented}. The main use of the
-% |\termdef|-defined concepts lies in automatic cross-referencing facilities via the
-% \DescribeMacro{\termref}|\termref| and \DescribeMacro{\symref}|\symref| macros provided
-% by the |statements| package~\ctancite{Kohlhase:smms}. Together with the |hyperref|
-% package~\cite{RahObe:hmlmh10}, this provide cross-referencing to the definitions of the
-% symbols and concepts. As discussed in section~\ref{sec:limitations:crossref}, the
-% |\symdef| and |\termdef| declarations must be on top-level in a module, so the
-% infrastructure provided in the |modules| package alone cannot be used to locate the
-% definitions, so we use the infrastructure for mathematical statements for that.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \termdef[name=xor]{xdisjunction}{exclusive disjunction}
-% \capitalize\xdisjunction is commutative: $\xor{p}q=\xor{q}p$
-% \end{verbatim}
-% \vspace*{-3.5ex}
-% \caption{Extending Example~\ref{fig:symvariant} with Term References}\label{fig:termref}
-% \end{exfig}
-%
-% \subsection{Modules and Inheritance}\label{sec:modules}
-%
-% The\DescribeEnv{module}|module| environment takes an optional |KeyVal|
-% argument. Currently, only the |id| key is supported for specifying the identifier of a
-% module (also called the {\twintoo{module}{name}}). A module introduced by
-% |\begin{module}[id=foo]| restricts the scope the semantic macros defined by the
-% |\symdef| form to the end of this module given by the corresponding |\end{module}|,
-% and to any other |module| environments that import them by a |\importmodule{foo}|
-% directive. If the module |foo| contains |\importmodule| directives of its own, these are
-% also exported to the importing module.
-%
-% Thus the \DescribeMacro{\importmodule}|\importmodule| declarations induce the
-% {\atwintoo{semantic}{inheritance}{relation}}. Figure~\ref{exf:importmodule} shows a
-% module that imports the semantic macros from three others. In the simplest form,
-% |\importmodule{|\meta{mod}|}| will activate the semantic macros and concepts declared by
-% |\symdef| and |\termdef| in module \meta{mod} in the current module\footnote{Actually,
-% in the current {\TeX} group, therefore \texttt{\textbackslash importmodule} should be
-% placed directly after the \texttt{\textbackslash begin\{module\}}.}. To understand the
-% mechanics of this, we need to understand a bit of the internals. The |module|
-% environment sets up an internal macro pool, to which all the macros defined by the
-% |\symdef| and |\termdef| declarations are added; |\importmodule| only activates this
-% macro pool. Therefore |\importmodule{|\meta{mod}|}| can only work, if the {\TeX} parser
-% --- which linearly goes through the {\sTeX} sources --- already came across the module
-% \meta{mod}. In many situations, this is not obtainable; e.g. for ``semantic forward
-% references'', where symbols or concepts are previewed or motivated to knowledgeable
-% readers before they are formally introduced or for modularizations of documents into
-% multiple files. To enable situations like these, the |module| package uses auxiliary
-% files called {\textbf{\sTeX module signatures}}. For any file, \meta{file}|.tex|, we
-% generate a corresponding \sTeX module signature \meta{file}|.sms| with the |sms| utility
-% (see also Limitation~\ref{sec:limitations:sms}), which contains (copies of) all
-% |\begin|/|\end{module}|, |\importmodule|, |\symdef|, and |\termdef| invocations in
-% \meta{file}|.tex|. The value of an \sTeX module signature is that it can be loaded
-% instead its corresponding \sTeX document, if we are only interested in the semantic
-% macros. So |\importmodule[|load=\meta{filepath}|]{|\meta{mod}|}| will load the \sTeX
-% module signature \meta{filepath}|.sms| (if it exists and has not been loaded before) and
-% activate the semantic macros from module \meta{mod} (which was supposedly defined in
-% \meta{filepath}|.tex|). Note that since \meta{filepath}|.sms| contains all
-% |\importmodule| statements that \meta{filepath}|.tex| does, an |\importmodule|
-% recursively loads all necessary files to supply the semantic macros inherited by the
-% current module.\ednote{MK: document the other keys of |module|}
-%
-% The \DescribeMacro{\metalanguage}|\metalanguage| macro is a variant of
-% \lstinline|importmodule| that imports the meta language, i.e. the language in which the
-% meaning of the new symbols is expressed. For mathematics this is often first-order logic
-% with some set theory; see~\cite{RabKoh:WSMSML13} for discussion.
-%
-% \subsection{Dealing with multiple Files}\label{sec:user:multiple}
-%
-% The infrastructure presented above works well if we are dealing with small files or
-% small collections of modules. In reality, collections of modules tend to grow, get
-% re-used, etc, making it much more difficult to keep everything in one file. This general
-% trend towards increasing entropy is aggravated by the fact that modules are very
-% self-contained objects that are ideal for re-used. Therefore in the absence of a
-% content management system for {\LaTeX} document (fragments), module collections tend to
-% develop towards the ``one module one file'' rule, which leads to situations with lots
-% and lots of little files.
-%
-% Moreover, most mathematical documents are not self-contained, i.e. they do not build up
-% the theory from scratch, but pre-suppose the knowledge (and notation) from other
-% documents. In this case we want to make use of the semantic macros from these
-% prerequisite documents without including their text into the current document. One way
-% to do this would be to have {\LaTeX} read the prerequisite documents without producing
-% output. For efficiency reasons, {\stex} chooses a different route. It comes with a
-% utility |sms| (see Section~\ref{sec:limitations:sms}) that exports the modules and macros
-% defined inside them from a particular document and stores them inside |.sms| files. This
-% way we can avoid overloading LaTeX with useless information, while retaining the
-% important information which can then be imported in a more efficient way.
-%
-% \DescribeMacro{\importmodule} For such situations, the |\importmodule| macro can be
-% given an optional first argument that is a path to a file that contains a path to the
-% module file, whose module definition (the |.sms| file) is read. Note that the
-% |\importmodule| macro can be used to make module files truly self-contained. To arrive
-% at a file-based content management system, it is good practice to reuse the module
-% identifiers as module names and to prefix module files with corresponding
-% |\importmodule| statements that pre-load the corresponding module files.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \begin{module}[id=foo]
-% \importmodule[load=../other/bar]{bar}
-% \importmodule[load=../mycolleaguesmodules]{baz}
-% \importmodule[load=../other/bar]{foobar}
-% ...
-% \end{module}
-% \end{verbatim}
-% \vspace{-1.7em}
-% \caption{Self-contained Modules via {\texttt{importmodule}}}\label{exf:importmodule}
-% \end{exfig}
-%
-% In Example~\ref{exf:importmodule}, we have shown the typical setup of a module
-% file. The |\importmodule| macro takes great care that files are only read once, as
-% {\sTeX} allows multiple inheritance and this setup would lead to an exponential (in the
-% module inheritance depth) number of file loads.
-%
-% Sometimes we want to import an existing {\omdoc} theory\footnote{{\omdoc} theories are
-% the counterpart of {\stex} modules.} $\widehat\cT$ into (the {\omdoc} document
-% $\widehat\cD$ generated from) a {\stex} document $\cD$. Naturally, we have to provide an
-% {\stex} stub module $\cT$ that provides |\symdef| declarations for all symbols we use in
-% $\cD$. In this situation, we use\DescribeMacro{\importOMDocmodule}
-% |\importOMDocmodule[|\meta{spath}|]{|\meta{OURI}|}{|\meta{name}|}|, where \meta{spath}
-% is the file system path to $\cT$ (as in |\importmodule|, this argument must not contain
-% the file extension), \meta{OURI} is the URI to the {\omdoc} module (this time with
-% extension), and \meta{name} is the name of the theory $\widehat\cT$ and the module in
-% $\cT$ (they have to be identical for this to work). Note that since the \meta{spath}
-% argument is optional, we can make ``local imports'', where the stub $\cT$ is in $\cD$
-% and only contains the |\symdef|s needed there.
-%
-% Note that the recursive (depth-first) nature of the file loads induced by this setup is
-% very natural, but can lead to problems with the depth of the file stack in the {\TeX}
-% formatter (it is usually set to something like 15\footnote{If you have sufficient rights
-% to change your {\TeX} installation, you can also increase the variable
-% {\texttt{max\_in\_open}} in the relevant {\texttt{texmf.cnf}} file. Setting it to 50
-% usually suffices}). Therefore, it may be necessary to circumvent the recursive load
-% pattern providing (logically spurious) |\importmodule| commands. Consider for instance
-% module |bar| in Example~\ref{exf:importmodule}, say that |bar| already has load depth
-% 15, then we cannot naively import it in this way. If module |bar| depended say on a
-% module |base| on the critical load path, then we could add a statement
-% \DescribeMacro{\requiremodules} |\requiremodules{../base}| in the second line. This
-% would load the modules from |../base.sms| in advance (uncritical, since it has load
-% depth 10) without activating them, so that it would not have to be re-loaded in the
-% critical path of the module |foo|. Solving the load depth problem.
-%
-% The \DescribeMacro{\inputref}|\inputref| macro behaves just like |\input| in the
-% {\LaTeX} workflow, but in the {\latexml} conversion process creates a reference to the
-% transformed version of the input file instead.
-%
-% \subsection{Using Semantic Macros in Narrative Structures}\label{sec:user:using}
-%
-% The |\importmodule| macro establishes the inheritance relation, a transitive relation
-% among modules that governs visibility of semantic macros. In particular, it can only be
-% used in modules (and has to be used at the top-level, otherwise it is hindered by
-% {\LaTeX} groups). In many cases, we only want to \emph{use} the semantic macros in an
-% environment (and not re-export them). Indeed, this is the normal situation for most
-% parts of mathematical documents. For that \sTeX provides the
-% \DescribeMacro{\usemodule}|\usemodule| macro, which takes the same arguments as
-% |\importmodule|, but is treated differently in the \sTeX module signatures. A typical
-% situation is shown in Figure~\ref{fig:use-ring}, where we open the module |ring| (see
-% Figure~\ref{fig:ring}) and use its semantic macros (in the |omtext| environment). In
-% earlier versions of \sTeX, we would have to wrap the |omtext| environment in an
-% anonymous |module| environment to prevent re-export.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \begin{omtext}
-% \usemodule[load=../algebra/rings.tex]{ring}
-% We $R$ be a ring $(\rbase,\rplus,\rzero,\rminusOp,\rtimes,\rone)$, ...
-% \end{omtext}
-% \end{verbatim}
-% \caption{Using Semantic Macros in Narrative Structures}\label{fig:use-ring}
-% \end{exfig}
-%
-% \subsection{Including Externally Defined Semantic Macros }
-%
-% In some cases, we use an existing {\LaTeX} macro package for typesetting objects that
-% have a conventionalized mathematical meaning. In this case, the macros are ``semantic''
-% even though they have not been defined by a |\symdef|. This is no problem, if we are
-% only interested in the {\LaTeX} workflow. But if we want to e.g. transform them to
-% {\omdoc} via {\latexml}, the {\latexml} bindings will need to contain references to an
-% {\omdoc} theory that semantically corresponds to the {\LaTeX} package. In particular,
-% this theory will have to be imported in the generated {\omdoc} file to make it
-% {\omdoc}-valid.
-%
-% \DescribeMacro{\requirepackage} To deal with this situation, the |modules| package
-% provides the |\requirepackage| macro. It takes two arguments: a package name, and a URI
-% of the corresponding {\omdoc} theory. In the {\LaTeX} workflow this macro behaves like a
-% |\usepackage| on the first argument, except that it can --- and should --- be used
-% outside the {\LaTeX} preamble. In the {\latexml} workflow, this loads the {\latexml}
-% bindings of the package specified in the first argument and generates an appropriate
-% |imports| element using the URI in the second argument.
-%
-% \section{Limitations \& Extensions}\label{sec:limitations}
-%
-% In this section we will discuss limitations and possible extensions of the |modules|
-% package. Any contributions and extension ideas are welcome; please discuss ideas,
-% requests, fixes, etc on the {\sTeX} TRAC~\cite{sTeX:github:on}.
-%
-% \subsection{Perl Utility \texttt{sms}}\label{sec:limitations:sms}
-%
-% Currently we have to use an external perl utility |sms| to extract \sTeX module
-% signatures from \sTeX files. This considerably adds to the complexity of the \sTeX
-% installation and workflow. If we can solve security setting problems that allows us to
-% write to \sTeX module signatures outside the current directory, writing them from \sTeX
-% may be an avenue of future development see~\cite[issue \#1522]{sTeX:github:on} for a
-% discussion.
-%
-% \subsection{Qualified Imports}\label{sec:limitations:qualified-imports}
-%
-% In an earlier version of the \texttt{modules} package we used the \texttt{usesqualified}
-% for importing macros with a disambiguating prefix (this is used whenever we have
-% conflicting names for macros inherited from different modules). This is not accessible
-% from the current interface. We need something like a |\importqualified| macro for this;
-% see~\cite[issue \#1505]{sTeX:github:on}. Until this is implemented the infrastructure is
-% turned off by default, but we have already introduced the
-% \DescribeMacro{qualifiedimports}|qualifiedimports| option for the future.
-%
-% \subsection{Error Messages}\label{sec:limitations:errormsg}
-%
-% The error messages generated by the |modules| package are still quite bad. For instance
-% if |thyA| does note exists we get the cryptic error message
-% \begin{verbatim}
-% ! Undefined control sequence.
-% \module@defs@thyA ...hy
-% \expandafter \mod@newcomma...
-% l.490 ...ortmodule{thyA}
-% \end{verbatim}
-% This should definitely be improved.
-%
-% \subsection{Crossreferencing}\label{sec:limitations:crossref}
-%
-% Note that the macros defined by |\symdef| are still subject to the normal {\TeX} scoping
-% rules. Thus they have to be at the top level of a module to be visible throughout the
-% module as intended. As a consequence, the location of the |\symdef| elements cannot be
-% used as targets for crossreferencing, which is currently supplied by the |statement|
-% package~\ctancite{Kohlhase:smms}. A way around this limitation would be to import
-% the current module from the \sTeX module signature (see Section~\ref{sec:modules}) via
-% the |\importmodule| declaration.
-%
-% \subsection{No Forward Imports}\label{sec:limitations:forward-imports}
-%
-% {\sTeX} allows imports in the same file via |\importmodule{|\meta{mod}|}|, but due to
-% the single-pass linear processing model of {\TeX}, \meta{mod} must be the name of a
-% module declared {\emph{before}} the current point. So we cannot have forward imports as
-% in \ednote{usemodule should work here; revise}
-% \begin{verbatim}
-% \begin{module}[id=foo]
-% \importmodule{mod}
-% ...
-% \end{module}
-% ...
-% \begin{module}[id=mod]
-% ...
-% \end{module}
-% \end{verbatim}
-% a workaround, we can extract the module \meta{mod} into a file {{{mod.tex}}} and replace
-% it with |\sinput{mod}|, as in
-% \begin{verbatim}
-% \begin{module}[id=foo]
-% \importmodule[load=mod]{mod}
-% ...
-% \end{module}
-% ...
-% \sinput{mod}
-% \end{verbatim}
-% then the |\importmodule| command can read |mod.sms| (created via the |sms| utility)
-% without having to wait for the module \meta{mod} to be defined.
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\newpage\printbibliography}\newpage
-%
-% \section{The Implementation}
-%
-% The |modules| package generates two files: the {\LaTeX} package (all the code between
-% {\textlangle\textsf{*package}\textrangle} and {\textsf{\textlangle/package\textrangle}})
-% and the {\latexml} bindings (between {\textsf{\textlangle*ltxml\textrangle}} and
-% {\textsf{\textlangle/ltxml\textrangle}}). We keep the corresponding code fragments
-% together, since the documentation applies to both of them and to prevent them from
-% getting out of sync.
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false). The options we are not using, we pass on to the |sref|
-% package we require next.
-% \begin{macrocode}
-%<*package>
-\newif\if@modules@mh@\@modules@mh@false
-\DeclareOption{mh}{\@modules@mh@true}
-\newif\ifmod@show\mod@showfalse
-\DeclareOption{showmods}{\mod@showtrue}
-\newif\ifaux@req\aux@reqtrue
-\DeclareOption{noauxreq}{\aux@reqfalse}
-\newif\ifmod@qualified\mod@qualifiedfalse
-\DeclareOption{qualifiedimports}{\mod@qualifiedtrue}
-\newif\if@trwarn\@trwarnfalse
-\DeclareOption{trwarn}{\@trwarntrue}
-\newif\if@mmt\@mmtfalse
-\DeclareOption{mmt}{\@mmttrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}}
-\ProcessOptions
-% \end{macrocode}
-%
-% {\latexml} does not support module options yet, so we do not have to do anything here
-% for the {\latexml} bindings. We only set up the {\perl} packages (and tell {\texttt{emacs}}
-% about the appropriate mode for convenience
-%
-% The next measure is to ensure that the |sref| and |xcomment| packages are loaded (in the
-% right version). For {\latexml}, we also initialize the package inclusions.
-% \begin{macrocode}
-\RequirePackage{sref}
-\if@modules@mh@\RequirePackage{modules-mh}\fi
-\if@mmt\RequirePackage{mmt}\fi
-\RequirePackage{xspace}
-\RequirePackage{mdframed}
-\RequirePackage{pathsuris}
-% \end{macrocode}
-%
-% \subsection{Modules and Inheritance}\label{sec:impl:modules}
-%
-% We define the keys for the |module| environment and the actions that are undertaken,
-% when the keys are encountered.
-%
-% \begin{macro}{module:cd}
-% This |KeyVal| key is only needed for {\latexml} at the moment; use this to specify a
-% content dictionary name that is different from the module name.
-% \begin{macrocode}
-\addmetakey{module}{cd}% no longer used
-\addmetakey{module}{load}% ignored
-\addmetakey*{module}{title}
-\addmetakey*{module}{creators}
-\addmetakey*{module}{contributors}
-\addmetakey*{module}{srccite}
-\addmetakey*{module}{align}[WithTheModuleOfTheSameName]
-\addmetakey*{module}{noalign}[true]
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{module:id}
-% For a module with |[id=|\meta{name}|]|, we have a macro |\module@defs@|\meta{name}
-% that acts as a repository for semantic macros of the current module. I will be called
-% by |\importmodule| to activate them. We will add the internal forms of the semantic
-% macros whenever |\symdef| is invoked. To do this, we will need an unexpended form
-% |\this@module| that expands to |\module@defs@|\meta{name}; we define it first and then
-% initialize |\module@defs@|\meta{name} as empty. Then we do the same for qualified
-% imports as well (if the |qualifiedimports| option was specified). Furthermore, we save
-% the module name in the token register |\mod@id|.
-% \begin{macrocode}
-\define@key{module}{id}{%
- \edef\this@module{%
- \expandafter\noexpand\csname module@defs@#1\endcsname%
- }%
- \csgdef{module@defs@#1}{}%
- \ifmod@qualified%
- \edef\this@qualified@module{%
- \expandafter\noexpand\csname module@defs@#1\endcsname%
- }%
- \csgdef{module@defs@qualified@#1}{}%
- \fi%
- \def\mod@id{#1}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{module@heading}
-% Then we make a convenience macro for the module heading. This can be customized.
-% \begin{macrocode}
-\ifdef{\thesection}{\newcounter{module}[section]}{\newcounter{module}}%
-\newrobustcmd\module@heading{%
- \stepcounter{module}%
- \ifmod@show%
- \noindent{\textbf{Module} \thesection.\themodule [\mod@id]}%
- \sref@label@id{Module \thesection.\themodule [\mod@id]}%
- \ifx\module@title\@empty :\quad\else\quad(\module@title)\hfill\\\fi%
- \fi%
-}% mod@show
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{module}
-% Finally, we define the begin module command for the module environment. Much of the
-% work has already been done in the keyval bindings, so this is quite simple. We store
-% the file name (without extension) and extension of the module file in the global
-% macros |\module@|\meta{name}|@path| and |\module@|\meta{name}|@ext|, so that we can
-% use them later. The source of these two macros, |\mod@path| and |\mod@ext|, are
-% defined in |\requiremodules|.
-% \begin{macrocode}
-\newenvironment{module}[1][]{%
- \begin{@module}[#1]%
- \ifcsundef{mod@id}{}{% only define if components are!
- \ifcsundef{mod@path}{}{\csxdef{module@\mod@id @path}{\mod@path}}%
- \ifcsundef{mod@ext}{}{\csxdef{module@\mod@id @ext}{\mod@ext}}%
- }%
- \if@mmt\if@importing\else\mmtheory{\mod@id}{????}\fi\fi%
- \module@heading% make the headings
- \ignorespaces}{%
- \if@mmt\if@importing\else\mmtheoryend\fi\fi%
- \end{@module}%
- \ignorespacesafterend%
-}%
-\ifmod@show\surroundwithmdframed{module}\fi%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{@module}
-% A variant of the |module| environment that does not create printed representations (in
-% particular no frames)
-% \begin{macrocode}
-\newenvironment{@module}[1][]{\metasetkeys{module}{#1}}{}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\activate@defs}
-% To activate the |\symdef|s from a given module \meta{mod}, we call the macro
-% |\module@defs@|\meta{mod}. But to make sure that every module is activated only once,
-% we only activate if the macro |\module@defs@|\meta{mod} is undefined, and define it
-% directly afterwards to prohibit further activations.
-% \begin{macrocode}
-\def\activate@defs#1{%
- \ifcsundef{module@#1@activated}{\csname module@defs@#1\endcsname}{}%
- \@namedef{module@#1@activated}{true}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\export@defs}
-% |\export@defs{|\meta{mod}|}| exports all the |\symdef|s from module \meta{mod} to the
-% current module (if it has the name \meta{currmod}), by adding a call to
-% |\module@defs@|\meta{mod} to the registry |\module@defs@|\meta{currmod}.\ednote{MK: I
-% have the feeling that we may be exporting modules multiple times here, is that a
-% problem?}\ednote{Jinbo: This part of code is extremely easy to generate bugs, cautiously edit this part of code.}\newline
-% Naive understanding of this code: |#1| be will be expanded first, then |\this@module|, then |\active@defs|, then |\g@addto@macro|.
-% \begin{macrocode}
-\def\export@defs#1{\@ifundefined{mod@id}{}{%
-\expandafter\expandafter\expandafter\g@addto@macro%
-\expandafter\this@module\expandafter{\activate@defs{#1}}}}%
-% \end{macrocode}
-% \end{macro}
-%
-% Now we come to the implementation of |\importmodule|, but before we do, we define
-% conditional and an auxiliary macro:
-% \begin{macro}{\if@importing}
-% |\if@importing| can be used to shut up macros in an import situation.
-% \begin{macrocode}
-\newif\if@importing\@importingfalse
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\update@used@modules}
-% This updates the register |\used@modules|
-% \begin{macrocode}
-\newcommand\update@used@modules[1]{%
- \ifx\used@modules\@empty%
- \edef\used@modules{#1}%
- \else%
- \edef\used@modules{\used@modules,#1}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\importmodule}
-% The |\importmodule[|\meta{file}|]{|\meta{mod}|}| macro is an interface macro that
-% loads \meta{file} and activates and re-exports the |\symdef|s from module
-% \meta{mod}. As we will (probably) need to keep a record of the currently imported modules
-% (top-level only), we divide the functionality into a user-visible macro that records
-% modules in the |\used@modules| register and an internal one (|\@importmodule|)
-% that does the actual work.
-% \begin{macrocode}
-\gdef\used@modules{}
-\srefaddidkey{importmodule}
-\addmetakey{importmodule}{load}
-\addmetakey[sms]{importmodule}{ext}
-\addmetakey[false]{importmodule}{conservative}[true]
-\newcommand\importmodule[2][]{%
- \metasetkeys{importmodule}{#1}%
- \update@used@modules{#2}%
- \@importmodule[\importmodule@load]{#2}{\importmodule@ext}{export}%
- \ignorespacesandpars%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@importmodule}
-% |\@importmodule[|\meta{filepath}|]{|\meta{mod}|}{|\meta{ext}|}{|\meta{export?}|}|
-% loads \meta{filepath}|.|\meta{ext} (if it is given) and activates the module
-% \meta{mod}. If \meta{export?} is |export|, then it also re-exports the |\symdef|s from
-% \meta{mod}.
-%
-% First |\@load| will store the base file name with full path, then check if
-% |\module@|\meta{mod}|@path| is defined. If this macro is defined, a module of this
-% name has already been loaded, so we check whether the paths coincide, if they do, all
-% is fine and we do nothing otherwise we give a suitable error. If this macro is
-% undefined we load the path by |\requiremodules|.
-% \begin{macrocode}
-\newcommand\@importmodule[4][]{%
- {\@importingtrue% to shut up macros while in the group opened here
- \edef\@load{#1}%
- \ifx\@load\@empty%
- \relax%
- \else%
- \ifcsundef{module@#2@path}{%
- \requiremodules{#1}{#3}%
- }{%
- \edef\@path{\csname module@#2@path\endcsname}%
- \IfStrEq\@load\@path{% if the known path is the same as the requested one
- \relax% do nothing, it has already been loaded, else signal an error
- }{%
- \PackageError{modules}
- {Module Name Clash\MessageBreak
- A module with name #2 was already loaded under the path "\@path"\MessageBreak
- The imported path "\@load" is probably a different module with the\MessageBreak
- same name; this is dangerous -- not importing}%
- {Check whether the Module name is correct}%
- }%
- }%
- \fi}%
- \activate@defs{#2}% activate the module
- \edef\@export{#4}\def\@@export{export}%prepare comparison
- \ifx\@export\@@export\export@defs{#2}\fi% export the module
- \if@importing\else\if@mmt\mmtinclude{#1?#2}\fi\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\usemodule}
-% |\usemodule| acts like |\importmodule|, except that the |sms| utility does not
-% transfer it to the module signatures and it does not re-export the symdefs.
-% \begin{macrocode}
-\newcommand\usemodule[2][]{%
- \metasetkeys{importmodule}{#1}%
- \update@used@modules{#2}%
- \@importmodule[\importmodule@load]{#2}{\importmodule@ext}{noexport}%
- \ignorespacesandpars%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\withusedmodules}
-% This variant just imports all the modules in a comma-separated list (usually
-% |\used@modules|)
-% \begin{macrocode}
-\newcommand\withusedmodules[2]{{\@for\@I:=#1\do{\activate@defs\@I}{#2}}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\importOMDocmodule}
-% for the {\LaTeX} side we can just re-use |\importmodule|, for the {\latexml} side we
-% have a full URI anyways. So things are easy.\ednote{MK@DG: this macro is seldom used,
-% maybe I should just switch arguments.}
-% \begin{macrocode}
-\newrobustcmd\importOMDocmodule[3][]{\importmodule[#1]{#3}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\metalanguage}
-% |\metalanguage| behaves exactly like |\importmodule| for formatting. For {\latexml},
-% we only add the |type| attribute.
-% \begin{macrocode}
-\let\metalanguage=\importmodule%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Semantic Macros}\label{sec:impl:symdef}
-%
-% \begin{macro}{\mod@newcommand}
-% We first hack the {\LaTeX} kernel macros to obtain a version of the |\newcommand|
-% macro that does not check for definedness.
-% \begin{macrocode}
-\let\mod@newcommand=\providerobustcmd%
-% \end{macrocode}
-% \end{macro}
-%
-% Now we define the optional KeyVal arguments for the |\symdef| form and the actions that
-% are taken when they are encountered.
-%
-% \begin{environment}{conceptdef}
-% \begin{macrocode}
-\srefaddidkey{conceptdef}%
-\addmetakey*{conceptdef}{title}%
-\addmetakey{conceptdef}{subject}%
-\addmetakey*{conceptdef}{display}%
-\def\conceptdef@type{Symbol}%
-\newrobustcmd\conceptdef[2][]{%
- \metasetkeys{conceptdef}{#1}%
- \ifx\conceptdef@display\st@flow\else{\stDMemph{\conceptdef@type} #2:}\fi%
- \ifx\conceptdef@title\@empty~\else~(\stDMemph{\conceptdef@title})\par\fi%
-}%
-% \end{macrocode}
-% \ednote{MK@DG: maybe we need to add DefKeyVals here?}
-% \end{environment}
-%
-% \begin{macro}{symdef:keys}
-% The optional argument local specifies the scope of the function to be defined. If
-% local is not present as an optional argument then |\symdef| assumes the scope of the
-% function is global and it will include it in the pool of macros of the current
-% module. Otherwise, if local is present then the function will be defined only locally
-% and it will not be added to the current module (i.e. we cannot inherit a local
-% function). Note, the optional key local does not need a value: we write
-% |\symdef[local]{somefunction}[0]{some expansion}|. The other keys are not used in the
-% {\LaTeX} part.
-% \begin{macrocode}
-\newif\if@symdeflocal%
-\srefaddidkey{symdef}%
-\define@key{symdef}{local}[true]{\@symdeflocaltrue}%
-\define@key{symdef}{noverb}[all]{}%
-\define@key{symdef}{align}[WithTheSymbolOfTheSameName]{}%
-\define@key{symdef}{specializes}{}%
-\addmetakey*{symdef}{noalign}[true]
-\define@key{symdef}{primary}[true]{}%
-\define@key{symdef}{assocarg}{}%
-\define@key{symdef}{bvars}{}%
-\define@key{symdef}{bargs}{}%
-\addmetakey{symdef}{name}%
-\addmetakey*{symdef}{title}%
-\addmetakey*{symdef}{description}%
-\addmetakey{symdef}{subject}%
-\addmetakey*{symdef}{display}%
-% \end{macrocode}
-% \end{macro}
-% \ednote{MK@MK: we need to document the binder keys above.}
-% \begin{macro}{\symdef}
-% The the |\symdef|, and |\@symdef| macros just handle optional arguments.
-% \begin{macrocode}
-\def\symdef{\@ifnextchar[{\@symdef}{\@symdef[]}}%
-\def\@symdef[#1]#2{\@ifnextchar[{\@@symdef[#1]{#2}}{\@@symdef[#1]{#2}[0]}}%
-% \end{macrocode}
-% \end{macro}
-%
-% next we locally abbreviate |\mod@newcommand| to simplify argument passing.
-% \begin{macrocode}
-\def\@mod@nc#1{\mod@newcommand{#1}[1]}%
-% \end{macrocode}
-% and we copy a very useful piece of code from
-% \url{http://tex.stackexchange.com/questions/23100/looking-for-an-ignorespacesandpars},
-% it ignores spaces and following implicit paragraphs (double newlines), explicit |\par|s
-% are respected however
-% \begin{macrocode}
-\def\ignorespacesandpars{%
- \begingroup
- \catcode13=10
- \@ifnextchar\relax
- {\endgroup}%
- {\endgroup}%
-}
-% \end{macrocode}
-% and more adapted from \url{http://tex.stackexchange.com/questions/179016/ignore-spaces-and-pars-after-an-environment}
-% \begin{macrocode}
-\def\ignorespacesandparsafterend#1\ignorespaces\fi{#1\fi\ignorespacesandpars}
-\def\ignorespacesandpars{
- \ifhmode\unskip\fi%
- \@ifnextchar\par%
- {\expandafter\ignorespacesandpars\@gobble}%
- {}%
-}
-% \end{macrocode}
-%
-% \begin{macro}{\@@symdef}
-% now comes the real meat: the |\@@symdef| macro does two things, it adds the macro
-% definition to the macro definition pool of the current module and also provides it.
-% \begin{macrocode}
-\def\@@symdef[#1]#2[#3]#4{%
-% \end{macrocode}
-% We use a switch to keep track of the local optional argument. We initialize the switch
-% to false and set all the keys that have been provided as arguments: |name|, |local|.
-% \begin{macrocode}
- \@symdeflocalfalse%
- \metasetkeys{symdef}{#1}%
-% \end{macrocode}
-% If the |mmt| option is set and we are not importing, then we write out the constant
-% declaration for this symdef\ednote{eventually we may want to do something about the
-% notations. This would pass \#4 to MMT via a macro that makes the \# (argumentmarkers)
-% active and empty. I am not clear how well this works, so we leave out notations.}
-% \begin{macrocode}
- \if@mmt\if@importing\else%
-\ifx\symdef@name\@empty\mmtconstdec{#2}\else\mmtconstdec{\symdef@name}\fi%
-\fi\fi%
-% \end{macrocode}
-% First, using |\mod@newcommand| we initialize the intermediate macro
-% |\module@|\meta{sym}|@pres@|, the one that can be extended with |\symvariant|
-% \begin{macrocode}
- \expandafter\mod@newcommand\csname modules@#2@pres@\endcsname[#3]{#4}%
-% \end{macrocode}
-% and then we define the actual semantic macro, which when invoked with an optional
-% argument \meta{opt} calls |\modules@|\meta{sym}|@pres@|\meta{opt} provided by the
-% |\symvariant| macro.
-% \begin{macrocode}
- \expandafter\mod@newcommand\csname #2\endcsname[1][]%
- {\csname modules@#2@pres@##1\endcsname}%
-% \end{macrocode}
-% Finally, we prepare the internal macro to be used in the |\symref| call.
-% \begin{macrocode}
- \expandafter\@mod@nc\csname mod@symref@#2\expandafter\endcsname\expandafter%
- {\expandafter\mod@termref\expandafter{\mod@id}{#2}{##1}}%
-% \end{macrocode}
-% We check if the switch for the local scope is set: if it is we are done, since this
-% function has a local scope. Similarly, if we are not inside a module, which we could
-% export from.
-% \begin{macrocode}
- \if@symdeflocal%
- \else%
- \ifcsundef{mod@id}{}{%
-% \end{macrocode}
-% Otherwise, we add three functions to the module's pool of defined macros using
-% |\g@addto@macro|. We first add the definition of the intermediate function
-% |\modules@|\meta{sym}|@pres@|.
-% \begin{macrocode}
- \expandafter\g@addto@macro\this@module%
- {\expandafter\mod@newcommand\csname modules@#2@pres@\endcsname[#3]{#4}}%
-% \end{macrocode}
-% Then we add add the definition of |\|\meta{sym} which calls the intermediate
-% function and handles the optional argument.
-% \begin{macrocode}
- \expandafter\g@addto@macro\this@module%
- {\expandafter\mod@newcommand\csname #2\endcsname[1][]%
- {\csname modules@#2@pres@##1\endcsname}}%
-% \end{macrocode}
-% We also add |\mod@symref@|\meta{sym} macro to the macro pool so that the |\symref| macro
-% can pick it up.
-% \begin{macrocode}
- \expandafter\g@addto@macro\csname module@defs@\mod@id\expandafter\endcsname\expandafter%
- {\expandafter\@mod@nc\csname mod@symref@#2\expandafter\endcsname\expandafter%
- {\expandafter\mod@termref\expandafter{\mod@id}{#2}{##1}}}%
-% \end{macrocode}
-% Finally, using |\g@addto@macro| we add the two functions to the qualified version of the
-% module if the |qualifiedimports| option was set.
-% \begin{macrocode}
- \ifmod@qualified%
- \expandafter\g@addto@macro\this@qualified@module%
- {\expandafter\mod@newcommand\csname modules@#2@pres@qualified\endcsname[#3]{#4}}%
- \expandafter\g@addto@macro\this@qualified@module%
- {\expandafter\def\csname#2@qualified\endcsname{\csname modules@#2@pres@qualified\endcsname}}%
- \fi%
- }% mod@qualified
- \fi% symdeflocal
-% \end{macrocode}
-% So now we only need to show the data in the symdef, if the options allow.
-% \begin{macrocode}
- \ifmod@show%
- \ifx\symdef@display\st@flow\else{\noindent\stDMemph{\symdef@type} #2:}\fi%
- \ifx\symdef@title\@empty~\else~(\stDMemph{\symdef@title})\par\fi%
- \fi%
- \ignorespacesandpars%
-}% mod@show
-\def\symdef@type{Symbol}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\symvariant}
-% |\symvariant{|\meta{sym}|}[|\meta{args}|]{|\meta{var}|}{|\meta{cseq}|}| just extends
-% the internal macro |\modules@|\meta{sym}|@pres@| defined by
-% |\symdef{|\meta{sym}|}[|\meta{args}|]{|\ldots|}| with a variant
-% |\modules@|\meta{sym}|@pres@|\meta{var} which expands to \meta{cseq}. Recall that this
-% is called by the macro |\|\meta{sym}|[|\meta{var}|]| induced by the
-% |\symdef|.\ednote{MK@DG: this needs to be implemented in LaTeXML}
-% \begin{macrocode}
-\def\symvariant#1{%
- \@ifnextchar[{\@symvariant{#1}}{\@symvariant{#1}[0]}%
- }%
-\def\@symvariant#1[#2]#3#4{%
- \expandafter\mod@newcommand\csname modules@#1@pres@#3\endcsname[#2]{#4}%
-% \end{macrocode}
-% and if we are in a named module, then we need to export the function
-% |\modules@|\meta{sym}|@pres@|\meta{opt} just as we have done that in |\symdef|.
-% \begin{macrocode}
- \ifcsundef{mod@id}{}{%
- \expandafter\g@addto@macro\this@module%
- {\expandafter\mod@newcommand\csname modules@#1@pres@#3\endcsname[#2]{#4}}%
- }%
-\ignorespacesandpars}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\resymdef}
-% This is now deprecated.
-% \begin{macrocode}
-\def\resymdef{%
- \@ifnextchar[{\@resymdef}{\@resymdef[]}%
-}%
-\def\@resymdef[#1]#2{%
- \@ifnextchar[{\@@resymdef[#1]{#2}}{\@@resymdef[#1]{#2}[0]}%
-}%
-\def\@@resymdef[#1]#2[#3]#4{%
- \PackageError{modules}%
- {The \protect\resymdef macro is deprecated}{use the \protect\symvariant instead!}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\abbrdef}
-% The |\abbrdef| macro is a variant of |\symdef| that does the same on the {\LaTeX}
-% level.
-% \begin{macrocode}
-\let\abbrdef\symdef%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Defining Math Operators}\label{sec:impl:defmathop}
-%
-% \begin{macro}{\DefMathOp}
-% |\DefMathOp[|\meta{key pair}|]{definition}| will take 2 arguments. ||\meta{key pair}|| should be something like |[name=...]|, for example, |[name=equal]|. Though |\setkeys|, |\defmathop@name| will be set. Further definition will be done by |\symdef|.
-% \begin{macrocode}
-\define@key{DefMathOp}{name}{%
- \def\defmathop@name{#1}%
-}%
-\newrobustcmd\DefMathOp[2][]{%
- \setkeys{DefMathOp}{#1}%
- \symdef[#1]{\defmathop@name}{#2}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsection{Axiomatic Assumptions}\label{sec:impl:assumptions}
-%
-% \begin{macro}{\assdef}
-% We fake it for now, not clear what we should do on the {\LaTeX} side.
-% \begin{macrocode}
-\newcommand\assdef[2][]{#2}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Semantic Macros for Variables}\label{sec:impl:semvars}
-%
-% \begin{macro}{\vardef}
-% We do the argument parsing like in |\symdef| above, but add the |local| key. All the
-% other changes are in the \latexml binding exclusively.
-% \begin{macrocode}
-\def\vardef{\@ifnextchar[{\@vardef}{\@vardef[]}}%
-\def\@vardef[#1]#2{%
- \@ifnextchar[{\@@vardef[#1]{#2}}{\@@vardef[#1]{#2}[0]}}
-\def\@@vardef[#1]#2[#3]#4{%
- \def\@test{#1}%
- \ifx\@test\@empty%
- \@@symdef[local]{#2}[#3]{#4}%
- \else%
- \symdef[local,#1]{#2}[#3]{#4}%
- \fi%
- \ignorespacesandpars}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Testing Semantic Macros}\label{sec:impl:testing}
-%
-% \begin{macro}{\symtest}
-% Allows to test a |\symdef| in place, this shuts up when being imported.
-% \begin{macrocode}
-\addmetakey{symtest}{name}%
-\addmetakey{symtest}{variant}%
-\newrobustcmd\symtest[3][]{%
- \if@importing%
- \else%
- \metasetkeys{symtest}{#1}%
- \par\noindent \textbf{Symbol}~%
- \ifx\symtest@name\@empty\texttt{#2}\else\texttt{\symtest@name}\fi%
- \ifx\symtest@variant\@empty\else\ (variant \texttt{\symtest@variant})\fi%
- \ with semantic macro %
- \texttt{\textbackslash #2\ifx\symtest@variant\@empty\else[\symtest@variant]\fi}%
- : used e.g. in \ensuremath{#3}%
- \fi%
- \ignorespacesandpars%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\abbrtest}
-% \begin{macrocode}
-\addmetakey{abbrtest}{name}%
-\newrobustcmd\abbrtest[3][]{%
- \if@importing%
- \else%
- \metasetkeys{abbrtest}{#1}%
- \par\noindent \textbf{Abbreviation}~%
- \ifx\abbrtest@name\@empty\texttt{#2}\else\texttt{\abbrtest@name}\fi%
- : used e.g. in \ensuremath{#3}%
- \fi%
- \ignorespacesandpars}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Symbol and Concept Names}\label{sec:impl:concepts}
-%
-% \begin{macro}{\termdef}
-% \begin{macrocode}
-\def\mod@true{true}%
-\addmetakey[false]{termdef}{local}%
-\addmetakey{termdef}{name}%
-\newrobustcmd\termdef[3][]{%
- \metasetkeys{termdef}{#1}%
- \expandafter\mod@newcommand\csname#2\endcsname[0]{#3\xspace}%
- \ifx\termdef@local\mod@true%
- \else%
- \ifcsundef{mod@id}{}{%
- \expandafter\g@addto@macro\this@module%
- {\expandafter\mod@newcommand\csname#2\endcsname[0]{#3\xspace}}%
- }%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\capitalize}
-% \begin{macrocode}
-\def\@capitalize#1{\uppercase{#1}}%
-\newrobustcmd\capitalize[1]{\expandafter\@capitalize #1}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\module@component}
-% This macro computes the module component identifier for external links on term
-% references. It is initially empty, but can be redefined later (e.g.in the |smultiling|
-% package).
-% \begin{macrocode}
-\newcommand\mod@component[1]{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mod@termref}
-% |\mod@termref{|\meta{module}|}{|\meta{name}|}{|\meta{nl}|}| determines whether the
-% macro |\module@|\meta{module}|@path| is defined. If it is, we make it the prefix of a
-% URI reference in the local macro |\@uri|, which we compose to the hyper-reference,
-% otherwise we give a warning.\ednote{MK: this should be rethought, in particular the
-% local reference does not work!}
-% \begin{macrocode}
-\newcommand\mod@termref[3]{\def\@test{#3}%
- \@ifundefined{module@defs@#1}{%
- \protect\G@refundefinedtrue%
- \if@trwarn
- \PackageWarning{modules}{`\protect\termref' with unidentified cd "#1":\MessageBreak
- the cd key must reference an active module}%
- \else
- \PackageError{modules}{`\protect\termref' with unidentified cd "#1"}
- {the cd key must reference an active module}%
- \fi}%
- {\def\@label{sref@#2@#1\mod@component{#1}@target}%
- \@ifundefined{module@#1@path}% local reference
- {\sref@hlink@ifh{\@label}{\ifx\@test\@empty #2\else #3\fi}%
-% \footnote{sTeX mod@termref: local reference to\\ \@label}
- }%
- {\def\@uri{\csname module@#1@path\endcsname\mod@component{#1}.pdf\#\@label}%
- \sref@href@ifh{\@uri}{\ifx\@test\@empty #2\else #3\fi}%
-% \footnote{sTeX mod@termref: external reference to \\\@uri}
-}%
- }}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Dealing with Multiple Files}\label{sec:impl:multiple}
-%
-% We use the |pathsuris| package deals with the canonicalization of paths. |\@cpath| will
-% canonicalize a path and store the result into |\@CanPath|. To print a canoncalized path,
-% simply use |\cpath{|\meta{path}|}|.
-%
-% \begin{macro}{\@rinput}
-% |\@rinput{|\meta{path to the current file without extension}|}{|\meta{extension}|}| allows loading
-% modules with relative path. For example, |\@rinput{foo/bar/B}{tex}| will load |foo/bar/B.tex|.
-% \ednote{Jinbo: How to handle |mod@path|?}
-% \begin{macrocode}
-\def\CurrentDir{}%
-\newrobustcmd{\@rinput}[2]{%
- \@cpath{\CurrentDir#1}%
- \StrCut[\value{RealAddrNum}]{/\@CanPath}{/}\@TempPath\@Rubbish%
- \StrCut[1]{\@TempPath/}{/}\@Rubbish\@DirPath%
- \edef\CurrentDir{\@DirPath}%
-% \edef\mod@path{}% what should I put in here???
-% \edef\mod@ext{}%
- \input{\@CanPath.#2}%
- \def\CurrentDir{}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Loading Module Signatures}
-%
-% \subsubsection{Selective Inclusion}
-%
-% \begin{macro}{\requiremodules}
-% this macro loads the modules in a file and makes sure that no text is deposited (we
-% set the flags |\mod@showfalse| and |\@importingtrue| in the local group). It also
-% remembers the file name and extension in |\mod@path| and |\mod@ext| so that
-% |\begin{module}| can pick them up later.
-% \begin{macrocode}
-\newrobustcmd\requiremodules[2]{%
- \mod@showfalse%
- \@importingtrue% save state and ensure silence while reading sms
- \edef\mod@path{#1}%
- \edef\mod@ext{#2}% set up path/ext
- \input{#1.#2}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@requiremodules}
-% the internal version of |\requiremodules| for use in the |*.aux| file. We disable it
-% at the end of the document, so that when the |aux| file is read again, nothing is
-% loaded.
-% \begin{macrocode}
-\newrobustcmd\@requiremodules[2]{%
- \if@tempswa\requiremodules{#1}{#2}\fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\inputref}
-% |\inputref{|\meta{path to the current file without extension}|}| supports both
-% absolute path and relative path, meanwhile, records the path and the extension (not
-% for relative path). \ednote{MK: the first (optional) argument is not used. Maybe do
-% something with a non-standard (i.e. non-\texttt{tex}) extension with an optional
-% argument?}
-% \begin{macrocode}
-\newrobustcmd\inputref[2][]{%
- \def\@Slash{/}
- \edef\@load{#2}%
- \StrChar{\@load}{1}[\@testchar]
- \ifx\@testchar\@Slash%
- \edef\mod@path{#2}%
- \edef\mod@ext{tex}%
- \input{#2}%
- \else%
- \@rinput{#2}{tex}%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Including Externally Defined Semantic Macros }\label{sec:impl:packages}
-%
-% \begin{macro}{\requirepackage}
-% \begin{macrocode}
-\def\requirepackage#1#2{\makeatletter\input{#1.sty}\makeatother}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Deprecated Functionality}\label{sec:impl:deprecated}
-%
-% \begin{macro}{\sinput*}
-% \begin{macrocode}
-\newrobustcmd\sinput[1]{%
- \PackageError{modules}%
- {The `\protect\sinput' macro is deprecated}{use the \protect\input instead!}%
-}%
-\newrobustcmd\sinputref[1]{%
- \PackageError{modules}%
- {The \protect\sinputref macro is deprecated}{use the \protect\inputref instead!}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% In this section we centralize old interfaces that are only partially supported any more.
-% \begin{macro}{module:uses}
-% For each the module name |xxx| specified in the |uses| key, we activate their symdefs
-% and we export the local symdefs.\ednote{this issue is deprecated, it will be removed
-% before 1.0.}
-% \begin{macrocode}
-\define@key{module}{uses}{%
- \@for\module@tmp:=#1\do{\activate@defs\module@tmp\export@defs\module@tmp}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{module:usesqualified}
-% This option operates similarly to the module:uses option defined above. The only
-% difference is that here we import modules with a prefix. This is useful when two
-% modules provide a macro with the same name.
-% \begin{macrocode}
-\define@key{module}{usesqualified}{%
- \@for\module@tmp:=#1\do{\activate@defs{qualified@\module@tmp}\export@defs\module@tmp}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\coolurion/off}
-% \begin{macrocode}
-\def\coolurion{\PackageWarning{modules}{coolurion is obsolete, please remove}}%
-\def\coolurioff{\PackageWarning{modules}{coolurioff is obsolete, please remove}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Experiments}
-% In this section we develop experimental functionality. Currently support for complex
-% expressions, see
-% \url{https://svn.kwarc.info/repos/stex/doc/blue/comlex_semmacros/note.pdf} for details.
-%
-% \begin{macro}{\csymdef}
-% For the {\LaTeX} we use |\symdef| and forget the last argument. The code here is just
-% needed for parsing the (non-standard) argument structure.
-% \begin{macrocode}
-\def\csymdef{\@ifnextchar[{\@csymdef}{\@csymdef[]}}%
-\def\@csymdef[#1]#2{%
- \@ifnextchar[{\@@csymdef[#1]{#2}}{\@@csymdef[#1]{#2}[0]}%
-}%
-\def\@@csymdef[#1]#2[#3]#4#5{%
- \@@symdef[#1]{#2}[#3]{#4}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\notationdef}
-% For the {\LaTeX} side, we just make |\notationdef| invisible.
-% \begin{macrocode}
-\def\notationdef[#1]#2#3{}
-% \end{macrocode}
-% \end{macro}
-%
-% The code for avoiding duplicate loading is very very complex and brittle (and does not
-% quite work). Therefore I would like to replace it with something better. It has two
-% parts:
-% \begin{itemize}
-% \item keeping a registry of file paths, and only loading when the file path has not been
-% mentioned in that, and
-% \item dealing with relative paths (for that we have to string together prefixes and pass
-% them one)
-% \end{itemize}
-% For the first problem, there is a very nice and efficient solution using |etoolbox| which
-% I document below. If I decide to do away with relative paths, this would be it.
-%
-% \begin{macro}{\reqmodules}
-% We keep a file path registry |\@register| and only load a module signature, if it is
-% not in there.
-% \begin{macrocode}
-\newrobustcmd\reqmodules[2]{%
- \ifinlist{#1}{\@register}{}{\listadd\@register{#1}\input{#1.#2}}%
-}%
-% \end{macrocode}
-% \end{macro}
-% for the relative paths, I have to find out the directory prefix and the file name. Here
-% are two helper functions, which work well, but do not survive being called in an
-% |\edef|, which is what we would need. First some preparation: we set up a path parser
-% \begin{macrocode}
-\newcounter{@pl}
-\DeclareListParser*{\forpathlist}{/}
-% \end{macrocode}
-%
-% \begin{macro}{\file@name}
-% |\file@name| selects the filename of the file path: |\file@name{/foo/bar/baz.tex}| is
-% |baz.tex|.
-% \begin{macrocode}
-\def\file@name#1{%
- \setcounter{@pl}{0}%
- \forpathlist{\stepcounter{@pl}\listadd\@pathlist}{#1}
- \def\do##1{%
- \ifnumequal{\value{@pl}}{1}{##1}{\addtocounter{@pl}{-1}}
- }%
- \dolistloop{\@pathlist}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\file@path}
-% |\file@path| selects the path of the file path |\file@path{/foo/bar/baz.tex}| is
-% |/foo/bar|
-% \begin{macrocode}
-\def\file@path#1{%
- \setcounter{@pl}{0}%
- \forpathlist{\stepcounter{@pl}\listadd\@pathlist}{#1}%
- \def\do##1{%
- \ifnumequal{\value{@pl}}{1}{}{%
- \addtocounter{@pl}{-1}%
- \ifnumequal{\value{@pl}}{1}{##1}{##1/}%
- }%
- }%
- \dolistloop{\@pathlist}%
-}%
-%</package>
-% \end{macrocode}
-% \end{macro}
-% what I would really like to do in this situation is
-% \begin{macro}{\NEWrequiremodules}
-% but this does not work, since the |\file@name| and |\file@path| do not survive the
-% |\edef|.
-% \begin{macrocode}
-\def\@NEWcurrentprefix{}
-\def\NEWrequiremodules#1{%
- \def\@pref{\file@path{#1}}%
- \ifx\@pref\@empty%
- \else%
- \xdef\@NEWcurrentprefix{\@NEWcurrentprefix/\@pref}%
- \fi%
- \edef\@input@me{\@NEWcurrentprefix/\file@name{#1}}%
- \message{requiring \@input@me}\reqmodule{\@input@me}%
-}%
-% \end{macrocode}
-% \end{macro}
-% \Finale
-\endinput
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% LocalWords: GPL structuresharing STR dtx env envfalse idfalse displayfalse filedate nl
-% LocalWords: usesfalse usesqualified usesqualifiedfalse envtrue idtrue CPERL Rares pres
-% LocalWords: usestrue displaytrue usesqualifiedtrue RequirePackage keyval tmp 2oms04 eg
-% LocalWords: defs foreach LookupValue activateScope DefEnvironment keyvals cd varpres
-% LocalWords: OptionalKeyVals getValue toString AssignValue openElement omdoc uvee vee
-% LocalWords: closeElement beforeDigest useTheoryItemizations afterDigestBegin symtest
-% LocalWords: whatsit setProperty getArg qw symdef iffalse importOMDocmodule symtest ci
-% LocalWords: DefKeyVal Semiverbatim symdeflocal atqualified DefMacro STDERR setst spath
-% LocalWords: args unlist DefPrimitive nargs Stringify eq attr omcd ltx XMTok abbrtest
-% LocalWords: convertLaTeXArgs scriptpos XMApp OMA XMArg simpl abbrtest 2oms04 circ ary
-% LocalWords: blaaaa savedprefix aaa simplhelp tust tist tost reguse spath baz rangle
-% LocalWords: updatedpre ReturnAfterFi updateall updatedpost updatesms bgroup includeref
-% LocalWords: texclude tinclude getGullet requiredmodule tex sms egroup pmml sincluderef
-% LocalWords: toks mixfixi mixfixa mixfixii mixfixia mixfixai mixfixiii arg cr OPaths
-% LocalWords: undef tok PARAM thyid BerFieMas inparaenum omsemvar vardef vardef mhview
-% LocalWords: getString showfalse showtrue xcomment stex srcref KeyVal omext osslepsdl13
-% LocalWords: beginItemize getProperty introdcue afterOpen numberIt Tokenize mathhub mmt
-% LocalWords: OptionalSemiverbatim omdocmod PushValue assocarg getStomach prs HorIacJuc
-% LocalWords: begingroup beginMode endMode endgroup insertElement resymdef sym cscpnrr11
-% LocalWords: updir nargkey PresFormatters mixfixaii formatters argname expr behavior
-% LocalWords: getSymmdefProperties XMath mcdcr exprlist recurse texttt scsys foobar mrow
-% LocalWords: textbackslash newcommand providecommand sc sc mathml openmath nx st@flow
-% LocalWords: latexml cmathml activemath twintoo atwin atwintoo mathcal Deyan viewsketch
-% LocalWords: mathcal fileversion Ginev maketitle newpage infty ulsmf08 exfig endinput
-% LocalWords: omsemmac lstset basicstyle scriptsize aboveskip belowskip hline mh-variant
-% LocalWords: morekeywords lstlisting csymbol showmods foo exf cseq mdframed usemhmodule
-% LocalWords: qualifiedimports qualifiedimports termdef textbf filepath RabKoh mhinput
-% LocalWords: symname varSmoothfunctionsOn ednote abbrdef Sumfromto semmodule mhinputref
-% LocalWords: vspace hrule vspace arith arbitraryn xbool oplus xdisjunction tw mhinput
-% LocalWords: emph capitalize ldots termref termref symref symref ctancite nc mhinputref
-% LocalWords: smms hyperref RahObe hmlmh10 widehat texmf.cnf requiremodules cs 2oms04
-% LocalWords: sinput sinputref sinputref cname csname 2oms04 if@mmt modules-mh pathsuris
-% LocalWords: OPhats usepackage importqualified Crossreferencing jobname ltxml etoolbox
-% LocalWords: jobname printbibliography textsf langle textsf langle textlangle listadd
-% LocalWords: textrangle textlangle newif ifmod qualifiedfalse qualifiedtrue usemhmodule
-% LocalWords: sref xspace expandafter noexpand endcsname namedef setkeys ifx mh-variants
-% LocalWords: newenvironment parentmod usemodule ifundefined coolurion cooluri reqmodule
-% LocalWords: coolurioff cwd ouri ifdefinable testopt ifnextchar xargdef bvars 2oms04
-% LocalWords: argdef yargdef somefunction symdeflocaltrue bvar xpath assoc qr reqmodules
-% LocalWords: symdeflocalfalse localpres isbound symdefs COMPLEXTOKEN localp fromrepos
-% LocalWords: findnodes localname carg renewcommand bbb showmeta showmeta exp ifnumequal
-% LocalWords: refundefinedtrue subsubsection blaaa makeatletter makeatother rm ifinlist
-% LocalWords: ifmodules gdef xdef xdef modulestrue modulesfalse pathpostfix abbreviative
-% LocalWords: updatedsms newreg xref texorpdfstring srefaddidkey newsavebox importmodule
-% LocalWords: viewbox newcounter thesection theview theproblem hfill lrbox req torepos
-% LocalWords: stepcounter textwidth hbox noindent smallskip fbox vbox usebox forpathlist
-% LocalWords: smallskip newxcomment vassign ensuremath mapsto doctex tocdepth dolistloop
-% LocalWords: setcounter tableofcontents mathbb symvariant importmodulevia assdef Jinbo
-% LocalWords: importmodulevia compactdesc tassign tassign tname source-tname frompath
-% LocalWords: ttassign metakeys addmetakey themodule metasetkeys aftergroup addtocounter
-% LocalWords: groupling requation IMPORTCD CURRENTCD bindargs defmathop cnode topath
-% LocalWords: icvariant aftercounter prestok inputref oref loadfrom loadto customization
-% LocalWords: csymdef notationdef noauxreq noauxreq rinput ifaux reqtrue bargs assdef
-% LocalWords: reqfalse currmod importmoduleenv conceptdef stDMemph tempswa mhviewsketch
-% LocalWords: auxout omtext surroundwithmdframed ignorespaces NeedsTeXFormat lstinline
-% LocalWords: modularizations conventionalized initialize xstring srccite csgdef csxdef
-% LocalWords: customized newrobustcmd ifcsundef definedness providerobustcmd cpath
-% LocalWords: canonicalization canonicalize canoncalized RealAddrNum itemize mmtheory
-% LocalWords: NEWrequiremodules mmtheoryend ignorespacesafterend ignorespacesandpars
-% LocalWords: mmtinclude noexport withusedmodules catcode13 ignorespacesandparsafterend
-% LocalWords: ifhmode unskip mmtconstdec mmtconstdec
-
-% \endinput
-% Local Variables:
-% mode: doctex
-% TeX-master: t
-% End:
diff --git a/macros/latex/contrib/stex/sty/modules/modules.pdf b/macros/latex/contrib/stex/sty/modules/modules.pdf
deleted file mode 100644
index d30504f08e..0000000000
--- a/macros/latex/contrib/stex/sty/modules/modules.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/omdoc/README b/macros/latex/contrib/stex/sty/omdoc/README
deleted file mode 100644
index ff6a71db6b..0000000000
--- a/macros/latex/contrib/stex/sty/omdoc/README
+++ /dev/null
@@ -1,11 +0,0 @@
-omdoc.cls: A LaTeX Class for OMDoc Documents
-omdoc.sty: A LaTeX Package for OMDoc Document structures
-
-This package and class supplies a the infrastructure for writing OMDoc documents
-(see http://www.omdoc.org) in LaTeX.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/omdoc/omdoc.ins b/macros/latex/contrib/stex/sty/omdoc/omdoc.ins
deleted file mode 100644
index 74a42175af..0000000000
--- a/macros/latex/contrib/stex/sty/omdoc/omdoc.ins
+++ /dev/null
@@ -1,31 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex omdoc.ins
-%%
-%% Copyright(c) 2005 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{omdoc.sty}{\from{omdoc.dtx}{package}}}
-\generate{\file{omdoc.cls}{\from{omdoc.dtx}{cls}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/omdoc/omdoc.pdf b/macros/latex/contrib/stex/sty/omdoc/omdoc.pdf
deleted file mode 100644
index d36cc256ba..0000000000
--- a/macros/latex/contrib/stex/sty/omdoc/omdoc.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/omtext/README b/macros/latex/contrib/stex/sty/omtext/README
deleted file mode 100644
index 4493a03f38..0000000000
--- a/macros/latex/contrib/stex/sty/omtext/README
+++ /dev/null
@@ -1,10 +0,0 @@
-omtext.sty: A LaTeX Package for OMDoc Text environments
-
-This package supplies a the infrastructure for writing OMDoc text fragments.
-(see http://www.omdoc.org) in LaTeX.
-
-Copyright (c) 2010 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/omtext/omtext.dtx b/macros/latex/contrib/stex/sty/omtext/omtext.dtx
deleted file mode 100644
index c5cc4c0c20..0000000000
--- a/macros/latex/contrib/stex/sty/omtext/omtext.dtx
+++ /dev/null
@@ -1,707 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Class and Package for OMDoc Text Fragments
-% Copyright (c) 2010 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{omtext}[2019/03/20 v1.1 OMDoc Text Fragments]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float,amsfonts}
-\usepackage{omtext,omdoc}
-\usepackage{graphicx}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{omtext.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{411}
-%
-% \changes{v0.4}{2008/07/22}{added index markup}
-% \changes{v0.4}{2008/09/29}{augmenting the index macros with optional values}
-% \changes{v0.6}{2009/07/08}{removing {\texttt{ttin}} {\texttt{{emin}}} and friends,
-% they were almost never used.}
-% \changes{v0.6}{2009/07/08}{renmanig {\texttt{myindex}} to {\texttt{omdoc\@ index}},
-% {\texttt{twin}} to {\texttt{\@ twin}}, and {\texttt{atwin}} to {\texttt{\@ atwin}} to
-% make them packge-local}
-% \changes{v0.7}{2010/02/11}{changing blockquote to sblockquote and inlinequote similarly}
-% \changes{v0.9}{2010/05/25}{separated out from \texttt{omdoc.dtx}}
-% \changes{v1.0}{2010/06/18}{fixing typos}
-% \changes{v1.1}{2015/10/13}{changing \texttt{\textbackslash textleadsto} to
-% \texttt{\textbackslash ergo} and defining inverse \texttt{\textbackslash ogre}}
-% \changes{v1.1}{2015/11/04}{moving MathHub support out to separate package}
-%
-% \GetFileInfo{omtext.sty}
-%
-% \MakeShortVerb{\|}
-%
-% \def\omdoc{OMDoc}
-% \def\latexml{{\LaTeX}ML}
-% \title{\texttt{omtext}: Semantic Markup for Mathematical Text Fragments in {\LaTeX}\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% The |omtext| package is part of the {\sTeX} collection, a version of {\TeX/\LaTeX} that
-% allows to markup {\TeX/\LaTeX} documents semantically without leaving the document
-% format, essentially turning {\TeX/\LaTeX} into a document format for mathematical
-% knowledge management (MKM).
-%
-% This package supplies an infrastructure for writing {\omdoc} text fragments in
-% {\LaTeX}.
-% \end{abstract}
-%
-%\newpage\tableofcontents\newpage
-%
-%\begin{omgroup}[id=sec:STR]{Introduction}
-%
-% The |omtext| package supplies macros and environment that allow to mark up mathematical
-% texts in {\sTeX}, a version of {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX}
-% documents semantically without leaving the document format, essentially turning
-% {\TeX/\LaTeX} into a document format for mathematical knowledge management (MKM). The
-% package supports direct translation to the {\omdoc} format~\cite{Kohlhase:OMDoc1.2}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user]{The User Interface}
-%
-% \begin{omgroup}[id=sec:user:options]{Package Options}
-%
-% The |omtext| package takes a single option: \DescribeMacro{showmeta}|showmeta|. If
-% this is set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for
-% details and customization options).
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:omtext]{Mathematical Text}
-%
-% The \DescribeEnv{omtext}|omtext| environment is used for any text fragment that has a
-% contribution to a text that needs to be marked up. It can have a title, which can be
-% specified via the \DescribeMacro{title=}|title| key. Often it is also helpful to
-% annotate the \DescribeMacro{type=}|type| key. The standard relations from rhetorical
-% structure theory |abstract|, |introduction|, |conclusion|, |thesis|, |comment|,
-% |antithesis|, |elaboration|, |motivation|, |evidence|, |transition|, | note|, |annote|
-% are recommended as values. Note that some of them are unary relations like
-% |introduction|, which calls for a target. In this case, a target using the
-% \DescribeMacro{for=}|for| key should be specified. The |transition| relation is
-% special in that it is binary (a ``transition between two statements''), so
-% additionally, a source should be specified using the \DescribeMacro{from=}|from| key.
-%
-% Note that the values of the |title| and |type| keys are often displayed in the
-% text. This can be turned off by setting the \DescribeMacro{display=}|display| key to
-% the value |flow|. Sometimes we want to specify that a text is a continuation of
-% another, this can be done by giving the identifier of this in the
-% \DescribeMacro{continues=}|continues| key.
-%
-% Finally, there is a set of keys that pertain to the mathematical formulae in the
-% text. The \DescribeMacro{functions=}|functions| key allows to specify a list of
-% identifiers that are to be interpreted as functions in the generate content
-% markup. The \DescribeMacro{theory=}|theory| specifies a module
-% (see~\cite{KohAmb:smmssl:svn}) that is to be pre-loaded in this one\ednote{this is not
-% implemented yet.} Finally, \DescribeMacro{verbalizes=}|verbalizes| specifies a (more)
-% formal statement (see~\cite{Kohlhase:smms:svn}) that this text verbalizes or
-% paraphrases.\ednote{MK:specify the form of the reference.}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:phrase]{Phrase-Level Markup}
-%
-% \DescribeMacro{\phrase} The |phrase| macro allows to mark up phrases with semantic
-% information. It takes an optional |KeyVal| argument with the keys
-% \DescribeMacro{verbalizes=}|verbalizes| and \DescribeMacro{type=}|type| as above and
-% \DescribeMacro{style}|style,| \DescribeMacro{class}|class|,
-% \DescribeMacro{index}|index| that are disregarded in the {\LaTeX}, but copied into the
-% generated content markup.
-%
-% We use the \DescribeMacro{\nlex}|\nlex{|\meta{phrase}|}| for marking up phrases that
-% serve as natural language examples and \DescribeMacro{\nlcex}|\nlcex{|\meta{phrase}|}|
-% for counter-examples (utterances that are not acceptable for some reason). In natural
-% language examples, we sometimes use ``co-reference markers'' to specify the
-% resolution of anaphora and the like. We use the
-% \DescribeMacro{\coreft}|\coreft{|\meta{phrase}|}{|\meta{mark}|}| to mark up the
-% ``target'' of a co-reference and analogously \DescribeMacro{\corefs}|\corefs| for
-% coreference source -- e.g. for an anaphoric reference. The usage is the following:
-% \begin{verbatim}
-% \nlex{If \coreft{a farmer}1 owns \coreft{a donkey}2,
-% \corefs{he}2 beats \corefs{it}2.}
-% \end{verbatim}
-% is formatted to
-% \begin{quote}
-% \nlex{If \coreft{a farmer}1 owns \coreft{a donkey}2, \corefs{he}2 beats \corefs{it}2.}
-% \end{quote}
-%
-% \DescribeMacro{\sinlinequote} The |sinlinequote| macro allows to mark up quotes inline
-% and attribute them. The quote itself is given as the argument, possibly preceded by
-% the a specification of the source in a an optional argument. For instance, we would
-% quote Hamlet with
-% \begin{verbatim}
-% \sinlinequote[Hamlet, \cite{Shak:1603:Hamlet}]{To be or not to be}
-% \end{verbatim}
-% which would appear as \sinlinequote[Hamlet, (Shakespeare 1603)]{To be or not to be} in
-% the text. The style in which inline quotations appear in the text can be adapted by
-% specializing the macros \DescribeMacro{\@sinlinequote}|\@sinlinequote| --- for
-% quotations without source and \DescribeMacro{\@@sinlinequote}|\@@sinlinequote| --- for
-% quotations with source.
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:decl]{Declarations (under development)}
-%
-% Declarations are special phrases that carry a lot of meaning in mathematics: they
-% introduce and further specify the indentifiers available in formulae. They are marked
-% up via the \DescribeMacro{\vdec}|\vdec| macro. Inside a declaration we can use the
-% \DescribeMacro{\vids}|\vids| macro to mark up the variable names and
-% \DescribeMacro{\vrest}|\vrest| to mark up the restrictions. In the simplest case we
-% have a single variable as in ``\ldots for all $u$'', which we mark up as.
-% \begin{verbatim}
-% ... for all \vdec{\vids[u]{$u$}}.
-% \end{verbatim}
-% A more complex example has multiple identifiers embedded in a restriction, as in ``Let
-% $x,y,z\in\mathbb{R}$, such that $x+2y=z$, then \ldots'', which we mark up as
-% \begin{verbatim}
-% Let \vdec[x,y,z]{\vcond$\minset{x,y,z}\Reals$},
-% such that \vrest{$x+2y=z$}}, then \ldots''
-% \end{verbatim}
-% \ednote{explain and make better examples}\ednote{talk with Frederic about this see
-% what other examples there are.}\ednote{how do we identify the variables in complex
-% restriction patterns. maybe with LMXref, which we should reinstate for this.}
-% \ednote{document strucdec and impdec}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:block]{Block-Level Markup}
-%
-% \DescribeEnv{sblockquote} The |sblockquote| environment is the big brother of the
-% |\sinlinequote| macro. It also takes an optional argument to specify the source. Here
-% the four internal macros \DescribeMacro{\begin@sblockquote}|\begin@sblockquote| to
-% \DescribeMacro{\end@@sblockquote}|\end@@sblockquote| are used for styling and can be
-% adapted by package integrators. Here a quote of Hamlet would marked up as
-% \begin{verbatim}
-% \begin{sblockquote}[Hamlet, \cite{Shak:1603:Hamlet}]\obeylines
-% To be, or not to be: that is the question:
-% Whether 'tis nobler in the mind to suffer
-% \end{sblockquote}
-% \end{verbatim}
-% and would render as
-% \begin{sblockquote}[Hamlet, (Shakespeare 1603)]\obeylines
-% To be, or not to be: that is the question:
-% Whether 'tis nobler in the mind to suffer
-% \end{sblockquote}
-%
-% \DescribeMacro{\lec}The |\lec| macro takes one argument and sets it as a comment at the
-% end of the line, making sure that if the content is too long it is pushed into a new
-% line. We use it internally for placing the of source of the |sblockquote| environment
-% above. The actual appearance of the line end comment is determined by the
-% \DescribeMacro{\@@lec}|\@@lec| macro, which can be customized in the document class.
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:index]{Index Markup}
-%
-% The |omtext| package provides some extensions for the well-known indexing macros of
-% {\LaTeX}. The main reason for introducing these macros is that index markup in
-% {\omdoc} wraps the indexed terms rather than just marking the spot for
-% cross-referencing. Furthermore the index commands only indexes words unless
-% the\DescribeMacro{noindex} |noindex| option is set in the |\usepackage|. The |omtext|
-% package and class make the usual |\index| macro undefined\ednote{implement this and
-% issue the respective error message}.
-%
-% The \DescribeMacro{\indi}|\indi| macro renders a word and marks it for the
-% index. Sometimes, we want to index a slightly different form of the word, e.g. for
-% non-standard plurals: while |\indi{word}s| works fine, we cannot use this for the
-% word ``datum'', which has the plural ``data''. For this we have the macro
-% \DescribeMacro{\aindi}|\aindi|, which takes another argument for the displayed text,
-% allowing us to use |\aindi{data}{datum}|, which prints ``data'' but puts ``datum''
-% into the index.
-%
-% The second set of macros adds an infrastructure for multi-word compounds. Take for
-% instance the compound ``OMDoc document'', which we usually want to add into the
-% index under ``OMDoc'' and
-% ``document''. \DescribeMacro{\indii}|\indii{OMDoc}{document}| is a variant of
-% |\indi| that will do just this. Again, we have a version that prints a variant: This
-% is useful for situations like this the one in Figure~\ref{fig:index-markup}:
-% \begin{exfig}
-% \begin{verbatim}
-% We call group \aindii{Abelian}{Abelian}{group}, iff \ldots
-% \end{verbatim}
-% \vspace*{-1em}will result in the following
-% \begin{quote}
-% We call group \aindii{Abelian}{Abelian}{group}, iff \ldots
-% \end{quote}
-% and put ``Abelian Group'' into the index.
-% \caption{Index markup}\label{fig:index-markup}
-% \end{exfig}
-%
-% Analogously, there are variants for tree/four-word compounds:
-% \DescribeMacro{\indiii}|\indiii|, \DescribeMacro{\aindiii}|\aindiii|,
-% \DescribeMacro{\indiv}|\indiv|, and \DescribeMacro{\aindiv}|\indiv|. For instance for
-% ``wonderful OMDoc
-% document''. \DescribeMacro{\indiii}|\atwin{wonderful}{OMdoc}{document}| will make the
-% necessary index entries under ``wonderful'' and ``document''.
-%
-% Finally, there are variants \DescribeMacro{\Indi*}|\Indi|, |\Indii|, |\Indiii|, and
-% |\Indiv| that print the capitalized version of the word complex, and |\indis|,
-% |\indiis|, |\indiiis|, and |\indivs| that add a plurals, and ultimately
-% \DescribeMacro{\Indi*}|\Indis|, |\Indiis|, |\indiiis|, and |\Indivs| that print the
-% capitalized version of the plural.
-%
-% All index macros take an optional first keyword argument: If the |loadmodules| key is
-% given, we import the module we are in, otherwise all the currently imported modules. We
-% do not have to require the module files, since the index is a the end of the
-% document. If the |at| key is given, then we use that for sorting in the index.
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:misc]{Miscellaneous}
-%
-% We supply some text-level shortcuts for mathematical formulations, for instance \hateq
-% for ``this corresponds to'' or \ergo for ``therefore''. They are semantic in the sense
-% that they are used as special words -- not part of formulae, even though they look
-% like mathematical symbols. The following table gives the full set.
-% \begin{center}
-% \DescribeMacro{\hateq}\DescribeMacro {\hatequiv}
-% \DescribeMacro {\ergo}\DescribeMacro{\ogre}
-% \begin{tabular}{|l|l|l|}\hline
-% macro & pres. & stands for \\\hline
-% |\hateq| & \hateq& this corresponds to\\
-% |\hatequiv| & \hatequiv & this statement corresponds to\\
-% |\ergo| &\ergo & therefore\\
-% |\ogre| &\ogre & because of \\\hline
-% \end{tabular}
-% \end{center}
-% \end{omgroup}
-% \end{omgroup}
-%
-% \begin{omgroup}{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-% \end{omgroup}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}\newpage
-%
-% \begin{omgroup}[id=sec:impl]{Implementation}
-%
-% \begin{omgroup}[id=sec:impl:options]{Package Options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false).\ednote{need an implementation for {\latexml}}
-%
-% \begin{macrocode}
-%<*package>
-\newif\if@omtext@mh@\@omtext@mh@false
-\DeclareOption{mh}{\@omtext@mh@true
-\PassOptionsToPackage{\CurrentOption}{modules}}
-\newif\ifindex\indextrue
-\DeclareOption{noindex}{\indexfalse}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{modules}}
-\ProcessOptions
-\ifindex\makeindex\fi
-% \end{macrocode}
-%
-% \begin{macrocode}
-\if@omtext@mh@\RequirePackage{omtext-mh}\fi
-\RequirePackage{xspace}
-\RequirePackage{modules}
-\RequirePackage{comment}
-\RequirePackage{mdframed}
-\RequirePackage{latexsym}
-% \end{macrocode}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:mtxt]{Mathematical Text}
-%
-% We define the actions that are undertaken, when the keys are encountered. The first
-% set just records metadata; this is very simple via the |\addmetakey|
-% infrastructure~\ctancite{Kohlhase:metakeys}. Note that we allow math in the |title|
-% field, so we do not declare it to be |Semiverbatim| (indeed not at all, which allows
-% it by default).
-%
-% \begin{macrocode}
-\srefaddidkey{omtext}
-\addmetakey[]{omtext}{functions}
-\addmetakey*{omtext}{display}
-\addmetakey{omtext}{for}
-\addmetakey{omtext}{from}
-\addmetakey{omtext}{type}
-\addmetakey*{omtext}{title}
-\addmetakey*{omtext}{start}
-\addmetakey{omtext}{theory}
-\addmetakey{omtext}{continues}
-\addmetakey{omtext}{verbalizes}
-\addmetakey{omtext}{subject}
-% \end{macrocode}
-% The next keys handle module loading (see~\ctancite{KohAmb:smmssl}).
-% \begin{macrocode}
-% \ednote{MK: need to implement these in LaTeXML, I wonder whether there is a general
-% mechanism like numberit.}\ednote{MK: this needs to be rethought in the light of
-% |\usemodule|. It is probably obsolete. Is this used? Is this documented?}
-\define@key{omtext}{require}{\requiremodules{#1}{sms}}
-\define@key{omtext}{module}{\message{module: #1}\importmodule{#1}\def\omtext@theory{#1}}
-% \end{macrocode}
-%
-% \begin{macro}{\st@flow}
-% We define this macro, so that we can test whether the |display| key has the value |flow|
-% \begin{macrocode}
-\def\st@flow{flow}
-% \end{macrocode}
-% \end{macro}
-%
-% We define a switch that allows us to see whether we are inside an |omtext| environment
-% or a statement. It will be used to give better error messages for inline statements.
-%
-% \begin{macrocode}
-\newif\if@in@omtext\@in@omtextfalse
-% \end{macrocode}
-%
-% \begin{environment}{omtext}
-% The |omtext| environment is different, it does not have a keyword that marks
-% it. Instead, it can have a title, which is used in a similar way. We redefine the
-% |\lec| macro so the trailing |\par| does not get into the way.
-% \begin{macrocode}
-\def\omtext@pre@skip{\smallskip}
-\def\omtext@post@skip{}
-\providecommand{\stDMemph}[1]{\textbf{#1}}
-\newenvironment{omtext}[1][]{\@in@omtexttrue%
-\bgroup\metasetkeys{omtext}{#1}\sref@label@id{this paragraph}%
-\def\lec##1{\@lec{##1}}%
-\ifx\omtext@display\st@flow\else\omtext@pre@skip\par\noindent%
-\ifx\omtext@title\@empty%
-\ifx\omtext@start\@empty\else\stDMemph{\omtext@start}\xspace\fi%
-\else\stDMemph{\omtext@title}:\xspace%
-\ifx\omtext@start\@empty\else\omtext@start\xspace\fi%
-\fi% omtext@title empty
-\fi% omtext@display=flow
-\ignorespaces}
-{\egroup\omtext@post@skip\@in@omtextfalse}
-% \end{macrocode}
-% \end{environment}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:phrase]{Phrase-level Markup}
-%
-% \begin{macro}{\phrase}
-% For the moment, we do disregard the most of the keys
-% \begin{macrocode}
-\srefaddidkey{phrase}
-\addmetakey{phrase}{style}
-\addmetakey{phrase}{class}
-\addmetakey{phrase}{index}
-\addmetakey{phrase}{verbalizes}
-\addmetakey{phrase}{type}
-\addmetakey{phrase}{only}
-\newcommand\phrase[2][]{\metasetkeys{phrase}{#1}%
-\ifx\prhase@only\@empty\only<\phrase@only>{#2}\else #2\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\coref*}
-% \begin{macrocode}
-\providecommand\textsubscript[1]{\ensuremath{_{#1}}}
-\newcommand\corefs[2]{#1\textsubscript{#2}}
-\newcommand\coreft[2]{#1\textsuperscript{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\n*lex}
-% \begin{macrocode}
-\newcommand\nlex[1]{\green{\sl{#1}}}
-\newcommand\nlcex[1]{*\green{\sl{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{sinlinequote}
-% \begin{macrocode}
-\def\@sinlinequote#1{``{\sl{#1}}''}
-\def\@@sinlinequote#1#2{\@sinlinequote{#2}~#1}
-\newcommand\sinlinequote[2][]
-{\def\@opt{#1}\ifx\@opt\@empty\@sinlinequote{#2}\else\@@sinlinequote\@opt{#2}\fi}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user:decl]{Declarations (under development)}
-%
-% The declaration macros are still under development (i.e. the macros) are still under
-% development and may change at any time. Currently they are completely empty.
-%
-% \begin{macrocode}
-\newcommand\vdec[2][]{#2}
-\newcommand\vrest[2][]{#2}
-\newcommand\vcond[2][]{#2}
-% \end{macrocode}
-%
-% \begin{macro}{\strucdec}
-% \ednote{document above}
-% \begin{macrocode}
-\newcommand\strucdec[2][]{#2}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\impdec}
-% \ednote{document above}
-% \begin{macrocode}
-\newcommand\impdec[2][]{#2}
-% \end{macrocode}
-% \end{macro}
-%
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:block]{Block-Level Markup}
-%
-% \begin{environment}{sblockquote}
-% \begin{macrocode}
-\def\begin@sblockquote{\begin{quote}\sl}
-\def\end@sblockquote{\end{quote}}
-\def\begin@@sblockquote#1{\begin@sblockquote}
-\def\end@@sblockquote#1{\def\@@lec##1{\textrm{##1}}\@lec{#1}\end@sblockquote}
-\newenvironment{sblockquote}[1][]
- {\def\@opt{#1}\ifx\@opt\@empty\begin@sblockquote\else\begin@@sblockquote\@opt\fi}
- {\ifx\@opt\@empty\end@sblockquote\else\end@@sblockquote\@opt\fi}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{sboxquote}
-% \begin{macrocode}
-\newenvironment{sboxquote}[1][]
-{\def\@@src{#1}\begin{mdframed}[leftmargin=.5cm,rightmargin=.5cm]}
-{\@lec{\textrm\@@src}\end{mdframed}}
-% \end{macrocode}
-% \end{environment}
-%
-% The line end comment macro makes sure that it will not be forced on the next line unless
-% necessary.
-% \begin{macro}{\lec}
-% The actual appearance of the line end comment is determined by the |\@@lec| macro,
-% which can be customized in the document class. The basic one here is provided so that
-% it is not missing.
-% \begin{macrocode}
-\providecommand{\@@lec}[1]{(#1)}
-\def\@lec#1{\strut\hfil\strut\null\nobreak\hfill\@@lec{#1}}
-\def\lec#1{\@lec{#1}\par}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\my*graphics}
-% We set up a special treatment for including graphics to respect the intended {\omdoc}
-% document structure. The main work is done in the transformation stylesheet though.
-% \begin{macrocode}
-\newcommand\mygraphics[2][]{\includegraphics[#1]{#2}}
-\newcommand\mycgraphics[2][]{\begin{center}\mygraphics[#1]{#2}\end{center}}
-\newcommand\mybgraphics[2][]{\fbox{\mygraphics[#1]{#2}}}
-\newcommand\mycbgraphics[2][]{\begin{center}\fbox{\mygraphics[#1]{#2}}\end{center}}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:index]{Index Markup}
-%
-% \begin{macro}{\omdoc@index*}
-% these are the main internal indexing commands -- dividing them into four macros is awful,
-% but I did not get list processing running. It makes sure that the modules necessary
-% for interpreting the math in the index entries are loaded. If the |loadmodules| key is
-% given, we import the module we are in otherwise all the currently imported modules. We
-% do not have to require the module files, since the index is a the end of the
-% document. If the |at| key is given, then we use that for sorting in the index.
-% \begin{macrocode}
-\addmetakey{omdoc@index}{at}
-\addmetakey[false]{omdoc@index}{loadmodules}[true]
-\newcommand\omdoc@indexi[2][]{\ifindex%
-\metasetkeys{omdoc@index}{#1}%
-\@bsphack\begingroup\@sanitize%
-\protected@write\@indexfile{}{\string\indexentry%
-{\ifx\omdoc@index@at\@empty\else\omdoc@index@at @\fi%
-\ifx\omdoc@index@loadmodules\@true%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#2}%
-\else #2\fi% loadmodules
-}{\thepage}}%
-\endgroup\@esphack\fi}%ifindex
-\newcommand\omdoc@indexii[3][]{\ifindex%
-\metasetkeys{omdoc@index}{#1}%
-\@bsphack\begingroup\@sanitize%
-\protected@write\@indexfile{}{\string\indexentry%
-{\ifx\omdoc@index@at\@empty\else\omdoc@index@at @\fi%
-\ifx\omdoc@index@loadmodules\@true%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#2}!%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#3}%
-\else #2!#3\fi% loadmodules
-}{\thepage}}%
-\endgroup\@esphack\fi}%ifindex
-\newcommand\omdoc@indexiii[4][]{\ifindex%
-\metasetkeys{omdoc@index}{#1}%
-\@bsphack\begingroup\@sanitize%
-\protected@write\@indexfile{}{\string\indexentry%
-{\ifx\omdoc@index@at\@empty\else\omdoc@index@at @\fi%
-\ifx\omdoc@index@loadmodules\@true%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#2}!%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#3}!%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#4}%
-\else #2!#3!#4\fi% loadmodules
-}{\thepage}}%
-\endgroup\@esphack\fi}%ifindex
-\newcommand\omdoc@indexiv[5][]{\ifindex%
-\metasetkeys{omdoc@index}{#1}%
-\@bsphack\begingroup\@sanitize%
-\protected@write\@indexfile{}{\string\indexentry%
-{\ifx\omdoc@index@at\@empty\else\omdoc@index@at @\fi%
-\ifx\omdoc@index@loadmodules\@true%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#2}!%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#3}!%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#4}%
-\string\withusedmodules{\@ifundefined{mod@id}\used@modules\mod@id}{#5}%
-\else #2!#3!#4!#5\fi% loadmodules
-}{\thepage}}%
-\endgroup\@esphack\fi}%ifindex
-% \end{macrocode}
-% \end{macro}
-%
-% Now, we make two interface macros that make use of this:
-%
-% \begin{macro}{\*indi*}
-% \begin{macrocode}
-\newcommand\aindi[3][]{{#2}\omdoc@indexi[#1]{#3}}
-\newcommand\indi[2][]{{#2}\omdoc@indexi[#1]{#2}}
-\newcommand\indis[2][]{{#2}\omdoc@indexi[#1]{#2s}}
-\newcommand\Indi[2][]{{\captitalize{#2}}\omdoc@indexi[#1]{#2}}
-\newcommand\Indis[2][]{{\capitalize{#2}}\omdoc@indexi[#1]{#2s}}
-
-\newcommand\@indii[3][]{\omdoc@indexii[#1]{#2}{#3}\omdoc@indexii[#1]{#3}{#2}}
-\newcommand\aindii[4][]{#2\@indii[#1]{#3}{#4}}
-\newcommand\indii[3][]{{#2 #3}\@indii[#1]{#2}{#3}}
-\newcommand\indiis[3][]{{#2 #3s}\@indii[#1]{#2}{#3}}
-\newcommand\Indii[3][]{{\captitalize{#2 #3}}\@indii[#1]{#2}{#3}}
-\newcommand\Indiis[3][]{{\capitalize{#2 #3}}\@indii[#1]{#2}{#3}}
-
-\newcommand\@indiii[4][]{\omdoc@indexiii[#1]{#2}{#3}{#4}\omdoc@indexii[#1]{#3}{#2 (#4)}}
-\newcommand\aindiii[5][]{{#2}\@indiii[#1]{#3}{#4}{#5}}
-\newcommand\indiii[4][]{{#2 #3 #4}\@indiii[#1]{#2}{#3}{#4}}
-\newcommand\indiiis[4][]{{#2 #3 #4s}\@indiii[#1]{#2}{#3}{#4}}
-\newcommand\Indiii[4][]{\captitalize{#2 #3 #4}\@indiii[#1]{#2}{#3}{#4}}
-\newcommand\Indiiis[4][]{\capitalize{#2 #3 #4s}\@indiii[#1]{#2}{#3}{#4}}
-
-\newcommand\@indiv[5][]{\omdoc@indexiv[#1]{#2}{#3}{#4}{#5}}
-\newcommand\aindiv[6][]{#2\@indiv[#1]{#3}{#4}{#5}{#6}}
-\newcommand\indiv[5][]{{#2 #3 #4 #5}\@indiv[#1]{#2}{#3}{#4}{#5}}
-\newcommand\indivs[5][]{{#2 #3 #4 #5s}\@indiv[#1]{#2}{#3}{#4}{#5}}
-\newcommand\Indiv[5][]{\capitalize{#2 #3 #4 #5s}\@indiv[#1]{#2}{#3}{#4}{#5}}
-\newcommand\Indivs[5][]{\capitalize{#2 #3 #4 #5s}\@indiv[#1]{#2}{#3}{#4}{#5}}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:impl:misc]{Miscellaneous}
-% Some shortcuts that use math symbols but are not mathematical at all; in particular,
-% they should not be translated by {\latexml}.
-% \begin{macrocode}
-\newcommand\hateq{\ensuremath{\widehat=}\xspace}
-\newcommand\hatequiv{\ensuremath{\widehat\equiv}\xspace}
-\@ifundefined{ergo}%
-{\newcommand\ergo{\ensuremath{\leadsto}\xspace}}%
-{\renewcommand\ergo{\ensuremath{\leadsto}\xspace}}%
-\newcommand{\reflect@squig}[2]{\reflectbox{$\m@th#1\rightsquigarrow$}}%
-\newcommand\ogre{\ensuremath{\mathrel{\mathpalette\reflect@squig\relax}}\xspace}%
-\newcommand\notergo{\ensuremath{\not\leadsto}}
-\newcommand\notogre{\ensuremath{\not\mathrel{\mathpalette\reflect@squig\relax}}\xspace}%
-% \end{macrocode}
-%
-% \end{omgroup}
-%
-% \begin{omgroup}{Deprecated Functionality}\label{sec:deprecated}
-%
-% In this section we centralize old interfaces that are only partially supported any
-% more.
-% \begin{macro}{\*def*}
-% \begin{macrocode}
-\newcommand\indextoo[2][]{\indi[#1]{#2}%
-\PackageWarning{omtext}{\protect\indextoo\space is deprecated, use \protect\indi\space instead}}
-\newcommand\indexalt[2][]{\aindi[#1]{#2}%
-\PackageWarning{omtext}{\protect\indextoo\space is deprecated, use \protect\aindi\space instead}}
-\newcommand\twintoo[3][]{\indii[#1]{#2}{#3}%
-\PackageWarning{omtext}{\protect\twintoo\space is deprecated, use \protect\indii\space instead}}
-\newcommand\twinalt[3][]{\aindii[#1]{#2}{#3}%
-\PackageWarning{omtext}{\protect\twinalt\space is deprecated, use \protect\aindii\space instead}}
-\newcommand\atwintoo[4][]{\indiii[#1]{#2}{#3}{#4}%
-\PackageWarning{omtext}{\protect\atwintoo\space is deprecated, use \protect\indiii\space instead}}
-\newcommand\atwinalt[4][]{\aindii[#1]{#2}{#3}{#4}%
-\PackageWarning{omtext}{\protect\atwinalt\space is deprecated, use \protect\aindiii\space instead}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-% \end{omgroup}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: GPL structuresharing STR omdoc dtx stex CPERL LoadClass url dc filedate sl
-% LocalWords: RequirePackage RegisterNamespace namespace xsl DocType ltxml dtd annote mh
-% LocalWords: ltx DefEnvironment beforeDigest AssignValue inPreamble getGullet indexalt
-% LocalWords: afterDigest keyval omgroup DefKeyVal Semiverbatim KeyVal regexp indexalt
-% LocalWords: OptionalKeyVals DefParameterType IfBeginFollows skipSpaces CMP rangle rel
-% LocalWords: ifNext DefMacro needwrapper unlist DefConstructor omtext bgroup rangle baz
-% LocalWords: useCMPItemizations RefStepItemCounter egroup beginItemize li di makeindex
-% LocalWords: beforeDigestEnd dt autoclose ul ol dl env showignores srcref def st@flow
-% LocalWords: afterOpen LastSeenCMP autoClose DefCMPEnvironment proto ToString KeyVals
-% LocalWords: addAttribute nlex nlcex omdocColorMacro args tok MergeFont qw rm XPointer
-% LocalWords: TokenizeInternal toString isMath foreach maybeCloseElement id'd endinput
-% LocalWords: autoOpen minipage footnotesize scriptsize numberIt whatsit href HorIacJuc
-% LocalWords: getAttribute setAttribute OMDoc RelaxNGSchema noindex xml lec sc cscpnrr11
-% LocalWords: Subsubsection useDefaultItemizations refundefinedtrue sblockquote foobar
-% LocalWords: DefCMPConstructor sinlinequote idx idt ide idp emph extrefs sref mhrepos
-% LocalWords: flushleft flushright DeclareOption PassOptions undef cls iffalse mathhub
-% LocalWords: ProcessOptions subparagraph ignoresfalse ignorestrue raisebox tr finalpath
-% LocalWords: texorpdfstring latexml texttt fileversion maketitle newpage iff mh-variant
-% LocalWords: tableofcontents newpage ednote obeylines usepackage indextoo Cwd coreft
-% LocalWords: indextoo twintoo twintoo exfig vspace twinalt ldots ttin emin importmodule
-% LocalWords: renmanig myindex atwin atwin packge-local blockquote inlinequote coreft
-% LocalWords: atwintoo atwinalt atwinalt printbibliography impl cwd newif ifx mhgraphics
-% LocalWords: ifindex indextrue indexfalse srefaddidkey smallskip showmeta importmodules
-% LocalWords: providecommand stDMemph textbf newenvironment hfil showmeta NeedsTeXFormat
-% LocalWords: noindent ignorespaces newcommand nobreak hfill hbox mygraphics mhcgraphics
-% LocalWords: includegraphics mycgraphics mybgraphics fbox adjectivized hspace corefs
-% LocalWords: printindex jobname.ind jobname.ind omspace footnotemark thead mhcgraphics
-% LocalWords: footnotetext findnodes doctex textsf langle textsf langle funval corefs
-% LocalWords: metakeys funsymbs addmetakey metasetkeys startemph textsl textit mdframed
-% LocalWords: compactenum ifundefined localname localname xspace ctancite mhcurrentrepos
-% LocalWords: KohAmb smmssl requiremodules prhase bsphack begingroup thepage mh-variants
-% LocalWords: indexentry endgroup esphack SOURCEFILE baselocal BASELOCAL importmhmodule
-% LocalWords: mh@currentrepos mhbgraphics co-rerefence usemodule coref textsubscript
-% LocalWords: ensuremath textsuperscript sboxquote leftmargin rightmargin mycbgraphics
-% LocalWords: mhcbgraphics textleadsto customization specializing customized behavior
-% LocalWords: flexiformal latexsym itemize loadmodules recognize hateq hatequiv equiv
-% LocalWords: leadsto renewcommand reflect@squig reflectbox m@th rightsquigarrow
-% LocalWords: mathrel mathpalette
-% \endinput
-% Local Variables:
-% mode: doctex
-% TeX-master: t
-% End:
diff --git a/macros/latex/contrib/stex/sty/omtext/omtext.ins b/macros/latex/contrib/stex/sty/omtext/omtext.ins
deleted file mode 100644
index 9dafd62b59..0000000000
--- a/macros/latex/contrib/stex/sty/omtext/omtext.ins
+++ /dev/null
@@ -1,31 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex omtext.ins
-%%
-%% Copyright(c) 2008 Michael Kohlhase
-%% The development version of this file can be found at http://github.com/KWARC/sTeX
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{omtext.sty}{\from{omtext.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file omtext.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/omtext/omtext.pdf b/macros/latex/contrib/stex/sty/omtext/omtext.pdf
deleted file mode 100644
index 8b7bf843cc..0000000000
--- a/macros/latex/contrib/stex/sty/omtext/omtext.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/presentation/README b/macros/latex/contrib/stex/sty/presentation/README
deleted file mode 100644
index a5afc3a06c..0000000000
--- a/macros/latex/contrib/stex/sty/presentation/README
+++ /dev/null
@@ -1,14 +0,0 @@
-presentation.sty: An Infrastructure for Presenting Semantic Macros
-
-This package supplies an infrastructure that allows to specify the presentation of
-semantic macros, including preference-based bracket elision. This allows to markup the
-functional structure of mathematical formulae without having to lose high-quality
-human-oriented presentation in {\LaTeX}. Moreover, the notation definitions can be used by
-MKM systems for added-value services, either directly from the {\sTeX} sources, or after
-translation.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/presentation/presentation.dtx b/macros/latex/contrib/stex/sty/presentation/presentation.dtx
deleted file mode 100644
index bc32a499ff..0000000000
--- a/macros/latex/contrib/stex/sty/presentation/presentation.dtx
+++ /dev/null
@@ -1,1055 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for Presenting Semantic Macros in sTeX
-% Copyright (C) 2004-2007 Michael Kohlhase, all rights reserved
-% This file is released under the LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{presentation}[2019/03/20 v1.0 presentation for semantic macros]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float,amstext,alltt}
-\usepackage{modules,presentation,stex-logo}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{presentation.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{551}
-%
-% \changes{v0.9}{2005/06/14}{First Version with Documentation}
-% \changes{v0.9a}{2005/07/01}{Completed Documentation}
-% \changes{v0.9b}{2005/08/06}{Complete functionality and Updated Documentation}
-% \changes{v0.9c}{2006/01/13}{more packaging}
-% \changes{v0.9d}{2006/10/13}{adding mixfix declarations}
-% \changes{v0.9d}{2006/10/13}{dealing with precedences in keyword arguments}
-% \changes{v0.9e}{2007/09/03}{fixing argument precedences, adding LaTeXML bindings}
-% \changes{v0.9f}{2007/12/09}{adding general elision}
-% \changes{v0.9g}{2008/06/17}{getting the LaTeXML right}
-% \changes{v0.9h}{2009/02/27}{turning the precedence order around to make this compatible
-% with the latest OMDoc, change all precedences $n$ to $1000-n$}
-% \changes{v0.9h}{2009/07/30}{adding brackets to the generated notation elements}
-% \changes{v0.9h}{2010/06/18}{considering done now}
-% \changes{v1.0}{2010/12/27}{adding \texttt{\textbackslash funapp}}
-% \changes{v1.0}{2011/01/28}{moving \texttt{\textbackslash funapp} and
-% \texttt{\textbackslash vname} (and friends) to new package {\texttt{cmath}}}
-% \changes{v1.0}{2012/11/09}{Moving LaTeXML bindings into \texttt{presentation.sty.ltxml} and
-% disabling generation}
-% \GetFileInfo{presentation.sty}
-%
-% \MakeShortVerb{\|}
-%\def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\xml{\scsys{Xml}}
-% \def\mathml{\scsys{MathML}}
-% \def\omdoc{\scsys{OMDoc}}
-% \def\openmath{\scsys{OpenMath}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\perl{\scsys{Perl}}
-% \def\cmathml{Content-{\sc MathML}\index{Content {\sc MathML}}\index{MathML@{\sc MathML}!content}}
-% \def\activemath{\scsys{ActiveMath}}
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-% \title{{\texttt{presentation.sty}}: An Infrastructure for Presenting Semantic
-% Macros in {\stex}\thanks{Version {\fileversion} (last revised {\filedate})}}
-% \author{Michael Kohlhase
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}\and
-% \& Deyan Ginev\\Authorea}
-% \date{\today}
-% \maketitle
-%
-% \begin{abstract}
-% The |presentation| package is a central part of the {\stex} collection, a version of
-% {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX} documents semantically without
-% leaving the document format, essentially turning {\TeX/\LaTeX} into a document format
-% for mathematical knowledge management (MKM).
-%
-% This package supplies an infrastructure that allows to specify the presentation of
-% semantic macros, including preference-based bracket elision. This allows to markup the
-% functional structure of mathematical formulae without having to lose high-quality
-% human-oriented presentation in {\LaTeX}. Moreover, the notation definitions can be
-% used by MKM systems for added-value services, either directly from the {\sTeX}
-% sources, or after translation.
-% \end{abstract}
-%
-% \newpage\setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-%\section{Introduction}\label{sec:presentation}
-%
-% The |presentation| package supplies an infrastructure that allows to specify the
-% presentation of semantic macros, including preference-based bracket elision. This allows
-% to markup the functional structure of mathematical formulae without having to lose
-% high-quality human-oriented presentation in {\LaTeX}. Moreover, the notation definitions
-% can be used by MKM systems for added-value services, either directly from the {\sTeX}
-% sources, or after translation.
-%
-% {\stex} is a version of {\TeX/\LaTeX} that allows to markup {\TeX/\LaTeX} documents
-% semantically without leaving the document format, essentially turning {\TeX/\LaTeX} into
-% a document format for mathematical knowledge management (MKM).
-%
-% The setup for semantic macros described in the {\stex} |modules| package works well for
-% simple mathematical functions: we make use of the macro application syntax in {\TeX} to
-% express function application. For a simple function called ``foo'', we would just
-% declare |\symdef{foo}[1]{foo(#1)}| and have the concise and intuitive syntax |\foo{x}|
-% for $foo(x)$. But mathematical notation is much more varied and interesting than just
-% this.
-%
-% \section{The User Interface}\label{sec:user}
-%
-% In this package we will follow the {\sTeX} approach and assume that there are four basic
-% types of mathematical expressions: symbols, variables, applications and
-% binders. Presentation of the variables is relatively straightforward, so we will not
-% concern ourselves with that. The application of functions in mathematics is mostly
-% presented in the form $f(a_1,\ldots,a_n)$, where $f$ is the function and the $a_i$ are
-% the arguments. However, many commonly-used functions from this presentational scheme:
-% for instance binomial coefficients: $\bigl({n\atop k}\bigr)$, pairs: $\langle
-% a,b\rangle$, sets: $\{x\in S\,\vert\, x^2\ne0\}$, or even simple addition: $3+5+7$. Note
-% that in all these cases, the presentation is determined by the (functional) head of the
-% expression, so we will bind the presentational infrastructure to the operator.
-%
-% \subsection{Prefix \& Postfix Notations}\label{sec:prepostfix}
-%
-% The default notation for an object that is obtained by applying a function $f$ to
-% arguments $a_1$ to $a_n$ is $f(a_1,\ldots,a_n)$. The \DescribeMacro{\prefix}|\prefix|
-% macro allows to specify a prefix presentation for a function (the usual presentation in
-% mathematics). Note that it is better to specify |\symdef{uminus}[1]{\prefix{-}{#1}}|
-% than just |\symdef{uminus}[1]{-#1}|, since we can specify the bracketing behavior in the
-% former (see Section~\ref{sec:elision}).
-%
-% The \DescribeMacro{\postfix}|\postfix| macro is similar, only that the function is
-% presented after the argument as for e.g. the factorial function: $5!$ stands for the
-% result of applying the factorial function to the number 5. Note that the function is
-% still the first argument to the |\postfix| macro: we would specify the presentation for
-% the factorial function with |\symdef{factorial}[1]{\postfix{!}{#1}}|.
-%
-% |\prefix| and |\postfix| have $n$-ary variants \DescribeMacro{\prefixa}|\prefixa| and
-% \DescribeMacro{\postfixa}|\postfixa| that take an arbitrary number of arguments
-% (mathematically; syntactically grouped into one {\TeX} argument). These take an extra
-% separator argument.\ednote{think of a good example!}
-%
-% Note that in \stex the |\prefix| and |\postfix| macros should primarily be used in
-% |\symdef| declarations. For marking up applications of symbolic functions in text we
-% should use the |\symdef|-defined semantic macros direct. For applications of function
-% variables we have two options:
-% \begin{enumerate}
-% \item direct prefix markup of the form |f(x)|, where we have declared the symbol |f| to
-% be a function via the |function| key of the enclosing environment --- e.g. |omtext|
-% (see~\cite{Kohlhase:smmtf*:svn}).
-% \item using the \DescribeMacro{\funapp}|\funapp| macro as in |\funapp{f}{x}|, which
-% leads to the same effect and is more general (e.g. for complex function variables,
-% such as $f_1^\prime$). Note that the default prefix rendering of the function is
-% sufficient here, since we can otherwise make use of a user-defined application
-% operator.
-% \end{enumerate}
-%
-% \subsection{Mixfix Notations}\label{sec:mixfix}
-%
-% For the presentation of more complex operators, we will follow the approach used by the
-% Isabelle theorem prover. There, the presentation of an $n$-ary function (i.e. one that
-% takes $n$ arguments) is specified as
-% \meta{pre}\meta{arg$_0$}\meta{mid$_1$}$\cdots$\meta{mid$_n$}\meta{arg$_n$}\meta{post},
-% where the \meta{arg$_i$} are the arguments and \meta{pre}, \meta{post}, and the
-% \meta{mid$_i$} are presentational material. For instance, in infix operators like the
-% binary subset operator, \meta{pre} and $\meta{post}$ are empty, and \meta{mid$_1$} is
-% $\subseteq$. For the ternary conditional operator in a programming language, we might
-% have the presentation pattern
-% |if|\meta{arg$_1$}|then|\meta{arg$_2$}|else|\meta{arg$_3$}|fi| that utilizes all
-% presentation positions.
-%
-% \DescribeMacro{\mixfix*}The |presentation| package provides mixfix declaration macros
-% |\mixfixi|, |\mixfixii|, and |\mixfixiii| for unary, binary, and ternary functions. This
-% covers most of the cases, larger arities would need a different argument
-% pattern.\footnote{If you really need larger arities, contact the author!} The call
-% pattern of these macros is just the presentation pattern above. In general, the mixfix
-% declaration of arity $i$ has $2n+1$ arguments, where the even-numbered ones are for the
-% arguments of the functions and the odd-numbered ones are for presentation material. For
-% instance, to define a semantic macro for the subset relation and the conditional, we
-% would use the markup in Figure~\ref{fig:mixfix}.
-% \begin{exfig}
-% \begin{verbatim}
-% \symdef{sseteq}[2]{\mixfixii{}{#1}{\subseteq}{#2}{}}
-% \symdef{sseteq}[2]{\infix\subseteq{#1}{#2}}
-% \symdef{ite}[2]{\mixfixiii{{\tt{if}}\;}{#1}
-% {\;{\tt{then}}\;}{#2}
-% {\;{\tt{else}}\;}{#3}{\;{\tt{fi}}}}
-% \end{verbatim}
-% \vspace*{-1.5em}
-% \begin{center}
-% \begin{tabular}{|l|l|}\hline
-% source & presentation \\\hline
-% |\sseteq{S}T| & $(S\subseteq T)$\\\hline
-% |\ite{x<0}{-x}x| & ${\tt{if}}\,x<0\,{\tt{then}}\,-x\,{\tt{else}}\,x\,{\tt{fi}}$\\\hline
-% \end{tabular}
-% \end{center}
-% \caption{Declaration of mixfix operators}\label{fig:mixfix}
-% \end{exfig}
-%
-% For certain common cases, the |presentation| package provides shortcuts for the mixfix
-% declarations. For instance, we provide the \DescribeMacro{\infix}|\infix| macro for
-% binary operators that are written between their arguments (see
-% Figure~\ref{fig:mixfix}).\ednote{really?}
-%
-% \subsection{\texorpdfstring{$n$}{n}-ary Associative Operators}\label{sec:assoc}
-%
-% Take for instance the operator for set union: formally, it is a binary function on
-% sets that is associative (i.e. $(S_1\cup S_2)\cup S_3=S_1\cup (S_2\cup S_3)$), therefore
-% the brackets are often elided, and we write $S_1\cup S_2\cup S_3$ instead (once we have
-% proven associativity). Some authors even go so far to introduce set union as a $n$-ary
-% operator, i.e. a function that takes an arbitrary (positive) number of arguments. We will
-% call such operators {\bf{$n$-ary
-% associative}\atwin{n-ary}{associative}{operator}}.
-%
-% Specifying the presentation\ednote{introduce the notion of presentation above} of
-% $n$-ary associative operators in |\symdef| forms is not straightforward, so we provide
-% some infrastructure for that. As we cannot predict the number of arguments for $n$-ary
-% operators, we have to give them all at once, if we want to maintain our use of {\TeX}
-% macro application to specify function application. So a semantic macro for an $n$-ary
-% operator will be applied as |\nunion{|\meta{$a_1$}|,|\ldots|,|\meta{$a_n$}|}|, where the
-% sequence of $n$ logical arguments \meta{$a_i$} are supplied as one {\TeX} argument which
-% contains a comma-separated list. We provide variants of the mixfix declarations
-% presented in section~\ref{sec:mixfix} which deal with associative arguments. For
-% instance, the variant \DescribeMacro{\mixfixa}|\mixfixa| allows to specify $n$-ary
-% associative operators.
-% |\mixfixa{|\meta{pre}|}{|\meta{arg}|}{|\meta{post}|}{|\meta{op}|}| specifies a
-% presentation, where \meta{arg} is the associative argument and \meta{op} is the
-% corresponding operator that is mapped over the argument list; as above, {\meta{pre}},
-% \meta{post}, are prefix and postfix presentational material. For instance, the finite
-% set constructor could be constructed as
-% \begin{verbatim}
-% \newcommand\fset[1]{\mixfixa{\{}{#1}{\}},}
-% \end{verbatim}
-%
-% The \DescribeMacro{\assoc}|\assoc| macro is a convenient abbreviation of a |\mixfixa|
-% that can be used in cases, where \meta{pre} and \meta{post} are empty (i.e. in the
-% majority of cases). It takes two arguments: the presentation of a binary operator, and a
-% comma-separated list of arguments, it replaces the commas in the second argument with
-% the operator in the first one. For instance |\assoc\cup{S_1,S_2,S_3}| will be formatted
-% to $S_1\cup S_2\cup S_3$. Thus we can use |\def\nunion#1{\assoc\cup{#1}}| or even
-% |\def\nunion{\assoc\cup}|, to define the $n$-ary operator for set union in {\TeX}. For
-% the definition of a semantic macro in {\stex}, we use the second form, since we are more
-% conscious of the right number of arguments and would declare
-% |\symdef{nunion}[1]{\assoc\cup{#1}}|.\ednote{think about big operators for ACI
-% functions}
-%
-% The |\mixfixii| macro has variants \DescribeMacro{\mixfixia}|\mixfixia| and
-% \DescribeMacro{\mixfixai}|\mixfixai| which allow to make one or two arguments in a
-% binary function associative. A use case for the second macro is an nary function type
-% operator |\fntype|, which can be defined via
-% \begin{verbatim}
-% \def\fntype#1#2{\mixfixai{}{#1}\rightarrow{#2}{}\times}
-% \end{verbatim}
-% \def\fntype#1#2{\mixfixai{}{#1}\rightarrow{#2}{}\times}
-% and which will format |\fntype{\alpha,\beta,\gamma}\delta| as
-% $\fntype{\alpha,\beta,\gamma}\delta$
-%
-% Finally, the |\mixfixiii| macro has the variants |\mixfixaii|, |\mixfixiai|, and
-% |\mixfixiia| as above\footnote{If you really need larger arities with associative
-% arguments, contact the package author!}. For instance we can use the first variant for
-% a typing judgment using
-% \begin{verbatim}
-% \def\typej#1#2#3{\mixfixaii{}{#1}{\vdash_{\Sigma}}{#2}\colon{#3}{}{,}}
-% \end{verbatim}
-% \def\typej#1#2#3{\mixfixaii{}{#1}{\vdash_{\Sigma}}{#2}\colon{#3}{}{,}}
-% which formats |\typej{\Gamma,[x:\alpha],[y:\beta]}{f(x,y)}{\beta}| as
-% \[\typej{\Gamma,[x:\alpha],[y:\beta]}{f(x,y)}{\beta}.\]
-%
-% \subsection{Precedence-Based Bracket Elision}\label{sec:elision}
-%
-% In the infrastructure discussed above, we have completely ignored the fact that we use
-% brackets to disambiguate the formula structure. The general baseline rule here is that
-% we enclose any presented subformula with (round) brackets to mark it as a logical unit.
-% If we applied this to the following formula that combines set union and set intersection
-% \begin{equation}\label{cupcap}
-% |\nunion{\ninters{a,b},\ninters{c,d}}|
-% \end{equation}
-% this would yield $((a\cap b)\cup (c\cap d))$, and not $a\cap b\cup c\cap d$ as we are
-% used to. In mathematics, brackets are elided, whenever the author anticipates that the
-% reader can understand the formula without them, and would be overwhelmed with them. To
-% achieve this, there are set of common conventions that govern bracket elision ---
-% ``$\cap$ binds stronger than $\cup$'' in (\ref{cupcap}). The most common is to assign
-% precedences to all operators, and elide brackets, if the {\index*{precedence}} of the
-% operator is larger than that of the context it is presented in (or equivalently: we only
-% write brackets, if the operator precedence is smaller or equal to the context
-% precedence). Note that this is more selective that simply dropping outer brackets which
-% would yield $a\cap b\cup c\cap d$ for (\ref{capcup}), where we would have liked $(a\cup
-% b)\cap(c\cup d)$
-% \begin{equation}\label{capcup}
-% |\ninters{\nunion{a,b},\nunion{c,d}}|
-% \end{equation}
-% In our example above, we would assign $\cap$ a larger precedence than $\cup$ (and both a
-% larger precedence than the initial precedence to avoid outer brackets). To compute the
-% presentation of (\ref{capcup}) we start out with the |\ninters|, elide its brackets
-% (since the precedence $n$ of $\cup$ is larger than the initial precedence $i$), and set
-% the context precedence for the arguments to $n$. When we present the arguments, we
-% present the brackets, since the precedence of |nunion| is larger than the context
-% precedence $n$.
-%
-% This algorithm --- which we call {\textbf{precedence-based bracket elision}} --- goes a
-% long way towards approximating mathematical practice. Note that full bracket elision in
-% mathematical practice is a reader-oriented process, it cannot be fully mechanical,
-% e.g. in $(a\cap b\cap c\cap d\cap e\cap f\cap g)\cup h$ we better put the brackets
-% around the septary intersection to help the reader even though they could have been
-% elided by our algorithm. Therefore, the author has to retain full control\ednote{think
-% about how to implement that. We need a way to override precedences locally} over
-% bracketing in a bracket elision architecture. Otherwise it would become impossible to
-% explain the concept of associativity in $(a\circ b)\circ c =a\circ(b\circ c)$, where we
-% need the brackets for this one time on an otherwise associative operation $\circ$.
-%
-% \begin{figure}[htb]
-% \begin{center}
-% \begin{tabular}{|l|l|l|}\hline
-% Precedence & Operators & Comment\\\hline\hline
-% 800 & +,- & unary \\\hline
-% 800 & $\hat{}$ & exponentiation \\\hline
-% 600 & $*,\land,\cap$ & multiplicative \\\hline
-% 500 & $+,-,\lor,\cup$ & additive\\\hline
-% 400 & / & fraction \\\hline
-% 300 & $=, \ne, \leq, <, >, \geq$ & relation\\\hline
-% \end{tabular}
-% \end{center}\vspace*{-1em}
-% \caption{Common Operator Precedences}\label{fig:precedence}
-% \end{figure}
-%
-% Furthermore, we supply an optional keyval arguments to the mixfix declarations and their
-% abbreviations that allow to specify precedences: The key \DescribeMacro{p}|p| key is
-% used to specify the {\bf{operator precedence}}, and the keys
-% \DescribeMacro{pi}\DescribeMacro{pii}\DescribeMacro{piii}|p|\meta{i} can be used to
-% specify the {\bf{argument precedence}s}. The latter will set the precedence level while
-% processing the arguments, while the operator precedence invokes brackets, if it is
-% smaller than the current precedence level --- which is set by the appropriate argument
-% precedence by the dominating operators or the outer precedence. The values of the
-% precedence keys can be integers or \DescribeMacro{\iprec}|\iprec| for the infinitely
-% large precedence or \DescribeMacro{\niprec}|\niprec| for the infinitely small
-% precedence.
-%
-% If none of the precedences is specified, then the defaults are assumed. The operator
-% precedence is set to the default operator precedence, which defaults to 0. The argument
-% precedences default to the operator precedence.
-%
-% Figure~\ref{fig:precedence} gives an overview over commonly used precedences. Note that
-% most operators have precedences higher than the default precedence of 0, otherwise the
-% brackets would not be elided. For our examples above, we would define
-% \begin{verbatim}
-% \newcommand\nunion[1]{\assoc[p=500]{\cup}{#1}}
-% \newcommand\ninters[1]{\assoc[p=600]{\cap}{#1}}
-% \end{verbatim}
-% to get the desired behavior.
-%
-% Note that the presentation macros uses round brackets for grouping by default. We can
-% specify other brackets via two more keywords: \DescribeMacro{lbrack}|lbrack| and
-% \DescribeMacro{rbrack}|rbrack|.
-%
-% Note that formula parts that look like brackets usually are not. For instance, we should
-% not define the finite set constructor via
-% \begin{equation}\label{wrongset}
-% |\newcommand\fset[1]{\assoc[lbrack=\{,rbrack=\}]{,}{#1}}|
-% \end{equation}
-% where the curly braces are used as brackets, but as presented in section~\ref{sec:assoc}
-% even though both would format |\fset{a,b,c}| as $\{a,b,c\}$. In the encoding here, an
-% operator with suitably high operator precedence (it is the best practice u)would be able
-% to make the brackets disappear. Thus the correct version of (\ref{wrongset}) is
-% \begin{equation}\label{goodset}
-% |\newcommand\fset[1]{\mixfixa[p=\iprec,pi=0]{\{}{#1}{\}}{,}}|
-% \end{equation}
-% Note that |\prefix| and |\postfix| and their variants declared in
-% section~\ref{sec:prepostfix} have brackets that do not participate (actively) in the
-% precedence-based elision: function application brackets are not subject to elision. But
-% the operator precedence |p| is still taken into account for outer brackets. The argument
-% precedence |pi| has negative infinity as a default to avoid spurious brackets for
-% arguments.
-%
-% There is another use case for the |\mixfixi| macro that is not apparent at first
-% glance. In some cases, we would naively construct presentations without a mixfix
-% declaration, e.g.
-% \begin{equation}\label{wrongfrac}
-% |\newcommand\half[1]{\frac{#1}2}|
-% \end{equation}
-% The the problem here is that the fraction does not participate in the precedence-based
-% bracketing system, and in particular, the numerator will often have too many brackets
-% (the incoming precedence is just passe through the |\half| macro). A better way is to
-% wrap the intended presentation in a (somewhat spurious) |\mixfixi|, which we give the
-% precedence |nobrackets|, which suppresses all (outer and argument) brackets for one
-% level:
-% \begin{equation}\label{wrongfrac}
-% |\newcommand\half[1]{\mixfixi[nobrackets]{}{\frac{#1}2}{}}|
-% \end{equation}
-%
-% \subsection{Flexible Elision}\label{sec:flexible-elision}
-%
-% There are several situations in which it is desirable to display only some parts of the
-% presentation:
-% \begin{itemize}
-% \item We have already seen the case of redundant brackets above
-% \item Arguments that are strictly necessary are omitted to simplify the notation, and the
-% reader is trusted to fill them in from the context.
-% \item Arguments are omitted because they have default values. For example $\log_{10}x$
-% is often written as $\log x$.
-% \item Arguments whose values can be inferred from the other arguments are usually
-% omitted. For example, matrix multiplication formally takes five arguments, namely the
-% dimensions of the multiplied matrices and the matrices themselves, but only the latter
-% two are displayed.
-% \end{itemize}
-%
-% Typically, these elisions are confusing for readers who are getting acquainted with a
-% topic, but become more and more helpful as the reader advances. For experienced readers
-% more is elided to focus on relevant material, for beginners representations are more
-% explicit. In the process of writing a mathematical document for traditional (print)
-% media, an author has to decide on the intended audience and design the level of elision
-% (which need not be constant over the document though). With electronic media we have new
-% possibilities: we can make elisions flexible. The author still chooses the elision level
-% for the initial presentation, but the reader can adapt it to her level of competence and
-% comfort, making details more or less explicit.
-%
-% To provide this functionality, the |presentation| package provides the
-% \DescribeMacro{\elide}|\elide| macro allows to associate a text with an integer
-% {\textbf{visibility level}} and group them into {\textbf{elision groups}}. High levels
-% mean high elidability.
-%
-% Elision can take various forms in print and digital media. In static media like
-% traditional print on paper or the PostScript format, we have to fix the elision level,
-% and can decide at presentation time which elidable tokens will be printed and which will
-% not. In this case, the presentation algorithm will take visibility thresholds $T_g$ for
-% every elidability group $g$ as a user parameter and then elide (i.e. not print) all
-% tokens in visibility group $g$ with level $l>T_g$. We specify this threshold for via the
-% \DescribeMacro{\setegroup}|\setegroup| macro. For instance in the example below, we have
-% a two type annotations |par| for type parameters and |typ| for type annotations
-% themselves.
-%
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% $\mathbf{I}\elide{par}{500}{^\alpha}\elide{typ}{100}{_{\alpha\to\alpha}}
-% :=\lambda{X\elide{typ}{500}{_\alpha}}.X$
-% \end{verbatim}\vspace*{-2em}
-% \caption{Elision with Elision Groups}\label{ex:elision}
-% \end{exfig}
-%
-% The visibility levels in the example encode how redundant the author thinks the elided
-% parts of the formula are: low values show high redundancy. In our example the intuition
-% is that the type parameter on the $\mathbf{I}$ combinator and the type annotation on the
-% bound variable $X$ in the $\lambda$ expression are of the same obviousness to the
-% reader. So in a document that contains |\setegroup{typ}{0}| and |\setegroup{par}{0}|
-% Figure~\ref{ex:elision} will show $\mathbf{I}:=\lambda{X}.X$ eliding all redundant
-% information. If we have both values at 600, then we will see
-% $\mathbf{I}^\alpha:=\lambda{X_\alpha}.X$ and only if the threshold for |typ| rises above
-% 900, then we see the full information:
-% $\mathbf{I}^\alpha_{\alpha\to\alpha}:=\lambda{X_\alpha}.X$.
-%
-% In an output format that is capable of interactively changing its appearance, e.g.
-% dynamic XHTML+MathML (i.e. XHTML with embedded Presentation {\mathml} formulas, which
-% can be manipulated via JavaScript in browsers), an application can export the
-% information about elision groups and levels to the target format, and can then
-% dynamically change the visibility thresholds by user interaction. Here the visibility
-% threshold would also be used, but here it only determines the default rendering; a user
-% can then fine-tune the document dynamically to reveal elided material to support
-% understanding or to elide more to increase conciseness.
-%
-% The price the author has to pay for this enhanced user experience is that she has to
-% specify elided parts of a formula that would have been left out in conventional
-% {\LaTeX}. Some of this can be alleviated by good coding practices. Let us consider the
-% log base case. This is elided in mathematics, since the reader is expected to pick it up
-% from context. Using semantic macros, we can mimic this behavior: defining two semantic
-% macros: |\logC| which picks up the log base from the context via the |\logbase| macro
-% and |\logB| which takes it as a (first) argument.
-%
-% \begin{verbatim}
-% \provideEdefault{logbase}{10}
-% \symdef{logB}[2]{\prefix{\mathrm{log}\elide{base}{100}{_{#1}}}{#2}}
-% \abbrdef{logC}[1]{\logB{\fromEcontext{logbase}}{#1}}
-% \end{verbatim}
-%
-% \DescribeMacro{\provideEdefault} Here we use the |\provideEdefault| macro to initialize
-% a {\LaTeX} token register for the |logbase| default, which we can pick up from the
-% elision context using \DescribeMacro{\fromEcontext}|\fromEcontext| in the definition of
-% |\logC|. Thus |\logC{x}| would render as $\mathrm{log}_{10}(x)$ with a threshold of 50
-% for |base| and as $\mathrm{log}_2$, if the local {\TeX} group e.g. given by the
-% |assertion| environment contains a
-% \DescribeMacro{setEdefault}|\setEdefault{logbase}{2}|.
-%
-% \subsection{Other Layout Primitives}\label{sec:inter:primitives}
-%
-% Not all mathematical layouts are producible with mixfix notations. A prime example are
-% grid layouts which are marked up using the |array| element in {\TeX/\LaTeX}, e.g. for
-% definition by cases as the (somewhat contrived) definition of the absolute value
-% function in the upper part of Figure~\ref{fig:piece}. We will now motivate the need of
-% special layout primitives with this example.
-% \begin{exfig}
-% \begin{module}[id=foo]
-% \symdef{piece}[2]{\parrayline{\parraycell{#1}}{\text{if}\;#2}}
-% \symdef{otherwise}[1]{\parrayline{\parraycell{#1}}{\text{else}}}
-% \symdef{piecewise}[1]{\left\{\parray{rl}{#1}\right.}
-% \qquad\begin{minipage}[c]{5cm}
-% $\vert x\vert\colon=\piecewise{\piece{x}{x>0}\piece{-x}{x<0}\otherwise{0}}$
-% \end{minipage}
-% \qquad
-% \begin{minipage}[c]{7cm}
-% \begin{verbatim}
-% |x|\colon=\left\{
-% \begin{array}{rl}
-% x & x>0\\
-% -x & x<0\\
-% 0 & \text{else}
-% \end{array}
-% \right.
-% \end{verbatim}
-% \end{minipage}
-% \end{module}
-% \hrule
-% \begin{verbatim}
-% \symdef{piece}[2]{\parrayline{\parraycell{#1}}{\text{if}\;#2}}
-% \symdef{otherwise}[1]{\parrayline{\parraycell{#1}}{\text{else}}}
-% \symdef{piecewise}[1]{\left\{\begin{array}{rl}#1\end{array}\right.}
-% $|x|\colon=\piecewise{\piece{x}{x>0}\piece{-x}{x<0}\otherwise{0}}$
-% \end{verbatim}
-% \vspace*{-1.5em}
-% \caption{A piecewise definition of the absolute value function}\label{fig:piece}
-% \end{exfig}
-% But this does not work for content markup via semantic macros~\cite{KohAmb:smmssl:ctan},
-% which wants to group formula parts by function. For definition by cases, we may want to
-% follow the OpenMath |piece1| content dictionary~\cite{CD:piece1:on}, which groups
-% ``piecewise'' definitions into a constructor |piecewise|, whose children are a list of
-% |piece| constructors optionally followed by an |otherwise|. If we want to mimic this by
-% semantic macros in \stex (these are defined via |\symdef|; see~\cite{KohAmb:smmssl:ctan}
-% for details), we would naturally define |\piecewise| by wrapping an |array| environment
-% (see the last line in Figure~\ref{fig:piece}). Then we would naturally be tempted to
-% define |\piece| via |\symdef{piece}[2]{#1&\text{if}\;{#2}\\}| and |\otherwise| via
-% |\symdef{otherwise}[1]{#1&\text{else}}|. But this does not support the generation of
-% separate notation definitions for |\piece| and |\otherwise|: here \latexml has to
-% generate presentational information outside of the |array| context that provides the |&|
-% and |\\| command sequences\footnote{Note that this is not a problem when we only run
-% |latex| if we assume that \texttt{\textbackslash piece} and \texttt{\textbackslash
-% otherwise} are only used in arguments of \texttt{\textbackslash piecewise}.}. Therefore
-% the |presentation| package provides the macros |\parrayline| and |\parraycell| that
-% refactor this functionality.
-%
-% \DescribeMacro{\parrayline}|\parrayline{|\meta{cells}|}{|\meta{cell}|}| is
-% {\LaTeX}-equivalent to \meta{cells}|&|\meta{cell}|\\| and can thus be used to create
-% array lines with one or more array cells: \meta{cell} is the last array cell, and the
-% previous ones are each marked up as
-% \DescribeMacro{\parraycell}|\parraycell{|\meta{cell}|}|, where \meta{cell} is the cell
-% content. In last lines of Figure~\ref{fig:piece} we have used them to create the array
-% lines for |\piece| and |\otherwise|. Note that the array cell specifications in
-% |\parrayline| must coincide with the array specification in the main constructor (here
-% |rl| in |\piecewise|).
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-%
-% \section{The Implementation}\label{sec:implementation}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-% The |presentation| package does not take options (at the moment), but we accept any and
-% ignore them.
-% \begin{macrocode}
-%<*package>
-\DeclareOption*{}
-\ProcessOptions
-% \end{macrocode}
-%
-% We first make sure that the KeyVal package is loaded (in the right
-% version). For {\latexml}, we also initialize the package inclusions.
-% \begin{macrocode}
-\RequirePackage{keyval}[1997/11/10]
-\RequirePackage{amsmath}
-% \end{macrocode}
-% We will first specify the default precedences and brackets, together with the macros
-% that allow to set them.
-% \begin{macrocode}
-\def\pres@default@precedence{0}
-\def\pres@infty{1000000}
-\def\pres@infty@minusone{999999}
-\def\iprec{\pres@infty}
-\def\niprec{-\pres@infty}
-\def\pres@initial@precedence{0}
-\def\pres@current@precedence{\pres@initial@precedence}
-\def\pres@default@lbrack{(}\def\pres@lbrack{\pres@default@lbrack}
-\def\pres@default@rbrack{)}\def\pres@rbrack{\pres@default@rbrack}
-% \end{macrocode}
-%
-% \subsection{The System Commands}\label{sec:impl:syscommands}
-%
-% \begin{macro}{\withprec*}
-% |\withprec| will set the current precedence.\ednote{need to implement this in
-% {\latexml}! it is used in |power| in |smglom/smglom/source/arithmetcis.tex|. We also
-% need to document it above!}
-% \begin{macrocode}
-\newcommand\withpreci[1]{\edef\pres@current@precedence{#1}}
-\newcommand\withprecii[1]{\edef\pres@current@precedence{#1}}
-\newcommand\withpreciii[1]{\edef\pres@current@precedence{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\PrecSet}
-% |\PrecSet| will set the default precedence.\ednote{need to implement this in
-% {\latexml}! Also document it above! On the other hand it is never used.}
-% \begin{macrocode}
-\newcommand\PrecSet[1]{\edef\pres@default@precedence{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\PrecWrite}
-% |\PrecWrite| will write a bracket, if the precedence mandates it, i.e. if |\pres@p| is
-% greater than the current precedence specified by |\pres@current@precedence|
-% \begin{macrocode}
-\def\PrecWrite#1{\ifnum\pres@p>\pres@current@precedence\else{#1}\fi}
-\def\PrepostPrecWrite#1{\ifnum\pres@p@key>\pres@infty@minusone\else{#1}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Prefix \& Postfix Notations}\label{sec:impl:prepostfix}
-%
-% We first define the keys for the keyval arguments for |\prefix| and |\postfix|.
-%
-% \begin{macrocode}
-\def\prepost@clearkeys{\def\pres@p@key{\pres@default@precedence}\def\pres@pi@key{\niprec}
-\def\pres@lbrack{\pres@default@lbrack}\def\pres@rbrack{\pres@default@rbrack}}
-\define@key{prepost}{lbrack}{\def\pres@lbrack{#1}}
-\define@key{prepost}{rbrack}{\def\pres@lbrack{#1}}
-\define@key{prepost}{p}{\def\pres@p@key{#1}}
-\define@key{prepost}{pi}{\def\pres@pi@key{#1}}
-\define@key{prepost}{nobrackets}[yes]{\def\pres@p@key{\pres@infty}%
-\def\pres@pi@key{-\pres@infty}}
-% \end{macrocode}
-%
-% \begin{macro}{\prefix}
-% In prefix we always write the brackets.
-% \begin{macrocode}
-\newcommand\prefix[3][]%key, fn, arg
-{\prepost@clearkeys\setkeys{prepost}{#1}
-{#2}\PrepostPrecWrite\pres@lbrack{\edef\pres@current@precedence{\pres@pi@key}#3}\PrepostPrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\postfix}
-% \begin{macrocode}
-\newcommand\postfix[3][]%key, fn, arg
-{\prepost@clearkeys\setkeys{prepost}{#1}
-\PrepostPrecWrite\pres@lbrack{\edef\pres@current@precedence{\pres@pi@key}#3}\PrepostPrecWrite\pres@rbrack{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Mixfix Operators}\label{sec:impl:mixfix}
-%
-% We need to enable notation definitions of the operators that have
-% argument- and precedence-aware renderings. To this end, we
-% circumvent {\latexml}'s limitations induced by its internal
-% processing stages, by pulling most of the argument rendering
-% functionality to the XSLT which produces the final {\omdoc} result.
-%
-% In the {\latexml} bindings, the internal structure of the mixfix
-% operators is generically preserved, via the |symdef_presentation_pmml| subroutine
-% in the Modules package. Nevertheless, in the current module we add the promised syntactic
-% enhancements to each element of the mixfix family. Also, we use the
-% |argument_precedence| subroutine to store the precedences given by
-% the 'pi', 'pii', etc. keys as a temporary |argprec|
-% attribute of the rendering, to be abolished during the final {\omdoc} generation.
-% This setup is finally utilized by the XSLT stylesheet which combines
-% the operator structure with the preserved precedences to produce the
-% proper form of the argument render elements.
-%
-% \begin{macrocode}
-\def\clearkeys{\let\pres@p@key=\relax
-\let\pres@pi@key=\relax%
-\let\pres@pi@key=\relax%
-\let\pres@pii@key=\relax%
-\let\pres@piii@key=\relax}
-\define@key{mi}{nobrackets}[yes]{\def\pres@p@key{\pres@infty}%
-\def\pres@pi@key{-\pres@infty}}
-\define@key{mi}{lbrack}{\def\pres@lbrack@key{#1}}
-\define@key{mi}{rbrack}{\def\pres@lbrack@key{#1}}
-\define@key{mi}{p}{\def\pres@p@key{#1}}
-\define@key{mi}{pi}{\def\pres@pi@key{#1}}
-\def\prep@keys@mi%
-{\edef\pres@lbrack{\@ifundefined{pres@lbrack@key}\pres@default@lbrack\pres@lbrack@key}
-\edef\pres@rbrack{\@ifundefined{pres@rbrack@key}\pres@default@rbrack\pres@rbrack@key}
-\edef\pres@p{\@ifundefined{pres@p@key}\pres@default@precedence\pres@p@key}
-\edef\pres@pi{\@ifundefined{pres@pi@key}\pres@p\pres@pi@key}}
-% \end{macrocode}
-%
-% \begin{macro}{\mixfixi}
-% \begin{macrocode}
-\newcommand\mixfixi[4][]%key, pre, arg, post
-{\clearkeys\setkeys{mi}{#1}\prep@keys@mi%
-\PrecWrite\pres@lbrack%
-#2{\edef\pres@current@precedence{\pres@pi}#3}#4%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@assoc}
-% We are using functionality from the {\LaTeX} core packages here to iterate over the
-% arguments.
-% \begin{macrocode}
-\def\@assoc#1#2#3{% precedence, function, argv
-\let\@tmpop=\relax% do not print the function the first time round
-\@for\@I:=#3\do{\@tmpop% print the function
-% write the i-th argument with locally updated precedence
-{\edef\pres@current@precedence{#1}\@I}%
-\def\@tmpop{#2}}}%update the function
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixa}
-% \begin{macrocode}
-\newcommand\mixfixa[5][]%key, pre, arg, post, assocop
-{\clearkeys\setkeys{mi}{#1}\prep@keys@mi%
-\PrecWrite\pres@lbrack{#2}{\@assoc\pres@pi{#5}{#3}}{#4}\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixA}
-% A variant of |\mixfixa| that puts the arguments into an array.\ednote{MK: this is very
-% experimental now, if this works, we need to document this above and extend this to the
-% other mixfix declarations. Also we could use a key for the array format argument.}
-% \begin{macrocode}
-\newcommand\mixfixA[5][]%key, pre, arg, post, assocop
-{\clearkeys\setkeys{mi}{#1}\prep@keys@mi%
-\renewcommand\do[1]{\@assoc\pres@pi{#5}{##1}{#5}\tabularnewline}%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\begin{array}{l}\docsvlist{#3}\end{array}}%
-#4\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{mii}{nobrackets}[yes]{\def\pres@p@key{\pres@infty}%
-\def\pres@pi@key{-\pres@infty}\def\pres@pii@key{-\pres@infty}}
-\define@key{mii}{lbrack}{\def\pres@lbrack@key{#1}}
-\define@key{mii}{rbrack}{\def\pres@lbrack@key{#1}}
-\define@key{mii}{p}{\def\pres@p@key{#1}}
-\define@key{mii}{pi}{\def\pres@pi@key{#1}}
-\define@key{mii}{pii}{\def\pres@pii@key{#1}}
-\def\prep@keys@mii{\prep@keys@mi%
-\edef\pres@pii{\@ifundefined{pres@pii@key}\pres@p\pres@pii@key}}
-% \end{macrocode}
-%
-% \begin{macro}{\mixfixii}
-% \begin{macrocode}
-\newcommand\mixfixii[6][]%key, pre, arg1, mid, arg2, post
-{\clearkeys\setkeys{mii}{#1}\prep@keys@mii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\edef\pres@current@precedence{\pres@pi}#3}%
-#4{\edef\pres@current@precedence{\pres@pii}#5}#6%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixia}
-% \begin{macrocode}
-\newcommand\mixfixia[7][]%key, pre, arg1, mid, arg2, post, assocop
-{\clearkeys\setkeys{mii}{#1}\prep@keys@mii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\edef\pres@current@precedence{\pres@pi}#3}%
-#4{\@assoc\pres@pii{#7}{#5}}#6%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixiA}
-% A variant of |\mixfixia| that puts the arguments into an array.\ednote{MK: this is very
-% experimental now, if this works, we need to document this above and extend this to the
-% other mixfix declarations. Also we could use a key for the array format argument.}
-% \begin{macrocode}
-\newcommand\mixfixiA[7][]%key, pre, arg1, mid, arg2, post, assocop
-{\clearkeys\setkeys{mii}{#1}\prep@keys@mii%
-\renewcommand\do[1]{\@assoc\pres@pi{#7}{##1}{#7}\tabularnewline}%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\edef\pres@current@precedence{\pres@pi}#3}%
-#4{\begin{array}{l}\docsvlist{#5}\end{array}}#6%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixai}
-% \begin{macrocode}
-\newcommand\mixfixai[7][]%key, pre, arg1, mid, arg2, post, assocop
-{\clearkeys\setkeys{mii}{#1}\prep@keys@mii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\@assoc\pres@pi{#7}{#3}}%
-#4{\edef\pres@current@precedence{\pres@pii}#5}#6%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-\define@key{miii}{nobrackets}[yes]{\def\pres@p@key{\pres@infty}%
-\def\pres@pi@key{-\pres@infty}
-\def\pres@pii@key{-\pres@infty}
-\def\pres@pii@key{-\pres@infty}}
-\define@key{miii}{lbrack}{\def\pres@lbrack@key{#1}}
-\define@key{miii}{rbrack}{\def\pres@lbrack@key{#1}}
-\define@key{miii}{p}{\def\pres@p@key{#1}}
-\define@key{miii}{pi}{\def\pres@pi@key{#1}}
-\define@key{miii}{pii}{\def\pres@pii@key{#1}}
-\define@key{miii}{piii}{\def\pres@piii@key{#1}}
-\def\prep@keys@miii{\prep@keys@mii%
-\edef\pres@piii{\@ifundefined{pres@piii@key}{\pres@p}{\pres@piii@key}}}
-% \end{macrocode}
-%
-% \begin{macro}{\mixfixiii}
-% \begin{macrocode}
-\newcommand\mixfixiii[8][]%key, pre, arg1, mid1, arg2, mid2, arg3, post
-{\clearkeys\setkeys{miii}{#1}\prep@keys@miii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\edef\pres@current@precedence{\pres@pi}#3}%
-#4{\edef\pres@current@precedence{\pres@pii}#5}%
-#6{\edef\pres@current@precedence{\pres@pii}#7}#8%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixaii}
-% \begin{macrocode}
-\newcommand\mixfixaii[9][]%key, pre, arg1, mid1, arg2, mid2, arg3, post, sep
-{\clearkeys\setkeys{miii}{#1}\prep@keys@miii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\@assoc\pres@pi{#9}{#3}}%
-#4{\edef\pres@current@precedence{\pres@pii}#5}%
-#6{\edef\pres@current@precedence{\pres@pii}#7}#8%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixiai}
-% \begin{macrocode}
-\newcommand\mixfixiai[9][]%key, pre, arg1, mid1, arg2, mid2, arg3, post, assocop
-{\clearkeys\setkeys{miii}{#1}\prep@keys@miii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\edef\pres@current@precedence{\pres@pi}#3}%
-#4{\@assoc\pres@pi{#9}{#5}}%
-#6{\edef\pres@current@precedence{\pres@pii}#7}#8%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mixfixiia}
-% \begin{macrocode}
-\newcommand\mixfixiia[9][]%key, pre, arg1, mid1, arg2, mid2, arg3, post,assocop
-{\clearkeys\setkeys{miii}{#1}\prep@keys@miii%
-\PrecWrite\pres@lbrack% write bracket if necessary
-#2{\edef\pres@current@precedence{\pres@pi}#3}%
-#4{\edef\pres@current@precedence{\pres@pii}#5}%
-#6{\@assoc\pres@pi{#9}{#7}}#8%
-\PrecWrite\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\prefixa}
-% In prefix we always write the brackets.
-% \begin{macrocode}
-\newcommand\prefixa[4][]%keys, fn, arg, sep
-{\prepost@clearkeys\setkeys{prepost}{#1}%
-{#2}\pres@lbrack{\@assoc\pres@pi@key{#4}{#3}}\pres@rbrack}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\postfixa}
-% \begin{macrocode}
-\newcommand\postfixa[4][]%keys, fn, arg, sep
-{\prepost@clearkeys\setkeys{prepost}{#1}%
-\pres@lbrack{\@assoc\pres@pi@key{#4}{#3}}\pres@rbrack{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\infix}
-% |\infix|\ednote{need infixl as well, use counters for precedences here.} is a simple
-% special case of |\mixfixii|.
-% \begin{macrocode}
-\newcommand\infix[4][]{\mixfixii[#1]{}{#3}{#2}{#4}{}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\assoc}
-% \begin{macrocode}
-\newcommand\assoc[3][]{\mixfixa[#1]{}{#3}{}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{General Elision}\label{sec:impl:elision}
-%
-% \ednote{all of these still need to be tested and implemented in LaTeXML.}
-% \begin{macro}{\setegroup}
-% The elision macros are quite simple, a group |foo| is internally represented by a
-% macro |foo@egroup|, which we set by a |\gdef|.
-% \begin{macrocode}
-\def\setegroup#1#2{\expandafter\def\csname #1@egroup\endcsname{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\elide}
-% Then the elision command is picks up on this (flags an error) if the internal macro
-% does not exist and prints the third argument, if the elision value threshold is above
-% the elision group threshold in the paper.\ednote{do we need to turn this around as
-% well?} We test the implementation with Figure~\ref{ex:elision-test}.
-% \begin{macrocode}
-\def\elide#1#2#3{\@ifundefined{#1@egroup}%
-{\def\@elevel{0}
-\PackageError{presentation}{undefined egroup #1, assuming value 0}%
-{When calling \protect\elide{#1}... the elision group #1 has be have\MessageBreak
-been set by \protect\setegroup before, e.g. by \protect\setegroup{an}{0}.}}%
-{\edef\@elevel{\csname #1@egroup\endcsname}}%
-\ifnum\@elevel>#2\else{#3}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{figure}[ht]\centering
-% \begin{tabular}{|l|l|l|l|}\hline
-% {\texttt{par}} & {\texttt{typ}} & result & expected \\\hline\hline
-% 0 & 0 & \setegroup{par}{0}\setegroup{typ}{0}
-% $\mathbf{I}\elide{par}{500}{^\alpha}\elide{typ}{100}{_{\alpha\to\alpha}}
-% :=\lambda{X\elide{typ}{500}{_\alpha}}.X$
-% & $\mathbf{I}:=\lambda{X}.X$\\\hline
-% 600 & 600 & \setegroup{par}{600}\setegroup{typ}{600}
-% $\mathbf{I}\elide{par}{500}{^\alpha}\elide{typ}{100}{_{\alpha\to\alpha}}
-% :=\lambda{X\elide{typ}{500}{_\alpha}}.X$
-% & $\mathbf{I}^\alpha:=\lambda{X_\alpha}.X$\\\hline
-% 600 & 1000 & \setegroup{par}{600}\setegroup{typ}{1000}
-% $\mathbf{I}\elide{par}{500}{^\alpha}\elide{typ}{100}{_{\alpha\to\alpha}}
-% :=\lambda{X\elide{typ}{500}{_\alpha}}.X$
-% & $\mathbf{I}^\alpha_{\alpha\to\alpha}:=\lambda{X_\alpha}.X$\\\hline
-% \end{tabular}
-% \caption{Testing Elision with the example in Figure~\protect\ref{ex:elision}}\label{ex:elision-test}
-% \end{figure}
-%
-% \begin{macro}{\provideEdefault}
-% The |\provideEdefault| macro sets up the context for an elision default by locally
-% defining the internal macro \meta{default}|@edefault| and (if necessary) exporting it
-% from the module.
-% \begin{macrocode}
-\def\provideEdefault#1#2{\expandafter\def\csname#1@edefault\endcsname{#2}
-\@ifundefined{this@module}{}%
-{\expandafter\g@addto@macro\this@module{\expandafter\def\csname#1@edefault\endcsname{#2}}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\setEdefault}
-% The |\setEdefault| macro just redefines the internal \meta{default}|@edefault| in the
-% local group
-% \begin{macrocode}
-\def\setEdefault#1#2{\expandafter\def\csname #1@edfault\endcsname{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\fromEcontext}
-% The |\fromEcontext| macro just calls internal \meta{default}|@edefault| macro.
-% \begin{macrocode}
-\def\fromEcontext#1{\csname #1@edefault\endcsname}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Other Layout Primitives}\label{sec:impl:primitives}
-%
-% The |\parray|, |\parrayline| and |\parraycell| macros are simple refactorings of the
-% |array| functionality on the {\LaTeX} side.
-%
-% \begin{macro}{\parray}
-% \begin{macrocode}
-\newcommand\parray[2]{\begin{array}{#1}#2\end{array}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\parrayline}
-% \begin{macrocode}
-\newcommand\parrayline[2]{#1#2\\}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\prmatrix}
-% \begin{macrocode}
-\newcommand\prmatrix[1]{\begin{matrix}#1\end{matrix}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pmrow}
-% \ednote{this does not work together with the robustification (using |newrobustcmd|)
-% in |symdef|}
-% \begin{macrocode}
-\def\pmrow#1{\expandafter\@gobble\x@mrow#1\endx@mrow,}
-\def\x@mrow#1,{&#1\x@mrow}
-\def\endx@mrow#1{\\}
-\def\pmrowh#1{\expandafter\@gobble\x@mrowh#1\endx@mrowh,}
-\def\x@mrowh#1,{&#1\x@mrowh}
-\def\endx@mrowh#1{\\\hline}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Deprecated Functionality}
-%
-% These macros may go away at any time.
-%
-% \begin{macro}{\parraylineh}
-% \begin{macrocode}
-\newcommand\parraylineh[2]{#1#2\\\hline}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\parraycell}
-% \begin{macrocode}
-\newcommand\parraycell[1]{#1&}
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-\endinput
-%
-% LocalWords: dtx CPERL RequirePackage keyval lbrack rbrack DefKeyVal omdoc cd
-% LocalWords: Semiverbatim DefConstructor OptionalKeyVals pmml ltx XMath mii
-% LocalWords: pii miii piii KeyVal egroup namedef attr precs foreach ToString
-% LocalWords: DefMacro stex srcref argprec mrow getSymmdefProperties funapp
-% LocalWords: args arg LaTeX cvar iffalse scsys sc sc mathml openmath latexml
-% LocalWords: cmathml activemath twintoo atwin atwintoo texttt fileversion foo
-% LocalWords: Deyan Ginev maketitle setcounter tocdepth tableofcontents symdef
-% LocalWords: newpage ldots bigl bigr langle ary cdots subseteq mixfixi exfig
-% LocalWords: mixfixii mixfixiii vspace hline sseteq ite tt tt tt tt uminus rb
-% LocalWords: texorpdfstring assoc ednote nunion mixfixa mixfixa postfixa leq
-% LocalWords: postfixa mixfixia mixfixia mixfixai mixfixai fntype rightarrow
-% LocalWords: mixfixaii mixfixiai mixfixiia typej vdash cupcap ninters ninters
-% LocalWords: capcup geq prec fset textbf textbf setegroup setegroup mathbf fn
-% LocalWords: provideEdefault provideEdefault fromEcontext fromEcontext mathrm
-% LocalWords: setEdefault setEdefault widetilde cdot vname vname vnref vnname
-% LocalWords: ulivar ulivar primvar primvar pprimvar pprimvar textsf textsf rl
-% LocalWords: printbibliography ltxml infty ifnum clearkeys nobrackets whatsit
-% LocalWords: ifundefined keyvals kvhash newcommand setkeys crossrefOp argv
-% LocalWords: tmpop i-th assocop textbackslash infixl gdef expandafter csname
-% LocalWords: endcsname edefault edfault ifx prepostfix circ circ circ circ
-% LocalWords: iprec iprec niprec niprec wrongset goodset prepost prepkeys
-% LocalWords: arrayline arraycell qquad hrule cmath compactenum omtext smmtf
-% LocalWords: wrongfrac elidability elidable renewcommand tabularnewline
-% LocalWords: docsvlist refactorings
-
-% \endinput
-% Local Variables:
-% mode: doctex
-% TeX-master: t
-% End:
diff --git a/macros/latex/contrib/stex/sty/presentation/presentation.ins b/macros/latex/contrib/stex/sty/presentation/presentation.ins
deleted file mode 100644
index 78e2be6c41..0000000000
--- a/macros/latex/contrib/stex/sty/presentation/presentation.ins
+++ /dev/null
@@ -1,30 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex presentation.ins
-%%
-%% Copyright(c) 2005 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{presentation.sty}{\from{presentation.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/presentation/presentation.pdf b/macros/latex/contrib/stex/sty/presentation/presentation.pdf
deleted file mode 100644
index e74eefda89..0000000000
--- a/macros/latex/contrib/stex/sty/presentation/presentation.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/problem/README b/macros/latex/contrib/stex/sty/problem/README
deleted file mode 100644
index 15cf1883fb..0000000000
--- a/macros/latex/contrib/stex/sty/problem/README
+++ /dev/null
@@ -1,9 +0,0 @@
-problem.sty: An Infrastructure for marking up Problems
-
-The problem package supplies an infrastructure that allows mark up problems and to reuse
-them efficiently in multiple environments.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/problem/problem.ins b/macros/latex/contrib/stex/sty/problem/problem.ins
deleted file mode 100644
index 5254c98da6..0000000000
--- a/macros/latex/contrib/stex/sty/problem/problem.ins
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% This file generates files required to use the problem package.
-%% At your command prompt write
-%%
-%% latex problem.ins
-%%
-%% Copyright(c) 2007 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex-content/sty/problem/problem.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{problem.sty}{\from{problem.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file problem.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/problem/problem.pdf b/macros/latex/contrib/stex/sty/problem/problem.pdf
deleted file mode 100644
index 0a01800f16..0000000000
--- a/macros/latex/contrib/stex/sty/problem/problem.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/rfdmeta/README b/macros/latex/contrib/stex/sty/rfdmeta/README
deleted file mode 100644
index 3f3b9edf4d..0000000000
--- a/macros/latex/contrib/stex/sty/rfdmeta/README
+++ /dev/null
@@ -1,9 +0,0 @@
-rdfmeta.sty: An Infrastructure for RDFa metadata in arbitrary {\LaTeX} documents
-
-The rdfmeta packge allows mark up Ontology-based Metadata in LaTeX documents that can be
-harvested by automated tools or exported to PDF.
-
-Copyright (c) 2010 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/rfdmeta/certification.pdf b/macros/latex/contrib/stex/sty/rfdmeta/certification.pdf
deleted file mode 100644
index 429ce535e4..0000000000
--- a/macros/latex/contrib/stex/sty/rfdmeta/certification.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/rfdmeta/certification.tex b/macros/latex/contrib/stex/sty/rfdmeta/certification.tex
deleted file mode 100644
index 85fa8b7f38..0000000000
--- a/macros/latex/contrib/stex/sty/rfdmeta/certification.tex
+++ /dev/null
@@ -1,30 +0,0 @@
-\documentclass{omdoc}
-\usepackage{stex,rdfmeta,amstext}
-\begin{document}
-\begin{module}[id=certification]
-% \metalanguage[../owl2onto/owl2]{OWL2}
- \keydef{omtext}{hasState}
- \keydef{omgroup}{hasState}
- \symdef{hasState}{\text{hasState}}
- \symdef{statedocrd}[1]{rd. #1}
- \symdef{tuev}{\text{T\"UV}}
- \begin{omgroup}[id=foo,hasState=test]{Definitions}
- \begin{definition}[for=hasState]
- A document \defii{has}{state} $x$, iff the project manager decrees it so.
- \end{definition}
- \begin{definition}[for=statedocrd,hasState=$\statedocrd\tuev$]
- A document has state \defi[name=statedocrd]{rd. $x$}, iff it has been submitted to $x$ for
- certification.
- \end{definition}
- \begin{definition}[for=tuev,hasState=$\statedocrd\tuev$]
- The $\tuev$ (Technischer \"Uberwachungs Verein) is a national
- certification agency in Germany.
- \end{definition}
-\end{omgroup}
-\end{module}
-\end{document}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
diff --git a/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.dtx b/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.dtx
deleted file mode 100644
index c2425516fe..0000000000
--- a/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.dtx
+++ /dev/null
@@ -1,459 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for extending macros by general metadata keys
-% Copyright (c) 2007 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{rdfmeta}[2019/03/20 v0.2 Metadata key upgrades]
-%</package>
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage[sectioning]{rdfmeta}
-\usepackage{url,array,float,stex-logo}
-\usepackage[show]{ed}
-\usepackage{listings}
-\lstset{basicstyle=\small\tt,columns=flexible}
-\lstset{frame=none,numbers=none,lineskip=-.7ex,aboveskip=-.5ex,belowskip=-.5ex}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\def\omdoc{OMDoc\xspace}
-\def\omdocv#1{OMDoc{#1}\xspace}
-\begin{document}
-\RecordChanges
-\DocInput{rdfmeta.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{175}
-%
-% \changes{v0.1}{2010/03/05}{new}
-% \changes{v0.2}{2010/09/01}{starred forms work now, more documentation}
-%
-% \GetFileInfo{rdfmeta.sty}
-%
-% \MakeShortVerb{\|}
-% \def\latexml{{\LaTeX}ML}
-%
-% \title{RDFa Metadata in {\LaTeX}\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase \\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-% \begin{abstract}
-% The |rdfmeta| package allows mark up Ontology-based Metadata in {\LaTeX} documents
-% that can be harvested by automated tools or exported to PDF.
-% \end{abstract}
-%\tableofcontents
-%\begin{center}\bf\Huge
-% Experimental!\\
-% do not use!
-%\end{center}\newpage
-%
-% \section[id=intro]{Introduction}
-%
-% The |rdfmeta| package allows mark up extensible metadata in \stex documents, so that
-% that it can be harvested by automated tools or exported to PDF. It is also intended to
-% support the new metadata infrastructure for the {\omdoc} format~\cite{Kohlhase:OMDoc1.2}
-% introduced in {\omdocv{1.3}}~\cite{Kohlhase:OMDoc1.3} (see~\cite{LK:MathOntoAuthDoc09}
-% for the relevant ideas and and~\cite{KohKohLan:ssffld10:biblatex} for an application).
-%
-% Metadata are annotated as key value pairs in the semantic environments provided by
-% \stex. In most markup formats, the metadata vocabularies are fixed by the language
-% designer. In \stex, the |rdfmeta| package allows the user to extend the metadata
-% vocabulary.
-%
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \importmodule[../ontologies/cert]{certification}
-% ...
-% \section[id=userreq,hasState=$\statedocrd{\tuev}$]{User Requirements}
-% ...
-% \end{verbatim}
-% \vspace*{-1.5em}\hrule
-% \lstinputlisting[language=XMl,morekeywords={imports,metadata,resource,link,omgroup},aboveskip=.5ex]{hasstate.omdoc}
-% \caption{Metadata for Certification}\label{fig:hasState}
-% \end{exfig}
-%
-% Take, for instance, the case where we want to use metadata for the certification status
-% of document fragments. In Figure~\ref{fig:hasState} we use the |hasState| key to say
-% that a section has been approved by the T\"UV, a specific certification agency. There
-% are two concerns here. First, the |hasState| key has to be introduced and given a
-% meaning, and same for the (complex) value |\statedocrd{\tuev}|. This meaning is given in
-% the |certifiation| ontology which we imported via the |\importmodule| command. The
-% ontology can be marked up in \stex (see Figure~\ref{fig:certification}), with the
-% exception that we use the |\keydef| macro for the definition of the |hasState| relation
-% so that it also defines the key. For the details of this see the next section.
-%
-% \section[id=user]{User Interface}
-%
-% We now document the specifics of the environments and macros provided by the |rdfmeta|
-% package from a user perspective.
-%
-% \subsection[id=sec:user:options]{Package Options}
-%
-% The |rdfmeta| package takes the option: \DescribeMacro{showmeta}|showmeta|. If this is
-% set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for details and
-% customization options).
-%
-% The remaining options can be used to specify metadata upgrades of standard keys. The
-% \DescribeMacro{sectioning}|sectioning| option upgrades the |\part|, |\chapter|,
-% |\section|, |\subsection|, |\subsubsection|, |\paragraph| macros (and of course their
-% starred variants).
-%
-% \subsection[id=sec:user:keydef]{Extending Macros and Environments by Metadata Keys}
-%
-% The main user-visible feature of the |rdfmeta| package is the
-% \DescribeMacro{\keydef}|keydef| macro. It takes two arguments, a ``key group
-% identifier'' and a key name. In a nutshell, every \stex command that takes metadata keys
-% comes with a ``key group identifier'' that identifies the set of admissible keys;
-% see~\cite{Kohlhase:metakeys:ctan} for details on this concept. Figure~\ref{fig:keygroups}
-% gives an overview over the key groups and their identifiers in \stex.
-% \begin{figure}
-% \begin{tabular}{|>{\tt}l|>{\tt}p{5.5cm}|>{\tt}p{2.4cm}|}\hline
-% \rmfamily\textbf{Key Group Identifier} & \rmfamily\textbf{Macros} & \rmfamily\textbf{Package/Class} \\\hline\hline
-% dcm@person & DCMPerson & dcm.sty\\\hline
-% dcm@institution & DCMInstitution & dcm.sty\\\hline
-% dcm@sect & section & dcm.sty\\\hline
-% assig & assignment & hwexam.cls\\\hline
-% inclassig & includeassignment & hwexam.cls\\\hline
-% quizheading & quizheading & hwexam.cls\\\hline
-% testheading & quizheading & hwexam.cls\\\hline
-% module & module & modules.sty\\\hline
-% termdef & termdef & modules.sty \\\hline
-% view & view & modules.sty\\\hline
-% omgroup & omgroup & omdoc.sty\\\hline
-% ignore & ignore & omdoc.sty\\\hline
-% omtext & omtext, definition, axiom, assertion, example, inlinedef & omtext.sty, statements.sty\\\hline
-% phrase & phrase & omtext.sty\\\hline
-% problem & problem & problem.sty\\\hline
-% inclprob & includeproblem & problem.sty\\\hline
-% req & requirement & reqdoc.sty\\\hline
-% spf & sproof, spfcases, spfcase, spfstep, spfcomment & sproof.sty\\\hline
-% termref & termref & statements.sty \\\hline
-% symboldec & symboldec & statements.sty\\\hline
-% \end{tabular}
-% \caption{Key Group Identifiers in \protect\stex}\label{fig:keygroups}
-% \end{figure}
-%
-% Semantically, |\keydef{|\meta{keygroup}|}{|\meta{key}|}| defines a symbol just like the
-% |\symdef| macro from the |modules| package~\cite{KohAmb:smmssl:ctan}. But it also
-% extends the syntax of \stex itself: it adds a key \meta{key} to \meta{keygroup}, which
-% allows to state the corresponding metadata as a key/value pair in the \stex macro or
-% environment. Following the ideas from~\cite{LK:MathOntoAuthDoc09}, the metadata is
-% transformed to RDFa metadata~\cite{w3c:WD-rdfa-core-20100803} in {\omdoc}, where the
-% identifiers of relations are exactly the symbols introduced by the corresponding
-% |\keydef|.
-%
-% \begin{exfig}[ht]
-% \lstinputlisting[language=TeX,morekeywords={metalanguage}]{certification}
-% \caption{A simple Ontology on Certification}\label{fig:certification}
-% \end{exfig}
-%
-% In our example in Figure~\ref{fig:certification} we have defined a key |hasstate| in the
-% |omtext| key group\footnote{For the \texttt{\textbackslash omtext} environment and key group
-% see~\cite{Kohlhase:smmtf:ctan}} and a symbol |hasstate| via
-% |\addkey{omtext}{hasstate}|. Furthermore, we have defined the meaning of the relation
-% expressed by the |hasstate| symbol informally and specified some possible objects for
-% the relation (that could of course have been done in other modules as well). We have
-% made use of this metadata ontology and the new key |hasState| in the example in
-% Figure~\ref{fig:hasState}.
-%
-% \subsection{Redefinitions of Common {\LaTeX} Macros and Environments}
-%
-% The |rdfmeta| package redefines common {\LaTeX} commands (e.\,g.\ the sectioning macros)
-% so that they include optional KeyVal arguments that can be extended by |\keydef|
-% commands. With this extension, we can add RDFa metadata to any existing {\LaTeX}
-% document and generate linked data (XHTML+RDFa documents) via the {\latexml}
-% translator.
-%
-% \subsection[id=redefining]{Extending Packages with \texttt{rdfmeta}}
-%
-% The |rdfameta| package also exposes its internal infrastructure for extending the
-% redefinitions. Note that the upgrade macros can only be used in {\LaTeX} packages, as
-% the macro names contain |@|. Consequently, this section is only addressed at package
-% developers who want to extend existing (i.e. not written by them) packages with flexible
-% metadata functionality.
-%
-% \DescribeMacro{\rdfmeta@upgrade}|\rdfmeta@upgrade| is the basic upgrade macro. It takes
-% an optional keyval argument an a command sequence \meta{cseq} as a proper argument and
-% (if that is defined), redefines |\|\meta{cseq} to take a keyval argument. There is a
-% variant \DescribeMacro{\rdfmeta@upgrade*}|\rdfmeta@upgrade*| that has to be used to
-% upgrade macros that have a starred form (e.g. |\section| and friends). Note that
-% |\rdfmeta@upgrade*| upgrades both forms (e.g. |\section| and |\section*|).
-%
-% |\rdfmeta@upgrade| uses four keys to specify the behavior in the case the the macro to
-% be upgraded already has an optional argument. For concreteness, we introduce them using
-% the |\section| macro from standard {\LaTeX} as an example. |\section| has an optional
-% argument for the ``short title'', which will appear in the table of contents. The
-% \DescribeMacro{optarg}|optarg| key can be used to specify a key for the existing
-% optional argument. Thus, after upgrading it via
-% |\rdfmeta@upgrade*[optarg=short]{section}|, we can use the updated form
-% |\section[short=|\meta{toctitle}|]{|\meta{title}|}| instead of the old
-% |\section[|\meta{toctitle}|]{|\meta{title}|}|. Actually, this still has a problem: the
-% |\section*| would also be given the |short| key and would be passed an optional argument
-% (which it does not accept). To remedy this we can set the
-% \DescribeMacro{optargstar}|optargstar| key to |no|. In summary, the correct upgrade
-% command for |\section| and |\section*| would be
-% \begin{verbatim}
-% \rdfmeta@upgrade*[optarg=short,optargstar=no]{section}
-% \end{verbatim}
-% The |\rdfmeta@upgrade*| macro also initializes a metadata key-group (a named set of
-% keys and their handlers; see~\cite{Kohlhase:metakeys:svn} for details) for the section
-% macro with an |id| key for identification (see~\cite{Kohlhase:sref*} for
-% details). Often, the name of the key-group is the same as the command sequence, so we
-% take this as the default, if we want to specify a different metadata key-group name, we
-% can do so with the \DescribeMacro{keygroup}|keygroup| key in |\rdfmeta@upgrade*|.
-%
-% If \DescribeMacro{idlabel}|idlabel| is set to \meta{prefix}, then the {\LaTeX} label is
-% set to the value \meta{prefix}|.|\meta{id}, where \meta{id} is the value given in the
-% RDFa |id| key. This allows to use the normal {\LaTeX} referencing mechanism in addition
-% to the semantic referencing mechanism provided by the |sref|
-% package~\ctancite{Kohlhase:sref}.
-%
-% \subsection[id=limitations]{Limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-%
-% \begin{enumerate}
-% \item Currently the coverage of the redefinitions of standard commands in the
-% \url{rdfmeta} package is minimal; we will extend this in the future.
-% \item The |\rdfmeta@upgrade| macro only works with single arguments, this should be easy
-% to fix with |\case| for the argument string.
-% \item I am not sure |\rdfmeta@upgrade| works with environments.
-% \item it would be convenient, if we had a macro |\keydefs|, which takes a list of
-% keygroups, so that we can define keys in multiple groups in one go,
-% e.g. |\keydefs{omtext,omgroup}{hasState}| in Figure~\ref{fig:certification}. But the
-% obvious ``solution''
-% \begin{verbatim}
-% \newcommand\keydefs[2]{\@for\@I:=#1\do{\keydef{#1}{#2}}}
-% \end{verbatim}
-% does not work for me.
-% \end{enumerate}
-%
-% \StopEventually{\printbibliography}
-%
-% \section[id=impl]{The Implementation}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false).\ednote{need an implementation for {\latexml}}
-%
-% \begin{macrocode}
-%<*package>
-\newif\if@rdfmeta@sectioning\@rdfmeta@sectioningfalse
-\DeclareOption{sectioning}{\@rdfmeta@sectioningtrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}
- \PassOptionsToPackage{\CurrentOption}{modules}}
-\ProcessOptions
-% \end{macrocode}
-%
-% The first measure is to ensure that the right packages are loaded. From the from {\stex}
-% collection, we need the |sref| package (see~\ctancite{Kohlhase:sref}) for handling keys,
-% the |modules| package for exporting the |\keydef| (see~\ctancite{KohAmb:smmssl}).
-%
-% \begin{macrocode}
-\RequirePackage{sref}
-\RequirePackage{modules}
-% \end{macrocode}
-%
-% and we define a macro \DescribeMacro{\rdfmeta@loaded}|rdfmeta@loaded| just for the
-% purpose of determining whether the |rdfmeta| package is loaded.
-%
-% \begin{macro}{\rdfmeta@loaded}
-% \begin{macrocode}
-\newcommand\rdfmeta@loaded{yes}
-% \end{macrocode}
-% \end{macro}
-%
-% And another macro \DescribeMacro{\rdfmeta@sectioning}|rdfmeta@sectioning| to determine
-% wether the sectioning macros have been redefined.
-%
-% \begin{macro}{\rdfmeta@loaded}
-% \begin{macrocode}
-\if@rdfmeta@sectioning\newcommand\rdfmeta@sectioning{yes}\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection[id=impl:keydef]{Key Definitions}
-%
-% \begin{macro}{\keydef}
-% The |\keydef| macro is rather simple, we just add a key to the respective environment
-% and extend the export token register for the current module by an |\addmetakey|
-% instruction.
-% \begin{macrocode}
-\newcommand\keydef[2]{\addmetakey{#1}{#2}%
-\expandafter\g@addto@macro\this@module{\addmetakey{#1}{#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\listkeydef}
-% The |\listkeydef| macro is analogous, but uses |\addmetalistkey| instead.
-% instruction.
-% \begin{macrocode}
-\newcommand\listkeydef[2]{\addmetalistkey{#1}{#2}%
-\expandafter\g@addto@macro\this@module{\addmetalistkey{#1}{#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection[id=impl:upgrade]{RDFa upgrade Facilities}
-%
-% We first define the keys for the |\rdfmeta@upgrade| macro.
-% \begin{macrocode}
-\def\@yes@{yes}
-\addmetakey*{upgrade}{idlabel}
-\addmetakey*{upgrade}{optarg}
-\addmetakey*[yes]{upgrade}{optargstar}
-\addmetakey*{upgrade}{keygroup}
-% \end{macrocode}
-%
-% \begin{macro}{\rdfmeta@upgrade}
-% This upgrade macro gives extended functionality according to the optional keys. The
-% top-level invocation just differentiates on whether a star is following:
-% \begin{macrocode}
-\def\rdfmeta@upgrade{\@ifstar\rdfmeta@upgrade@star\rdfmeta@upgrade@nostar}
-% \end{macrocode}
-% Both cases are almost the same, they only differ in the third line where they call
-% |\rdfmeta@upgrade@base| or |\rdfmeta@upgrade@base@star| defined above. In particular,
-% both take the arguments originally intended for |\rdfmeta@upgrade|.
-% \begin{macrocode}
-\newcommand\rdfmeta@upgrade@nostar[2][]{\metasetkeys{upgrade}{#1}%
-\ifx\upgrade@keygroup\@empty\def\@@group{#2}\else\def\@@group{\upgrade@keygroup}\fi
-\rdfmeta@upgrade@base{#2}{\@nameuse{\@@group @\upgrade@optarg}}}
-% \end{macrocode}
-% They set the metakeys from the second argument, then set |\@@group| to be the intended
-% group (if the |keygroup| key was specified, it takes precedence over the default
-% |#2|).
-% \begin{macrocode}
-\newcommand\rdfmeta@upgrade@star[2][]{\metasetkeys{upgrade}{#1}%
-\ifx\upgrade@keygroup\@empty\def\@@group{#2}\else\def\@@group{\upgrade@keygroup}\fi
-\rdfmeta@upgrade@base@star{#2}{\@nameuse{\@@group @\upgrade@optarg}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\rdfmeta@upgrade@base}
-% This auxiliary macro and is invoked as
-% |\rdfmeta@upgrade@base{|\meta{cseq}|}{|\meta{optarg}|}|, where \meta{cseq} is a
-% command sequence name. It checks if |\|\meta{cseq} is defined (if not it does
-% nothing), saves the old behavior of |\|\meta{cseq} as |\rdfmeta@|\meta{cseq}|@old|,
-% and then redefines |\|\meta{cseq} to take a keyval argument and passes \meta{optarg}
-% as the optional argument.
-% \begin{macrocode}
-\newcommand\rdfmeta@upgrade@base[2]{\@ifundefined{#1}{}%
-{\message{redefining macro #1,}
-\ifx\upgrade@idlabel\@empty\srefaddidkey{#1}\else\srefaddidkey[prefix=\upgrade@idlabel]{#1}\fi%
-\expandafter\let\csname rdfmeta@#1@old\expandafter\endcsname\csname #1\endcsname%
-\expandafter\renewcommand\csname #1\endcsname[2][]%
-{\metasetkeys{#1}{##1}\@nameuse{rdfmeta@#1@old}[#2]{##2}}
-\addmetakey*\@@group{\upgrade@optarg}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\rdfmeta@upgrade@base@star}
-% This is a variant of |\rdfmeta@upgrade@base|, which also takes care of the starred
-% variants of a macro.
-% \begin{macrocode}
-\newcommand\rdfmeta@upgrade@base@star[2]{\@ifundefined{#1}{}%
-{\message{redefining macros #1 and #1*,}
-\ifx\upgrade@idlabel\@empty\srefaddidkey{#1}\else\srefaddidkey[prefix=\upgrade@idlabel]{#1}\fi%
-\expandafter\let\csname rdfmeta@#1@old\expandafter\endcsname\csname #1\endcsname%
-% \end{macrocode}
-% In this case, we cannot just use |\newcommand| for dealing with the optional argument
-% because the star is between the command sequence and the arguments. So we make a case
-% distinction on the presence of the star.
-% |\rdfmeta@|\meta{cseq}|@old|.
-% \begin{macrocode}
-\expandafter\renewcommand\csname #1\endcsname%
-{\@ifstar{\@nameuse{rdfmeta@#1@star}}{\@nameuse{rdfmeta@#1@nostar}}}%
-% \end{macrocode}
-% the macros |\rdfmeta@|\meta{cseq}|@star| and |\rdfmeta@|\meta{cseq}|@nostar| that are
-% defined in terms of |\rdfmeta@|\meta{cseq}|@old| handle the necessary cases. The second
-% one is simple:
-% \begin{macrocode}
-\expandafter\newcommand\csname rdfmeta@#1@nostar\endcsname[2][]%
-{\metasetkeys{#1}{##1}\edef\@test{#2}%
-\ifx\@test\@empty\@nameuse{rdfmeta@#1@old}{##2}%
-\else\@nameuse{rdfmeta@#1@old}[#2]{##2}\fi}%
-% \end{macrocode}
-% For |\rdfmeta@|\meta{cseq}|@star| we have to take care of the optional argument of the
-% old macro: if the |optargstar| key was set, then we pass the second argument of
-% |\rdfmeta@upgrade@base| as an optional argument to it as above.
-% \begin{macrocode}
-\ifx\upgrade@optargstar\@yes@%
-\expandafter\newcommand\csname rdfmeta@#1@star\endcsname[2][]%
-{\metasetkeys{#1}{##1}\@nameuse{rdfmeta@#1@old}*[#2]{##2}}%
-\else%
-\expandafter\newcommand\csname rdfmeta@#1@star\endcsname[2][]%
-{\metasetkeys{#1}{##1}\@nameuse{rdfmeta@#1@old}*{##2}}%
-\fi%
-\addmetakey*\@@group{\upgrade@optarg}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection[id=impl:redef]{Redefinitions}
-%
-% If the |sectioning| macro is set, we redefine the respective commands
-%
-% \begin{macrocode}
-\if@rdfmeta@sectioning
-\message{redefining sectioning commands!}
-\rdfmeta@upgrade*[optarg=short,optargstar=no]{part}
-\rdfmeta@upgrade*[optarg=short,optargstar=no]{chapter}
-\rdfmeta@upgrade*[optarg=short,optargstar=no]{section}
-\rdfmeta@upgrade*[optarg=short,optargstar=no]{subsection}
-\rdfmeta@upgrade*[optarg=short,optargstar=no]{subsubsection}
-\rdfmeta@upgrade*[optarg=short,optargstar=no]{paragraph}
-\fi
-%</package>
-% \end{macrocode}
-% \Finale
-\endinput
-% \iffalse
-% LocalWords: GPL structuresharing STR LaTeX dcm dtx keyval sref CPERL url qw
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: RequirePackage birthdate personaltitle academictitle workaddress
-% LocalWords: privaddress worktel privtel workfax privfax worktelfax noDelim
-% LocalWords: privtelfax getKeyValue valuelist ToString getValue affill STDERR
-% LocalWords: ExportMetadata AssignValue DCMperson DefConstructor afterDigest
-% LocalWords: getArg setValue FishOutMetadata keyvals foreach idlist tabline
-% LocalWords: LookupValue insertElement atabline bitabline shorttitle nc args
-% LocalWords: sharealike noderivativeworks DefMacro authorblock subsubsection
-% LocalWords: contribs OptionalKeyVals omgroup omdoc srcref xml RawTeX
-% LocalWords: openElement iffalse kohlhase Thu rdfmeta latexml fileversion omd
-% LocalWords: maketitle setcounter tocdepth tableofcontents newpage section
-% LocalWords: stex exfig vspace hrule lstinputlisting morekeywords aboveskip
-% LocalWords: hasstate.omdoc statedocrd tuev certifiation keydef ednote texttt
-% LocalWords: keysets rdfameta cseq idlabel ctancite ifundefined impl ltxml
-% LocalWords: printbibliography newcommand srefaddidkey expandafter csname ifx
-% LocalWords: expandafter endcsname csname endcsname renewcommand showmeta
-% LocalWords: symdef redef doctex showmeta metakeys keyset textbackslash cert
-% LocalWords: MathOntoAuthDoc09 WD-rdfa-core-20100803 hasstate omtext omtext
-% LocalWords: addkey optarg optarg toctitle optargstar optargstar keygroup
-% LocalWords: oldpart textsf langle textsf langle newif sectioningfalse ifstar
-% LocalWords: sectioningtrue metasetkeys nameuse addmetakey nostar
diff --git a/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.ins b/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.ins
deleted file mode 100644
index d8ee3d6bad..0000000000
--- a/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.ins
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex rdfmeta.ins
-%%
-%% Copyright(c) 2008 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex/trunk/sty/rdfmeta/rdfmeta.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{rdfmeta.sty}{\from{rdfmeta.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file rdfmeta.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.pdf b/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.pdf
deleted file mode 100644
index 7f5c0907f6..0000000000
--- a/macros/latex/contrib/stex/sty/rfdmeta/rdfmeta.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/smglom/README b/macros/latex/contrib/stex/sty/smglom/README
deleted file mode 100644
index ff6a71db6b..0000000000
--- a/macros/latex/contrib/stex/sty/smglom/README
+++ /dev/null
@@ -1,11 +0,0 @@
-omdoc.cls: A LaTeX Class for OMDoc Documents
-omdoc.sty: A LaTeX Package for OMDoc Document structures
-
-This package and class supplies a the infrastructure for writing OMDoc documents
-(see http://www.omdoc.org) in LaTeX.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/smglom/smglom.dtx b/macros/latex/contrib/stex/sty/smglom/smglom.dtx
deleted file mode 100644
index 4063a66d03..0000000000
--- a/macros/latex/contrib/stex/sty/smglom/smglom.dtx
+++ /dev/null
@@ -1,398 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Class and Package for the SMGloM Glossary
-% Copyright (c) 2009 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package|cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<cls>\ProvidesClass{smglom}[2019/03/20 v0.1 Semantic Multilingual Glossary for Math]
-%<sty>\ProvidesPackage{smglom}[2019/03/20 v0.1 Semantic Multilingual Glossary for Math]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,omdoc,omtext,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{hstp://trac.kwarc.info/sTeX/ticket/#1}{issue #1}}
-\begin{document}
-\DocInput{smglom.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{152}
-%
-% \changes{v0.1}{2013/12/17}{First Version}
-% \changes{v0.1}{2014/2/17}{Renamed ad split into \texttt{smglom.sty} and \texttt{smglom.cls}}
-%
-%
-% \MakeShortVerb{\|}
-%
-% \def\omdoc{OMDoc\xspace}
-% \def\smglom{SMGloM\xspace}
-% \def\latexml{{\LaTeX}ML\xspace}
-% \title{{\texttt{smglom.cls/sty}}: Semantic Multilingual Glossary for Math}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% The |smglom| package is part of the {\sTeX} collection, a version of {\TeX/\LaTeX}
-% that allows to markup {\TeX/\LaTeX} documents semantically without leaving the
-% document format, essentially turning {\TeX/\LaTeX} into a document format for
-% mathematical knowledge management (MKM).
-%
-% This package supplies an infrastructure for writing {\omdoc} glossary entries.
-% \end{abstract}
-%
-%\tableofcontents\newpage
-%
-%\begin{omgroup}[id=sec:STR]{Introduction}
-%
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user]{The User Interface}\
-%
-%
-% \begin{omgroup}[id=sec:user:options]{Package and Class Options}
-% |smglom.cls| accepts all options of the |omdoc.cls| and |article.cls| and just passes
-% them on to these.
-% \end{omgroup}
-%
-% \begin{omgroup}[id=user:modules]{Convenience Macros for \protect\smglom Modules}
-% \ednote{document them}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=user:relations]{Terminological Relations}
-% \ednote{document them}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=user:alignments]{Namespaces and Alignments}
-% \ednote{MK: maybe this should go into some other module; it seems awfully
-% foundational.} In \smglom, we often want to align the content of glossary modules to
-% formalizations, e.g. to take advantage of type declarations there. The
-% \DescribeMacro{\symalign}|\symalign| macro takes two regular arguments: the first is
-% the name symbol declared in the current module (e.g. by a |\symi|), and the second the
-% URI name of a symbol in an external theory in the form \meta{theory}|?|\meta{name}.
-%
-% As full MMT URIs are of the form \meta{URI}|?|\meta{theory}|?|\meta{name}, we need a
-% way to specify the \meta{URI}. We adopt the system of \textbf{namespaces} of in MMT:
-% the \DescribeMacro{\namespace} macro declares a namespace URI. If the optional
-% argument is given, then this is a namespace abbreviation declaration, which can be
-% used later, for instance in |\symalign| that takes an optional first argument: the
-% namespace of the external theory.
-%
-% The situation below is typical. We first declare the namespace abbreviation |sets| and
-% then use the \DescribeMacro{\modalign}|\modalign| macro to specify that the external
-% theory |sets:?ESet| is the default alignment target, i.e. any symbol that in the local
-% |emptyset| module is aligned by default to the symbol with the same name in the
-% external |sets:?ESet| theory.
-%
-% \begin{verbatim}
-% \begin{modsig}[creators=miko]{emptyset}
-% \gimport{set}
-% \namespace[sets]{http://mathhub.info/MitM/smglom/sets}
-% \modalign[sets]{ESet}
-%
-% \symdef{eset}{\emptyset}
-% \symi{non-empty}
-% \symalign{non-empty}{ESet?non_empty}
-% \end{modsig}
-% \end{verbatim}
-%
-% The default alignment breaks down for the symbol |non-empty|, so we specify an
-% alignment to the symbol |Eset?non_empty| via |\symalign|.
-% \end{omgroup}
-% \end{omgroup}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}\newpage
-%
-% \begin{omgroup}[id=sec:impl:cls]{Implementation: The SMGloM Class}
-%
-% \begin{omgroup}[id=sec:impl:cls:options]{Class Options}
-%
-% To initialize the |smglom| class, we pass on all options to |omdoc.cls| as well as the
-% |stex| and |smglom| packages.
-%
-% \begin{macrocode}
-%<*cls>
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{omdoc}
- \PassOptionsToPackage{\CurrentOption}{stex}
- \PassOptionsToPackage{\CurrentOption}{smglom}}
-\ProcessOptions
-% \end{macrocode}
-%
-% We load |omdoc.cls|, the |smglom| package that provides the SMGloM-specific
-% functionality\ednote{MK:describe that above}, and the |stex| package to allow OMDoc
-% compatibility.
-%
-% \begin{macrocode}
-\LoadClass{omdoc}
-\RequirePackage{smglom}
-\RequirePackage{stex}
-\RequirePackage{amstext}
-\RequirePackage{amsfonts}
-%</cls>
-% \end{macrocode}
-%
-% Now we do the same thing for the package; first the options, which we just pass on to
-% the |stex| package.
-%
-% \begin{macrocode}
-%<*sty>
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{statements}
- \PassOptionsToPackage{\CurrentOption}{structview}
- \PassOptionsToPackage{\CurrentOption}{smultiling}}
-\ProcessOptions
-% \end{macrocode}
-%
-% We load |omdoc.cls|, and the desired packages. For the {\latexml} bindings, we make sure
-% the right packages are loaded.
-%
-% \begin{macrocode}
-\RequirePackage{statements}
-\RequirePackage[langfiles]{smultiling}
-\RequirePackage{structview}
-% \end{macrocode}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=impl:modules]{Convenience Macros for \protect\smglom Modules}
-% \begin{macro}{\gimport}
-% Just a shortcut, we have a starred and unstarred version, the first one is conservative.
-% For example, if we execute:\newline
-% \begin{center}
-% |\gimport[smglom/numberfields]{naturalnumbers}|\newline
-% \end{center}
-% First we are redirected to |\@gimport@nostar|, we store the
-% |smglom/numberfields|\meta{the repo's path} in |\@test|, then store
-% |\mh@currentrepos|\meta{current directory} in |\mh@repos|. If no repo's path is offered,
-% that means the module to import is under the same directory, so we let |repos=\mh@repos|
-% and pass bunch of parameters to |\importmhmodule|, which is defined in |module.sty|. If
-% there's a repo's path, then we let repos=\meta{the repo's path}. Finally we use
-% |\mhcurrentrepos|(defined in |module.sty|) to change the |\mh@currentrepos|.
-% \begin{macrocode}
-\def\gimport{\@ifstar\@gimport@star\@gimport@nostar}%
-\newrobustcmd\@gimport@star[2][]{%
- \def\@test{#1}%
- \edef\mh@@repos{\mh@currentrepos}%
- \ifx\@test\@empty%
- \importmhmodule[conservative,repos=\mh@@repos,ext=tex,path=#2]{#2}%
- \else%
- \importmhmodule[conservative,repos=#1,ext=tex,path=#2]{#2}%
- \fi%
- \mhcurrentrepos{\mh@@repos}%
- \ignorespacesandpars%
-}%
-\newrobustcmd\@gimport@nostar[2][]{%
- \def\@test{#1}%
- \edef\mh@@repos{\mh@currentrepos}%
- \ifx\@test\@empty%
- \importmhmodule[repos=\mh@@repos,ext=tex,path=#2]{#2}%
- \else%
- \importmhmodule[repos=#1,ext=tex,path=#2]{#2}%
- \fi%
- \mhcurrentrepos{\mh@@repos}%
- \ignorespacesandpars%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{guse}
-% just a shortcut
-% \begin{macrocode}
-\newrobustcmd\guse[2][]{\def\@test{#1}%
- \edef\mh@@repos{\mh@currentrepos}%
- \ifx\@test\@empty%
- \usemhmodule[repos=\mh@@repos,ext=tex,path=#2]{#2}%
- \else%
- \usemhmodule[repos=#1,ext=tex,path=#2]{#2}%
- \fi%
- \mhcurrentrepos{\mh@@repos}%
- \ignorespacesandpars%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{gstructure}
-% we essentially copy over the definition of |mhstructure|, but adapt it to the \smglom
-% situation.
-% \begin{macrocode}
-\newenvironment{gstructure}[3][]{\def\@test{#1}%
- \xdef\mh@@@repos{\mh@currentrepos}%
- \ifx\@test\@empty%
- \gdef\@@doit{\importmhmodule[repos=\mh@@@repos,path=#3,ext=tex]{#3}}%
- \else%
- \gdef\@@doit{\importmhmodule[repos=#1,path=#3,ext=tex]{#3}}%
- \fi%
- \ifmod@show\par\noindent structure import "#2" from module #3 \@@doit\fi%
- \ignorespacesandpars}
-{\aftergroup\@@doit\ifmod@show end import\fi%
- \ignorespacesandparsafterend}
-% \end{macrocode}
-% \end{environment}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=impl:relations]{Terminological Relations}
-%
-% \begin{macro}{*nym}
-% \begin{macrocode}
-\newrobustcmd\hypernym[3][]{\if@importing\else\par\noindent #2 is a hypernym of #3\fi}%
-\newrobustcmd\hyponym[3][]{\if@importing\else\par\noindent #2 is a hyponym of #3\fi}%
-\newrobustcmd\meronym[3][]{\if@importing\else\par\noindent #2 is a meronym of #3\fi}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\MSC}
-% to define the Math Subject Classification, \ednote{MK: what to do for the LaTeXML side?}
-% \begin{macrocode}
-\newrobustcmd\MSC[1]{\if@importing\else MSC: #1\fi\ignorespacesandpars}%
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=impl:alignments]{Namespaces and Alignments}
-%
-% \begin{macro}{\namespace}
-% \begin{macrocode}
-\newcommand\namespace[2][]{\ignorespaces}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\modalign}
-% \begin{macrocode}
-\newcommand\modalign[2][]{\ignorespaces}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\symalign}
-% \begin{macrocode}
-\newcommand\symalign[3][]{\ignorespaces}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:langbindings]{For Language Bindings}
-%
-% Here we adapt the |smultiling| functionality to the special situation, where the module
-% and file names are identical by design.
-%
-% \begin{environment}{gviewsig}
-% The |gviewsig| environment is just a layer over the |mhviewsig| environment with the keys
-% suitably adapted.
-% \begin{macrocode}
-\newenvironment{gviewsig}[4][]{% keys, id, from, to
- \def\test{#1}%
- \ifx\@test\@empty%
- \begin{mhviewsig}[frompath=#3,topath=#4]{#2}{#3}{#4}%
- \else%
- \begin{mhviewsig}[frompath=#3,topath=#4,#1]{#2}{#3}{#4}%
- \fi%
- \ignorespacesandpars%
-}{%
- \end{mhviewsig}%
- \ignorespacesandparsafterend%
-}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{gviewnl}
-% The |gviewnl| environment is just a layer over the |mhviewnl| environment with the
-% keys suitably adapted.
-% \begin{macrocode}
-\newenvironment{gviewnl}[5][]{% keys, id, lang, from, to
- \def\@test{#1}\ifx\@test\@empty%
- \begin{mhviewnl}[frompath=#4,topath=#5]{#2}{#3}{#4}{#5}%
- \else%
- \begin{mhviewnl}[frompath=#4,topath=#5,#1]{#2}{#3}{#4}{#5}%
- \fi%
-\ignorespacesandpars%
-}{%
- \end{mhviewnl}%
- \ignorespacesandparsafterend%
-}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\gincludeview}
-% \ednote{This is fake for now, needs to be implemented and documented}
-% \begin{macrocode}
-\newcommand\gincludeview[2][]{\ignorespacesandpars}%
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}{Authoring States, etc}
-% We add a key to the module environment.
-% \begin{macrocode}
-\addmetakey{module}{state}%
-% \end{macrocode}
-% \end{omgroup}
-%
-% \begin{omgroup}{Shadowing of repositories}
-% \begin{macro}{\repos@macro}
-% |\repos@macro| parses a GitLab repository name \meta{group}|/|\meta{name} and creates
-% an internal macro name from that, which will be used
-% \begin{macrocode}
-\def\repos@macro#1/#2;{#1@shadows@#2}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\shadow}
-% |\shadow{|\meta{orig}|}{|\meta{fork}|}| declares a that the private repository
-% \meta{fork} shadows the MathHub repository \meta{orig}. Internally, it simply defines
-% an internal macro with the shadowing information.
-% \begin{macrocode}
-\def\shadow#1#2{\@namedef{\repos@macro#1;}{#2}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\MathHubPath}
-% |\MathHubPath{|\meta{repos}|}| computes the path of the fork that shadows the MathHub
-% repository \meta{repos} according to the current |\shadow| specification. The computed
-% path can be used for loading modules from the private version of \meta{repos}.
-% \begin{macrocode}
-\def\MathHubPath#1{\@ifundefined{\repos@macro#1;}{#1}{\@nameuse{\repos@macro#1;}}}%
-%</sty>
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-% \end{omgroup}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-% LocalWords: iffalse cls smglo smglo.dtx omdoc latexml texttt smlog.cls sref SMGloM ifx
-% LocalWords: maketitle newpage tableofcontents newpage omgroup ednote ltxml smglom.dtx
-% LocalWords: printbibliography showmeta metakeys amstext ginput newrobustcmd sproof cmath
-% LocalWords: module-defs gimport renewrobustcmd langbindings gle newenvironment amsfonts
-% LocalWords: doctex NeedsTeXFormat langfiles ngerman smultiling xspace formalizations
-% LocalWords: symalign symalign symi textbf modalign modalign ESet emptyset initialize
-% LocalWords: stex impl:modules unstarred numberfields mh@currentrepos mh@repos 1,ext
-% LocalWords: importmhmodule mhcurrentrepos conservative,repos tex,path guse gstructure
-% LocalWords: ignorespacesandpars usemhmodule mhstructure xdef gdef 3,ext 1,path nym
-% LocalWords: ifmod@show noindent aftergroup ignorespacesandparsafterend impl:relations
-% LocalWords: impl:alignments newcommand begingroup catcode`_ gviewsig mhviewsig
-% LocalWords: 3,topath gviewnl mhviewnl 4,topath gincludeview addmetakey
diff --git a/macros/latex/contrib/stex/sty/smglom/smglom.ins b/macros/latex/contrib/stex/sty/smglom/smglom.ins
deleted file mode 100644
index ae653eee88..0000000000
--- a/macros/latex/contrib/stex/sty/smglom/smglom.ins
+++ /dev/null
@@ -1,31 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex smultiling.ins
-%%
-%% Copyright(c) 2014 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{smglom.sty}{\from{smglom.dtx}{sty}}}
-\generate{\file{smglom.cls}{\from{smglom.dtx}{cls}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/smglom/smglom.pdf b/macros/latex/contrib/stex/sty/smglom/smglom.pdf
deleted file mode 100644
index 948f4df711..0000000000
--- a/macros/latex/contrib/stex/sty/smglom/smglom.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/smultiling/README b/macros/latex/contrib/stex/sty/smultiling/README
deleted file mode 100644
index ff6a71db6b..0000000000
--- a/macros/latex/contrib/stex/sty/smultiling/README
+++ /dev/null
@@ -1,11 +0,0 @@
-omdoc.cls: A LaTeX Class for OMDoc Documents
-omdoc.sty: A LaTeX Package for OMDoc Document structures
-
-This package and class supplies a the infrastructure for writing OMDoc documents
-(see http://www.omdoc.org) in LaTeX.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/smultiling/smultiling.dtx b/macros/latex/contrib/stex/sty/smultiling/smultiling.dtx
deleted file mode 100644
index 8bf96302fc..0000000000
--- a/macros/latex/contrib/stex/sty/smultiling/smultiling.dtx
+++ /dev/null
@@ -1,599 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Class and Package for the Smultiling Glossary
-% Copyright (c) 2009 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<sty>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<sty>\ProvidesPackage{smultiling}[2019/03/20 v0.2 Multilingual Support for sTeX]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,omdoc,omtext,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{hstp://trac.kwarc.info/sTeX/ticket/#1}{issue #1}}
-\def\smglom{\textsf{SMGloM}\xspace}
-\def\omdoc{\textsf{OMDoc}\xspace}
-\def\latexml{{\LaTeX}ML\xspace}
-\def\lmh{\textsf{lmh}\xspace}
-\begin{document}
-\RecordChanges
-\DocInput{smultiling.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{189}
-%
-% \changes{v0.1}{2014/04/19}{First Version}
-% \changes{v0.2}{2017/10/15}{Adding a key-value argument to \texttt{\textbackslash symi}
-% and friends for GF metadata}
-%
-%
-% \MakeShortVerb{\|}
-%
-% \def\omdoc{OMDoc}
-% \def\latexml{{\LaTeX}ML}
-% \title{{\texttt{smultiling.sty}}: Multilinguality Support for \protect\sTeX}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}\and
-% Deyan Ginev\\Authorea}
-% \maketitle
-%
-% \begin{abstract}
-% The |smultiling| package is part of the \sTeX collection, a version of {\TeX/\LaTeX}
-% that allows to markup {\TeX/\LaTeX} documents semantically without leaving the
-% document format, essentially turning {\TeX/\LaTeX} into a document format for
-% mathematical knowledge management (MKM).
-%
-% The |smultiling| package adds multilinguality support for \sTeX, the idea is that
-% multilingual modules in \sTeX consist of a module signature together with multiple
-% language bindings that inherit symbols from it, which also account for cross-language
-% coordination.
-% \end{abstract}
-%
-%\tableofcontents\newpage
-%
-%\begin{omgroup}[id=sec:STR]{Introduction}
-% We have been using \sTeX as the encoding for the Semantic Multilingual Glossary of
-% Mathematics (\smglom; see~\cite{GinIanJuc:spsttom16,SMGloM:gloss:on}). The \smglom data
-% model has been taxing the representational capabilities of \sTeX with respect to
-% multilingual support and verbalization definitions; see~\cite{Kohlhase:dmesmgm14},
-% which we assume as background reading for this note.
-%
-% \begin{omgroup}{\protect\sTeX Module Signatures}
-% (Monolingual) \sTeX had the intuition that the symbol definitions (|\symdef| and
-% |\symvariant|) are interspersed with the text and we generate \sTeX module signatures
-% (SMS |*.sms| files) from the \sTeX files. The SMS duplicate ``formal'' information
-% from the ``narrative'' \sTeX files. In the \smglom, we extend this idea by making the
-% the SMS primary objects that contain the language-independent part of the formal
-% structure conveyed by the \sTeX documents and there may be multiple narrative
-% ``language bindings'' that are translations of each other -- and as we do not want to
-% duplicate the formal parts, those are inherited from the SMS rather than written down
-% in the language binding itself. So instead of the traditional monolingual markup in
-% Figure~\ref{fig:stex-monolingual}, we we now advocate the divided style in
-% Figure~\ref{fig:stex-multiling}.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \begin{module}[id=foo]
-% \symdef{bar}{BAR}
-% \begin{definition}[for=bar]
-% A \defiii{big}{array}{raster} ($\bar$) is a\ldots, it is much
-% bigger than a \defiii[sar]{small}{array}{raster}.
-% \end{definition}
-% \end{module}
-% \end{verbatim}\vspace{-2em}
-% \caption{A module with definition in monolingual \protect\sTeX}\label{fig:stex-monolingual}
-% \end{exfig}
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \usepackage{multiling}
-% \begin{modsig}{foo}
-% \symdef{bar}{BAR}
-% \symi[gfc=N]{sar}
-% \end{modsig}
-%
-% \begin{modnl}[creators=miko,primary]{foo}{en}
-% \begin{definition}
-% A \defiii[bar]{big}{array}{raster} ($\bar$) is a\ldots, it is much bigger
-% than a \defiii[sar]{small}{array}{raster}.
-% \end{definition}
-% \end{modnl}
-%
-% \begin{modnl}[creators=miko]{foo}{de}
-% \begin{definition}
-% Ein \defiii[bar]{gro"ses}{Feld}{Raster} ($\bar$) ist ein\ldots, es
-% ist viel gr"o"ser als ein \defiii[sar]{kleines}{Feld}{Raster}.
-% \end{definition}
-% \end{modnl}
-% \end{verbatim}\vspace{-2em}
-% \caption{Multilingual \protect\sTeX for Figure \protect\ref{fig:stex-monolingual}.}
-% \label{fig:stex-multiling}
-% \end{exfig}
-%
-% We retain the old |module| environment as an intermediate stage. It is still useful
-% for monolingual texts. Note that for files with a module, we still have to extract
-% |*.sms| files. It is not completely clear yet, how to adapt the workflows. We clearly
-% need a \lmh or editor command that transfers an old-style module into a new-style
-% signature/binding combo to prepare it for multilingual treatment.
-% \end{omgroup}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:user]{The User Interface}
-% The |smultiling| package accepts the \DescribeMacro{langfiles}|langfiles| option that
-% specifies -- for a module \meta{mod} that the module signature file has the name
-% \meta{mod}|.tex| and the language bindings of language with the ISO 639 language
-% specifier \meta{lang} have the file name
-% \meta{mod}|.|\meta{lang}|.tex|.\ednote{implement other schemes, e.g. the onefile
-% scheme.}
-%
-% \begin{omgroup}{Multilingual Modules}
-% There the \DescribeEnv{modsig}|modsig| environment works exactly like the old |module|
-% environment, only that the |id| attribute has moved into the required argument --
-% anonymous module signatures do not make sense.
-%
-% The \DescribeEnv{modnl}|modnl| environment takes two arguments the first is the name
-% of the module signature it provides language bindings for and the second the ISO 639
-% language specifier of the content language. We add the |primary| key |modnl|, which
-% can specify the primary language binding (the one the others translate from; and which
-% serves as the reference in case of translation conflicts).\ednote{@Hang: This needs to
-% be implemented in LaTeXML}
-%
-% There is another difference in the multilingual encoding: All symbols are introduced
-% in the module signature, either by a |\symdef| or the new \DescribeMacro{\symi}|\symi|
-% macro. |\symi[|\meta{keys}|]{|\meta{name}|}| takes a symbol name \meta{name} as an
-% argument and reserves that name. The variant
-% \DescribeMacro{\symi*}|\symi*[|\meta{keys}|]{|\meta{name}|}| declares \meta{name} to
-% be a primary symbol; see~\cite{Kohlhase:dmesmgm14} for a discussion. \sTeX provides
-% variants \DescribeMacro{\symii}|\symii|, \DescribeMacro{\symiii}|\symiii|, and
-% \DescribeMacro{\symiv}|\symiv| -- and their starred versions -- for multi-part
-% names. The key-value interface \meta{keys} does not have any effect on the {\LaTeX}
-% rendering, it can be used to embed metadata. See for instance \sref{user:GFmeta}.
-% \end{omgroup}
-%
-% \begin{omgroup}{Multilingual Definitions and Cross-referencing Terms}
-% We do not need a new infrastructure for defining mathematical concepts, only the
-% realization that symbols are language-independent. So we can use symbols for the
-% coordination of corresponding verbalizations. As the example in
-% Figure~\ref{fig:stex-multiling} already shows, we can just specify the symbol name in
-% the optional argument of the |\defi| macro to establish that the language bindings
-% provide different verbalizations of the same symbol.
-%
-% For multilingual term references the situtation is more complex: For single-word
-% verbalizations we could use |\atrefi| for language bindings. Say we have introduced a
-% symbol |foo| in English by |\defi{foo}| and in German by |\defi[foo]{Foo}|. Then we
-% can indeed reference it via |\trefi{foo}| and |\atrefi{Foo}{foo}|. But one the one
-% hand this blurs the distinction between translation and ``linguistic variants'' and on
-% the other hand does not scale to multi-word compounds as |bar| in
-% Figure~\ref{fig:stex-multiling}, which we would have to reference as
-% |\atrefiii{gro"ses Feld Raster}{bar}|. To avoid this, the |smultiling| package
-% provides the new macros \DescribeMacro{\mtref}|\mtrefi|, |\mtrefii|, and |\mtrefiii|
-% for multilingual references. Using this, we can reference |bar| as
-% |\mtrefiii[?bar]{gro"ses}{Feld}{Raster}|, where we use the (up to three) mandatory
-% arguments to segment the lexical constituents.
-%
-% The first argument it syntactically optional to keep the parallelism to |\*def*|
-% |\*tref*| it specifies the symbol via its name \meta{name} and module name \meta{mod}
-% in a MMT URI \meta{mod}|?|\meta{name}. Note that MMT URIs can be relative:
-% \begin{enumerate}
-% \item |foo?bar| denotes the symbol |bar| from module |foo|
-% \item |foo| the module |foo| (the symbol name is induced from the remaining
-% arguments of |\mtref*|)
-% \item |?bar| specifies symbol |bar| from the current module
-% \end{enumerate}
-% Note that the number suffix |i|/|ii|/|iii|/|iv| indicates the number of words in the
-% actual language binding, not in the symbol name as in |\atref*|.
-%
-% Finally note that hyperlinks on term references only have information on the
-% underlying symbol and module names -- i.e. signature information -- and we need to
-% cross-reference into the language bindings. To do this, we need to know the base
-% language of the document. To ensure basic functionality we set this to |en| and
-% provide the \DescribeMacro{\sTeXlanguage}|\sTeXlanguage| macro to set it.
-% \end{omgroup}
-%
-% \begin{omgroup}{Multilingual Views}
-% Views receive a similar treatment as modules in the |smultiling| package. A
-% multilingual view consists of
-% \begin{enumerate}
-% \item a \textbf{view signature} marked up with the \DescribeEnv{viewsig}|viewsig|
-% environment. This takes three required arguments: a view name, the source module,
-% and the target module. The optional first argument is for metadata (|display|,
-% |title|, |creators|, and |contributors|) and load information (|loadfrom| and
-% |loadto|) and
-% \item multiple \textbf{language bindings} marked up by the
-% \DescribeEnv{viewnl}|viewnl| environment, which takes two required arguments: the
-% view name and the language specifier. The optional first key/value argument takes
-% the same keys as |viewsig| except the last two.
-% \end{enumerate}
-%
-% \begin{verbatim}
-% \begin{viewsig}[creators=miko]{norm-metric}{metric-space}{norm}
-% \vassign{base-set}{base-set}
-% \fassign{x,y}{\metric{x,y}}{\norm{x-y}}
-% \end{viewsig}
-% \end{verbatim}
-% Views have language bindings just as modules do, in our case, we have
-% \begin{verbatim}
-% \begin{viewnl}[creators=miko]{norm-metric}{en}
-% \obligation{metric-space}{obl.norm-metric.en}
-% \begin{assertion}[type=obligation,id=obl.norm-metric.en]
-% $\defeq{d(x,y)}{\norm{x-y}}$ is a \trefii[metric-space]{distance}{function}
-% \end{assertion}
-% \begin{sproof}[for=obl.norm-metric.en]
-% {we prove the three conditions for a distance function:}
-% ...
-% \end{sproof}
-% \end{viewnl}
-% \end{verbatim}
-%
-% \end{omgroup}
-%
-% \begin{omgroup}{Mathematical Keywords}
-% For translations of the mathematical keywords, the |statements| and |sproofs| packages
-% in \sTeX define special language definition files,
-% e.g. |statements-ngerman.ldf|.\ednote{say more about this}\ednote{There is the
-% translator package which belongs to beamer, maybe we should switch to that.} There is
-% currently only very limited support for this.
-% \end{omgroup}
-%
-% \begin{omgroup}[id=user:GFmeta]{GF Metadata}
-% Several \sTeX macros and environments allow keys for syntactical information about the
-% objects declared.
-%
-% The symbol-declaring macros |\symi| and friends as well as |\symdef| allow
-% \DescribeMacro{gfc}{gfc} key allows to specify the grammatical category in terms of
-% the Resource Grammar of the Grammatical Framework~\cite{GFResourceGrammar:on}.
-%
-% The verbalization-defining macros |\defi| and friends allow the |gfa| (GF apply) and
-% |gfl| (GF linearization) keys.
-%
-% A definiendum of the form
-% |\defii[gfa=mkN]{empty}{set}| generates the GF linearization |empty_set = mkN "empty set"|.
-% Some what less conveniently,
-% |\defii[name=datum,gfl={mkN "Datum", "Daten"}{Datum}| can be used if the GF
-% linearization is more complex than simply applying a ``make command'' to the
-% verbalization.
-% \end{omgroup}
-% \end{omgroup}
-%
-% \begin{omgroup}{Limitations}
-%
-% We list the limitations of the |smultiling| package.
-%
-% \begin{omgroup}{General \texttt{babel} Integration}
-% There is currently no integration with the |babel| package that handles
-% language-specific aspects in {\LaTeX}. In particular, selecting the right language
-% must be done manually. In particular, the example from Figure~\ref{fic:stex-multiling}
-% would really have the form given in Figure~\ref{fig:stex-multiling-babel} -- see the
-% |\usepackage[usenglish,ngerman]{babel}| in line 2, and the |\selectlanguage|
-% statements in lines 6 and 13.
-% \begin{exfig}
-% \begin{verbatim}
-% \usepackage{multiling}
-% \usepackage[usenglish,ngerman]{babel}% babel support
-% \begin{modsig}{foo}
-% \symdef{bar}{BAR}
-% \symi{sar}
-% \end{modsig}
-% \selectlanguage{english}% english version follows
-% \begin{modnl}[creators=miko,primary]{foo}{en}
-% \begin{definition}
-% A \defiii[bar]{big}{array}{raster} ($\bar$) is a\ldots, it is much bigger
-% than a \defiii[sar]{small}{array}{raster}.
-% \end{definition}
-% \end{modnl}
-% \selectlanguage{german}% german umlauts please
-% \begin{modnl}[creators=miko]{foo}{de}
-% \begin{definition}
-% Ein \defiii[bar]{gro"ses}{Feld}{Raster} ($\bar$) ist ein\ldots, es
-% ist viel gr"o"ser als ein \defiii[sar]{kleines}{Feld}{Raster}.
-% \end{definition}
-% \end{modnl}
-% \end{verbatim}\vspace{-2em}
-% \caption{Multilingual \protect\sTeX with \texttt{babel}}
-% \label{fig:stex-multiling-babel}
-% \end{exfig}
-%
-% For the |langfiles| setup, which assumes that module signatures and language bindings
-% are in separate files, |babel| integration can be simplified by providing a
-% language-specific preamble file with |\usepackage{|\meta{language}|}{babel}| which is
-% pre-pended to all language binding files when formatted. This preamble can also contain
-% the other language-specific packages (e.g. for font encodings, etc.).
-% \end{omgroup}
-%
-% \begin{omgroup}{PDF links on term references are language-dependent}
-% Given the |langfiles| mode, we need the intended language to generate PDF links on
-% term references. But we cannot infer this for top-level ``papers'' (we do in the
-% language bindings). So it has to be specified via |\sTexlanguage|, and we do not
-% really had a way to check that it is. Unfortunately, the only place it would be natural
-% to do so is in |\mod@component|, but the |\PackageError| there had to be commented
-% out, since it leads to serious errors. Thus we set the language to |en| by default,
-% which is sub-optimal. Maybe there is a way to infer the document language from the
-% babel settings.
-% \end{omgroup}
-%
-% \begin{omgroup}{Language-Specific Limitations}
-% Some languages have more problems than others
-% \begin{description}
-% \item[Turkish] makes \texttt{=} an active character (to give better spacing); this
-% interacts unfavourably with the |keyval| package which needs \texttt{=} as key/value
-% separator (and gives it a different category code). Therefore we need to prohibit this by
-% restricting the |shorthands| option: use |\usepackage[turkish,shorthands=:!]{babel}|.
-% \item[Chinese] needs special fonts and |xelatex|\ednote{get Jinbo to document this}.
-% \end{description}
-% \end{omgroup}
-% \end{omgroup}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}\newpage
-%
-% \begin{omgroup}[id=sec:impl:cls]{Implementation}
-%
-% \begin{omgroup}[id=sec:impl:cls:options]{Class Options}
-% \begin{macrocode}
-%<*sty>
-\newif\if@smultiling@mh@\@smultiling@mh@false
-\DeclareOption{mh}{\@smultiling@mh@true}
-\newif\if@langfiles\@langfilesfalse
-\DeclareOption{langfiles}{\@langfilestrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{modules}}
-\ProcessOptions
-% \end{macrocode}
-%
-% We load the packages referenced here.
-%
-% \begin{macrocode}
-\if@smultiling@mh@\RequirePackage{smultiling-mh}\fi
-\RequirePackage{etoolbox}
-\RequirePackage{structview}
-% \end{macrocode}
-% \end{omgroup}
-%
-% \begin{omgroup}{Signatures}
-%
-% \begin{environment}{modsig}
-% The |modsig| environment is just a layer over the |module| environment. We also
-% redefine macros that may occur in module signatures so that they do not create
-% markup. Finally, we set the flag |\mod@|\meta{mod}|@multiling| to |true|.
-% \begin{macrocode}
-\newenvironment{modsig}[2][]{\def\@test{#1}%
-\ifx\@test\@empty\begin{module}[id=#2]\else\begin{module}[id=#2,#1]\fi%
-\expandafter\gdef\csname mod@#2@multiling\endcsname{true}%
-\ignorespacesandpars}
-{\end{module}\ignorespacesandparsafterend}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\mod@component}
-% We redefine the macro from the |modules| package that computes the module component
-% identifier for external links on term references. If |\mod@|\meta{mod}|@multiling| is
-% |true|, then we make the component identifier |.|\meta{lang}, which can be customized
-% by the next macro below.
-% \begin{macrocode}
-\renewcommand\mod@component[1]{%
-\expandafter\ifx\csname mod@#1@multiling\endcsname\@true%
-\@ifundefined{smultiling@language}{}
-% for some reason this error message bombs big time; so we leave it out.
-% {\PackageError{smultiling}%
-% {No document language specified for term reference links}
-% {use \protect\sTeXlanguage to specify it!}}
-{.\smultiling@language}%
-\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sTeXlanguage}
-% This macro sets the internal flag |\smultiling@language|, we set the default to |en|,
-% since otherwise hyper-references on term references do not work.
-% \begin{macrocode}
-\newcommand\sTeXlanguage[1]{\def\smultiling@language{#1}}
-\sTeXlanguage{en}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{viewsig}
-% The |viewsig| environment is just a layer over the |view| environment with the keys
-% suitably adapted.
-% \begin{macrocode}
-\newenvironment{viewsig}[4][]{\def\@test{#1}\ifx\@test\@empty%
- \begin{view}[id=#2,ext=tex]{#3}{#4}\else\begin{view}[id=#2,#1,ext=tex]{#3}{#4}\fi%
- \ignorespacesandpars}
- {\end{view}\ignorespacesandparsafterend}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\@sym*}
-% has a starred form for primary symbols. The key/value interface has no effect on the
-% {\LaTeX} side. We read the to check whether only allowed ones are used.
-% \begin{macrocode}
-\define@key{symi}{noverb}[all]{}%
-\define@key{symi}{align}[WithTheSymbolOfTheSameName]{}%
-\define@key{symi}{specializes}{}%
-\define@key{symi}{noalign}[true]{}%
-\newcommand\symi{\@ifstar\@symi@star\@symi}
-\newcommand\@symi[2][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Symbol: \textsf{#2}\fi\ignorespacesandpars}
-\newcommand\@symi@star[2][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Primary Symbol: \textsf{#2}\fi\ignorespacesandpars}
-\newcommand\symii{\@ifstar\@symii@star\@symii}
-\newcommand\@symii[3][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Symbol: \textsf{#2-#3}\fi\ignorespacesandpars}
-\newcommand\@symii@star[3][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Primary Symbol: \textsf{#2-#3}\fi\ignorespacesandpars}
-\newcommand\symiii{\@ifstar\@symiii@star\@symiii}
-\newcommand\@symiii[4][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Symbol: \textsf{#2-#3-#4}\fi\ignorespacesandpars}
-\newcommand\@symiii@star[4][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Primary Symbol: \textsf{#2-#3-#4}\fi\ignorespacesandpars}
-\newcommand\symiv{\@ifstar\@symiv@star\@symiv}
-\newcommand\@symiv[5][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Symbol: \textsf{#2-#3-#4-#5}\fi\ignorespacesandpars}
-\newcommand\@symiv@star[5][]{\metasetkeys{symi}{#1}%
- \if@importing\else\par\noindent Primary Symbol: \textsf{#2-#3-#4-#5}\fi\ignorespacesandpars}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=sec:langbindings]{Language Bindings}
-%
-% \begin{macro}{modnl:*}
-% \begin{macrocode}
-\addmetakey{modnl}{load}
-\addmetakey*{modnl}{title}
-\addmetakey*{modnl}{creators}
-\addmetakey*{modnl}{contributors}
-\addmetakey{modnl}{srccite}
-\addmetakey{modnl}{primary}[yes]
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{modnl}
-% The |modnl| environment is just a layer over the |module| environment and the
-% |\importmodule| macro with the keys and language suitably adapted.
-% \begin{macrocode}
-\newenvironment{modnl}[3][]{\metasetkeys{modnl}{#1}%
- \def\@test{#1}\ifx\@test\@empty\begin{module}[id=#2.#3]\else\begin{module}[id=#2.#3,#1]\fi%
- \def\smultiling@language{#3}%
- \if@langfiles\importmodule[load=#2,ext=tex]{#2}\else
- \ifx\modnl@load\@empty\importmodule{#2}\else\importmodule[ext=tex,load=\modnl@load]{#2}\fi%
- \fi%
- \ignorespacesandpars}
-{\end{module}\ignorespacesandparsafterend}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{viewnl}
-% The |viewnl| environment is just a layer over the |view| environment with the keys and
-% language suitably adapted.\ednote{MK: we have to do something about the if@langfiles
-% situation here. But this is non-trivial, since we do not know the current path, to
-% which we could append .\meta{lang}!}
-% \begin{macrocode}
-\newenvironment{viewnl}[5][]{\def\@test{#1}\ifx\@test\@empty%
- \begin{view}[id=#2.#3,ext=tex]{#4}{#5}\else%
- \begin{view}[id=#2.#3,#1,ext=tex]{#4}{#5}\fi%
- \ignorespacesandpars}
- {\end{view}\ignorespacesandparsafterend}
-% \end{macrocode}
-% \end{environment}
-% \end{omgroup}
-%
-% \begin{omgroup}{Multilingual Statements and Terms}
-%
-% \begin{macro}{\mtref}
-% we first first define an auxiliary conditional |\@instring| that checks of |?| is in
-% the first argument. |\mtrefi| uses it, if there is one, it just calls |\termref|,
-% otherwise it calls |\@mtrefi|, which assembles the |\termref| after splitting at the
-% |?|.
-% \begin{macrocode}
-\def\@instring#1#2{TT\fi\begingroup\edef\x{\endgroup\noexpand\in@{#1}{#2}}\x\ifin@}
-\def\@mtref#1?#2\relax{\@@mtref{#1}{#2}}
-\newcommand\@@mtref[3]{\def\@@cd{#1}\def\@@name{#2}%
-\ifx\@@cd\@empty%
-\ifx\@@name\@empty\termref[]{#3}\else\termref[name=\@@name]{#3}\fi%
-\else%
-\ifx\@@name\@empty\termref[cd=\@@cd]{#3}\else\termref[cd=\@@cd,name=\@@name]{#3}\fi%
-\fi}
-\newcommand\mtref[2][]{\if\@instring{?}{#1}\@mtref #1\relax{#2}\else\termref[cd=#1]{#2}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\mtrefi*}
-% \begin{macrocode}
-\newcommand\mtrefi[2][]{\if\@instring{?}{#1}\@mtref #1\relax{#2}%
-\else\termref[cd=#1]{#2}\fi}
-\newcommand\mtrefis[2][]{\mtrefi[#1]{#2s}}
-\newcommand\Mtrefi[2][]{\if\@instring{?}{#1}\@mtref #1\relax{\capitalize{#2}}%
-\else\termref[cd=#1]{\capitalize{#2}}\fi}
-\newcommand\Mtrefis[2][]{\Mtrefi[#1]{#2s}}
-\newcommand\mtrefii[3][]{\mtrefi[#1]{#2 #3}}
-\newcommand\mtrefiis[3][]{\mtrefi[#1]{#2 #3s}}
-\newcommand\Mtrefii[3][]{\Mtrefi[#1]{#2 #3a}}
-\newcommand\Mtrefiis[3][]{\Mtrefi[#1]{#2 #3s}}
-\newcommand\mtrefiii[4][]{\mtrefi[#1]{#2 #3 #4}}
-\newcommand\Mtrefiiis[4][]{\Mtrefi[#1]{#2 #3 #4s}}
-\newcommand\Mtrefiii[4][]{\Mtrefi[#1]{#2 #3 #4}}
-\newcommand\mtrefiiis[4][]{\mtrefi[#1]{#2 #3 #4s}}
-\newcommand\mtrefiv[5][]{\mtrefi[#1]{#2 #3 #4 #5}}
-\newcommand\mtrefivs[5][]{\mtrefi[#1]{#2 #3 #4 #5s}}
-\newcommand\Mtrefiv[5][]{\Mtrefi[#1]{#2 #3 #4 #5}}
-\newcommand\Mtrefivs[5][]{\Mtrefi[#1]{#2 #3 #4 #5s}}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}[id=impl:GFmeta]{GF Metadata}
-%
-% \begin{macro}{gfc}
-% We add the |gfc| key to various symbol declaration macros.
-% \begin{macrocode}
-\addmetakey{symi}{gfc}
-\addmetakey{symdef}{gfc}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{gfa/l}
-% \begin{macrocode}
-\addmetakey{definiendum}{gfa}
-\addmetakey{definiendum}{gfl}
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-%
-% \begin{omgroup}{Miscellaneneous}
-% the |\ttl| macro (to-translate) is used to mark untranslated stuff. We need a better
-% \latexml treatment of this eventually that is integrated with MathHub.info.
-% \begin{macro}{\ttl}
-% \begin{macrocode}
-\newcommand\ttl[1]{\red{TTL: #1}}
-%</sty>
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-% \end{omgroup}
-% \Finale
-%
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-% LocalWords: iffalse cls omdoc latexml texttt smlog.cls sref NeedsTeXFormat symi Deyan
-% LocalWords: maketitle newpage tableofcontents newpage omgroup ednote ltxml Ginev exfig
-% LocalWords: printbibliography showmeta metakeys amstext ginput newcommand smglom lmh
-% LocalWords: module-defs gimport renewcommand langbindings gle newenvironment symdef
-% LocalWords: doctex smultiling.dtx smultiling.sty GinIanJuc:spsttom16 verbalization gfc
-% LocalWords: Kohlhase:dmesmgm14 symvariant fig:stex-monolingual fig:stex-multiling gfc
-% LocalWords: vspace onefile modnl modnl symii symii symiii symiii symiv symiv atrefi
-% LocalWords: user:GFmeta realization verbalizations trefi atrefiii mtref mtrefi atref
-% LocalWords: mtrefii mtrefiii textbf viewsig viewsig loadfrom loadto viewnl viewnl gfa
-% LocalWords: sproofs statements-ngerman.ldf gfl linearization defii datum,gfl keyval
-% LocalWords: fic:stex-multiling fig:stex-multiling-babel usepackage usenglish,ngerman
-% LocalWords: selectlanguage turkish,shorthands xelatex Jinbo newif smultiling-mh ifx
-% LocalWords: etoolbox ignorespacesandpars ignorespacesandparsafterend 2,ext 1,ext ttl
-% LocalWords: metasetkeys noindent addmetakey srccite tex,load 3,ext termref begingroup
-% LocalWords: endgroup noexpand mtrefis mtrefiis Mtrefiiis mtrefiv mtrefivs impl:GFmeta
-% LocalWords: Miscellaneneous sTeXlanguage sTeXlanguage expandafter gdef csname
-% LocalWords: endcsname smultiling@language
diff --git a/macros/latex/contrib/stex/sty/smultiling/smultiling.ins b/macros/latex/contrib/stex/sty/smultiling/smultiling.ins
deleted file mode 100644
index 8b39a05efc..0000000000
--- a/macros/latex/contrib/stex/sty/smultiling/smultiling.ins
+++ /dev/null
@@ -1,30 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex smultiling.ins
-%%
-%% Copyright(c) 2014 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{smultiling.sty}{\from{smultiling.dtx}{sty}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/smultiling/smultiling.pdf b/macros/latex/contrib/stex/sty/smultiling/smultiling.pdf
deleted file mode 100644
index ea30faadc3..0000000000
--- a/macros/latex/contrib/stex/sty/smultiling/smultiling.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/sproof/README b/macros/latex/contrib/stex/sty/sproof/README
deleted file mode 100644
index 6642685638..0000000000
--- a/macros/latex/contrib/stex/sty/sproof/README
+++ /dev/null
@@ -1,10 +0,0 @@
-sproof.sty: An Infrastructure for Structural Markup for Proofs
-
-This package supplies macros and environment that allow to annotate the structure of
-mathematical proofs. This structure can be used by MKM systems for added-value services,
-either directly from the sTeX sources, or after translation via the LaTeXML system.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/sproof/sproof.ins b/macros/latex/contrib/stex/sty/sproof/sproof.ins
deleted file mode 100644
index e5f5198021..0000000000
--- a/macros/latex/contrib/stex/sty/sproof/sproof.ins
+++ /dev/null
@@ -1,30 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex sproof.ins
-%%
-%% Copyright(c) 2005 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{sproof.sty}{\from{sproof.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/sproof/sproof.pdf b/macros/latex/contrib/stex/sty/sproof/sproof.pdf
deleted file mode 100644
index 9478c6f254..0000000000
--- a/macros/latex/contrib/stex/sty/sproof/sproof.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/sref/README b/macros/latex/contrib/stex/sty/sref/README
deleted file mode 100644
index 3b4269614a..0000000000
--- a/macros/latex/contrib/stex/sty/sref/README
+++ /dev/null
@@ -1,9 +0,0 @@
-sref.sty: A LaTeX Package for semantic crossreferences
-
-This package and class supplies a the infrastructure for crossreferencing across multiple files
-
-Copyright (c) 2009 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/sref/book.pdf b/macros/latex/contrib/stex/sty/sref/book.pdf
deleted file mode 100644
index 3c65f6e9f0..0000000000
--- a/macros/latex/contrib/stex/sty/sref/book.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/sref/book.tex b/macros/latex/contrib/stex/sty/sref/book.tex
deleted file mode 100644
index b603fdc079..0000000000
--- a/macros/latex/contrib/stex/sty/sref/book.tex
+++ /dev/null
@@ -1,18 +0,0 @@
-\documentclass{report}
-\usepackage{omtext,omdoc}
-\title{Advanced Crossreferencing in {\LaTeX}}
-\author{Elder Researcher (ed.)}
-\usepackage{hyperref}
-\begin{document}
-\maketitle
-\tableofcontents
-\newpage
-\chapter{Semantic Crossreferencing (Jane Doe, ...)}
-\input{idcmain}\newpage
-\chapter{Inter-Document Crossreferencing (John Bull, ...)}
-\input{scrmain}
-\end{document}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: t
-%%% End:
diff --git a/macros/latex/contrib/stex/sty/sref/idc.pdf b/macros/latex/contrib/stex/sty/sref/idc.pdf
deleted file mode 100644
index 3759d8c92f..0000000000
--- a/macros/latex/contrib/stex/sty/sref/idc.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/sref/idc.tex b/macros/latex/contrib/stex/sty/sref/idc.tex
deleted file mode 100644
index f85a341375..0000000000
--- a/macros/latex/contrib/stex/sty/sref/idc.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-\documentclass[extrefs]{omdoc}
-\usepackage{omtext}
-\makeextrefs{idc}
-\inputrefs{scr}{scr}
-\extrefstyle{scr}{\cite[\protect{\theextref}]{scrcit}}
-\title{Inter-Document Crossreferencing}
-\author{John Bull}
-\usepackage{hyperref}
-\begin{document}
-\maketitle\newpage
-\input{idcmain}\newpage
-\begin{thebibliography}{SCR}
-\bibitem[SCR]{scrcit}
-Jane Doe\newblock \href{scr.pdf}{Semantic Crossreferencing}\newblock Personal communication.
-\end{thebibliography}
-\end{document}
-
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: t
-%%% End:
diff --git a/macros/latex/contrib/stex/sty/sref/idcmain.tex b/macros/latex/contrib/stex/sty/sref/idcmain.tex
deleted file mode 100644
index 3664d95deb..0000000000
--- a/macros/latex/contrib/stex/sty/sref/idcmain.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\begin{omgroup}[id=mcr]{Making Crossreferences}
-\begin{omtext}
- in the omgroup
-\end{omtext}
-\end{omgroup}
-\newpage
-\begin{omgroup}[id=rad]{Referencing across Documents}
-Now, we test the referencing mechanism
-\begin{omtext}[title=Internal Referencing]
- First single refrences: \sref{mcr} (\spageref{mcr}) and \sref{rad} (\spageref{rad}),
- and then compound ones: \srefs{mcr}{rad}
-\end{omtext}
-
-\begin{omtext}[title=External Referencing]
- First single references: \extref{scr}{setup} (\extpageref{scr}{setup}) and
- \extref{scr}{testing} (\extpageref{scr}{testing})
-\end{omtext}
-\end{omgroup}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: "idc"
-%%% End:
diff --git a/macros/latex/contrib/stex/sty/sref/scr.pdf b/macros/latex/contrib/stex/sty/sref/scr.pdf
deleted file mode 100644
index 5deae5865b..0000000000
--- a/macros/latex/contrib/stex/sty/sref/scr.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/sref/scr.tex b/macros/latex/contrib/stex/sty/sref/scr.tex
deleted file mode 100644
index 16b3500302..0000000000
--- a/macros/latex/contrib/stex/sty/sref/scr.tex
+++ /dev/null
@@ -1,20 +0,0 @@
-\documentclass[extrefs]{omdoc}
-\usepackage{omtext}
-\makeextrefs{scr}
-\inputrefs{idc}{idc}
-\extrefstyle{idc}{\cite[\protect{\theextref}]{idccit}}
-\title{Semantic Crossreferencing}
-\author{Jane Doe}
-\usepackage{hyperref}
-\begin{document}
-\maketitle
-\input{scrmain}
-\begin{thebibliography}{IDC}
-\bibitem[IDC]{idccit}
-John Bull\newblock \href{scr.pdf}{Inter-Document Crossreferencing}\newblock Personal communication
-\end{thebibliography}
-\end{document}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: t
-%%% End:
diff --git a/macros/latex/contrib/stex/sty/sref/scrmain.tex b/macros/latex/contrib/stex/sty/sref/scrmain.tex
deleted file mode 100644
index 044810a103..0000000000
--- a/macros/latex/contrib/stex/sty/sref/scrmain.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-\begin{omgroup}[id=setup]{Setting up Semantic References}
-\begin{omtext}[title=In a nutshell]
- How to set up semantic references? Easy, just use the \texttt{omgroup} environment from
- the \texttt{omdoc} package.
-\end{omtext}
-\end{omgroup}
-\newpage
-\begin{omgroup}[id=testing]{Testing the References}
-Now, we test the referencing mechanism
-\begin{omtext}[title=Internal Referencing]
- First single refrences: \sref{setup} and \sref{testing}, and then compound ones:
- \srefs{setup}{testing}
-\end{omtext}
-
-\begin{omtext}[title=External Referencing]
- First single references: \extref{idc}{mcr} and \extref{idc}{rad}
-% external referencing two: \extrefs{tast}{foo}{bar}
-\end{omtext}
-\end{omgroup}
-%%% Local Variables:
-%%% mode: LaTeX
-%%% TeX-master: "scr"
-%%% End:
diff --git a/macros/latex/contrib/stex/sty/sref/sref.dtx b/macros/latex/contrib/stex/sty/sref/sref.dtx
deleted file mode 100644
index 6c3db26266..0000000000
--- a/macros/latex/contrib/stex/sty/sref/sref.dtx
+++ /dev/null
@@ -1,869 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Class and Package for Semantic Cross-Referencing
-% Copyright (c) 2009 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{sref}[2019/03/20 v1.2 Semantic Cross-References]
-%</package>
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo,sref}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\newrobustcmd\githubissue[1]{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{sref.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{352}
-%
-% \changes{v0.5}{2008/03/28}{split off from omdoc.sty}
-% \changes{v0.6}{2009/12/07}{introducing sequation}
-% \changes{v0.9}{2009/07/14}{using omd for metadata}
-% \changes{v1.0}{2011/12/20}{adding \texttt{\textbackslash sreflabel}}
-% \changes{v1.1}{2013/10/15}{adding fallback argument to \texttt{\textbackslash sref}}
-% \changes{v1.2}{2015/10/27}{\texttt{pre} and \texttt{post} keys to \texttt{\textbackslash sref}}
-%
-% \GetFileInfo{sref.sty}
-%
-% \MakeShortVerb{\|}
-%
-% \def\omdoc{OMDoc}
-% \def\latexml{{\LaTeX}ML}
-% \title{{\texttt{sref.sty}}: Semantic Cross-Referencing in {\LaTeX}\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% The |sref| package is part of the {\sTeX} collection, a version of {\TeX/\LaTeX} that
-% allows to markup {\TeX/\LaTeX} documents semantically without leaving the document
-% format, essentially turning {\TeX/\LaTeX} into a document format for mathematical
-% knowledge management (MKM).
-%
-% The |sref| package supplies an for semantic cross-referencing over multiple documents.
-% \end{abstract}
-%
-%\tableofcontents\newpage
-%
-% \section{Introduction}\label{sec:intro}
-%
-% The automatic computation of cross-references is one of the traditional strong points of
-% {\LaTeX}. However, cross-referencing is limited to labels in the current document
-% only. Cross-referencing between multiple documents in a jointly developed document
-% collection is not easy to achieve in the {\LaTeX} processing model, which reads files
-% sequentially and lacks a path concept.
-%
-% The |sref| package is mainly aimed at package developers. It supplies the internal
-% macros that can be used to make document structuring elements cross-referencable. The
-% general strategy here is to equip the document structuring macros with an
-% \DescribeMacro{id}|id| key, so that the author can specify meaningful ones, but to let
-% the transformation give default ones if the author did not. The value of the |id| key
-% can also be used for cross-referencing like the |\label|/|\ref| mechanism in
-% {\LaTeX}. We implement an independent referencing mechanism, since the referencing model
-% is geared more towards referencing text fragments than text fragment labels like section
-% numbers. Therefore we let the referenced fragments define the reference text much like
-% the |\autoref| macro from |\hpyerref|.
-%
-% \section{The User Interface}\label{sec:user}
-%
-% This package is currently mainly meaningful in the context of the {\sTeX} collection,
-% since all cross-referencable macros and environments must be extended to know about
-% their referencing mechanism. We explain the user interface in \sref{sucrossref}. To port
-% the functionality to other {\LaTeX} classes and packages, they have to be upgraded via
-% the API in \sref{supackage-authors}.
-%
-% \subsection{Package Options}\label{sec:user:options}
-%
-% The |sref| package has the \DescribeMacro{extrefs}|extrefs| package option, which can be
-% set to activate multi-file support (see \sref{suinterdoc}). If the
-% \DescribeMacro{showmeta}|showmeta| is set, then the metadata keys are shown
-% (see~\cite{Kohlhase:metakeys:ctan} for details and customization options).
-%
-% \subsection{Cross-Referencing}\sreflabel{Section}{sucrossref}
-%
-% The \DescribeMacro{\sref}|\sref{|\meta{id}|}| macro is the main cross-referencing macro,
-% see Figure~\ref{fig:mysection} for an example. Depending on the whether macro or
-% environment marking up the respective document fragment carries the key/value pair
-% |id=|\meta{id} the cross-reference will expand to ``Section 2.1'' or ``this remark'',
-% both carrying hyper-references. The |\sref| macro takes an optional key/value argument
-% that allows to customize its behavior: The |linktext| key can be used to specify a link
-% text that overrides the auto-generated one and the |fallback| allows to give the
-% fallback text when the label \meta{id} is not defined. The |pre| and |post| keys allow
-% to specify text that is pre/postpended to the generated label. This is particularly
-% useful if combined with the |fallback| option as in the last |\sref| in
-% Figure~\ref{fig:mysection}, where the generated ``in Section\ldots'' is equivalent to
-% the fallback ``above''.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \mysection[id=foo]{#2}
-% ... \sref{foo} ...
-% ... \sref[linktext=this section]{foo} ...
-% ... \sref[pre={in~},fallback=above]{foo} ...
-% \end{verbatim}
-% \vspace*{-1.5em}
-% \caption{Semantic Crossreferencing}\label{fig:mysection}
-% \end{exfig}
-%
-% The \DescribeMacro{\sreflabel}|\sreflabel|\footnote{It would have been more natural to
-% name the macro \texttt{slabel}, but this is overwritten by other packages without
-% warning.} macro is a variant to the |\label| macro provided by {\LaTeX} proper. It takes
-% two arguments, the first one is a classification (used in |\sref|) and the second one
-% the identifier.
-%
-% The
-% \DescribeMacro{\srefs}|\srefl{|\meta{id\textsuperscript{1}}|}{|\meta{id\textsuperscript{2}}|}|
-% is a variant it |\sref|, only that it allows to reference two semantic objects and
-% expands to ``\meta{reference\textsuperscript{1}} and
-% \meta{reference\textsuperscript{2}}''. \DescribeMacro{\srefl}|\srefl{|\meta{id\textsuperscript{1}}|}{|\meta{id\textsuperscript{n}}|}|
-% is similar, but for ranges; it expands to ``\meta{reference\textsuperscript{1}} to
-% \meta{reference\textsuperscript{n}}''. Its use should be restricted to cases, where the
-% types of objects references are homogenous.
-%
-% Finally, there is a variant \DescribeMacro{\spageref}|\spageref| that only outputs the
-% page number of the referenced object. It can be used in cases where no hyper-referencing
-% is present. It uses the macro \DescribeMacro{\sref@page@label}|\sref@page@label| for
-% styling the page reference. Redefining this will allows to customize this. The default
-% setting is
-% \begin{verbatim}
-% \newcommand\sref@page@label[1]{p.~{#1}}
-% \end{verbatim}
-%
-% \subsection{An API for Package Authors}\sreflabel{Section}{supackage-authors}
-%
-% To make use of the |sref| package, the package must define the document structuring
-% infrastructure using the |sref| internal macros. The {\sTeX} packages already does this,
-% so we make an example here for a slightly upgraded sectioning command in
-% Figure~\ref{fig:mysection:setup}. The first three lines define the keys for the keyval
-% attribute of the |\mysection| command using the infrastructure supplied by the |omd|
-% package~\ctancite{Kohlhase:metakeys} (remember the |\RequirePackage{metakeys}|). The first two just
-% initialize the keys to save the key values in internal macros, and the |\metasetkeys|
-% activates the keys when reading the keyval argument. The
-% \DescribeMacro{\srefaddidkey}|\srefaddidkey| macro is a variant of |\addmetakey| macro
-% supplied by the |sref| package that sets up the keys to set the
-% \DescribeMacro{\sref@id}|\sref@id| register for later use by the |sref|
-% infrastructure. Note that the |\srefaddidkey| macro uses the |prefix| key to
-% systematically construct prefixed identifiers. This can be useful in particular for
-% sectioning commands.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \addmetakey{sec}{short}
-% \addmetakey[black]{sec}{color}
-% \srefaddidkey[prefix=sec.]{sec}
-% \newcommand\mysection[2][]{\metasetkeys{#1}\sref@target\color{\sec@color}
-% \section[\sec@short]{#2}\sref@label@id{Section \thesection}}
-% \end{verbatim}
-% \vspace*{-1.5em}
-% \caption{A slightly upgraded sectioning command}\label{fig:mysection:setup}
-% \end{exfig}
-%
-% In this situation, the |\mysection| macro processes the optional argument with
-% |\metasetkeys| and then sets the color of the section. The
-% \DescribeMacro{\sref@target}|\sref@target| sets up the hyper-target for the |hyperref|
-% package to use. Then we use the regular |\section| command, and we use the
-% \DescribeMacro{\sref@label@id}|\sref@label@id| macro to define the label that the
-% |\sref| macro will use for cross-referencing.
-%
-% Note that the use of the straight use of the label ``Section'', which will be written
-% into the auxiliary files is bad practice since it is not configurable. It would be much
-% better to make it configurable via a presentation macro like |\my@section@label| in
-% Figure~\ref{fig:mysection:configurable}. Then translators or even the user could redefine
-% the |\my@section@label| to adapt them to their needs.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \newcommand\my@section@label[1]{Section~{#1}}
-% \newcommand\mysection[2][]{\metasetkeys{#1}\sref@target\color{\sec@color}
-% \section[\sec@short]{#2}\sref@label@id{\my@section@label\thesection}}
-% \end{verbatim}
-% \vspace*{-1.5em}
-% \caption{A Sectioning Command with Configurable Label}\label{fig:mysection:configurable}
-% \end{exfig}
-%
-% \subsection{Inter-Document Cross-Referencing}\sreflabel{Section}{suinterdoc}
-%
-% |sref.sty| provides inter-document cross-referencing. The use case is simple: we want to
-% have a document collection (e.g. a book with conference proceedings), but also want to
-% be able format the individual documents separately, and still have meaningful
-% cross-references. To show off the possibilities, let us assume that we have a book with
-% two separate papers, which we put into separate directories |idc| and |scr| to minimize
-% interference between the authors Jane Doe and John Bull. To achieve this, we would set
-% up paper driver files |main.tex| like the one in Figure~\ref{fig:paper-driver} in the
-% two directories. These use the \DescribeMacro{\makeextrefs}|\makeextrefs| macro, which
-% causes the |sref| package to generate a {\emph{external references file}}
-% |main.refs|. Note that the |\makeextrefs| macro reads the previous |main.refs| file so
-% that forward-referencing is possible (in the pass after a reference was labeled).
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \documentclass{article}
-% \usepackage[extrefs]{sref}
-% \makeextrefs{idc}
-% \inputrefs{scr}{../scr/main}
-% \extrefstyle{scr}{\cite[\protect{\theextref}]{Doe09}}
-% \title{Inter-Document Crossreferencing}
-% \author{John Bull\\...}
-% \begin{document}\maketitle\input{paper}\end{document}
-% \end{verbatim}
-% \vspace*{-2em}
-% \caption{A document driver {\texttt{idc/main.tex}} for a paper}\label{fig:paper-driver}
-% \end{exfig}
-%
-% The external references file can be read by other documents; in
-% Figure~\ref{fig:paper-driver}, we read the references file of Jane Doe's paper via the
-% \DescribeMacro{\inputrefs}|\inputrefs| macro. This allows John Bull to use\footnote{Note
-% that the external references file is updated every time {\LaTeX} is run, so that
-% references may be off by one version.} references like
-% \DescribeMacro{\extref}|\extref{scr}{foo}| to reference document fragments in Jane Doe's
-% paper she has labeled with the {\emph{reference prefix}} |\sreflabel{foo}| (assuming that
-% she has added |\makeextrefs{scr}| in the preamble of her paper). Note that just as the
-% |\sref| macro |\extref| takes an optional first argument that allows to specify the link
-% text. Here, John Bull uses the \DescribeMacro{\extrefstyle}|\extrefstyle| macro to
-% specify how the external references are to be formatted, in this case he decided to use a
-% {\LaTeX} citation. Generally, first argument of the |\extrefstyle| macro is the
-% reference prefix which should be configured, and the second is the format, where the
-% \DescribeMacro{\theextref}|\theextref| macro expands to the cross-reference. In this
-% case, John chose to use a bib{\TeX} citation (he has an entry |Doe09| in his database)
-% for the reference to the external paper.
-%
-% As the content of the respective paper is input from a file |paper.tex| in the
-% individual papers, we can re-use these in the book. To do this we set up a book driver
-% file like the one in Figure~\ref{fig:book-driver}. This one does not use the |extrefs|
-% option, so the references are written to the |.aux| file. Furthermore |\extref| is
-% redefined to act like |\sref| disregarding the first required argument. Thus all
-% references work like they should.
-% \begin{exfig}
-% \begin{verbatim}
-% \documentclass{book}
-% \usepackage{sref}
-% \title{Cross-Referencing in {\LaTeX}}
-% \author{Elder Reseacher}
-% \begin{document}
-% \maketitle
-% \chapter{Semantic Crossreferencing (Jane Doe, ...)}
-% \input{scr/paper}\newpage
-% ...
-% \chapter{Inter-Document Crossreferencing (John Bull, ...)}
-% \input{idc/paper}\newpage
-% \end{document}
-% \end{verbatim}
-% \vspace*{-2em}
-% \caption{A document driver for the book assembling the papers}\label{fig:book-driver}
-% \end{exfig}
-%
-% This example has been carried through (without the separation of chapters in to
-% subdirectories) in the files accompanying the source distribution of the |sref|
-% package. They are used for testing the package.
-%
-% \subsection{Semantic Versions of Commonly used Referencing Commands}\label{sec:user:common}
-%
-% The |sref| package defines semantically referencable versions of commonly used {\LaTeX}
-% environments and command sequences.\footnote{This section will be extended by need, so
-% if you miss some semantic environment, please contact the package author, or (better)
-% file an issue at~\cite{sTeX:github:on})}
-%
-% The \DescribeEnv{sequation}|sequation| environment takes an optional key/value argument
-% that allows to specify an identifier and unifies the behavior of the |equation| (if an
-% |id| key is given) and |displaymath| (else) environments. So the markup
-% \begin{exfig}
-% \begin{verbatim}
-% A semantic equation with id
-% \begin{sequation}[id=foo]
-% e^{mc}=-1
-% \end{sequation}
-% and another one without id
-% \begin{sequation}
-% e^{mc}=-1
-% \end{sequation}
-% now, we reference the first equation: \sref{foo}
-% \end{verbatim}
-% \vspace*{-1.5em}\hrule
-% yields the result:\hrule
-% A semantic equation with id
-% \begin{sequation}[id=foo]
-% e^{mc}=-1
-% \end{sequation}
-% and another one without id
-% \begin{sequation}
-% e^{mc}=-1
-% \end{sequation}
-% now, we reference the first equation: \sref{foo}
-% \caption{Semantic Equation}\label{fig:sequation}
-% \end{exfig}
-%
-% \subsection{Semantic Citations}\label{sec:user:citations}
-%
-% \withcite{Patashnik:b88}{bib\TeX} and \withcite{Lehmann:biblatex10}{bib\LaTeX} provide a
-% semi-semantic way of referencing literature. If we look at the
-% \begin{withcitation}{LasSwi:rdf99}
-% current practice of citing from an RDF standpoint~\citeit which views links as
-% subject/predicate/object triples,
-% \end{withcitation}
-% then the treatment of the predicate and object are semantic, but the subject is hinted
-% at by mere juxtaposition in the text. The |sref| package helps out here via the
-% \DescribeMacro{\withcite} macro for short subjects (in the second argument) that are
-% postfixed by the citation (key in the first argument). For instance the occurrence at
-% the beginning of this paragraph was created by
-% \begin{verbatim}
-% \withcite{Patashnik:b88}{bib\TeX}
-% \end{verbatim}
-% The general case is covered by the \DescribeEnv{withcitation}|withcitation| environment
-% for long subjects. In the latter, the citation can be placed by the
-% \DescribeMacro{\citeit}. For instance, the second sentence was marked up as
-% \begin{verbatim}
-% If we look at the
-% \begin{withcitation}{LasSwi:rdf99}
-% current practice of citing from an RDF standpoint which views links as
-% subject/predicate/object triples,
-% \end{withcitation}
-% then the treatment of the predicate ...
-% \end{verbatim}
-% The advantage of this treatment is that the meaning of the reference is fully marked up
-% and can be taken advantage of in the \omdoc transformation, from which RDF triples can
-% then be harvested for a linked open data treatment.
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item currently only the |\sref| macro has a fallback argument. The others |\srefs| and
-% |\srefl| and their external variants should also have them, but I am not clear what
-% the adequate invocation pattern would be.
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-% \newpage
-%
-% \section{Implementation}\label{sec:impl}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false).\ednote{need an implementation for {\latexml}}
-%
-% \begin{macrocode}
-%<*package>
-\newif\ifextrefs\extrefsfalse
-\DeclareOption{extrefs}{\extrefstrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{metakeys}}
-\ProcessOptions
-% \end{macrocode}
-%
-% Then we need to set up the packages by requiring the |metakeys| package~\ctancite{Kohlhase:metakeys}
-% to be loaded (in the right version).
-%
-% \begin{macrocode}
-\RequirePackage{metakeys}
-\RequirePackage{xspace}
-\RequirePackage{etoolbox}
-% \end{macrocode}
-%
-% \subsection{Crossreferencing}\label{sec:impl:crossref}
-%
-% The following user-level macros just use the |\sref@hlink| macros in various ways for
-% internal referencing.\ednote{they need implementation in LaTeXML, the ones here only are
-% stubs to make the error messages shut up.}
-%
-% \begin{macro}{\sref}
-% First we declare the keys for |\sref|. |\sref@part| will be globally defined when
-% |\makeextrefs| is called.
-% \begin{macrocode}
-\addmetakey{sref}{linktext}
-\addmetakey{sref}{fallback}
-\addmetakey{sref}{pre}
-\addmetakey{sref}{post}
-\newcommand\sref[2][]{%
- \metasetkeys{sref}{#1}%
- \ifcsundef{sref@part}{%
- \sref@hlink[\sref@linktext]{#2}{\sref@fallback}{\sref@pre}{\sref@post}%
- }{%
- \sref@hlink[\sref@linktext]{\sref@part @#2}{\sref@fallback}{\sref@pre}{\sref@post}%
- }%
- \xspace%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\srefs}
-% \begin{macrocode}
-\newcommand\srefs[3][]{%
- \def\@test{#1}%
- \ifx\@test\@empty%
- \sref{#2} and \sref{#3}%
- \else%
- #1%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\srefl}
-% \begin{macrocode}
-\newcommand\srefl[3][]{%
- \def\@test{#1}%
- \ifx\@test\@empty%
- \sref{#2} to \sref{#3}%
- \else%
- #1%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-% \ednote{it is not clear what we want in the LaTeXML implementation of spageref}
-% \begin{macro}{\spageref}
-% \begin{macrocode}
-\newcommand\spageref[1]{%
- \ifcsundef{sref@part}{%
- \sref@pageref{#1}%
- }{%
- \sref@pageref{\sref@part @#1}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{An API for Package Authors}\label{sec:impl:package-authors}
-%
-% We find out whether the |hyperref| package is loaded, since we may want to use it for
-% cross-references, for which we set up some internal macros that gracefully degrade if
-% |hyperref| is not loaded.
-%
-% \begin{macro}{\sref@*@ifh}
-% \begin{macrocode}
-\newif\ifhref\hreffalse%
-\AtBeginDocument{%
- \@ifpackageloaded{hyperref}{%
- \hreftrue%
- }{%
- \hreffalse%
- }%
-}%
-\newcommand\sref@href@ifh[2]{%
- \ifhref%
- \href{#1}{#2}%
- \else%
- #2%
- \fi%
-}%
-\newcommand\sref@hlink@ifh[2]{%
- \ifhref%
- \hyperlink{#1}{#2}%
- \else%
- #2%
- \fi%
-}%
-\newcommand\sref@target@ifh[2]{%
- \ifhref%
- \hypertarget{#1}{#2}%
- \else%
- #2%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% Then we provide some macros for {\sTeX}-specific crossreferencing
-%
-% \begin{macro}{\sref@target}
-% The next macro uses this and makes an target from the current |sref@id| declared by
-% a |id| key.
-% \begin{macrocode}
-\def\sref@target{%
- \ifx\sref@id\@empty%
- \relax%
- \else%
- \edef\@target{sref@\ifcsundef{sref@part}{}{\sref@part @}\sref@id @target}%
- \sref@target@ifh\@target{}%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% The next two macros are used for setting labels, it is mainly used for enabling forward
-% references, to do this, it is written into \meta{jobname}|.aux| or \meta{jobname}|.refs|.
-%
-% \begin{macro}{\@sref@def}
-% This macro stores the value of its last argument in a custom macro for reference.
-% \begin{macrocode}
-%\newcommand\@sref@def[3]{\expandafter\gdef\csname sref@#1@#2\endcsname{#3}}
-\newcommand\@sref@def[3]{\csgdef{sref@#1@#2}{#3}}
-% \end{macrocode}
-% \end{macro}
-%
-% The next step is to set up a file to which the references are written, this is normally
-% the |.aux| file, but if the |extref| option is set, we have to use an |.ref| file.
-% \begin{macrocode}
-\ifextrefs%
- \newwrite\refs@file%
-\else%
- \def\refs@file{\@auxout}%
-\fi%
-% \end{macrocode}
-%
-% \begin{macro}{\sref@def}
-% This macro writes an |\@sref@def| command to the current aux file and also executes it.
-% \begin{macrocode}
-\newcommand\sref@def[3]{%
- %\@sref@def{#1}{#2}{#3}%
- \protected@write\refs@file{}{\string\@sref@def{#1}{#2}{#3}}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\srefaddidkey}
-% |\srefaddidkey[|\meta{keyval}|]{|\meta{group}|}| extends the metadata keys of the
-% group \meta{group} with an |id| key. In the optional key/value pairs in \meta{keyval}
-% the |prefix| key can be used to specify a prefix. Note that the |id| key defined by
-% |\srefaddidkey[|\meta{keyval}|]{|\meta{group}|}| not only defines |\sref@id|, which is
-% used for referencing by the |sref| package, but also |\|\meta{group}|@id|, which is
-% used for showing metadata via the |showmeta| option of the |metakeys| package.
-% \begin{macrocode}
-\addmetakey{srefaddidkey}{prefix}
-\newcommand\srefaddidkey[2][]{%
- \metasetkeys{srefaddidkey}{#1}%
- \@metakeys@ext@clear@keys{#2}{sref@id}{}% id cannot have a default
- \metakeys@ext@clear@keys{#2}{id}{}%
- \metakeys@ext@showkeys{#2}{id}%
- \define@key{#2}{id}{%
- \edef\sref@id{\srefaddidkey@prefix ##1}%
- %\expandafter\edef\csname #2@id\endcsname{\srefaddidkey@prefix ##1}%
- \csedef{#2@id}{\srefaddidkey@prefix ##1}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Inter-Document Crossreferencing}\label{sec:impl:interdoc}
-%
-% \begin{macro}{\makeextrefs}
-% \begin{macrocode}
-\newcommand\makeextrefs[1]{%
- \gdef\sref@part{#1}%
- \makeatletter%
- \IfFileExists{\jobname.refs}{\input{\jobname.refs}}{}%
- \immediate\openout\refs@file=\jobname.refs
- \makeatother%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sref@label}
-% The |\sref@label| macro writes a label definition to the auxfile.
-% \begin{macrocode}
-\newcommand\sref@label[2]{%
- \sref@def{\ifcsundef{sref@part}{}{\sref@part @}#2}{page}{\thepage}%
- \sref@def{\ifcsundef{sref@part}{}{\sref@part @}#2}{label}{#1}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sreflabel}
-% The |\sreflabel| macro is a semantic version of |\label|, it combines the categorization
-% given in the first argument with {\LaTeX}'s |\@currentlabel|.
-% \begin{macrocode}
-\newcommand\sreflabel[2]{\sref@label{#1 \@currentlabel}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sref@label@id}
-% The |\sref@label@id| writes a label definition for the current |\sref@id| if it is
-% defined.
-% \begin{macrocode}
-\newcommand\sref@label@id[1]{%
- \ifx\sref@id\@empty%
- \relax%
- \else%
- \sref@label{#1}{\sref@id}%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sref@label@id@arg}
-% The |\sref@label@id@arg| writes a label definition for the second argument if it is
-% defined.
-% \begin{macrocode}
-\newcommand\sref@label@id@arg[2]{%
- \def\@@id{#2}
- \ifx\@@id\@empty%
- \relax%
- \else%
- \sref@label{#1}{\@@id}%
- \fi%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% Finally we come to the user visible macro |\sref| which is used for
-% referencing.\ednote{The {\latexml} does not take into account the optional argument
-% yet.}
-%
-% \begin{macro}{\sref@hlink}
-% |\sref@hlink[|\meta{alt}|]{|\meta{label}|}{|\meta{fallback}|}{|\meta{pre}|}{|\meta{post}|}|
-% creates an error message if the target specified by \meta{label} is not defined (but
-% uses \meta{fallback} if provided), and otherwise generates a hyperlinked reference
-% whose link text is \meta{alt} (if the optional argument is given) and the label
-% generated by object specified by \meta{label} otherwise.
-% \begin{macrocode}
-\newcommand\sref@hlink[5][]{%
- \edef\@linktext{#1}%
- \edef\@fallback{#3}%
- \ifcsundef{sref@#2@label}{%
- \ifx\@fallback\@empty% warn about undefined links and show a substitute
- \protect\G@refundefinedtrue\PackageWarning{sref}{reference #2 undefined}%
- \ifx\@linktext\@empty%
- ?#2?%
- \else%
- \@linktext%
- \fi%
- \else%
- \protect\G@refundefinedtrue\PackageWarning{sref}{using fallback for undefined reference #2}%
- \@fallback%
- \fi
- }{%
- \edef\@link{#4\@nameuse{sref@#2@label}#5}% retrieve the reference label and prepost it
- \ifx\@linktext\@empty%
- \sref@hlink@ifh{sref@#2@target}{\@link}%
- \else%
- \sref@hlink@ifh{sref@#2@target}{\@linktext}%
- \fi%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sref@page@label}
-% This macro styles a page reference.
-% \begin{macrocode}
-\newcommand\sref@page@label[1]{p.~{#1}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sref@pageref}
-% The next macro creates an error message if the target is not defined, and otherwise
-% generates a page reference.
-% \begin{macrocode}
-\newcommand\sref@pageref[1]{%
- \ifcsundef{sref@#1@page}{%
- \protect\G@refundefinedtrue\PackageWarning{sref}{reference #1 undefined}\sref@page@label{??}%
- }{%
- \sref@hlink@ifh{sref@#1@target}{\sref@page@label{\@nameuse{sref@#1@page}}}%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\sref@href}
-% The next macro creates an error message if the target is not defined, and otherwise
-% generates a hyperlinked reference.
-% \begin{macrocode}
-\newcommand\sref@href[3][]{%
- \edef\@linktext{#1}%
- \ifcsundef{sref@#2@label}{%
- \protect\G@refundefinedtrue\PackageWarning{sref}{reference #2 undefined}??%
- }{%
- \ifcsundef{sref@#3@URI}{%
- \protect\G@refundefinedtrue\PackageWarning{sref}{external refs of type #3 undefined}??%
- }{%
- \edef\@uri{\@nameuse{sref@#3@URI}.pdf\#sref@#2@target}%
- \edef\@label{\ifx\@linktext\@empty\@nameuse{sref@#2@label}\else\@linktext\fi}%
- \sref@href@ifh\@uri\@label%
- }%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\extref}
-% The next macros use |\sref@href| with the respective prefix for external referencing
-% if external references are used as indicated by the |extrefs| option; otherwise it
-% disregards the first required macro and uses internal referencing.\ednote{This needs
-% to be implemented on the LaTeXML side.}
-% \begin{macrocode}
-\ifextrefs%
- \newcommand\extref[3][]{%
- \def\theextref{\sref@href[#1]{#2@#3}{#2}}%
- \csname doextref@#2\endcsname%
- }%
-\else%
- \newcommand\extref[3][]{\sref[#1]{#3}}%
-\fi%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\extpageref}
-% The next macros use |\sref@pagref| with the respective prefix for external referencing
-% if external references are used as indicated by the |extrefs| option; otherwise it
-% disregards the first required macro and uses internal referencing.\ednote{This needs
-% to be implemented on the LaTeXML side.}
-% \begin{macrocode}
-\ifextrefs%
- \newcommand\extpageref[3][]{%
- \def\theextref{\sref@pageref{#2@#3}}%
- \csname doextpageref@#2\endcsname%
- }%
-\else%
- \newcommand\extpageref[3][]{\spageref{#3}}%
-\fi%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\extrefstyle}
-% This user macro defines an internal macro that is used for internal styling; for
-% instance |\extrefstyle{foo}{\theextref in bar}| defines the macro |\doextref@foo|
-% which evaluates to \meta{the reference} |in bar|. This is used in the |\extref| macro.
-% \begin{macrocode}
-%\newcommand\extrefstyle[2]{\expandafter\gdef\csname doextref@#1\endcsname{#2}}%
-\newcommand\extrefstyle[2]{\csgdef{doextref@#1}{#2}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\extpagerefstyle}
-% This is analogous to |\extrefstyle|
-% \begin{macrocode}
-%\newcommand\extpagerefstyle[2]{\expandafter\gdef\csname doextpageref@#1\endcsname{#2}}%
-\newcommand\extpagerefstyle[2]{\csgdef{doextpageref@#1}{#2}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\inputrefs}
-% If the external references file exists, it is read (under the protection of
-% |\makeatother|) otherwise an error message is displayed.
-% \begin{macrocode}
-\newcommand\inputrefs[2]{%
- %\@namedef{sref@#1@URI}{#2}%
- \csdef{sref@#1@URI}{#2}%
- \extrefstyle{#1}{\theextref}\extpagerefstyle{#1}{\theextref}%
- \makeatletter%
- \IfFileExists{#2.refs}{%
- \message{Reading external references: #2.refs}\input{#2.refs}%
- }{%
- \PackageError{sref}{Reference file #2.refs does not exist}%
- {Maybe you have to run LaTeX on #2.tex first}}%
- \makeatother%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Semantic Versions of Commonly used Referencing Commands}\label{sec:impl:common}
-%
-% \begin{environment}{sequation}
-% \begin{macrocode}
-\srefaddidkey{sequation}%
-\def\sref@sequation@heading{equation}%
-\newenvironment{sequation}[1][]{%
- \metasetkeys{sequation}{#1}%
- \ifx\sref@id\@empty%
- \begin{displaymath}%
- \else% no id, using equation*
- \begin{equation}%
- \sref@target\sref@label@id{\sref@sequation@heading~(\theequation)}%
- \fi%
-}{%
- \ifx\sref@id\@empty%
- \end{displaymath}%
- \else%
- \end{equation}%
- \fi%
-}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{seqnarray}
-% \begin{macrocode}
-\newenvironment{seqnarray}[1][]{%
- \metasetkeys{sequation}{#1}%
- \begin{eqnarray*}%
- \sref@target%
- \sref@label@id{\sref@sequation@heading~(\theequation)}%
-}{%
- \end{eqnarray*}%
-}%
-% \end{macrocode}
-% \end{environment}
-%
-% \subsection{Semantic Citations}\label{sec:impl:citations}
-%
-% \begin{macro}{withcite}
-% \begin{macrocode}
-\newcommand\withcite[2]{#2~\cite{#1}}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{withcitation}
-% \begin{macrocode}
-\newenvironment{withcitation}[1]{\def\citeit{\cite{#1}\xspace}}{}%
-%</package>
-% \end{macrocode}
-% \end{environment}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-% LocalWords: GPL structuresharing STR omdoc dtx stex CPERL LoadClass url dc sreflabel
-% LocalWords: RequirePackage RegisterNamespace namespace xsl DocType ltxml dtd filedate
-% LocalWords: ltx DefEnvironment beforeDigest AssignValue inPreamble getGullet slabel
-% LocalWords: afterDigest keyval omgroup DefKeyVal Semiverbatim KeyVal iffalse rangle
-% LocalWords: OptionalKeyVals DefParameterType IfBeginFollows skipSpaces CMP sucrossref
-% LocalWords: ifNext DefMacro needwrapper unlist DefConstructor omtext bgroup suinterdoc
-% LocalWords: useCMPItemizations RefStepItemCounter egroup beginItemize li di rangle
-% LocalWords: beforeDigestEnd useTheoryItemizations dt autoclose ul ol dl env xspace
-% LocalWords: afterOpen LastSeenCMP autoClose proto ToString textsuperscript withhash
-% LocalWords: addAttribute nlex nlcex omdocColorMacro args tok MergeFont qw oref XMath
-% LocalWords: TokenizeInternal toString isMath foreach maybeCloseElement id'd extpageref
-% LocalWords: autoOpen minipage footnotesize scriptsize numberIt whatsit href citenode
-% LocalWords: getAttribute setAttribute OMDoc RelaxNGSchema noindex xml lec hypertarget
-% LocalWords: Subsubsection useDefaultItemizations refundefinedtrue blockquote findnodes
-% LocalWords: DefCMPConstructor inlinequote idx idt ide idp emph sref extrefs endinput
-% LocalWords: flushleft flushright DeclareOption hyperref LaTeX tex pdf hlink behavior
-% LocalWords: sequation omd def texorpdfstring raisebox latexml texttt newpage etoolbox
-% LocalWords: fileversion maketitle tableofcontents autoref hpyerref mysection ifcsundef
-% LocalWords: exfig vspacesrefaddidkey srefaddidkey scr vspace withcite LasSwi csgdef
-% LocalWords: makeextrefs inputrefs extref foo Patashnik withcite biblatex10 sref@pagref
-% LocalWords: extrefstyle theextref theextref displaymath hrule impl ednote sref@ifundef
-% LocalWords: printbibliography newif ifextrefs extrefsfalse extrefstrue srefs csedef
-% LocalWords: Crossreferencing newrobustcmd ifundefined ifx srefl xref ifh gdef csdef
-% LocalWords: ifhref hreffalse ifpackageloaded hreftrue expandafter jobname doextpageref
-% LocalWords: jobname csname endcsname newwrite auxout makeatletter openout initialize
-% LocalWords: makeatother auxfile nameuse doextref namedef newenvironment NeedsTeXFormat
-% LocalWords: theequation refnum refnum seqnarray eqnarray endseqnarray doctex ldots
-% LocalWords: textsuperscript spageref spageref thepage pageref ctancite rdf99 prepost
-% LocalWords: cross-referencable showmeta showmeta metakeys metasetkeys textsf
-% LocalWords: addmetakey referencable langle textsf langle withcitation citeit
-% LocalWords: compactenum textbackslash supackage-authors extpagerefstyle customization
-% LocalWords: categorization postpended
diff --git a/macros/latex/contrib/stex/sty/sref/sref.ins b/macros/latex/contrib/stex/sty/sref/sref.ins
deleted file mode 100644
index 195dace45b..0000000000
--- a/macros/latex/contrib/stex/sty/sref/sref.ins
+++ /dev/null
@@ -1,30 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex sref.ins
-%%
-%% Copyright(c) 2009 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{sref.sty}{\from{sref.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/sref/sref.pdf b/macros/latex/contrib/stex/sty/sref/sref.pdf
deleted file mode 100644
index d78872018e..0000000000
--- a/macros/latex/contrib/stex/sty/sref/sref.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/statements/README b/macros/latex/contrib/stex/sty/statements/README
deleted file mode 100644
index 2f214e6806..0000000000
--- a/macros/latex/contrib/stex/sty/statements/README
+++ /dev/null
@@ -1,9 +0,0 @@
-statements.sty: A LaTeX Package for mathematical Statements
-
-This package and class supplies a the infrastructure for writing OMDoc statements
-(see http://www.omdoc.org) in LaTeX.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/statements/statements.dtx b/macros/latex/contrib/stex/sty/statements/statements.dtx
deleted file mode 100644
index 3d839be5fb..0000000000
--- a/macros/latex/contrib/stex/sty/statements/statements.dtx
+++ /dev/null
@@ -1,1304 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for Mathematical Statements in sTeX
-% Copyright (C) 2004-2008 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{statements}[2019/03/20 v1.4 Semantic Markup for Statements]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{url,array,float,amsfonts}
-\usepackage{statements,presentation}
-\usepackage{paralist}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{statements.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{809}
-%
-% \changes{v0.9}{2005/06/14}{First Version with Documentation}
-% \changes{v0.9a}{2005/07/01}{Completed Documentation}
-% \changes{v0.9b}{2005/08/06}{Complete functionality and Updated Documentation}
-% \changes{v0.9c}{2006/01/13}{more packaging}
-% \changes{v0.9d}{2007/09/09}{moved omtext and friends to the omdoc package}
-% \changes{v0.9d}{2007/09/09}{made dependence on the omdoc package explicit}
-% \changes{v0.9d}{2007/09/09}{adding ids to many elements}
-% \changes{v0.9e}{2008/05/27}{adding cross-references}
-% \changes{v0.9e}{2008/09/29}{augmenting the index macros with optional values}
-% \changes{v0.9f}{2008/12/04}{changed 'consymb' to 'symboldec' and documented it.}
-% \changes{v0.9g}{2010/01/14}{the package is now based on {\texttt{ntheorem for presentation}}}
-% \changes{v0.9g}{2010/01/19}{Added support for localization}
-% \changes{v0.9g}{2010/02/23}{added {\texttt{\textbackslash symref}}}
-% \changes{v1.0}{2010/06/18}{now based on {\texttt{omtext}} package instead of {\texttt{omdoc}}}
-% \changes{v1.0}{2010/07/13}{adding {\texttt{\textbackslash inlineex}}}
-% \changes{v1.1}{2011/08/25}{renaming all convenience macros for {\texttt{\textbackslash
-% definendum}} and {\texttt{\textbackslash termref}}}
-% \changes{v1.1}{2012/07/06}{adding \texttt{\textbackslash usevocab} to example for importing}
-% \changes{v1.1}{2013/05/17}{more support for types: \texttt{typedec} and
-% \texttt{\textbackslash inlinetypedec}}
-% \changes{v1.2}{2015/04/03}{adding optional last arg to \texttt{\textbackslash \*defi*}}
-% \changes{v1.2}{2015/04/17}{adding \texttt{\textbackslash inlineass}}
-% \changes{v1.2}{2015/09/05}{adding \texttt{\textbackslash defis} and friends}
-% \changes{v1.3}{2017/07/31}{adding \texttt{\textbackslash Defi}, \texttt{\textbackslash Trefi} and friends}
-% \changes{v1.4}{2017/10/15}{changing the optional argument of \texttt{\textbackslash
-% defi} and friends to a keyval argument}
-%
-% \GetFileInfo{statements.sty}
-%
-% \MakeShortVerb{\|}
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\xml{\scsys{Xml}}
-% \def\mathml{\scsys{MathML}}
-% \def\omdoc{\scsys{OMDoc}}
-% \def\openmath{\scsys{OpenMath}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\perl{\scsys{Perl}}
-% \def\activemath{\scsys{ActiveMath}}
-% \title{Semantic Markup for Mathematical Statements\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% The |statements| package is part of the {\stex} collection, a version of {\TeX/\LaTeX}
-% that allows to markup {\TeX/\LaTeX} documents semantically without leaving the
-% document format, essentially turning {\TeX/\LaTeX} into a document format for
-% mathematical knowledge management (MKM).
-%
-% This package provides semantic markup facilities for mathematical statements like
-% Theorems, Lemmata, Axioms, Definitions, etc. in {\stex} files. This structure can be
-% used by MKM systems for added-value services, either directly from the {\sTeX}
-% sources, or after translation.
-% \end{abstract}
-%
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-% \section{Introduction}\label{sec:intro}
-%
-% The motivation for the |statements| package is very similar to that for semantic macros
-% in the |modules| package: We want to annotate the structural semantic properties of
-% statements in the source, but present them as usual in the formatted documents. In
-% contrast to the case for mathematical objects, the repertoire of mathematical statements
-% and their structure is more or less fixed.
-%
-% This structure can be used by MKM systems for added-value services, either directly from
-% the {\sTeX} sources, or after translation. Even though it is part of the {\stex}
-% collection, it can be used independently, like it's sister package |sproofs|.
-%
-% {\stex}~\cite{Kohlhase:ulsmf08,sTeX:online} is a version of {\TeX/\LaTeX} that allows to
-% markup {\TeX/\LaTeX} documents semantically without leaving the document format,
-% essentially turning {\TeX/\LaTeX} into a document format for mathematical knowledge
-% management (MKM). Currently the {\omdoc} format~\cite{Kohlhase:OMDoc1.2} is directly
-% supported.
-%
-% \section{The User Interface}\label{sec:user-interface}
-%
-% The |statements| package supplies a semantically oriented infrastructure for marking up
-% mathematical statements: fragments of natural language that state properties of
-% mathematical objects, e.g. axioms, definitions, or theorems. The |statement| package
-% provides an infrastructure for marking up the semantic relations between statements for
-% the {\omdoc} transformation and uses the |ntheorem| package~\cite{MaySch:eltte09} for
-% formatting (i.e. transformation to PDF).
-%
-% \subsection{Package Options}\label{sec:user:options}
-%
-% The |statements| package provides the \DescribeMacro{defindex}|defindex| option to
-% \sTeX. If this is set, then definienda are automatically passed into the index of the
-% document. Furthermore, the |statements| package passes the
-% \DescribeMacro{showmeta}|showmeta| to the |metakeys| package. If this is set, then the
-% metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for details and customization
-% options). The |nontheorem| option tells statements not to load the |ntheorem| package --
-% in case some other theorem package is already loaded; e.g. by the |beamer| package and
-% we prefer that. Note that using the |nontheorem| option in a case where no theorem
-% package is loaded will lead to errors.
-%
-% \subsection{Statements}\label{sec:statements}
-%
-% All the statements are marked up as environments, that take a |KeyVal| argument that
-% allows to annotate semantic information. Generally, we distinguish two forms of
-% statements:
-% \begin{description}
-% \item[{\twintoo{block}{statement}s}] have explicit discourse markers that delimit their
-% content in the surrounding text, e.g. the boldface word ``{\bf{Theorem}:}'' as a start
-% marker and a little line-end box as an end marker of a proof.
-% \item[{\twintoo{flow}{statement}s}] do not have explicit markers, they are interspersed
-% with the surrounding text.
-% \end{description}
-% Since they have the same semantic status, they must both be marked up, but styled
-% differently. We distinguish between these two presentational forms with the
-% \DescribeMacro{display=}|display| key, which is allowed on all statement
-% environments. If it has the value |block| (the default), then the statement will be
-% presented in a paragraph of its own, have explicit discourse markers for its begin and
-% end, possibly numbering, etc. If it has the value |flow|, then no extra presentation
-% will be added the semantic information is invisible to the reader. Another key that is
-% present on all statement environments in the \DescribeMacro{id=}|id| key it allows to
-% identify the statement with a name and to reference it with the semantic referencing
-% infrastructure provided by the |sref| package~\ctancite{Kohlhase:sref}.
-%
-% \subsubsection{Axioms and Assertions}\label{sec:user:axiomassertion}
-%
-% The \DescribeEnv{assertion}|assertion| environment is used for marking up statements
-% that can be justified from previously existing knowledge (usually marked with the
-% monikers ``Theorem'', ``Lemma'', ``Proposition'', etc. in mathematical vernacular). The
-% environment |assertion| is used for all of them, and the particular subtype of
-% assertion is given in the \DescribeMacro{type=}|type| key. So instead of
-% |\begin{Lemma}|\iffalse\end{Lemma}\fi we have to write
-% |\begin{assertion}[type=lemma]|\iffalse\end{assertion}\fi (see
-% Example~\ref{fig:assertion} for an example).
-% \begin{exfig}
-% \begin{verbatim}
-% \begin{assertion}[id=sum-over-odds,type=lemma]
-% $\sum_{i=1}^n{2i-1}=n^2$
-% \end{assertion}
-% \end{verbatim}
-% \vspace{-1em}will lead to the result\vspace{-2em}\par\noindent
-% \begin{assertion}[id=sum-over-odds,type=lemma]
-% $\sum_{i=1}^n{2i-1}=n^2$
-% \end{assertion}
-% \caption{Semantic Markup for a Lemma in a {\texttt{module}} context}\label{fig:assertion}
-% \end{exfig}
-%
-% Whether we will see the keyword ``Lemma'' will depend on the value of the optional
-% |display| key. In all of the |assertion| environments, the presentation expectation is
-% that the text will be presented in italic font. The presentation (keywords, spacing, and
-% numbering) of the |assertion| environment is delegated to a theorem styles from the
-% |ntheorem| environment. For an assertion of type \meta{type} the |assertion| environment
-% calls the |ST|\meta{type}|AssEnv| environment provided by the |statements| package; see
-% Figure~\ref{fig:assertion-types} for a list of provided assertion types. Their
-% formatting can be customized by redefining the |ST|\meta{type}|AssEnv| environment via
-% the |\renewtheorem| command from the |ntheorem| package; see~\cite{MaySch:eltte09} for
-% details.
-%
-% \begin{exfig}
-% \begin{tabular}{|l|l|}\hline
-% Value & Explanation \\\hline\hline
-% \textbf{theorem}, \textbf{proposition}
-% & an important assertion with a proof\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize Note that the meaning of \textbf{theorem}
-% (in this case the existence of a proof) is not
-% enforced by {\omdoc} applications. It can be appropriate to give an assertion
-% the \textbf{theorem}, if the
-% author knows of a proof (e.g. in the literature), but has not formalized it in
-% {\omdoc} yet.}\\\hline\hline
-% \textbf{lemma} & a less important assertion with a proof\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize The difference of importance specified
-% here is even softer than the other ones, since e.g. reusing
-% a mathematical paper as a chapter in a larger monograph, may make it necessary to
-% downgrade a theorem (e.g. the main theorem of the paper) and give it the status of
-% a lemma in the overall work.}\\\hline\hline
-% \textbf{corollary} & a simple consequence\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize An assertion is
-% sometimes marked as a corollary to some other statement, if the proof is
-% considered simple. This is often the case for important theorems that are simple
-% to get from technical lemmata.}\\\hline\hline
-% \textbf{postulate}, \textbf{conjecture}
-% & an assertion without proof or counter-exam\-ple\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize Conjectures are assertions, whose
-% semantic value is not yet decided, but which the author considers likely to be
-% true. In particular, there is no proof or counter-example.}\\\hline\hline
-% \textbf{false-conjecture}
-% & an assertion with a counter-example\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize A conjecture that has proven to be false,
-% i.e. it has a counter-example. Such assertions are often kept for illustration and
-% historical purposes.}\\\hline\hline
-% \textbf{obligation}, \textbf{assumption}
-% & an assertion on which a proof of another depends\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize These kinds of assertions
-% are convenient during the exploration of a mathematical theory. They can be used
-% and proven later (or assumed as an axiom).}\\\hline\hline
-% \textbf{rule}
-% & a normative assertion\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize These kinds of assertions can be interpreted
-% procedurally to trigger actions}\\\hline\hline
-% \textbf{observation}, \textbf{remark} & if everything else fails\\\hline
-% \multicolumn{2}{|p{12cm}|}{\footnotesize This type is the catch-all if none of the others
-% applies.}\\\hline
-% \end{tabular}
-% \caption{Types of Mathematical Assertions}\label{fig:assertion-types}
-% \end{exfig}
-%
-% \DescribeEnv{axiom} The |axiom| environment is similar to |assertion|, but the content
-% has a different ontological status: axioms are assumed without (formal) justification,
-% whereas assertions are expected to be justified from other assertions, axioms or
-% definitions. This environment relegates the formatting to the |STaxiomEnv| environment,
-% which can be redefined for configuration.
-%
-% \subsubsection{Symbols}\label{sec:user:symbol}
-%
-% \DescribeEnv{symboldec} The |symboldec| environment can be used for declaring concepts
-% and symbols. Note the the |symdef| forms from the |modules| package will not do this
-% automatically (but the |definition| environment and the |\inlinedef| macro will for all
-% the definienda; see below). The |symboldec| environment takes an optional keywords
-% argument with the keys |id|, |role|, |title| and |name|. The first is for general
-% identification, the |role| specifies the {\openmath}/{\omdoc} role, which is one of
-% |object|, |type|, |sort|, |binder|, |attribution|, |application|, |constant|,
-% |semantic-attribution|, and |error| (see the {\omdoc} specification for details). The
-% |name| key specifies the {\openmath} name of the symbol, it should coincide with the
-% control sequence introduced by the corresponding |\symdef| (if one is present). The
-% |title| key is for presenting the title of this symbol as in other statements. Usually,
-% |axiom| and |symboldec| environments are used together as in Figure~\ref{fig:axioms}.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \symdef{zero}{0}
-% \begin{symboldec}[name=zero,title=The number zero,type=constant]
-% The number zero, it is used as the base case of the inductive definition
-% of natural numbers via the Peano Axioms.
-% \end{symboldec}
-%
-% \symdef{succ}[1]{\prefix{s}{#1}}
-% \begin{symboldec}[name=succ,title=The Successor Function,type=application]
-% The successor function, it is used for the step case of the inductive
-% definition of natural numbers via the Peano Axioms.
-% \end{symboldec}
-%
-% \symdef{NaturalNumbers}{\mathbb{N}}
-% \begin{symboldec}[name=succ,title=The Natural Numbers,type=constant]
-% The natural numbers inductively defined via the Peano Axioms.
-% \end{symboldec}
-%
-% \begin{axiom}[id=peano.P1,title=P1]
-% $\zero$ is a natural number.
-% \end{axiom}
-% ...
-% \begin{axiom}[id=peano.P5,title=P5]
-% Any property $P$ such $P(\zero)$ and $P(\succ{k})$ whenever $P(k)$
-% holds for all $n$ in $\NaturalNumbers$
-% \end{axiom}
-% \end{verbatim}
-% \vspace{-1em}will lead to the result\medskip\par\noindent
-% \begin{module}[id=peano]
-% \symdef{zero}{0}
-% \begin{symboldec}[name=zero,title=The number zero,role=constant]
-% The number zero, it is used as the base case of the inductive definition
-% of natural numbers via the Peano Axioms.
-% \end{symboldec}
-%
-% \symdef{succ}[1]{\prefix{s}{#1}}
-% \begin{symboldec}[name=succ,title=The Successor Function,role=application]
-% The successor function, it is used for the step case of the inductive
-% definition of natural numbers via the Peano Axioms.
-% \end{symboldec}
-%
-% \symdef{NaturalNumbers}{\mathbb{N}}
-% \begin{symboldec}[name=succ,title=The Natural Numbers,role=constant]
-% The natural numbers inductively defined via the Peano Axioms.
-% \end{symboldec}
-%
-% \begin{axiom}[id=peano.P1,title=P1]
-% $\zero$ is a natural number.
-% \end{axiom}
-% \ldots \stepcounter{STtheoremAssEnv}\stepcounter{STtheoremAssEnv}\stepcounter{STtheoremAssEnv}
-% \begin{axiom}[id=peano.P5,title=P5]
-% Any property $P$ such $P(\zero)$ and $P(\succ{k})$ whenever $P(k)$
-% holds for all $n$ in $\NaturalNumbers$
-% \end{axiom}
-% \end{module}
-% \caption{Semantic Markup for the Peano Axioms}\label{fig:axioms}
-% \end{exfig}
-%
-% \subsubsection{Types}\label{sec:user:types}
-%
-% In many cases, we can give additional information for symbols in the form of type
-% assignments. \sTeX does not fix a type system, but allows types to be arbitrary
-% mathematical objects that they can be defined in (imported) modules. The
-% \DescribeMacro{\symtype}|\symtype| macro can be used to assign a type to a symbol:
-% \begin{quote}
-% |\symtype[|\meta{keys}|]{|\meta{sym}|}{|\meta{type}|}|
-% \end{quote}
-% assigns the type \meta{type} to a symbol with name \meta{sym}. For instance
-%
-% \begin{center}%
-% |\symtype[id=plus-nat.type,system=sts]{plus}{\fntype{\Nat,\Nat}\Nat}|
-% \end{center}
-%
-% \noindent assigns the type $\mathbb{N}\times\mathbb{N}\rightarrow\mathbb{N}$ (in the
-% |sts| type system) to the symbol |plus|. This states (type assignments are statements
-% epistemologically) that addition is a binary function on natural numbers. The |\symtype|
-% macro supports the keys |id| (for identifiers) and |system| for the type system.
-%
-% Often, type assignments occur in informal context, where the type assignment is given by
-% a natural language sentence or phrase. For this, the |statements| package supplies the
-% \DescribeEnv{typedec}|typedec| environment and the
-% \DescribeMacro{\inlinetypedec}|\inlinetypedec| macro. Both take an optional keyval
-% argument followed by the type. The phrase/sentence is the body of the |typedec|
-% environment and the last argument of the |\inlinetypedec| macro. The symbol name is
-% given in via the |for| key. For convenience, the macro
-% \DescribeMacro{\thedectype}|\thedectype| is bound to the type. So we can use
-%\begin{verbatim}
-% \begin{typedec}[for=plus,id=plus-nat.type]{\fntype{\Nat,\Nat}\Nat}
-% $+:\thedectype$ is a binary function on $\Nat$
-% \end{typedec}
-% \end{verbatim}
-% instead of the |\symtype| above in an informal setting.
-%
-% \subsubsection{Definitions, and Definienda}\label{sec:definition}
-%
-% \DescribeEnv{definition} The |definition| environment is used for marking up
-% mathematical definitions. Its peculiarity is that it defines (i.e. gives a meaning to)
-% new mathematical concepts or objects. These\DescribeMacro{\definiendum} are identified
-% by the |\definiendum| macro, which is used as
-% |\definiendum[|\meta{keys}|]{|\meta{text}|}|. Here, \meta{text} is the text that is to
-% be emphasized in the presentation. |\definiendum| takes the key
-% \DescribeMacro{name}|name| for the optional system name of the symbol defined (for
-% reference via |\termref|, see Section~\ref{sec:user:crossref}). If the |name| key is not
-% given, then \meta{text} is used as a system name instead, which is usually sufficient
-% for most situations. The set of keys is extensible to add additional metadata for the
-% definiendum. Currently only the \DescribeMacro{lemma}|lemma| key is supported, which
-% allows to specify the base form of the name of the concept involved -- e.g. for
-% referencing in a glossary or index.
-%
-%\begin{exfig}
-% \def\succ#1{s(#1)}
-% \begin{verbatim}
-% \symdef{one}{1}
-% \begin{definition}[id=one.def,for=one]
-% $\notatiendum[one]{\one}$ is the successor of $\zero$
-% (formally: $\one :=\succ\zero$)
-% \end{definition}
-% \end{verbatim}
-% \vspace{-1em}will lead to the result\medskip\par\noindent\vspace*{-1em}
-% \begin{module}[id=onedef]
-% \importmodule{peano}
-% \symdef{one}{1}
-% \begin{definition}[id=one.def,for=one]
-% $\notatiendum[one]{\one}$ is the successor of $\zero$
-% (formally: $\one :=\succ\zero$)
-% \end{definition}
-% \end{module}
-% \caption{A Definition based on Figure {\ref{fig:axioms}}}\label{fig:definition}
-% \end{exfig}
-% The \DescribeMacro{defi}|\defi{|\meta{word}|}| macro combines the functionality of the
-% |\definiendum| macro with index markup from the |omdoc|
-% package~\ctancite{Kohlhase:smomdl}: For definienda where the lemma and \meta{text}
-% coincide use
-% \begin{center}
-% |\defi[|\meta{name}|]{|\meta{lemma}|}[|\meta{indexkeys}|]|
-% \end{center}
-% to markup a definiendum \meta{lemma} with system name \meta{name} that appear in the
-% index (where \meta{indexkeys} are passed to the |\omdoc@index*| macros from the |omtext|
-% package) --- in other words in almost all definitions of single-word concepts. We also
-% have the variants \DescribeMacro{\defii}|\defii|, \DescribeMacro{\defiii}|\defiii|, and
-% \DescribeMacro{\defiv}|\defiv| for (adjectivized) multi-word compounds. Note that if
-% the definiendum contains semantic macros, then we need to specify the |loadmodules| key
-% and also protect the semantic macro. For instance if |\eset| is the semantic macro for
-% $\emptyset$, then we would use
-% \begin{verbatim}
-% \defii[eset-comp]{$\protect\eset$}{compatible}[loadmodules]
-% \end{verbatim}
-% for the definiendum markup.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% A \defi{graph} consists of \adefi{vertices}{vertex} and \defis{edge}.
-% \end{verbatim}
-% \caption{Definienda where Lemma and Text Form differ}\label{fig:lemma}
-% \end{exfig}
-%
-% For the cases where the lemma and \meta{text} are different we can use the variants
-% \DescribeMacro{\adefi}|\adefi|, \DescribeMacro{\adefii}|\adefii|,
-% \DescribeMacro{\adefiii}|\adefiii|, and \DescribeMacro{\adefiv}|\adefiv| that have
-% an additional first argument that allows to specify an alternative \meta{text}; see
-% Figure~\ref{fig:defin}. The main use of these is to mark up inflected forms as in
-% Figure~\ref{fig:lemma}.
-%
-% As the greatest number of these are plurals, which tends to be regular (e.g. adding a
-% trailing ``s'' in English), we provide the variants \DescribeMacro{\defis}|\defis|,
-% \DescribeMacro{\defiis}|\defiis|, \DescribeMacro{\defiiis}|\defiiis|, and
-% \DescribeMacro{\defivs}|\defivs| for that case: |\defiis{simple}{group}| is
-% equivalent to much longer |\adefii{simple groups}{simple}{group}| (but also see
-% Figure~\ref{fig:lemma}).
-%
-% \begin{exfig}
-% \begin{tabular}{l|l|l}
-% \multicolumn{3}{l}{source}\\\hline
-% system name & result & index \\\hline\hline
-% \multicolumn{3}{l}{\texttt{\textbackslash defi\{concept\}}}\\\hline
-% |concept| & concept& concept\\\hline\hline
-% \multicolumn{3}{l}{\texttt{\textbackslash defi[csymbol]\{concept\}}}\\\hline
-% |csymbol| & concept & concept\\\hline\hline
-% \multicolumn{3}{l}{\texttt{\textbackslash adefi[csymbol]\{concepts\}\{concept\}}}\\\hline
-% |csymbol| & concepts & concept\\\hline\hline
-% \multicolumn{3}{l}{\texttt{\textbackslash defii\{concept\}\{group\}}}\\\hline
-% |concept-group| & concept group & concept group, \\
-% && group - , concept\\\hline\hline
-% \multicolumn{3}{l}{\texttt{\textbackslash adefii\{small\}\{concept\}\{group\}}}\\\hline
-% |small-concept-group| & small concept group & small concept group, \\
-% && concept group - , small\\\hline
-% \end{tabular}
-% \caption{Some definienda with Index}\label{fig:defin}
-% \end{exfig}
-%
-% Note that the |\definiendum|, |\defi*|, |\adefi*|, and |\defi*s|, macros can only be
-% used inside the definitional situation, i.e. in a |definition| or |symboldec|
-% environment or a |\inlinedef| macro. If you find yourself in a situation where you want
-% to use it outside, you will most likely want to wrap the appropriate text fragment in a
-% |\begin{definition}[display=flow]| ... and |\end{definition}|. For instance, we could
-% continue the example in Figure~\ref{fig:axioms} with the |definition| environment in
-% Figure~\ref{fig:definition}.
-%
-% \DescribeMacro{\inlinedef} Sometimes we define mathematical concepts in passing, e.g. in
-% a phrase like ``\ldots $s(o)$ which we call {\textbf{one}}.''. For this we cannot use
-% the |definition| environment, which presupposes that its content gives all that is
-% needed to understand the definition. But we do want to make use of the infrastructure
-% introduced for the |definition| environment. In this situation, we just wrap the phrase
-% in an |\inlinedef| macro that makes them available. The |\inlinedef| macro accepts the
-% same |id| and |for| keys in its optional argument, and additionally the |verbalizes| key
-% which can be used to point to a full definition of the concept somewhere else.
-%
-% Note that definienda can only be referenced via a |\term| element, if they are only
-% allowed inside a named module, i.e. a |module| environment with a name given by the
-% |id=| key or the |theory=| key on is specified on the definitional environment.
-%
-% \subsubsection{Examples}\label{sec:user:example}
-%
-% \DescribeEnv{example} The |example| environment is a generic statement environment,
-% except that the |for| key should be given to specify the identifier what this is an
-% example for. The |example| environment also expects a |type| key to be specified, so
-% that we know whether this is an example or a counterexample.
-%
-% \DescribeMacro{\inlineex} The |\inlineex| is analogous to |\inlinedef|, only that it is
-% used for inline examples, e.g. ``\ldots mammals, e.g. goats''. Note that we have used an
-% inline example for an inline example.
-%
-%
-% \subsection{Cross-Referencing Symbols and Concepts}\label{sec:user:crossref}
-%
-% If we have defined a concept with the |\definiendum| macro, then we can mark up other
-% occurrences of the term as referring to this concept. Note that this process cannot be
-% fully automatized yet, since that would need advanced language technology to get around
-% problems of disambiguation, inflection, and non-contiguous phrases\footnote{We do have a
-% program that helps annotate larger text collections spotting the easy cases; see
-% {\url{http://kwarc.info/projects/stex}} and look for the program
-% |termin|.}. Therefore, the \DescribeMacro{\termref}|\termref| can be used to make this
-% information explicit. It takes the keys
-% \begin{compactdesc}
-% \item[\texttt{cdbase}] to specify a URI (a path actually, since {\LaTeX} cannot load
-% from URIs) where the module can be found.
-% \item[\texttt{cd}] to specify the module in which the term is defined. If the |cd| key
-% is not given, then the current module is assumed. If no |cdbase| is specified (this is
-% the usual case), then the CD has to be imported via a |\importmodule| from the
-% |modules| package~\ctancite{KohAmb:smmssl}.
-% \item[\texttt{name}] to specify the name of the definiendum (which is given in the body
-% of the |\definiendum| or the optional argument). If the |name| key is not specified,
-% then argument of the |\termref| macro is used.
-% \item[\texttt{role}] is currently unused.
-% \end{compactdesc}
-% |\termref[cd=|\meta{cd}|,name=|\meta{name}|]{|\meta{text}|}| will just typeset the link
-% text \meta{text} with (if the |hyperref| package is loaded) a hyperlink to the
-% definition in module \meta{cd} that defines the concept \meta{name}, e.g. that contains
-% |\defi[|\meta{name}|]{|\meta{text}|}|.
-%
-% Just as the |\definiendum| macro has the convenience variants |\defi| and |\?defi*|, the
-% |\termref| has variants |\trefi|, |\trefii|, |\trefiii|, and |\trefiv| that take two and
-% three arguments for the parts of the compositum. In the same module, concepts that are
-% marked up by |\defi{|\meta{name}|}| in the definition can be referenced by
-% \DescribeMacro{\trefi}|\trefi{|\meta{name}|}|. Here the link text is just
-% \meta{name}. Concepts defined via |\defii{|\meta{first}|}{|\meta{second}|}| can be
-% referenced by \DescribeMacro{\trefii}|\trefii{|\meta{first}|}{|\meta{second}|}| (with
-% link text ``\meta{first} \meta{second}'') and analogously for
-% |\defiii|/\DescribeMacro{\trefiii}|\trefiii| and % |\defiv|/\DescribeMacro{\trefiv}|\trefiv|.
-%
-% We have variants \DescribeMacro{\atref*}|\atrefi|, |\atrefii|, |\atrefiii|, and
-% |\atrefiv| with alternative link text. For instance
-% |\atrefii{|\meta{text}|{|\meta{first}|}{|\meta{second}|}| references a concept
-% introduced by |\defii{|\meta{first}|}{|\meta{second}|}| but with link text \meta{text}.
-% Of course, if the system identifier is given explicitly in the optional argument of the
-% definition form, as in |\defii[|\meta{name}|]{|\meta{first}|}{|\meta{second}|}|, then
-% the terms are referenced by |\trefi{|\meta{name}|}|.
-%
-% For referencing terms outside the current module, the module name can be specified in
-% the first optional argument of the |\*tref*| macros. To specify the |cdbase|, we have to
-% resort to the |\termref| macro with the keyval arguments.
-%
-% Note that the |\termref| treatment above is natural for ``concepts'' declared by the
-% |\termdef| macro from the |modules| package~\ctancite{KohAmb:smmssl}. Concepts are
-% natural language names for mathematical objects. For ``symbols'', i.e. symbolic
-% identifiers for mathematical objects used in mathematical formulae, we use the |\symdef|
-% macro from the |modules| package. Sometimes, symbols also have an associated natural
-% language concept, and we want to use the symbol name to reference it (instead of
-% specifying |cd| and |name| which is more inconvenient). For this the |statements|
-% package supplies the \DescribeMacro{\symref}|\symref| macro. Like |\termref|, and
-% invocation of |\symref{|\meta{cseq}|}{|\meta{text}|}| will just typeset \meta{text} with
-% a hyperlink to the relevant definition (i.e. the one that has the declaration
-% |for=|\meta{cseq} in the metadata argument.)
-%
-% The \DescribeMacro{\term}|\term| macro is a variant of the |\termref| macro that marks
-% up a phrase as a (possible) term reference, which does not have a link \emph{yet}. This
-% macro is a convenient placeholder for authoring, where a |\termref| annotation is
-% (currently) too tedious or the link target has not been authored yet. It facilitates
-% lazy flexiformalization workflows, where definitions for mathematical concepts are
-% supplied or marked up by need (e.g. after a |grep| shows that the number of |\term|
-% annotations of a concept is above a threshold). Editors or active documents can also
-% support the |\term| macro like a wiki-like dangling link: a click on
-% |\term{|\meta{phrase}|}| could generate a new editor buffer with a stub definition (an
-% |definition| environment with |\definiendum| macro and appropriate metadata).\ednote{MK:
-% we probably need multi-part variants for |?tref*|}
-%
-% \section{Configuration of the Presentation}\label{sec:conf}
-%
-% \DescribeMacro{\defemph} The |\defemph| macro is a configuration hook that allows to
-% specify the style of presentation of the {\index*{definiendum}}. By default, it is set to
-% |\bf| as a fallback, since we can be sure that this is always available. It can be
-% customized by redefinition: For instance |\renewcommand{\defemph}[1]{\emph{#1}}|,
-% changes the default behavior to italics.
-%
-% \DescribeMacro{\termemph} The |\termenph| macro does the same for the style for
-% |\termref|, it is empty by default. Note the term might carry an implicit hyper-reference
-% to the defining occurrence and that the presentation engine might mark this up, changing
-% this behavior.
-%
-% \DescribeMacro{\stDMemph} The |\stDMemph| macro does the same for the style for the
-% markup of the discourse markers like ``Theorem''. If it is not defined, it is set to
-% |\bf|; that allows to preset this in the class file. \ednote{function declarations}
-%
-% Some authors like to lowercase the semantic references, i.e. use ``axiom 2.6'' instead
-% of the default ``\sref{peano.P5}'' to refer to the last axiom in
-% Figure~\ref{fig:axioms}. This can be achieved by redefining the
-% \DescribeMacro{\STpresent}|\STpresent| macro, which is applied to the keyword of the
-% |ST*Env| theorem environments.\ednote{this does not quite work as yet, since
-% \textbf{STpresent} is applied when the label is written. But we would really like to
-% have it applied when the reference is constructed. But for that we need to split the
-% label into keyword and number in package |sref|.}
-%
-% Finally, we provide configuration hooks in Figure~\ref{fig:hooks} for the statement
-% types provided by the |statement| package. These are mainly intended for package
-% authors building on |statements|, e.g. for multi-language support. The language
-% bindings are given in the |smultiling|~\cite{KohGin:smss:svn} package not in
-% |statements| itself.
-%
-%\begin{exfig}
-% \begin{tabular}{lll}
-% Environment & configuration macro & value\\\hline\hline
-% \texttt{STtheoremAssEnv} & \texttt{\textbackslash st@theorem@kw} & \makeatletter\st@theorem@kw\\\hline
-% \texttt{STlemmaAssEnv} & \texttt{\textbackslash st@lemma@kw} & \makeatletter\st@lemma@kw \\\hline
-% \texttt{STpropositionAssEnv} & \texttt{\textbackslash st@proposition@kw} & \makeatletter\st@proposition@kw \\\hline
-% \texttt{STcorollaryAssEnv} & \texttt{\textbackslash st@corollary@kw} & \makeatletter\st@corollary@kw\\\hline
-% \texttt{STconjectureAssEnv} & \texttt{\textbackslash st@conjecture@kw} & \makeatletter\st@conjecture@kw\\\hline
-% \texttt{STfalseconjectureAssEnv} & \texttt{\textbackslash st@falseconjecture@kw} & \makeatletter\st@falseconjecture@kw\\\hline
-% \texttt{STpostulateAssEnv} & \texttt{\textbackslash st@postulate@kw} & \makeatletter\st@postulate@kw\\\hline
-% \texttt{STobligationAssEnv} & \texttt{\textbackslash st@obligation@kw} & \makeatletter\st@obligation@kw\\\hline
-% \texttt{STassumptionAssEnv} & \texttt{\textbackslash st@assumption@kw} & \makeatletter\st@assumption@kw\\\hline
-% \texttt{STobservationAssEnv} & \texttt{\textbackslash st@observation@kw} & \makeatletter\st@observation@kw\\\hline
-% \texttt{STremarkAssEnv} & \texttt{\textbackslash st@remark@kw} & \makeatletter\st@remark@kw\\\hline
-% \texttt{STruleAssEnv} & \texttt{\textbackslash st@rule@kw} & \makeatletter\st@rule@kw\\\hline
-% \texttt{STexampleEnv} & \texttt{\textbackslash st@example@kw} & \makeatletter\st@example@kw\\\hline
-% \texttt{STaxiomEnv} & \texttt{\textbackslash st@axiom@kw} & \makeatletter\st@axiom@kw\\\hline
-% \texttt{STdefinitionEnv} & \texttt{\textbackslash st@definition@kw} & \makeatletter\st@definition@kw\\\hline
-% \texttt{STnotationEnv} & \texttt{\textbackslash st@notation@kw} & \makeatletter\st@notation@kw
-% \end{tabular}
-% \caption{Configuration Hooks for statement types}\label{fig:hooks}
-% \end{exfig}
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}
-%
-% \section{The Implementation}\label{sec:impl}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false). First we have the general options: |msection| specifies
-% that theorems should be numbered in the |msection| counter provided by the |mikoslides|
-% package/class.
-% \begin{macrocode}
-%<*package>
-\newif\ifdef@index\def@indexfalse
-\DeclareOption{defindex}{\def@indextrue}
-\newif\if@nthm\@nthmtrue
-\DeclareOption{nontheorem}{\@nthmfalse}
-\newif\if@msection\@msectionfalse
-\DeclareOption{msection}{\@msectiontrue}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{omtext}}
-\ProcessOptions
-% \end{macrocode}
-%
-% The next measure is to ensure that some {\sTeX} packages are loaded: |omdoc| for the
-% statement keys, |modules| since we need module identifiers for referencing. Furthermore,
-% we need the |ntheorem| package for presenting statements.
-% \begin{macrocode}
-\RequirePackage{omtext}
-\RequirePackage[base]{babel}
-\ifcsdef{proof}{\cslet{proof}{\relax}\cslet{endproof}{\relax}}{}% to redefine if necessary
-\if@nthm
-\RequirePackage[hyperref]{ntheorem}
-\theoremstyle{plain}
-\else
-\RequirePackage{amsthm}
-\fi
-% \end{macrocode}
-% Now, we define an auxiliary function that lowercases strings
-% \begin{macrocode}
-% \end{macrocode}
-% Sometimes it is necessary to fallback to symbol names in order to generate xml:id
-% attributes. For this purpose, we define an auxiliary function which ensures the name
-% receives a unique NCName equivalent.\ednote{Hard to be unique here, e.g. the names
-% "foo\_bar" and "foo bar" would receive the same xml:id attributes... of course we can
-% devise a more complex scheme for the symbol replacement.}
-% \begin{macrocode}
-% \end{macrocode}
-% The following functions are strictly utility functions that makes our life easier later on
-% \begin{macrocode}
-% \end{macrocode}
-%
-% For the other languages, we set up triggers
-% \begin{macrocode}
-\AfterBabelLanguage{ngerman}{\input{statements-ngerman.ldf}}
-\AfterBabelLanguage{arabic}{\input{statements-arabic.ldf}}
-% \end{macrocode}
-%
-% \subsection{Statements}\label{sec:impl:statements}
-%
-% \begin{macro}{\STpresent}
-% \begin{macrocode}
-\providecommand\STpresent[1]{#1}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\define@statement@env}
-% We define a meta-macro that allows us to define several variants of statements. Upon
-% beginning this environment, we first set the |KeyVal| attributes, then we decide
-% whether to print the discourse marker based on the value of the |display| key, then
-% (given the right Options were set), we show the semantic annotations, and finally
-% initialize the environment using the appropriate macro. Upon ending the environment,
-% we just run the respective termination macro.
-% \begin{macrocode}
-\def\define@statement@env#1{%
-\ifcsdef{#1}{\cslet{#1}{\relax}\cslet{end#1}{\relax}}{}% to redefine if necessary
-\newenvironment{#1}[1][]{\metasetkeys{omtext}{##1}\sref@target%
-\@in@omtexttrue%
-\ifx\omtext@display\st@flow\else%
-\ifx\omtext@title\@empty\begin{ST#1Env}\else\begin{ST#1Env}[\omtext@title]\fi%
-\ifx\sref@id\@empty\else\label{#1.\sref@id}\fi
-\csname st@#1@initialize\endcsname\fi% display
-\ifx\sref@id\@empty\sref@label@id{here}\else%
-\sref@label@id{\STpresent{\csname st@#1@kw\endcsname}~\@currentlabel}\fi%
-\strut\ignorespaces}
-{\csname st@#1@terminate\endcsname\ifx\omtext@display\st@flow\else\end{ST#1Env}\fi%
-\omtext@post@skip\@in@omtextfalse}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{assertion}
-% \begin{macrocode}
-\newenvironment{assertion}[1][]{\metasetkeys{omtext}{#1}\sref@target%
-\@in@omtexttrue%
-\ifx\omtext@display\st@flow
- \itshape\noindent\ignorespaces%
-\else% display!=flow
- \xdef\@@@type{\omtext@type}% to keep it safe from \inlinedef
- \ifx\omtext@title\@empty\begin{ST\@@@type AssEnv}%
- \else\begin{ST\@@@type AssEnv}[\omtext@title]%
- \fi%
-\fi %display=flow
-\ifx\omtext@type\@empty\else%
-\sref@label@id{\STpresent{\csname st@\@@@type @kw\endcsname}~\@currentlabel}
-\fi}
-{\ifx\omtext@display\st@flow\else\end{ST\@@@type AssEnv}\@in@omtextfalse\fi}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\st@*@kw}
-% We configure the default keywords for the various theorem environments.
-% \begin{macrocode}
-\def\st@theorem@kw{Theorem}
-\def\st@lemma@kw{Lemma}
-\def\st@proposition@kw{Proposition}
-\def\st@corollary@kw{Corollary}
-\def\st@conjecture@kw{Conjecture}
-\def\st@falseconjecture@kw{Conjecture (false)}
-\def\st@postulate@kw{Postulate}
-\def\st@obligation@kw{Obligation}
-\def\st@assumption@kw{Assumption}
-\def\st@rule@kw{Rule}
-\def\st@observation@kw{Observation}
-\def\st@remark@kw{Remark}
-% \end{macrocode}
-%
-% \end{macro}
-% Then we configure the presentation of the theorem environments
-% \begin{macrocode}
-\if@nthm
-\theorembodyfont{\itshape}
-\theoremheaderfont{\normalfont\bfseries}
-\else
-\theoremstyle{plain}
-\fi
-% \end{macrocode}
-%
-% \begin{environment}{ST*AssEnv}
-% We define a number of internal assertion environments according to the values of its
-% |type| key.
-% \begin{macrocode}
-\if@msection
-\newtheorem{STtheoremAssEnv}{\st@theorem@kw}[msection]
-\else
-\ifdef{\thesection}
-{\newtheorem{STtheoremAssEnv}{\st@theorem@kw}[section]}
-{\newtheorem{STtheoremAssEnv}{\st@theorem@kw}}
-\fi
-\newtheorem{STlemmaAssEnv}[STtheoremAssEnv]{\st@lemma@kw}
-\newtheorem{STpropositionAssEnv}[STtheoremAssEnv]{\st@proposition@kw}
-\newtheorem{STcorollaryAssEnv}[STtheoremAssEnv]{\st@corollary@kw}
-\newtheorem{STconjectureAssEnv}[STtheoremAssEnv]{\st@conjecture@kw}
-\newtheorem{STfalseconjectureAssEnv}[STtheoremAssEnv]{\st@falseconjecture@kw}
-\newtheorem{STpostulateAssEnv}[STtheoremAssEnv]{\st@postulate@kw}
-\newtheorem{STobligationAssEnv}[STtheoremAssEnv]{\st@obligation@kw}
-\newtheorem{STassumptionAssEnv}[STtheoremAssEnv]{\st@assumption@kw}
-\newtheorem{STobservationAssEnv}[STtheoremAssEnv]{\st@observation@kw}
-\if@nthm\theorembodyfont{\rmfamily}\else\theoremstyle{definition}\fi
-\newtheorem{STremarkAssEnv}[STtheoremAssEnv]{\st@remark@kw}
-\newtheorem{STruleAssEnv}[STtheoremAssEnv]{\st@rule@kw}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{example}
-% \begin{macrocode}
-\def\st@example@initialize{}\def\st@example@terminate{}
-\define@statement@env{example}
-\def\st@example@kw{Example}
-\newtheorem{STexampleEnv}[STtheoremAssEnv]{\st@example@kw}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{axiom}
-% \begin{macrocode}
-\def\st@axiom@initialize{}\def\st@axiom@terminate{}
-\define@statement@env{axiom}
-\def\st@axiom@kw{Axiom}
-\newtheorem{STaxiomEnv}[STtheoremAssEnv]{\st@axiom@kw}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{symboldec}
-% We use |\symdef@type| from the |modules| package as the visual cue.
-% \begin{macrocode}
-\srefaddidkey{symboldec}
-\addmetakey{symboldec}{functions}
-\addmetakey{symboldec}{role}
-\addmetakey*{symboldec}{title}
-\addmetakey*{symboldec}{name}
-\addmetakey{symboldec}{subject}
-\addmetakey*{symboldec}{display}
-\newenvironment{symboldec}[1][]{\metasetkeys{symboldec}{#1}\sref@target\st@indeftrue%
-\ifx\symboldec@display\st@flow\else{\noindent\stDMemph{\symdef@type} \symboldec@name:}\fi%
-\ifx\symboldec@title\@empty~\else~(\stDMemph{\symboldec@title})\par\fi}{}
-% \end{macrocode}
-% \end{environment}
-%
-% \subsubsection{Types}\label{sec:impl:types}
-%
-% \begin{macro}{\symtype}\ednote{MK@DG; the type element should percolate up.}
-% \begin{macrocode}
-\srefaddidkey{symtype}
-\addmetakey*{symtype}{system}
-\addmetakey*{symtype}{for}
-\newcommand\type@type{Type}
-\newcommand\symtype[3][]{\metasetkeys{symtype}{#1}\sref@target%
-\noindent\type@type \ifx\symtype@\@empty\else (\symtype@system)\fi #2: $#3$}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\inlinetypedec}
-% \begin{macrocode}
-\newcommand\inlinetypedec[3][]{\metasetkeys{symtype}{#1}\sref@target{\def\thedectype{#2}#3}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{typedec}
-% We first define a theorem environment
-% \begin{macrocode}
-\def\st@typedec@kw{Type Declaration}
-\newtheorem{STtypedecEnv}[STtheoremAssEnv]{\st@typedec@kw}
-% \end{macrocode}
-% and then the environment itself.
-% \begin{macrocode}
-\newenvironment{typedec}[2][]{\metasetkeys{omtext}{#1}\sref@target%
-\def\thedectype{#2}%
-\ifx\omtext@display\st@flow\else%
-\ifx\omtext@title\@empty\begin{STtypedecEnv}\else\begin{STtypedecEnv}[\omtext@title]\fi%
-\ifx\sref@id\@empty\else\label{typedec.\sref@id}\fi
-\ifx\sref@id\@empty\sref@label@id{here}\else%
-\sref@label@id{\STpresent{\csname st@typedec@kw\endcsname}~\@currentlabel}\fi%
-\ignorespaces}
-{\ifx\omtext@display\st@flow\else\end{STtypedecEnv}\fi\omtext@post@skip}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{definition}
-% The |definition| environment itself is quite similar to the other's but we need to set
-% the |\st@indef| switch to suppress warnings from |\st@def@target|.
-% \begin{macrocode}
-\newif\ifst@indef\st@indeffalse
-\ifcsdef{definition}{\cslet{definition}{\relax}\cslet{enddefinition}{\relax}}{}% to redefine if necessary
-\newenvironment{definition}[1][]{\metasetkeys{omtext}{#1}\sref@target\st@indeftrue%
-\ifx\omtext@display\st@flow\else%
-\ifx\omtext@title\@empty\begin{STdefinitionEnv}\else\begin{STdefinitionEnv}[\omtext@title]\fi\fi%
-\ifx\sref@id\@empty\sref@label@id{here}\else%
-\sref@label@id{\STpresent{\csname st@definition@kw\endcsname}~\@currentlabel}\fi%
-\ignorespaces}
-{\ifx\omtext@display\st@flow\else\end{STdefinitionEnv}\fi}
-\def\st@definition@kw{Definition}
-\newtheorem{STdefinitionEnv}[STtheoremAssEnv]{\st@definition@kw}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{notation}
-% We initialize the |\def\st@notation@initialize{}| here, and extend it with
-% functionality below.
-% \begin{macrocode}
-\def\notemph#1{#1}
-\def\st@notation@terminate{}
-\def\st@notation@initialize{}
-\define@statement@env{notation}
-\def\st@notation@kw{Notation}
-\newtheorem{STnotationEnv}[STtheoremAssEnv]{\st@notation@kw}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\st@def@target}
-% the next macro is a variant of the |\sref@target| macro provided by the |sref| package
-% specialized for the use in the |\definiendum|, |\defi*|, |\Defi*|, |\defi*s|, and |\Defi*s|
-% macros. |\st@def@target{|\meta{opt}|}{|\meta{name}|}{|\meta{text}|}| makes a target
-% with label |sref@|\meta{opt}|@|\meta{modulename}|@target|, if \meta{opt} is non-empty,
-% else with the label |sref@|\meta{name}|@|\meta{modulename}|@target| (the first time it
-% encounters this symbol; i.e. if |\sref@|\meta{name}|@|\meta{modulename}|@defined| is
-% undefined). And it formats the |\defemph|-emphasized \meta{text}. Also it generates
-% the necessary warnings for a definiendum-like macro.
-% \begin{macrocode}
-\newcommand\st@def@target[3]{\edef\@symname{#1}\def\@verbname{#2}%
-\ifst@indef% if we are in a definition or such
-\@ifundefined{mod@id}% if we are not in a module
-{\PackageWarning{statements}{definiendum in unidentified module\MessageBreak
-\protect\definiendum, \protect\defi*,
-\protect\Defi*, \protect\defi*s, \protect\Defi*s\MessageBreak
-can only be referenced when called in a module with id key}}%
-{% now we are in a module
-\edef\@@cd{\ifx\omtext@theory\@empty\mod@id\else\omtext@theory\fi}%
-\edef\@@name{\ifx\@symname\@empty\@verbname\else\@symname\fi}%
-\defemph{\@ifundefined{sref@\@@name @\@@cd @defined}%
-{\expandafter\sref@target@ifh{sref@\@@name @\@@cd @target}{#3}}%
-{#3}}%
-%\footnote{sTeX: target sref@\@@name @\@@cd @target}% for testing targets
-\expandafter\gdef\csname sref@\@@name @\@@cd @defined\endcsname{yes}%
-\ifmetakeys@showmeta\metakeys@show@keys{\@@cd}{name:\@@name}\fi}%
-\else% st@indef: we are not in a definition or such
-\PackageError{statements}%
-{definiendum outside definition context\MessageBreak
-\protect\definiendum, \protect\defi,
-\protect\Defi, \protect\defi*s, \protect\Defi*s\MessageBreak
-do not make sense semantically outside a definition.}
-{Consider wrapping the defining phrase in a \protect\inlinedef}%
-\fi}% st@indef
-% \end{macrocode}
-% \end{macro}
-%
-% The |\definiendum| and |\notatiendum| macros are very simple.
-%
-% \begin{macro}{\@termdef}
-% This macro is experimental, it is supposed to be invoked in |\definiendum| to define a
-% macro with the definiendum text, so that can be re-used later in term assignments (see
-% the |modules| package). But in the current context, where we rely on {\TeX} groupings
-% for visibility, this does not work, since the invocations of |\definiendum| are in
-% |definition| environments and thus one group level too low. Keeping this for future
-% reference.
-% \begin{macrocode}
-\newcommand\@termdef[2][]{\def\@test{#1}%
-\@ifundefined{mod@id}{}{\ifx\@test\@empty\def\@@name{#2}\else\def\@@name{#1}\fi%
-\termdef{\mod@id @\@@name}{#2}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\definiendum}
-% \begin{macrocode}
-\addmetakey{definiendum}{name}
-\addmetakey{definiendum}{lemma}
-\newcommand\definiendum[2][]{\setkeys{definiendum}{#1}%
-\st@def@target{\definiendum@name}{\definiendum@name}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\notatiendum}
-% the |notatiendum| macro also needs to be visible in the |notation| and |definition|
-% environments
-% \begin{macrocode}
-\newcommand\notatiendum[2][]{\notemph{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% We expand the {\latexml} bindings for |\defi|, |\defii|, |\defiii| and |\defiv| into two
-% instances one will be used for the definition and the other for indexing.
-%
-% \begin{macro}{\defi}
-% We split the |\defi| macro in two: |\defi| does the definiendum bit and |\@defi|
-% handles the last optional argument and does the indexing. The information flow between
-% them goes via the local |\@phrase| macro.
-% \begin{macrocode}
-\newcommand\@defi[1][]{\ifdef@index\omdoc@indexi[#1]{\@phrase}\fi\xspace}
-\newcommand\defi[2][]{\metasetkeys{definiendum}{#1}%
-\st@def@target{\definiendum@name}{#2}{#2}\def\@phrase{#2}\@defi}
-\newcommand\defis[2][]{\metasetkeys{definiendum}{#1}%
-\st@def@target{\definiendum@name}{#2}{#2s}\def\@phrase{#2}\@defi}
-\newcommand\Defi[2][]{\metasetkeys{definiendum}{#1}%
-\st@def@target{\definiendum@name}{#2}{\capitalize{#2}}\def\@phrase{#2}\@defi}
-\newcommand\Defis[2][]{\metasetkeys{definiendum}{#1}%
-\st@def@target{\definiendum@name}{#2}{\capitalize{#2s}}\def\@phrase{#2}\@defi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\adefi}
-% Again we split the |\adefi| macro into two parts: |\adef| does the definiendum bit and
-% |\@adefi| handles the last optional argument and does the indexing.
-% \begin{macrocode}
-\newcommand\adefi[3][]{\metasetkeys{definiendum}{#1}\def\@verb{#3}%
-\st@def@target{\definiendum@name}{#3}{#2}\@adefi}
-\newcommand\@adefi[1][]{%
-\ifdef@index%
-\ifx\definiendum@name\@empty\omdoc@indexi[#1]{\@verb}%
-\else\omdoc@indexi[at=\definiendum@name,#1]{\@verb}\fi%
-\fi\xspace}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\defii}
-% \begin{macrocode}
-\newcommand\@defii[1][]{\ifdef@index\omdoc@indexii[#1]{\@pone}{\@ptwo}\fi\xspace}
-\newcommand\defii[3][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}%
-\st@def@target{\definiendum@name}{#2-#3}{#2 #3}\@defii}
-\newcommand\defiis[3][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}%
-\st@def@target{\definiendum@name}{#2-#3}{#2 #3s}\@defii}
-\newcommand\Defii[3][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}%
-\st@def@target{\definiendum@name}{#2-#3}{\capitalize{#2 #3}}\@defii}
-\newcommand\Defiis[3][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}%
-\st@def@target{\definiendum@name}{#2-#3}{\capitalize{#2 #3s}}\@defii}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\adefii}
-% analogous to |\adefi|
-% \begin{macrocode}
-\newcommand\adefii[4][]{\metasetkeys{definiendum}{#1}\def\@pone{#3}\def\@ptwo{#4}%
-\st@def@target{\definiendum@name}{#3-#4}{#2}\@adefii}
-\newcommand\@adefii[1][]{%
-\ifdef@index%
-\ifx\definiendum@name\@empty\omdoc@indexii[#1]{\@pone}{\@ptwo}%
-\else\omdoc@indexii[at=\definiendum@name,#1]{\@pone}{\@ptwo}\fi%
-\fi\xspace}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\defiii}
-% similar to |\defii|
-% \begin{macrocode}
-\newcommand\@defiii[1][]{\ifdef@index\omdoc@indexiii[#1]{\@pone}{\@ptwo}{\@pthree}\fi\xspace}
-\newcommand\defiii[4][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
-\st@def@target{\definiendum@name}{#2-#3-#4}{#2 #3 #4}\@defiii}
-\newcommand\defiiis[4][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
-\st@def@target{\definiendum@name}{#2-#3-#4}{#2 #3 #4s}\@defiii}
-\newcommand\Defiii[4][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
-\st@def@target{\definiendum@name}{#2-#3-#4}{\capitalize{#2 #3 #4}}\@defiii}
-\newcommand\Defiiis[4][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}%
-\st@def@target{\definiendum@name}{#2-#3-#4}{\capitalize{#2 #3 #4s}}\@defiii}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\adefiii}
-% \begin{macrocode}
-\newcommand\adefiii[5][]{\metasetkeys{definiendum}{#1}\def\@pone{#3}\def\@ptwo{#4}\def\@pthree{#5}%
-\st@def@target{\definiendum@name}{#3-#4-#5}{#2}\@adefiii}
-\newcommand\@adefiii[1][]{%
-\ifdef@index%
-\ifx\definiendum@name\@empty\omdoc@indexiii[#1]{\@pone}{\@ptwo}{\@pthree}%
-\else\omdoc@indexiii[at=\definiendum@name,#1]{\@pone}{\@ptwo}{\@pthree}\fi%
-\fi\xspace}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\defiv}
-% similar to |\defiii|
-% \begin{macrocode}
-\newcommand\@defiv[1][]{\ifdef@index\omdoc@indexiv[#1]{\@pone}{\@ptwo}{\@pthree}{\@ptfour}\fi\xspace}
-\newcommand\defiv[5][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
-\st@def@target{\definiendum@name}{#2-#3-#4-#5}{#2 #3 #4 #5}\@defiv}
-\newcommand\defivs[5][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
-\st@def@target{\definiendum@name}{#2-#3-#4-#5}{#2 #3 #4 #5s}\@defiv}
-\newcommand\Defiv[5][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
-\st@def@target{\definiendum@name}{#2-#3-#4-#5}{\capitalize{#2 #3 #4 #5}}\@defiv}
-\newcommand\Defivs[5][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#2}\def\@ptwo{#3}\def\@pthree{#4}\def\@ptfour{#5}%
-\st@def@target{\definiendum@name}{#2-#3-#4-#5}{\capitalize{#2 #3 #4 #5s}}\@defiv}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\adefiv}
-% \begin{macrocode}
-\newcommand\adefiv[6][]{\metasetkeys{definiendum}{#1}%
-\def\@pone{#3}\def\@ptwo{#4}\def\@pthree{#5}\def\@ptfour{#6}%
-\st@def@target{\definiendum@name}{#3-#4-#5-#6}{#2}\@adefiv}
-\newcommand\@adefiv[1][]{%
-\ifdef@index%
-\ifx\definiendum@name\@empty\@indiv[#1]{\@pone}{\@ptwo}{\@pthree}{\@ptfour}%
-\else\@indiv[at=\definiendum@name,#1]{\@pone}{\@ptwo}{\@pthree}{\@ptfour}\fi%
-\fi\xspace}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\inlineex}
-% \begin{macrocode}
-\newcommand\inlineex[2][]{\metasetkeys{omtext}{#1}%
-\sref@target\sref@label@id{here}#2}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\inlineass}
-% \begin{macrocode}
-\newcommand\inlineass[2][]{\metasetkeys{omtext}{#1}%
-\sref@target\sref@label@id{here}#2}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\inlinedef}
-% \begin{macrocode}
-\newcommand\inlinedef[2][]{\metasetkeys{omtext}{#1}%
-\if@in@omtext\else% we are not in an omtext or statement
-\PackageError{modules}{\protect\inlinedef\space outside a statement!}%
-{Try wrapping the paragraph in a\MessageBreak
-\protect\begin{omtext}, \protect\begin{assertion}, \protect\begin{axiom}, ... \MessageBreak
-whatever is suitable semantically}\fi%
-\sref@target\sref@label@id{here}\st@indeftrue #2}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Cross-Referencing Symbols and Concepts}\label{sec:impl:crossref}
-%
-% \begin{macro}{\termref}
-% |\termref{|\meta{opt}|}{|\meta{text}|}| makes a hyperlink with link text \meta{text}
-% to the definitional occurrence of the symbol specified by the |name|, |cd|, and
-% |cdbase| keys in \meta{opt}. We first set sensible defaults if the keys are not
-% given. If the symbol is defined in the current document (i.e. if the macro
-% |\sref@|\meta{name}|@|\meta{cd}|@defined| is defined), then we make a local hyperref,
-% otherwise we punt to |\mod@termref|.
-% \begin{macrocode}
-\addmetakey*{termref}{cd}
-\addmetakey*{termref}{cdbase}
-\addmetakey*{termref}{name}
-\addmetakey*{termref}{role}
-\newcommand\termref[2][]{\metasetkeys{termref}{#1}%
-\ifx\termref@cd\@empty\def\termref@cd{\mod@id}\fi%
-\ifx\termref@name\@empty\def\termref@name{#2}\fi%
-\@ifundefined{sref@\termref@name @\termref@cd @defined}%
-{\ifx\termref@cdbase\@empty% external reference
-\mod@termref\termref@cd\termref@name{#2}%
-\else\sref@href@ifh\termref@cdbase{#2}%
-\fi}%
-{\def\@label{sref@\termref@name @\termref@cd @target}%
-\sref@hlink@ifh\@label{#2}%\footnote{termref: internal reference to \@label}
-}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tref*}
-% \begin{macrocode}
-\newcommand\atrefi[3][]{\def\@test{#1}%
-\ifx\@test\@empty\termref[name=#3]{#2}\else\termref[cd=#1,name=#3]{#2}\fi}
-\newcommand\atrefii[4][]{\atrefi[#1]{#2}{#3-#4}}
-\newcommand\atrefiii[5][]{\atrefi[#1]{#2}{#3-#4-#5}}
-\newcommand\atrefiv[6][]{\atrefi[#1]{#2}{#3-#4-#5-#6}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tref*}
-% \begin{macrocode}
-\newcommand\trefi[2][]{\atrefi[#1]{#2}{#2}}
-\newcommand\trefii[3][]{\atrefi[#1]{#2 #3}{#2-#3}}
-\newcommand\trefiii[4][]{\atrefi[#1]{#2 #3 #4}{#2-#3-#4}}
-\newcommand\trefiv[5][]{\atrefi[#1]{#2 #3 #4 #5}{#2-#3-#4-#5}}
-\newcommand\trefis[2][]{\atrefi[#1]{#2s}{#2}}
-\newcommand\trefiis[3][]{\atrefi[#1]{#2 #3s}{#2-#3}}
-\newcommand\trefiiis[4][]{\atrefi[#1]{#2 #3 #4s}{#2-#3-#4}}
-\newcommand\trefivs[5][]{\atrefi[#1]{#2 #3 #4 #5s}{#2-#3-#4-#5}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\Tref*}
-% \begin{macrocode}
-\newcommand\Trefi[2][]{\atrefi[#1]{\capitalize{#2}}{#2}}
-\newcommand\Trefii[3][]{\atrefi[#1]{\capitalize{#2 #3}}{#2-#3}}
-\newcommand\Trefiii[4][]{\atrefi[#1]{\capitalize{#2 #3 #4}}{#2-#3-#4}}
-\newcommand\Trefiv[5][]{\atrefi[#1]{\capitalize{#2 #3 #4 #5}}{#2-#3-#4-#5}}
-\newcommand\Trefis[2][]{\atrefi[#1]{\capitalize{#2s}}{#2}}
-\newcommand\Trefiis[3][]{\atrefi[#1]{\capitalize{#2 #3s}}{#2-#3}}
-\newcommand\Trefiiis[4][]{\atrefi[#1]{\capitalize{#2 #3 #4s}}{#2-#3-#4}}
-\newcommand\Trefivs[5][]{\atrefi[#1]{\capitalize{#2 #3 #4 #5s}}{#2-#3-#4-#5}}
-% \end{macrocode}
-% \end{macro}
-%
-% Now we care about the configuration switches, they are set to sensible values, if they
-% are not defined already. These are just configuration parameters, which should not
-% appear in documents, therefore we do not provide {\latexml} bindings for them.
-% \begin{macro}{\*emph}
-% \begin{macrocode}
-\providecommand{\termemph}[1]{#1}
-\providecommand{\defemph}[1]{{\textbf{#1}}}
-\providecommand{\stDMemph}[1]{{\textbf{#1}}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\term}
-% The |\term| macro is used for wiki-style dangling links with editor support.\ednote{MK: document above}
-% \begin{macrocode}
-\newcommand\term[2][]{\def\@test{#1}%
-\ifx\@test\@empty\else
-\@ifundefined{module@defs@#1}{\PackageWarning{statements}%
-{{\protect\term} specifies module #1 which is not in
- scope\MessageBreak import it via e.g. via \protect\importmhmodule}}{}
-\fi%
-\PackageWarning{statements}%
-{Dangling link (\protect\term) for "#2" still needs to be specified}%
-\textcolor{blue}{\underline{#2}}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\symref}
-% The |\symref| macros is quite simple, since we have done all the heavy lifting in the
-% |modules| package: we simply apply |\mod@symref@|\meta{arg1} to
-% \meta{arg2}.
-% \begin{macrocode}
-\newcommand\symref[2]{\@nameuse{mod@symref@#1}{#2}}
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Deprecated Functionality}\label{sec:deprecated}
-%
-% In this section we centralize old interfaces that are only partially supported any
-% more.
-% \begin{macro}{\*def*}
-% \begin{macrocode}
-\newcommand\defin[2][]{\defi[#1]{#2}%
-\PackageWarning{statements}{\protect\defin\space is deprecated, use \protect\defi\space instead}}
-\newcommand\twindef[3][]{\defii[#1]{#2}{#3}%
-\PackageWarning{statements}{\protect\twindef\space is deprecated, use \protect\defii\space instead}}
-\newcommand\atwindef[4][]{\defiii[#1]{#2}{#3}{#4}%
-\PackageWarning{statements}{\protect\atwindef\space is deprecated, use \protect\defiii\space instead}}
-\newcommand\definalt[3][]{\adefi[#1]{#2}{#3}%
-\PackageWarning{statements}{\protect\definalt\space is deprecated, use \protect\adefi\space instead}}
-\newcommand\twindefalt[4][]{\adefii[#1]{#2}{#3}{#4}%
-\PackageWarning{statements}{\protect\twindefalt\space is deprecated, use \protect\adefii\space instead}}
-\newcommand\atwindefalt[5][]{\adefiii[#1]{#2}{#3}{#4}{#5}%
-\PackageWarning{statements}{\protect\atwindefalt\space is deprecated, use \protect\adefiii\space instead}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\*def*}
-% \begin{macrocode}
-\newcommand\twinref[3][]{\trefii[#1]{#2}{#3}%
-\PackageWarning{statements}{\protect\twinref\space is deprecated, use \protect\trefii\space instead}}
-\newcommand\atwinref[4][]{\atrefiii[#1]{#2}{#3}{#4}%
-\PackageWarning{statements}{\protect\atwindef\space is deprecated, use \protect\trefiii\space instead}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-% \Finale
-%
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: GPL structuresharing STR dtx keyval env envfalse idfalse idtrue typedec st
-% LocalWords: displayfalse envtrue displaytrue forfalse typefalse titlefalse filedate eg
-% LocalWords: continuesfalse fortrue fromtrue typetrue titletrue CPERL omdoc thedectype
-% LocalWords: continuestrue symboldec omtext RequirePackage lowcase lc ToString termin
-% LocalWords: foreach hyperref href hlink DefStatement OptionalKeyVals ne NeedsTeXFormat
-% LocalWords: KeyVal xml CMP simpleDef PatternDef DefStatement PatternRule thedectype
-% LocalWords: requation PatternCMP RecDef DefConstructor keyvals defs psymbols tref eset
-% LocalWords: openElement symb closeElement ffor getValue attrs metadata undef rangle
-% LocalWords: afterDigestBegin setProperty AssignValue afterDigest definiendum rangle
-% LocalWords: cd addr LookupValue getArg toString idx idt definiendum ide idp st@flow
-% LocalWords: DefMacro args unlist inlinedef uri pdf afterOpen numberIt texttt XMath
-% LocalWords: iffalse consymb ntheorem textbackslash symref def scsys sc sc kw endinput
-% LocalWords: mathml openmath latexml activemath fileversion maketitle stex importmodule
-% LocalWords: setcounter tocdepth tableofcontents newpage sproofs ulsmf08 sref usevocab
-% LocalWords: MaySch eltte09 twintoo sref subsubsection exfig vspace vspace usemhvocab
-% LocalWords: noindent renewtheorem hline textbf textbf footnotesize ple peano inlineass
-% LocalWords: STaxiomEnv symdef medskip succ mathbb ldots stepcounter ednote usemhmodule
-% LocalWords: STtheoremAssEnv stepcounter STtheoremAssEnv stepcounter defin STtypedecEnv
-% LocalWords: STtheoremAssEnv notatiendum defin smomdl biblatex twindef cdbase defis
-% LocalWords: twindef atwindef atwindef adjectivized varaiants twindefalt cseq defindex
-% LocalWords: twindefalt atwindefalt atwindefalt csymbol definalt termref emph emptyset
-% LocalWords: termref compactdesc KohAmb smmssl twinref atwinref newpart impl customized
-% LocalWords: termdef defemph defemph renewcommand termemph termenph stDMemph formalized
-% LocalWords: stDMemph STpresent STpresent makeatletter STlemmaAssEnv textsf emphasized
-% LocalWords: STpropositionAssEnv STcorollaryAssEnv STconjectureAssEnv langle defiis
-% LocalWords: STfalseconjectureAssEnv STpostulateAssEnv STobligationAssEnv foo defiis
-% LocalWords: STassumptionAssEnv STobservationAssEnv STexampleEnv textsf ltxml defiiis
-% LocalWords: STdefinitionEnv STnotationEnv printbibliography langle ncname localization
-% LocalWords: theoremstyle sym newenvironment ifx csname endcsname inlineex loadmodules
-% LocalWords: currentlabel theorembodyfont itshape theoremheaderfont bfseries defiiis
-% LocalWords: normalfont newtheorem upshape srefaddidkey definendum customization gdef
-% LocalWords: newcommand indef newif ifst indeffalse indeftrue attr whatsit automatized
-% LocalWords: STdefinitionEnvKeyword notemph modulename ifundefined atwin defi behavior
-% LocalWords: expandafter providecommand nameuse doctex ctancite funval defii initialize
-% LocalWords: funsymbs findnodes symbolnode defsref showmeta showmeta sysname ngerman
-% LocalWords: defii defiii defiii adefi adefi adefii adefii adefiii adefiii STruleAssEnv
-% LocalWords: trefi trefii trefiii atref atrefi atrefii atrefiii conf metakeys setkeys
-% LocalWords: compactenum Deref metasetkeys addmetakey symtype ltx ltx sts specialized
-% LocalWords: ifmetakeys fntype rightarrow inlinetypedec inlinetypedec STremarkAssEnv
-% LocalWords: ignorespaces usemodule textcolor STtypedecEnvKeyword flexiformalization
-% LocalWords: statements-ngerman.ldf omdoc@indexi xspace trefis trefiis trefiiis
-% LocalWords: importmhmodule
-
-% \endinput
-% Local Variables:
-% mode: doctex
-% TeX-master: t
-% End:
diff --git a/macros/latex/contrib/stex/sty/statements/statements.ins b/macros/latex/contrib/stex/sty/statements/statements.ins
deleted file mode 100644
index feb580fc54..0000000000
--- a/macros/latex/contrib/stex/sty/statements/statements.ins
+++ /dev/null
@@ -1,30 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex statements.ins
-%%
-%% Copyright(c) 2005 Michael Kohlhase
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{statements.sty}{\from{statements.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the generated style files into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/statements/statements.pdf b/macros/latex/contrib/stex/sty/statements/statements.pdf
deleted file mode 100644
index bdc3fb9851..0000000000
--- a/macros/latex/contrib/stex/sty/statements/statements.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/stex/README b/macros/latex/contrib/stex/sty/stex/README
deleted file mode 100644
index d07ccbb7c6..0000000000
--- a/macros/latex/contrib/stex/sty/stex/README
+++ /dev/null
@@ -1,6 +0,0 @@
-stex.sty: Semantic TeX (the packages all at once)
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/stex/stex.dtx b/macros/latex/contrib/stex/sty/stex/stex.dtx
deleted file mode 100644
index bec4f38373..0000000000
--- a/macros/latex/contrib/stex/sty/stex/stex.dtx
+++ /dev/null
@@ -1,701 +0,0 @@
-% \iffalse meta-comment
-% The sTeX packages all at once
-% Copyright (c) 2016 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package|logo>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{stex}[2019/03/20 v1.0 Semantic Markup]
-%<logo>\ProvidesPackage{stex-logo}[2019/03/20 v1.0 sTeX Logo]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,float,xspace,tikz}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic,backend=bibtex]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\def\latexml{\hbox{{\LaTeX}ML}\xspace}
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\xml{XML\xspace}
-\def\xslt{XSLT\xspace}
-\def\mathml{MathML\xspace}
-\def\omdoc{OMDoc\xspace}
-\def\smglom{SMGloM\xspace}
-\begin{document}\DocInput{stex.dtx}\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{36}
-%
-% \changes{v1.0}{2015/11/19}{self-documenting package}
-% \changes{v1.0}{2015/12/17}{Package dependency figure}
-% \changes{v1.0}{2016/04/06}{documenting all \protect\sTeX packages}
-%
-% \MakeShortVerb{\|}
-%
-% \title{Semantic Markup in {\TeX/\LaTeX}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% We present a collection of {\TeX} macro packages that allow to markup {\TeX/\LaTeX}
-% documents semantically without leaving the document format, essentially turning
-% {\TeX/\LaTeX} into a document format for mathematical knowledge management (MKM).
-% \end{abstract}
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-% \section{Introduction}
-%
-% The last few years have seen the emergence of various content-oriented {\xml}-based,
-% content-oriented markup languages for mathematics on the web, e.g.
-% OpenMath~\cite{BusCapCar:2oms04}, content MathML~\cite{CarIon:MathML03}, or our own
-% {\omdoc}~\cite{Kohlhase:OMDoc1.2}. These representation languages for mathematics, that
-% make the structure of the mathematical knowledge in a document explicit enough that
-% machines can operate on it. Other examples of content-oriented formats for mathematics
-% include the various logic-based languages found in automated reasoning tools
-% (see~\cite{RobVor:hoar01} for an overview), program specification languages (see
-% e.g.~\cite{Bergstra:as89}).
-%
-% The promise if these content-oriented approaches is that various tasks involved in ``doing
-% mathematics'' (e.g. search, navigation, cross-referencing, quality control, user-adaptive
-% presentation, proving, simulation) can be machine-supported, and thus the working
-% mathematician is relieved to do what humans can still do infinitely better than machines:
-% The creative part of mathematics --- inventing interesting mathematical objects,
-% conjecturing about their properties and coming up with creative ideas for proving these
-% conjectures. However, before these promises can be delivered upon (there is even a
-% conference series~\cite{MKM-IG-Meetings:online} studying ``Mathematical Knowledge
-% Management (MKM)''), large bodies of mathematical knowledge have to be converted into
-% content form.
-%
-% Even though {\mathml} is viewed by most as the coming standard for representing
-% mathematics on the web and in scientific publications, it has not not fully taken off in
-% practice. One of the reasons for that may be that the technical communities that need
-% high-quality methods for publishing mathematics already have an established method which
-% yields excellent results: the {\TeX/\LaTeX} system: and a large part of mathematical
-% knowledge is prepared in the form of {\TeX}/{\LaTeX} documents.
-%
-% {\TeX}~\cite{Knuth:ttb84} is a document presentation format that combines complex
-% page-description primitives with a powerful macro-expansion facility, which is utilized
-% in {\LaTeX} (essentially a set of {\TeX} macro packages, see~\cite{Lamport:ladps94}) to
-% achieve more content-oriented markup that can be adapted to particular tastes via
-% specialized document styles. It is safe to say that {\LaTeX} largely restricts content
-% markup to the document structure\footnote{supplying macros e.g. for sections,
-% paragraphs, theorems, definitions, etc.}, and graphics, leaving the user with the
-% presentational {\TeX} primitives for mathematical formulae. Therefore, even though
-% {\LaTeX} goes a great step into the direction of an MKM format, it is not, as it lacks
-% infrastructure for marking up the functional structure of formulae and mathematical
-% statements, and their dependence on and contribution to the mathematical context.
-%
-% \subsection{The {\xml} vs. {\TeX/\LaTeX} Formats and Workflows}
-%
-% {\mathml} is an {\xml}-based markup format for mathematical formulae, it is standardized
-% by the World Wide Web Consortium in {\cite{CarIon:MathML03}}, and is supported by the
-% major browsers. The {\mathml} format comes in two integrated components: presentation
-% {\mathml} presentation MathML and content {\mathml} content MathML. The former provides
-% a comprehensive set of layout primitives for presenting the visual appearance of
-% mathematical formulae, and the second one the functional/logical structure of the
-% conveyed mathematical objects. For all practical concerns, presentation {\mathml} is
-% equivalent to the math mode of {\TeX}. The text mode facilitates of {\TeX} (and the
-% multitude of {\LaTeX} classes) are relegated to other {\xml} formats, which embed
-% {\mathml}.
-%
-% The programming language constructs of {\TeX} (i.e. the macro definition
-% facilities\footnote{We count the parser manipulation facilities of {\TeX}, e.g. category
-% code changes into the programming facilities as well, these are of course impossible for
-% {\mathml}, since it is bound to {\xml} syntax.}) are relegated to the {\xml}
-% programming languages that can be used to develop language extensions.
-% transformation language {\xslt}~\cite{Deach:exls99,Kay:xpr00} or proper {\xml}-enabled
-% The {\xml}-based syntax and the separation of the presentational-, functional- and
-% programming/extensibility concerns in {\mathml} has some distinct advantages over the
-% integrated approach in {\TeX/\LaTeX} on the services side: {\mathml} gives us better
-% \begin{itemize}
-% \item integration with web-based publishing,
-% \item accessibility to disabled persons, e.g. (well-written) {\mathml} contains enough
-% structural information to supports screen readers.
-% \item reusability, searchabiliby and integration with mathematical software systems
-% (e.g. copy-and-paste to computer algebra systems), and
-% \item validation and plausibility checking.
-% \end{itemize}
-%
-% On the other hand, {\TeX/\LaTeX}/s adaptable syntax and tightly integrated programming
-% features within has distinct advantages on the authoring side:
-%
-% \begin{itemize}
-% \item The {\TeX/\LaTeX} syntax is much more compact than {\mathml}, and if needed, the
-% community develops {\LaTeX} packages that supply new functionality in with a succinct
-% and intuitive syntax.
-% \item The user can define ad-hoc abbreviations and bind them to new control sequences to
-% structure the source code.
-% \item The {\TeX/\LaTeX} community has a vast collection of language extensions and best
-% practice examples for every conceivable publication purpose and an established and very
-% active developer community that supports these.
-% \item There is a host of software systems centered around the {\TeX/\LaTeX} language that
-% make authoring content easier: many editors have special modes for {\LaTeX}, there are
-% spelling/style/grammar checkers, transformers to other markup formats, etc.
-% \end{itemize}
-%
-% In other words, the technical community is is heavily invested in the whole
-% {\index*{workflow}}, and technical know-how about the format permeates the
-% community. Since all of this would need to be re-established for a {\mathml}-based
-% workflow, the technical community is slow to take up {\mathml} over {\TeX/\LaTeX}, even
-% in light of the advantages detailed above.
-%
-% \subsection{A {\LaTeX}-based Workflow for {\xml}-based Mathematical Documents}
-%
-% An elegant way of sidestepping most of the problems inherent in transitioning from a
-% {\LaTeX}-based to an {\xml}-based workflow is to combine both and take advantage of the
-% respective advantages.
-%
-% The key ingredient in this approach is a system that can transform {\TeX\LaTeX} documents
-% to their corresponding {\xml}-based counterparts. That way, {\xml}-documents can be
-% authored and prototyped in the {\LaTeX} workflow, and transformed to {\xml} for
-% publication and added-value services, combining the two workflows.
-%
-% There are various attempts to solve the {\TeX/\LaTeX} to {\xml} transformation problem
-% (see ~\cite{StaGinDav:maacl09} for an overview); the most mature is probably Bruce
-% Miller's \latexml system~\cite{Miller:latexml:online}. It consists of two parts: a
-% re-implementation of the {\TeX} {\index*{analyzer}} with all of it's intricacies, and a
-% extensible {\xml} emitter (the component that assembles the output of the parser). Since
-% the {\LaTeX} style files are (ultimately) programmed in {\TeX}, the {\TeX} analyzer can
-% handle all {\TeX} extensions, including all of {\LaTeX}. Thus the \latexml parser can
-% handle all of {\TeX/\LaTeX}, if the emitter is extensible, which is guaranteed by the
-% \latexml binding language: To transform a {\TeX/\LaTeX} document to a given {\xml}
-% format, all {\TeX} extensions\footnote{i.e. all macros, environments, and syntax
-% extensions used int the source document} must have ``\latexml
-% bindings''\index{LaTeXML}{binding}, i.e. a directive to the \latexml emitter that
-% specifies the target representation in {\xml}.
-%
-% \subsection{Generating \protect\omdoc from \protect\sTeX}
-%
-% The \sTeX packages (see Section~\ref{sec:packages}) provide functionalities for marking
-% up the functional structure of mathematical documents, so that the {\LaTeX} sources
-% contain enough information that can be exported to the \omdoc format (\underline{O}pen
-% \underline{M}athematical \underline{Doc}uments; see~\cite{Kohlhase:OMDoc1.2}). For the
-% actual transformation, we use a \latexml plugin~\cite{LaTeXMLsTeX:github:on} that
-% provides the \latexml bindings for the \sTeX packages.
-%
-% \subsection{Conclusion}\label{sec:concl}
-%
-% The {\stex} collection provides a set of semantic macros that extends the familiar and
-% time-tried {\LaTeX} workflow in academics until the last step of Internet publication of
-% the material. For instance, an {\smglom} module can be authored and maintained in
-% {\LaTeX} using a simple text editor, a process most academics in technical subjects are
-% well familiar with. Only in a last publishing step (which is fully automatic) does it get
-% transformed into the {\xml} world, which is unfamiliar to most academics.
-%
-% Thus, {\stex} can serve as a conceptual interface between the document author and MKM
-% systems: Technically, the semantically preloaded {\LaTeX} documents are transformed into
-% the (usually {\xml}-based) MKM representation formats, but conceptually, the ability to
-% semantically annotate the source document is sufficient.
-%
-% The {\stex} macro packages have been validated together with a case
-% study~\cite{Kohlhase04:stex}, where we semantically preload the course materials for a
-% two-semester course in Computer Science at Jacobs University Bremen and transform them to
-% the {\omdoc} MKM format.
-%
-% \subsection{Licensing, Download and Setup}\label{sec:setup}
-%
-% The {\stex} packages are licensed under the {\LaTeX} Project Public License~\cite{LPPL},
-% which basically means that they can be downloaded, used, copied, and even modified by
-% anyone under a set of simple conditions (e.g. if you modify you have to distribute under a
-% different name).
-%
-% \subsubsection{The \protect\sTeX Distribution}
-%
-% The {\stex} packages and classes are available from the Comprehensive {\TeX} Archive
-% Network (CTAN~\cite{CTAN:on}) and are part of the primary {\TeX/\LaTeX} distributions
-% (e.g. TeXlive~\cite{TeXLive:on} and MikTeX~\cite{MiKTeX:on}). The development version is
-% on GitHub~\cite{sTeX:github:on}, it can cloned or forked from the repository URL
-% \begin{center}
-% \url{https://github.com/KWARC/sTeX.git}
-% \end{center}
-% It is usually a good idea to enlarge the internal memory allocation of the \TeX/\LaTeX executables. This can be done by
-% adding the following configurations in \texttt{texmf.cnf} (or changing them, if they
-% already exist). Note that you will probably need \texttt{sudo} to do this.
-% \begin{footnotesize}\sf
-% \begin{verbatim}
-% max_in_open = 50 % simultaneous input files and error insertions,
-% param_size = 20000 % simultaneous macro parameters, also applies to MP
-% nest_size = 1000 % simultaneous semantic levels (e.g., groups)
-% stack_size = 10000 % simultaneous input sources
-% main_memory = 12000000
-% \end{verbatim}
-% \end{footnotesize}
-% After that, you have to run the
-% \begin{verbatim}
-% sudo fmtutil-sys --all
-% \end{verbatim}
-%
-% With this installation using \sTeX is as painless as using \LaTeX, just make sure the
-% \sTeX distribution is where \texttt{latex} can find it and run \texttt{pdflatex} over
-% the main file.
-%
-% \subsubsection{The \protect\sTeX Plugin for \protect\latexml}
-%
-% For the \omdoc transformation of \sTeX documents we use a \latexml plugin that provides
-% the \latexml bindings for the \sTeX packages. For installation and setup follow the
-% instructions at~\cite{LaTeXMLsTeX:github:on}\ednote{We are working on a CPAN submission
-% that should make installations painless.}
-%
-%\newpage
-% \section{The Packages of the \protect\stex Collection}\label{sec:packages}
-%
-% In the following, we will shortly preview the packages and classes in the {\stex}
-% collection. They all provide part of the solution of representing semantic structure in
-% the {\TeX/\LaTeX} workflow. We will group them by the conceptual level they
-% address. Figure~\ref{fig:packages} gives an overview.
-%
-% \subsection{The \protect\sTeX Distribution}\label{pkg:stex}
-%
-% The |stex| package provides |stex.sty| that just loads all packages below and passes
-% around the package options accordingly and |stex-logo.sty| that provides the macros
-% \DescribeMacro{\sTeX}|\sTeX| and \DescribeMacro{\stex}|\stex| that typeset the \sTeX
-% logo.
-%
-% \begin{figure}[ht]\centering
-% \begin{tikzpicture}[xscale=1.1]\tt
-% \node (metakeys) at (0,0) {metakeys};
-% \node (cpath) at (-2,0) {cpath};
-% \node (presentation) at (2.5,0) {presentation};
-%
-% \node (sref) at (0,1) {sref};
-% \node (cmath) at (2.5,1) {cmath};
-%
-% \node (rdfmeta) at (-2,2) {rdfmeta};
-% \node (modules) at (0,2) {modules};
-% \node (omdoc) at (1.5,2) {omdoc};
-% \node (sproof) at (3,2) {sproof};
-%
-% \node (wa) at (-2,3) {workaddress};
-% \node (omtext) at (0,3) {omtext};
-% \node (structview) at (3,3) {structview};
-%
-% \node (dcm) at (-2,4) {dcm};
-% \node (statements) at (0,4) {statements};
-% \node (stex-logo) at (3.5,4) {stex-logo};
-%
-% \node (problem) at (4.5,5) {problem};
-% \node (tikzinput) at (2.5,5) {tikzinput};
-% \node (stex) at (0,5) {stex};
-% \node (smultiling) at (-2,5) {smultiling};
-%
-% \node (smglomsty) at (-2,6) {smglom.sty};
-% \node (mikoslidessty) at (.5,6) {mikoslides.sty};
-% \node (hwexamsty) at (4.5,6) {hwexam.sty};
-%
-% \node (smglomcls) at (-2,7) {smglom.cls};
-% \node (mikoslidescls) at (.5,7) {mikoslides.cls};
-% \node (hwexamcls) at (4.5,7) {hwexam.cls};
-% \node (omdoccls) at (2.5,6.5) {omdoc.cls};
-%
-% \draw[->] (sref) -- (metakeys);
-% \draw[->] (cmath) -- (presentation);
-% \draw[->] (rdfmeta) -- (sref);
-% \draw[->] (wa) -- (modules);
-% \draw[->] (modules) -- (sref);
-% \draw[->] (modules) -- (cpath);
-% \draw[->] (omdoc) -- (sref);
-% \draw[->] (sproof) -- (sref);
-% \draw[->] (dcm) to[bend right=70] (rdfmeta);
-% \draw[->] (dcm) -- (wa);
-% \draw[->] (omtext) -- (modules);
-% \draw[->] (statements) -- (omtext);
-% \draw[->] (stex) -- (statements);
-% \draw[->] (stex) -- (dcm);
-% \draw[->] (stex) to[bend left=5] (sproof);
-% \draw[->] (stex) to[bend left=5] (structview);
-% \draw[->] (structview) -- (modules);
-% \draw[->] (stex) to[bend left=15] (cmath);
-% \draw[->] (stex) to[bend left=20] (omdoc);
-% \draw[->] (stex) -- (stex-logo);
-% \draw[->] (problem) -- (omtext);
-% \draw[->] (smglomsty) -- (smultiling);
-% \draw[->] (smglomsty) -- (statements);
-% \draw[->] (smglomcls) -- (smglomsty);
-% \draw[->] (smglomcls) -- (stex);
-% \draw[->] (mikoslidescls) -- (mikoslidessty);
-% \draw[->] (mikoslidescls) -- (smglomsty);
-% \draw[->] (mikoslidessty) -- (tikzinput);
-% \draw[->] (mikoslidessty) -- (stex);
-% \draw[->] (mikoslidessty) -- (smglomsty);
-% \draw[->] (hwexamcls) -- (hwexamsty);
-% \draw[->] (hwexamsty) -- (problem);
-% \draw[->] (omdoccls) to[bend right=20] (omdoc);
-%
-% \draw[->] (hwexamcls) -- (tikzinput);
-% \draw[->] (hwexamcls) to[bend right=10] (omdoccls);
-% \draw[->] (mikoslidescls) to[bend left=10] (omdoccls);
-% \draw[->] (smglomcls) to[bend right=10] (omdoccls);
-% \end{tikzpicture}
-% \caption{The \protect\sTeX packages and their dependencies.}\label{fig:packages}
-% \end{figure}
-%
-% \subsection{Content Markup of Mathematical Formulae in {\TeX/\LaTeX}}
-%
-% \subsubsection{\texttt{cmath}: Building Content Math Representations}\label{pkg:cmath}
-%
-% The |cmath| package (see~\ctancite{Kohlhase:cmath}) supplies an interface for building
-% content math representations. It gives special macros for marking up variables,
-% applications and bindings. It supports the transformation into both
-% OpenMath~\cite{BusCapCar:2oms04} and content MathML~\cite{CarIon:MathML03}.
-%
-% \subsubsection{{\texttt{presentation}}: Flexible Presentation for Semantic
-% Macros}\label{pkg:presentation}
-%
-% The {\texttt{presentation}} package (see~\ctancite{Kohlhase:ipsmsl}) supplies an
-% infrastructure that allows to specify the presentation of semantic macros, including
-% preference-based bracket elision. This allows to markup the functional structure of
-% mathematical formulae without having to lose high-quality human-oriented presentation in
-% {\LaTeX}. Moreover, the notation definitions can be used by MKM systems for added-value
-% services, either directly from the {\sTeX} sources, or after translation.
-%
-% \subsection{Mathematical Statements}
-%
-% \subsubsection{{\texttt{statements}}: Extending Content Macros for Mathematical
-% Notation}\label{pkg:statements}
-%
-% The \texttt{statements} package (see\ctancite{Kohlhase:smms}) provides semantic markup
-% facilities for mathematical statements like Theorems, Lemmata, Axioms, Definitions,
-% etc. in {\stex} files. This structure can be used by MKM systems for added-value services,
-% either directly from the {\sTeX} sources, or after translation.
-%
-% \subsubsection{{\texttt{sproof}}: Extending Content Macros for Mathematical
-% Notation}\label{pkg:sproof}
-%
-% The \texttt{sproof} package (see~\ctancite{Kohlhase:smp}) supplies macros and environment
-% that allow to annotate the structure of mathematical proofs in {\stex} files. This
-% structure can be used by MKM systems for added-value services, either directly from the
-% {\sTeX} sources, or after translation.
-%
-% \subsubsection{\texttt{omtext}: Mathematical Text}\label{pkg:omtext}
-% \ednote{say something}
-%
-% \subsection{Context Markup for Mathematics}
-%
-% \subsubsection{{\texttt{modules}}: Extending Content Macros for Mathematical\
-% Notation}\label{pkg:modules}
-%
-% The \texttt{modules} package (see~\ctancite{KohAmb:smmssl}) supplies a definition
-% mechanism for semantic macros and a non-standard scoping construct for them, which is
-% oriented at the semantic dependency relation rather than the document structure. This
-% structure can be used by MKM systems for added-value services, either directly from the
-% {\sTeX} sources, or after translation. A side effect of this is that we have an
-% ``object-oriented'' inheritance mechanism for semantic macros: the semantic macros for
-% the mathematical objects described in a module come with the module itself. As a
-% consequence, the \textbf{modules signatures} (only the macro definitions, not the
-% descriptions) need to be loaded before they can be used somewhere else.
-%
-% \subsubsection{\texttt{smultiling}: Multilingual Mathematical
-% Modules}\label{pkg:smultiling}
-%
-% In multilingual settings, i.e. where we have multiple \sTeX documents that are
-% translations of each other, it is better to separate the module signature from the
-% descriptive document. \ednote{continue}
-%
-% \subsubsection{\texttt{structview}: Structures and Views}\label{pkg:structview}
-% \ednote{Say something}
-%
-% \subsection{Mathematical Document Classes}
-%
-% \subsubsection{OMDoc Documents}\label{pkg:omdoc}
-%
-% The \texttt{omdoc} package provides an infrastructure that allows to markup {\omdoc}
-% documents in {\LaTeX}. It provides \texttt{omdoc.cls}, a class with the and
-% {\texttt{omdocdoc.sty}}\ednote{continue}
-%
-% \subsubsection{\texttt{hwexam}: Homeworks and Exams}\label{pkg:hwexam}
-%
-% The \texttt{hwexam} package~\ctancite{Kohlhase:hwexam} provides |hwexam.cls| and
-% |hwexam.sty| for marking up homework assignments, and exams. The content markup strategy
-% employed in \sTeX allows to specify -- and profit from -- administrative metadata such
-% as time and point counts. This package relies on the |problem|
-% package~\ctancite{Kohlhase:problem} which provides markup for problems, hints, and
-% solutions.
-%
-% \subsubsection{\texttt{mikoslides}: Slides and Course Notes}\label{pkg:mikoslides}
-%
-% The |mikoslides| package provides a document class from which we can generate both
-% course slides -- via the |beamer| classs -- and course notes -- via the |omdoc| class --
-% in a transparent way.
-%
-% \subsection{Metadata}
-%
-% \subsubsection{\texttt{rdfmeta}: RDFa Metadata for \protect\sTeX}\label{pkg:rdfmeta}
-% \ednote{Say something}
-%
-% \subsubsection{\texttt{dcm}: Dublin Core Metadata}\label{pkg:dcm}
-% \ednote{Say something}
-%
-% \subsubsection{\texttt{workaddress}: Markup for FOAF Metadata}\label{pkg:workaddress}
-% \ednote{Say something}
-%
-% \subsection{Support for MathHub}
-%
-% The |mathhub| package provides the supplementary packages |mikoslides-mh|,
-% |modules-mh.sty|, |omtext-mh.sty|, |problem-mh.sty|, |smultiling-mh.sty|,
-% |structview-mh.sty|, and |tikzinput-mh.sty| with variants of the user-visible macros
-% that are adapted to the MathHub system -- see Section~\ref{sec:mathhub} for details.
-%
-% \subsection{Auxiliary Packages}
-%
-% \subsubsection{\texttt{metakeys}: An extended key/value Interface}\label{pkg:metakeys}
-% \ednote{Say something}
-%
-% \subsubsection{\texttt{pathsuris}: Managing Relative/Absolute File Paths}\label{pkg:pathsuris}
-% \ednote{Say something}
-%
-% \subsubsection{\texttt{tikzinput}: External TIKZ Pictures as Standalone Images}\label{pkg:tikzinput}
-% \ednote{Say something}
-%
-% \newpage
-% \section{Workflows and Best Practices}\label{sec:workflows}
-%
-% \subsection{The ``Little Modules'' Approach}
-%
-% One of the key advantages of semantic markup with \sTeX is that the \sTeX sources are
-% highly reusable by the ``object-oriented'' inheritance model induced by \sTeX
-% modules. It turned out to be useful to divide \sTeX documents into three kinds of files:
-% \begin{enumerate}
-% \item \textbf{module files}: files that essentially contain a collection of \sTeX
-% modules~\ctancite{KohAmb:smmssl} -- usually a single one whose module name coincides
-% the file name base.
-% \item \textbf{fragment files}: files that contain a group of input references to module-
-% or fragment files -- usually one group deep for flexibility, transition text, and
-% additional remarks.
-% \item \textbf{driver files} that set up the document class, contain the preambles, and
-% input reference fragment files.
-% \end{enumerate}
-%
-% These correspond to the \sTeX documents, but can reuse and share \sTeX fragments and
-% modules. Figure~\ref{fig:reuse} shows a situation, where we have two courses given over
-% multiple years, which results in five course notes documents given by driver files, wich
-% share quite a few components. As drivers and fragment files are mostly content-free --
-% they only contribute document structure, this lets all documents contribute from the
-% development of the modules.
-%
-% \begin{figure}[ht]\centering
-% \begin{tikzpicture}\footnotesize
-% \tikzstyle{course} = [draw,rounded corners,inner sep=0pt]
-% \tikzstyle{topic} = [draw,inner sep=2pt]
-%
-% \node at (-1,0) {modules};
-% \node at (-1,1) {fragments};
-% \node at (-1,2) {drivers};
-%
-% \node[topic] (strings) at (1,0) {strings};
-% \node[topic] (pref) at (2.5,0) {\begin{tabular}{c}prefix\\codes\end{tabular}};
-% \node[topic] (codes) at (1.5,1) {codes};
-%
-% \node[topic] (xml) at (5.3,0) {DAG};
-% \node[topic] (uc) at (4,0) {Trees};
-% \node[topic] (html) at (4.5,1) {GraphTheo};
-%
-% \node[topic] (docbook) at (8,0) {NatDed};
-% \node[topic] (dita) at (6.8,0) {FOL};
-% \node[topic] (man) at (7.5,1) {Logic};
-%
-% \node[course] (gencs) at (3,2) {\begin{tabular}{c}GenCS\\2011\end{tabular}};
-% \node[course] (gencs10) at (1.5,2) {\begin{tabular}{c}GenCS\\2010\end{tabular}};
-% \node[course] (gencs12) at (4.5,2) {\begin{tabular}{c}GenCS\\2012\end{tabular}};
-% \node (gdots) at (3,1) {\ldots};
-% \node[course] (tdm) at (6.5,2) {\begin{tabular}{c}AdvCS\\2011\end{tabular}};
-% \node[course] (tdm12) at (8,2) {\begin{tabular}{c}AdvCS\\2012\end{tabular}};
-% \node (tdots) at (6,1) {\ldots};
-%
-% \draw (gencs) -- (strings) -- (codes);
-% \draw (gencs) -- (html) -- (uc);
-% \draw (tdm) -- (man) -- (docbook);
-% \draw (tdm) -- (html) -- (xml);
-% \draw (codes) -- (pref);
-% \draw (man) -- (dita);
-% \draw (gencs) -- (gdots);
-% \draw (tdm) -- (tdots);
-% \draw (gencs12) -- (codes);
-% \draw (gencs10) -- (codes);
-% \draw (gencs12) -- (gdots);
-% \draw (gencs10) -- (gdots);
-% \draw (gencs12) -- (html);
-% \draw (gencs10) -- (html);
-% \draw (tdm12) -- (html);
-% \draw (tdm12) -- (tdots);
-% \draw (tdm12) -- (man);
-% \end{tikzpicture}
-% \caption{Reuse of Fragments and Modules in a Course Notes Setting}\label{fig:reuse}
-% \end{figure}
-%
-% The downside of this ``object-oriented'' inheritance mechanism is that we need to keep
-% the module signatures (see Section~\ref{pkg:modules}) up to date adding to the
-% complexity of document management.
-%
-% Another advantage of the ``little modules approach'' is that modules can be developed
-% separately. Indeed all modules of a given subject share common pre- and post-ambles which
-% can be developed in special files -- usually named |pre.tex|, |post.tex|, and
-% |preamble.tex| (the latter is included in |pre.tex|). Given such a setup, the call to
-% |pdflatex| can be suitably adapted to handle the pre/postfixes.
-%
-% \subsection{Basic Utilities \& Makefiles}\label{sec:utilities}
-%
-% The \sTeX distribution contains three basic command line utilities to manage \sTeX
-% documents in the |bin| directory of the distribution.
-% \begin{description}
-% \item[\texttt{sms}] computes the \stex module signatures for a given \stex file
-% (see~\ctancite{KohAmb:smmssl} details).
-% \item[\texttt{filedate} and \texttt{checksum}] that help keeping the metadata of the
-% self-documenting {\LaTeX} packages in the \stex distribution up to date.
-% \item[\texttt{installFonts.sh}] that installs the fonts necessary for chinese \sTeX
-% documents.
-% \end{description}
-% These are supplemented by a set of UNIX |Makefiles| in the |lib/make| directory. The way
-% to use them is to include them into a |Makefile| in the directory and then run one of
-% the targets |pdf| and |mpdf| to make the PDF versions of the drivers and
-% modules\ednote{MK: what about the fragments?} and |omdoc| and |mods| to generate
-% \omdoc. Note that we need to |make sms| in order to make the respective \sTeX module
-% signatures for the modules.
-%
-% \subsection{MathHub: a Portal for Active Mathematical Documents}\label{sec:mathhub}
-%
-% MathHub (\url{http://mathhub.info} see~\cite{IanJucKoh:sdm14}) is a portal for Active
-% Mathematical Documents -- documents that are made context-aware and interactive by
-% semantic annotations. \sTeX is one of the main input formats for informal active
-% documents. MathHub supports \sTeX documents in three ways:
-% \begin{enumerate}
-% \item MathHub offers free/open hosting in document repositories for (mathematical) \sTeX
-% document collections.
-% \item the backend system supports the large-scale change- and error-management for \sTeX
-% documents in the ``little modules'' paradigm.
-% \item the front-end displays interactive (HTML5) documents generated from the \sTeX
-% sources (via \omdoc).
-% \end{enumerate}
-% The MathHub system is probably the best way of developing and hosting larger \sTeX
-% document collections. It offers two authoring workflows an online authoring workflow via
-% a direct web interface~\cite{MathHub:oa:on} or casual users and an offline authoring
-% workflow that we describe next.
-%
-% \subsection{\texttt{lmh}: MathHub's Build System Locally}\label{sec:lmh}
-%
-% As direct web editing workflows are not efficient for larger document collections, the
-% MathHub system offers an offline authoring system. This uses GIT repositories for
-% distribution -- the author develops the document collection on a local working copy and
-% then commits for inclusion to MathHub. The MathHub build system can be used locally for
-% efficient development via the |localmh| system~\cite{lmh:github:on}. In a nutshell --
-% see~\cite{MathHub:law:on} for details --
-% \begin{enumerate}
-% \item |localmh| is installed in a docker container that supplies the build system and
-% provides the |lmh| command suite.
-% \item |lmh pdf| formats \sTeX modules to PDF -- building all dependencies, e.g. module
-% signatures, first.
-% \item |lmh omdoc| generates \omdoc for \sTeX documents -- again with dependencies.
-% \item |lmh xhtml| generates active documents (in XHTML5) from the \sTeX sources or their
-% \omdoc versions.
-% \item |lmh| \meta{gitsc} distributes the git subcommand \meta{gitsc} over multiple
-% repositories.
-% \end{enumerate}
-% Various other |lmh| subcommands help with large-scale editing problems like renaming or
-% moving modules, translations in multilingual settings, etc.
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\newpage\printbibliography}\newpage
-%
-% \newpage
-% \section{The Implementation}\label{sec:implementation}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% The first step is to declare (a few) package options that handle whether certain
-% information is printed or not. They all come with their own conditionals that are set by
-% the options.
-%
-% \begin{macrocode}
-%<*package>
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{statements}
- \PassOptionsToPackage{\CurrentOption}{structview}
- \PassOptionsToPackage{\CurrentOption}{sproofs}
- \PassOptionsToPackage{\CurrentOption}{omdoc}
- \PassOptionsToPackage{\CurrentOption}{cmath}
- \PassOptionsToPackage{\CurrentOption}{dcm}}
-\ProcessOptions
-% \end{macrocode}
-%
-% Then we make sure that the necessary packages are loaded (in the right versions).
-% \begin{macrocode}
-\RequirePackage{stex-logo}
-\RequirePackage{omdoc}
-\RequirePackage{statements}
-\RequirePackage{structview}
-\RequirePackage{sproof}
-\RequirePackage{cmath}
-\RequirePackage{dcm}
-%</package>
-% \end{macrocode}
-%
-% \subsection{The \protect\sTeX Logo}\label{sec:impl:ids}
-%
-% To provide default identifiers, we tag all elements that allow |xml:id| attributes by
-% executing the |numberIt| procedure from |omdoc.sty.ltxml|.
-%
-% \begin{macrocode}
-%<*logo>
-\RequirePackage{xspace}
-\def\stex{%
- \@ifundefined{texorpdfstring}%
- {\let\texorpdfstring\@firstoftwo}%
- {}%
- \texorpdfstring{\raisebox{-.5ex}S\kern-.5ex\TeX}{sTeX}\xspace%
-}
-\def\sTeX{\stex}
-%</logo>
-% \end{macrocode}
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-% LocalWords: GPL structuresharing STR dtx pts keyval xcomment CPERL DefKeyVal iffalse
-% LocalWords: RequirePackage Semiverbatim DefEnvironment OptionalKeyVals soln texttt baz
-% LocalWords: exnote DefConstructor inclprob NeedsTeXFormat omd.sty textbackslash exfig
-% LocalWords: stopsolution fileversion filedate maketitle setcounter tocdepth newpage uc
-% LocalWords: tableofcontents showmeta showmeta solutionstrue usepackage minipage hrule
-% LocalWords: linewidth elefants.prob Elefants smallskip noindent textbf startsolutions
-% LocalWords: startsolutions stopsolutions stopsolutions includeproblem includeproblem
-% LocalWords: textsf HorIacJuc cscpnrr11 includemhproblem includemhproblem importmodule
-% LocalWords: importmhmodule foobar ldots latexml mhcurrentrepos mh-variants mh-variant
-% LocalWords: compactenum langle rangle langle rangle ltxml metakeys newif ifexnotes rm
-% LocalWords: exnotesfalse exnotestrue ifhints hintsfalse hintstrue ifsolutions ifpts
-% LocalWords: solutionsfalse ptsfalse ptstrue ifmin minfalse mintrue ifboxed boxedfalse
-% LocalWords: boxedtrue sref mdframed marginpar prob srefaddidkey addmetakey refnum kv
-% LocalWords: newcounter ifx thesection theproblem hfill newenvironment metasetkeys ltx
-% LocalWords: stepcounter currentsectionlevel xspace ignorespaces surroundwithmdframed
-% LocalWords: omdoc autoopen autoclose solvedinminutes kvi qw vals newcommand exhint pgk
-% LocalWords: specialcomment excludecomment mhrepos xref marginpar addtocounter doctex
-% LocalWords: mh@currentrepos endinput stex Bergstra mathml ttb84 utilized ladps94 xslt
-% LocalWords: specialized standardized Deach exls99 xpr00 compactitem searchabiliby tdm
-% LocalWords: StaGinDav maacl09 analyzer athematical uments concl smglom subsubsection
-% LocalWords: TeXlive TeXLive texmf.cnf pdflatex ednote cmath cmath ctancite ipsmsl lmh
-% LocalWords: centering tikzpicture xscale cpath cpath rdfmeta rdfmeta sproof sproof
-% LocalWords: workaddress omtext omtext tikzinput tikzinput smglomsty mikoslidessty
-% LocalWords: mikoslides.sty hwexamsty hwexam.sty smglomcls smglom.cls mikoslidescls
-% LocalWords: mikoslides.cls hwexamcls hwexam.cls omdoccls omdoc.cls smms KohAmb smmssl
-% LocalWords: omdocdoc.sty hwexam hwexam mikoslides mikoslides mathhub modules-mh.sty
-% LocalWords: omtext-mh.sty problem-mh.sty smultiling-mh.sty structview-mh.sty docbook
-% LocalWords: tikzinput-mh.sty pathsuris pathsuris tikzstyle NatDed gencs gdots tdots
-% LocalWords: printbibliography sproofs texorpdfstring raisebox IanJucKoh sdm14 localmh
-% LocalWords: gitsc gitsc
diff --git a/macros/latex/contrib/stex/sty/stex/stex.ins b/macros/latex/contrib/stex/sty/stex/stex.ins
deleted file mode 100644
index d49b07d36b..0000000000
--- a/macros/latex/contrib/stex/sty/stex/stex.ins
+++ /dev/null
@@ -1,33 +0,0 @@
-%%
-%% This file generates files required to use the stex package.
-%% At your command prompt write
-%%
-%% latex stex.ins
-%%
-%% Copyright(c) 2007 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex-content/sty/stex/stex.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{stex.sty}{\from{stex.dtx}{package}}}
-\generate{\file{stex-logo.sty}{\from{stex.dtx}{logo}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file stex.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/stex/stex.pdf b/macros/latex/contrib/stex/sty/stex/stex.pdf
deleted file mode 100644
index 5dc9e72586..0000000000
--- a/macros/latex/contrib/stex/sty/stex/stex.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/structview/README b/macros/latex/contrib/stex/sty/structview/README
deleted file mode 100644
index 1ca4729991..0000000000
--- a/macros/latex/contrib/stex/sty/structview/README
+++ /dev/null
@@ -1,19 +0,0 @@
-modules.sty: An Infrastructure for Semantic Macros and Module Scoping
-
-The modules package supplies an infrastructure that allows mark up semantic macros
-and to reuse them efficiently in multiple environments.
-
-This packge is a central part of the sTeX collection, a version of TeX/LaTeX that allows
-to markup TeX/LaTeX documents semantically without leaving the document format,
-essentially turning it into a document format for mathematical knowledge management
-(MKM).
-
-This package supplies a definition mechanism for semantic macros and a non-standard
-scoping construct for them, which is oriented at the semantic depency relation rather
-than the document structure. This structure can be used by MKM systems for
-added-value services, either directly from the sTeX sources, or after translation.
-
-Copyright (c) 2008 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/structview/structview.dtx b/macros/latex/contrib/stex/sty/structview/structview.dtx
deleted file mode 100644
index c87f592464..0000000000
--- a/macros/latex/contrib/stex/sty/structview/structview.dtx
+++ /dev/null
@@ -1,426 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for Structures and Views
-% Copyright (C) 2004-2013 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{structview}[2019/03/20 v0.9 Structures and Views]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{stex-logo,structview}
-\usepackage{url,array,float,textcomp}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{listings}
-\usepackage{amsfonts}
-\usepackage{ctangit}
-\usepackage{xspace}
-\usepackage{hyperref}
-\usepackage{tikz}
-\usetikzlibrary{mmt}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on},\hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\def\gray#1{\textcolor{gray}{#1}}
-\def\map#1#2{#1\mapsto #2}
-\begin{document}
-\RecordChanges
-\DocInput{structview.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \CheckSum{926}
-%
-% \changes{v0.9}{2015/11/05}{Moved out of the \texttt{modules} package}
-% \changes{v0.9}{2016/06/11}{Deprecated \texttt{viewsketch}}
-%
-% \GetFileInfo{modules.sty}
-% \MakeShortVerb{\|}
-%\def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}\xspace}
-% \def\xml{\scsys{Xml}}
-% \def\mathml{\scsys{MathML}}
-% \def\omdoc{\scsys{OMDoc}}
-% \def\openmath{\scsys{OpenMath}}
-% \def\latexml{\scsys{LaTeXML}}
-% \def\perl{\scsys{Perl}}
-% \def\cmathml{Content-{\sc MathML}\index{Content {\sc MathML}}\index{MathML@{\sc MathML}!content}}
-% \def\activemath{\scsys{ActiveMath}}
-% \def\twin#1#2{\index{#1!#2}\index{#2!#1}}
-% \def\twintoo#1#2{{#1 #2}\twin{#1}{#2}}
-% \def\atwin#1#2#3{\index{#1!#2!#3}\index{#3!#2 (#1)}}
-% \def\atwintoo#1#2#3{{#1 #2 #3}\atwin{#1}{#2}{#3}}
-% \def\cT{\mathcal{T}}\def\cD{\mathcal{D}}
-% \def\cn#1{\mathsf{#1}}
-% \title{{\texttt{structview.sty}}: Structures and Views in {\stex}\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% The |structview| package is part of the {\stex} collection, a version of {\TeX/\LaTeX}
-% that allows to markup {\TeX/\LaTeX} documents semantically without leaving the
-% document format, essentially turning {\TeX/\LaTeX} into a document format for
-% mathematical knowledge management (MKM).
-%
-% This package supplies infrastructure for \omdoc structures and views: complex semantic
-% relations between modules/theories.
-% \end{abstract}
-%
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-% \section{Introduction}\label{sec:intro}
-%
-% Structures and views constitute ways of defining and relating theories in a theory graph
-% that considerably extend the ``object-oriented inheritance'' constituted by the imports
-% relation given by the \sTeX |module| package.
-%
-% Structures are like imports, only that they allow to define new theories via inheritance
-% with renaming. Views relate pre-existing theories and model conceptual refinements,
-% framing, and implementation relations, again via a mapping between the languages defined
-% by the source and target theories; we call these mappings \textbf{theory morphisms}.
-%
-% For details about theory morphisms we refer to~\cite{RabKoh:WSMSML13}, but hope to make
-% the underlying concepts clear with examples.
-%
-%\begin{figure}[ht]\centering
-% \begin{tikzpicture}[scale=.9]\footnotesize
-% \node[thy] (Mon) at (0,1.2) {$\mmtthy{monoid}{\gray{\cn{op},\;\cn{unit}}}{}$};
-% \node[thy] (CGr) at (0,3) {$\mmtthy{cgp}{\gray{\cn{mon},\;\cn{inv}}}{}$};
-% \node[thy] (Ring) at (-3.5,3) {$\mmtthy{ring}{\gray{\cn{add}},\;\gray{\cn{mul}}}{}$};
-% \draw[struct](Mon) -- node[left,near end]{$\cn{cgp}?\cn{mon}$} (CGr);
-% \draw[struct](CGr) -- node[below]{$\cn{ring}?\cn{add}$}(Ring);
-% \draw[struct](Mon) -- node[left]{$\cn{ring}?\cn{mul}$} (Ring);
-% \node[thy] (Int) at (3,3) {$\mmtthy{integers}{\gray{+,0,-,\cdot,1}}{}$};
-% \node[draw] (v2) at (1.5,4.8) {
-% $\begin{array}{l}
-% v_2\colon \\
-% \gray{\left\{\begin{array}{c}
-% \map{\cn{mon}/\cn{op}}{+} \\
-% \map{\cn{mon}/\cn{unit}}{0}
-% \end{array}
-% \right\}}
-% \;\mathrm{or}\; \gray{\map{\cn{mon}}{v_1}} \\
-% \gray{\map{\cn{inv}}{-}}
-% \end{array}$};
-% \node[draw] at (2.5,1.4) {
-% $\begin{array}{l}
-% v_1\colon\\
-% \gray{\map{\cn{op}}{+}} \\
-% \gray{\map{\cn{unit}}{0}}
-% \end{array}$};
-% \draw[view](Mon) -- (Int);
-% \draw[view](CGr) -- node[below]{$v_2$} (Int);
-% \draw[struct] (-4,4.5) -- +(1,0);
-% \draw[view] (-4,5) -- +(1,0);
-% \node[right] at (-3,4.5) {import};
-% \node[right] at (-3,5) {view};
-% \draw[view] (Ring) to[out=17,in=163] node[above,very near start] {$v_3$} (Int);
-% \draw[view] (Mon) to[loop left] node[left,draw,solid,outer sep=3pt,thin]{$v_4\colon\map{x\,\cn{op}\,y}{y\,\cn{op}\,x}$}(Mon);
-% \end{tikzpicture}
-% \caption{A Theory Graph with Structures and Views}\label{fig:structview}
-% \end{figure}
-% \ednote{explain the contribution of structures and views to theory graphs and
-% synchronize with Figure~\ref{fig:ring}.}
-%
-% \section{The User Interface}
-%
-% The main contributions of the |modules| package are the |module| environment, which
-% allows for lexical scoping of semantic macros with inheritance and the |\symdef| macro
-% for declaration of semantic macros that underly the |module| scoping.
-%
-% \subsection{Package Options}\label{sec:options}
-%
-% The \DescribeMacro{mh}|mh| option turns on MathHub support.
-%
-% \subsection{Theory Morphisms}\label{sec:user:assignments}
-%
-% A theory morphism is a mapping between the languages of its source and target
-% theory. This can be described mathematically using all the structures in the \sTeX
-% distribution. However, in many situations, the language transformation of a morphism can
-% be given in form of \textbf{assignments} that map symbols of the source theory to
-% expressions of the target theory.
-%
-% There are three kinds assignments:\ednote{MK: we need better macros here.}
-% \begin{description}
-% \item[symbol assignments] via
-% \DescribeMacro{\vassign}|\vassign{|\meta{sym}|}{|\meta{exp}|}|, which maps a symbol
-% \meta{sym} from source theory an expression \meta{exp} in the target theory.
-% \item[function assignments] via
-% \DescribeMacro{\fassign}|\fassign{|\meta{bvars}|}{|\meta{pat}|}{|\meta{exp}|}|, is a
-% variant which maps a function symbol \meta{sym} by mapping a pattern expression
-% \meta{pat} (\meta{sym} applied to \meta{bvars}) to an expression \meta{exp} in the
-% target theory on bound variables \meta{bvars}.
-% \item[term assignments] via
-% \DescribeMacro{\tassign}|\tassign{|\meta{sym}|}{|\meta{tname}|}|, another special
-% case, where the value is the symbol with name \meta{tname} in the target theory.
-% \end{description}
-% Figure~\ref{fig:ring} shows a concrete example\ednote{adapt when we fully understand
-% this, and the implementation works.}
-%
-% The assignments above can be seen as abbreviations for a simple, formal definitions,
-% which define a symbol of the source theory by an expression in the target theory.
-%
-% \subsection{Structures}\label{sec:user:structures}
-%
-% Structures are specified by the \DescribeEnv{structure}|sstructure|\footnote{The old
-% |importmodulevia| environment is now deprecated.} environment:
-% \begin{center}
-% |\begin{sstructure}[|\meta{keys}|]{|\meta{name}|}{|\meta{sthy}|}|\meta{morph}|\end{sstructure}|
-% \end{center}
-% gives the structure the name \meta{name}, specifies the ``source theory'' via its
-% identifier \meta{sthy}, and the morphism \meta{morph}. The |structure| environment takes
-% the same keys as the |\importmodule| macro, which it generalizes. The morphism
-% \meta{morph} in the body of the |structure| environment specifies the morphism
-% (see~\ref{sec:user:assignments} above). In a structure, we take the target theory to be
-% the current theory.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \begin{module}[id=ring]
-% \symdef{rbase}{R}
-% \symdef{rtimes}[2]{\infix\cdot{#1}{#2}}
-% \symdef{rone}{1}
-% \begin{sstructure}{mul}{monoid}
-% \tassign{magbase}{rbase}
-% \fassign{a,b}{\magmaop{a}b}{\rtimes{a}b}
-% \tassign{monunit}{rone}
-% \end{sstructure}
-% \symdef{rplus}[2]{\infix+{#1}{#2}}
-% \symdef{rminus}[1]{\infix-{#1}{#2}}
-% \begin{sstructure}{add}{cgroup}
-% \fassign{a,b}{\magmaop{a}b}{\rplus{a}b}
-% \tassign{monunit}{rzero}
-% \tassign{cginvOp}{\rminus}
-% \end{sstructure}
-% ...
-% \end{module}
-% \end{verbatim}
-% \caption{A Module for Rings with inheritance from monoids and commutative groups}\label{fig:ring}
-% \end{exfig}
-%
-% \subsection{Views}\label{sec:user:views}
-%
-% A view is a mapping between modules, such that all model assumptions (axioms) of the
-% source module are satisfied in the target module. For marking up views the |structview|
-% package supplies the \DescribeEnv{view}|view| environment; see Figure~\ref{fig:view} for
-% the \stex markup of view $v_1$ from Figure~\ref{fig:structview}. The |view| environment
-% takes one optional key/value argument followed by two mandatory ones: the names of the
-% source and target modules. The |view| environment takes the following keys: |id| for a
-% name, |title| and |display| for visual presentation, |loadfrom|, |loadto|, and
-% |ext|\ednote{MK: we probably need toext and fromext here, but this never came up yet.}
-% for specifying the source files that supply the source and target modules, |creators|,
-% |contributors|, |srccite| for document metadata, and |type|\ednote{????}.
-%
-%\begin{exfig}
-% \begin{verbatim}
-% \begin{view}{monoid}{integers}
-% \vassign{magbase}{base}
-% \fassign{a,b}{\magmaop{a}b}{\inttimes{a,b}}
-% \tassign{monunit}{\intzero}
-% \begin{assertion}
-% The Integers with addition form a monoid in the obvious way.
-% \end{assertion}
-% \end{view}
-% \end{verbatim}
-% \caption{A view from monoids to integers}\label{fig:view}
-% \end{exfig}
-%
-% \section{Limitations \& Extensions}\label{sec:limitations}
-%
-% In this section we will discuss limitations and possible extensions of the |modules|
-% package. Any contributions and extension ideas are welcome; please discuss ideas,
-% requests, fixes, etc on the {\sTeX} TRAC~\cite{sTeX:github:on}.
-%
-% \section{The Implementation}\label{sec:impl}
-%
-% \subsection{Package Options}\label{sec:impl:options}
-%
-% We declare some switches which will modify the behavior according to the package
-% options. Generally, an option |xxx| will just set the appropriate switches to true
-% (otherwise they stay false). The options we are not using, we pass on to the |sref|
-% package we require next.
-% \begin{macrocode}
-%<*package>
-\newif\if@structview@mh@\@structview@mh@false
-\DeclareOption{mh}{\@structview@mh@true
-\PassOptionsToPackage{\CurrentOption}{modules}}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{modules}}
-\ProcessOptions
-% \end{macrocode}
-%
-% The next measure is to ensure that the |sref| and |xcomment| packages are loaded (in the
-% right version). For {\latexml}, we also initialize the package inclusions.
-% \begin{macrocode}
-\if@structview@mh@\RequirePackage{structview-mh}\fi
-\RequirePackage{modules}
-% \end{macrocode}
-%
-% \subsection{Theory Morphisms by Assignments}\label{sec:impl:assignments}
-%
-% \begin{environment}{\*assign}
-% \ednote{probably get rid of the optional argument}
-% \begin{macrocode}
-\newrobustcmd\vassign[3][]{\ifmod@show\ensuremath{#2\mapsto #3}, \fi}%
-\newrobustcmd\fassign[4][]{\ifmod@show \ensuremath{#3(#2)\mapsto #4}, \fi}%
-\newrobustcmd\tassign[3][]{\ifmod@show \ensuremath{#2\mapsto} #3, \fi}%
-% \end{macrocode}
-% \end{environment}
-%
-% \subsection{Structures}\label{sec:impl:structures}
-%
-% \begin{environment}{sstructure}
-% The |structure| environment just calls |\importmodule|, but to get around the
-% group, we first define a local macro |\@@doit|, which does that and can be called with
-% an |\aftergroup| to escape the environment grouping introduced by |structure|.
-% \begin{macrocode}
-\newenvironment{sstructure}[3][]{%
- \gdef\@@doit{\importmodule[#1]{#3}}%
- \ifmod@show\par\noindent importing module #3 via \@@doit\fi%
-}{%
- \aftergroup\@@doit\ifmod@show end import\fi%
-}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{importmodulevia}
-% This is now deprecated, we give an error, but punt to |structure|.
-% \begin{macrocode}
-\newenvironment{importmodulevia}[2][]%
-{\PackageError{structview}%
- {The {importmodulevia} environment is deprecated}{use the {sstructure} instead!}%
- \begin{sstructure}[#1]{missing}{#2}}
-{\end{sstructure}}
-% \end{macrocode}
-% \end{environment}
-%
-% \subsection{Views}\label{sec:impl:views}
-%
-% We first prepare the ground by defining the keys for the |view| environment.
-% \begin{macrocode}
-\srefaddidkey{view}
-\addmetakey*{view}{title}
-\addmetakey{view}{display}
-\addmetakey{view}{loadfrom}
-\addmetakey{view}{loadto}
-\addmetakey{view}{creators}
-\addmetakey{view}{contributors}
-\addmetakey{view}{srccite}
-\addmetakey{view}{type}
-\addmetakey[sms]{view}{ext}
-% \end{macrocode}
-%
-% \begin{macro}{\view@heading}
-% Then we make a convenience macro for the view heading. This can be customized.
-% \begin{macrocode}
-\ifdef{\thesection}{\newcounter{view}[section]}{\newcounter{view}}
-\newrobustcmd\view@heading[4]{%
- \if@importing%
- \else%
- \stepcounter{view}%
- \edef\@display{#3}\edef\@title{#4}%
- \noindent%
- \ifx\@display\st@flow%
- \else%
- {\textbf{View} {\thesection.\theview} from \textsf{#1} to \textsf{#2}}%
- \sref@label@id{View \thesection.\theview}%
- \ifx\@title\@empty%
- \quad%
- \else%
- \quad(\@title)%
- \fi%
- \par\noindent%
- \fi%
- \ignorespaces%
- \fi%
-}%ifmod@show
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{environment}{view}
-% The |view| environment relies on the |@view| environment (used also in the \sTeX
-% module signatures) for module bookkeeping and adds presentation (a heading and a box)
-% if the |showmods| option is set.
-% \begin{macrocode}
-\newenvironment{view}[3][]{% keys, from, to
- \metasetkeys{view}{#1}%
- \sref@target%
- \begin{@view}{#2}{#3}%
- \view@heading{#2}{#3}{\view@display}{\view@title}%
-}{%
- \end{@view}%
- \ignorespaces%
-}%
-\ifmod@show\surroundwithmdframed{view}\fi%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{@view}
-% The |@view| does the actual bookkeeping at the module level.
-% \begin{macrocode}
-\newenvironment{@view}[2]{%from, to
- \@importmodule[\view@loadfrom]{#1}{\view@ext}%
- \@importmodule[\view@loadto]{#2}{\view@ext}%
-}{}%
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{environment}{viewsketch}
-% The |viewsketch| environment is deprecated, we give an error
-% \begin{macrocode}
-\newenvironment{viewsketch}[3][]%
-{\PackageError{structview}%
- {The {viewsketch} environment is deprecated}{use the {view} instead!}%
- \begin{view}[#1]{#2}{#3}}
-{\end{view}}
-% \end{macrocode}
-% \end{environment}
-%
-% \begin{macro}{\obligation}
-% The |\obligation| element does not do anything yet on the latexml
-% side.\ednote{document above}
-% \begin{macrocode}
-\newrobustcmd\obligation[3][]{%
- \if@importing%
- \else Axiom #2 is proven by \sref{#3}%
- \fi%
-}%
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-\endinput
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-
-% LocalWords: iffalse NeedsTeXFormat structview.dtx texttt scsys sc sc xspace mathml cn
-% LocalWords: omdoc latexml cmathml activemath twintoo atwin atwintoo mathcal mathcal
-% LocalWords: structview.sty stex maketitle newpage setcounter tocdepth tableofcontents
-% LocalWords: newpage symdef importmodulevia thyid ednote compactdesc vassign vassign
-% LocalWords: sym exp fassign fassign bvars tassign tassign tname source-tname exfig
-% LocalWords: monoids impl behavior sref newif xcomment initialize structview-mh gdef
-% LocalWords: aftergroup newenvironment ifmod@show noindent newrobustcmd ensuremath ifx
-% LocalWords: mapsto srefaddidkey addmetakey srccite customized newcounter stepcounter
-% LocalWords: textbf thesection theview textsf textsf ignorespaces metasetkeys doctex
-% LocalWords: surroundwithmdframed mathsf RabKoh centering tikzpicture mmtthy CGr cgp
-% LocalWords: inv cdot mathrm synchronize sstructure sthy loadfrom loadto toext fromext
diff --git a/macros/latex/contrib/stex/sty/structview/structview.pdf b/macros/latex/contrib/stex/sty/structview/structview.pdf
deleted file mode 100644
index 59cf5cd8c9..0000000000
--- a/macros/latex/contrib/stex/sty/structview/structview.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/tikzinput/README b/macros/latex/contrib/stex/sty/tikzinput/README
deleted file mode 100644
index a28883e681..0000000000
--- a/macros/latex/contrib/stex/sty/tikzinput/README
+++ /dev/null
@@ -1,7 +0,0 @@
-tikzinput.sty: A LaTeX Package for selective input of external TIKZ diagrams
-
-Copyright (c) 2010 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
-
diff --git a/macros/latex/contrib/stex/sty/tikzinput/tikzinput.dtx b/macros/latex/contrib/stex/sty/tikzinput/tikzinput.dtx
deleted file mode 100644
index 278f82fa09..0000000000
--- a/macros/latex/contrib/stex/sty/tikzinput/tikzinput.dtx
+++ /dev/null
@@ -1,223 +0,0 @@
-% \iffalse meta-comment
-% A LaTeX Package for selective input of external TIKZ pictures
-% Copyright (c) 2015 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-%
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{tikzinput}[2019/03/20 v1.0 Selective input of TIKZ pictures]
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{url,array,float}
-\usepackage{tikzinput,omdoc}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{stex-logo}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{tikzinput.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{37}
-%
-% \changes{v1.0}{2015/10/22}{self-documenting package}
-%
-% \GetFileInfo{tikzinput.sty}
-%
-% \MakeShortVerb{\|}
-%
-% \def\omdoc{OMDoc}
-% \def\latexml{{\LaTeX}ML}
-% \title{\texttt{tikzinput}: Selective Input of TIKZ Pictures\thanks{Version {\fileversion} (last revised
-% {\filedate})}}
-% \author{Michael Kohlhase\\
-% FAU Erlangen-N\"urnberg\\
-% \url{http://kwarc.info/kohlhase}}
-% \maketitle
-%
-% \begin{abstract}
-% Running |tikz| takes a lot of time in \latexml, therefore it is often more efficient
-% externalize the TIKZ pictures into separate (standalone) files, to let {\LaTeX} handle
-% the TIKZ pictures to generate an image, and just load it via the usual {\LaTeX}
-% graphics packages. The |tikzinput| package supports this workflow, and allows to
-% switch back to native TIKZ via a package option.
-% \end{abstract}
-%
-%\tableofcontents\newpage
-%
-%\begin{omgroup}[id=sec:STR]{Introduction}
-%
-% Running |tikz| takes a lot of time in \latexml, therefore it is often more efficient
-% externalize the TIKZ pictures into separate (standalone) files, to let {\LaTeX} handle
-% the TIKZ pictures to generate an image, and just load it via the usual {\LaTeX}
-% graphics packages. The |tikzinput| package supports this workflow, and allows to
-% switch back to native TIKZ via a package option.
-%
-% A side-effect of the workflow described above is that the TIKZ pictures can be
-% developed -- and formatted -- independently of the document they are intended
-% for. They can essentially be treated like an image file, which can be included into
-% multiple documents.
-%
-%\end{omgroup}
-%
-% \begin{omgroup}[id=sec:user]{The User Interface}
-%
-% \begin{omgroup}[id=sec:user:options]{Package Options}
-%
-% The behavior of the |tikzinput| package is determined by whether the
-% \DescribeMacro{image}|image| option is given. If it is not, then the |tikz| package is
-% loaded, all other options are passed on to it and |\tikzinput{|\meta{file}|}| inputs
-% the TIKZ file \meta{file}|.tex|; if not, only the |graphicx| package is loaded and
-% |\tikzinput{|\meta{file}|}| loads an image file \meta{file}|.|\meta{ext} generated
-% from \meta{file}|.tex|.
-%
-% \end{omgroup}
-%
-% \begin{omgroup}{Inputting Standalone TIKZ Pictures}
-%
-% The selective input functionality of the |tikzinput| package assumes that the TIKZ
-% pictures are externalized into a standalone picture file, such as the one
-% Example~\ref{fig:tikzpic}.
-%
-% \begin{exfig}
-% \begin{verbatim}
-% \documentclass{standalone}
-% \usepackage{tikz}
-% \usetikzpackage{...}
-% \begin{document}
-% \begin{tikzpicture}
-% ...
-% \end{tikzpicture}
-% \end{document}
-% \end{verbatim}
-% \caption{A Standalone TIKZ Picture File}\label{fig:tikzpic}
-% \end{exfig}
-% \end{omgroup}
-% \end{omgroup}
-%
-% The |standalone| class is a minimal {\LaTeX} class that when loaded in a document that
-% uses the |standalone| package: the preamble and the |document| environment are
-% disregarded during loading, so they do not pose any problems. In effect, an |\input| of
-% the file in Figure~\ref{fig:tikzpic} only sees the |tikzpicture| environment, but the
-% file itself is standalone in the sense that we can run {\LaTeX} over it separately,
-% e.g. for generating an image file from it.
-%
-% This is exactly where the |tikzinput| package comes in: it supplies the
-% \DescribeMacro{\tikzinput}|\tikzinput| macro, which -- depending on the |image| option
-% -- either directly inputs the TIKZ picture (source) or tries to load an image file
-% generated from it.
-%
-% Concretely, if the |image| option is not set for the |tikzinput| package, then
-% |\tikzinput[|\meta{opt}|]{|\meta{file}|}| disregards the optional argument \meta{opt}
-% and inputs \meta{file}|.tex| via |\input| and resizes it to as specified in the |width|
-% and |height| keys. If it is, |\tikzinput[|\meta{opt}|]{|\meta{file}|}| expands to
-% |\includegraphics[|\meta{opt}|]{|\meta{file}|}|.
-%
-% \begin{omgroup}{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item We only listen to the |width| and |height| keys in the tikz case, the others are
-% disregarded.
-% \end{enumerate}
-% \end{omgroup}
-%
-% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\printbibliography}\newpage
-%
-% \begin{omgroup}[id=sec:impl]{Implementation}
-%
-% \begin{omgroup}{Package Options and Required Packages}
-%
-% We define a new switch \DescribeMacro{\iftikzinput@image}|\iftikzinput@image| and the
-% |image| option. Apart from that we accept all options that might come our
-% way.\ednote{MK: Actually we would have liked to pass all options to TIKZ, but that
-% does not work, since that is specific about its options.}
-% \begin{macrocode}
-%<*package>
-\newif\if@tikzinput@mh@\@tikzinput@mh@false
-\DeclareOption{mh}{\@tikzinput@mh@true}
-\newif\iftikzinput@image\tikzinput@imagefalse
-\DeclareOption{image}{\tikzinput@imagetrue}
-\DeclareOption*{}
-\ProcessOptions
-% \end{macrocode}
-% Next we require the packages we need, in the |image| case, we have to also provide
-% ``empty'' versions of some TIKZ macros and environments that do not get defined as the
-% |tikz| package is not loaded.
-% \begin{macrocode}
-\if@tikzinput@mh@\RequirePackage{tikzinput-mh}\fi
-\iftikzinput@image
-\RequirePackage{graphicx}
-\providecommand\usetikzlibrary[1]{}
-\else
-\RequirePackage{tikz}
-\RequirePackage{standalone}
-\fi
-% \end{macrocode}
-% \end{omgroup}
-%
-% \begin{omgroup}{Inputting Standalone TIKZ Pictures}
-%
-% \begin{macro}{\tikzinput}
-% Depending on the |image| option, we do the necessary things: either we default to the
-% image, or we input the tikz file and resize it according to the |width| and |height|
-% keys present.
-% \begin{macrocode}
-\iftikzinput@image
-\newcommand\tikzinput[2][]{\includegraphics[#1]{#2}}
-\else
-\newcommand\tikzinput[2][]{\setkeys{Gin}{#1}%
-\ifx\Gin@ewidth\Gin@exclamation
-\ifx\Gin@eheight\Gin@exclamation\input{#2}\else\resizebox{!}{\Gin@eheight}{\input{#2}}\fi
-\else
-\ifx\Gin@eheight\Gin@exclamation\resizebox{\Gin@ewidth}{!}{\input{#2}}
-\else\resizebox{\Gin@ewidth}{\Gin@eheight}{\input{#2}}\fi
-\fi}
-\fi
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\*tikzinput}
-% The variants we define in terms of |\tikzinput|.
-% \begin{macrocode}
-\newcommand\ctikzinput[2][]{\begin{center}\tikzinput[#1]{#2}\end{center}}
-%</package>
-% \end{macrocode}
-% \end{macro}
-% \end{omgroup}
-% \end{omgroup}
-%
-% \Finale
-% \endinput
-% Local Variables:
-% mode: doctex
-% TeX-master: t
-% End:
-
-% LocalWords: iffalse NeedsTeXFormat tikzinput tikzinput.dtx omdoc latexml texttt tikz
-% LocalWords: maketitle externalize newpage tableofcontents newpage omgroup behavior
-% LocalWords: graphicx externalized tikzpic exfig compactenum printbibliography impl
-% LocalWords: ltxml iftikzinput@image iftikzinput@image ednote newif etoolbox doctex
-% LocalWords: includegraphics providecommand usetikzlibrary ctikzinput
diff --git a/macros/latex/contrib/stex/sty/tikzinput/tikzinput.ins b/macros/latex/contrib/stex/sty/tikzinput/tikzinput.ins
deleted file mode 100644
index 1af5cf8d0a..0000000000
--- a/macros/latex/contrib/stex/sty/tikzinput/tikzinput.ins
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex tikzinput.ins
-%%
-%% Copyright(c) 2008 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex/trunk/sty/tikzinput/tikzinput.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{tikzinput.sty}{\from{tikzinput.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file tikzinput.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/tikzinput/tikzinput.pdf b/macros/latex/contrib/stex/sty/tikzinput/tikzinput.pdf
deleted file mode 100644
index 9fc656381d..0000000000
--- a/macros/latex/contrib/stex/sty/tikzinput/tikzinput.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/workaddress/README b/macros/latex/contrib/stex/sty/workaddress/README
deleted file mode 100644
index f21270b169..0000000000
--- a/macros/latex/contrib/stex/sty/workaddress/README
+++ /dev/null
@@ -1,9 +0,0 @@
-workaddress.sty: An Infrastructure for marking up Affiliation Metadata in LaTeX documents
-
-The workaddress packge allows Affiliation and Address Metadata in LaTeX documents that can be
-harvested by automated tools or exported to PDF.
-
-Copyright (c) 2011 Michael Kohlhase
-The package is distributed under the terms of the LaTeX Project Public License (LPPL)
-
-Project home: https://github.com/KWARC/sTeX/
diff --git a/macros/latex/contrib/stex/sty/workaddress/workaddress.dtx b/macros/latex/contrib/stex/sty/workaddress/workaddress.dtx
deleted file mode 100644
index e3cb1f717e..0000000000
--- a/macros/latex/contrib/stex/sty/workaddress/workaddress.dtx
+++ /dev/null
@@ -1,478 +0,0 @@
-% \iffalse meta-comment
-% An Infrastructure for managing addresses and affiliations in LaTeX
-% Copyright (c) 2011 Michael Kohlhase, all rights reserved
-% this file is released under the
-% LaTeX Project Public License (LPPL)
-% The original of this file is in the public repository at
-% http://github.com/KWARC/sTeX/
-% \fi
-%
-% \iffalse
-%<*package>
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{workaddress}[2019/03/20 v0.5 WorkAddress]
-%</package>
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage[utf8]{inputenc}
-\usepackage{workaddress,sref,url,array,float}
-\usepackage[show]{ed}
-\usepackage[hyperref=auto,style=alphabetic]{biblatex}
-\addbibresource{kwarcpubs.bib}
-\addbibresource{extpubs.bib}
-\addbibresource{kwarccrossrefs.bib}
-\addbibresource{extcrossrefs.bib}
-\usepackage{ctangit}
-\usepackage{hyperref}
-\usepackage{stex-logo}
-\makeindex
-\floatstyle{boxed}
-\newfloat{exfig}{thp}{lop}
-\floatname{exfig}{Example}
-\WAperson[id=jdoe,affiliation=dfki,department=skss,
- url=http://dfki.de/jdoe]
- {John Doe}
-\WAperson[id=miko,affiliation=jacu,department=case,
- url=http://kwarc.info/kohlhase]
- {Michael Kohlhase}
-\WAinstitution[id=case,acronym=CASE,
- url=http://jacobs-university.de/ses/case,partof=jacu]
- {Center for Advanced Systems Engineering}
-\WAinstitution[id=jacu,url=http://jacobs-university.de,shortname=Jacobs University,acronym=JU]
- {Jacobs University Bremen}
-\WAinstitution[id=skss,url=http://dfki.de/sks,partof=dfki,acronym=SKS,]
- {Safe and Secure Cognitive Systems}
-\WAinstitution[id=dfki,url=http://dfki.de,acronym=DFKI,shortname=DFKI]
- {German Research Center for Artificial Intelligence}
-\def\githubissue#1{\cite{sTeX:github:on}, \hyperlink{https://github.com/KWARC/sTeX/issues/#1}{issue #1}}
-\begin{document}
-\RecordChanges
-\DocInput{workaddress.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-%\CheckSum{334}
-%
-% \changes{v0.4}{2011/11/04}{Extracting from dcm.sty}
-% \changes{v0.4}{2012/01/18}{new functionality for logos}
-% \changes{v0.5}{2016/07/06}{giving \texttt{\textbackslash wp@ref} a first argument for errors}
-%
-% \GetFileInfo{workaddress.sty}
-%
-% \MakeShortVerb{\|}
-% \def\scsys#1{{{\sc #1}}\index{#1@{\sc #1}}}
-% \def\latexml{\scsys{LaTeXML}}
-%
-% \title{{\texttt{workaddress.sty}}: An Infrastructure for managing Addresses and
-% Affiliations in {\LaTeX}\thanks{Version {\fileversion} (last revised {\filedate})}}
-% \author{\WAauthorblock[aff,url]{miko,jdoe}}
-% \maketitle
-% \begin{abstract}The |workaddress| package allows manage addresses and Affiliations in
-% a bib\TeX-like manner.\ednote{continue}
-% \end{abstract}
-%
-% \setcounter{tocdepth}{2}\tableofcontents\newpage
-%
-% \section{Introduction}\label{sec:intro}
-%
-% The |workaddress| package allows manage Addresses and affiliations of persons in a
-% bib\TeX-like manner.\ednote{continue}
-%
-% \section{The User Interface}\label{sec:user}
-%
-% \subsection{Package Options}\label{sec:user.options}
-%
-% The |workaddress| package takes a single option: \DescribeMacro{showmeta}|showmeta|. If
-% this is set, then the metadata keys are shown (see~\cite{Kohlhase:metakeys:ctan} for
-% details and customization options).
-%
-% \subsection{Database Entries for Persons}
-%
-% The |workaddress| package recognizes that from a metadata perspective, persons are complex
-% entities. In particular, specifying metadata is a tedious and repetitive task that leads
-% to embarrassing errors. Therefore the |workaddress| package takes a hint from bibTeX and allows
-% to specify personal metadata in a database and use it by a database key.
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \WAperson[id=jdoe,affiliation=dfki,department=skss,
-% url=http://dfki.de/jdoe]
-% {John Doe}
-% \WAperson[id=miko,affiliation=jacu,department=case,
-% url=http://kwarc.info/kohlhase]
-% {Michael Kohlhase}
-% \end{verbatim}
-% \caption{A small database of Persons}
-% \label{fig:persons}
-% \end{exfig}
-% The \DescribeMacro{\WAperson}|\WAperson| macro allows to specify personal metadata\ednote{This
-% should be synchronized with the FOAF specification~\cite{FOAF:spec}} with the following
-% keys:
-% \begin{center}
-% \begin{tabular}{|l|l|l|}\hline
-% key & value & comment\\\hline\hline
-% id & string & identifier of this person\\\hline
-% birthdate & date & birthdate \\\hline
-% email & & the primary e-mail address\\\hline
-% url & URI & primary home page \\\hline
-% affiliation & Inst. identifier & the primary professional affiliation\\\hline
-% personaltitle & string & the personal title e.g. {\texttt{King}}\\\hline
-% academictitle & string & the academic title e.g. {\texttt{Prof. Dr.}}\\\hline
-% department & Inst. identifier & the department specified in the work address\\\hline
-% workaddress & long string & the work address \\\hline
-% privaddress & long string & the private address \\\hline
-% worktel & string & work telephone number \\\hline
-% privtel & string & private telephone number\\\hline
-% workfax & string & work fax number \\\hline
-% privfax & string & private fax number \\\hline
-% worktelfax & string & if the phone and fax share a prefix, give this as well \\\hline
-% privtelfax & string & dito\\\hline
-% \end{tabular}
-% \end{center}
-% In Figure~\ref{fig:persons} we have specified (minimal) metadata for the authors of the
-% |workaddress| package. The metadata can be accessed by specifying the identifiers (given by the
-% |id| key) in the |workaddress| macros defined below, see for instance the |\WAcreators| macro
-% in Figure~\ref{fig:workaddressblock}, which leads to the title block of this note.
-%
-% Like in bibTeX~\cite{Patashnik:b88}, it is a good idea to collect the metadata in a separate
-% file that is input in the document. In practice it may be possible to generate these
-% files from conventional address databases.
-%
-% \subsection{Institutions}
-%
-% Institutions are treated analogously to persons.
-% \begin{exfig}[ht]
-% \begin{verbatim}
-% \WAinstitution[id=case,partof=jacu,acronym=CASE,
-% url=http://jacobs-university.de/ses/case]
-% {Center for Advanced Systems Engineering}
-% \WAinstitution[id=jacu,url=http://jacobs-university.de]
-% {Jacobs University Bremen}
-% \WAinstitution[id=skss,partof=dfki,url=http://dfki.de/sks,acronym=SKS]
-% {Safe and Secure Cognitive Systems}
-% \WAinstitution[id=dfki,url=http://dfki.de,shortname=DFKI,acronym=DFKI]
-% {German Research Center for Artificial Intelligence}
-% \end{verbatim}
-% \caption{A small Database of Institutions and their Parts}
-% \label{fig:institutions}
-% \end{exfig}
-% The \DescribeMacro{\WAinstitution}|\WAinstitution| macro allows to specify personal
-% metadata\ednote{This should be synchronized with the FOAF
-% specification~\cite{FOAF:spec}} with the following keys:
-% \begin{center}
-% \begin{tabular}{|l|l|l|}\hline
-% key & value & comment\\\hline\hline
-% id & string & identifier of this person\\\hline
-% url & URI & primary home page \\\hline
-% partof & Inst. identifier & parent institution\\\hline
-% \end{tabular}
-% \end{center}
-%
-% \subsection{Applications}\label{sec:user.appl}
-%
-% The data from the address database can be used in various ways. For instance, the
-% \DescribeMacro{\WAauthorblock}|\WAauthorblock| macro creates a block of users and their
-% affiliations. In the context of the database from Figures~\ref{fig:persons}
-% and~\ref{fig:institutions}, |\WAauthorblock{miko,jdoe}| creates
-% \begin{center}\WAauthorblock{miko,jdoe}\end{center}
-%
-% \DescribeMacro{\wa@institution@logo}|\wa@institution@logo| creates the logo of an
-% institution from the database, and (if that is not there create a box and a message
-% instead.)
-%
-% \section{Limitations}\label{sec:limitations}
-%
-% In this section we document known limitations. If you want to help alleviate them,
-% please feel free to contact the package author. Some of them are currently discussed in
-% the \sTeX GitHub repository~\cite{sTeX:github:on}.
-% \begin{enumerate}
-% \item none reported yet
-% \end{enumerate}
-%
-% \StopEventually{\printbibliography}
-%
-% \section{The Implementation}\label{sec:impl}
-%
-% \subsection{Package Options}\label{sec:impl.options}
-% The first step is to declare (a few) package options that handle whether certain
-% information is printed or not. They all come with their own conditionals that are set by
-% the options.
-%
-% \begin{macrocode}
-%<*package>
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}}
-\ProcessOptions
-% \end{macrocode}
-%
-% The first measure is to ensure that the |KeyVal| package is loaded (in the right
-% version). For {\latexml} we also initialize the package inclusions.
-% \begin{macrocode}
-\RequirePackage{sref}
-% \end{macrocode}
-%
-% \subsection{Persons}
-%
-% To implement the |\WAperson| macro, we need to implement its keywords.
-%
-% \begin{macrocode}
-\addmetakey*{wa@person}{id}
-\addmetakey*{wa@person}{birthdate}
-\addmetakey*{wa@person}{email}
-\addmetakey*{wa@person}{url}
-\addmetakey*{wa@person}{affiliation}
-\addmetakey*{wa@person}{personaltitle}
-\addmetakey*{wa@person}{academictitle}
-\addmetakey*{wa@person}{department}
-\addmetakey*{wa@person}{workaddress}
-\addmetakey*{wa@person}{privaddress}
-\addmetakey*{wa@person}{worktel}
-\addmetakey*{wa@person}{privtel}
-\addmetakey*{wa@person}{workfax}
-\addmetakey*{wa@person}{privfax}
-\addmetakey*{wa@person}{worktelfax}
-\addmetakey*{wa@person}{privtelfax}
-% \end{macrocode}
-%
-% \begin{macro}{\wa@def}
-% The next macro is an auxiliary one that puts the value into an appropriate token
-% register.
-% \begin{macrocode}
-\def\wa@def#1#2#3#4{\expandafter\xdef\csname wa@#1@#2@#3\endcsname{#4}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\wa@ref}
-% This macro looks up the information specified in the three last arguments. The first
-% argument determines the behavior if that information is undefined: |\wa@ref0| fails
-% silently (no output, no message), |\waref1| raises a warning but outputs nothing, and
-% |\wa@ref2{|\meta{a}|}{|\meta{b}|}{|\meta{c}|}| raises a warning and outputs
-% |?|\meta{a}|?|\meta{b}|?|\meta{b}|?|, Finally |\wa@ref3| gives an error and aborts.
-% \begin{macrocode}
-\newcommand\wa@ref[4]{%
- \@ifundefined{wa@#2@#3@#4}{%
- \ifcase#1 {}\or%
- \PackageWarning{workaddress}{reference to undefined #4 of #2 #3\MessageBreak%
- you must define a #2 with #3=#4\MessageBreak%
- via the macro \protect\WA#2, before you can use it!}%
- \or
- \PackageWarning{workaddress}{reference to undefined #4 of #2 #3\MessageBreak%
- you must define a #2 with #3=#4\MessageBreak%
- via the macro \protect\WA#2, before you can use it!}%
- ?#2?#3?#4?
- \or
- \PackageError{workaddress}{reference to undefined #4 of #2 #3}%
- {you must define a #2 with #3=#4\MessageBreak%
- via the macro \protect\WA#2, before you can use it!}
- \else\PackageError{workaddress}{\protect\wa@ref#1 not defined}{}
- \fi
- }{\csname wa@#2@#3@#4\endcsname}}%
-% \end{macrocode}
-% \end{macro}
-%
-% With this we can define the |\WAperson| macro, it just clears the keys, sets them
-% again, and stores them in token registers. If course only if a |id| attribute is given,
-% else we raise an error.
-%
-% \begin{macro}{WAperson}
-% \begin{macrocode}
-\let\wa@persons=\relax
-\newcommand\WAperson[2][]{%
- \metasetkeys{wa@person}{#1}%
- \ifx\wa@person@id\@empty%
- \PackageWarning{workaddress}{key 'id' undefined in WAperson}%
- \else%
- \wa@def{person}\wa@person@id{id}{\wa@person@id}% redundant, but useful for checking
- \wa@def{person}\wa@person@id{name}{#2}
- \wa@def{person}\wa@person@id{email}{\wa@person@email}
- \wa@def{person}\wa@person@id{birthdate}{\wa@person@birthdate}
- \wa@def{person}\wa@person@id{url}{\wa@person@url}
- \wa@def{person}\wa@person@id{affiliation}{\wa@person@affiliation}
- \wa@def{person}\wa@person@id{workaddress}{\wa@person@workaddress}
- \wa@def{person}\wa@person@id{privaddress}{\wa@person@privaddress}
- \wa@def{person}\wa@person@id{personaltitle}{\wa@person@personaltitle}
- \wa@def{person}\wa@person@id{academictitle}{\wa@person@academictitle}
- \wa@def{person}\wa@person@id{department}{\wa@person@department}
- \wa@def{person}\wa@person@id{workaddress}{\wa@person@workaddress}
- \wa@def{person}\wa@person@id{privaddress}{\wa@person@privaddress}
- \wa@def{person}\wa@person@id{worktel}{\wa@person@worktel}
- \wa@def{person}\wa@person@id{privtel}{\wa@person@privtel}
- \wa@def{person}\wa@person@id{workfax}{\wa@person@workfax}
- \wa@def{person}\wa@person@id{privfax}{\wa@person@privfax}
- \wa@def{person}\wa@person@id{worktelfax}{\wa@person@worktelfax}
- \wa@def{person}\wa@person@id{privtelfax}{\wa@person@privtelfax}
- \@ifundefined{wa@persons}{%
- \xdef\wa@persons{\wa@person@id}%
- }{%
- \xdef\wa@persons{\wa@persons,\wa@person@id}%
- }%
- \fi%
-}%
-\newcommand\DCMperson[2][]{%
- \WAperson[#1]{#2}%
- \PackageWarning{workaddress}{\protect\DCMperson\space is deprecated, use \protect\WAperson\space instead}
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \subsection{Institutions}
-%
-% To implement the |\WAinstitution| macro, we need to implement its keywords first.
-%
-% \begin{macrocode}
-\addmetakey*{wa@institution}{id}
-\addmetakey*{wa@institution}{shortname}
-\addmetakey*{wa@institution}{acronym}
-\addmetakey*{wa@institution}{url}
-\addmetakey*{wa@institution}{partof}
-\addmetakey*{wa@institution}{countryshort}
-\addmetakey*{wa@institution}{logo}
-\addmetakey*{wa@institution}{streetaddress}
-\addmetakey*{wa@institution}{townzip}
-\addmetakey*{wa@institution}{type}
-\addmetakey*{wa@institution}{country}
-% \end{macrocode}
-% and we proceed as for |\WAperson|,
-% \begin{macrocode}
-\let\wa@institutions=\relax
-% \end{macrocode}
-%
-% \begin{macro}{WAinstitution}
-% \begin{macrocode}
-\newcommand\WAinstitution[2][]{%
- \metasetkeys{wa@institution}{#1}%
- \ifx\wa@institution@id\@empty%
- \PackageWarning{workaddress}{key 'id' undefined in WAinstitution}%
- \else%
- \wa@def{institution}\wa@institution@id{id}{\wa@institution@id}% redundant, but useful for checking
- \wa@def{institution}\wa@institution@id{name}{#2}
- \wa@def{institution}\wa@institution@id{shortname}{\wa@institution@shortname}
- \wa@def{institution}\wa@institution@id{acronym}{\wa@institution@acronym}
- \wa@def{institution}\wa@institution@id{url}{\wa@institution@url}
- \wa@def{institution}\wa@institution@id{partof}{\wa@institution@partof}
- \wa@def{institution}\wa@institution@id{countryshort}{\wa@institution@countryshort}
- \wa@def{institution}\wa@institution@id{logo}{\wa@institution@logo}
- \wa@def{institution}\wa@institution@id{townzip}{\wa@institution@townzip}
- \wa@def{institution}\wa@institution@id{streetaddress}{\wa@institution@streetaddress}
- \wa@def{institution}\wa@institution@id{country}{\wa@institution@country}
- \wa@def{institution}\wa@institution@id{type}{\wa@institution@type}
- \@ifundefined{wa@institutions}{%
- \xdef\wa@institutions{\wa@institution@id}%
- }{%
- \xdef\wa@institutions{\wa@institutions,\wa@institution@id}%
- }%
- \fi%
-}%
-\newcommand\DCMinstitution[2][]{%
- \WAinstitution[#1]{#2}%
- \PackageWarning{workaddress}{\protect\DCMinstitution\space is deprecated, use \protect\WAinstitution\space instead}%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%\subsection{Applications}\label{sec:impl.appl}
-%
-% \begin{macro}{\WAauthorblock}
-% This internal macro builds an author block from a list of |\WAperson| labels in
-% |\wa@creators|.
-% \begin{macrocode}
-\addmetakey[false]{WAauthorblock}{dept}[true]
-\addmetakey[false]{WAauthorblock}{aff}[true]
-\addmetakey[false]{WAauthorblock}{url}[true]
-\def\@true{true}
-\newcounter{authors}
-\newcommand\WAauthorblock[2][]{%
- \metasetkeys{WAauthorblock}{#1}
- {\let\tabularnewline\relax
- \@for\@I:=#2\do{\stepcounter{authors}}
- \def\@authors{}%
- \def\@affs{}%
- \def\@depts{}%
- \def\@urls{}%
- \@for\@I:=#2\do{%
- \xdef\@authors{\@authors&\wa@ref2{person}\@I{name}}
- \xdef\@@dept{\wa@ref1{person}\@I{department}}
- \xdef\@shortname{\csname wa@institution@\@@dept @shortname\endcsname}
- \xdef\@dept{\ifx\@shortname\@empty\wa@ref0{institution}\@@dept{name}\else\@shortname\fi}
- \xdef\@depts{\@depts&\@dept}
- \xdef\@@aff{\wa@ref0{person}\@I{affiliation}}
- \xdef\@shortname{\csname wa@institution@\@@aff @shortname\endcsname}
- \xdef\@aff{\ifx\@shortname\@empty\wa@ref0{institution}\@@aff{name}\else\@shortname\fi}
- \xdef\@affs{\@affs&\@aff}
- \xdef\@urls{\@urls&\wa@ref0{person}\@I{url}}
- }%
- \message{\theauthors authors: \@authors}%
- }%
- \begin{tabular}[t]{l*{\theauthors}{c}}
- \@authors\\
- \ifx\WAauthorblock@dept\@true\@depts\\\fi
- \ifx\WAauthorblock@aff\@true\@affs\\\fi
- \ifx\WAauthorblock@url\@true\@urls\\\fi
- \end{tabular}
-}%
-% \begin{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\wapname}
-% \begin{macrocode}
-\newcommand\wapname[1]{\wa@ref3{person}{#1}{name}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\waptname}
-% \begin{macrocode}
-\newcommand\waptname[1]{\wa@ref3{person}{#1}{personaltitle} \wa@ref3{person}{#1}{name}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\wa@institution@logo}
-% \begin{macrocode}
-\newcommand\wa@institution@logo[2][]{%
- \IfFileExists{\wa@ref2{institution}{#2}{logo}}{%
- \includegraphics{\wa@ref2{institution}{#2}{logo}}%
- }{%
- \fbox{#2 logo}\message{still need logo for #2}%
- }%
-}%
-%</package>
-% \end{macrocode}
-% \end{macro}
-%
-% \Finale
-\endinput
-% \iffalse
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
-% \fi
-
-% LocalWords: RequirePackage birthdate personaltitle academictitle workaddress
-% LocalWords: privaddress worktel privtel workfax privfax worktelfax noDelim
-% LocalWords: privtelfax getKeyValue valuelist ToString getValue affill STDERR
-% LocalWords: ExportMetadata AssignValue WAperson DefConstructor afterDigest
-% LocalWords: getArg setValue FishOutMetadata keyvals foreach idlist tabline
-% LocalWords: LookupValue insertElement atabline bitabline shorttitle nc args
-% LocalWords: sharealike noderivativeworks DefMacro authorblock subsubsection
-% LocalWords: contribs OptionalKeyVals omgroup omdoc srcref xml RawTeX partof
-% LocalWords: openElement iffalse kohlhase Thu scsys sc sc latexml
-% LocalWords: maketitle WAtitle texttt fileversion WAcreators miko jdoe impl
-% LocalWords: WAabstract setcounter tocdepth tableofcontents newpage dmt03
-% LocalWords: WAsection ednote WAsubsection exfig hline dcmblock Patashnik
-% LocalWords: DescribeEnv WAcontributors WAshorttitle WAshorttitle WAdate
-% LocalWords: WAsubject WAsubject WAdescription WAdescription WApublisher
-% LocalWords: WApublisher WAdate WAtype WAtype WAidentifier WAidentifier
-% LocalWords: WAsource WAsource WAlanguage WAlanguage WArelation ctancite
-% LocalWords: WArelation WArights WArights WAlicense WAlicense titlepage
-% LocalWords: WAlicensenotice WAlicensenotice WAcopyrightnotice titlepage
-% LocalWords: WAcopyrightnotice WAcclicense WAcclicense user.blockstyles
-% LocalWords: WAchapter WAchatper WAsubsubsection WAsubsubsection ltxml
-% LocalWords: user.conig makeatletter printbibliography expandafter showmeta
-% LocalWords: xdef csname endcsname newcommand ifx ifundefined affs showmeta
-% LocalWords: Semiverbatim whatsit newenvironment mtabline providecommand vfil
-% LocalWords: WAsubtitle cclicense defdcm impl.blockstyles newcounter vskip
-% LocalWords: stepcounter tabularnewline theauthors lineskip textbf noindent
-% LocalWords: omd omd srefaddidkey thechapter autoclose thesection ifnum ifnum
-% LocalWords: thesubsection thesubsubsection WAparagraph ISOtimestamp doctex
-% LocalWords: WAinstitution WAinstitution compactenum textsf langle textsf
-% LocalWords: langle metakeys addmetakey metasetkeys countryshort townzip aff
-% LocalWords: streetaddress depts
diff --git a/macros/latex/contrib/stex/sty/workaddress/workaddress.ins b/macros/latex/contrib/stex/sty/workaddress/workaddress.ins
deleted file mode 100644
index 3f2a947259..0000000000
--- a/macros/latex/contrib/stex/sty/workaddress/workaddress.ins
+++ /dev/null
@@ -1,32 +0,0 @@
-%%
-%% This file generates files required to use the ed package.
-%% At your command prompt write
-%%
-%% latex workaddress.ins
-%%
-%% Copyright(c) 2008 Michael Kohlhase
-%% The development version of this file can be found at
-%% $HeadURL: https://svn.kwarc.info/repos/stex/trunk/sty/workaddress/workaddress.ins $
-%%
-%% This file is distributed under the terms of the LaTeX Project Public
-%% License from CTAN archives in directory macros/latex/base/lppl.txt.
-%% Either version 1.0 or, at your option, any later version.
-%%
-\input docstrip
-\preamble
-\endpreamble
-
-%\usedir{tex/latex/listings}
-\keepsilent
-\askforoverwritefalse
-
-% generate base package
-\generate{\file{workaddress.sty}{\from{workaddress.dtx}{package}}}
-
-\Msg{*}
-\Msg{* You probably need to move the file workaddress.sty into a directory searched by TeX.}
-\Msg{*}
-\Msg{* And don't forget to refresh your filename database}
-\Msg{* if your TeX distribution uses such a database.}
-\Msg{*}
-\endbatchfile
diff --git a/macros/latex/contrib/stex/sty/workaddress/workaddress.pdf b/macros/latex/contrib/stex/sty/workaddress/workaddress.pdf
deleted file mode 100644
index 3a8d073de3..0000000000
--- a/macros/latex/contrib/stex/sty/workaddress/workaddress.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/stex/tex/etc/beamernotesthemesTeX.sty b/macros/latex/contrib/stex/tex/etc/beamernotesthemesTeX.sty
new file mode 100644
index 0000000000..4ebba507ae
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/etc/beamernotesthemesTeX.sty
@@ -0,0 +1,14 @@
+% Beamer sTeX notes theme;
+% Copyright (c) 2022 Michael Kohlhase <michael.kohlhase@fau.de>.
+\ProvidesPackage{beamernotesthemesTeX}
+\typeout{Beamer sTeX notes theme}
+\setbeamertemplate{theorem begin}
+{%
+ \inserttheoremheadfont
+ \inserttheoremname
+ \inserttheoremnumber
+ \ifx \inserttheoremaddition \empty \else\ (\inserttheoremaddition)\fi
+ \inserttheorempunctuation\xspace
+ \inserttheorembodyfont
+}
+\setbeamertemplate{theorem end}{}
diff --git a/macros/latex/contrib/stex/tex/etc/beamerthemesTeX.sty b/macros/latex/contrib/stex/tex/etc/beamerthemesTeX.sty
new file mode 100644
index 0000000000..f5cc87feb4
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/etc/beamerthemesTeX.sty
@@ -0,0 +1,61 @@
+% Beamer sTeX slide theme;
+% Copyright (c) 20 Michael Kohlhase <michael.kohlhase@fau.de>.
+\ProvidesPackage{beamerthemesTeX}
+\typeout{Beamer sTeX theme}
+\RequirePackage{xspace}
+
+% General appearance of theorems, like "ams style", but without the block env.
+\setbeamertemplate{theorem begin}
+{%
+ \inserttheoremheadfont
+ \inserttheoremname
+ \inserttheoremnumber
+ \ifx \inserttheoremaddition \empty \else\ (\inserttheoremaddition)\fi
+ \inserttheorempunctuation\xspace
+ \inserttheorembodyfont
+}
+\setbeamertemplate{theorem end}{}
+
+% THEME
+\mode
+<presentation>
+
+%% Logo images
+\pgfdeclareimage[height=2ex]{instlogo}{sTeX-logo}
+\pgfdeclareimage[height=2ex]{cclogo}{cc_somerights}
+
+%% A simple frame title with a long rule under it.
+\setbeamertemplate{frametitle}{%
+ \usebeamerfont{frametitle}\insertframetitle\strut%
+ \vskip-.1\baselineskip%
+ \leaders\vrule width \paperwidth\vskip0.4pt%
+ \vskip0pt%
+ \nointerlineskip
+}
+
+%% A Footer line with a Institution and CC logos
+\setbeamertemplate{footline}[text line]{%
+ \usebeamercolor[fg]{titlelike}
+ \pgfuseimage{instlogo}\hspace*{1cm}\insertshortauthor: \insertshorttitle\hfill{}%
+ \insertframenumber\hfill\insertshortdate\hspace*{1cm}\pgfuseimage{cclogo}%
+ }
+
+%% Turn off the navigation symbols
+\setbeamertemplate{navigation symbols}{}
+
+%% Inner theme
+\useinnertheme{default}
+%\setbeamertemplate{enumerate item}{(\alph{enumi})}
+%\setbeamertemplate{enumerate subitem}{(\roman{enumii})}
+
+\mode
+<all>
+
+%% Redefine various margin sizes
+\setbeamersize{text margin left=3mm}
+\setbeamersize{text margin right=3mm}
+\setbeamersize{description width=0.57cm}
+\setlength\leftmargini{1em}
+\setlength\leftmarginii{1em}
+\setlength\leftmarginiii{1em}
+\providecommand{\vstretch}[1]{\vspace*{\stretch{#1}}}
diff --git a/macros/latex/contrib/stex/tex/etc/hwexam-default.header b/macros/latex/contrib/stex/tex/etc/hwexam-default.header
new file mode 100644
index 0000000000..f3ee390bf9
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/etc/hwexam-default.header
@@ -0,0 +1,30 @@
+\noindent\large{}Name: \hfill%
+Matriculation Number:\hspace*{2cm}\strut\\[1ex]
+
+\begin{center}
+ \Large\textbf{\@title}\\[1ex]
+ \large\@date\\[3ex]
+\end{center}
+
+\textbf{You have {\hwexamminutes} (sharp) for the test};\\
+Write the solutions to the sheet.
+
+\noindent
+The estimated time for solving this exam is {\theassignment@totalmin} minutes,
+leaving you {\check@time} minutes for revising your exam.
+
+\noindent
+You can reach {\theassignment@totalpts} points if you solve all problems.
+You will only need {\testheading@reqpts} points for a perfect score, i.e.
+{\bonus@pts} points are bonus points.
+\vfill
+\begin{center}
+{
+ \Large\em You have ample time, so take it slow and avoid rushing
+ to mistakes!\\[2ex]
+ Different problems test different skills and knowledge, so do not
+ get stuck on one problem.
+}\vfill
+
+\resizebox{\textwidth}{!}{\correction@table}\\[3ex]
+\end{center} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/tex/etc/lststex.sty b/macros/latex/contrib/stex/tex/etc/lststex.sty
new file mode 100644
index 0000000000..e3865cb464
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/etc/lststex.sty
@@ -0,0 +1,45 @@
+\RequirePackage{xcolor}
+\RequirePackage{listings}
+
+\lstdefinelanguage{pseudocode}
+{morekeywords={procedure,function,end,loop,return,to,local,Value,fail,if,then,do,for,else,elif,foreach,in,true,false,
+ inputs,returns,persistent,repeat,until,while},
+ morecomment=[s]{(*}{*)},
+ morecomment=[s]{/*}{*/}, % preferred over (* ... *)
+ morecomment=[s][\sl]{<}{>}
+}
+
+\lstdefinelanguage[sTeX]{TeX}[LaTeX]{TeX}%
+ {moretexcs={[2]defin,twindef,atwindef,definalt,twindefalt,atwindefalt,definiendum,
+ importmodule,usemodule,importmhmodule,usemhmodule,gimport,guse,
+ symdef,symvariant,symtest,
+ defi,defii,defiii,adefi,adefii,adefiii,defis,defiis,defiiis,
+ trefi,trefii,trefiii,atrefi,atrefii,atrefiii,mtrefi,mtrefii,mtrefiii,
+ trefis,trefiis,trefiiis,atrefis,atrefiis,atrefiiis,
+ symi,symii,symiii,
+ termref,sref},
+ morekeywords={module,definition,axiom,assertion,omtext,
+ mhmodule,mhmodsig,mhmodnl,modsig,modnl,
+ inputref,
+ sproof,spfstep,spfcases,spfcase,justification,premise}}
+
+\definecolor{backcolor}{gray}{.96}
+
+\lstset{columns=fullflexible,basicstyle=\ttfamily}
+\lstset{frame=none,numbers=none,lineskip=-.7ex}%,aboveskip=-1em,belowskip=-2em}
+\lstset{keywordstyle=[2]\color{red},keywordstyle=[3]\color{blue}}
+\lstset{keywordstyle=[4]\color{green},keywordstyle=[5]\color{magenta}}
+\lstset{emphstyle=[2]\color{red},emphstyle=[3]\color{blue}}
+\lstset{emphstyle=[4]\color{green},emphstyle=[5]\color{magenta}}
+\lstset{commentstyle=\color{brown}}
+\lstset{backgroundcolor=\color{backcolor}}
+\newcommand{\lstkeycolor}[2]{\ifcase#1\textbf{#1}\or\red{#2}\or\blue{#2}\or\green{#2}\or\magenta{#2}\fi}
+\define@key{stexlisting}{id}{\def\sref@id{#1}}
+\define@key{stexlisting}{id}{\def\stexlst@id{#1}}
+
+% LocalWords: lstdefinelanguage morekeywords morecomment moretexcs defin sref
+% LocalWords: twindef atwindef definalt twindefalt atwindefalt termref lstset
+% LocalWords: basicstyle scriptsize fullflexible lineskip aboveskip belowskip
+% LocalWords: keywordstyle keywordstyle newcommand lstkeycolor ifcase textbf
+% LocalWords: stexlisting stexlst sproof spfstep symdef spfcases spfcase tt
+% LocalWords: texcsstyle emphstyle emphstyle ttfamily
diff --git a/macros/latex/contrib/stex/tex/etc/rustex.sty b/macros/latex/contrib/stex/tex/etc/rustex.sty
new file mode 100644
index 0000000000..dafcc184eb
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/etc/rustex.sty
@@ -0,0 +1,67 @@
+\ProvidesPackage{rustex}[2022/01/11]
+\RequirePackage{xspace}
+
+\ifcsname if@rustex\endcsname\else
+ \expandafter\newif\csname if@rustex\endcsname
+ \@rustexfalse
+\fi
+
+\if@rustex\else
+ \def\rustex@directHTML#1{}
+ % usage: plain HTML as argument, e.g.
+ % \rustex@directHTML{<div>foo</div>}
+
+ \def\rustex@annotateHTML#1{}
+ \def\rustex@annotateHTMLEnd{}
+ % usage: First argument: attributes and styles
+ % attribute names may contain URL prefixes
+ % styles should be prefixed with style:
+ % second argument: The stuff that gets annotated
+ % e.g.
+ %\rustex@annotateHTML{rustex:mycolor="grey" style:fontsize="150\%"}hello\rustex@annotateHTMLEnd
+
+ \def\rustex@addNamespaceAbbrev#1#2{}
+ % e.g. \rustex@addNamespaceAbbrev{stex}{http://kwarc.info/ns/sTeX}
+ \def\rustexBREAK{}
+\fi
+
+\ifcsname ExplSyntaxOn\endcsname
+ \ExplSyntaxOn
+ \prg_new_conditional:Nnn \rustex_if: {p, T, F, TF} {
+ \if@rustex
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
+ }
+ \cs_new_protected:Npn\rustex_direct_HTML:n #1 {
+ \rustex_if:T {\cs:w rustex@directHTML\cs_end:{#1}}
+ }
+ \cs_new_protected:Npn\rustex_annotate_HTML_begin:n #1 {
+ \rustex_if:T {\cs:w rustex@annotateHTML\cs_end:{#1}}
+ }
+ \cs_new_protected:Nn\rustex_annotate_HTML_end: {
+ \rustex_if:T {\cs:w rustex@annotateHTMLEnd\cs_end:}
+ }
+ \cs_new_protected:Npn\rustex_annotate_HTML:nn #1 #2 {
+ \rustex_if:TF {
+ \rustex_annotate_HTML_begin:n{#1}
+ #2
+ \rustex_annotate_HTML_end:
+ }{#2}
+ }
+ \cs_new_protected:Npn\rustex_add_Namespace:nn #1 #2 {
+ \rustex_if:T {
+ \cs:w rustex@addNamespaceAbbrev\cs_end:{#1}{#2}
+ }
+ }
+ \ExplSyntaxOff
+\fi
+
+\protected\def\RusTeX{%
+ \@ifundefined{texorpdfstring}%
+ {\let\texorpdfstring\@firstoftwo}%
+ {}%
+ \texorpdfstring{R\kern-0.1em\raise-0.1em\hbox{\scriptsize US}\kern-0.2em\TeX}{RusTeX}\xspace%
+}
+\let\rustex\RusTeX \ No newline at end of file
diff --git a/macros/latex/contrib/stex/tex/etc/stexthm.sty b/macros/latex/contrib/stex/tex/etc/stexthm.sty
new file mode 100644
index 0000000000..5f2071c4fe
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/etc/stexthm.sty
@@ -0,0 +1,45 @@
+\ProvidesExplPackage{stexthm}{2022/02/24}{3.0.0}{Default Typesetting for sTeX Statements}
+
+\RequirePackage{stex}
+\RequirePackage{amsthm}
+\RequirePackage{thmtools}
+
+\declaretheorem[parent=section]{theorem}
+\stexpatchassertion[theorem]
+{\ifx\sassertiontitle\@empty\begin{theorem}\else\begin{theorem}[\sassertiontitle]\fi}
+{\end{theorem}}
+
+\declaretheorem[sibling=theorem]{observation}
+\stexpatchassertion[observation]
+{\ifx\sassertiontitle\@empty\begin{observation}\else\begin{observation}[\sassertiontitle]\fi}
+{\end{observation}}
+
+\declaretheorem[sibling=theorem]{corollary}
+\stexpatchassertion[corollary]
+{\ifx\sassertiontitle\@empty\begin{corollary}\else\begin{corollary}[\sassertiontitle]\fi}
+{\end{corollary}}
+
+\declaretheorem[sibling=theorem]{lemma}
+\stexpatchassertion[lemma]
+{\ifx\sassertiontitle\@empty\begin{lemma}\else\begin{lemma}[\sassertiontitle]\fi}
+{\end{lemma}}
+
+\declaretheorem[sibling=theorem]{axiom}
+\stexpatchassertion[axiom]
+{\ifx\sassertiontitle\@empty\begin{axiom}[type=axiom]\else\begin{axiom}[type=axiom,\sassertiontitle]\fi}
+{\end{axiom}}
+
+\declaretheorem[sibling=theorem,style=remark]{remark}
+\stexpatchassertion[remark]
+{\ifx\sassertiontitle\@empty\begin{remark}\else\begin{remark}[\sassertiontitle]\fi}
+{\end{remark}}
+
+\declaretheorem[sibling=theorem,style=definition]{example}
+\stexpatchexample
+{\ifx\sexampletitle\@empty\begin{example}\else\begin{example}[\sexampletitle]\fi}
+{\end{example}}
+
+\declaretheorem[sibling=theorem,style=definition]{definition}
+\stexpatchdefinition
+{\ifx\sdefinitiontitle\@empty\begin{definition}\else\begin{definition}[\sdefinitiontitle]\fi}
+ {\end{definition}} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/sty/mikoslides/cc-by-sa.png b/macros/latex/contrib/stex/tex/img/cc-by-sa.png
index f0a944e0b8..f0a944e0b8 100644
--- a/macros/latex/contrib/stex/sty/mikoslides/cc-by-sa.png
+++ b/macros/latex/contrib/stex/tex/img/cc-by-sa.png
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/mikoslides/cc_somerights.png b/macros/latex/contrib/stex/tex/img/cc_somerights.png
index fd7d3c7f33..fd7d3c7f33 100644
--- a/macros/latex/contrib/stex/sty/mikoslides/cc_somerights.png
+++ b/macros/latex/contrib/stex/tex/img/cc_somerights.png
Binary files differ
diff --git a/macros/latex/contrib/stex/sty/mikoslides/dangerous-bend.png b/macros/latex/contrib/stex/tex/img/dangerous-bend.png
index fbcfefa5d9..fbcfefa5d9 100644
--- a/macros/latex/contrib/stex/sty/mikoslides/dangerous-bend.png
+++ b/macros/latex/contrib/stex/tex/img/dangerous-bend.png
Binary files differ
diff --git a/macros/latex/contrib/stex/tex/img/sTeX-logo.png b/macros/latex/contrib/stex/tex/img/sTeX-logo.png
new file mode 100644
index 0000000000..1e29279740
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/img/sTeX-logo.png
Binary files differ
diff --git a/macros/latex/contrib/stex/tex/ldf/hwexam-finnish.ldf b/macros/latex/contrib/stex/tex/ldf/hwexam-finnish.ldf
new file mode 100644
index 0000000000..92454d2b2c
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/hwexam-finnish.ldf
@@ -0,0 +1,21 @@
+% Finnish Language Bindings for the sTeX hwexam package
+% Translations thanks to Jukka Kohonen <jukka.kohonen@aalto.fi>
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsfinnish{
+\def\hwexam@assignment@kw{Kotitehtävä}
+\def\hwexam@given@kw{Annettu}
+\def\hwexam@due@kw{Palautettava}
+\def\correction@forgrading@kw{Käytetään arvosteluun, älä kirjoita tähän!}
+\def\hwexam@testemptypage@kw{Tämä sivu on tarkoituksellisesti tyhjä}
+\def\correction@probs@kw{Tehtävä}%
+\def\correction@pts@kw{Maksimi}%
+\def\correction@reached@kw{Pisteet}%
+\def\correction@sum@kw{Summa}%
+\def\correction@grade@kw{Arvosana}%
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/hwexam-french.ldf b/macros/latex/contrib/stex/tex/ldf/hwexam-french.ldf
new file mode 100644
index 0000000000..23992740cd
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/hwexam-french.ldf
@@ -0,0 +1,21 @@
+% French Language Bindings for the sTeX hwexam package
+% Translations thanks to Samuel Lelièvre <samuel.lelievre@gmail.com>
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsfrench{
+\def\hwexam@assignment@kw{Devoir}
+\def\hwexam@given@kw{Distribué}
+\def\hwexam@due@kw{À rendre}
+\def\correction@forgrading@kw{Réservé pour la correction}
+\def\hwexam@testemptypage@kw{Page laissée blanche exprès}
+\def\correction@probs@kw{Pb}%
+\def\correction@pts@kw{pt}%
+\def\correction@reached@kw{Score}%
+\def\correction@sum@kw{Total}%
+\def\correction@grade@kw{Note}%
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/hwexam-ngerman.ldf b/macros/latex/contrib/stex/tex/ldf/hwexam-ngerman.ldf
new file mode 100644
index 0000000000..31af25aba8
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/hwexam-ngerman.ldf
@@ -0,0 +1,21 @@
+% German Language Bindings for the sTeX hwexam package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsngerman{
+\def\hwexam@assignment@kw{Hausaufgabe}
+\def\hwexam@given@kw{Ausgegeben}
+\def\hwexam@due@kw{Abgabetermin}
+\def\hwexam@minutes@kw{Minuten}
+\def\correction@forgrading@kw{Nur zur Korrektur, bitte freilassen!}
+\def\hwexam@testemptypage@kw{Diese Seite wurde für mehr Platz absichtlich leer gelassen.}
+\def\correction@probs@kw{Aufgabe}%
+\def\correction@pts@kw{M\"oglich}%
+\def\correction@reached@kw{Erreicht}%
+\def\correction@sum@kw{Summe}%
+\def\correction@grade@kw{Note}%
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/hwexam-russian.ldf b/macros/latex/contrib/stex/tex/ldf/hwexam-russian.ldf
new file mode 100644
index 0000000000..6da7c9e8cb
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/hwexam-russian.ldf
@@ -0,0 +1,20 @@
+% Russian Language Bindings for the sTeX hwexam package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsrussian{
+\def\hwexam@assignment@kw{Домашнее задание}
+\def\hwexam@given@kw{Дано}
+\def\hwexam@due@kw{Дата сдачи}
+\def\correction@forgrading@kw{Для исправлений. Пожалуйста, оставьте свободное место!}
+\def\hwexam@testemptypage@kw{Эта страница преднамеренно оставлена пустой для дополнительных записей.}
+\def\correction@probs@kw{Задание}%
+\def\correction@pts@kw{Максимальный балл}%
+\def\correction@reached@kw{Ваш балл}%
+\def\correction@sum@kw{Общий балл}%
+\def\correction@grade@kw{Отметка}%
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/omdoc-ngerman.ldf b/macros/latex/contrib/stex/tex/ldf/omdoc-ngerman.ldf
new file mode 100644
index 0000000000..3486813833
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/omdoc-ngerman.ldf
@@ -0,0 +1,17 @@
+% German Language Bindings for the sTeX omdoc package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsngerman{
+\def\omdoc@part@kw{Teil}
+\def\omdoc@chapter@kw{Kapitel}
+\def\omdoc@section@kw{Abschnitt}
+\def\omdoc@subsection@kw{Unterabschnitt}
+\def\omdoc@subsubsection@kw{Unterabschnitt}
+\def\omdoc@paragraph@kw{Paragraph}
+\def\omdoc@subparagraph@kw{Unterparagraph}
+} \ No newline at end of file
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf b/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf
new file mode 100644
index 0000000000..3619f283a0
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/problem-finnish.ldf
@@ -0,0 +1,13 @@
+% Finnish Language Bindings for the sTeX problem package
+% Translations thanks to Jukka Kohonen <jukka.kohonen@aalto.fi>
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsfinnish{
+\def\prob@problem@kw{Tehtävä}
+\def\prob@solution@kw{Ratkaisu}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-french.ldf b/macros/latex/contrib/stex/tex/ldf/problem-french.ldf
new file mode 100644
index 0000000000..80d577c481
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/problem-french.ldf
@@ -0,0 +1,13 @@
+% French Language Bindings for the sTeX problem package
+% Translations thanks to Samuel Lelièvre <samuel.lelievre@gmail.com>
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsfrench{
+\def\prob@problem@kw{Problème}
+\def\prob@solution@kw{Solution}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf b/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf
new file mode 100644
index 0000000000..d53bed5591
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/problem-ngerman.ldf
@@ -0,0 +1,17 @@
+% German Language Bindings for the sTeX problem package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsngerman{
+\def\prob@problem@kw{Aufgabe}
+\def\prob@solution@kw{Lösung}
+\def\prob@hint@kw{Hinweis}
+\def\prob@note@kw{Bemerkung}
+\def\prob@note@kw{Bewertung}
+\def\prob@pt@kw{Pkt}
+\def\prob@min@kw{Min}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf b/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf
new file mode 100644
index 0000000000..d27d8ffabc
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/problem-russian.ldf
@@ -0,0 +1,16 @@
+% Russian Language Bindings for the sTeX problem package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsrussian{
+\def\prob@problem@kw{Задание}
+\def\prob@solution@kw{Решение}
+\def\prob@hint@kw{Подсказка}
+\def\prob@note@kw{Примечание}
+\def\prob@pt@kw{бл}
+\def\prob@min@kw{мин}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/sproof-finnish.ldf b/macros/latex/contrib/stex/tex/ldf/sproof-finnish.ldf
new file mode 100644
index 0000000000..3ab1f02690
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/sproof-finnish.ldf
@@ -0,0 +1,14 @@
+% Finnish Language Bindings for the sTeX sproof package
+% Translations thanks to Jukka Kohonen <jukka.kohonen@aalto.fi>
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsfinnish{
+\def\spf@proofsketch@kw{Todistusidea}
+\def\spf@proof@kw{Todistus}
+\def\spf@step@kw{Askel}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/sproof-french.ldf b/macros/latex/contrib/stex/tex/ldf/sproof-french.ldf
new file mode 100644
index 0000000000..8425e0d4a8
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/sproof-french.ldf
@@ -0,0 +1,14 @@
+% French Language Bindings for the sTeX sproof package
+% Translations thanks to Samuel Lelièvre <samuel.lelievre@gmail.com>
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsfrench{
+\def\spf@proofsketch@kw{Esquisse de démonstration}
+\def\spf@proof@kw{Démonstration}
+\def\spf@step@kw{Étape}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/sproof-ngerman.ldf b/macros/latex/contrib/stex/tex/ldf/sproof-ngerman.ldf
new file mode 100644
index 0000000000..5bd1024eba
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/sproof-ngerman.ldf
@@ -0,0 +1,13 @@
+% German Language Bindings for the sTeX sproof package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsngerman{
+\def\spf@proofsketch@kw{Beweisskizze}
+\def\spf@proof@kw{Beweis}
+\def\spf@step@kw{Schritt}
+}
diff --git a/macros/latex/contrib/stex/tex/ldf/sproof-russian.ldf b/macros/latex/contrib/stex/tex/ldf/sproof-russian.ldf
new file mode 100644
index 0000000000..314cee130b
--- /dev/null
+++ b/macros/latex/contrib/stex/tex/ldf/sproof-russian.ldf
@@ -0,0 +1,13 @@
+% Russian Language Bindings for the sTeX sproof package
+% Copyright (c) 2019 Michael Kohlhase, all rights reserved
+% this file is released under the
+% LaTeX Project Public License (LPPL)
+%
+% The original of this file is in the public repository at
+% http://github.com/sLaTeX/sTeX/
+
+\g@addto@macro\captionsrussian{
+\def\spf@proofsketch@kw{Набросок доказательства}
+\def\spf@proof@kw{Доказательство}
+\def\spf@step@kw{Шаг}
+}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/README.md b/macros/latex/contrib/tkz/tkz-euclide/README.md
index ffe98b82d4..0f6e6b8380 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/README.md
+++ b/macros/latex/contrib/tkz/tkz-euclide/README.md
@@ -1,6 +1,6 @@
# tkz-euclide — for euclidean geometry
-Release 4.05 b 2022/02/07
+Release 4.051 b 2022/02/25
## Description
@@ -74,6 +74,8 @@ The new version of `tkz-euclide` is *not* fully compatible with the version
## History
+- 4.051b Fixed a problem when tkz-base is loaded.
+
- 4.05b
\tkzInterLC new option near new method to choice the points
\tkzInterCC new method to choice the points
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
index 36ed515b7b..7516b752a3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg
@@ -16,9 +16,9 @@
% and save the file in a directory part of your TEXINPUTS environment
% variable.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-euclide.cfg}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-euclide.cfg}
%<------ colors ---------------------------------------–>
\def\tkz@backgroundcolor{white}
\def\tkz@textcolor{black}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
index e59c97fa0f..6671d81a0e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.sty
@@ -10,11 +10,11 @@
% The Current Maintainer of this work is Alain Matthes.
%<------------------------------------------------------------>
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-euclide.sty}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-euclide.sty}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tkz-euclide}[ 2022/02/07 4.05b for pure Euclidean Geometry ]
+\ProvidesPackage{tkz-euclide}[ 2022/02/25 4.051b for pure Euclidean Geometry ]
\@ifpackageloaded{tkz-base}{
\newdimen\tkzRadius
@@ -22,8 +22,18 @@
\newdimen\tkz@radi
\newif\iftkz@line@normed
\newif\ifnormtkzcode@execute% german ? right angle
-\newif\iftkz@swap@sc%---------------------- semi circle
+%---------------------- semi circle
+\newif\iftkz@swap@sc
+%--------------------- circles
+\newif\iftkzClipOutCircle
+%--------------------- polygons
+\newif\iftkzClipOutPoly
+%--------------------- triangles
\newif\iftkz@swap@tr
+\newif\iftkz@permute
+%--------------------- intersections
+\newif\iftkzFlagLC\tkzFlagLCfalse
+\newif\iftkzFlagCC\tkzFlagCCfalse
}{
\RequirePackage{tikz}
\usetikzlibrary{angles,
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
index 88edcbd70e..cc4cc0bd09 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-marks.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-lib-eu-marks.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-lib-eu-marks.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Création des symboles
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
index 66824d184b..98fbfce241 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-lib-eu-shape.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-lib-eu-shape.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-lib-eu-shape.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Création des symboles
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
index 65e0c5b944..5ee8ab60a2 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-axesmin.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-axesmin}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-axesmin}
\makeatletter
\def\removedot#1.{#1}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
index 0fcc4f210f..a3bcf65ec3 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-circles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
index 9f0168d835..8eb9ce62cf 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-circles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-circles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzCircle center and one point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
index 3ecb646303..37ab27d8e7 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-compass.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-compass.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-compass.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Author Alain Matthes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
index 6b5ed5ae7e..a0fb399aee 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-angles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tool-eu-angles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tool-eu-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzSetUpArc
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
index 95c29886e1..fcc2a6fa9b 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-circles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-draw-circles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-draw-circles.tex}
\makeatletter
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
index 3b07d9f9ca..77dbe4f889 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-lines.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-draw-lines.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-draw-lines.tex}
\makeatletter
\def\tkz@numdl{0}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
index fae41863a7..ebf53e42f1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-polygons.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-polygons.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-polygons.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Polygon
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
index 4679ab85d1..113326de89 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-draw-triangles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-draw-triangles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-draw-triangles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Draw Triangles
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
index 207b537c61..4e9fecae25 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-grids.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-grids.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-grids.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Setup Grid
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
index fddfca0723..9dce18f48e 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-lines.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-lines.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-lines.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% les lignes
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
index 4def351f35..596ee3a0bc 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-by.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-el-points-by.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-el-points-by.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Transformations Géométriques
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
index b6f51bc53a..06e792f6fd 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-rnd.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-el-points-rnd.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-el-points-rnd.tex}
%<--------------------------------------------------------------------------–>
\makeatletter
%<-------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
index 09c803dde0..a67b375cd0 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-spc.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-el-points.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-el-points.tex}
\makeatletter
%add ExCenter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
index 27951df7ac..f8c6770812 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-el-points-with.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-el-points-with.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Vectors
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
index ecf22fbd9c..7f8088b225 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-points.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-points.tex}
\makeatletter
%<--------------------------------------------------------------------------->
% init def point
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
index 42f5a4f5ce..19aeced046 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-polygons.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-polygons.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-polygons.tex}
% bug in regular polygon side 2020/03/09
\makeatletter
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
index bb679c6bea..e88b6efd35 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-protractor.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-protractor.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-protractor.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% !!! idea from Y. Combe !!!
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
index ee07eddbd1..da68ae7404 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-sectors.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-sectors.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-sectors.tex}
\makeatletter
%<----------------------- Sectors ------------------------------–>
\gdef\tkz@nums{0}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
index 649ab09f7b..d10caa8f48 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-show.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-show.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-show.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% finding specific points in a triangle
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
index 04d9ea258b..98c9ec3f2d 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-triangles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-triangles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-triangles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% Triangle Equilateral
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
index 4af6ca4f09..a00317d77c 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-BB.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-obj-eu-BB.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-obj-eu-BB.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}}
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
index 0748e4462a..61b33defe1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-angles.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-angles.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-angles.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
%<--------------------------------------------------------------------------–>
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
index 9ad90734b2..a5a1bc3ed1 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-base.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-eu-base.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-eu-base.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
\global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
index 8f95c8e4ad..0b0b7fc910 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-colors.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-eu-colors}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-eu-colors}
\makeatletter
%<------ Initialisation of the colors with tkzSetUpColors ----------------->
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
index 9efc3f10ab..6723a41a35 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-math.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-eu-math.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-eu-math.tex}
\makeatletter
%<-------------------------------------------------------------------------->
% \tkzpointnormalised#
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
index 04db27c968..c3ba8ab736 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-modules.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-utilities.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-utilities.tex}
\makeatletter
%<------------- % chargement des modules ---------------------------------->
\def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}%
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
index 36da262f36..5bab4312ce 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-text.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-eu-text.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-eu-text.tex}
\makeatletter
%<--------------------------------------------------------------------------–>
% tkzText
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
index 3662ead876..93b14350f9 100644
--- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
+++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.05b}
-\def\filedate{2022/02/07}
-\typeout{2022/02/07 4.05b tkz-tools-eu-utilities.tex}
+\def\fileversion{4.051b}
+\def\filedate{2022/02/25}
+\typeout{2022/02/25 4.051b tkz-tools-eu-utilities.tex}
\makeatletter
\pgfkeys{/tkzClip/.cd,
space/.store in = {\tkz@CLI@space},
diff --git a/macros/luatex/generic/luaotfload/NEWS b/macros/luatex/generic/luaotfload/NEWS
index f6e4e0fcb7..44b749c352 100644
--- a/macros/luatex/generic/luaotfload/NEWS
+++ b/macros/luatex/generic/luaotfload/NEWS
@@ -1,5 +1,20 @@
Change History
--------------
+2022-02-24 luaotfload v3.19
+
+ * When used with LuaTeX 1.15.0 or newer, variable fonts are supported
+ when using the harf shaper too.
+ * A new algorithm for selecting fonts based on font family names allows
+ to more reliably load fonts based on their family name.
+ * The compiled font database gets compressed to reduce disk space and
+ improve performance on newer systems.
+ * Text automatically gets normalized to Unicode's NFC before shaping.
+ This improves rendering for text written in decomposed forms for many
+ fonts. This can be turned off by passing the -normalize font feature.
+ * The fontloader has been synced with the context code from 2022-02-24.
+ This fixes some broken rendering of TrueType based variable fonts.
+ * A number of small bugfixes.
+
2021-05-21 luaotfload v3.18
* Allow using variable fonts without explicitly specifying any axis values
diff --git a/macros/luatex/generic/luaotfload/README.md b/macros/luatex/generic/luaotfload/README.md
index a58b1c99fb..565733e6c5 100644
--- a/macros/luatex/generic/luaotfload/README.md
+++ b/macros/luatex/generic/luaotfload/README.md
@@ -1,8 +1,8 @@
# The Luaotfload Package
-VERSION: 3.18
+VERSION: 3.19
-DATE: 2021-05-21
+DATE: 2022-02-24
## Description
diff --git a/macros/luatex/generic/luaotfload/filegraph.pdf b/macros/luatex/generic/luaotfload/filegraph.pdf
index 0704762fd1..b455173c6b 100644
--- a/macros/luatex/generic/luaotfload/filegraph.pdf
+++ b/macros/luatex/generic/luaotfload/filegraph.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua b/macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua
index f541668099..aee123be03 100644
--- a/macros/luatex/generic/luaotfload/fontloader-2021-05-20.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua
@@ -1,9 +1,9 @@
--[[info-----------------------------------------------------------------------
Luaotfload fontloader package
- build 2021-05-20 19:43:52
+ build 2022-02-24 08:04:22
-------------------------------------------------------------------------------
- © 2021 PRAGMA ADE / ConTeXt Development Team
+ © 2022 PRAGMA ADE / ConTeXt Development Team
The code in this file is provided under the GPL v2.0 license. See the
file COPYING in the Luaotfload repository for details.
@@ -63,7 +63,7 @@
--info]]-----------------------------------------------------------------------
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “data-con” 23a0f5386d46a1c157ae82a373e35fa0] ---
if not modules then modules={} end modules ['data-con']={
version=1.100,
@@ -184,10 +184,10 @@ function containers.cleanname(name)
return (gsub(lower(name),"[^%w\128-\255]+","-"))
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “data-con”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “data-con”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “basics-nod” b2e0a0e5e1e27349aed464fa738b8db1] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-nod” 1750af43148def9e7a75c6900a96f9dc] ---
if not modules then modules={} end modules ['luatex-fonts-nod']={
version=1.001,
@@ -276,7 +276,7 @@ nuts.setcomponents=direct.setcomponents
nuts.setdirection=direct.setdirection
nuts.setdisc=direct.setdisc
nuts.setreplace=direct.setreplace
-nuts.setfield=setfield
+nuts.setfield=direct.setfield
nuts.setkern=direct.setkern
nuts.setlink=direct.setlink
nuts.setlist=direct.setlist
@@ -454,10 +454,10 @@ do
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “basics-nod”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-nod”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “basics-chr” 64fafe4eaf55d64aead6513c1e74a024] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-chr” 1bb1ea05b5ca1bb5a9848b9eb66322bf] ---
characters=characters or {}
@@ -660,6 +660,7 @@ characters.classifiers={
[1562]=5,
[1563]=6,
[1564]=6,
+ [1565]=6,
[1566]=6,
[1567]=6,
[1568]=2,
@@ -1126,9 +1127,9 @@ characters.classifiers={
[2131]=2,
[2132]=3,
[2133]=2,
- [2134]=4,
- [2135]=4,
- [2136]=4,
+ [2134]=3,
+ [2135]=3,
+ [2136]=3,
[2137]=5,
[2138]=5,
[2139]=5,
@@ -1143,6 +1144,47 @@ characters.classifiers={
[2152]=2,
[2153]=3,
[2154]=3,
+ [2160]=3,
+ [2161]=3,
+ [2162]=3,
+ [2163]=3,
+ [2164]=3,
+ [2165]=3,
+ [2166]=3,
+ [2167]=3,
+ [2168]=3,
+ [2169]=3,
+ [2170]=3,
+ [2171]=3,
+ [2172]=3,
+ [2173]=3,
+ [2174]=3,
+ [2175]=3,
+ [2176]=3,
+ [2177]=3,
+ [2178]=3,
+ [2179]=2,
+ [2180]=2,
+ [2181]=2,
+ [2182]=2,
+ [2183]=4,
+ [2184]=4,
+ [2185]=2,
+ [2186]=2,
+ [2187]=2,
+ [2188]=2,
+ [2189]=2,
+ [2190]=3,
+ [2192]=4,
+ [2193]=4,
+ [2200]=5,
+ [2201]=5,
+ [2202]=5,
+ [2203]=5,
+ [2204]=5,
+ [2205]=5,
+ [2206]=5,
+ [2207]=5,
[2208]=2,
[2209]=2,
[2210]=2,
@@ -1164,6 +1206,7 @@ characters.classifiers={
[2226]=3,
[2227]=2,
[2228]=2,
+ [2229]=2,
[2230]=2,
[2231]=2,
[2232]=2,
@@ -1172,6 +1215,26 @@ characters.classifiers={
[2235]=2,
[2236]=2,
[2237]=2,
+ [2238]=2,
+ [2239]=2,
+ [2240]=2,
+ [2241]=2,
+ [2242]=2,
+ [2243]=2,
+ [2244]=2,
+ [2245]=2,
+ [2246]=2,
+ [2247]=2,
+ [2248]=2,
+ [2250]=5,
+ [2251]=5,
+ [2252]=5,
+ [2253]=5,
+ [2254]=5,
+ [2255]=5,
+ [2256]=5,
+ [2257]=5,
+ [2258]=5,
[2259]=5,
[2260]=5,
[2261]=5,
@@ -1291,6 +1354,7 @@ characters.classifiers={
[2883]=5,
[2884]=5,
[2893]=5,
+ [2901]=5,
[2902]=5,
[2914]=5,
[2915]=5,
@@ -1299,6 +1363,7 @@ characters.classifiers={
[3021]=5,
[3072]=5,
[3076]=5,
+ [3132]=5,
[3134]=5,
[3135]=5,
[3136]=5,
@@ -1332,6 +1397,7 @@ characters.classifiers={
[3405]=5,
[3426]=5,
[3427]=5,
+ [3457]=5,
[3530]=5,
[3538]=5,
[3539]=5,
@@ -1511,6 +1577,7 @@ characters.classifiers={
[6156]=5,
[6157]=5,
[6158]=4,
+ [6159]=5,
[6176]=2,
[6177]=2,
[6178]=2,
@@ -1695,6 +1762,22 @@ characters.classifiers={
[6843]=5,
[6844]=5,
[6845]=5,
+ [6847]=5,
+ [6848]=5,
+ [6849]=5,
+ [6850]=5,
+ [6851]=5,
+ [6852]=5,
+ [6853]=5,
+ [6854]=5,
+ [6855]=5,
+ [6856]=5,
+ [6857]=5,
+ [6858]=5,
+ [6859]=5,
+ [6860]=5,
+ [6861]=5,
+ [6862]=5,
[6912]=5,
[6913]=5,
[6914]=5,
@@ -1827,6 +1910,7 @@ characters.classifiers={
[7671]=5,
[7672]=5,
[7673]=5,
+ [7674]=5,
[7675]=5,
[7676]=5,
[7677]=5,
@@ -1928,6 +2012,7 @@ characters.classifiers={
[43019]=5,
[43045]=5,
[43046]=5,
+ [43052]=5,
[43072]=2,
[43073]=2,
[43074]=2,
@@ -2204,6 +2289,8 @@ characters.classifiers={
[68901]=5,
[68902]=5,
[68903]=5,
+ [69291]=5,
+ [69292]=5,
[69424]=2,
[69425]=2,
[69426]=2,
@@ -2241,6 +2328,56 @@ characters.classifiers={
[69458]=2,
[69459]=2,
[69460]=3,
+ [69488]=2,
+ [69489]=2,
+ [69490]=2,
+ [69491]=2,
+ [69492]=3,
+ [69493]=3,
+ [69494]=2,
+ [69495]=2,
+ [69496]=2,
+ [69497]=2,
+ [69498]=2,
+ [69499]=2,
+ [69500]=2,
+ [69501]=2,
+ [69502]=2,
+ [69503]=2,
+ [69504]=2,
+ [69505]=2,
+ [69506]=5,
+ [69507]=5,
+ [69508]=5,
+ [69509]=5,
+ [69552]=2,
+ [69553]=4,
+ [69554]=2,
+ [69555]=2,
+ [69556]=3,
+ [69557]=3,
+ [69558]=3,
+ [69559]=4,
+ [69560]=2,
+ [69561]=3,
+ [69562]=3,
+ [69563]=2,
+ [69564]=2,
+ [69565]=3,
+ [69566]=2,
+ [69567]=2,
+ [69568]=4,
+ [69569]=2,
+ [69570]=3,
+ [69571]=3,
+ [69572]=2,
+ [69573]=4,
+ [69574]=4,
+ [69575]=4,
+ [69576]=4,
+ [69577]=3,
+ [69578]=2,
+ [69579]=1,
[69633]=5,
[69688]=5,
[69689]=5,
@@ -2257,6 +2394,9 @@ characters.classifiers={
[69700]=5,
[69701]=5,
[69702]=5,
+ [69744]=5,
+ [69747]=5,
+ [69748]=5,
[69759]=5,
[69760]=5,
[69761]=5,
@@ -2267,6 +2407,7 @@ characters.classifiers={
[69817]=5,
[69818]=5,
[69821]=4,
+ [69826]=5,
[69837]=4,
[69888]=5,
[69889]=5,
@@ -2299,6 +2440,7 @@ characters.classifiers={
[70090]=5,
[70091]=5,
[70092]=5,
+ [70095]=5,
[70191]=5,
[70192]=5,
[70193]=5,
@@ -2409,6 +2551,10 @@ characters.classifiers={
[71735]=5,
[71737]=5,
[71738]=5,
+ [71995]=5,
+ [71996]=5,
+ [71998]=5,
+ [72003]=5,
[72148]=5,
[72149]=5,
[72150]=5,
@@ -2546,8 +2692,78 @@ characters.classifiers={
[94096]=5,
[94097]=5,
[94098]=5,
+ [94180]=5,
[113821]=5,
[113822]=5,
+ [118528]=5,
+ [118529]=5,
+ [118530]=5,
+ [118531]=5,
+ [118532]=5,
+ [118533]=5,
+ [118534]=5,
+ [118535]=5,
+ [118536]=5,
+ [118537]=5,
+ [118538]=5,
+ [118539]=5,
+ [118540]=5,
+ [118541]=5,
+ [118542]=5,
+ [118543]=5,
+ [118544]=5,
+ [118545]=5,
+ [118546]=5,
+ [118547]=5,
+ [118548]=5,
+ [118549]=5,
+ [118550]=5,
+ [118551]=5,
+ [118552]=5,
+ [118553]=5,
+ [118554]=5,
+ [118555]=5,
+ [118556]=5,
+ [118557]=5,
+ [118558]=5,
+ [118559]=5,
+ [118560]=5,
+ [118561]=5,
+ [118562]=5,
+ [118563]=5,
+ [118564]=5,
+ [118565]=5,
+ [118566]=5,
+ [118567]=5,
+ [118568]=5,
+ [118569]=5,
+ [118570]=5,
+ [118571]=5,
+ [118572]=5,
+ [118573]=5,
+ [118576]=5,
+ [118577]=5,
+ [118578]=5,
+ [118579]=5,
+ [118580]=5,
+ [118581]=5,
+ [118582]=5,
+ [118583]=5,
+ [118584]=5,
+ [118585]=5,
+ [118586]=5,
+ [118587]=5,
+ [118588]=5,
+ [118589]=5,
+ [118590]=5,
+ [118591]=5,
+ [118592]=5,
+ [118593]=5,
+ [118594]=5,
+ [118595]=5,
+ [118596]=5,
+ [118597]=5,
+ [118598]=5,
[119143]=5,
[119144]=5,
[119145]=5,
@@ -2745,6 +2961,7 @@ characters.classifiers={
[123188]=5,
[123189]=5,
[123190]=5,
+ [123566]=5,
[123628]=5,
[123629]=5,
[123630]=5,
@@ -2912,6 +3129,7 @@ characters.indicgroups={
[2879]=true,
[2902]=true,
[3376]=true,
+ [5901]=true,
},
["after_postscript"]={
[2433]=true,
@@ -3087,6 +3305,7 @@ characters.indicgroups={
[2915]=true,
[3009]=true,
[3010]=true,
+ [3132]=true,
[3170]=true,
[3171]=true,
[3260]=true,
@@ -3505,6 +3724,7 @@ characters.indicgroups={
[4225]=true,
[4226]=true,
[4238]=true,
+ [5901]=true,
[43488]=true,
[43489]=true,
[43490]=true,
@@ -3829,6 +4049,7 @@ characters.indicgroups={
[3090]=true,
[3091]=true,
[3092]=true,
+ [3165]=true,
[3168]=true,
[3169]=true,
[3205]=true,
@@ -3845,6 +4066,7 @@ characters.indicgroups={
[3218]=true,
[3219]=true,
[3220]=true,
+ [3293]=true,
[3296]=true,
[3297]=true,
[3333]=true,
@@ -3885,6 +4107,7 @@ characters.indicgroups={
[2620]=true,
[2748]=true,
[2876]=true,
+ [3132]=true,
[3260]=true,
},
["post_mark"]={
@@ -3988,6 +4211,7 @@ characters.indicgroups={
[3120]=true,
[3248]=true,
[3376]=true,
+ [5901]=true,
},
["stress_tone_mark"]={
[2385]=true,
@@ -4067,10 +4291,10 @@ characters.indicgroups={
},
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “basics-chr”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “basics-chr”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ini” 5343de60613adb24cdd7a8d2ee1d153c] ---
if not modules then modules={} end modules ['font-ini']={
version=1.001,
@@ -4111,10 +4335,10 @@ if node and not tex.getfontoffamily then
tex.getfontoffamily=node.family_font
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ini”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ini”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-mis” 17e967c9ec4d001deefd43ddf25e98f7] ---
if not modules then modules={} end modules ['luatex-font-mis']={
version=1.001,
@@ -4146,10 +4370,10 @@ function font.each()
return table.sortedhash(fonts.hashes.identifiers)
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-mis”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-mis”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-con” 724e5dd14aec2d4d189f8619898004cf] ---
if not modules then modules={} end modules ['font-con']={
version=1.001,
@@ -5517,10 +5741,10 @@ function constructors.addcoreunicodes(unicodes)
return unicodes
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-con”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-con”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-enc” 5ff4ca50493d7c4ecea0e15c203099f0] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-enc” c24fd6b4f34f87b9c4ff5e6193ce2656] ---
if not modules then modules={} end modules ['luatex-font-enc']={
version=1.001,
@@ -5537,10 +5761,16 @@ local encodings={}
fonts.encodings=encodings
encodings.agl={}
encodings.known={}
+encodings.glyphlistfilename="font-age.lua"
setmetatable(encodings.agl,{ __index=function(t,k)
if k=="unicodes" then
logs.report("fonts","loading (extended) adobe glyph list")
- local unicodes=dofile(resolvers.findfile("font-age.lua"))
+ local foundname=resolvers.findfile(encodings.glyphlistfilename) or ""
+ local unicodes=foundname~="" and dofile(foundname)
+ if type(unicodes)~="table" then
+ logs.report("fonts","missing or invalid (extended) adobe glyph list")
+ unicodes={}
+ end
encodings.agl={ unicodes=unicodes }
return unicodes
else
@@ -5589,10 +5819,10 @@ function encodings.load(filename)
return containers.write(encodings.cache,name,data)
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-enc”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-enc”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cid” 22b0367742fb253deef84ef7ccf5e8de] ---
if not modules then modules={} end modules ['font-cid']={
version=1.001,
@@ -5743,10 +5973,10 @@ function cid.getmap(specification)
return found
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-cid”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cid”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-map” c4a39db5ad822b348aa61bca5f4a599a] ---
if not modules then modules={} end modules ['font-map']={
version=1.001,
@@ -6154,10 +6384,10 @@ function mappings.addtounicode(data,filename,checklookups,forceligatures)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-map”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-map”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-vfc” a81c29eda98cd62cbebdb6c93544b50d] ---
if not modules then modules={} end modules ['font-vfc']={
version=1.001,
@@ -6254,10 +6484,10 @@ helpers.commands=utilities.storage.allocate {
dummy=dummy,
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-vfc”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-vfc”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otr” ad238624c9ebd488d4bbe9af3b620189] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otr” 91f70c1216e60227e1437b6c8dcd8647] ---
if not modules then modules={} end modules ['font-otr']={
version=1.001,
@@ -6499,15 +6729,15 @@ local weights={
[900]="black",
}
local widths={
- [1]="ultracondensed",
- [2]="extracondensed",
- [3]="condensed",
- [4]="semicondensed",
- [5]="normal",
- [6]="semiexpanded",
- [7]="expanded",
- [8]="extraexpanded",
- [9]="ultraexpanded",
+ "ultracondensed",
+ "extracondensed",
+ "condensed",
+ "semicondensed",
+ "normal",
+ "semiexpanded",
+ "expanded",
+ "extraexpanded",
+ "ultraexpanded",
}
setmetatableindex(weights,function(t,k)
local r=floor((k+50)/100)*100
@@ -6517,30 +6747,28 @@ end)
setmetatableindex(widths,function(t,k)
return "normal"
end)
-local panoseweights={
- [ 0]="normal",
- [ 1]="normal",
- [ 2]="verylight",
- [ 3]="light",
- [ 4]="thin",
- [ 5]="book",
- [ 6]="medium",
- [ 7]="demi",
- [ 8]="bold",
- [ 9]="heavy",
- [10]="black",
+local panoseweights={ [0]="normal",
+ "normal",
+ "verylight",
+ "light",
+ "thin",
+ "book",
+ "medium",
+ "demi",
+ "bold",
+ "heavy",
+ "black",
}
-local panosewidths={
- [ 0]="normal",
- [ 1]="normal",
- [ 2]="normal",
- [ 3]="normal",
- [ 4]="normal",
- [ 5]="expanded",
- [ 6]="condensed",
- [ 7]="veryexpanded",
- [ 8]="verycondensed",
- [ 9]="monospaced",
+local panosewidths={ [0]="normal",
+ "normal",
+ "normal",
+ "normal",
+ "normal",
+ "expanded",
+ "condensed",
+ "veryexpanded",
+ "verycondensed",
+ "monospaced",
}
local helpers={}
readers.helpers=helpers
@@ -6974,7 +7202,7 @@ readers.post=function(f,fontdata,specification)
local version=readulong(f)
fontdata.postscript={
version=version,
- italicangle=round(1000*readfixed(f))/1000,
+ italicangle=readfixed(f),
underlineposition=readfword(f),
underlinethickness=readfword(f),
monospaced=readulong(f),
@@ -7591,6 +7819,7 @@ local function getinfo(maindata,sub,platformnames,rawfamilynames,metricstoo,inst
pfmwidth=metrics.widthclass or 5,
panosewidth=metrics.panosewidth,
panoseweight=metrics.panoseweight,
+ fstype=metrics.fstype or 0,
italicangle=postscript.italicangle or 0,
units=fontheader.units or 0,
designsize=fontdata.designsize,
@@ -8084,6 +8313,9 @@ end
function readers.compact(fontdata)
report("the %a helper is not yet implemented","compact")
end
+function readers.condense(fontdata)
+ report("the %a helper is not yet implemented","condense")
+end
local extenders={}
function readers.registerextender(extender)
extenders[#extenders+1]=extender
@@ -8099,10 +8331,10 @@ function readers.extend(fontdata)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otr”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otr”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oti” 309a75f9c14b77d87e94eba827dc4e71] ---
if not modules then modules={} end modules ['font-oti']={
version=1.001,
@@ -8245,10 +8477,10 @@ function otffeatures.checkeddefaultlanguage(featuretype,autolanguage,languages)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oti”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oti”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ott” 3f67b1b1d40bbc222681d8db4aff0f42] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ott” 3f67b1b1d40bbc222681d8db4aff0f42] ---
if not modules then modules={} end modules ["font-ott"]={
version=1.001,
@@ -9364,10 +9596,10 @@ function otffeatures.normalize(features,wrap)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ott”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ott”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-cff” 01e7c6fbc8961a566f4e4f8cbedb7004] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cff” e38c1a40e1d1d577cdf7920fa50d0654] ---
if not modules then modules={} end modules ['font-cff']={
version=1.001,
@@ -9817,7 +10049,8 @@ do
top=0
end
local p_dictionary=(
- p_byte+p_positive+p_negative+p_short+p_long+p_nibbles+p_single+p_double+p_unsupported
+ p_byte+p_positive+p_negative+p_short+p_long+p_nibbles+p_single+p_double
++p_unsupported
)^1
parsedictionaries=function(data,dictionaries,version)
stack={}
@@ -9889,6 +10122,7 @@ do
local y=0
local width=false
local lsb=0
+local result={}
local r=0
local stems=0
local globalbias=0
@@ -10843,12 +11077,12 @@ do
stack[top]=-t*256+64148-tab[i+1]
i=i+2
else
- local n=0x100*tab[i+1]+tab[i+2]
- if n>=0x8000 then
- stack[top]=n-0x10000+(0x100*tab[i+3]+tab[i+4])/0xFFFF
- else
- stack[top]=n+(0x100*tab[i+3]+tab[i+4])/0xFFFF
+ local n1=0x100*tab[i+1]+tab[i+2]
+ local n2=0x100*tab[i+3]+tab[i+4]
+ if n1>=0x8000 then
+ n1=n1-0x10000
end
+ stack[top]=n1+n2/0xFFFF
i=i+5
end
elseif t==28 then
@@ -10936,7 +11170,7 @@ do
i=i+s+1
elseif t==1 or t==3 or t==18 or operation==23 then
p_getstem()
- if true then
+ if version=="cff" then
if top>0 then
for i=1,top do
r=r+1;result[r]=encode[stack[i]]
@@ -10949,7 +11183,7 @@ do
end
i=i+1
elseif t==19 or t==20 then
- local s=p_getmask() or 0
+ local s=p_getmask() or 0
if true then
if top>0 then
for i=1,top do
@@ -10972,7 +11206,7 @@ do
i=i+1
elseif t==13 then
hsbw()
- if version=="cff" then
+ if true then
r=r+1;result[r]=encode[lsb]
r=r+1;result[r]=chars[22]
else
@@ -11099,6 +11333,7 @@ do
r=r+1
result[r]=c_endchar
local stream=concat(result)
+result=nil
if glyph then
glyph.stream=stream
else
@@ -11120,6 +11355,7 @@ do
width=width,
name=charset and charset[index] or nil,
}
+result=nil
else
glyphs[index]={
boundingbox=boundingbox,
@@ -11592,10 +11828,10 @@ function readers.cffcheck(filename)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-cff”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-cff”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ttf” ffffc827e1bcddc33a2b615340ecff7f] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ttf” feba1fdc80160343b24f89ef978e53cb] ---
if not modules then modules={} end modules ['font-ttf']={
version=1.001,
@@ -11607,7 +11843,7 @@ if not modules then modules={} end modules ['font-ttf']={
}
local next,type,unpack=next,type,unpack
local band,rshift=bit32.band,bit32.rshift
-local sqrt,round=math.sqrt,math.round
+local sqrt,round,abs,min,max=math.sqrt,math.round,math.abs,math.min,math.max
local char,rep=string.char,string.rep
local concat=table.concat
local idiv=number.idiv
@@ -11741,69 +11977,164 @@ local function curveto(m_x,m_y,l_x,l_y,r_x,r_y)
r_x+2/3*(m_x-r_x),r_y+2/3*(m_y-r_y),
r_x,r_y,"c"
end
+local xv={}
+local yv={}
local function applyaxis(glyph,shape,deltas,dowidth)
local points=shape.points
if points then
local nofpoints=#points
- local h=nofpoints+2
- local l=nofpoints+1
local dw=0
local dl=0
for i=1,#deltas do
local deltaset=deltas[i]
local xvalues=deltaset.xvalues
local yvalues=deltaset.yvalues
- local dpoints=deltaset.points
- local factor=deltaset.factor
- if dpoints then
- local nofdpoints=#dpoints
- for i=1,nofdpoints do
- local d=dpoints[i]
- local p=points[d]
- if p then
- if xvalues then
- local x=xvalues[i]
- if x and x~=0 then
- p[1]=p[1]+factor*x
+ if xvalues and yvalues then
+ local dpoints=deltaset.points
+ local factor=deltaset.factor
+ if dpoints then
+ local cnt=#dpoints
+ if dowidth then
+ cnt=cnt-4
+ end
+ if cnt==1 then
+ local d=dpoints[1]
+ local x=xvalues[d]*factor
+ local y=yvalues[d]*factor
+ for i=1,nofpoints do
+ local p=points[i]
+ if x~=0 then
+ p[1]=p[1]+x
+ end
+ if y~=0 then
+ p[2]=p[2]+y
end
end
- if yvalues then
- local y=yvalues[i]
- if y and y~=0 then
- p[2]=p[2]+factor*y
+ elseif cnt>0 then
+ local function find(i)
+ local prv=cnt
+ for j=1,cnt do
+ local nxt=dpoints[j]
+ if nxt==i then
+ return false,j,false
+ elseif nxt>i then
+ return prv,false,j
+ end
+ prv=j
+ end
+ return prv,false,1
+ end
+ for i=1,nofpoints do
+ local d1,d2,d3=find(i)
+ local p2=points[i]
+ if d2 then
+ xv[i]=xvalues[d2]
+ yv[i]=yvalues[d2]
+ else
+ local n1=dpoints[d1]
+ local n3=dpoints[d3]
+ if n1>nofpoints then
+ n1=nofpoints
+ end
+ if n3>nofpoints then
+ n3=nofpoints
+ end
+ local p1=points[n1]
+ local p3=points[n3]
+ local p1x=p1[1]
+ local p2x=p2[1]
+ local p3x=p3[1]
+ local p1y=p1[2]
+ local p2y=p2[2]
+ local p3y=p3[2]
+ local x1=xvalues[d1]
+ local y1=yvalues[d1]
+ local x3=xvalues[d3]
+ local y3=yvalues[d3]
+ local fx
+ local fy
+ if p1x==p3x then
+ if x1==x3 then
+ fx=x1
+ else
+ fx=0
+ end
+ elseif p2x<=min(p1x,p3x) then
+ if p1x<p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ elseif p2x>=max(p1x,p3x) then
+ if p1x>p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ else
+ fx=(p2x-p1x)/(p3x-p1x)
+ fx=(1-fx)*x1+fx*x3
+ end
+ if p1y==p3y then
+ if y1==y3 then
+ fy=y1
+ else
+ fy=0
+ end
+ elseif p2y<=min(p1y,p3y) then
+ if p1y<p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ elseif p2y>=max(p1y,p3y) then
+ if p1y>p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ else
+ fy=(p2y-p1y)/(p3y-p1y)
+ fy=(1-fy)*y1+fy*y3
+ end
+ xv[i]=fx
+ yv[i]=fy
end
end
- elseif dowidth then
- if d==h then
- local x=xvalues[i]
- if x then
- dw=dw+factor*x
+ for i=1,nofpoints do
+ local pi=points[i]
+ local fx=xv[i]
+ local fy=yv[i]
+ if fx~=0 then
+ pi[1]=pi[1]+factor*fx
end
- elseif d==l then
- local x=xvalues[i]
- if x then
- dl=dl+factor*x
+ if fy~=0 then
+ pi[2]=pi[2]+factor*fy
end
end
+ else
+ report("bad deltapoint data, maybe a missing hvar table")
end
- end
- else
- for i=1,nofpoints do
- local p=points[i]
- if xvalues then
+ else
+ for i=1,nofpoints do
+ local p=points[i]
local x=xvalues[i]
- if x and x~=0 then
- p[1]=p[1]+factor*x
- end
- end
- if yvalues then
- local y=yvalues[i]
- if y and y~=0 then
- p[2]=p[2]+factor*y
+ if x then
+ local y=yvalues[i]
+ if x~=0 then
+ p[1]=p[1]+factor*x
+ end
+ if y~=0 then
+ p[2]=p[2]+factor*y
+ end
+ else
+ break
end
end
end
if dowidth then
+ local h=nofpoints+2
+ local l=nofpoints+1
local x=xvalues[h]
if x then
dw=dw+factor*x
@@ -12382,13 +12713,13 @@ local function readcomposite(f)
yoffset=yoffset*yscale
end
elseif band(flags,0x0080)~=0 then
- xscale=read2dot14(f)
- xrotate=read2dot14(f)
- yrotate=read2dot14(f)
- yscale=read2dot14(f)
+ xscale=read2dot14(f)
+ xrotate=read2dot14(f)
+ yrotate=read2dot14(f)
+ yscale=read2dot14(f)
if f_xyarg and f_offset then
- xoffset=xoffset*sqrt(xscale^2+xrotate^2)
- yoffset=yoffset*sqrt(yrotate^2+yscale^2)
+ xoffset=xoffset*sqrt(xscale^2+yrotate^2)
+ yoffset=yoffset*sqrt(xrotate^2+yscale^2)
end
end
nofcomponents=nofcomponents+1
@@ -12546,40 +12877,6 @@ end
local function readdeltas(f,nofpoints)
local deltas={}
local p=0
- local z=0
- while nofpoints>0 do
- local control=readbyte(f)
-if not control then
- break
-end
- local allzero=band(control,0x80)~=0
- local runlength=band(control,0x3F)+1
- if allzero then
- z=z+runlength
- else
- local runreader=band(control,0x40)~=0 and readshort or readinteger
- if z>0 then
- for i=1,z do
- p=p+1
- deltas[p]=0
- end
- z=0
- end
- for i=1,runlength do
- p=p+1
- deltas[p]=runreader(f)
- end
- end
- nofpoints=nofpoints-runlength
- end
- if p>0 then
- return deltas
- else
- end
-end
-local function readdeltas(f,nofpoints)
- local deltas={}
- local p=0
while nofpoints>0 do
local control=readbyte(f)
if control then
@@ -12766,10 +13063,10 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ttf”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ttf”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-dsp” 174ce11f3ba0bddf270f48d8d2addd56] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-dsp” 7616dae672693fd8ec0f1892358019a2] ---
if not modules then modules={} end modules ['font-dsp']={
version=1.001,
@@ -15938,6 +16235,7 @@ function readers.hvar(f,fontdata,specification)
end
local tableoffset=gotodatatable(f,fontdata,"hvar",specification.variable)
if not tableoffset then
+ report("no hvar table, expect problems due to messy widths")
return
end
local version=readulong(f)
@@ -16045,10 +16343,10 @@ function readers.mvar(f,fontdata,specification)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-dsp”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-dsp”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oup” 4eb2f26e51835239e26a8df2ecf04366] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oup” e6e2cc0a202aec2c787d5524e64d340a] ---
if not modules then modules={} end modules ['font-oup']={
version=1.001,
@@ -16083,9 +16381,9 @@ local f_index=formatters["I%05X"]
local f_character_y=formatters["%C"]
local f_character_n=formatters["[ %C ]"]
local check_duplicates=true
-local check_soft_hyphen=true
+local check_soft_hyphen=context
directives.register("otf.checksofthyphen",function(v)
- check_soft_hyphen=v
+ check_soft_hyphen=v
end)
local function replaced(list,index,replacement)
if type(list)=="number" then
@@ -16474,27 +16772,30 @@ local function copyduplicates(fontdata)
local resources=fontdata.resources
local duplicates=resources.duplicates
if check_soft_hyphen then
- local ds=descriptions[0xAD]
- if not ds or ds.width==0 then
- if ds then
+ local dh=descriptions[0x2D]
+ if dh then
+ local ds=descriptions[0xAD]
+ if not ds or ds.width~=dh.width then
descriptions[0xAD]=nil
- if trace_unicodes then
- report_unicodes("patching soft hyphen")
+ if ds then
+ if trace_unicodes then
+ report_unicodes("patching soft hyphen")
+ end
+ else
+ if trace_unicodes then
+ report_unicodes("adding soft hyphen")
+ end
end
- else
- if trace_unicodes then
- report_unicodes("adding soft hyphen")
+ if not duplicates then
+ duplicates={}
+ resources.duplicates=duplicates
+ end
+ local d=duplicates[0x2D]
+ if d then
+ d[0xAD]=true
+ else
+ duplicates[0x2D]={ [0xAD]=true }
end
- end
- if not duplicates then
- duplicates={}
- resources.duplicates=duplicates
- end
- local dh=duplicates[0x2D]
- if dh then
- dh[#dh+1]={ [0xAD]=true }
- else
- duplicates[0x2D]={ [0xAD]=true }
end
end
end
@@ -16760,6 +17061,7 @@ local function unifyglyphs(fontdata,usenames)
local resources=fontdata.resources
local zero=glyphs[0]
local zerocode=zero.unicode
+ local nofglyphs=#glyphs
if not zerocode then
zerocode=private
zero.unicode=zerocode
@@ -16774,7 +17076,7 @@ local function unifyglyphs(fontdata,usenames)
indices[0]=zerocode
end
if names then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph=glyphs[index]
local unicode=glyph.unicode
if not unicode then
@@ -16807,7 +17109,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode]=glyph
end
elseif trace_unicodes then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph=glyphs[index]
local unicode=glyph.unicode
if not unicode then
@@ -16848,7 +17150,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode]=glyph
end
else
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph=glyphs[index]
local unicode=glyph.unicode
if not unicode then
@@ -16874,7 +17176,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode]=glyph
end
end
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local math=glyphs[index].math
if math then
local list=math.vparts
@@ -16897,7 +17199,7 @@ local function unifyglyphs(fontdata,usenames)
end
local colorpalettes=resources.colorpalettes
if colorpalettes then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local colors=glyphs[index].colors
if colors then
for i=1,#colors do
@@ -16912,6 +17214,7 @@ local function unifyglyphs(fontdata,usenames)
fontdata.names=names
fontdata.descriptions=descriptions
fontdata.hashmethod=hashmethod
+ fontdata.nofglyphs=nofglyphs
return indices,names
end
local p_crappyname do
@@ -16984,6 +17287,10 @@ function readers.getcomponents(fontdata)
local function traverse(p,k,v)
if k=="ligature" then
collected[v]={ unpack(l) }
+ elseif tonumber(v) then
+ insert(l,k)
+ collected[v]={ unpack(l) }
+ remove(l)
else
insert(l,k)
for k,vv in next,v do
@@ -17144,7 +17451,6 @@ local function tabstr_flat(t)
end
end
local function tabstr_mixed(t)
- local s={}
local n=#t
if n==0 then
return ""
@@ -17158,6 +17464,7 @@ local function tabstr_mixed(t)
return tostring(k)
end
else
+ local s={}
for i=1,n do
local k=t[i]
if k==true then
@@ -18481,6 +18788,85 @@ function readers.compact(data)
end
end
end
+if CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 then
+ local done=0
+ local function condense_1(k,v,t)
+ if type(v)=="table" then
+ local u=false
+ local l=false
+ for k,v in next,v do
+ if k=="ligature" then
+ l=v
+ if u then
+ break
+ end
+ elseif u then
+ break
+ else
+ u=true
+ end
+ end
+ if l and not u then
+ t[k]=l
+ done=done+1
+ end
+ if u then
+ for k,vv in next,v do
+ if k~="ligature" then
+ condense_1(k,vv,v)
+ end
+ end
+ end
+ end
+ end
+ local function condensesteps_1(lookup)
+ done=0
+ if lookup.type=="gsub_ligature" then
+ local steps=lookup.steps
+ if steps then
+ for i=1,#steps do
+ local step=steps[i]
+ local coverage=step.coverage
+ if coverage then
+ for k,v in next,coverage do
+ if condense_1(k,v,coverage) then
+ coverage[k]=v.ligature
+ done=done+1
+ end
+ end
+ end
+ end
+ end
+ end
+ return done
+ end
+ function readers.condense(data)
+ if not data or data.condensed then
+ return
+ else
+ data.condensed=true
+ end
+ local resources=data.resources
+ local condensed=0
+ local function condense(what)
+ local lookups=resources[what]
+ if lookups then
+ for i=1,#lookups do
+ condensed=condensed+condensesteps_1(lookups[i])
+ end
+ elseif trace_optimizations then
+ report_optimizations("no lookups in %a",what)
+ end
+ end
+ condense("sequences")
+ condense("sublookups")
+ if trace_optimizations then
+ if condensed>0 then
+ report_optimizations("%i ligatures condensed",condensed)
+ end
+ end
+ end
+end
local function mergesteps(t,k)
if k=="merged" then
local merged={}
@@ -18585,7 +18971,7 @@ function readers.expand(data)
end
end
end
- local function expandlookups(sequences)
+ local function expandlookups(sequences,whatever)
if sequences then
for i=1,#sequences do
local sequence=sequences[i]
@@ -18658,6 +19044,9 @@ function readers.expand(data)
if lookups then
for k,v in next,lookups do
local lookup=sublookups[v]
+if not lookup and whatever then
+ lookup=whatever[v]
+end
if lookup then
lookups[k]=lookup
if not subtype then
@@ -18716,13 +19105,13 @@ function readers.expand(data)
end
end
expandlookups(sequences)
- expandlookups(sublookups)
+ expandlookups(sublookups,sequences)
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oup”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oup”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otl” 6f701653de713e8aa80d82c7cdf32d75] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otl” 67078f58bc1a612e4646523538a4e3eb] ---
if not modules then modules={} end modules ['font-otl']={
version=1.001,
@@ -18734,7 +19123,7 @@ if not modules then modules={} end modules ['font-otl']={
local lower=string.lower
local type,next,tonumber,tostring,unpack=type,next,tonumber,tostring,unpack
local abs=math.abs
-local derivetable=table.derive
+local derivetable,sortedhash=table.derive,table.sortedhash
local formatters=string.formatters
local setmetatableindex=table.setmetatableindex
local allocate=utilities.storage.allocate
@@ -18750,7 +19139,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_d
local report_otf=logs.reporter("fonts","otf loading")
local fonts=fonts
local otf=fonts.handlers.otf
-otf.version=3.116
+otf.version=3.119
otf.cache=containers.define("fonts","otl",otf.version,true)
otf.svgcache=containers.define("fonts","svg",otf.version,true)
otf.pngcache=containers.define("fonts","png",otf.version,true)
@@ -18885,6 +19274,9 @@ function otf.load(filename,sub,instance)
if cleanup==0 then
checkmemory(used,threshold,tracememory)
end
+ if context then
+ otfreaders.condense(data)
+ end
otfreaders.pack(data)
report_otf("loading done")
report_otf("saving %a in cache",filename)
@@ -18955,7 +19347,7 @@ local function copytotfm(data,cache_id)
local properties=derivetable(data.properties)
local descriptions=derivetable(data.descriptions)
local goodies=derivetable(data.goodies)
- local characters={}
+ local characters={}
local parameters={}
local mathparameters={}
local resources=data.resources
@@ -19123,7 +19515,25 @@ local function copytotfm(data,cache_id)
properties.name=filename or fullname
properties.subfont=subfont
if not CONTEXTLMTXMODE or CONTEXTLMTXMODE==0 then
- properties.encodingbytes=2
+ properties.encodingbytes=2
+elseif CONTEXTLMTXMODE then
+ local duplicates=resources and resources.duplicates
+ if duplicates then
+ local maxindex=data.nofglyphs or metadata.nofglyphs
+ if maxindex then
+ for u,d in sortedhash(duplicates) do
+ local du=descriptions[u]
+ if du then
+ for uu in sortedhash(d) do
+ maxindex=maxindex+1
+ descriptions[uu].dupindex=du.index
+ descriptions[uu].index=maxindex
+ end
+ else
+ end
+ end
+ end
+ end
end
properties.private=properties.private or data.private or privateoffset
return {
@@ -19429,10 +19839,10 @@ otf.coverup={
end
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otl”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otl”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oto” 2b1d6bc63b2ebf8f2655a15e1cda6541] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oto” 9febc4d75d17a543cd73fb17918f7307] ---
if not modules then modules={} end modules ['font-oto']={
version=1.001,
@@ -19492,7 +19902,7 @@ local function gref(descriptions,n)
end
end
local function cref(feature,sequence)
- return formatters["feature %a, type %a, chain lookup %a"](feature,sequence.type,sequence.name)
+ return formatters["feature %a, type %a, (chain) lookup %a"](feature,sequence.type,sequence.name)
end
local function report_substitution(feature,sequence,descriptions,unicode,substitution)
if unicode==substitution then
@@ -19553,49 +19963,60 @@ end
local function makefake(tfmdata,name,present)
local private=getprivate(tfmdata)
local character={ intermediate=true,ligatures={} }
- resources.unicodes[name]=private
+ tfmdata.resources.unicodes[name]=private
tfmdata.characters[private]=character
tfmdata.descriptions[private]={ name=name }
present[name]=private
return character
end
local function make_1(present,tree,name)
- for k,v in next,tree do
- if k=="ligature" then
- present[name]=v
+ if tonumber(tree) then
+ present[name]=v
+ else
+ for k,v in next,tree do
+ if k=="ligature" then
+ present[name]=v
+ else
+ make_1(present,v,name.."_"..k)
+ end
+ end
+ end
+end
+local function make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,v)
+ local character=characters[preceding]
+ if not character then
+ if trace_baseinit then
+ report_prepare("weird ligature in lookup %a, current %C, preceding %C",sequence.name,v,preceding)
+ end
+ character=makefake(tfmdata,name,present)
+ end
+ local ligatures=character.ligatures
+ if ligatures then
+ ligatures[unicode]={ char=v }
+ else
+ character.ligatures={ [unicode]={ char=v } }
+ end
+ if done then
+ local d=done[name]
+ if not d then
+ done[name]={ "dummy",v }
else
- make_1(present,v,name.."_"..k)
+ d[#d+1]=v
end
end
end
local function make_2(present,tfmdata,characters,tree,name,preceding,unicode,done)
- for k,v in next,tree do
- if k=="ligature" then
- local character=characters[preceding]
- if not character then
- if trace_baseinit then
- report_prepare("weird ligature in lookup %a, current %C, preceding %C",sequence.name,v,preceding)
- end
- character=makefake(tfmdata,name,present)
- end
- local ligatures=character.ligatures
- if ligatures then
- ligatures[unicode]={ char=v }
+ if tonumber(tree) then
+ make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,tree)
+ else
+ for k,v in next,tree do
+ if k=="ligature" then
+ make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,v)
else
- character.ligatures={ [unicode]={ char=v } }
- end
- if done then
- local d=done[name]
- if not d then
- done[name]={ "dummy",v }
- else
- d[#d+1]=v
- end
+ local code=present[name] or unicode
+ local name=name.."_"..k
+ make_2(present,tfmdata,characters,v,name,code,k,done)
end
- else
- local code=present[name] or unicode
- local name=name.."_"..k
- make_2(present,tfmdata,characters,v,name,code,k,done)
end
end
end
@@ -19890,10 +20311,10 @@ registerotffeature {
}
otf.basemodeinitializer=featuresinitializer
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-oto”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-oto”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otj” b2c165bd6771a57633f992d07384b739] ---
if not modules then modules={} end modules ['font-otj']={
version=1.001,
@@ -21386,10 +21807,10 @@ function injections.handler(head,where)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otj”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otj”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ota” 2bb12d708e35bc05443eba791e2554e7] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ota” 2bb12d708e35bc05443eba791e2554e7] ---
if not modules then modules={} end modules ['font-ota']={
version=1.001,
@@ -21883,10 +22304,10 @@ directives.register("otf.analyze.useunicodemarks",function(v)
analyzers.useunicodemarks=v
end)
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ota”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ota”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ots” cb106ae882e8548051f00aac8b7fa862] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ots” 55316a605d11a1d07d38795224c90a63] ---
if not modules then modules={} end modules ['font-ots']={
version=1.001,
@@ -21928,6 +22349,7 @@ local trace_compruns=false registertracker("otf.compruns",function(v) trace_com
local trace_testruns=false registertracker("otf.testruns",function(v) trace_testruns=v end)
local forcediscretionaries=false
local forcepairadvance=false
+local repeatablemultiples=context or false
directives.register("otf.forcediscretionaries",function(v)
forcediscretionaries=v
end)
@@ -22306,15 +22728,47 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop)
insertnodeafter(head,start,n)
start=n
end
- if what==true then
- elseif what>1 then
- local m=multiple[nofmultiples]
- for i=2,what do
- local n=copy_node(start)
- resetinjection(n)
- setchar(n,m)
- insertnodeafter(head,start,n)
- start=n
+ if what~=true and repeatablemultiples then
+ local kind=type(what)
+ local m,f,l
+ if kind=="string" then
+ local what,n=string.match(what,"^repeat(.-)[:=](%d+)$")
+ if what=="middle" then
+ m=tonumber(n)
+ elseif what=="first" then
+ f=tonumber(n)
+ elseif what=="last" then
+ l=tonumber(n)
+ end
+ elseif kind=="table" then
+ m=what.middle
+ f=what.first
+ l=what.last
+ end
+ if f or m or l then
+ if m and m>1 and nofmultiples==3 then
+ local middle=getnext(first)
+ for i=2,m do
+ local n=copynode(middle)
+ resetinjection(n)
+ insertnodeafter(head,first,n)
+ end
+ end
+ if f and f>1 then
+ for i=2,f do
+ local n=copynode(first)
+ resetinjection(n)
+ insertnodeafter(head,first,n)
+ end
+ end
+ if l and l>1 then
+ for i=2,l do
+ local n=copynode(start)
+ resetinjection(n)
+ insertnodeafter(head,start,n)
+ start=n
+ end
+ end
end
end
end
@@ -22402,7 +22856,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
while current do
local char=ischar(current,currentfont)
if char then
- local lg=ligature[char]
+ local lg=not tonumber(ligature) and ligature[char]
if lg then
stop=current
ligature=lg
@@ -22415,14 +22869,14 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
end
end
if stop then
- local lig=ligature.ligature
- if lig then
+ local ligature=tonumber(ligature) or ligature.ligature
+ if ligature then
if trace_ligatures then
local stopchar=getchar(stop)
- head,start=markstoligature(head,start,stop,lig)
+ head,start=markstoligature(head,start,stop,ligature)
logprocess("%s: replacing %s upto %s by ligature %s case 1",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(getchar(start)))
else
- head,start=markstoligature(head,start,stop,lig)
+ head,start=markstoligature(head,start,stop,ligature)
end
return head,start,true,false
else
@@ -22437,7 +22891,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
if skiphash and skiphash[char] then
current=getnext(current)
else
- local lg=ligature[char]
+ local lg=not tonumber(ligature) and ligature[char]
if lg then
if marks[char] then
hasmarks=true
@@ -22463,20 +22917,20 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
local match
if replace then
local char=ischar(replace,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match=true
end
end
if not match and pre then
local char=ischar(pre,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match=true
end
end
if not match and not pre or not replace then
local n=getnext(discfound)
local char=ischar(n,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match=true
end
end
@@ -22519,21 +22973,21 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
return head,start,true,true
end
end
- local lig=ligature.ligature
- if lig then
+ local ligature=tonumber(ligature) or ligature.ligature
+ if ligature then
if stop then
if trace_ligatures then
local stopchar=getchar(stop)
- head,start=toligature(head,start,stop,lig,dataset,sequence,skiphash,false,hasmarks)
- logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(lig))
+ head,start=toligature(head,start,stop,ligature,dataset,sequence,skiphash,false,hasmarks)
+ logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(ligature))
else
- head,start=toligature(head,start,stop,lig,dataset,sequence,skiphash,false,hasmarks)
+ head,start=toligature(head,start,stop,ligature,dataset,sequence,skiphash,false,hasmarks)
end
else
resetinjection(start)
- setchar(start,lig)
+ setchar(start,ligature)
if trace_ligatures then
- logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(dataset,sequence),gref(startchar),gref(lig))
+ logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(dataset,sequence),gref(startchar),gref(ligature))
end
end
return head,start,true,false
@@ -22728,7 +23182,7 @@ function handlers.gpos_mark2ligature(head,start,dataset,sequence,markanchors,rlm
end
end
elseif trace_bugs then
- onetimemessage(currentfont,basechar,"no base anchors",report_fonts)
+ onetimemessage(currentfont,basechar,"no base anchors")
end
elseif trace_bugs then
logwarning("%s: prev node is no char, case %i",pref(dataset,sequence),1)
@@ -23007,7 +23461,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
if skiphash and skiphash[schar] then
current=getnext(current)
else
- local lg=ligatures[schar]
+ local lg=not tonumber(ligatures) and ligatures[schar]
if lg then
ligatures=lg
last=current
@@ -23026,7 +23480,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
end
end
end
- local ligature=ligatures.ligature
+ local ligature=tonumber(ligatures) or ligatures.ligature
if ligature then
if chainindex then
stop=last
@@ -23368,7 +23822,7 @@ function chainprocs.gpos_cursive(head,start,stop,dataset,sequence,currentlookup,
end
end
elseif trace_bugs then
- onetimemessage(currentfont,startchar,"no entry anchors",report_fonts)
+ onetimemessage(currentfont,startchar,"no entry anchors")
end
break
end
@@ -23438,7 +23892,7 @@ local function chainrun(head,start,last,dataset,sequence,rlmode,skiphash,ck)
local chainproc=chainprocs[chainkind]
if chainproc then
local ok
- head,start,ok=chainproc(head,start,last,dataset,sequence,chainstep,rlmode,skiphash)
+ head,start,ok=chainproc(head,start,last,dataset,sequence,chainstep,rlmode,skiphash,1)
if ok then
done=true
end
@@ -23855,6 +24309,7 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
local ck=contexts[k]
local seq=ck[3]
local f=ck[4]
+local last=start
if not startchar or not seq[f][startchar] then
goto next
end
@@ -23863,7 +24318,6 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
else
local l=ck[5]
local current=start
- local last=start
if l>f then
local discfound
local n=f+1
@@ -24647,7 +25101,7 @@ local function t_run_single(start,stop,font,attr,lookupcache)
while s do
local char=ischar(s,font)
if char then
- local lg=lookupmatch[char]
+ local lg=not tonumber(lookupmatch) and lookupmatch[char]
if lg then
if sstop then
d=1
@@ -24677,7 +25131,7 @@ local function t_run_single(start,stop,font,attr,lookupcache)
break
end
end
- if l and l.ligature then
+ if l and (tonumber(l) or l.ligature) then
lastd=d
end
else
@@ -24802,7 +25256,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps)
while s do
local char=ischar(s)
if char then
- local lg=lookupmatch[char]
+ local lg=not tonumber(lookupmatch) and lookupmatch[char]
if lg then
if sstop then
d=1
@@ -24832,7 +25286,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps)
break
end
end
- if l and l.ligature then
+ if l and (tonumber(l) or l.ligature) then
lastd=d
end
end
@@ -25513,10 +25967,10 @@ registerotffeature {
},
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ots”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ots”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-osd” 0e051ca0d3b1a8e0604ced27e753fde8] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-osd” a67b6fb465e7a8b9ecf7c6bbf8dfda03] ---
if not modules then modules={} end modules ['font-osd']={
version=1.001,
@@ -25525,8 +25979,10 @@ if not modules then modules={} end modules ['font-osd']={
copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local insert,imerge,copy,tohash=table.insert,table.imerge,table.copy,table.tohash
-local next,type=next,type
+local insert,remove,imerge,copy,tohash=table.insert,table.remove,table.imerge,table.copy,table.tohash
+local next,type,rawget=next,type,rawget
+local formatters=string.formatters
+local settings_to_hash=utilities.parsers.settings_to_hash
local report=logs.reporter("otf","devanagari")
fonts=fonts or {}
fonts.analyzers=fonts.analyzers or {}
@@ -25536,6 +25992,7 @@ local handlers=otf.handlers
local methods=fonts.analyzers.methods
local otffeatures=fonts.constructors.features.otf
local registerotffeature=otffeatures.register
+local trace_steps=false
local nuts=nodes.nuts
local getnext=nuts.getnext
local getprev=nuts.getprev
@@ -25561,7 +26018,8 @@ local flushnode=nuts.flushnode
local copyinjection=nodes.injections.copy
local unsetvalue=attributes.unsetvalue
local fontdata=fonts.hashes.identifiers
-local a_syllabe=attributes.private('syllabe')
+local a_syllabe="syllable"
+local a_reordered="reordered"
local dotted_circle=0x25CC
local c_nbsp=0x00A0
local c_zwnj=0x200C
@@ -25581,8 +26039,11 @@ replace_all_nbsp=function(head)
return replace_all_nbsp(head)
end
local processcharacters=nil
+local logprocess=nil
if context then
local fontprocesses=fonts.hashes.processes
+ local tracers=nodes.tracers
+ local registermessage=(tracers and tracers.steppers.message) or function() end
function processcharacters(head,font)
local processors=fontprocesses[font]
for i=1,#processors do
@@ -25590,6 +26051,16 @@ if context then
end
return head
end
+ trackers.register("otf.steps",function(v) trace_steps=v end)
+ logprocess=function(str)
+ if trace_steps then
+ registermessage("devanagari %s",str)
+ if trace_steps=="silent" then
+ return
+ end
+ end
+ report(str)
+ end
else
function processcharacters(head,font)
local processors=fontdata[font].shared.processes
@@ -25598,6 +26069,8 @@ else
end
return head
end
+ logprocess=function(str)
+ end
end
local indicgroups=characters and characters.indicgroups
if not indicgroups and characters then
@@ -25707,7 +26180,7 @@ local before_subscript=indicgroups.before_subscript
local after_subscript=indicgroups.after_subscript
local before_main=indicgroups.before_main
local after_main=indicgroups.after_main
-local mark_four=table.merged (
+local mark_pre_above_below_post=table.merged (
pre_mark,
above_mark,
below_mark,
@@ -25718,6 +26191,11 @@ local mark_above_below_post=table.merged (
below_mark,
post_mark
)
+local devanagarihash=table.setmetatableindex(function(t,k)
+ local v=fontdata[k].resources.devanagari or false
+ t[k]=v
+ return v
+end)
local zw_char={
[c_zwnj]=true,
[c_zwj ]=true,
@@ -25838,7 +26316,7 @@ local function initializedevanagi(tfmdata)
local resources=tfmdata.resources
local devanagari=resources.devanagari
if not devanagari then
- report("adding devanagari features to font")
+ report("adding features to font")
local gsubfeatures=resources.features.gsub
local sequences=resources.sequences
local sharedfeatures=tfmdata.shared.features
@@ -25865,7 +26343,7 @@ local function initializedevanagi(tfmdata)
for k,v in next,pre_mark do
local locl=coverage[k]
if locl then
- if #locl>0 then
+ if #locl>0 then
for j=1,#locl do
local ck=locl[j]
local f=ck[4]
@@ -25886,6 +26364,7 @@ local function initializedevanagi(tfmdata)
end
end
end
+ else
end
if locl then
reorder_matras.steps[1].coverage[locl]=true
@@ -25898,7 +26377,7 @@ local function initializedevanagi(tfmdata)
if basic_shaping_forms[k] then
lastmatch=lastmatch+1
if s~=lastmatch then
- table.insert(sequences,lastmatch,table.remove(sequences,s))
+ insert(sequences,lastmatch,remove(sequences,s))
end
end
end
@@ -25916,9 +26395,7 @@ local function initializedevanagi(tfmdata)
local vatucache={}
local pstfcache={}
local seqsubset={}
- local rephstep={
- coverage={}
- }
+ local rephstep={ coverage={} }
local devanagari={
reph=false,
vattu=false,
@@ -25943,7 +26420,7 @@ local function initializedevanagi(tfmdata)
local has_pstf=features.pstf
if has_rphf and has_rphf[script] then
devanagari.reph=true
- elseif (has_blwf and has_blwf[script] ) or (has_vatu and has_vatu[script] ) then
+ elseif (has_blwf and has_blwf[script]) or (has_vatu and has_vatu[script]) then
devanagari.vattu=true
for i=1,nofsteps do
local step=steps[i]
@@ -25951,10 +26428,8 @@ local function initializedevanagi(tfmdata)
if coverage then
for k,v in next,coverage do
for h,w in next,halant do
- if v[h] then
- if not blwfcache[k] then
- blwfcache[k]=v
- end
+ if v[h] and not blwfcache[k] then
+ blwfcache[k]=v
end
if has_vatu and has_vatu[script] and not vatucache[k] then
vatucache[k]=v
@@ -25977,33 +26452,37 @@ local function initializedevanagi(tfmdata)
local r=coverage[k]
if r then
local found=false
- if #r>0 then
+ if #r>0 then
for j=1,#r do
local ck=r[j]
local f=ck[4]
local chainlookups=ck[6]
- if chainlookups and chainlookups[f] then
+ if chainlookups then
local chainlookup=chainlookups[f]
- for j=1,#chainlookup do
- local chainstep=chainlookup[j]
- local steps=chainstep.steps
- local nofsteps=chainstep.nofsteps
- for i=1,nofsteps do
- local step=steps[i]
- local coverage=step.coverage
- if coverage then
- local h=coverage[k]
- if h then
- for k,v in next,h do
- found=v and v.ligature
+ if chainlookup then
+ for j=1,#chainlookup do
+ local chainstep=chainlookup[j]
+ local steps=chainstep.steps
+ local nofsteps=chainstep.nofsteps
+ for i=1,nofsteps do
+ local step=steps[i]
+ local coverage=step.coverage
+ if coverage then
+ local h=coverage[k]
+ if h then
+ for k,v in next,h do
+ if v then
+ found=tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found]=true
+ break
+ end
+ end
+ end
if found then
- pre_base_reordering_consonants[found]=true
break
end
end
- if found then
- break
- end
end
end
end
@@ -26012,10 +26491,12 @@ local function initializedevanagi(tfmdata)
end
else
for k,v in next,r do
- found=v and v.ligature
- if found then
- pre_base_reordering_consonants[found]=true
- break
+ if v then
+ found=tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found]=true
+ break
+ end
end
end
end
@@ -26033,14 +26514,15 @@ local function initializedevanagi(tfmdata)
local step=steps[i]
local coverage=step.coverage
if coverage then
- local reph,rephbase=false,false
+ local reph=false
+ local base=false
if kind=="rphf" then
for k,v in next,ra do
local r=coverage[k]
if r then
- rephbase=k
+ base=k
local h=false
- if #r>0 then
+ if #r>0 then
for j=1,#r do
local ck=r[j]
local f=ck[4]
@@ -26060,7 +26542,7 @@ local function initializedevanagi(tfmdata)
for k,v in next,halant do
local h=r[k]
if h then
- reph=h.ligature or false
+ reph=tonumber(h) or h.ligature or false
break
end
end
@@ -26077,7 +26559,7 @@ local function initializedevanagi(tfmdata)
for k,v in next,halant do
local h=r[k]
if h then
- reph=h.ligature or false
+ reph=tonumber(h) or h.ligature or false
break
end
end
@@ -26088,7 +26570,7 @@ local function initializedevanagi(tfmdata)
end
end
end
- seqsubset[#seqsubset+1]={ kind,coverage,reph,rephbase }
+ seqsubset[#seqsubset+1]={ kind,coverage,reph,base }
end
end
end
@@ -26103,7 +26585,7 @@ local function initializedevanagi(tfmdata)
local h=coverage[k]
if h then
local found=false
- if #h>0 then
+ if #h>0 then
for j=1,#h do
local ck=h[j]
local f=ck[4]
@@ -26121,10 +26603,12 @@ local function initializedevanagi(tfmdata)
local h=coverage[k]
if h then
for k,v in next,h do
- found=v and v.ligature
- if found then
- pre_base_reordering_consonants[found]=true
- break
+ if v then
+ found=tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found]=true
+ break
+ end
end
end
if found then
@@ -26138,7 +26622,7 @@ local function initializedevanagi(tfmdata)
end
else
for k,v in next,h do
- found=v and v.ligature
+ found=v and (tonumber(v) or v.ligature)
if found then
pre_base_reordering_consonants[found]=true
break
@@ -26164,9 +26648,6 @@ local function initializedevanagi(tfmdata)
sharedfeatures["dv03"]=true
sharedfeatures["dv04"]=true
end
- if script=="mlym" or script=="taml" then
- devanagari.left_matra_before_base=true
- end
end
end
end
@@ -26178,6 +26659,44 @@ registerotffeature {
node=initializedevanagi,
},
}
+local function initializeconjuncts(tfmdata,value)
+ if value then
+ local resources=tfmdata.resources
+ local devanagari=resources.devanagari
+ if devanagari then
+ local conjuncts="auto"
+ local movematra="auto"
+ if type(value)=="string" and value~="auto" then
+ value=settings_to_hash(value)
+ conjuncts=rawget(value,"conjuncts") or conjuncts
+ movematra=rawget(value,"movematra") or movematra
+ end
+ if conjuncts=="auto" then
+ conjuncts="mixed"
+ end
+ if movematra=="auto" and
+ script=="mlym" or
+ script=="taml" then
+ movematra="leftbeforebase"
+ else
+ movematra="default"
+ end
+ devanagari.conjuncts=conjuncts
+ devanagari.movematra=movematra
+ if trace_steps then
+ report("conjuncts %a, movematra %a",conjuncts,movematra)
+ end
+ end
+ end
+end
+registerotffeature {
+ name="indic",
+ description="control indic",
+ default="auto",
+ initializers={
+ node=initializeconjuncts,
+ },
+}
local show_syntax_errors=false
local function inject_syntax_error(head,current,char)
local signal=copy_node(current)
@@ -26223,36 +26742,40 @@ local function initialize_one(font,attr)
end
local function contextchain(contexts,n)
local char=getchar(n)
- for k=1,#contexts do
- local ck=contexts[k]
- local seq=ck[3]
- local f=ck[4]
- local l=ck[5]
- if (l-f)==1 and seq[f+1][char] then
- local ok=true
- local c=n
- for i=l+1,#seq do
- c=getnext(c)
- if not c or not seq[i][ischar(c)] then
- ok=false
- break
- end
- end
- if ok then
- c=getprev(n)
- for i=1,f-1 do
- c=getprev(c)
- if not c or not seq[f-i][ischar(c)] then
+ if not contexts.n then
+ return contexts[char]
+ else
+ for k=1,#contexts do
+ local ck=contexts[k]
+ local seq=ck[3]
+ local f=ck[4]
+ local l=ck[5]
+ if (l-f)==1 and seq[f+1][char] then
+ local ok=true
+ local c=n
+ for i=l+1,#seq do
+ c=getnext(c)
+ if not c or not seq[i][ischar(c)] then
ok=false
+ break
end
end
- end
- if ok then
- return true
+ if ok then
+ c=getprev(n)
+ for i=1,f-1 do
+ c=getprev(c)
+ if not c or not seq[f-i][ischar(c)] then
+ ok=false
+ end
+ end
+ end
+ if ok then
+ return true
+ end
end
end
+ return false
end
- return false
end
local function order_matras(c)
local cn=getnext(c)
@@ -26281,9 +26804,9 @@ local function order_matras(c)
char=getchar(cn)
end
end
+local swapped=table.swapped(states)
local function reorder_one(head,start,stop,font,attr,nbspaces)
- local reph,vattu,blwfcache,vatucache,pstfcache=initialize_one(font,attr)
- local devanagari=fontdata[font].resources.devanagari
+ local reph,vattu,blwfcache,vatucache,pstfcache=initialize_one(font,attr)
local current=start
local n=getnext(start)
local base=nil
@@ -26306,6 +26829,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop=getprev(stop)
head=remove_node(head,current)
flushnode(current)
+ if trace_steps then
+ logprocess("reorder one, remove nbsp")
+ end
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -26349,6 +26875,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop=current
end
end
+ if trace_steps then
+ logprocess("reorder one, handle nbsp")
+ end
end
end
end
@@ -26403,6 +26932,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if lastcons==stop then
stop=n
end
+ if trace_steps then
+ logprocess("reorder one, handle halant")
+ end
end
end
n=getnext(start)
@@ -26427,6 +26959,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if matra==stop then
stop=n
end
+ if trace_steps then
+ logprocess("reorder one, handle matra")
+ end
end
local current=start
while current~=stop do
@@ -26465,14 +27000,19 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
ch=getchar(n)
end
local tpm=twopart_mark[ch]
- while tpm do
- local extra=copy_node(n)
- copyinjection(extra,n)
- ch=tpm[1]
- setchar(n,ch)
- setchar(extra,tpm[2])
- head=insertnodeafter(head,current,extra)
- tpm=twopart_mark[ch]
+ if tpm then
+ while tpm do
+ local extra=copy_node(n)
+ copyinjection(extra,n)
+ ch=tpm[1]
+ setchar(n,ch)
+ setchar(extra,tpm[2])
+ head=insertnodeafter(head,current,extra)
+ tpm=twopart_mark[ch]
+ end
+ if trace_steps then
+ logprocess("reorder one, handle mark")
+ end
end
while c~=stop and dependent_vowel[ch] do
c=n
@@ -26495,9 +27035,10 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
local bp=getprev(firstcons)
local cn=getnext(current)
local last=getnext(c)
+ local done=false
while cn~=last do
if pre_mark[getchar(cn)] then
- if devanagari.left_matra_before_base then
+ if devanagarihash[font].movematra=="leftbeforebase" then
local prev,next=getboth(cn)
setlink(prev,next)
if cn==stop then
@@ -26534,6 +27075,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
cn=next
end
+ done=true
elseif current~=base and dependent_vowel[getchar(cn)] then
local prev,next=getboth(cn)
if next then
@@ -26546,6 +27088,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setlink(b,cn,getnext(b))
order_matras(cn)
cn=next
+ done=true
elseif current==base and dependent_vowel[getchar(cn)] then
local cnn=getnext(cn)
order_matras(cn)
@@ -26559,9 +27102,14 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
allreordered=c==stop
current=getnext(c)
+ if done and trace_steps then
+ logprocess("reorder one, matra")
+ end
end
if reph or vattu then
- local current,cns=start,nil
+ local current=start
+ local cns=nil
+ local done=false
while current~=stop do
local c=current
local n=getnext(current)
@@ -26592,6 +27140,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
local next=getnext(b)
setlink(c,next)
setlink(b,current)
+ done=true
end
elseif cns and getnext(cns)~=current then
local cp=getprev(current)
@@ -26599,6 +27148,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setlink(cp,n)
setlink(cns,current)
setlink(c,cnsn)
+ done=true
if c==stop then
stop=cp
break
@@ -26638,11 +27188,14 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
current=getnext(current)
end
+ if done and trace_steps then
+ logprocess("reorder one, handle reph and vata")
+ end
end
if getchar(base)==c_nbsp then
nbspaces=nbspaces-1
if base==stop then
- stop=getprev(stop)
+ stop=getprev(stop)
end
head=remove_node(head,base)
flushnode(base)
@@ -26670,6 +27223,9 @@ function handlers.devanagari_reorder_matras(head,start)
setlink(start,next)
setlink(current,start)
start=startnext
+ if trace_steps then
+ logprocess("reorder matra")
+ end
break
end
else
@@ -26698,6 +27254,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char=ischar(current,startfont)
if char and getprop(current,a_syllabe)==startattr then
if halant[char] then
+ if trace_steps then
+ logprocess("reorder reph, handling halant")
+ end
local next=getnext(current)
if next then
local nextchar=ischar(next,startfont)
@@ -26728,6 +27287,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char=ischar(current,startfont)
if char and getprop(current,a_syllabe)==startattr then
if consonant[char] and not getstate(current,s_pref) then
+ if trace_steps then
+ logprocess("reorder reph, handling consonant")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(current,start)
@@ -26752,6 +27314,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char=ischar(current,startfont)
if char and getprop(current,a_syllabe)==startattr then
if getstate(current,s_pstf) then
+ if trace_steps then
+ logprocess("reorder reph, before postscript, post base")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(getprev(current),start)
@@ -26759,12 +27324,15 @@ function handlers.devanagari_reorder_reph(head,start)
start=startnext
startattr=getprop(start,a_syllabe)
break
- elseif not c and (vowel_modifier[char] or stress_tone_mark[char] ) then
+ elseif not c and (vowel_modifier[char] or stress_tone_mark[char]) then
c=current
end
current=getnext(current)
else
if c then
+ if trace_steps then
+ logprocess("reorder reph, before postscript")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(getprev(c),start)
@@ -26787,7 +27355,13 @@ function handlers.devanagari_reorder_reph(head,start)
local state=getstate(current)
if before_subscript[rephbase] and (state==s_blwf or state==s_pstf) then
c=current
+ if trace_steps then
+ logprocess("reorder reph, before subscript")
+ end
elseif after_subscript[rephbase] and (state==s_pstf) then
+ if trace_steps then
+ logprocess("reorder reph, after subscript")
+ end
c=current
end
current=getnext(current)
@@ -26818,6 +27392,9 @@ function handlers.devanagari_reorder_reph(head,start)
end
end
if start~=current then
+ if trace_steps then
+ logprocess("reorder reph, to end")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(start,getnext(current))
@@ -26827,9 +27404,8 @@ function handlers.devanagari_reorder_reph(head,start)
end
return head,start,true
end
-local reordered_pre_base_reordering_consonants={}
function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
- if reordered_pre_base_reordering_consonants[start] then
+ if getprop(start,a_reordered) then
return head,start,true
end
local current=start
@@ -26840,6 +27416,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
local next=getnext(current)
if char and getprop(current,a_syllabe)==startattr then
if halant[char] then
+ if trace_steps then
+ logprocess("reorder pre base consonants, handle halant")
+ end
if next then
local char=ischar(next,startfont)
if char and zw_char[char] and getprop(next,a_syllabe)==startattr then
@@ -26851,7 +27430,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
head=remove_node(head,start)
setlink(start,next)
setlink(current,start)
- reordered_pre_base_reordering_consonants[start]=true
+ setprop(start,"reordered",true)
start=startnext
return head,start,true
end
@@ -26865,6 +27444,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
while current and getprop(current,a_syllabe)==startattr do
local char=ischar(current)
if (not dependent_vowel[char] and (not getstate(current) or getstate(current,s_init))) then
+ if trace_steps then
+ logprocess("reorder pre base consonants, handle vowel or initial")
+ end
startnext=getnext(start)
head=remove_node(head,start)
if current==head then
@@ -26874,7 +27456,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
setlink(getprev(current),start)
setlink(start,current)
end
- reordered_pre_base_reordering_consonants[start]=true
+ setprop(start,"reordered",true)
start=startnext
break
end
@@ -26906,6 +27488,9 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme
head=stop
end
flushlist(start)
+ if trace_steps then
+ logprocess("remove joiners")
+ end
return head,stop,true
end
local function initialize_two(font,attr)
@@ -26922,15 +27507,17 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local basepos=nil
local subpos=nil
local postpos=nil
- reorderreph.coverage={}
- rephbase[font]={}
+ reorderreph.coverage={}
+ rephbase[font]={}
for i=1,#seqsubset do
local subset=seqsubset[i]
local kind=subset[1]
local lookupcache=subset[2]
if kind=="rphf" then
- reorderreph.coverage[subset[3]]=true
- rephbase[font][subset[3]]=subset[4]
+ local reph=subset[3]
+ local base=subset[4]
+ reorderreph.coverage[reph]=true
+ rephbase[font][reph]=base
local current=start
local last=getnext(stop)
while current~=last do
@@ -26939,15 +27526,15 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
+ if contextchain(found,next) then
local afternext=next~=stop and getnext(next)
if afternext and zw_char[getchar(afternext)] then
current=afternext
elseif current==start then
setstate(current,s_rphf)
- current=next
+ current=next
else
- current=next
+ current=next
end
end
end
@@ -26963,8 +27550,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
- if (not getstate(current) and not getstate(next)) then
+ if contextchain(found,next) then
+ if not getstate(current) and not getstate(next) then
setstate(current,s_pref)
setstate(next,s_pref)
current=next
@@ -26983,10 +27570,10 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
+ if contextchain(found,next) then
if next~=stop and getchar(getnext(next))==c_zwnj then
current=next
- elseif (not getstate(current)) then
+ elseif not getstate(current) then
setstate(current,s_half)
if not halfpos then
halfpos=current
@@ -27007,8 +27594,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
- if (not getstate(current) and not getstate(next)) then
+ if contextchain(found,next) then
+ if not getstate(current) and not getstate(next) then
setstate(current,s_blwf)
setstate(next,s_blwf)
current=next
@@ -27028,8 +27615,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
- if (not getstate(current) and not getstate(next)) then
+ if contextchain(found,next) then
+ if not getstate(current) and not getstate(next) then
setstate(current,s_pstf)
setstate(next,s_pstf)
current=next
@@ -27051,6 +27638,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
stop=getprev(stop)
head=remove_node(head,current)
flushnode(current)
+ if trace_steps then
+ logprocess("reorder two, remove nbsp")
+ end
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -27091,6 +27681,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
end
end
+ if trace_steps then
+ logprocess("reorder two, handle nbsp")
+ end
end
else
local last=getnext(stop)
@@ -27120,7 +27713,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
return head,stop,nbspaces
else
if getstate(base) then
- setstate(base,unsetvalue)
+ setstate(base,unsetvalue)
end
basepos=base
end
@@ -27141,14 +27734,19 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local target=nil
local cn=getnext(current)
local tpm=twopart_mark[char]
- while tpm do
- local extra=copy_node(current)
- copyinjection(extra,current)
- char=tpm[1]
- setchar(current,char)
- setchar(extra,tpm[2])
- head=insertnodeafter(head,current,extra)
- tpm=twopart_mark[char]
+ if tpm then
+ while tpm do
+ local extra=copy_node(current)
+ copyinjection(extra,current)
+ char=tpm[1]
+ setchar(current,char)
+ setchar(extra,tpm[2])
+ head=insertnodeafter(head,current,extra)
+ tpm=twopart_mark[char]
+ end
+ if tpm and trace_steps then
+ logprocess("reorder two, handle matra")
+ end
end
if not moved[current] and dependent_vowel[char] then
if pre_mark[char] then
@@ -27189,6 +27787,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
setlink(getprev(pos),current)
setlink(current,pos)
+ if trace_steps then
+ logprocess("reorder two, handle pre mark")
+ end
elseif above_mark[char] then
target=basepos
if subpos==basepos then
@@ -27228,6 +27829,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
setlink(current,getnext(target))
setlink(target,current)
+ if trace_steps then
+ logprocess("reorder two, handle mark")
+ end
end
end
end
@@ -27255,6 +27859,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
stop=prev
end
cn=next
+ if trace_steps then
+ logprocess("reorder two, handle halant and ra")
+ end
end
end
end
@@ -27287,6 +27894,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
setprev(nextnextnext,current)
end
setlink(nextnext,c)
+ if trace_steps then
+ logprocess("reorder two, handle nukta")
+ end
end
if stop==current then break end
current=getnext(current)
@@ -27298,6 +27908,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
nbspaces=nbspaces-1
head=remove_node(head,base)
flushnode(base)
+ if trace_steps then
+ logprocess("reorder two, handle nbsp")
+ end
end
return head,stop,nbspaces
end
@@ -27385,21 +27998,42 @@ local function analyze_next_chars_one(c,font,variant)
local already_below_mark
local already_post_mark
while dependent_vowel[v] do
- local vowels=twopart_mark[v] or { v }
- for k,v in next,vowels do
- if pre_mark[v] and not already_pre_mark then
- already_pre_mark=true
- elseif above_mark[v] and not already_above_mark then
- already_above_mark=true
- elseif below_mark[v] and not already_below_mark then
- already_below_mark=true
- elseif post_mark[v] and not already_post_mark then
- already_post_mark=true
- else
- return c
- end
- end
- c=getnext(c)
+ local vowels=twopart_mark[v]
+ if vowels then
+ for k=1,#vowels do
+ local v=vowels[k]
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ already_post_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
+ else
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ if devanagarihash[font].conjuncts=="mixed" then
+ return c
+ else
+ already_post_mark=true
+ end
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
+ c=n
n=getnext(c)
if not n then
return c
@@ -27410,7 +28044,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if nukta[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -27421,7 +28055,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if halant[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -27432,7 +28066,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if vowel_modifier[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -27443,7 +28077,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if stress_tone_mark[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -27460,11 +28094,12 @@ local function analyze_next_chars_one(c,font,variant)
end
end
local function analyze_next_chars_two(c,font)
- local n=getnext(c)
+ local n,v
+ n=getnext(c)
if not n then
return c
end
- local v=ischar(n,font)
+ v=ischar(n,font)
if v and nukta[v] then
c=n
end
@@ -27523,11 +28158,11 @@ local function analyze_next_chars_two(c,font)
if not c then
return
end
- local n=getnext(c)
+ n=getnext(c)
if not n then
return c
end
- local v=ischar(n,font)
+ v=ischar(n,font)
if not v then
return c
end
@@ -27567,22 +28202,43 @@ local function analyze_next_chars_two(c,font)
local already_pre_mark
local already_above_mark
local already_below_mark
- local already_post_mark
- while dependent_vowel[v] do
- local vowels=twopart_mark[v] or { v }
- for k,v in next,vowels do
- if pre_mark[v] and not already_pre_mark then
- already_pre_mark=true
- elseif above_mark[v] and not already_above_mark then
- already_above_mark=true
- elseif below_mark[v] and not already_below_mark then
- already_below_mark=true
- elseif post_mark[v] and not already_post_mark then
- already_post_mark=true
- else
- return c
- end
- end
+ local already_post_mark
+ while dependent_vowel[v] do
+ local vowels=twopart_mark[v]
+ if vowels then
+ for k=1,#vowels do
+ local v=vowels[k]
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ already_post_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
+ else
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ if devanagarihash[font].conjuncts=="mixed" then
+ return c
+ else
+ already_post_mark=true
+ end
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
c=n
n=getnext(c)
if not n then
@@ -27817,7 +28473,7 @@ local function method_one(head,font,attr)
end
else
if show_syntax_errors then
- local mark=mark_four[char]
+ local mark=mark_pre_above_below_post[char]
if mark then
head,current=inject_syntax_error(head,current,char)
end
@@ -27838,15 +28494,15 @@ local function method_one(head,font,attr)
while current do
local char=ischar(current,font)
if char then
- if n==0 and not getstate(current) then
- setstate(current,s_init)
- end
- n=n+1
- else
- n=0
- end
- current=getnext(current)
- end
+ if n==0 and not getstate(current) then
+ setstate(current,s_init)
+ end
+ n=n+1
+ else
+ n=0
+ end
+ current=getnext(current)
+ end
return head,done
end
local function method_two(head,font,attr)
@@ -27916,7 +28572,7 @@ local function method_two(head,font,attr)
if not syllableend and show_syntax_errors then
local char=ischar(current,font)
if char and not getstate(current) then
- local mark=mark_four[char]
+ local mark=mark_pre_above_below_post[char]
if mark then
head,current=inject_syntax_error(head,current,char)
end
@@ -27933,15 +28589,15 @@ local function method_two(head,font,attr)
while current do
local char=ischar(current,font)
if char then
- if n==0 and not getstate(current) then
- setstate(current,s_init)
- end
- n=n+1
- else
- n=0
- end
- current=getnext(current)
- end
+ if n==0 and not getstate(current) then
+ setstate(current,s_init)
+ end
+ n=n+1
+ else
+ n=0
+ end
+ current=getnext(current)
+ end
return head,done
end
for i=1,nofscripts do
@@ -27949,10 +28605,10 @@ for i=1,nofscripts do
methods[scripts_two[i]]=method_two
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-osd”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-osd”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ocl” 2a377351ae23c339764ec8ce2e8e9164] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ocl” 2a377351ae23c339764ec8ce2e8e9164] ---
if not modules then modules={} end modules ['font-ocl']={
version=1.001,
@@ -28500,10 +29156,10 @@ if context then
}
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-ocl”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-ocl”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otc” 0f12230ea07b5151f75d52726977e91f] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otc” 582295d3d1e44cd4a31e8bbc1156f7c1] ---
if not modules then modules={} end modules ['font-otc']={
version=1.001,
@@ -28594,6 +29250,7 @@ local function validspecification(specification,name)
else
dataset={ { data=specification.data } }
specification.data=nil
+ specification.coverage=dataset
specification.dataset=dataset
end
local first=dataset[1]
@@ -28893,7 +29550,28 @@ local function addfeature(data,feature,specifications)
return coverage
end
local prepare_single=prepare_pair
- local function prepare_chain(list,featuretype,sublookups)
+ local function hassteps(lookups)
+ if lookups then
+ for i=1,#lookups do
+ local l=lookups[i]
+ if l then
+ for j=1,#l do
+ local l=l[j]
+ if l then
+ local n=l.nofsteps
+ if not n then
+ return true
+ elseif n>0 then
+ return true
+ end
+ end
+ end
+ end
+ end
+ end
+ return false
+ end
+ local function prepare_chain(list,featuretype,sublookups,nocheck)
local rules=list.rules
local coverage={}
if rules then
@@ -28929,6 +29607,7 @@ local function addfeature(data,feature,specifications)
local lookups=rule.lookups or false
local subtype=nil
if lookups and sublookups then
+ local l={}
for k,v in sortedhash(lookups) do
local t=type(v)
if t=="table" then
@@ -28938,55 +29617,63 @@ local function addfeature(data,feature,specifications)
v[i]={ vi }
end
end
+ l[k]=v
elseif t=="number" then
local lookup=sublookups[v]
if lookup then
- lookups[k]={ lookup }
+ l[k]={ lookup }
if not subtype then
subtype=lookup.type
end
elseif v==0 then
- lookups[k]={ { type="gsub_remove" } }
+ l[k]={ { type="gsub_remove",nosteps=true } }
else
- lookups[k]=false
+ l[k]=false
end
else
- lookups[k]=false
+ l[k]=false
end
end
+ if nocheck then
+ rule.lookups=l
+ end
+ lookups=l
end
if nofsequences>0 then
- local hashed={}
- for i=1,nofsequences do
- local t={}
- local s=sequence[i]
- for i=1,#s do
- local u=tounicode(s[i])
- if u then
- t[u]=true
+ if hassteps(lookups) then
+ local hashed={}
+ for i=1,nofsequences do
+ local t={}
+ local s=sequence[i]
+ for i=1,#s do
+ local u=tounicode(s[i])
+ if u then
+ t[u]=true
+ end
+ end
+ hashed[i]=t
+ end
+ sequence=hashed
+ rulesize=rulesize+1
+ rulehash[rulesize]={
+ nofrules,
+ lookuptype,
+ sequence,
+ start,
+ stop,
+ lookups,
+ replacements,
+ subtype,
+ }
+ for unic in sortedhash(sequence[start]) do
+ local cu=coverage[unic]
+ if not cu then
+ coverage[unic]=rulehash
end
end
- hashed[i]=t
- end
- sequence=hashed
- rulesize=rulesize+1
- rulehash[rulesize]={
- nofrules,
- lookuptype,
- sequence,
- start,
- stop,
- lookups,
- replacements,
- subtype,
- }
- for unic in sortedhash(sequence[start]) do
- local cu=coverage[unic]
- if not cu then
- coverage[unic]=rulehash
- end
+ sequence.n=nofsequences
+ else
end
- sequence.n=nofsequences
end
end
rulehash.n=rulesize
@@ -29073,126 +29760,148 @@ local function addfeature(data,feature,specifications)
end
local askedfeatures=specification.features or everywhere
local askedsteps=specification.steps or specification.subtables or { specification.data } or {}
- local featuretype=normalized[specification.type or "substitution"] or "substitution"
+ local featuretype=specification.type or "substitution"
+ local featureaction=false
local featureflags=specification.flags or noflags
local nocheck=specification.nocheck
+ local mapping=specification.mapping
local featureorder=specification.order or { feature }
local featurechain=(featuretype=="chainsubstitution" or featuretype=="chainposition") and 1 or 0
local nofsteps=0
local steps={}
local sublookups=specification.lookups
local category=nil
+ local steptype=nil
+ local sequence=nil
+ if fonts.handlers.otf.handlers[featuretype] then
+ featureaction=true
+ else
+ featuretype=normalized[specification.type or "substitution"] or "substitution"
+ end
checkflags(specification,resources)
- if sublookups then
- local s={}
- for i=1,#sublookups do
- local specification=sublookups[i]
- local askedsteps=specification.steps or specification.subtables or { specification.data } or {}
- local featuretype=normalized[specification.type or "substitution"] or "substitution"
- local featureflags=specification.flags or noflags
- local nofsteps=0
- local steps={}
- for i=1,#askedsteps do
- local list=askedsteps[i]
- local coverage=nil
- local format=nil
- if featuretype=="substitution" then
- coverage=prepare_substitution(list,featuretype,nocheck)
- elseif featuretype=="ligature" then
- coverage=prepare_ligature(list,featuretype,nocheck)
- elseif featuretype=="alternate" then
- coverage=prepare_alternate(list,featuretype,nocheck)
- elseif featuretype=="multiple" then
- coverage=prepare_multiple(list,featuretype,nocheck)
- elseif featuretype=="kern" or featuretype=="move" then
- format=featuretype
- coverage=prepare_kern(list,featuretype)
- elseif featuretype=="pair" then
- format="pair"
- coverage=prepare_pair(list,featuretype)
- elseif featuretype=="single" then
- format="single"
- coverage=prepare_single(list,featuretype)
- end
- if coverage and next(coverage) then
- nofsteps=nofsteps+1
- steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ for k,v in next,askedfeatures do
+ if v[1] then
+ askedfeatures[k]=tohash(v)
+ end
+ end
+ if featureflags[1] then featureflags[1]="mark" end
+ if featureflags[2] then featureflags[2]="ligature" end
+ if featureflags[3] then featureflags[3]="base" end
+ if featureaction then
+ category="gsub"
+ sequence={
+ features={ [feature]=askedfeatures },
+ flags=featureflags,
+ name=feature,
+ order=featureorder,
+ type=featuretype,
+ nofsteps=0,
+ }
+ else
+ if sublookups then
+ local s={}
+ for i=1,#sublookups do
+ local specification=sublookups[i]
+ local askedsteps=specification.steps or specification.subtables or { specification.data } or {}
+ local featuretype=normalized[specification.type or "substitution"] or "substitution"
+ local featureflags=specification.flags or noflags
+ local nofsteps=0
+ local steps={}
+ for i=1,#askedsteps do
+ local list=askedsteps[i]
+ local coverage=nil
+ local format=nil
+ if featuretype=="substitution" then
+ coverage=prepare_substitution(list,featuretype,nocheck)
+ elseif featuretype=="ligature" then
+ coverage=prepare_ligature(list,featuretype,nocheck)
+ elseif featuretype=="alternate" then
+ coverage=prepare_alternate(list,featuretype,nocheck)
+ elseif featuretype=="multiple" then
+ coverage=prepare_multiple(list,featuretype,nocheck)
+ elseif featuretype=="kern" or featuretype=="move" then
+ format=featuretype
+ coverage=prepare_kern(list,featuretype)
+ elseif featuretype=="pair" then
+ format="pair"
+ coverage=prepare_pair(list,featuretype)
+ elseif featuretype=="single" then
+ format="single"
+ coverage=prepare_single(list,featuretype)
+ end
+ if coverage and next(coverage) then
+ nofsteps=nofsteps+1
+ steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ end
end
+ checkmerge(specification)
+ checksteps(specification)
+ s[i]={
+ [stepkey]=steps,
+ nofsteps=nofsteps,
+ flags=featureflags,
+ type=types[featuretype],
+ }
+ end
+ sublookups=s
+ end
+ for i=1,#askedsteps do
+ local list=askedsteps[i]
+ local coverage=nil
+ local format=nil
+ if featuretype=="substitution" then
+ category="gsub"
+ coverage=(mapping and list) or prepare_substitution(list,featuretype,nocheck)
+ elseif featuretype=="ligature" then
+ category="gsub"
+ coverage=prepare_ligature(list,featuretype,nocheck)
+ elseif featuretype=="alternate" then
+ category="gsub"
+ coverage=prepare_alternate(list,featuretype,nocheck)
+ elseif featuretype=="multiple" then
+ category="gsub"
+ coverage=prepare_multiple(list,featuretype,nocheck)
+ elseif featuretype=="kern" or featuretype=="move" then
+ category="gpos"
+ format=featuretype
+ coverage=prepare_kern(list,featuretype)
+ elseif featuretype=="pair" then
+ category="gpos"
+ format="pair"
+ coverage=prepare_pair(list,featuretype)
+ elseif featuretype=="single" then
+ category="gpos"
+ format="single"
+ coverage=prepare_single(list,featuretype)
+ elseif featuretype=="chainsubstitution" then
+ category="gsub"
+ coverage=prepare_chain(list,featuretype,sublookups,nocheck)
+ elseif featuretype=="chainposition" then
+ category="gpos"
+ coverage=prepare_chain(list,featuretype,sublookups,nocheck)
+ else
+ report_otf("not registering feature %a, unknown category",feature)
+ return
+ end
+ if coverage and next(coverage) then
+ nofsteps=nofsteps+1
+ steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
end
- checkmerge(specification)
- checksteps(specification)
- s[i]={
+ end
+ if nofsteps>0 then
+ sequence={
+ chain=featurechain,
+ features={ [feature]=askedfeatures },
+ flags=featureflags,
+ name=feature,
+ order=featureorder,
[stepkey]=steps,
nofsteps=nofsteps,
- flags=featureflags,
type=types[featuretype],
}
end
- sublookups=s
- end
- for i=1,#askedsteps do
- local list=askedsteps[i]
- local coverage=nil
- local format=nil
- if featuretype=="substitution" then
- category="gsub"
- coverage=prepare_substitution(list,featuretype,nocheck)
- elseif featuretype=="ligature" then
- category="gsub"
- coverage=prepare_ligature(list,featuretype,nocheck)
- elseif featuretype=="alternate" then
- category="gsub"
- coverage=prepare_alternate(list,featuretype,nocheck)
- elseif featuretype=="multiple" then
- category="gsub"
- coverage=prepare_multiple(list,featuretype,nocheck)
- elseif featuretype=="kern" or featuretype=="move" then
- category="gpos"
- format=featuretype
- coverage=prepare_kern(list,featuretype)
- elseif featuretype=="pair" then
- category="gpos"
- format="pair"
- coverage=prepare_pair(list,featuretype)
- elseif featuretype=="single" then
- category="gpos"
- format="single"
- coverage=prepare_single(list,featuretype)
- elseif featuretype=="chainsubstitution" then
- category="gsub"
- coverage=prepare_chain(list,featuretype,sublookups)
- elseif featuretype=="chainposition" then
- category="gpos"
- coverage=prepare_chain(list,featuretype,sublookups)
- else
- report_otf("not registering feature %a, unknown category",feature)
- return
- end
- if coverage and next(coverage) then
- nofsteps=nofsteps+1
- steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
- end
end
- if nofsteps>0 then
- for k,v in next,askedfeatures do
- if v[1] then
- askedfeatures[k]=tohash(v)
- end
- end
- if featureflags[1] then featureflags[1]="mark" end
- if featureflags[2] then featureflags[2]="ligature" end
- if featureflags[3] then featureflags[3]="base" end
- local steptype=types[featuretype]
- local sequence={
- chain=featurechain,
- features={ [feature]=askedfeatures },
- flags=featureflags,
- name=feature,
- order=featureorder,
- [stepkey]=steps,
- nofsteps=nofsteps,
- type=steptype,
- }
+ if sequence then
checkflags(sequence,resources)
checkmerge(sequence)
checksteps(sequence)
@@ -29260,10 +29969,10 @@ end
otf.enhancers.enhance=enhance
otf.enhancers.register("check extra features",enhance)
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-otc”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-otc”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-onr” 6d161533f3437435e12a0ad64866df44] ---
if not modules then modules={} end modules ['font-onr']={
version=1.001,
@@ -29636,10 +30345,10 @@ function readers.getinfo(filename)
end
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-onr”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-onr”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-one” bd39d42055a44ca2002f8ddbbbbf27c3] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-one” bd39d42055a44ca2002f8ddbbbbf27c3] ---
if not modules then modules={} end modules ['font-one']={
version=1.001,
@@ -30354,10 +31063,10 @@ registerafmenhancer("normalize features",enhance_normalize_features)
registerafmenhancer("check extra features",otfenhancers.enhance)
registerafmenhancer("fix names",enhance_fix_names)
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-one”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-one”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-afk” 9da14e0fb22129c053acc599d1312544] ---
if not modules then modules={} end modules ['font-afk']={
version=1.001,
@@ -30524,10 +31233,10 @@ fonts.handlers.afm.helpdata={
}
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-afk”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-afk”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-tfm” f0eb5e2a8068b17ad401bb7efdba1630] ---
if not modules then modules={} end modules ['luatex-fonts-tfm']={
version=1.001,
@@ -31042,10 +31751,10 @@ registertfmfeature {
}
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-tfm”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-tfm”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-lua” 1fbfdf7b689b2bdfd0e3bb9bf74ce136] ---
if not modules then modules={} end modules ['font-lua']={
version=1.001,
@@ -31085,10 +31794,10 @@ function readers.lua(specification)
return check_lua(specification,fullname)
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-lua”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-lua”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-def” b9d908c2338b7dc443ce9d1e9fcb7139] ---
if not modules then modules={} end modules ['font-def']={
version=1.001,
@@ -31488,10 +32197,10 @@ if not context then
callbacks.register('define_font',definers.read,"definition of fonts (tfmdata preparation)")
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-def”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-def”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-shp” 2bb36adb4b264a895a2c4d97e1ac1d1e] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-shp” a40862fe382d26c1f3753431254bcfdd] ---
if not modules then modules={} end modules ['font-shp']={
version=1.001,
@@ -31508,7 +32217,7 @@ local afm=fonts.handlers.afm
local pfb=fonts.handlers.pfb
local hashes=fonts.hashes
local identifiers=hashes.identifiers
-local version=0.010
+local version=otf.version or 0.011
local shapescache=containers.define("fonts","shapes",version,true)
local streamscache=containers.define("fonts","streams",version,true)
local compact_streams=false
@@ -31816,7 +32525,7 @@ local function getstreamhash(fontid)
local fontdata=identifiers[fontid]
if fontdata then
local properties=fontdata.properties
- return makehash(properties.filename,properties.subfont,properties.instance)
+ return makehash(properties.filename,properties.subfont,properties.instance),fontdata
end
end
local function loadstreamdata(fontdata)
@@ -31856,10 +32565,10 @@ callback.register("glyph_stream_provider",function(id,index,mode)
return ""
end)
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-shp”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-shp”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-def” f435e0875f203f343157baeff876ec9c] ---
if not modules then modules={} end modules ['luatex-fonts-def']={
version=1.001,
@@ -31940,10 +32649,10 @@ function fonts.definers.applypostprocessors(tfmdata)
return tfmdata
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-def”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-def”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-ext” 32013cbc5d5d336be8b1d1e5879d86c4] ---
if not modules then modules={} end modules ['luatex-fonts-ext']={
version=1.001,
@@ -32129,10 +32838,10 @@ registerotffeature {
}
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-ext”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-ext”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-tex” ceb087ef6fa2f89aed7179f60ddf8f35] ---
if not modules then modules={} end modules ['font-imp-tex']={
version=1.001,
@@ -32231,10 +32940,10 @@ registerotffeature {
description="arabic digits",
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-tex”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-tex”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-ligatures” 26ffcf089391445f7af59536c8814364] ---
if not modules then modules={} end modules ['font-imp-ligatures']={
version=1.001,
@@ -32348,10 +33057,10 @@ if context then
}
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-ligatures”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-ligatures”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-italics” defcb415bc1e0a0999b27773902adc18] ---
if not modules then modules={} end modules ['font-imp-italics']={
version=1.001,
@@ -32455,10 +33164,10 @@ if context then
registerafmfeature(dimensions_specification)
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-italics”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-italics”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-effects” d05997c1826355548ec9aec1346f9f23] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-effects” d05997c1826355548ec9aec1346f9f23] ---
if not modules then modules={} end modules ['font-imp-effects']={
version=1.001,
@@ -32815,10 +33524,10 @@ local specification={
registerotffeature(specification)
registerafmfeature(specification)
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “font-imp-effects”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “font-imp-effects”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-lig” fbd251eea3810a43a8d5542319361d68] ---
fonts.handlers.otf.addfeature {
@@ -34887,10 +35596,10 @@ fonts.handlers.otf.addfeature {
["type"]="ligature",
}
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-lig”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-lig”] ---
-do --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-gbn” 34e4543a02f6fbc8c2ade896cb6dc7df] ---
+do --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-gbn” 34e4543a02f6fbc8c2ade896cb6dc7df] ---
if not modules then modules={} end modules ['luatex-fonts-gbn']={
version=1.001,
@@ -35155,7 +35864,7 @@ function nodes.simple_font_handler(head,groupcode,size,packtype,direction)
return head
end
-end --- [luaotfload, fontloader-2021-05-20.lua scope for “fonts-gbn”] ---
+end --- [luaotfload, fontloader-2022-02-24.lua scope for “fonts-gbn”] ---
--- vim:ft=lua:sw=2:ts=8:et:tw=79
diff --git a/macros/luatex/generic/luaotfload/fontloader-basics-chr.lua b/macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
index 0ac0eab14e..3bbb693ab3 100644
--- a/macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
@@ -206,6 +206,7 @@ characters.classifiers={
[1562]=5,
[1563]=6,
[1564]=6,
+ [1565]=6,
[1566]=6,
[1567]=6,
[1568]=2,
@@ -672,9 +673,9 @@ characters.classifiers={
[2131]=2,
[2132]=3,
[2133]=2,
- [2134]=4,
- [2135]=4,
- [2136]=4,
+ [2134]=3,
+ [2135]=3,
+ [2136]=3,
[2137]=5,
[2138]=5,
[2139]=5,
@@ -689,6 +690,47 @@ characters.classifiers={
[2152]=2,
[2153]=3,
[2154]=3,
+ [2160]=3,
+ [2161]=3,
+ [2162]=3,
+ [2163]=3,
+ [2164]=3,
+ [2165]=3,
+ [2166]=3,
+ [2167]=3,
+ [2168]=3,
+ [2169]=3,
+ [2170]=3,
+ [2171]=3,
+ [2172]=3,
+ [2173]=3,
+ [2174]=3,
+ [2175]=3,
+ [2176]=3,
+ [2177]=3,
+ [2178]=3,
+ [2179]=2,
+ [2180]=2,
+ [2181]=2,
+ [2182]=2,
+ [2183]=4,
+ [2184]=4,
+ [2185]=2,
+ [2186]=2,
+ [2187]=2,
+ [2188]=2,
+ [2189]=2,
+ [2190]=3,
+ [2192]=4,
+ [2193]=4,
+ [2200]=5,
+ [2201]=5,
+ [2202]=5,
+ [2203]=5,
+ [2204]=5,
+ [2205]=5,
+ [2206]=5,
+ [2207]=5,
[2208]=2,
[2209]=2,
[2210]=2,
@@ -710,6 +752,7 @@ characters.classifiers={
[2226]=3,
[2227]=2,
[2228]=2,
+ [2229]=2,
[2230]=2,
[2231]=2,
[2232]=2,
@@ -718,6 +761,26 @@ characters.classifiers={
[2235]=2,
[2236]=2,
[2237]=2,
+ [2238]=2,
+ [2239]=2,
+ [2240]=2,
+ [2241]=2,
+ [2242]=2,
+ [2243]=2,
+ [2244]=2,
+ [2245]=2,
+ [2246]=2,
+ [2247]=2,
+ [2248]=2,
+ [2250]=5,
+ [2251]=5,
+ [2252]=5,
+ [2253]=5,
+ [2254]=5,
+ [2255]=5,
+ [2256]=5,
+ [2257]=5,
+ [2258]=5,
[2259]=5,
[2260]=5,
[2261]=5,
@@ -837,6 +900,7 @@ characters.classifiers={
[2883]=5,
[2884]=5,
[2893]=5,
+ [2901]=5,
[2902]=5,
[2914]=5,
[2915]=5,
@@ -845,6 +909,7 @@ characters.classifiers={
[3021]=5,
[3072]=5,
[3076]=5,
+ [3132]=5,
[3134]=5,
[3135]=5,
[3136]=5,
@@ -878,6 +943,7 @@ characters.classifiers={
[3405]=5,
[3426]=5,
[3427]=5,
+ [3457]=5,
[3530]=5,
[3538]=5,
[3539]=5,
@@ -1057,6 +1123,7 @@ characters.classifiers={
[6156]=5,
[6157]=5,
[6158]=4,
+ [6159]=5,
[6176]=2,
[6177]=2,
[6178]=2,
@@ -1241,6 +1308,22 @@ characters.classifiers={
[6843]=5,
[6844]=5,
[6845]=5,
+ [6847]=5,
+ [6848]=5,
+ [6849]=5,
+ [6850]=5,
+ [6851]=5,
+ [6852]=5,
+ [6853]=5,
+ [6854]=5,
+ [6855]=5,
+ [6856]=5,
+ [6857]=5,
+ [6858]=5,
+ [6859]=5,
+ [6860]=5,
+ [6861]=5,
+ [6862]=5,
[6912]=5,
[6913]=5,
[6914]=5,
@@ -1373,6 +1456,7 @@ characters.classifiers={
[7671]=5,
[7672]=5,
[7673]=5,
+ [7674]=5,
[7675]=5,
[7676]=5,
[7677]=5,
@@ -1474,6 +1558,7 @@ characters.classifiers={
[43019]=5,
[43045]=5,
[43046]=5,
+ [43052]=5,
[43072]=2,
[43073]=2,
[43074]=2,
@@ -1750,6 +1835,8 @@ characters.classifiers={
[68901]=5,
[68902]=5,
[68903]=5,
+ [69291]=5,
+ [69292]=5,
[69424]=2,
[69425]=2,
[69426]=2,
@@ -1787,6 +1874,56 @@ characters.classifiers={
[69458]=2,
[69459]=2,
[69460]=3,
+ [69488]=2,
+ [69489]=2,
+ [69490]=2,
+ [69491]=2,
+ [69492]=3,
+ [69493]=3,
+ [69494]=2,
+ [69495]=2,
+ [69496]=2,
+ [69497]=2,
+ [69498]=2,
+ [69499]=2,
+ [69500]=2,
+ [69501]=2,
+ [69502]=2,
+ [69503]=2,
+ [69504]=2,
+ [69505]=2,
+ [69506]=5,
+ [69507]=5,
+ [69508]=5,
+ [69509]=5,
+ [69552]=2,
+ [69553]=4,
+ [69554]=2,
+ [69555]=2,
+ [69556]=3,
+ [69557]=3,
+ [69558]=3,
+ [69559]=4,
+ [69560]=2,
+ [69561]=3,
+ [69562]=3,
+ [69563]=2,
+ [69564]=2,
+ [69565]=3,
+ [69566]=2,
+ [69567]=2,
+ [69568]=4,
+ [69569]=2,
+ [69570]=3,
+ [69571]=3,
+ [69572]=2,
+ [69573]=4,
+ [69574]=4,
+ [69575]=4,
+ [69576]=4,
+ [69577]=3,
+ [69578]=2,
+ [69579]=1,
[69633]=5,
[69688]=5,
[69689]=5,
@@ -1803,6 +1940,9 @@ characters.classifiers={
[69700]=5,
[69701]=5,
[69702]=5,
+ [69744]=5,
+ [69747]=5,
+ [69748]=5,
[69759]=5,
[69760]=5,
[69761]=5,
@@ -1813,6 +1953,7 @@ characters.classifiers={
[69817]=5,
[69818]=5,
[69821]=4,
+ [69826]=5,
[69837]=4,
[69888]=5,
[69889]=5,
@@ -1845,6 +1986,7 @@ characters.classifiers={
[70090]=5,
[70091]=5,
[70092]=5,
+ [70095]=5,
[70191]=5,
[70192]=5,
[70193]=5,
@@ -1955,6 +2097,10 @@ characters.classifiers={
[71735]=5,
[71737]=5,
[71738]=5,
+ [71995]=5,
+ [71996]=5,
+ [71998]=5,
+ [72003]=5,
[72148]=5,
[72149]=5,
[72150]=5,
@@ -2092,8 +2238,78 @@ characters.classifiers={
[94096]=5,
[94097]=5,
[94098]=5,
+ [94180]=5,
[113821]=5,
[113822]=5,
+ [118528]=5,
+ [118529]=5,
+ [118530]=5,
+ [118531]=5,
+ [118532]=5,
+ [118533]=5,
+ [118534]=5,
+ [118535]=5,
+ [118536]=5,
+ [118537]=5,
+ [118538]=5,
+ [118539]=5,
+ [118540]=5,
+ [118541]=5,
+ [118542]=5,
+ [118543]=5,
+ [118544]=5,
+ [118545]=5,
+ [118546]=5,
+ [118547]=5,
+ [118548]=5,
+ [118549]=5,
+ [118550]=5,
+ [118551]=5,
+ [118552]=5,
+ [118553]=5,
+ [118554]=5,
+ [118555]=5,
+ [118556]=5,
+ [118557]=5,
+ [118558]=5,
+ [118559]=5,
+ [118560]=5,
+ [118561]=5,
+ [118562]=5,
+ [118563]=5,
+ [118564]=5,
+ [118565]=5,
+ [118566]=5,
+ [118567]=5,
+ [118568]=5,
+ [118569]=5,
+ [118570]=5,
+ [118571]=5,
+ [118572]=5,
+ [118573]=5,
+ [118576]=5,
+ [118577]=5,
+ [118578]=5,
+ [118579]=5,
+ [118580]=5,
+ [118581]=5,
+ [118582]=5,
+ [118583]=5,
+ [118584]=5,
+ [118585]=5,
+ [118586]=5,
+ [118587]=5,
+ [118588]=5,
+ [118589]=5,
+ [118590]=5,
+ [118591]=5,
+ [118592]=5,
+ [118593]=5,
+ [118594]=5,
+ [118595]=5,
+ [118596]=5,
+ [118597]=5,
+ [118598]=5,
[119143]=5,
[119144]=5,
[119145]=5,
@@ -2291,6 +2507,7 @@ characters.classifiers={
[123188]=5,
[123189]=5,
[123190]=5,
+ [123566]=5,
[123628]=5,
[123629]=5,
[123630]=5,
@@ -2459,6 +2676,7 @@ characters.indicgroups={
[2879]=true,
[2902]=true,
[3376]=true,
+ [5901]=true,
},
["after_postscript"]={
[2433]=true,
@@ -2634,6 +2852,7 @@ characters.indicgroups={
[2915]=true,
[3009]=true,
[3010]=true,
+ [3132]=true,
[3170]=true,
[3171]=true,
[3260]=true,
@@ -3052,6 +3271,7 @@ characters.indicgroups={
[4225]=true,
[4226]=true,
[4238]=true,
+ [5901]=true,
[43488]=true,
[43489]=true,
[43490]=true,
@@ -3376,6 +3596,7 @@ characters.indicgroups={
[3090]=true,
[3091]=true,
[3092]=true,
+ [3165]=true,
[3168]=true,
[3169]=true,
[3205]=true,
@@ -3392,6 +3613,7 @@ characters.indicgroups={
[3218]=true,
[3219]=true,
[3220]=true,
+ [3293]=true,
[3296]=true,
[3297]=true,
[3333]=true,
@@ -3432,6 +3654,7 @@ characters.indicgroups={
[2620]=true,
[2748]=true,
[2876]=true,
+ [3132]=true,
[3260]=true,
},
["post_mark"]={
@@ -3535,6 +3758,7 @@ characters.indicgroups={
[3120]=true,
[3248]=true,
[3376]=true,
+ [5901]=true,
},
["stress_tone_mark"]={
[2385]=true,
@@ -3614,6 +3838,4 @@ characters.indicgroups={
},
}
--- done, uncomment for testing:
-
--- return characters.indicgroups
+-- done
diff --git a/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua b/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
index 5a6e90ceee..1cc8537168 100644
--- a/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
@@ -189,7 +189,7 @@ local readables = { }
local usingjit = jit
if not caches.namespace or caches.namespace == "" or caches.namespace == "context" then
- caches.namespace = 'generic'
+ caches.namespace = 'generic-dev'
end
do
diff --git a/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua b/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
index 76e36f2aab..61587d5ded 100644
--- a/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
@@ -118,7 +118,7 @@ nuts.setcomponents = direct.setcomponents
nuts.setdirection = direct.setdirection
nuts.setdisc = direct.setdisc
nuts.setreplace = direct.setreplace
-nuts.setfield = setfield
+nuts.setfield = direct.setfield
nuts.setkern = direct.setkern
nuts.setlink = direct.setlink
nuts.setlist = direct.setlist
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
index ff87292baf..4258991c67 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-cff.lua
@@ -572,6 +572,11 @@ do
stack[top] = -(byte(b0)-251)*256 - byte(b1) - 108
end
+ -- local p_float = P("\255") * C(1) * C(1) * C(1) * C(1) / function(b0,b1,b2,b3)
+ -- top = top + 1
+ -- stack[top] = 0
+ -- end
+
local p_short = P("\28") * C(1) * C(1) / function(b1,b2)
-- -32768 .. +32767 : b1<<8 | b2
top = top + 1
@@ -607,6 +612,7 @@ do
+ p_nibbles
+ p_single
+ p_double
+ -- + p_float
+ p_unsupported
)^1
@@ -701,6 +707,7 @@ do
local y = 0
local width = false
local lsb = 0
+local result = { }
local r = 0
local stems = 0
local globalbias = 0
@@ -1825,13 +1832,13 @@ do
stack[top] = -t*256 + 64148 - tab[i+1]
i = i + 2
else
- -- a 16.16 float
- local n = 0x100 * tab[i+1] + tab[i+2]
- if n >= 0x8000 then
- stack[top] = n - 0x10000 + (0x100 * tab[i+3] + tab[i+4])/0xFFFF
- else
- stack[top] = n + (0x100 * tab[i+3] + tab[i+4])/0xFFFF
+ -- a 16.16 float (used for italic but pretty unreliable)
+ local n1 = 0x100 * tab[i+1] + tab[i+2]
+ local n2 = 0x100 * tab[i+3] + tab[i+4]
+ if n1 >= 0x8000 then
+ n1 = n1 - 0x10000
end
+ stack[top] = n1 + n2/0xFFFF
i = i + 5
end
elseif t == 28 then
@@ -1924,7 +1931,8 @@ do
-- cff 1: (when cff2 strip them)
elseif t == 1 or t == 3 or t == 18 or operation == 23 then
p_getstem() -- at the start
- if true then
+ if version == "cff" then
+-- if true then
if top > 0 then
for i=1,top do
r = r + 1 ; result[r] = encode[stack[i]]
@@ -1939,6 +1947,7 @@ do
-- cff 1: (when cff2 strip them)
elseif t == 19 or t == 20 then
local s = p_getmask() or 0 -- after the stems
+-- if version == "cff" then
if true then
if top > 0 then
for i=1,top do
@@ -1962,7 +1971,8 @@ do
i = i + 1
elseif t == 13 then
hsbw()
- if version == "cff" then
+-- if version == "cff" then
+ if true then
-- we do a moveto over lsb
r = r + 1 ; result[r] = encode[lsb]
r = r + 1 ; result[r] = chars[22]
@@ -2122,7 +2132,6 @@ do
end
process(tab)
-
if hack then
return x, y
end
@@ -2145,6 +2154,7 @@ do
r = r + 1
result[r] = c_endchar
local stream = concat(result)
+result = nil
-- if trace_charstrings then
-- report("vdata: %s",stream)
-- end
@@ -2171,6 +2181,7 @@ do
name = charset and charset[index] or nil,
-- sidebearing = 0,
}
+result = nil
else
glyphs[index] = {
boundingbox = boundingbox,
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
index 8d7c3d359d..7028f7c087 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
@@ -3806,6 +3806,7 @@ function readers.hvar(f,fontdata,specification)
end
local tableoffset = gotodatatable(f,fontdata,"hvar",specification.variable)
if not tableoffset then
+ report("no hvar table, expect problems due to messy widths")
return
end
@@ -3823,7 +3824,6 @@ function readers.hvar(f,fontdata,specification)
if variationoffset > 0 then
regions, deltas = readvariationdata(f,variationoffset,factors)
end
-
if not regions then
-- for now .. what to do ?
return
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
index 2d0e685c19..34c0472903 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-osd.lua
@@ -6,7 +6,6 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag
license = "see context related readme files"
}
-
-- we need to check nbsphash (context only)
-- A few remarks:
@@ -56,6 +55,11 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag
-- By now we have yet another incremental improved version. In the end I might
-- rewrite the code.
--
+-- At the start of 2022 Kauśika spent a lot of time testing combinations of fonts
+-- and scripts and in the process some more tracing was added as well as a mixed
+-- conjuncts options that can deal with fuzzy fonts. The machinery does what it has
+-- to do but some fonts expect more magic to be applied.
+--
-- Hans Hagen, PRAGMA-ADE, Hasselt NL
-- Todo:
@@ -81,8 +85,10 @@ if not modules then modules = { } end modules ['font-osd'] = { -- script devanag
-- malayalam, oriya, tamil and tolugu but not all are checked. Also, some of the
-- code below might need to be adapted to the extra scripts.
-local insert, imerge, copy, tohash = table.insert, table.imerge, table.copy, table.tohash
-local next, type = next, type
+local insert, remove, imerge, copy, tohash = table.insert, table.remove, table.imerge, table.copy, table.tohash
+local next, type, rawget = next, type, rawget
+local formatters = string.formatters
+local settings_to_hash = utilities.parsers.settings_to_hash
local report = logs.reporter("otf","devanagari")
@@ -98,6 +104,8 @@ local methods = fonts.analyzers.methods
local otffeatures = fonts.constructors.features.otf
local registerotffeature = otffeatures.register
+local trace_steps = false
+
local nuts = nodes.nuts
local getnext = nuts.getnext
@@ -118,7 +126,7 @@ local setstate = nuts.setstate
local ischar = nuts.ischar
-local insertnodeafter = nuts.insertafter
+local insertnodeafter = nuts.insertafter
local copy_node = nuts.copy
local remove_node = nuts.remove
local flushlist = nuts.flushlist
@@ -130,7 +138,8 @@ local unsetvalue = attributes.unsetvalue
local fontdata = fonts.hashes.identifiers
-local a_syllabe = attributes.private('syllabe')
+local a_syllabe = "syllable" -- attributes.private('syllabe') -- can be just a property key
+local a_reordered = "reordered" -- attributes.private('reordered') -- can be just a property key
local dotted_circle = 0x25CC
local c_nbsp = 0x00A0
@@ -156,9 +165,14 @@ replace_all_nbsp = function(head) -- delayed definition
end
local processcharacters = nil
+local logprocess = nil
if context then
- local fontprocesses = fonts.hashes.processes
+
+ local fontprocesses = fonts.hashes.processes
+ local tracers = nodes.tracers
+ local registermessage = (tracers and tracers.steppers.message) or function() end
+
function processcharacters(head,font)
local processors = fontprocesses[font]
for i=1,#processors do
@@ -166,7 +180,24 @@ if context then
end
return head
end
+
+ -- When we'retrying to fix something it can be handy to have some more
+ -- details available.
+
+ trackers.register("otf.steps", function(v) trace_steps = v end)
+
+ logprocess = function(str)
+ if trace_steps then
+ registermessage("devanagari %s",str)
+ if trace_steps == "silent" then
+ return
+ end
+ end
+ report(str)
+ end
+
else
+
function processcharacters(head,font)
local processors = fontdata[font].shared.processes
for i=1,#processors do
@@ -174,6 +205,11 @@ else
end
return head
end
+
+ logprocess = function(str)
+ -- do nothing
+ end
+
end
-- We can assume that script are not mixed in the source but if that is the case
@@ -302,7 +338,7 @@ local after_subscript = indicgroups.after_subscript
local before_main = indicgroups.before_main
local after_main = indicgroups.after_main
-local mark_four = table.merged (
+local mark_pre_above_below_post = table.merged (
pre_mark,
above_mark,
below_mark,
@@ -315,6 +351,14 @@ local mark_above_below_post = table.merged (
post_mark
)
+-- Handy
+
+local devanagarihash = table.setmetatableindex(function(t,k)
+ local v = fontdata[k].resources.devanagari or false
+ t[k] = v
+ return v
+end)
+
-- We use some pseudo features as we need to manipulate the nodelist based
-- on information in the font as well as already applied features. We can
-- probably replace some of the code below by injecting 'real' features
@@ -460,7 +504,7 @@ local function initializedevanagi(tfmdata)
local devanagari = resources.devanagari
if not devanagari then
--
- report("adding devanagari features to font")
+ report("adding features to font")
--
local gsubfeatures = resources.features.gsub
local sequences = resources.sequences
@@ -491,7 +535,9 @@ local function initializedevanagi(tfmdata)
for k, v in next, pre_mark do
local locl = coverage[k]
if locl then
- if #locl > 0 then --contextchain; KE: is this right?
+ -- if #locl > 0 then we have a list otherwise a hash; we actually should
+ -- test properly for gsub_...
+ if #locl > 0 then
for j=1,#locl do
local ck = locl[j]
local f = ck[4]
@@ -512,6 +558,8 @@ local function initializedevanagi(tfmdata)
end
end
end
+ else
+ -- useless next if, because locl is a table
end
if locl then
reorder_matras.steps[1].coverage[locl] = true
@@ -524,7 +572,7 @@ local function initializedevanagi(tfmdata)
if basic_shaping_forms[k] then
lastmatch = lastmatch + 1
if s ~= lastmatch then
- table.insert(sequences, lastmatch, table.remove(sequences, s))
+ insert(sequences,lastmatch,remove(sequences,s))
end
end
end
@@ -545,9 +593,7 @@ local function initializedevanagi(tfmdata)
local vatucache = { }
local pstfcache = { }
local seqsubset = { }
- local rephstep = {
- coverage = { } -- will be adapted each work
- }
+ local rephstep = { coverage = { } } -- will be adapted each work
local devanagari = {
reph = false,
vattu = false,
@@ -577,7 +623,7 @@ local function initializedevanagi(tfmdata)
local has_pstf = features.pstf
if has_rphf and has_rphf[script] then
devanagari.reph = true
- elseif (has_blwf and has_blwf[script] ) or (has_vatu and has_vatu[script] ) then
+ elseif (has_blwf and has_blwf[script]) or (has_vatu and has_vatu[script]) then
devanagari.vattu = true
for i=1,nofsteps do
local step = steps[i]
@@ -585,10 +631,8 @@ local function initializedevanagi(tfmdata)
if coverage then
for k, v in next, coverage do
for h, w in next, halant do
- if v[h] then
- if not blwfcache[k] then
- blwfcache[k] = v
- end
+ if v[h] and not blwfcache[k] then
+ blwfcache[k] = v
end
if has_vatu and has_vatu[script] and not vatucache[k] then
vatucache[k] = v
@@ -610,34 +654,40 @@ local function initializedevanagi(tfmdata)
for k, v in next, ra do
local r = coverage[k]
if r then
+ -- if #r > 0 then we have a list otherwise a hash; we actually should
+ -- test properly for gsub_...
local found = false
- if #r > 0 then -- contextchain; KE: is this right?
+ if #r > 0 then
for j=1,#r do
- local ck = r[j]
- local f = ck[4]
+ local ck = r[j]
+ local f = ck[4]
local chainlookups = ck[6]
- if chainlookups and chainlookups[f] then --KE: why is check for chainlookups[f] necessacy???
+ if chainlookups then
local chainlookup = chainlookups[f]
- for j=1,#chainlookup do
- local chainstep = chainlookup[j]
- local steps = chainstep.steps
- local nofsteps = chainstep.nofsteps
- for i=1,nofsteps do
- local step = steps[i]
- local coverage = step.coverage
- if coverage then
- local h = coverage[k]
- if h then
- for k, v in next, h do
- found = v and v.ligature
+ if chainlookup then
+ for j=1,#chainlookup do
+ local chainstep = chainlookup[j]
+ local steps = chainstep.steps
+ local nofsteps = chainstep.nofsteps
+ for i=1,nofsteps do
+ local step = steps[i]
+ local coverage = step.coverage
+ if coverage then
+ local h = coverage[k]
+ if h then
+ for k, v in next, h do
+ if v then
+ found = tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found] = true
+ break
+ end
+ end
+ end
if found then
- pre_base_reordering_consonants[found] = true
break
end
end
- if found then
- break
- end
end
end
end
@@ -646,10 +696,12 @@ local function initializedevanagi(tfmdata)
end
else
for k, v in next, r do
- found = v and v.ligature
- if found then
- pre_base_reordering_consonants[found] = true
- break
+ if v then
+ found = tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found] = true
+ break
+ end
end
end
end
@@ -667,18 +719,21 @@ local function initializedevanagi(tfmdata)
local step = steps[i]
local coverage = step.coverage
if coverage then
- local reph, rephbase = false, false
+ local reph = false
+ local base = false
if kind == "rphf" then
-- rphf acts on consonant + halant
for k, v in next, ra do
local r = coverage[k]
if r then
- rephbase = k
+ -- if #r > 0 then we have a list otherwise a hash; we actually should
+ -- test properly for gsub_...
+ base = k
local h = false
- if #r > 0 then --contextchain; KE: is this right?
+ if #r > 0 then
for j=1,#r do
- local ck = r[j]
- local f = ck[4]
+ local ck = r[j]
+ local f = ck[4]
local chainlookups = ck[6]
if chainlookups then
local chainlookup = chainlookups[f]
@@ -695,7 +750,7 @@ local function initializedevanagi(tfmdata)
for k, v in next, halant do
local h = r[k]
if h then
- reph = h.ligature or false
+ reph = tonumber(h) or h.ligature or false
break
end
end
@@ -712,7 +767,7 @@ local function initializedevanagi(tfmdata)
for k, v in next, halant do
local h = r[k]
if h then
- reph = h.ligature or false
+ reph = tonumber(h) or h.ligature or false
break
end
end
@@ -723,7 +778,9 @@ local function initializedevanagi(tfmdata)
end
end
end
- seqsubset[#seqsubset+1] = { kind, coverage, reph, rephbase }
+-- if reph then
+ seqsubset[#seqsubset+1] = { kind, coverage, reph, base }
+-- end
end
end
end
@@ -737,18 +794,20 @@ local function initializedevanagi(tfmdata)
for k, v in next, halant do
local h = coverage[k]
if h then
+ -- if #h > 0 then we have a list otherwise a hash; we actually should
+ -- test properly for gsub_...
local found = false
- if #h > 0 then -- contextchain; KE: is this right?
+ if #h > 0 then
for j=1,#h do
- local ck = h[j]
- local f = ck[4]
+ local ck = h[j]
+ local f = ck[4]
local chainlookups = ck[6]
if chainlookups then
local chainlookup = chainlookups[f]
for j=1,#chainlookup do
local chainstep = chainlookup[j]
- local steps = chainstep.steps
- local nofsteps = chainstep.nofsteps
+ local steps = chainstep.steps
+ local nofsteps = chainstep.nofsteps
for i=1,nofsteps do
local step = steps[i]
local coverage = step.coverage
@@ -756,10 +815,12 @@ local function initializedevanagi(tfmdata)
local h = coverage[k]
if h then
for k, v in next, h do
- found = v and v.ligature
- if found then
- pre_base_reordering_consonants[found] = true
- break
+ if v then
+ found = tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found] = true
+ break
+ end
end
end
if found then
@@ -773,7 +834,7 @@ local function initializedevanagi(tfmdata)
end
else
for k, v in next, h do
- found = v and v.ligature
+ found = v and (tonumber(v) or v.ligature)
if found then
pre_base_reordering_consonants[found] = true
break
@@ -800,9 +861,9 @@ local function initializedevanagi(tfmdata)
sharedfeatures["dv03"] = true -- dv03_reorder_pre_base_reordering_consonants
sharedfeatures["dv04"] = true -- dv04_remove_joiners
end
- if script == "mlym" or script == "taml" then
- devanagari.left_matra_before_base = true
- end
+ -- if script == "mlym" or script == "taml" then
+ -- devanagari.movematra = "leftbeforebase"
+ -- end
end
end
end
@@ -816,6 +877,49 @@ registerotffeature {
},
}
+local function initializeconjuncts(tfmdata,value)
+ if value then
+ local resources = tfmdata.resources
+ local devanagari = resources.devanagari
+ if devanagari then
+ -- quit was the old situation
+ local conjuncts = "auto" -- mixed|continue|quit|auto
+ local movematra = "auto" -- default|leftbeforebase|auto
+ if type(value) == "string" and value ~= "auto" then
+ value = settings_to_hash(value)
+ conjuncts = rawget(value,"conjuncts") or conjuncts
+ movematra = rawget(value,"movematra") or movematra
+ end
+ if conjuncts == "auto" then
+ conjuncts = "mixed" -- for all scripts ?
+ end
+ if movematra == "auto" and
+ script == "mlym" or
+ script == "taml" then
+ movematra = "leftbeforebase"
+ else
+ movematra = "default"
+ end
+ devanagari.conjuncts = conjuncts
+ devanagari.movematra = movematra
+ --
+ if trace_steps then
+ report("conjuncts %a, movematra %a",conjuncts,movematra)
+ end
+ --
+ end
+ end
+end
+
+registerotffeature {
+ name = "indic",
+ description = "control indic",
+ default = "auto",
+ initializers = {
+ node = initializeconjuncts,
+ },
+}
+
local show_syntax_errors = false
local function inject_syntax_error(head,current,char)
@@ -874,38 +978,44 @@ local function initialize_one(font,attr) -- we need a proper hook into the datas
end
-local function contextchain(contexts, n)
+-- HH: somehow we can get a non context here so for now we check for .n
+
+local function contextchain(contexts,n)
local char = getchar(n)
- for k=1,#contexts do
- local ck = contexts[k]
- local seq = ck[3]
- local f = ck[4]
- local l = ck[5]
- if (l - f) == 1 and seq[f+1][char] then
- local ok = true
- local c = n
- for i=l+1,#seq do
- c = getnext(c)
- if not c or not seq[i][ischar(c)] then
- ok = false
- break
- end
- end
- if ok then
- c = getprev(n)
- for i=1,f-1 do
- c = getprev(c)
- if not c or not seq[f-i][ischar(c)] then
+ if not contexts.n then
+ return contexts[char]
+ else
+ for k=1,#contexts do
+ local ck = contexts[k]
+ local seq = ck[3]
+ local f = ck[4]
+ local l = ck[5]
+ if (l - f) == 1 and seq[f+1][char] then
+ local ok = true
+ local c = n
+ for i=l+1,#seq do
+ c = getnext(c)
+ if not c or not seq[i][ischar(c)] then
ok = false
+ break
end
end
- end
- if ok then
- return true
+ if ok then
+ c = getprev(n)
+ for i=1,f-1 do
+ c = getprev(c)
+ if not c or not seq[f-i][ischar(c)] then
+ ok = false
+ end
+ end
+ end
+ if ok then
+ return true
+ end
end
end
+ return false
end
- return false
end
local function order_matras(c)
@@ -937,11 +1047,13 @@ local function order_matras(c)
end
end
+local swapped = table.swapped(states)
+
local function reorder_one(head,start,stop,font,attr,nbspaces)
local reph, vattu, blwfcache, vatucache, pstfcache = initialize_one(font,attr) -- todo: a hash[font]
- local devanagari = fontdata[font].resources.devanagari
+ -- local devanagari = devanagarihash[font]
local current = start
local n = getnext(start)
local base = nil
@@ -969,6 +1081,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop = getprev(stop)
head = remove_node(head,current)
flushnode(current)
+ if trace_steps then
+ logprocess("reorder one, remove nbsp")
+ end
return head, stop, nbspaces
else
nbspaces = nbspaces + 1
@@ -1012,6 +1127,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop = current
end
end
+ if trace_steps then
+ logprocess("reorder one, handle nbsp")
+ end
end
end
end
@@ -1073,6 +1191,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if lastcons == stop then
stop = n
end
+ if trace_steps then
+ logprocess("reorder one, handle halant")
+ end
end
end
@@ -1102,6 +1223,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if matra == stop then
stop = n
end
+ if trace_steps then
+ logprocess("reorder one, handle matra")
+ end
end
local current = start
@@ -1148,14 +1272,19 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
local tpm = twopart_mark[ch]
- while tpm do
- local extra = copy_node(n)
- copyinjection(extra,n)
- ch = tpm[1]
- setchar(n,ch)
- setchar(extra,tpm[2])
- head = insertnodeafter(head,current,extra)
- tpm = twopart_mark[ch]
+ if tpm then
+ while tpm do
+ local extra = copy_node(n)
+ copyinjection(extra,n)
+ ch = tpm[1]
+ setchar(n,ch)
+ setchar(extra,tpm[2])
+ head = insertnodeafter(head,current,extra)
+ tpm = twopart_mark[ch]
+ end
+ if trace_steps then
+ logprocess("reorder one, handle mark")
+ end
end
while c ~= stop and dependent_vowel[ch] do
c = n
@@ -1178,10 +1307,11 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
local bp = getprev(firstcons)
local cn = getnext(current)
local last = getnext(c)
+ local done = false
while cn ~= last do
-- move pre-base matras...
if pre_mark[getchar(cn)] then
- if devanagari.left_matra_before_base then
+ if devanagarihash[font].movematra == "leftbeforebase" then
local prev, next = getboth(cn)
setlink(prev,next)
if cn == stop then
@@ -1219,6 +1349,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
cn = next
end
+ done = true
elseif current ~= base and dependent_vowel[getchar(cn)] then
local prev, next = getboth(cn)
if next then
@@ -1231,6 +1362,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setlink(b,cn,getnext(b))
order_matras(cn)
cn = next
+ done = true
elseif current == base and dependent_vowel[getchar(cn)] then
local cnn = getnext(cn)
order_matras(cn)
@@ -1244,10 +1376,15 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
allreordered = c == stop
current = getnext(c)
+ if done and trace_steps then
+ logprocess("reorder one, matra")
+ end
end
if reph or vattu then
- local current, cns = start, nil
+ local current = start
+ local cns = nil
+ local done = false
while current ~= stop do
local c = current
local n = getnext(current)
@@ -1280,6 +1417,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
local next = getnext(b)
setlink(c,next)
setlink(b,current)
+ done = true
end
elseif cns and getnext(cns) ~= current then -- todo: optimize next
-- position below-base Ra (vattu) following the consonants on which it is placed (either the base consonant or one of the pre-base consonants)
@@ -1288,6 +1426,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setlink(cp,n)
setlink(cns,current) -- cns ?
setlink(c,cnsn)
+ done = true
if c == stop then
stop = cp
break
@@ -1327,12 +1466,15 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
current = getnext(current)
end
+ if done and trace_steps then
+ logprocess("reorder one, handle reph and vata") -- todo: boolean
+ end
end
if getchar(base) == c_nbsp then
nbspaces = nbspaces - 1
if base == stop then
- stop = getprev(stop)
+ stop = getprev(stop)
end
head = remove_node(head,base)
flushnode(base)
@@ -1373,6 +1515,9 @@ function handlers.devanagari_reorder_matras(head,start) -- no leak
setlink(current,start)
-- setlink(current,start,next) -- maybe
start = startnext
+ if trace_steps then
+ logprocess("reorder matra")
+ end
break
-- elseif consonant[char] and (not getstate(current) or getstate(current,s_init) then
-- startnext = getnext(start)
@@ -1438,6 +1583,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char = ischar(current,startfont)
if char and getprop(current,a_syllabe) == startattr then
if halant[char] then
+ if trace_steps then
+ logprocess("reorder reph, handling halant")
+ end
local next = getnext(current)
if next then
local nextchar = ischar(next,startfont)
@@ -1475,6 +1623,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char = ischar(current,startfont)
if char and getprop(current,a_syllabe) == startattr then
if consonant[char] and not getstate(current,s_pref) then
+ if trace_steps then
+ logprocess("reorder reph, handling consonant")
+ end
startnext = getnext(start)
head = remove_node(head,start)
setlink(current,start)
@@ -1506,6 +1657,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char = ischar(current,startfont)
if char and getprop(current,a_syllabe) == startattr then
if getstate(current,s_pstf) then -- post-base
+ if trace_steps then
+ logprocess("reorder reph, before postscript, post base")
+ end
startnext = getnext(start)
head = remove_node(head,start)
setlink(getprev(current),start)
@@ -1514,12 +1668,15 @@ function handlers.devanagari_reorder_reph(head,start)
start = startnext
startattr = getprop(start,a_syllabe)
break
- elseif not c and ( vowel_modifier[char] or stress_tone_mark[char] ) then
+ elseif not c and (vowel_modifier[char] or stress_tone_mark[char]) then
c = current
end
current = getnext(current)
else
if c then
+ if trace_steps then
+ logprocess("reorder reph, before postscript")
+ end
startnext = getnext(start)
head = remove_node(head,start)
setlink(getprev(c),start)
@@ -1551,7 +1708,13 @@ function handlers.devanagari_reorder_reph(head,start)
local state = getstate(current)
if before_subscript[rephbase] and (state == s_blwf or state == s_pstf) then
c = current
+ if trace_steps then
+ logprocess("reorder reph, before subscript")
+ end
elseif after_subscript[rephbase] and (state == s_pstf) then
+ if trace_steps then
+ logprocess("reorder reph, after subscript")
+ end
c = current
end
current = getnext(current)
@@ -1589,6 +1752,9 @@ function handlers.devanagari_reorder_reph(head,start)
end
end
if start ~= current then
+ if trace_steps then
+ logprocess("reorder reph, to end")
+ end
startnext = getnext(start)
head = remove_node(head,start)
setlink(start,getnext(current))
@@ -1616,10 +1782,10 @@ end
-- return head, start, done
-- end
-local reordered_pre_base_reordering_consonants = { } -- shared ? not reset ?
+-- todo: nodes -> table -> nodes
function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
- if reordered_pre_base_reordering_consonants[start] then
+ if getprop(start,a_reordered) then
return head, start, true
end
local current = start -- we could cache attributes here
@@ -1630,6 +1796,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
local next = getnext(current)
if char and getprop(current,a_syllabe) == startattr then
if halant[char] then -- state can also be init
+ if trace_steps then
+ logprocess("reorder pre base consonants, handle halant")
+ end
if next then
local char = ischar(next,startfont)
if char and zw_char[char] and getprop(next,a_syllabe) == startattr then
@@ -1643,7 +1812,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
setlink(start,next)
setlink(current,start)
-- setlink(current,start,next) -- maybe
- reordered_pre_base_reordering_consonants[start] = true
+ setprop(start,"reordered",true)
start = startnext
return head, start, true
-- elseif consonant[char] and (not getstate(current) or getstate(current,s_init)) then
@@ -1670,6 +1839,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
while current and getprop(current,a_syllabe) == startattr do
local char = ischar(current)
if (not dependent_vowel[char] and (not getstate(current) or getstate(current,s_init))) then
+ if trace_steps then
+ logprocess("reorder pre base consonants, handle vowel or initial")
+ end
startnext = getnext(start)
head = remove_node(head,start)
if current == head then
@@ -1679,7 +1851,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
setlink(getprev(current),start)
setlink(start,current)
end
- reordered_pre_base_reordering_consonants[start] = true
+ setprop(start,"reordered",true)
start = startnext
break
end
@@ -1713,6 +1885,9 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme
head = stop
end
flushlist(start)
+ if trace_steps then
+ logprocess("remove joiners")
+ end
return head, stop, true
end
@@ -1739,8 +1914,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local subpos = nil
local postpos = nil
- reorderreph.coverage = { }
- rephbase[font] = { }
+ reorderreph.coverage = { } -- use local
+ rephbase[font] = { } -- use local
for i=1,#seqsubset do
@@ -1750,8 +1925,12 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local kind = subset[1]
local lookupcache = subset[2]
if kind == "rphf" then
- reorderreph.coverage[subset[3]] = true -- neat
- rephbase[font][subset[3]] = subset[4]
+ --
+ local reph = subset[3]
+ local base = subset[4]
+ reorderreph.coverage[reph] = true -- neat -- use local
+ rephbase[font][reph] = base -- use local
+ --
local current = start
local last = getnext(stop)
while current ~= last do
@@ -1760,15 +1939,15 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local found = lookupcache[c]
if found then
local next = getnext(current)
- if found[getchar(next)] or contextchain(found, next) then --above-base: rphf Consonant + Halant
+ if contextchain(found, next) then -- above-base: rphf Consonant + Halant
local afternext = next ~= stop and getnext(next)
if afternext and zw_char[getchar(afternext)] then -- ZWJ and ZWNJ prevent creation of reph
current = afternext -- getnext(next)
elseif current == start then
setstate(current,s_rphf)
- current = next
+ current = next -- later again next
else
- current = next
+ current = next -- later again next
end
end
end
@@ -1784,8 +1963,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local found = lookupcache[c]
if found then -- pre-base: pref Halant + Consonant
local next = getnext(current)
- if found[getchar(next)] or contextchain(found, next) then
- if (not getstate(current) and not getstate(next)) then --KE: state can also be init...
+ if contextchain(found, next) then
+ if not getstate(current) and not getstate(next) then --KE: state can also be init...
setstate(current,s_pref)
setstate(next,s_pref)
current = next
@@ -1804,10 +1983,10 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local found = lookupcache[c]
if found then
local next = getnext(current)
- if found[getchar(next)] or contextchain(found, next) then
+ if contextchain(found, next) then
if next ~= stop and getchar(getnext(next)) == c_zwnj then -- zwnj prevent creation of half
current = next
- elseif (not getstate(current)) then --KE: state can also be init...
+ elseif not getstate(current) then --KE: state can also be init...
setstate(current,s_half)
if not halfpos then
halfpos = current
@@ -1828,8 +2007,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local found = lookupcache[c]
if found then
local next = getnext(current)
- if found[getchar(next)] or contextchain(found, next) then
- if (not getstate(current) and not getstate(next)) then --KE: state can also be init...
+ if contextchain(found, next) then
+ if not getstate(current) and not getstate(next) then --KE: state can also be init...
setstate(current,s_blwf)
setstate(next,s_blwf)
current = next
@@ -1849,8 +2028,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local found = lookupcache[c]
if found then
local next = getnext(current)
- if found[getchar(next)] or contextchain(found, next) then
- if (not getstate(current) and not getstate(next)) then -- KE: state can also be init...
+ if contextchain(found, next) then
+ if not getstate(current) and not getstate(next) then -- KE: state can also be init...
setstate(current,s_pstf)
setstate(next,s_pstf)
current = next
@@ -1877,6 +2056,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
stop = getprev(stop)
head = remove_node(head,current)
flushnode(current)
+ if trace_steps then
+ logprocess("reorder two, remove nbsp")
+ end
return head, stop, nbspaces
else
nbspaces = nbspaces + 1
@@ -1917,6 +2099,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
end
end
end
+ if trace_steps then
+ logprocess("reorder two, handle nbsp")
+ end
end
else -- not Stand Alone cluster
local last = getnext(stop)
@@ -1948,7 +2133,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
return head, stop, nbspaces
else
if getstate(base) then -- state can also be init
- setstate(base,unsetvalue)
+ setstate(base,unsetvalue) -- THIS RESETS THE HALF STATE
end
basepos = base
end
@@ -1973,14 +2158,19 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
local cn = getnext(current)
-- not so efficient (needed for malayalam)
local tpm = twopart_mark[char]
- while tpm do
- local extra = copy_node(current)
- copyinjection(extra,current)
- char = tpm[1]
- setchar(current,char)
- setchar(extra,tpm[2])
- head = insertnodeafter(head,current,extra)
- tpm = twopart_mark[char]
+ if tpm then
+ while tpm do
+ local extra = copy_node(current)
+ copyinjection(extra,current)
+ char = tpm[1]
+ setchar(current,char)
+ setchar(extra,tpm[2])
+ head = insertnodeafter(head,current,extra)
+ tpm = twopart_mark[char]
+ end
+ if tpm and trace_steps then
+ logprocess("reorder two, handle matra")
+ end
end
--
if not moved[current] and dependent_vowel[char] then
@@ -2031,6 +2221,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
setlink(getprev(pos),current)
setlink(current,pos)
-- setlink(getprev(pos),current,pos) -- maybe
+ if trace_steps then
+ logprocess("reorder two, handle pre mark")
+ end
elseif above_mark[char] then
-- after main consonant
target = basepos
@@ -2074,13 +2267,16 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
setlink(current,getnext(target))
setlink(target,current)
-- setlink(target,current,getnext(target)) -- maybe
+ if trace_steps then
+ logprocess("reorder two, handle mark")
+ end
end
end
end
current = cn
end
- -- reorder halant+Ra
+ -- reorder halant + Ra
local current = getnext(start)
local last = getnext(stop)
@@ -2104,6 +2300,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
stop = prev
end
cn = next
+ if trace_steps then
+ logprocess("reorder two, handle halant and ra")
+ end
end
end
-- after_postscript
@@ -2143,6 +2342,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
setprev(nextnextnext,current)
end
setlink(nextnext,c)
+ if trace_steps then
+ logprocess("reorder two, handle nukta")
+ end
end
if stop == current then break end
current = getnext(current)
@@ -2155,6 +2357,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces) -- maybe do a pas
nbspaces = nbspaces - 1
head = remove_node(head, base)
flushnode(base)
+ if trace_steps then
+ logprocess("reorder two, handle nbsp")
+ end
end
return head, stop, nbspaces
@@ -2251,21 +2456,45 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
local already_below_mark -- = false
local already_post_mark -- = false
while dependent_vowel[v] do
- local vowels = twopart_mark[v] or { v }
- for k, v in next, vowels do
- if pre_mark[v] and not already_pre_mark then
- already_pre_mark = true
- elseif above_mark[v] and not already_above_mark then
- already_above_mark = true
- elseif below_mark[v] and not already_below_mark then
- already_below_mark = true
- elseif post_mark[v] and not already_post_mark then
- already_post_mark = true
- else
- return c
- end
- end
- c = getnext(c)
+ local vowels = twopart_mark[v]
+ if vowels then
+ for k=1,#vowels do
+ local v = vowels[k]
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark = true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark = true
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark = true
+ elseif post_mark[v] and not already_post_mark then
+ already_post_mark = true
+ elseif devanagarihash[font].conjuncts == "continue" then
+ -- for testing
+ else
+ return c
+ end
+ end
+ else
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark = true
+ elseif post_mark[v] and not already_post_mark then
+ if devanagarihash[font].conjuncts == "mixed" then
+ -- for messy fonts
+ return c
+ else
+ already_post_mark = true
+ end
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark = true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark = true
+ elseif devanagarihash[font].conjuncts == "continue" then
+ -- for testing
+ else
+ return c
+ end
+ end
+ c = n
n = getnext(c)
if not n then
return c
@@ -2276,7 +2505,7 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
if nukta[v] then
- c = getnext(c)
+ c = n
n = getnext(c)
if not n then
return c
@@ -2287,7 +2516,7 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
if halant[v] then
- c = getnext(c)
+ c = n
n = getnext(c)
if not n then
return c
@@ -2298,7 +2527,7 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
if vowel_modifier[v] then
- c = getnext(c)
+ c = n
n = getnext(c)
if not n then
return c
@@ -2309,7 +2538,7 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
end
if stress_tone_mark[v] then
- c = getnext(c)
+ c = n
n = getnext(c)
if not n then
return c
@@ -2327,11 +2556,12 @@ local function analyze_next_chars_one(c,font,variant) -- skip one dependent vowe
end
local function analyze_next_chars_two(c,font)
- local n = getnext(c)
+ local n, v
+ n = getnext(c)
if not n then
return c
end
- local v = ischar(n,font)
+ v = ischar(n,font)
if v and nukta[v] then
c = n
end
@@ -2393,11 +2623,11 @@ local function analyze_next_chars_two(c,font)
-- This shouldn't happen I guess.
return
end
- local n = getnext(c)
+ n = getnext(c)
if not n then
return c
end
- local v = ischar(n,font)
+ v = ischar(n,font)
if not v then
return c
end
@@ -2440,21 +2670,46 @@ local function analyze_next_chars_two(c,font)
local already_above_mark -- = false
local already_below_mark -- = false
local already_post_mark -- = false
- while dependent_vowel[v] do
- local vowels = twopart_mark[v] or { v }
- for k, v in next, vowels do
- if pre_mark[v] and not already_pre_mark then
- already_pre_mark = true
- elseif above_mark[v] and not already_above_mark then
- already_above_mark = true
- elseif below_mark[v] and not already_below_mark then
- already_below_mark = true
- elseif post_mark[v] and not already_post_mark then
- already_post_mark = true
- else
- return c
- end
- end
+ -- inefficient : too many tests but seldom more than one
+ while dependent_vowel[v] do
+ local vowels = twopart_mark[v]
+ if vowels then
+ for k=1,#vowels do
+ local v = vowels[k]
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark = true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark = true
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark = true
+ elseif post_mark[v] and not already_post_mark then
+ already_post_mark = true
+ elseif devanagarihash[font].conjuncts == "continue" then
+ -- for testing
+ else
+ return c
+ end
+ end
+ else
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark = true
+ elseif post_mark[v] and not already_post_mark then
+ if devanagarihash[font].conjuncts == "mixed" then
+ -- for messy fonts
+ return c
+ else
+ already_post_mark = true
+ end
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark = true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark = true
+ elseif devanagarihash[font].conjuncts == "continue" then
+ -- for testing
+ else
+ return c
+ end
+ end
c = n
n = getnext(c)
if not n then
@@ -2708,7 +2963,7 @@ local function method_one(head,font,attr)
end
else
if show_syntax_errors then
- local mark = mark_four[char]
+ local mark = mark_pre_above_below_post[char]
if mark then
head, current = inject_syntax_error(head,current,char)
end
@@ -2731,15 +2986,15 @@ local function method_one(head,font,attr)
while current do
local char = ischar(current,font)
if char then
- if n == 0 and not getstate(current) then
- setstate(current,s_init)
- end
- n = n + 1
- else
- n = 0
- end
- current = getnext(current)
- end
+ if n == 0 and not getstate(current) then
+ setstate(current,s_init)
+ end
+ n = n + 1
+ else
+ n = 0
+ end
+ current = getnext(current)
+ end
return head, done
end
@@ -2800,7 +3055,6 @@ local function method_two(head,font,attr)
syllableend = current
elseif consonant[getchar(current)] then
-- WHY current INSTEAD OF c ?
-
-- Consonant syllable: {C+[N]+<H+[<ZWNJ|ZWJ>]|<ZWNJ|ZWJ>+H>} + C+[N]+[A] + [< H+[<ZWNJ|ZWJ>] | {M}+[N]+[H]>]+[SM]+[(VD)]
current = analyze_next_chars_two(current,font) -- not c !
syllableend = current
@@ -2822,7 +3076,7 @@ local function method_two(head,font,attr)
if not syllableend and show_syntax_errors then
local char = ischar(current,font)
if char and not getstate(current) then -- state can also be init
- local mark = mark_four[char]
+ local mark = mark_pre_above_below_post[char]
if mark then
head, current = inject_syntax_error(head,current,char)
end
@@ -2841,15 +3095,19 @@ local function method_two(head,font,attr)
while current do
local char = ischar(current,font)
if char then
- if n == 0 and not getstate(current) then -- state can also be init
- setstate(current,s_init)
- end
- n = n + 1
- else
- n = 0
- end
- current = getnext(current)
- end
+ if n == 0 and not getstate(current) then -- state can also be init
+ setstate(current,s_init)
+ end
+ n = n + 1
+ else
+ n = 0
+ end
+ current = getnext(current)
+ end
+
+ -- if languages.indic then
+ -- head = languages.indic.handler(head)
+ -- end
return head, done
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otc.lua b/macros/luatex/generic/luaotfload/fontloader-font-otc.lua
index 2643d022a5..2c955dbce9 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otc.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otc.lua
@@ -102,8 +102,9 @@ local function validspecification(specification,name)
specification = { dataset = dataset }
else
dataset = { { data = specification.data } }
- specification.data = nil
- specification.dataset = dataset
+ specification.data = nil
+ specification.coverage = dataset
+ specification.dataset = dataset
end
local first = dataset[1]
if first then
@@ -232,6 +233,7 @@ local function addfeature(data,feature,specifications)
local unicode = tounicode(code)
local description = descriptions[unicode]
if not nocheck and not description then
+ -- todo: trace !
skip = skip + 1
else
if type(replacement) == "table" then
@@ -436,7 +438,30 @@ local function addfeature(data,feature,specifications)
local prepare_single = prepare_pair -- we could have a better test on the spec
- local function prepare_chain(list,featuretype,sublookups)
+ local function hassteps(lookups)
+ if lookups then
+ for i=1,#lookups do
+ local l = lookups[i]
+ if l then
+ for j=1,#l do
+ local l = l[j]
+ if l then
+ local n = l.nofsteps
+ if not n then
+ -- gsub_remove
+ return true
+ elseif n > 0 then
+ return true
+ end
+ end
+ end
+ end
+ end
+ end
+ return false
+ end
+
+ local function prepare_chain(list,featuretype,sublookups,nocheck)
-- todo: coveractions
local rules = list.rules
local coverage = { }
@@ -473,6 +498,7 @@ local function addfeature(data,feature,specifications)
local lookups = rule.lookups or false
local subtype = nil
if lookups and sublookups then
+ local l = { }
for k, v in sortedhash(lookups) do
local t = type(v)
if t == "table" then
@@ -483,58 +509,66 @@ local function addfeature(data,feature,specifications)
v[i] = { vi }
end
end
+ l[k] = v
elseif t == "number" then
local lookup = sublookups[v]
if lookup then
- lookups[k] = { lookup }
+ l[k] = { lookup }
if not subtype then
subtype = lookup.type
end
elseif v == 0 then
- lookups[k] = { { type = "gsub_remove" } }
+ l[k] = { { type = "gsub_remove", nosteps = true } }
else
- lookups[k] = false -- { false } -- new
+ l[k] = false -- { false } -- new
end
else
- lookups[k] = false -- { false } -- new
+ l[k] = false -- { false } -- new
end
end
+ if nocheck then
+ -- fragile
+ rule.lookups = l --no, because checking can spoil it
+ end
+ lookups = l
end
if nofsequences > 0 then -- we merge coverage into one
-- we copy as we can have different fonts
- local hashed = { }
- for i=1,nofsequences do
- local t = { }
- local s = sequence[i]
- for i=1,#s do
- local u = tounicode(s[i])
- if u then
- t[u] = true
+ if hassteps(lookups) then
+ local hashed = { }
+ for i=1,nofsequences do
+ local t = { }
+ local s = sequence[i]
+ for i=1,#s do
+ local u = tounicode(s[i])
+ if u then
+ t[u] = true
+ end
end
+ hashed[i] = t
end
- hashed[i] = t
- end
- sequence = hashed
- -- now we create the rule
- rulesize = rulesize + 1
- rulehash[rulesize] = {
- nofrules, -- 1
- lookuptype, -- 2
- sequence, -- 3
- start, -- 4
- stop, -- 5
- lookups, -- 6 (6/7 also signal of what to do)
- replacements, -- 7
- subtype, -- 8
- }
--- for unic in next, sequence[start] do
- for unic in sortedhash(sequence[start]) do
- local cu = coverage[unic]
- if not cu then
- coverage[unic] = rulehash -- can now be done cleaner i think
+ sequence = hashed
+ rulesize = rulesize + 1
+ rulehash[rulesize] = {
+ nofrules, -- 1
+ lookuptype, -- 2
+ sequence, -- 3
+ start, -- 4
+ stop, -- 5
+ lookups, -- 6 (6/7 also signal of what to do)
+ replacements, -- 7
+ subtype, -- 8
+ }
+ for unic in sortedhash(sequence[start]) do
+ local cu = coverage[unic]
+ if not cu then
+ coverage[unic] = rulehash -- can now be done cleaner i think
+ end
end
+ sequence.n = nofsequences
+ else
+ -- report_otf("no steps for %a",lookuptype) -- e.g. in primes feature
end
- sequence.n = nofsequences
end
end
rulehash.n = rulesize
@@ -626,133 +660,164 @@ local function addfeature(data,feature,specifications)
end
local askedfeatures = specification.features or everywhere
local askedsteps = specification.steps or specification.subtables or { specification.data } or { }
- local featuretype = normalized[specification.type or "substitution"] or "substitution"
+ local featuretype = specification.type or "substitution"
+ local featureaction = false
local featureflags = specification.flags or noflags
local nocheck = specification.nocheck
+ local mapping = specification.mapping
local featureorder = specification.order or { feature }
local featurechain = (featuretype == "chainsubstitution" or featuretype == "chainposition") and 1 or 0
local nofsteps = 0
local steps = { }
local sublookups = specification.lookups
local category = nil
+ local steptype = nil
+ local sequence = nil
+ --
+ if fonts.handlers.otf.handlers[featuretype] then
+ featureaction = true -- function based
+ else
+ featuretype = normalized[specification.type or "substitution"] or "substitution"
+ end
--
checkflags(specification,resources)
--
- if sublookups then
- local s = { }
- for i=1,#sublookups do
- local specification = sublookups[i]
- local askedsteps = specification.steps or specification.subtables or { specification.data } or { }
- local featuretype = normalized[specification.type or "substitution"] or "substitution"
- local featureflags = specification.flags or noflags
- local nofsteps = 0
- local steps = { }
- for i=1,#askedsteps do
- local list = askedsteps[i]
- local coverage = nil
- local format = nil
- if featuretype == "substitution" then
- coverage = prepare_substitution(list,featuretype,nocheck)
- elseif featuretype == "ligature" then
- coverage = prepare_ligature(list,featuretype,nocheck)
- elseif featuretype == "alternate" then
- coverage = prepare_alternate(list,featuretype,nocheck)
- elseif featuretype == "multiple" then
- coverage = prepare_multiple(list,featuretype,nocheck)
- elseif featuretype == "kern" or featuretype == "move" then
- format = featuretype
- coverage = prepare_kern(list,featuretype)
- elseif featuretype == "pair" then
- format = "pair"
- coverage = prepare_pair(list,featuretype)
- elseif featuretype == "single" then
- format = "single"
- coverage = prepare_single(list,featuretype)
- end
- if coverage and next(coverage) then
- nofsteps = nofsteps + 1
- steps[nofsteps] = register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ for k, v in next, askedfeatures do
+ if v[1] then
+ askedfeatures[k] = tohash(v)
+ end
+ end
+ --
+ if featureflags[1] then featureflags[1] = "mark" end
+ if featureflags[2] then featureflags[2] = "ligature" end
+ if featureflags[3] then featureflags[3] = "base" end
+ --
+ if featureaction then
+
+ category = "gsub"
+ sequence = {
+ features = { [feature] = askedfeatures },
+ flags = featureflags,
+ name = feature, -- redundant
+ order = featureorder,
+ type = featuretype,
+ -- steps = { },
+ nofsteps = 0, -- just in case we test for that
+ }
+
+ else
+
+ if sublookups then
+ local s = { }
+ for i=1,#sublookups do
+ local specification = sublookups[i]
+ local askedsteps = specification.steps or specification.subtables or { specification.data } or { }
+ local featuretype = normalized[specification.type or "substitution"] or "substitution"
+ local featureflags = specification.flags or noflags
+ local nofsteps = 0
+ local steps = { }
+ for i=1,#askedsteps do
+ local list = askedsteps[i]
+ local coverage = nil
+ local format = nil
+ if featuretype == "substitution" then
+ coverage = prepare_substitution(list,featuretype,nocheck)
+ elseif featuretype == "ligature" then
+ coverage = prepare_ligature(list,featuretype,nocheck)
+ elseif featuretype == "alternate" then
+ coverage = prepare_alternate(list,featuretype,nocheck)
+ elseif featuretype == "multiple" then
+ coverage = prepare_multiple(list,featuretype,nocheck)
+ elseif featuretype == "kern" or featuretype == "move" then
+ format = featuretype
+ coverage = prepare_kern(list,featuretype)
+ elseif featuretype == "pair" then
+ format = "pair"
+ coverage = prepare_pair(list,featuretype)
+ elseif featuretype == "single" then
+ format = "single"
+ coverage = prepare_single(list,featuretype)
+ end
+ if coverage and next(coverage) then
+ nofsteps = nofsteps + 1
+ steps[nofsteps] = register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ end
end
+ --
+ checkmerge(specification)
+ checksteps(specification)
+ --
+ s[i] = {
+ [stepkey] = steps,
+ nofsteps = nofsteps,
+ flags = featureflags,
+ type = types[featuretype],
+ }
+ end
+ sublookups = s
+ end
+
+ for i=1,#askedsteps do
+ local list = askedsteps[i]
+ local coverage = nil
+ local format = nil
+ if featuretype == "substitution" then
+ -- see font-imp-tweaks: we directly pass a mapping so no checks done
+ category = "gsub"
+ coverage = (mapping and list) or prepare_substitution(list,featuretype,nocheck)
+ elseif featuretype == "ligature" then
+ category = "gsub"
+ coverage = prepare_ligature(list,featuretype,nocheck)
+ elseif featuretype == "alternate" then
+ category = "gsub"
+ coverage = prepare_alternate(list,featuretype,nocheck)
+ elseif featuretype == "multiple" then
+ category = "gsub"
+ coverage = prepare_multiple(list,featuretype,nocheck)
+ elseif featuretype == "kern" or featuretype == "move" then
+ category = "gpos"
+ format = featuretype
+ coverage = prepare_kern(list,featuretype)
+ elseif featuretype == "pair" then
+ category = "gpos"
+ format = "pair"
+ coverage = prepare_pair(list,featuretype)
+ elseif featuretype == "single" then
+ category = "gpos"
+ format = "single"
+ coverage = prepare_single(list,featuretype)
+ elseif featuretype == "chainsubstitution" then
+ category = "gsub"
+ coverage = prepare_chain(list,featuretype,sublookups,nocheck)
+ elseif featuretype == "chainposition" then
+ category = "gpos"
+ coverage = prepare_chain(list,featuretype,sublookups,nocheck)
+ else
+ report_otf("not registering feature %a, unknown category",feature)
+ return
end
- --
- checkmerge(specification)
- checksteps(specification)
- --
- s[i] = {
+ if coverage and next(coverage) then
+ nofsteps = nofsteps + 1
+ steps[nofsteps] = register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ end
+ end
+
+ if nofsteps > 0 then
+ sequence = {
+ chain = featurechain,
+ features = { [feature] = askedfeatures },
+ flags = featureflags,
+ name = feature, -- redundant
+ order = featureorder,
[stepkey] = steps,
nofsteps = nofsteps,
- flags = featureflags,
type = types[featuretype],
}
end
- sublookups = s
end
- for i=1,#askedsteps do
- local list = askedsteps[i]
- local coverage = nil
- local format = nil
- if featuretype == "substitution" then
- category = "gsub"
- coverage = prepare_substitution(list,featuretype,nocheck)
- elseif featuretype == "ligature" then
- category = "gsub"
- coverage = prepare_ligature(list,featuretype,nocheck)
- elseif featuretype == "alternate" then
- category = "gsub"
- coverage = prepare_alternate(list,featuretype,nocheck)
- elseif featuretype == "multiple" then
- category = "gsub"
- coverage = prepare_multiple(list,featuretype,nocheck)
- elseif featuretype == "kern" or featuretype == "move" then
- category = "gpos"
- format = featuretype
- coverage = prepare_kern(list,featuretype)
- elseif featuretype == "pair" then
- category = "gpos"
- format = "pair"
- coverage = prepare_pair(list,featuretype)
- elseif featuretype == "single" then
- category = "gpos"
- format = "single"
- coverage = prepare_single(list,featuretype)
- elseif featuretype == "chainsubstitution" then
- category = "gsub"
- coverage = prepare_chain(list,featuretype,sublookups)
- elseif featuretype == "chainposition" then
- category = "gpos"
- coverage = prepare_chain(list,featuretype,sublookups)
- else
- report_otf("not registering feature %a, unknown category",feature)
- return
- end
- if coverage and next(coverage) then
- nofsteps = nofsteps + 1
- steps[nofsteps] = register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
- end
- end
- if nofsteps > 0 then
+
+ if sequence then
-- script = { lang1, lang2, lang3 } or script = { lang1 = true, ... }
- for k, v in next, askedfeatures do
- if v[1] then
- askedfeatures[k] = tohash(v)
- end
- end
- --
- if featureflags[1] then featureflags[1] = "mark" end
- if featureflags[2] then featureflags[2] = "ligature" end
- if featureflags[3] then featureflags[3] = "base" end
- local steptype = types[featuretype]
- local sequence = {
- chain = featurechain,
- features = { [feature] = askedfeatures },
- flags = featureflags,
- name = feature, -- redundant
- order = featureorder,
- [stepkey] = steps,
- nofsteps = nofsteps,
- type = steptype,
- }
- --
checkflags(sequence,resources)
checkmerge(sequence)
checksteps(sequence)
@@ -782,11 +847,13 @@ local function addfeature(data,feature,specifications)
end
end
end
+
end
end
if trace_loading then
report_otf("registering feature %a, affected glyphs %a, skipped glyphs %a",feature,done,skip)
end
+
end
otf.enhancers.addfeature = addfeature
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otl.lua b/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
index 4619e13dcf..ae2dda4f39 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otl.lua
@@ -26,7 +26,7 @@ if not modules then modules = { } end modules ['font-otl'] = {
local lower = string.lower
local type, next, tonumber, tostring, unpack = type, next, tonumber, tostring, unpack
local abs = math.abs
-local derivetable = table.derive
+local derivetable, sortedhash = table.derive, table.sortedhash
local formatters = string.formatters
local setmetatableindex = table.setmetatableindex
@@ -52,7 +52,7 @@ local report_otf = logs.reporter("fonts","otf loading")
local fonts = fonts
local otf = fonts.handlers.otf
-otf.version = 3.116 -- beware: also sync font-mis.lua and in mtx-fonts
+otf.version = 3.119 -- beware: also sync font-mis.lua and in mtx-fonts
otf.cache = containers.define("fonts", "otl", otf.version, true)
otf.svgcache = containers.define("fonts", "svg", otf.version, true)
otf.pngcache = containers.define("fonts", "png", otf.version, true)
@@ -218,6 +218,9 @@ function otf.load(filename,sub,instance)
if cleanup == 0 then
checkmemory(used,threshold,tracememory)
end
+ if context then
+ otfreaders.condense(data)
+ end
otfreaders.pack(data)
report_otf("loading done")
report_otf("saving %a in cache",filename)
@@ -314,7 +317,7 @@ local function copytotfm(data,cache_id)
local properties = derivetable(data.properties)
local descriptions = derivetable(data.descriptions)
local goodies = derivetable(data.goodies)
- local characters = { }
+ local characters = { } -- newtable if we knwo how many
local parameters = { }
local mathparameters = { }
--
@@ -504,7 +507,28 @@ local function copytotfm(data,cache_id)
properties.subfont = subfont
--
if not CONTEXTLMTXMODE or CONTEXTLMTXMODE == 0 then
- properties.encodingbytes = 2
+ --
+ properties.encodingbytes = 2
+elseif CONTEXTLMTXMODE then
+ local duplicates = resources and resources.duplicates
+ if duplicates then
+ local maxindex = data.nofglyphs or metadata.nofglyphs
+ if maxindex then
+ for u, d in sortedhash(duplicates) do
+ local du = descriptions[u]
+ if du then
+ for uu in sortedhash(d) do
+ maxindex = maxindex + 1
+ descriptions[uu].dupindex = du.index
+ descriptions[uu].index = maxindex
+ end
+ else
+ -- report_otf("no %U in font %a, duplicates ignored",u,filename)
+ end
+ end
+ end
+ end
+ --
end
--
-- properties.name = specification.name
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-oto.lua b/macros/luatex/generic/luaotfload/fontloader-font-oto.lua
index 6f5f2fb418..1475fcf678 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-oto.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-oto.lua
@@ -67,7 +67,7 @@ local function gref(descriptions,n)
end
local function cref(feature,sequence)
- return formatters["feature %a, type %a, chain lookup %a"](feature,sequence.type,sequence.name)
+ return formatters["feature %a, type %a, (chain) lookup %a"](feature,sequence.type,sequence.name)
end
local function report_substitution(feature,sequence,descriptions,unicode,substitution)
@@ -170,7 +170,7 @@ end
local function makefake(tfmdata,name,present)
local private = getprivate(tfmdata)
local character = { intermediate = true, ligatures = { } }
- resources.unicodes[name] = private
+ tfmdata.resources.unicodes[name] = private
tfmdata.characters[private] = character
tfmdata.descriptions[private] = { name = name }
present[name] = private
@@ -178,43 +178,55 @@ local function makefake(tfmdata,name,present)
end
local function make_1(present,tree,name)
- for k, v in next, tree do
- if k == "ligature" then
- present[name] = v
+ if tonumber(tree) then
+ present[name] = v
+ else
+ for k, v in next, tree do
+ if k == "ligature" then
+ present[name] = v
+ else
+ make_1(present,v,name .. "_" .. k)
+ end
+ end
+ end
+end
+
+local function make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,v)
+ local character = characters[preceding]
+ if not character then
+ if trace_baseinit then
+ report_prepare("weird ligature in lookup %a, current %C, preceding %C",sequence.name,v,preceding)
+ end
+ character = makefake(tfmdata,name,present)
+ end
+ local ligatures = character.ligatures
+ if ligatures then
+ ligatures[unicode] = { char = v }
+ else
+ character.ligatures = { [unicode] = { char = v } }
+ end
+ if done then
+ local d = done[name]
+ if not d then
+ done[name] = { "dummy", v }
else
- make_1(present,v,name .. "_" .. k)
+ d[#d+1] = v
end
end
end
local function make_2(present,tfmdata,characters,tree,name,preceding,unicode,done)
- for k, v in next, tree do
- if k == "ligature" then
- local character = characters[preceding]
- if not character then
- if trace_baseinit then
- report_prepare("weird ligature in lookup %a, current %C, preceding %C",sequence.name,v,preceding)
- end
- character = makefake(tfmdata,name,present)
- end
- local ligatures = character.ligatures
- if ligatures then
- ligatures[unicode] = { char = v }
+ if tonumber(tree) then
+ make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,tree)
+ else
+ for k, v in next, tree do
+ if k == "ligature" then
+ make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,v)
else
- character.ligatures = { [unicode] = { char = v } }
+ local code = present[name] or unicode
+ local name = name .. "_" .. k
+ make_2(present,tfmdata,characters,v,name,code,k,done)
end
- if done then
- local d = done[name]
- if not d then
- done[name] = { "dummy", v }
- else
- d[#d+1] = v
- end
- end
- else
- local code = present[name] or unicode
- local name = name .. "_" .. k
- make_2(present,tfmdata,characters,v,name,code,k,done)
end
end
end
@@ -228,12 +240,11 @@ local function preparesubstitutions(tfmdata,feature,value,validlookups,lookuplis
local ligatures = { }
local alternate = tonumber(value) or true and 1
local defaultalt = otf.defaultbasealternate
-
local trace_singles = trace_baseinit and trace_singles
local trace_alternatives = trace_baseinit and trace_alternatives
local trace_ligatures = trace_baseinit and trace_ligatures
- -- A chain of changes is handled in font-con which is clesner because
+ -- A chain of changes is handled in font-con which is cleaner because
-- we can have shared changes and such.
if not changed then
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-otr.lua b/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
index 4b154b2563..286367ed9e 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-otr.lua
@@ -682,15 +682,15 @@ local weights = {
}
local widths = {
- [1] = "ultracondensed",
- [2] = "extracondensed",
- [3] = "condensed",
- [4] = "semicondensed",
- [5] = "normal",
- [6] = "semiexpanded",
- [7] = "expanded",
- [8] = "extraexpanded",
- [9] = "ultraexpanded",
+ "ultracondensed",
+ "extracondensed",
+ "condensed",
+ "semicondensed",
+ "normal",
+ "semiexpanded",
+ "expanded",
+ "extraexpanded",
+ "ultraexpanded",
}
setmetatableindex(weights, function(t,k)
@@ -703,31 +703,31 @@ setmetatableindex(widths,function(t,k)
return "normal"
end)
-local panoseweights = {
- [ 0] = "normal",
- [ 1] = "normal",
- [ 2] = "verylight",
- [ 3] = "light",
- [ 4] = "thin",
- [ 5] = "book",
- [ 6] = "medium",
- [ 7] = "demi",
- [ 8] = "bold",
- [ 9] = "heavy",
- [10] = "black",
+local panoseweights = { [0] =
+ "normal",
+ "normal",
+ "verylight",
+ "light",
+ "thin",
+ "book",
+ "medium",
+ "demi",
+ "bold",
+ "heavy",
+ "black",
}
-local panosewidths = {
- [ 0] = "normal",
- [ 1] = "normal",
- [ 2] = "normal",
- [ 3] = "normal",
- [ 4] = "normal",
- [ 5] = "expanded",
- [ 6] = "condensed",
- [ 7] = "veryexpanded",
- [ 8] = "verycondensed",
- [ 9] = "monospaced",
+local panosewidths = { [0] =
+ "normal",
+ "normal",
+ "normal",
+ "normal",
+ "normal",
+ "expanded",
+ "condensed",
+ "veryexpanded",
+ "verycondensed",
+ "monospaced",
}
-- We implement a reader per table.
@@ -1250,7 +1250,7 @@ readers.post = function(f,fontdata,specification)
local version = readulong(f)
fontdata.postscript = {
version = version,
- italicangle = round(1000*readfixed(f))/1000,
+ italicangle = readfixed(f),
underlineposition = readfword(f),
underlinethickness = readfword(f),
monospaced = readulong(f),
@@ -1962,9 +1962,10 @@ local function getinfo(maindata,sub,platformnames,rawfamilynames,metricstoo,inst
weight = weight and lower(weight),
width = width and lower(width),
pfmweight = metrics.weightclass or 400, -- will become weightclass
- pfmwidth = metrics.widthclass or 5, -- will become widthclass
+ pfmwidth = metrics.widthclass or 5, -- will become widthclass
panosewidth = metrics.panosewidth,
panoseweight = metrics.panoseweight,
+ fstype = metrics.fstype or 0, -- embedding, subsetting and editing
italicangle = postscript.italicangle or 0,
units = fontheader.units or 0,
designsize = fontdata.designsize,
@@ -2522,6 +2523,10 @@ function readers.compact(fontdata)
report("the %a helper is not yet implemented","compact")
end
+function readers.condense(fontdata)
+ report("the %a helper is not yet implemented","condense")
+end
+
-- plug in
local extenders = { }
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ots.lua b/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
index 30d79c4077..7de108d4c8 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ots.lua
@@ -163,6 +163,8 @@ local trace_testruns = false registertracker("otf.testruns", function
local forcediscretionaries = false
local forcepairadvance = false -- for testing
+local repeatablemultiples = context or false
+
directives.register("otf.forcediscretionaries",function(v)
forcediscretionaries = v
end)
@@ -648,16 +650,52 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop) -- what t
insertnodeafter(head,start,n)
start = n
end
- if what == true then
- -- we're ok
- elseif what > 1 then
- local m = multiple[nofmultiples]
- for i=2,what do
- local n = copy_node(start) -- ignore components
- resetinjection(n)
- setchar(n,m)
- insertnodeafter(head,start,n)
- start = n
+ if what ~= true and repeatablemultiples then
+ -- This is just some experimental code; we might introduce gsub_extensible
+ -- some day instead. Beware: when we have a feature that mixes alternates and
+ -- multiples we need to make sure we don't handle the alternate string values
+ -- here. This might eventually become an lmtx only feature.
+ local kind = type(what)
+ local m, f, l
+ if kind == "string" then
+ local what, n = string.match(what,"^repeat(.-)[:=](%d+)$")
+ if what == "middle" then
+ m = tonumber(n)
+ elseif what == "first" then
+ f = tonumber(n)
+ elseif what == "last" then
+ l = tonumber(n)
+ end
+ elseif kind == "table" then
+ -- won't happen because currently we don't split these values
+ m = what.middle
+ f = what.first
+ l = what.last
+ end
+ if f or m or l then
+ if m and m > 1 and nofmultiples == 3 then
+ local middle = getnext(first)
+ for i=2,m do
+ local n = copynode(middle) -- ignore components
+ resetinjection(n)
+ insertnodeafter(head,first,n)
+ end
+ end
+ if f and f > 1 then
+ for i=2,f do
+ local n = copynode(first) -- ignore components
+ resetinjection(n)
+ insertnodeafter(head,first,n)
+ end
+ end
+ if l and l > 1 then
+ for i=2,l do
+ local n = copynode(start) -- ignore components
+ resetinjection(n)
+ insertnodeafter(head,start,n)
+ start = n
+ end
+ end
end
end
end
@@ -763,7 +801,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
while current do
local char = ischar(current,currentfont)
if char then
- local lg = ligature[char]
+ local lg = not tonumber(ligature) and ligature[char]
if lg then
stop = current
ligature = lg
@@ -776,14 +814,14 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
end
end
if stop then
- local lig = ligature.ligature
- if lig then
+ local ligature = tonumber(ligature) or ligature.ligature
+ if ligature then
if trace_ligatures then
local stopchar = getchar(stop)
- head, start = markstoligature(head,start,stop,lig)
+ head, start = markstoligature(head,start,stop,ligature)
logprocess("%s: replacing %s upto %s by ligature %s case 1",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(getchar(start)))
else
- head, start = markstoligature(head,start,stop,lig)
+ head, start = markstoligature(head,start,stop,ligature)
end
return head, start, true, false
else
@@ -799,7 +837,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
if skiphash and skiphash[char] then
current = getnext(current)
else
- local lg = ligature[char]
+ local lg = not tonumber(ligature) and ligature[char]
if lg then
if marks[char] then
hasmarks = true
@@ -833,20 +871,20 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
local match
if replace then
local char = ischar(replace,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match = true
end
end
if not match and pre then
local char = ischar(pre,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match = true
end
end
if not match and not pre or not replace then
local n = getnext(discfound)
local char = ischar(n,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match = true
end
end
@@ -890,24 +928,26 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
return head, start, true, true
end
end
- local lig = ligature.ligature
- if lig then
+ local ligature = tonumber(ligature) or ligature.ligature
+ if ligature then
if stop then
if trace_ligatures then
local stopchar = getchar(stop)
- -- head, start = toligature(head,start,stop,lig,dataset,sequence,skiphash,discfound,hasmarks)
- head, start = toligature(head,start,stop,lig,dataset,sequence,skiphash,false,hasmarks)
- logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(lig))
+ -- head, start = toligature(head,start,stop,ligature,dataset,sequence,skiphash,discfound,hasmarks)
+ head, start = toligature(head,start,stop,ligature,dataset,sequence,skiphash,false,hasmarks)
+ logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(ligature))
+ -- we can have a rare case of multiple disc in a lig but that makes no sense language wise but if really
+ -- needed we could backtrack if we're in a disc node
else
- -- head, start = toligature(head,start,stop,lig,dataset,sequence,skiphash,discfound,hasmarks)
- head, start = toligature(head,start,stop,lig,dataset,sequence,skiphash,false,hasmarks)
+ -- head, start = toligature(head,start,stop,ligature,dataset,sequence,skiphash,discfound,hasmarks)
+ head, start = toligature(head,start,stop,ligature,dataset,sequence,skiphash,false,hasmarks)
end
else
-- weird but happens (in some arabic font)
resetinjection(start)
- setchar(start,lig)
+ setchar(start,ligature)
if trace_ligatures then
- logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(dataset,sequence),gref(startchar),gref(lig))
+ logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(dataset,sequence),gref(startchar),gref(ligature))
end
end
return head, start, true, false
@@ -1050,7 +1090,7 @@ function handlers.gpos_mark2base(head,start,dataset,sequence,markanchors,rlmode,
end
return head, start, true
elseif trace_bugs then
- -- onetimemessage(currentfont,basechar,"no base anchors",report_fonts)
+ -- onetimemessage(currentfont,basechar,"no base anchors")
logwarning("%s: mark %s is not anchored to %s",pref(dataset,sequence),gref(markchar),gref(basechar))
end
elseif trace_bugs then
@@ -1116,7 +1156,7 @@ function handlers.gpos_mark2ligature(head,start,dataset,sequence,markanchors,rlm
end
elseif trace_bugs then
-- logwarning("%s: char %s is missing in font",pref(dataset,sequence),gref(basechar))
- onetimemessage(currentfont,basechar,"no base anchors",report_fonts)
+ onetimemessage(currentfont,basechar,"no base anchors")
end
elseif trace_bugs then
logwarning("%s: prev node is no char, case %i",pref(dataset,sequence),1)
@@ -1484,7 +1524,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
current = getnext(current)
-- end
else
- local lg = ligatures[schar]
+ local lg = not tonumber(ligatures) and ligatures[schar]
if lg then
ligatures = lg
last = current
@@ -1503,7 +1543,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
end
end
end
- local ligature = ligatures.ligature
+ local ligature = tonumber(ligatures) or ligatures.ligature
if ligature then
if chainindex then
stop = last
@@ -1856,7 +1896,7 @@ function chainprocs.gpos_cursive(head,start,stop,dataset,sequence,currentlookup,
end
end
elseif trace_bugs then
- onetimemessage(currentfont,startchar,"no entry anchors",report_fonts)
+ onetimemessage(currentfont,startchar,"no entry anchors")
end
break
end
@@ -1978,7 +2018,9 @@ local function chainrun(head,start,last,dataset,sequence,rlmode,skiphash,ck)
local chainproc = chainprocs[chainkind]
if chainproc then
local ok
- head, start, ok = chainproc(head,start,last,dataset,sequence,chainstep,rlmode,skiphash)
+ -- HH: chainindex 1 added here (for KAI to check too), there are weird ligatures e.g.
+ -- char + mark -> char where mark has to disappear
+ head, start, ok = chainproc(head,start,last,dataset,sequence,chainstep,rlmode,skiphash,1)
if ok then
done = true
end
@@ -2471,6 +2513,7 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
local ck = contexts[k]
local seq = ck[3]
local f = ck[4] -- first current
+local last = start
if not startchar or not seq[f][startchar] then
-- report("no hit in %a at %i of %i contexts",sequence.type,k,nofcontexts)
goto next
@@ -2481,7 +2524,7 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
else
local l = ck[5] -- last current
local current = start
- local last = start
+-- local last = start
-- current match
@@ -3409,7 +3452,7 @@ local function t_run_single(start,stop,font,attr,lookupcache)
while s do
local char = ischar(s,font)
if char then
- local lg = lookupmatch[char]
+ local lg = not tonumber(lookupmatch) and lookupmatch[char]
if lg then
if sstop then
d = 1
@@ -3439,7 +3482,7 @@ local function t_run_single(start,stop,font,attr,lookupcache)
break
end
end
- if l and l.ligature then -- so we test for ligature
+ if l and (tonumber(l) or l.ligature) then -- so we test for ligature
lastd = d
end
-- why not: if not l then break elseif l.ligature then return d end
@@ -3580,7 +3623,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps)
while s do
local char = ischar(s)
if char then
- local lg = lookupmatch[char]
+ local lg = not tonumber(lookupmatch) and lookupmatch[char]
if lg then
if sstop then
d = 1
@@ -3610,7 +3653,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps)
break
end
end
- if l and l.ligature then
+ if l and (tonumber(l) or l.ligature) then
lastd = d
end
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-oup.lua b/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
index c93ad47438..3bd2fe4828 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-oup.lua
@@ -37,13 +37,16 @@ local f_index = formatters["I%05X"]
local f_character_y = formatters["%C"]
local f_character_n = formatters["[ %C ]"]
-local check_duplicates = true -- can become an option (pseudo feature) / aways needed anyway
-local check_soft_hyphen = true -- can become an option (pseudo feature) / needed for tagging
+local check_duplicates = true -- can become an option (pseudo feature) / always needed anyway
+local check_soft_hyphen = context -- only in context
directives.register("otf.checksofthyphen",function(v)
- check_soft_hyphen = v
+ check_soft_hyphen = v -- only for testing
end)
+-- After (!) the unicodes have been resolved we compact ligature tables so before that happens
+-- we don't need to check for numbers.
+
local function replaced(list,index,replacement)
if type(list) == "number" then
return replacement
@@ -453,31 +456,48 @@ local function copyduplicates(fontdata)
local resources = fontdata.resources
local duplicates = resources.duplicates
if check_soft_hyphen then
- -- ebgaramond has a zero width empty soft hyphen
- -- antykwatorunsks lacks a soft hyphen
- local ds = descriptions[0xAD]
- if not ds or ds.width == 0 then
- if ds then
+ -- ebgaramond has a zero width empty soft hyphen
+ -- antykwatorunska lacks a soft hyphen
+ -- lucidaot has a halfwidth soft hyphen
+
+ -- local dh = descriptions[0x2D]
+ -- if dh then
+ -- descriptions[0xAD] = nil
+ -- local d = duplicates[0x2D]
+ -- if d then
+ -- d[#d+1] = { [0xAD] = true }
+ -- else
+ -- duplicates[0x2D] = { [0xAD] = true }
+ -- end
+ -- end
+
+ local dh = descriptions[0x2D]
+ if dh then
+ local ds = descriptions[0xAD]
+ if not ds or ds.width ~= dh.width then
descriptions[0xAD] = nil
- if trace_unicodes then
- report_unicodes("patching soft hyphen")
+ if ds then
+ if trace_unicodes then
+ report_unicodes("patching soft hyphen")
+ end
+ else
+ if trace_unicodes then
+ report_unicodes("adding soft hyphen")
+ end
end
- else
- if trace_unicodes then
- report_unicodes("adding soft hyphen")
+ if not duplicates then
+ duplicates = { }
+ resources.duplicates = duplicates
+ end
+ local d = duplicates[0x2D]
+ if d then
+ d[0xAD] = true
+ else
+ duplicates[0x2D] = { [0xAD] = true }
end
- end
- if not duplicates then
- duplicates = { }
- resources.duplicates = duplicates
- end
- local dh = duplicates[0x2D]
- if dh then
- dh[#dh+1] = { [0xAD] = true }
- else
- duplicates[0x2D] = { [0xAD] = true }
end
end
+
end
if duplicates then
for u, d in next, duplicates do
@@ -759,6 +779,7 @@ local function unifyglyphs(fontdata,usenames)
local resources = fontdata.resources
local zero = glyphs[0]
local zerocode = zero.unicode
+ local nofglyphs = #glyphs
if not zerocode then
zerocode = private
zero.unicode = zerocode
@@ -775,7 +796,7 @@ local function unifyglyphs(fontdata,usenames)
--
if names then
-- seldom uses, we don't issue message ... this branch might even go away
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph = glyphs[index]
local unicode = glyph.unicode -- this is the primary one
if not unicode then
@@ -808,7 +829,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode] = glyph
end
elseif trace_unicodes then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph = glyphs[index]
local unicode = glyph.unicode -- this is the primary one
if not unicode then
@@ -849,7 +870,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode] = glyph
end
else
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph = glyphs[index]
local unicode = glyph.unicode -- this is the primary one
if not unicode then
@@ -876,8 +897,8 @@ local function unifyglyphs(fontdata,usenames)
end
end
--
- for index=1,#glyphs do
- local math = glyphs[index].math
+ for index=1,nofglyphs do
+ local math = glyphs[index].math
if math then
local list = math.vparts
if list then
@@ -902,7 +923,7 @@ local function unifyglyphs(fontdata,usenames)
--
local colorpalettes = resources.colorpalettes
if colorpalettes then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local colors = glyphs[index].colors
if colors then
for i=1,#colors do
@@ -918,6 +939,7 @@ local function unifyglyphs(fontdata,usenames)
fontdata.names = names
fontdata.descriptions = descriptions
fontdata.hashmethod = hashmethod
+ fontdata.nofglyphs = nofglyphs
--
return indices, names
end
@@ -1024,6 +1046,10 @@ function readers.getcomponents(fontdata) -- handy for resolving ligatures when n
local function traverse(p,k,v)
if k == "ligature" then
collected[v] = { unpack(l) }
+ elseif tonumber(v) then
+ insert(l,k)
+ collected[v] = { unpack(l) }
+ remove(l)
else
insert(l,k)
for k, vv in next, v do
@@ -1211,7 +1237,6 @@ local function tabstr_flat(t)
end
local function tabstr_mixed(t) -- indexed
- local s = { }
local n = #t
if n == 0 then
return ""
@@ -1225,6 +1250,7 @@ local function tabstr_mixed(t) -- indexed
return tostring(k) -- number or string
end
else
+ local s = { }
for i=1,n do
local k = t[i]
if k == true then
@@ -1334,6 +1360,21 @@ function readers.pack(data)
end
end
+ -- local function pack_indexed(v) -- less code
+ -- local tag = concat(v," ")
+ -- local ht = h[tag]
+ -- if ht then
+ -- c[ht] = c[ht] + 1
+ -- else
+ -- ht = nt + 1
+ -- t[ht] = v
+ -- c[ht] = 1
+ -- h[tag] = ht
+ -- nt = ht
+ -- end
+ -- return ht
+ -- end
+
local function pack_mixed(v)
local tag = tabstr_mixed(v)
local ht = h[tag]
@@ -2782,6 +2823,91 @@ function readers.compact(data)
end
end
+if CONTEXTLMTXMODE and CONTEXTLMTXMODE > 0 then
+
+ local done = 0
+
+ local function condense_1(k,v,t)
+ if type(v) == "table" then
+ local u = false
+ local l = false
+ for k, v in next, v do
+ if k == "ligature" then
+ l = v
+ if u then
+ break
+ end
+ elseif u then
+ break
+ else
+ u = true
+ end
+ end
+ if l and not u then
+ t[k] = l
+ done = done + 1
+ end
+ if u then
+ for k, vv in next, v do
+ if k ~= "ligature" then
+ condense_1(k,vv,v)
+ end
+ end
+ end
+ end
+ end
+
+ local function condensesteps_1(lookup)
+ done = 0
+ if lookup.type == "gsub_ligature" then
+ local steps = lookup.steps
+ if steps then
+ for i=1,#steps do
+ local step = steps[i]
+ local coverage = step.coverage
+ if coverage then
+ for k, v in next, coverage do
+ if condense_1(k,v,coverage) then
+ coverage[k] = v.ligature
+ done = done + 1
+ end
+ end
+ end
+ end
+ end
+ end
+ return done
+ end
+
+ function readers.condense(data)
+ if not data or data.condensed then
+ return
+ else
+ data.condensed = true
+ end
+ local resources = data.resources
+ local condensed = 0
+ local function condense(what)
+ local lookups = resources[what]
+ if lookups then
+ for i=1,#lookups do
+ condensed = condensed + condensesteps_1(lookups[i])
+ end
+ elseif trace_optimizations then
+ report_optimizations("no lookups in %a",what)
+ end
+ end
+ condense("sequences")
+ condense("sublookups")
+ if trace_optimizations then
+ if condensed > 0 then
+ report_optimizations("%i ligatures condensed",condensed)
+ end
+ end
+ end
+
+end
+
local function mergesteps(t,k)
if k == "merged" then
local merged = { }
@@ -2901,7 +3027,7 @@ function readers.expand(data)
-- about 15% on arabtype .. then moving the a test also saves a bit (even when
-- often a is not set at all so that one is a bit debatable
- local function expandlookups(sequences)
+ local function expandlookups(sequences,whatever)
if sequences then
-- we also need to do sublookups
for i=1,#sequences do
@@ -2977,6 +3103,9 @@ function readers.expand(data)
if lookups then
for k, v in next, lookups do -- actually this one is indexed
local lookup = sublookups[v]
+if not lookup and whatever then
+ lookup = whatever[v]
+end
if lookup then
lookups[k] = lookup
if not subtype then
@@ -3057,5 +3186,5 @@ function readers.expand(data)
end
expandlookups(sequences)
- expandlookups(sublookups)
+ expandlookups(sublookups,sequences)
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-shp.lua b/macros/luatex/generic/luaotfload/fontloader-font-shp.lua
index ecf0c94180..2ca3011a5b 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-shp.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-shp.lua
@@ -17,7 +17,7 @@ local pfb = fonts.handlers.pfb
local hashes = fonts.hashes
local identifiers = hashes.identifiers
-local version = 0.010
+local version = otf.version or 0.011
local shapescache = containers.define("fonts", "shapes", version, true)
local streamscache = containers.define("fonts", "streams", version, true)
@@ -346,7 +346,7 @@ local function getstreamhash(fontid)
local fontdata = identifiers[fontid]
if fontdata then
local properties = fontdata.properties
- return makehash(properties.filename,properties.subfont,properties.instance)
+ return makehash(properties.filename,properties.subfont,properties.instance), fontdata
end
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua b/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
index a2732aa5f2..a2658d595a 100644
--- a/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
@@ -35,7 +35,7 @@ if not modules then modules = { } end modules ['font-ttf'] = {
local next, type, unpack = next, type, unpack
local band, rshift = bit32.band, bit32.rshift
-local sqrt, round = math.sqrt, math.round
+local sqrt, round, abs, min, max = math.sqrt, math.round, math.abs, math.min, math.max
local char, rep = string.char, string.rep
local concat = table.concat
local idiv = number.idiv
@@ -136,8 +136,12 @@ local function mergecomposites(glyphs,shapes)
local y = p[2]
nofpoints = nofpoints + 1
points[nofpoints] = {
+ -- unifractur : u n
+ -- seguiemj : 0x270E 0x2710
xscale * x + xrotate * y + xoffset,
yscale * y + yrotate * x + yoffset,
+-- xscale * x + yrotate * y + xoffset,
+-- xrotate * x + yscale * y + yoffset,
p[3]
}
end
@@ -203,77 +207,191 @@ end
-- We had two loops (going backward) but can do it in one loop .. but maybe we
-- should only accept fonts with proper hvar tables.
+-- dowidth is kind of hack ... fonts are not always ok wrt these extra points
+
+local xv = { } -- we share this cache
+local yv = { } -- we share this cache
+
local function applyaxis(glyph,shape,deltas,dowidth)
local points = shape.points
if points then
local nofpoints = #points
- local h = nofpoints + 2 -- weird, the example font seems to have left first
- local l = nofpoints + 1
- ----- v = nofpoints + 3
- ----- t = nofpoints + 4
local dw = 0
local dl = 0
for i=1,#deltas do
local deltaset = deltas[i]
local xvalues = deltaset.xvalues
local yvalues = deltaset.yvalues
- local dpoints = deltaset.points
- local factor = deltaset.factor
- if dpoints then
- -- todo: interpolate
- local nofdpoints = #dpoints
- for i=1,nofdpoints do
- local d = dpoints[i]
- local p = points[d]
- if p then
- if xvalues then
- local x = xvalues[i]
- if x and x ~= 0 then
- p[1] = p[1] + factor * x
+ if xvalues and yvalues then
+ local dpoints = deltaset.points
+ local factor = deltaset.factor
+ if dpoints then
+ local cnt = #dpoints
+ if dowidth then
+ cnt = cnt - 4
+ end
+ if cnt == 1 then
+ local d = dpoints[1]
+ local x = xvalues[d] * factor
+ local y = yvalues[d] * factor
+ for i=1,nofpoints do
+ local p = points[i]
+ if x ~= 0 then
+ p[1] = p[1] + x
+ end
+ if y ~= 0 then
+ p[2] = p[2] + y
end
end
- if yvalues then
- local y = yvalues[i]
- if y and y ~= 0 then
- p[2] = p[2] + factor * y
+ elseif cnt > 0 then
+ -- Not the most efficient solution but we seldom do this. We
+ -- actually need to avoid the extra points here but I'll deal
+ -- with that when needed.
+ local function find(i)
+ local prv = cnt
+ for j=1,cnt do
+ local nxt = dpoints[j]
+ if nxt == i then
+ return false, j, false
+ elseif nxt > i then
+ return prv, false, j
+ end
+ prv = j
+ end
+ return prv, false, 1
+ end
+ -- We need the first and last points untouched so we first
+ -- collect data.
+ for i=1,nofpoints do
+ local d1, d2, d3 = find(i)
+ local p2 = points[i]
+ if d2 then
+ xv[i] = xvalues[d2]
+ yv[i] = yvalues[d2]
+ else
+ local n1 = dpoints[d1]
+ local n3 = dpoints[d3]
+ -- Some day I need to figure out these extra points but
+ -- I'll wait till the standard is more clear and fonts
+ -- become better (ntg-context: fraunces.ttf > abcdef).
+ if n1 > nofpoints then
+ n1 = nofpoints
+ end
+ if n3 > nofpoints then
+ n3 = nofpoints
+ end
+ --
+ local p1 = points[n1]
+ local p3 = points[n3]
+ local p1x = p1[1]
+ local p2x = p2[1]
+ local p3x = p3[1]
+ local p1y = p1[2]
+ local p2y = p2[2]
+ local p3y = p3[2]
+ local x1 = xvalues[d1]
+ local y1 = yvalues[d1]
+ local x3 = xvalues[d3]
+ local y3 = yvalues[d3]
+ --
+ local fx
+ local fy
+ --
+ if p1x == p3x then
+ if x1 == x3 then
+ fx = x1
+ else
+ fx = 0
+ end
+ elseif p2x <= min(p1x,p3x) then
+ if p1x < p3x then
+ fx = x1
+ else
+ fx = x3
+ end
+ elseif p2x >= max(p1x,p3x) then
+ if p1x > p3x then
+ fx = x1
+ else
+ fx = x3
+ end
+ else
+ fx = (p2x - p1x)/(p3x - p1x)
+ fx = (1 - fx) * x1 + fx * x3
+ end
+ --
+ if p1y == p3y then
+ if y1 == y3 then
+ fy = y1
+ else
+ fy = 0
+ end
+ elseif p2y <= min(p1y,p3y) then
+ if p1y < p3y then
+ fy = y1
+ else
+ fy = y3
+ end
+ elseif p2y >= max(p1y,p3y) then
+ if p1y > p3y then
+ fy = y1
+ else
+ fy = y3
+ end
+ else
+ fy = (p2y - p1y)/(p3y - p1y)
+ fy = (1 - fy) * y1 + fy * y3
+ end
+ -- -- maybe:
+ -- if p1y ~= p3y then
+ -- fy = (p2y - p1y)/(p3y - p1y)
+ -- fy = (1 - fy) * y1 + fy * y3
+ -- elseif abs(p1y-p2y) < abs(p3y-p2y) then
+ -- fy = y1
+ -- else
+ -- fy = y3
+ -- end
+ --
+ xv[i] = fx
+ yv[i] = fy
end
end
- elseif dowidth then
- -- we've now ran into phantom points which is a bit fuzzy because:
- -- are there gaps in there?
- --
- -- todo: move this outside the loop (when we can be sure of all 4 being there)
- if d == h then
- -- we have a phantom point hadvance
- local x = xvalues[i]
- if x then
- dw = dw + factor * x
+ for i=1,nofpoints do
+ local pi = points[i]
+ local fx = xv[i]
+ local fy = yv[i]
+ if fx ~= 0 then
+ pi[1] = pi[1] + factor * fx
end
- elseif d == l then
- local x = xvalues[i]
- if x then
- dl = dl + factor * x
+ if fy ~= 0 then
+ pi[2] = pi[2] + factor * fy
end
end
+ else
+ report("bad deltapoint data, maybe a missing hvar table")
end
- end
- else
- for i=1,nofpoints do
- local p = points[i]
- if xvalues then
+ else
+ for i=1,nofpoints do
+ local p = points[i]
local x = xvalues[i]
- if x and x ~= 0 then
- p[1] = p[1] + factor * x
- end
- end
- if yvalues then
- local y = yvalues[i]
- if y and y ~= 0 then
- p[2] = p[2] + factor * y
+ if x then
+ local y = yvalues[i]
+ if x ~= 0 then
+ p[1] = p[1] + factor * x
+ end
+ if y ~= 0 then
+ p[2] = p[2] + factor * y
+ end
+ else
+ break
end
end
end
if dowidth then
+ local h = nofpoints + 2 -- weird, the example font seems to have left first
+ local l = nofpoints + 1
+ ----- v = nofpoints + 3
+ ----- t = nofpoints + 4
local x = xvalues[h]
if x then
dw = dw + factor * x
@@ -930,13 +1048,13 @@ local function readcomposite(f)
yoffset = yoffset * yscale
end
elseif band(flags,0x0080) ~= 0 then -- f_matrix
- xscale = read2dot14(f)
- xrotate = read2dot14(f)
- yrotate = read2dot14(f)
- yscale = read2dot14(f)
+ xscale = read2dot14(f) -- xxpart
+ xrotate = read2dot14(f) -- yxpart
+ yrotate = read2dot14(f) -- xypart
+ yscale = read2dot14(f) -- yypart
if f_xyarg and f_offset then
- xoffset = xoffset * sqrt(xscale ^2 + xrotate^2)
- yoffset = yoffset * sqrt(yrotate^2 + yscale ^2)
+ xoffset = xoffset * sqrt(xscale ^2 + yrotate^2) -- was xrotate
+ yoffset = yoffset * sqrt(xrotate^2 + yscale ^2) -- was yrotate
end
end
nofcomponents = nofcomponents + 1
@@ -1119,50 +1237,6 @@ end
local function readdeltas(f,nofpoints)
local deltas = { }
local p = 0
- local z = 0
- while nofpoints > 0 do
- local control = readbyte(f)
-if not control then
- break
-end
- local allzero = band(control,0x80) ~= 0
- local runlength = band(control,0x3F) + 1
- if allzero then
- z = z + runlength
- else
- local runreader = band(control,0x40) ~= 0 and readshort or readinteger
- if z > 0 then
- for i=1,z do
- p = p + 1
- deltas[p] = 0
- end
- z = 0
- end
- for i=1,runlength do
- p = p + 1
- deltas[p] = runreader(f)
- end
- end
- nofpoints = nofpoints - runlength
- end
- -- saves space
--- if z > 0 then
--- for i=1,z do
--- p = p + 1
--- deltas[p] = 0
--- end
--- end
- if p > 0 then
- -- forget about trailing zeros
- return deltas
- else
- -- forget about all zeros
- end
-end
-
-local function readdeltas(f,nofpoints)
- local deltas = { }
- local p = 0
while nofpoints > 0 do
local control = readbyte(f)
if control then
@@ -1330,7 +1404,8 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata)
-- local start = start and start[i] or 0
-- local stop = stop and stop [i] or 0
local start = start and start[i] or (peak < 0 and peak or 0)
- local stop = stop and stop [i] or (peak > 0 and peak or 0)
+ local stop = stop and stop [i] or (peak > 0 and peak or 0) -- or 1 ?
+-- local stop = stop and stop [i] or (peak > 0 and peak or 1) -- or 1 ?
-- do we really need these tests ... can't we assume sane values
if start > peak or peak > stop then
-- * 1
@@ -1343,7 +1418,6 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata)
s = 0
break
elseif f < peak then
--- s = - s * (f - start) / (peak - start)
s = s * (f - start) / (peak - start)
elseif f > peak then
s = s * (stop - f) / (stop - peak)
diff --git a/macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua b/macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
index 2bc6b71bf4..d8725c2140 100644
--- a/macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
@@ -16,10 +16,18 @@ fonts.encodings = encodings
encodings.agl = { }
encodings.known = { }
+encodings.glyphlistfilename = "font-age.lua"
+
setmetatable(encodings.agl, { __index = function(t,k)
if k == "unicodes" then
logs.report("fonts","loading (extended) adobe glyph list")
- local unicodes = dofile(resolvers.findfile("font-age.lua"))
+ local foundname = resolvers.findfile(encodings.glyphlistfilename) or ""
+ local unicodes = foundname ~= "" and dofile(foundname)
+ if type(unicodes) ~= "table" then
+ logs.report("fonts","missing or invalid (extended) adobe glyph list")
+ -- no message
+ unicodes = { }
+ end
encodings.agl = { unicodes = unicodes }
return unicodes
else
diff --git a/macros/luatex/generic/luaotfload/fontloader-l-file.lua b/macros/luatex/generic/luaotfload/fontloader-l-file.lua
index d0af94f09d..9f8fd65483 100644
--- a/macros/luatex/generic/luaotfload/fontloader-l-file.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-l-file.lua
@@ -456,7 +456,7 @@ function file.join(one, two, three, ...)
if not two then
return one == "" and one or lpegmatch(reslasher,one)
end
- if one == "" then
+ if not one or one == "" then
return lpegmatch(stripper,three and concat({ two, three, ... },"/") or two)
end
if lpegmatch(isnetwork,one) then
diff --git a/macros/luatex/generic/luaotfload/fontloader-l-io.lua b/macros/luatex/generic/luaotfload/fontloader-l-io.lua
index a955262a31..6bf7a97bda 100644
--- a/macros/luatex/generic/luaotfload/fontloader-l-io.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-l-io.lua
@@ -147,9 +147,12 @@ function io.copydata(source,target,action)
end
end
-function io.savedata(filename,data,joiner)
- local f = open(filename,"wb")
+function io.savedata(filename,data,joiner,append)
+ local f = open(filename,append and "ab" or "wb")
if f then
+ if append and joiner and f:seek("end") > 0 then
+ f:write(joiner)
+ end
if type(data) == "table" then
f:write(concat(data,joiner or ""))
elseif type(data) == "function" then
@@ -288,7 +291,8 @@ end
io.noflines = noflines
--- inlined is faster ... beware, better use util-fil
+-- inlined is faster ... beware, better use util-fil so these are obsolete
+-- and will go
local nextchar = {
[ 4] = function(f)
diff --git a/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua b/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
index 50306e4ab6..5f3bea08ca 100644
--- a/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
@@ -665,12 +665,12 @@ end
-- lpeg.print(lpeg.P("a","b","c"))
-- lpeg.print(lpeg.S("a","b","c"))
--- print(lpeg.count("äáàa",lpeg.P("á") + lpeg.P("à")))
--- print(lpeg.count("äáàa",lpeg.UP("áà")))
--- print(lpeg.count("äáàa",lpeg.US("àá")))
--- print(lpeg.count("äáàa",lpeg.UR("aá")))
--- print(lpeg.count("äáàa",lpeg.UR("àá")))
--- print(lpeg.count("äáàa",lpeg.UR(0x0000,0xFFFF)))
+-- print(lpeg.counter(lpeg.P("á") + lpeg.P("à"))("äáàa"))
+-- print(lpeg.counter(lpeg.UP("áà"))("äáàa"))
+-- print(lpeg.counter(lpeg.US("àá"))("äáàa"))
+-- print(lpeg.counter(lpeg.UR("aá"))("äáàa"))
+-- print(lpeg.counter(lpeg.UR("àá"))("äáàa"))
+-- print(lpeg.counter(lpeg.UR(0x0000,0xFFFF)))
function lpeg.is_lpeg(p)
return p and lpegtype(p) == "pattern"
diff --git a/macros/luatex/generic/luaotfload/fontloader-l-math.lua b/macros/luatex/generic/luaotfload/fontloader-l-math.lua
index e5668a5db0..69f0a19e98 100644
--- a/macros/luatex/generic/luaotfload/fontloader-l-math.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-l-math.lua
@@ -141,7 +141,7 @@ if not math.ult then
local floor = math.floor
- function math.tointeger(m,n)
+ function math.ult(m,n)
-- not ok but i'm not motivated to look into it now
return floor(m) < floor(n) -- unsigned comparison needed
end
diff --git a/macros/luatex/generic/luaotfload/fontloader-reference.lua b/macros/luatex/generic/luaotfload/fontloader-reference.lua
index 59cbd9ef8c..736856d2be 100644
--- a/macros/luatex/generic/luaotfload/fontloader-reference.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-reference.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 2021-05-20 15:57
+-- merge date : 2022-01-21 20:10
do -- begin closure to overcome local limits and interference
@@ -2255,9 +2255,12 @@ function io.copydata(source,target,action)
flush()
end
end
-function io.savedata(filename,data,joiner)
- local f=open(filename,"wb")
+function io.savedata(filename,data,joiner,append)
+ local f=open(filename,append and "ab" or "wb")
if f then
+ if append and joiner and f:seek("end")>0 then
+ f:write(joiner)
+ end
if type(data)=="table" then
f:write(concat(data,joiner or ""))
elseif type(data)=="function" then
@@ -2791,7 +2794,7 @@ function file.join(one,two,three,...)
if not two then
return one=="" and one or lpegmatch(reslasher,one)
end
- if one=="" then
+ if not one or one=="" then
return lpegmatch(stripper,three and concat({ two,three,... },"/") or two)
end
if lpegmatch(isnetwork,one) then
@@ -3099,7 +3102,7 @@ if not math.tointeger then
end
if not math.ult then
local floor=math.floor
- function math.tointeger(m,n)
+ function math.ult(m,n)
return floor(m)<floor(n)
end
end
@@ -3118,12 +3121,13 @@ if not modules then modules={} end modules ['util-str']={
utilities=utilities or {}
utilities.strings=utilities.strings or {}
local strings=utilities.strings
-local format,gsub,rep,sub,find=string.format,string.gsub,string.rep,string.sub,string.find
+local format,gsub,rep,sub,find,char=string.format,string.gsub,string.rep,string.sub,string.find,string.char
local load,dump=load,string.dump
local tonumber,type,tostring,next,setmetatable=tonumber,type,tostring,next,setmetatable
local unpack,concat=table.unpack,table.concat
local P,V,C,S,R,Ct,Cs,Cp,Carg,Cc=lpeg.P,lpeg.V,lpeg.C,lpeg.S,lpeg.R,lpeg.Ct,lpeg.Cs,lpeg.Cp,lpeg.Carg,lpeg.Cc
local patterns,lpegmatch=lpeg.patterns,lpeg.match
+local tsplitat=lpeg.tsplitat
local utfchar,utfbyte,utflen=utf.char,utf.byte,utf.len
local loadstripped=function(str,shortcuts)
if shortcuts then
@@ -3477,6 +3481,14 @@ patterns.escapedquotes=pattern
function string.escapedquotes(s)
return lpegmatch(pattern,s)
end
+local pattern=(1-P("\\"))^1;pattern=Cs (
+ pattern*((P("\\")/""*(digit^-3/function(s) return char(tonumber(s)) end))+pattern )^1
+)
+patterns.unescapedquotes=pattern
+function string.unescapedquotes(s)
+ return lpegmatch(pattern,s) or s
+end
+string.texnewlines=lpeg.replacer(patterns.newline,"\r",true)
local preamble=""
local environment={
global=global or _G,
@@ -4012,7 +4024,6 @@ function number.to16dot16(n)
return f_16_16(n/65536.0)
end
if not string.explode then
- local tsplitat=lpeg.tsplitat
local p_utf=patterns.utf8character
local p_check=C(p_utf)*(P("+")*Cc(true))^0
local p_split=Ct(C(p_utf)^0)
@@ -4032,6 +4043,20 @@ if not string.explode then
end
end
end
+do
+ local p_whitespace=patterns.whitespace^1
+ local cache=setmetatable({},{ __index=function(t,k)
+ local p=tsplitat(p_whitespace*P(k)*p_whitespace)
+ local v=function(s)
+ return lpegmatch(p,s)
+ end
+ t[k]=v
+ return v
+ end })
+ function string.wordsplitter(s)
+ return cache[s]
+ end
+end
end -- closure
@@ -4202,20 +4227,20 @@ function files.readinteger4le(f)
end
end
function files.readfixed2(f)
- local a,b=byte(f:read(2),1,2)
- if a>=0x80 then
- tonumber((a-0x100).."."..b)
- else
- tonumber((a ).."."..b)
+ local n1,n2=byte(f:read(2),1,2)
+ if n1>=0x80 then
+ n1=n1-0x100
end
+ return n1+n2/0xFF
end
function files.readfixed4(f)
local a,b,c,d=byte(f:read(4),1,4)
- if a>=0x80 then
- tonumber((0x100*a+b-0x10000).."."..(0x100*c+d))
- else
- tonumber((0x100*a+b ).."."..(0x100*c+d))
+ local n1=0x100*a+b
+ local n2=0x100*c+d
+ if n1>=0x8000 then
+ n1=n1-0x10000
end
+ return n1+n2/0xFFFF
end
if bit32 then
local extract=bit32.extract
@@ -4996,7 +5021,7 @@ nuts.setcomponents=direct.setcomponents
nuts.setdirection=direct.setdirection
nuts.setdisc=direct.setdisc
nuts.setreplace=direct.setreplace
-nuts.setfield=setfield
+nuts.setfield=direct.setfield
nuts.setkern=direct.setkern
nuts.setlink=direct.setlink
nuts.setlist=direct.setlist
@@ -5379,6 +5404,7 @@ characters.classifiers={
[1562]=5,
[1563]=6,
[1564]=6,
+ [1565]=6,
[1566]=6,
[1567]=6,
[1568]=2,
@@ -5845,9 +5871,9 @@ characters.classifiers={
[2131]=2,
[2132]=3,
[2133]=2,
- [2134]=4,
- [2135]=4,
- [2136]=4,
+ [2134]=3,
+ [2135]=3,
+ [2136]=3,
[2137]=5,
[2138]=5,
[2139]=5,
@@ -5862,6 +5888,47 @@ characters.classifiers={
[2152]=2,
[2153]=3,
[2154]=3,
+ [2160]=3,
+ [2161]=3,
+ [2162]=3,
+ [2163]=3,
+ [2164]=3,
+ [2165]=3,
+ [2166]=3,
+ [2167]=3,
+ [2168]=3,
+ [2169]=3,
+ [2170]=3,
+ [2171]=3,
+ [2172]=3,
+ [2173]=3,
+ [2174]=3,
+ [2175]=3,
+ [2176]=3,
+ [2177]=3,
+ [2178]=3,
+ [2179]=2,
+ [2180]=2,
+ [2181]=2,
+ [2182]=2,
+ [2183]=4,
+ [2184]=4,
+ [2185]=2,
+ [2186]=2,
+ [2187]=2,
+ [2188]=2,
+ [2189]=2,
+ [2190]=3,
+ [2192]=4,
+ [2193]=4,
+ [2200]=5,
+ [2201]=5,
+ [2202]=5,
+ [2203]=5,
+ [2204]=5,
+ [2205]=5,
+ [2206]=5,
+ [2207]=5,
[2208]=2,
[2209]=2,
[2210]=2,
@@ -5883,6 +5950,7 @@ characters.classifiers={
[2226]=3,
[2227]=2,
[2228]=2,
+ [2229]=2,
[2230]=2,
[2231]=2,
[2232]=2,
@@ -5891,6 +5959,26 @@ characters.classifiers={
[2235]=2,
[2236]=2,
[2237]=2,
+ [2238]=2,
+ [2239]=2,
+ [2240]=2,
+ [2241]=2,
+ [2242]=2,
+ [2243]=2,
+ [2244]=2,
+ [2245]=2,
+ [2246]=2,
+ [2247]=2,
+ [2248]=2,
+ [2250]=5,
+ [2251]=5,
+ [2252]=5,
+ [2253]=5,
+ [2254]=5,
+ [2255]=5,
+ [2256]=5,
+ [2257]=5,
+ [2258]=5,
[2259]=5,
[2260]=5,
[2261]=5,
@@ -6010,6 +6098,7 @@ characters.classifiers={
[2883]=5,
[2884]=5,
[2893]=5,
+ [2901]=5,
[2902]=5,
[2914]=5,
[2915]=5,
@@ -6018,6 +6107,7 @@ characters.classifiers={
[3021]=5,
[3072]=5,
[3076]=5,
+ [3132]=5,
[3134]=5,
[3135]=5,
[3136]=5,
@@ -6051,6 +6141,7 @@ characters.classifiers={
[3405]=5,
[3426]=5,
[3427]=5,
+ [3457]=5,
[3530]=5,
[3538]=5,
[3539]=5,
@@ -6230,6 +6321,7 @@ characters.classifiers={
[6156]=5,
[6157]=5,
[6158]=4,
+ [6159]=5,
[6176]=2,
[6177]=2,
[6178]=2,
@@ -6414,6 +6506,22 @@ characters.classifiers={
[6843]=5,
[6844]=5,
[6845]=5,
+ [6847]=5,
+ [6848]=5,
+ [6849]=5,
+ [6850]=5,
+ [6851]=5,
+ [6852]=5,
+ [6853]=5,
+ [6854]=5,
+ [6855]=5,
+ [6856]=5,
+ [6857]=5,
+ [6858]=5,
+ [6859]=5,
+ [6860]=5,
+ [6861]=5,
+ [6862]=5,
[6912]=5,
[6913]=5,
[6914]=5,
@@ -6546,6 +6654,7 @@ characters.classifiers={
[7671]=5,
[7672]=5,
[7673]=5,
+ [7674]=5,
[7675]=5,
[7676]=5,
[7677]=5,
@@ -6647,6 +6756,7 @@ characters.classifiers={
[43019]=5,
[43045]=5,
[43046]=5,
+ [43052]=5,
[43072]=2,
[43073]=2,
[43074]=2,
@@ -6923,6 +7033,8 @@ characters.classifiers={
[68901]=5,
[68902]=5,
[68903]=5,
+ [69291]=5,
+ [69292]=5,
[69424]=2,
[69425]=2,
[69426]=2,
@@ -6960,6 +7072,56 @@ characters.classifiers={
[69458]=2,
[69459]=2,
[69460]=3,
+ [69488]=2,
+ [69489]=2,
+ [69490]=2,
+ [69491]=2,
+ [69492]=3,
+ [69493]=3,
+ [69494]=2,
+ [69495]=2,
+ [69496]=2,
+ [69497]=2,
+ [69498]=2,
+ [69499]=2,
+ [69500]=2,
+ [69501]=2,
+ [69502]=2,
+ [69503]=2,
+ [69504]=2,
+ [69505]=2,
+ [69506]=5,
+ [69507]=5,
+ [69508]=5,
+ [69509]=5,
+ [69552]=2,
+ [69553]=4,
+ [69554]=2,
+ [69555]=2,
+ [69556]=3,
+ [69557]=3,
+ [69558]=3,
+ [69559]=4,
+ [69560]=2,
+ [69561]=3,
+ [69562]=3,
+ [69563]=2,
+ [69564]=2,
+ [69565]=3,
+ [69566]=2,
+ [69567]=2,
+ [69568]=4,
+ [69569]=2,
+ [69570]=3,
+ [69571]=3,
+ [69572]=2,
+ [69573]=4,
+ [69574]=4,
+ [69575]=4,
+ [69576]=4,
+ [69577]=3,
+ [69578]=2,
+ [69579]=1,
[69633]=5,
[69688]=5,
[69689]=5,
@@ -6976,6 +7138,9 @@ characters.classifiers={
[69700]=5,
[69701]=5,
[69702]=5,
+ [69744]=5,
+ [69747]=5,
+ [69748]=5,
[69759]=5,
[69760]=5,
[69761]=5,
@@ -6986,6 +7151,7 @@ characters.classifiers={
[69817]=5,
[69818]=5,
[69821]=4,
+ [69826]=5,
[69837]=4,
[69888]=5,
[69889]=5,
@@ -7018,6 +7184,7 @@ characters.classifiers={
[70090]=5,
[70091]=5,
[70092]=5,
+ [70095]=5,
[70191]=5,
[70192]=5,
[70193]=5,
@@ -7128,6 +7295,10 @@ characters.classifiers={
[71735]=5,
[71737]=5,
[71738]=5,
+ [71995]=5,
+ [71996]=5,
+ [71998]=5,
+ [72003]=5,
[72148]=5,
[72149]=5,
[72150]=5,
@@ -7265,8 +7436,78 @@ characters.classifiers={
[94096]=5,
[94097]=5,
[94098]=5,
+ [94180]=5,
[113821]=5,
[113822]=5,
+ [118528]=5,
+ [118529]=5,
+ [118530]=5,
+ [118531]=5,
+ [118532]=5,
+ [118533]=5,
+ [118534]=5,
+ [118535]=5,
+ [118536]=5,
+ [118537]=5,
+ [118538]=5,
+ [118539]=5,
+ [118540]=5,
+ [118541]=5,
+ [118542]=5,
+ [118543]=5,
+ [118544]=5,
+ [118545]=5,
+ [118546]=5,
+ [118547]=5,
+ [118548]=5,
+ [118549]=5,
+ [118550]=5,
+ [118551]=5,
+ [118552]=5,
+ [118553]=5,
+ [118554]=5,
+ [118555]=5,
+ [118556]=5,
+ [118557]=5,
+ [118558]=5,
+ [118559]=5,
+ [118560]=5,
+ [118561]=5,
+ [118562]=5,
+ [118563]=5,
+ [118564]=5,
+ [118565]=5,
+ [118566]=5,
+ [118567]=5,
+ [118568]=5,
+ [118569]=5,
+ [118570]=5,
+ [118571]=5,
+ [118572]=5,
+ [118573]=5,
+ [118576]=5,
+ [118577]=5,
+ [118578]=5,
+ [118579]=5,
+ [118580]=5,
+ [118581]=5,
+ [118582]=5,
+ [118583]=5,
+ [118584]=5,
+ [118585]=5,
+ [118586]=5,
+ [118587]=5,
+ [118588]=5,
+ [118589]=5,
+ [118590]=5,
+ [118591]=5,
+ [118592]=5,
+ [118593]=5,
+ [118594]=5,
+ [118595]=5,
+ [118596]=5,
+ [118597]=5,
+ [118598]=5,
[119143]=5,
[119144]=5,
[119145]=5,
@@ -7464,6 +7705,7 @@ characters.classifiers={
[123188]=5,
[123189]=5,
[123190]=5,
+ [123566]=5,
[123628]=5,
[123629]=5,
[123630]=5,
@@ -7631,6 +7873,7 @@ characters.indicgroups={
[2879]=true,
[2902]=true,
[3376]=true,
+ [5901]=true,
},
["after_postscript"]={
[2433]=true,
@@ -7806,6 +8049,7 @@ characters.indicgroups={
[2915]=true,
[3009]=true,
[3010]=true,
+ [3132]=true,
[3170]=true,
[3171]=true,
[3260]=true,
@@ -8224,6 +8468,7 @@ characters.indicgroups={
[4225]=true,
[4226]=true,
[4238]=true,
+ [5901]=true,
[43488]=true,
[43489]=true,
[43490]=true,
@@ -8548,6 +8793,7 @@ characters.indicgroups={
[3090]=true,
[3091]=true,
[3092]=true,
+ [3165]=true,
[3168]=true,
[3169]=true,
[3205]=true,
@@ -8564,6 +8810,7 @@ characters.indicgroups={
[3218]=true,
[3219]=true,
[3220]=true,
+ [3293]=true,
[3296]=true,
[3297]=true,
[3333]=true,
@@ -8604,6 +8851,7 @@ characters.indicgroups={
[2620]=true,
[2748]=true,
[2876]=true,
+ [3132]=true,
[3260]=true,
},
["post_mark"]={
@@ -8707,6 +8955,7 @@ characters.indicgroups={
[3120]=true,
[3248]=true,
[3376]=true,
+ [5901]=true,
},
["stress_tone_mark"]={
[2385]=true,
@@ -10252,10 +10501,16 @@ local encodings={}
fonts.encodings=encodings
encodings.agl={}
encodings.known={}
+encodings.glyphlistfilename="font-age.lua"
setmetatable(encodings.agl,{ __index=function(t,k)
if k=="unicodes" then
logs.report("fonts","loading (extended) adobe glyph list")
- local unicodes=dofile(resolvers.findfile("font-age.lua"))
+ local foundname=resolvers.findfile(encodings.glyphlistfilename) or ""
+ local unicodes=foundname~="" and dofile(foundname)
+ if type(unicodes)~="table" then
+ logs.report("fonts","missing or invalid (extended) adobe glyph list")
+ unicodes={}
+ end
encodings.agl={ unicodes=unicodes }
return unicodes
else
@@ -11287,15 +11542,15 @@ local weights={
[900]="black",
}
local widths={
- [1]="ultracondensed",
- [2]="extracondensed",
- [3]="condensed",
- [4]="semicondensed",
- [5]="normal",
- [6]="semiexpanded",
- [7]="expanded",
- [8]="extraexpanded",
- [9]="ultraexpanded",
+ "ultracondensed",
+ "extracondensed",
+ "condensed",
+ "semicondensed",
+ "normal",
+ "semiexpanded",
+ "expanded",
+ "extraexpanded",
+ "ultraexpanded",
}
setmetatableindex(weights,function(t,k)
local r=floor((k+50)/100)*100
@@ -11305,30 +11560,28 @@ end)
setmetatableindex(widths,function(t,k)
return "normal"
end)
-local panoseweights={
- [ 0]="normal",
- [ 1]="normal",
- [ 2]="verylight",
- [ 3]="light",
- [ 4]="thin",
- [ 5]="book",
- [ 6]="medium",
- [ 7]="demi",
- [ 8]="bold",
- [ 9]="heavy",
- [10]="black",
+local panoseweights={ [0]="normal",
+ "normal",
+ "verylight",
+ "light",
+ "thin",
+ "book",
+ "medium",
+ "demi",
+ "bold",
+ "heavy",
+ "black",
}
-local panosewidths={
- [ 0]="normal",
- [ 1]="normal",
- [ 2]="normal",
- [ 3]="normal",
- [ 4]="normal",
- [ 5]="expanded",
- [ 6]="condensed",
- [ 7]="veryexpanded",
- [ 8]="verycondensed",
- [ 9]="monospaced",
+local panosewidths={ [0]="normal",
+ "normal",
+ "normal",
+ "normal",
+ "normal",
+ "expanded",
+ "condensed",
+ "veryexpanded",
+ "verycondensed",
+ "monospaced",
}
local helpers={}
readers.helpers=helpers
@@ -11762,7 +12015,7 @@ readers.post=function(f,fontdata,specification)
local version=readulong(f)
fontdata.postscript={
version=version,
- italicangle=round(1000*readfixed(f))/1000,
+ italicangle=readfixed(f),
underlineposition=readfword(f),
underlinethickness=readfword(f),
monospaced=readulong(f),
@@ -12379,6 +12632,7 @@ local function getinfo(maindata,sub,platformnames,rawfamilynames,metricstoo,inst
pfmwidth=metrics.widthclass or 5,
panosewidth=metrics.panosewidth,
panoseweight=metrics.panoseweight,
+ fstype=metrics.fstype or 0,
italicangle=postscript.italicangle or 0,
units=fontheader.units or 0,
designsize=fontdata.designsize,
@@ -12872,6 +13126,9 @@ end
function readers.compact(fontdata)
report("the %a helper is not yet implemented","compact")
end
+function readers.condense(fontdata)
+ report("the %a helper is not yet implemented","condense")
+end
local extenders={}
function readers.registerextender(extender)
extenders[#extenders+1]=extender
@@ -13339,7 +13596,8 @@ do
top=0
end
local p_dictionary=(
- p_byte+p_positive+p_negative+p_short+p_long+p_nibbles+p_single+p_double+p_unsupported
+ p_byte+p_positive+p_negative+p_short+p_long+p_nibbles+p_single+p_double
++p_unsupported
)^1
parsedictionaries=function(data,dictionaries,version)
stack={}
@@ -13411,6 +13669,7 @@ do
local y=0
local width=false
local lsb=0
+local result={}
local r=0
local stems=0
local globalbias=0
@@ -14365,12 +14624,12 @@ do
stack[top]=-t*256+64148-tab[i+1]
i=i+2
else
- local n=0x100*tab[i+1]+tab[i+2]
- if n>=0x8000 then
- stack[top]=n-0x10000+(0x100*tab[i+3]+tab[i+4])/0xFFFF
- else
- stack[top]=n+(0x100*tab[i+3]+tab[i+4])/0xFFFF
+ local n1=0x100*tab[i+1]+tab[i+2]
+ local n2=0x100*tab[i+3]+tab[i+4]
+ if n1>=0x8000 then
+ n1=n1-0x10000
end
+ stack[top]=n1+n2/0xFFFF
i=i+5
end
elseif t==28 then
@@ -14458,7 +14717,7 @@ do
i=i+s+1
elseif t==1 or t==3 or t==18 or operation==23 then
p_getstem()
- if true then
+ if version=="cff" then
if top>0 then
for i=1,top do
r=r+1;result[r]=encode[stack[i]]
@@ -14471,7 +14730,7 @@ do
end
i=i+1
elseif t==19 or t==20 then
- local s=p_getmask() or 0
+ local s=p_getmask() or 0
if true then
if top>0 then
for i=1,top do
@@ -14494,7 +14753,7 @@ do
i=i+1
elseif t==13 then
hsbw()
- if version=="cff" then
+ if true then
r=r+1;result[r]=encode[lsb]
r=r+1;result[r]=chars[22]
else
@@ -14621,6 +14880,7 @@ do
r=r+1
result[r]=c_endchar
local stream=concat(result)
+result=nil
if glyph then
glyph.stream=stream
else
@@ -14642,6 +14902,7 @@ do
width=width,
name=charset and charset[index] or nil,
}
+result=nil
else
glyphs[index]={
boundingbox=boundingbox,
@@ -15128,7 +15389,7 @@ if not modules then modules={} end modules ['font-ttf']={
}
local next,type,unpack=next,type,unpack
local band,rshift=bit32.band,bit32.rshift
-local sqrt,round=math.sqrt,math.round
+local sqrt,round,abs,min,max=math.sqrt,math.round,math.abs,math.min,math.max
local char,rep=string.char,string.rep
local concat=table.concat
local idiv=number.idiv
@@ -15262,69 +15523,164 @@ local function curveto(m_x,m_y,l_x,l_y,r_x,r_y)
r_x+2/3*(m_x-r_x),r_y+2/3*(m_y-r_y),
r_x,r_y,"c"
end
+local xv={}
+local yv={}
local function applyaxis(glyph,shape,deltas,dowidth)
local points=shape.points
if points then
local nofpoints=#points
- local h=nofpoints+2
- local l=nofpoints+1
local dw=0
local dl=0
for i=1,#deltas do
local deltaset=deltas[i]
local xvalues=deltaset.xvalues
local yvalues=deltaset.yvalues
- local dpoints=deltaset.points
- local factor=deltaset.factor
- if dpoints then
- local nofdpoints=#dpoints
- for i=1,nofdpoints do
- local d=dpoints[i]
- local p=points[d]
- if p then
- if xvalues then
- local x=xvalues[i]
- if x and x~=0 then
- p[1]=p[1]+factor*x
+ if xvalues and yvalues then
+ local dpoints=deltaset.points
+ local factor=deltaset.factor
+ if dpoints then
+ local cnt=#dpoints
+ if dowidth then
+ cnt=cnt-4
+ end
+ if cnt==1 then
+ local d=dpoints[1]
+ local x=xvalues[d]*factor
+ local y=yvalues[d]*factor
+ for i=1,nofpoints do
+ local p=points[i]
+ if x~=0 then
+ p[1]=p[1]+x
+ end
+ if y~=0 then
+ p[2]=p[2]+y
end
end
- if yvalues then
- local y=yvalues[i]
- if y and y~=0 then
- p[2]=p[2]+factor*y
+ elseif cnt>0 then
+ local function find(i)
+ local prv=cnt
+ for j=1,cnt do
+ local nxt=dpoints[j]
+ if nxt==i then
+ return false,j,false
+ elseif nxt>i then
+ return prv,false,j
+ end
+ prv=j
+ end
+ return prv,false,1
+ end
+ for i=1,nofpoints do
+ local d1,d2,d3=find(i)
+ local p2=points[i]
+ if d2 then
+ xv[i]=xvalues[d2]
+ yv[i]=yvalues[d2]
+ else
+ local n1=dpoints[d1]
+ local n3=dpoints[d3]
+ if n1>nofpoints then
+ n1=nofpoints
+ end
+ if n3>nofpoints then
+ n3=nofpoints
+ end
+ local p1=points[n1]
+ local p3=points[n3]
+ local p1x=p1[1]
+ local p2x=p2[1]
+ local p3x=p3[1]
+ local p1y=p1[2]
+ local p2y=p2[2]
+ local p3y=p3[2]
+ local x1=xvalues[d1]
+ local y1=yvalues[d1]
+ local x3=xvalues[d3]
+ local y3=yvalues[d3]
+ local fx
+ local fy
+ if p1x==p3x then
+ if x1==x3 then
+ fx=x1
+ else
+ fx=0
+ end
+ elseif p2x<=min(p1x,p3x) then
+ if p1x<p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ elseif p2x>=max(p1x,p3x) then
+ if p1x>p3x then
+ fx=x1
+ else
+ fx=x3
+ end
+ else
+ fx=(p2x-p1x)/(p3x-p1x)
+ fx=(1-fx)*x1+fx*x3
+ end
+ if p1y==p3y then
+ if y1==y3 then
+ fy=y1
+ else
+ fy=0
+ end
+ elseif p2y<=min(p1y,p3y) then
+ if p1y<p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ elseif p2y>=max(p1y,p3y) then
+ if p1y>p3y then
+ fy=y1
+ else
+ fy=y3
+ end
+ else
+ fy=(p2y-p1y)/(p3y-p1y)
+ fy=(1-fy)*y1+fy*y3
+ end
+ xv[i]=fx
+ yv[i]=fy
end
end
- elseif dowidth then
- if d==h then
- local x=xvalues[i]
- if x then
- dw=dw+factor*x
+ for i=1,nofpoints do
+ local pi=points[i]
+ local fx=xv[i]
+ local fy=yv[i]
+ if fx~=0 then
+ pi[1]=pi[1]+factor*fx
end
- elseif d==l then
- local x=xvalues[i]
- if x then
- dl=dl+factor*x
+ if fy~=0 then
+ pi[2]=pi[2]+factor*fy
end
end
+ else
+ report("bad deltapoint data, maybe a missing hvar table")
end
- end
- else
- for i=1,nofpoints do
- local p=points[i]
- if xvalues then
+ else
+ for i=1,nofpoints do
+ local p=points[i]
local x=xvalues[i]
- if x and x~=0 then
- p[1]=p[1]+factor*x
- end
- end
- if yvalues then
- local y=yvalues[i]
- if y and y~=0 then
- p[2]=p[2]+factor*y
+ if x then
+ local y=yvalues[i]
+ if x~=0 then
+ p[1]=p[1]+factor*x
+ end
+ if y~=0 then
+ p[2]=p[2]+factor*y
+ end
+ else
+ break
end
end
end
if dowidth then
+ local h=nofpoints+2
+ local l=nofpoints+1
local x=xvalues[h]
if x then
dw=dw+factor*x
@@ -15903,13 +16259,13 @@ local function readcomposite(f)
yoffset=yoffset*yscale
end
elseif band(flags,0x0080)~=0 then
- xscale=read2dot14(f)
- xrotate=read2dot14(f)
- yrotate=read2dot14(f)
- yscale=read2dot14(f)
+ xscale=read2dot14(f)
+ xrotate=read2dot14(f)
+ yrotate=read2dot14(f)
+ yscale=read2dot14(f)
if f_xyarg and f_offset then
- xoffset=xoffset*sqrt(xscale^2+xrotate^2)
- yoffset=yoffset*sqrt(yrotate^2+yscale^2)
+ xoffset=xoffset*sqrt(xscale^2+yrotate^2)
+ yoffset=yoffset*sqrt(xrotate^2+yscale^2)
end
end
nofcomponents=nofcomponents+1
@@ -16067,40 +16423,6 @@ end
local function readdeltas(f,nofpoints)
local deltas={}
local p=0
- local z=0
- while nofpoints>0 do
- local control=readbyte(f)
-if not control then
- break
-end
- local allzero=band(control,0x80)~=0
- local runlength=band(control,0x3F)+1
- if allzero then
- z=z+runlength
- else
- local runreader=band(control,0x40)~=0 and readshort or readinteger
- if z>0 then
- for i=1,z do
- p=p+1
- deltas[p]=0
- end
- z=0
- end
- for i=1,runlength do
- p=p+1
- deltas[p]=runreader(f)
- end
- end
- nofpoints=nofpoints-runlength
- end
- if p>0 then
- return deltas
- else
- end
-end
-local function readdeltas(f,nofpoints)
- local deltas={}
- local p=0
while nofpoints>0 do
local control=readbyte(f)
if control then
@@ -19458,6 +19780,7 @@ function readers.hvar(f,fontdata,specification)
end
local tableoffset=gotodatatable(f,fontdata,"hvar",specification.variable)
if not tableoffset then
+ report("no hvar table, expect problems due to messy widths")
return
end
local version=readulong(f)
@@ -20842,7 +21165,7 @@ if not modules then modules={} end modules ['font-otl']={
local lower=string.lower
local type,next,tonumber,tostring,unpack=type,next,tonumber,tostring,unpack
local abs=math.abs
-local derivetable=table.derive
+local derivetable,sortedhash=table.derive,table.sortedhash
local formatters=string.formatters
local setmetatableindex=table.setmetatableindex
local allocate=utilities.storage.allocate
@@ -20858,7 +21181,7 @@ local trace_defining=false registertracker("fonts.defining",function(v) trace_d
local report_otf=logs.reporter("fonts","otf loading")
local fonts=fonts
local otf=fonts.handlers.otf
-otf.version=3.116
+otf.version=3.119
otf.cache=containers.define("fonts","otl",otf.version,true)
otf.svgcache=containers.define("fonts","svg",otf.version,true)
otf.pngcache=containers.define("fonts","png",otf.version,true)
@@ -20993,6 +21316,9 @@ function otf.load(filename,sub,instance)
if cleanup==0 then
checkmemory(used,threshold,tracememory)
end
+ if context then
+ otfreaders.condense(data)
+ end
otfreaders.pack(data)
report_otf("loading done")
report_otf("saving %a in cache",filename)
@@ -21063,7 +21389,7 @@ local function copytotfm(data,cache_id)
local properties=derivetable(data.properties)
local descriptions=derivetable(data.descriptions)
local goodies=derivetable(data.goodies)
- local characters={}
+ local characters={}
local parameters={}
local mathparameters={}
local resources=data.resources
@@ -21231,7 +21557,25 @@ local function copytotfm(data,cache_id)
properties.name=filename or fullname
properties.subfont=subfont
if not CONTEXTLMTXMODE or CONTEXTLMTXMODE==0 then
- properties.encodingbytes=2
+ properties.encodingbytes=2
+elseif CONTEXTLMTXMODE then
+ local duplicates=resources and resources.duplicates
+ if duplicates then
+ local maxindex=data.nofglyphs or metadata.nofglyphs
+ if maxindex then
+ for u,d in sortedhash(duplicates) do
+ local du=descriptions[u]
+ if du then
+ for uu in sortedhash(d) do
+ maxindex=maxindex+1
+ descriptions[uu].dupindex=du.index
+ descriptions[uu].index=maxindex
+ end
+ else
+ end
+ end
+ end
+ end
end
properties.private=properties.private or data.private or privateoffset
return {
@@ -21599,7 +21943,7 @@ local function gref(descriptions,n)
end
end
local function cref(feature,sequence)
- return formatters["feature %a, type %a, chain lookup %a"](feature,sequence.type,sequence.name)
+ return formatters["feature %a, type %a, (chain) lookup %a"](feature,sequence.type,sequence.name)
end
local function report_substitution(feature,sequence,descriptions,unicode,substitution)
if unicode==substitution then
@@ -21660,49 +22004,60 @@ end
local function makefake(tfmdata,name,present)
local private=getprivate(tfmdata)
local character={ intermediate=true,ligatures={} }
- resources.unicodes[name]=private
+ tfmdata.resources.unicodes[name]=private
tfmdata.characters[private]=character
tfmdata.descriptions[private]={ name=name }
present[name]=private
return character
end
local function make_1(present,tree,name)
- for k,v in next,tree do
- if k=="ligature" then
- present[name]=v
+ if tonumber(tree) then
+ present[name]=v
+ else
+ for k,v in next,tree do
+ if k=="ligature" then
+ present[name]=v
+ else
+ make_1(present,v,name.."_"..k)
+ end
+ end
+ end
+end
+local function make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,v)
+ local character=characters[preceding]
+ if not character then
+ if trace_baseinit then
+ report_prepare("weird ligature in lookup %a, current %C, preceding %C",sequence.name,v,preceding)
+ end
+ character=makefake(tfmdata,name,present)
+ end
+ local ligatures=character.ligatures
+ if ligatures then
+ ligatures[unicode]={ char=v }
+ else
+ character.ligatures={ [unicode]={ char=v } }
+ end
+ if done then
+ local d=done[name]
+ if not d then
+ done[name]={ "dummy",v }
else
- make_1(present,v,name.."_"..k)
+ d[#d+1]=v
end
end
end
local function make_2(present,tfmdata,characters,tree,name,preceding,unicode,done)
- for k,v in next,tree do
- if k=="ligature" then
- local character=characters[preceding]
- if not character then
- if trace_baseinit then
- report_prepare("weird ligature in lookup %a, current %C, preceding %C",sequence.name,v,preceding)
- end
- character=makefake(tfmdata,name,present)
- end
- local ligatures=character.ligatures
- if ligatures then
- ligatures[unicode]={ char=v }
+ if tonumber(tree) then
+ make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,tree)
+ else
+ for k,v in next,tree do
+ if k=="ligature" then
+ make_3(present,tfmdata,characters,tree,name,preceding,unicode,done,v)
else
- character.ligatures={ [unicode]={ char=v } }
- end
- if done then
- local d=done[name]
- if not d then
- done[name]={ "dummy",v }
- else
- d[#d+1]=v
- end
+ local code=present[name] or unicode
+ local name=name.."_"..k
+ make_2(present,tfmdata,characters,v,name,code,k,done)
end
- else
- local code=present[name] or unicode
- local name=name.."_"..k
- make_2(present,tfmdata,characters,v,name,code,k,done)
end
end
end
@@ -23522,9 +23877,9 @@ local f_index=formatters["I%05X"]
local f_character_y=formatters["%C"]
local f_character_n=formatters["[ %C ]"]
local check_duplicates=true
-local check_soft_hyphen=true
+local check_soft_hyphen=context
directives.register("otf.checksofthyphen",function(v)
- check_soft_hyphen=v
+ check_soft_hyphen=v
end)
local function replaced(list,index,replacement)
if type(list)=="number" then
@@ -23913,27 +24268,30 @@ local function copyduplicates(fontdata)
local resources=fontdata.resources
local duplicates=resources.duplicates
if check_soft_hyphen then
- local ds=descriptions[0xAD]
- if not ds or ds.width==0 then
- if ds then
+ local dh=descriptions[0x2D]
+ if dh then
+ local ds=descriptions[0xAD]
+ if not ds or ds.width~=dh.width then
descriptions[0xAD]=nil
- if trace_unicodes then
- report_unicodes("patching soft hyphen")
+ if ds then
+ if trace_unicodes then
+ report_unicodes("patching soft hyphen")
+ end
+ else
+ if trace_unicodes then
+ report_unicodes("adding soft hyphen")
+ end
end
- else
- if trace_unicodes then
- report_unicodes("adding soft hyphen")
+ if not duplicates then
+ duplicates={}
+ resources.duplicates=duplicates
+ end
+ local d=duplicates[0x2D]
+ if d then
+ d[0xAD]=true
+ else
+ duplicates[0x2D]={ [0xAD]=true }
end
- end
- if not duplicates then
- duplicates={}
- resources.duplicates=duplicates
- end
- local dh=duplicates[0x2D]
- if dh then
- dh[#dh+1]={ [0xAD]=true }
- else
- duplicates[0x2D]={ [0xAD]=true }
end
end
end
@@ -24199,6 +24557,7 @@ local function unifyglyphs(fontdata,usenames)
local resources=fontdata.resources
local zero=glyphs[0]
local zerocode=zero.unicode
+ local nofglyphs=#glyphs
if not zerocode then
zerocode=private
zero.unicode=zerocode
@@ -24213,7 +24572,7 @@ local function unifyglyphs(fontdata,usenames)
indices[0]=zerocode
end
if names then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph=glyphs[index]
local unicode=glyph.unicode
if not unicode then
@@ -24246,7 +24605,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode]=glyph
end
elseif trace_unicodes then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph=glyphs[index]
local unicode=glyph.unicode
if not unicode then
@@ -24287,7 +24646,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode]=glyph
end
else
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local glyph=glyphs[index]
local unicode=glyph.unicode
if not unicode then
@@ -24313,7 +24672,7 @@ local function unifyglyphs(fontdata,usenames)
descriptions[unicode]=glyph
end
end
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local math=glyphs[index].math
if math then
local list=math.vparts
@@ -24336,7 +24695,7 @@ local function unifyglyphs(fontdata,usenames)
end
local colorpalettes=resources.colorpalettes
if colorpalettes then
- for index=1,#glyphs do
+ for index=1,nofglyphs do
local colors=glyphs[index].colors
if colors then
for i=1,#colors do
@@ -24351,6 +24710,7 @@ local function unifyglyphs(fontdata,usenames)
fontdata.names=names
fontdata.descriptions=descriptions
fontdata.hashmethod=hashmethod
+ fontdata.nofglyphs=nofglyphs
return indices,names
end
local p_crappyname do
@@ -24423,6 +24783,10 @@ function readers.getcomponents(fontdata)
local function traverse(p,k,v)
if k=="ligature" then
collected[v]={ unpack(l) }
+ elseif tonumber(v) then
+ insert(l,k)
+ collected[v]={ unpack(l) }
+ remove(l)
else
insert(l,k)
for k,vv in next,v do
@@ -24583,7 +24947,6 @@ local function tabstr_flat(t)
end
end
local function tabstr_mixed(t)
- local s={}
local n=#t
if n==0 then
return ""
@@ -24597,6 +24960,7 @@ local function tabstr_mixed(t)
return tostring(k)
end
else
+ local s={}
for i=1,n do
local k=t[i]
if k==true then
@@ -25920,6 +26284,85 @@ function readers.compact(data)
end
end
end
+if CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 then
+ local done=0
+ local function condense_1(k,v,t)
+ if type(v)=="table" then
+ local u=false
+ local l=false
+ for k,v in next,v do
+ if k=="ligature" then
+ l=v
+ if u then
+ break
+ end
+ elseif u then
+ break
+ else
+ u=true
+ end
+ end
+ if l and not u then
+ t[k]=l
+ done=done+1
+ end
+ if u then
+ for k,vv in next,v do
+ if k~="ligature" then
+ condense_1(k,vv,v)
+ end
+ end
+ end
+ end
+ end
+ local function condensesteps_1(lookup)
+ done=0
+ if lookup.type=="gsub_ligature" then
+ local steps=lookup.steps
+ if steps then
+ for i=1,#steps do
+ local step=steps[i]
+ local coverage=step.coverage
+ if coverage then
+ for k,v in next,coverage do
+ if condense_1(k,v,coverage) then
+ coverage[k]=v.ligature
+ done=done+1
+ end
+ end
+ end
+ end
+ end
+ end
+ return done
+ end
+ function readers.condense(data)
+ if not data or data.condensed then
+ return
+ else
+ data.condensed=true
+ end
+ local resources=data.resources
+ local condensed=0
+ local function condense(what)
+ local lookups=resources[what]
+ if lookups then
+ for i=1,#lookups do
+ condensed=condensed+condensesteps_1(lookups[i])
+ end
+ elseif trace_optimizations then
+ report_optimizations("no lookups in %a",what)
+ end
+ end
+ condense("sequences")
+ condense("sublookups")
+ if trace_optimizations then
+ if condensed>0 then
+ report_optimizations("%i ligatures condensed",condensed)
+ end
+ end
+ end
+end
local function mergesteps(t,k)
if k=="merged" then
local merged={}
@@ -26024,7 +26467,7 @@ function readers.expand(data)
end
end
end
- local function expandlookups(sequences)
+ local function expandlookups(sequences,whatever)
if sequences then
for i=1,#sequences do
local sequence=sequences[i]
@@ -26097,6 +26540,9 @@ function readers.expand(data)
if lookups then
for k,v in next,lookups do
local lookup=sublookups[v]
+if not lookup and whatever then
+ lookup=whatever[v]
+end
if lookup then
lookups[k]=lookup
if not subtype then
@@ -26155,7 +26601,7 @@ function readers.expand(data)
end
end
expandlookups(sequences)
- expandlookups(sublookups)
+ expandlookups(sublookups,sequences)
end
end -- closure
@@ -26698,6 +27144,7 @@ local trace_compruns=false registertracker("otf.compruns",function(v) trace_com
local trace_testruns=false registertracker("otf.testruns",function(v) trace_testruns=v end)
local forcediscretionaries=false
local forcepairadvance=false
+local repeatablemultiples=context or false
directives.register("otf.forcediscretionaries",function(v)
forcediscretionaries=v
end)
@@ -27076,15 +27523,47 @@ local function multiple_glyphs(head,start,multiple,skiphash,what,stop)
insertnodeafter(head,start,n)
start=n
end
- if what==true then
- elseif what>1 then
- local m=multiple[nofmultiples]
- for i=2,what do
- local n=copy_node(start)
- resetinjection(n)
- setchar(n,m)
- insertnodeafter(head,start,n)
- start=n
+ if what~=true and repeatablemultiples then
+ local kind=type(what)
+ local m,f,l
+ if kind=="string" then
+ local what,n=string.match(what,"^repeat(.-)[:=](%d+)$")
+ if what=="middle" then
+ m=tonumber(n)
+ elseif what=="first" then
+ f=tonumber(n)
+ elseif what=="last" then
+ l=tonumber(n)
+ end
+ elseif kind=="table" then
+ m=what.middle
+ f=what.first
+ l=what.last
+ end
+ if f or m or l then
+ if m and m>1 and nofmultiples==3 then
+ local middle=getnext(first)
+ for i=2,m do
+ local n=copynode(middle)
+ resetinjection(n)
+ insertnodeafter(head,first,n)
+ end
+ end
+ if f and f>1 then
+ for i=2,f do
+ local n=copynode(first)
+ resetinjection(n)
+ insertnodeafter(head,first,n)
+ end
+ end
+ if l and l>1 then
+ for i=2,l do
+ local n=copynode(start)
+ resetinjection(n)
+ insertnodeafter(head,start,n)
+ start=n
+ end
+ end
end
end
end
@@ -27172,7 +27651,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
while current do
local char=ischar(current,currentfont)
if char then
- local lg=ligature[char]
+ local lg=not tonumber(ligature) and ligature[char]
if lg then
stop=current
ligature=lg
@@ -27185,14 +27664,14 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
end
end
if stop then
- local lig=ligature.ligature
- if lig then
+ local ligature=tonumber(ligature) or ligature.ligature
+ if ligature then
if trace_ligatures then
local stopchar=getchar(stop)
- head,start=markstoligature(head,start,stop,lig)
+ head,start=markstoligature(head,start,stop,ligature)
logprocess("%s: replacing %s upto %s by ligature %s case 1",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(getchar(start)))
else
- head,start=markstoligature(head,start,stop,lig)
+ head,start=markstoligature(head,start,stop,ligature)
end
return head,start,true,false
else
@@ -27207,7 +27686,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
if skiphash and skiphash[char] then
current=getnext(current)
else
- local lg=ligature[char]
+ local lg=not tonumber(ligature) and ligature[char]
if lg then
if marks[char] then
hasmarks=true
@@ -27233,20 +27712,20 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
local match
if replace then
local char=ischar(replace,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match=true
end
end
if not match and pre then
local char=ischar(pre,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match=true
end
end
if not match and not pre or not replace then
local n=getnext(discfound)
local char=ischar(n,currentfont)
- if char and ligature[char] then
+ if char and (not tonumber(ligature) and ligature[char]) then
match=true
end
end
@@ -27289,21 +27768,21 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature,rlmode,skip
return head,start,true,true
end
end
- local lig=ligature.ligature
- if lig then
+ local ligature=tonumber(ligature) or ligature.ligature
+ if ligature then
if stop then
if trace_ligatures then
local stopchar=getchar(stop)
- head,start=toligature(head,start,stop,lig,dataset,sequence,skiphash,false,hasmarks)
- logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(lig))
+ head,start=toligature(head,start,stop,ligature,dataset,sequence,skiphash,false,hasmarks)
+ logprocess("%s: replacing %s upto %s by ligature %s case 2",pref(dataset,sequence),gref(startchar),gref(stopchar),gref(ligature))
else
- head,start=toligature(head,start,stop,lig,dataset,sequence,skiphash,false,hasmarks)
+ head,start=toligature(head,start,stop,ligature,dataset,sequence,skiphash,false,hasmarks)
end
else
resetinjection(start)
- setchar(start,lig)
+ setchar(start,ligature)
if trace_ligatures then
- logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(dataset,sequence),gref(startchar),gref(lig))
+ logprocess("%s: replacing %s by (no real) ligature %s case 3",pref(dataset,sequence),gref(startchar),gref(ligature))
end
end
return head,start,true,false
@@ -27498,7 +27977,7 @@ function handlers.gpos_mark2ligature(head,start,dataset,sequence,markanchors,rlm
end
end
elseif trace_bugs then
- onetimemessage(currentfont,basechar,"no base anchors",report_fonts)
+ onetimemessage(currentfont,basechar,"no base anchors")
end
elseif trace_bugs then
logwarning("%s: prev node is no char, case %i",pref(dataset,sequence),1)
@@ -27777,7 +28256,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
if skiphash and skiphash[schar] then
current=getnext(current)
else
- local lg=ligatures[schar]
+ local lg=not tonumber(ligatures) and ligatures[schar]
if lg then
ligatures=lg
last=current
@@ -27796,7 +28275,7 @@ function chainprocs.gsub_ligature(head,start,stop,dataset,sequence,currentlookup
end
end
end
- local ligature=ligatures.ligature
+ local ligature=tonumber(ligatures) or ligatures.ligature
if ligature then
if chainindex then
stop=last
@@ -28138,7 +28617,7 @@ function chainprocs.gpos_cursive(head,start,stop,dataset,sequence,currentlookup,
end
end
elseif trace_bugs then
- onetimemessage(currentfont,startchar,"no entry anchors",report_fonts)
+ onetimemessage(currentfont,startchar,"no entry anchors")
end
break
end
@@ -28208,7 +28687,7 @@ local function chainrun(head,start,last,dataset,sequence,rlmode,skiphash,ck)
local chainproc=chainprocs[chainkind]
if chainproc then
local ok
- head,start,ok=chainproc(head,start,last,dataset,sequence,chainstep,rlmode,skiphash)
+ head,start,ok=chainproc(head,start,last,dataset,sequence,chainstep,rlmode,skiphash,1)
if ok then
done=true
end
@@ -28625,6 +29104,7 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
local ck=contexts[k]
local seq=ck[3]
local f=ck[4]
+local last=start
if not startchar or not seq[f][startchar] then
goto next
end
@@ -28633,7 +29113,6 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode,s
else
local l=ck[5]
local current=start
- local last=start
if l>f then
local discfound
local n=f+1
@@ -29417,7 +29896,7 @@ local function t_run_single(start,stop,font,attr,lookupcache)
while s do
local char=ischar(s,font)
if char then
- local lg=lookupmatch[char]
+ local lg=not tonumber(lookupmatch) and lookupmatch[char]
if lg then
if sstop then
d=1
@@ -29447,7 +29926,7 @@ local function t_run_single(start,stop,font,attr,lookupcache)
break
end
end
- if l and l.ligature then
+ if l and (tonumber(l) or l.ligature) then
lastd=d
end
else
@@ -29572,7 +30051,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps)
while s do
local char=ischar(s)
if char then
- local lg=lookupmatch[char]
+ local lg=not tonumber(lookupmatch) and lookupmatch[char]
if lg then
if sstop then
d=1
@@ -29602,7 +30081,7 @@ local function t_run_multiple(start,stop,font,attr,steps,nofsteps)
break
end
end
- if l and l.ligature then
+ if l and (tonumber(l) or l.ligature) then
lastd=d
end
end
@@ -30378,6 +30857,7 @@ local function validspecification(specification,name)
else
dataset={ { data=specification.data } }
specification.data=nil
+ specification.coverage=dataset
specification.dataset=dataset
end
local first=dataset[1]
@@ -30677,7 +31157,28 @@ local function addfeature(data,feature,specifications)
return coverage
end
local prepare_single=prepare_pair
- local function prepare_chain(list,featuretype,sublookups)
+ local function hassteps(lookups)
+ if lookups then
+ for i=1,#lookups do
+ local l=lookups[i]
+ if l then
+ for j=1,#l do
+ local l=l[j]
+ if l then
+ local n=l.nofsteps
+ if not n then
+ return true
+ elseif n>0 then
+ return true
+ end
+ end
+ end
+ end
+ end
+ end
+ return false
+ end
+ local function prepare_chain(list,featuretype,sublookups,nocheck)
local rules=list.rules
local coverage={}
if rules then
@@ -30713,6 +31214,7 @@ local function addfeature(data,feature,specifications)
local lookups=rule.lookups or false
local subtype=nil
if lookups and sublookups then
+ local l={}
for k,v in sortedhash(lookups) do
local t=type(v)
if t=="table" then
@@ -30722,55 +31224,63 @@ local function addfeature(data,feature,specifications)
v[i]={ vi }
end
end
+ l[k]=v
elseif t=="number" then
local lookup=sublookups[v]
if lookup then
- lookups[k]={ lookup }
+ l[k]={ lookup }
if not subtype then
subtype=lookup.type
end
elseif v==0 then
- lookups[k]={ { type="gsub_remove" } }
+ l[k]={ { type="gsub_remove",nosteps=true } }
else
- lookups[k]=false
+ l[k]=false
end
else
- lookups[k]=false
+ l[k]=false
end
end
+ if nocheck then
+ rule.lookups=l
+ end
+ lookups=l
end
if nofsequences>0 then
- local hashed={}
- for i=1,nofsequences do
- local t={}
- local s=sequence[i]
- for i=1,#s do
- local u=tounicode(s[i])
- if u then
- t[u]=true
+ if hassteps(lookups) then
+ local hashed={}
+ for i=1,nofsequences do
+ local t={}
+ local s=sequence[i]
+ for i=1,#s do
+ local u=tounicode(s[i])
+ if u then
+ t[u]=true
+ end
+ end
+ hashed[i]=t
+ end
+ sequence=hashed
+ rulesize=rulesize+1
+ rulehash[rulesize]={
+ nofrules,
+ lookuptype,
+ sequence,
+ start,
+ stop,
+ lookups,
+ replacements,
+ subtype,
+ }
+ for unic in sortedhash(sequence[start]) do
+ local cu=coverage[unic]
+ if not cu then
+ coverage[unic]=rulehash
end
end
- hashed[i]=t
- end
- sequence=hashed
- rulesize=rulesize+1
- rulehash[rulesize]={
- nofrules,
- lookuptype,
- sequence,
- start,
- stop,
- lookups,
- replacements,
- subtype,
- }
- for unic in sortedhash(sequence[start]) do
- local cu=coverage[unic]
- if not cu then
- coverage[unic]=rulehash
- end
+ sequence.n=nofsequences
+ else
end
- sequence.n=nofsequences
end
end
rulehash.n=rulesize
@@ -30857,126 +31367,148 @@ local function addfeature(data,feature,specifications)
end
local askedfeatures=specification.features or everywhere
local askedsteps=specification.steps or specification.subtables or { specification.data } or {}
- local featuretype=normalized[specification.type or "substitution"] or "substitution"
+ local featuretype=specification.type or "substitution"
+ local featureaction=false
local featureflags=specification.flags or noflags
local nocheck=specification.nocheck
+ local mapping=specification.mapping
local featureorder=specification.order or { feature }
local featurechain=(featuretype=="chainsubstitution" or featuretype=="chainposition") and 1 or 0
local nofsteps=0
local steps={}
local sublookups=specification.lookups
local category=nil
+ local steptype=nil
+ local sequence=nil
+ if fonts.handlers.otf.handlers[featuretype] then
+ featureaction=true
+ else
+ featuretype=normalized[specification.type or "substitution"] or "substitution"
+ end
checkflags(specification,resources)
- if sublookups then
- local s={}
- for i=1,#sublookups do
- local specification=sublookups[i]
- local askedsteps=specification.steps or specification.subtables or { specification.data } or {}
- local featuretype=normalized[specification.type or "substitution"] or "substitution"
- local featureflags=specification.flags or noflags
- local nofsteps=0
- local steps={}
- for i=1,#askedsteps do
- local list=askedsteps[i]
- local coverage=nil
- local format=nil
- if featuretype=="substitution" then
- coverage=prepare_substitution(list,featuretype,nocheck)
- elseif featuretype=="ligature" then
- coverage=prepare_ligature(list,featuretype,nocheck)
- elseif featuretype=="alternate" then
- coverage=prepare_alternate(list,featuretype,nocheck)
- elseif featuretype=="multiple" then
- coverage=prepare_multiple(list,featuretype,nocheck)
- elseif featuretype=="kern" or featuretype=="move" then
- format=featuretype
- coverage=prepare_kern(list,featuretype)
- elseif featuretype=="pair" then
- format="pair"
- coverage=prepare_pair(list,featuretype)
- elseif featuretype=="single" then
- format="single"
- coverage=prepare_single(list,featuretype)
- end
- if coverage and next(coverage) then
- nofsteps=nofsteps+1
- steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ for k,v in next,askedfeatures do
+ if v[1] then
+ askedfeatures[k]=tohash(v)
+ end
+ end
+ if featureflags[1] then featureflags[1]="mark" end
+ if featureflags[2] then featureflags[2]="ligature" end
+ if featureflags[3] then featureflags[3]="base" end
+ if featureaction then
+ category="gsub"
+ sequence={
+ features={ [feature]=askedfeatures },
+ flags=featureflags,
+ name=feature,
+ order=featureorder,
+ type=featuretype,
+ nofsteps=0,
+ }
+ else
+ if sublookups then
+ local s={}
+ for i=1,#sublookups do
+ local specification=sublookups[i]
+ local askedsteps=specification.steps or specification.subtables or { specification.data } or {}
+ local featuretype=normalized[specification.type or "substitution"] or "substitution"
+ local featureflags=specification.flags or noflags
+ local nofsteps=0
+ local steps={}
+ for i=1,#askedsteps do
+ local list=askedsteps[i]
+ local coverage=nil
+ local format=nil
+ if featuretype=="substitution" then
+ coverage=prepare_substitution(list,featuretype,nocheck)
+ elseif featuretype=="ligature" then
+ coverage=prepare_ligature(list,featuretype,nocheck)
+ elseif featuretype=="alternate" then
+ coverage=prepare_alternate(list,featuretype,nocheck)
+ elseif featuretype=="multiple" then
+ coverage=prepare_multiple(list,featuretype,nocheck)
+ elseif featuretype=="kern" or featuretype=="move" then
+ format=featuretype
+ coverage=prepare_kern(list,featuretype)
+ elseif featuretype=="pair" then
+ format="pair"
+ coverage=prepare_pair(list,featuretype)
+ elseif featuretype=="single" then
+ format="single"
+ coverage=prepare_single(list,featuretype)
+ end
+ if coverage and next(coverage) then
+ nofsteps=nofsteps+1
+ steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ end
end
+ checkmerge(specification)
+ checksteps(specification)
+ s[i]={
+ [stepkey]=steps,
+ nofsteps=nofsteps,
+ flags=featureflags,
+ type=types[featuretype],
+ }
+ end
+ sublookups=s
+ end
+ for i=1,#askedsteps do
+ local list=askedsteps[i]
+ local coverage=nil
+ local format=nil
+ if featuretype=="substitution" then
+ category="gsub"
+ coverage=(mapping and list) or prepare_substitution(list,featuretype,nocheck)
+ elseif featuretype=="ligature" then
+ category="gsub"
+ coverage=prepare_ligature(list,featuretype,nocheck)
+ elseif featuretype=="alternate" then
+ category="gsub"
+ coverage=prepare_alternate(list,featuretype,nocheck)
+ elseif featuretype=="multiple" then
+ category="gsub"
+ coverage=prepare_multiple(list,featuretype,nocheck)
+ elseif featuretype=="kern" or featuretype=="move" then
+ category="gpos"
+ format=featuretype
+ coverage=prepare_kern(list,featuretype)
+ elseif featuretype=="pair" then
+ category="gpos"
+ format="pair"
+ coverage=prepare_pair(list,featuretype)
+ elseif featuretype=="single" then
+ category="gpos"
+ format="single"
+ coverage=prepare_single(list,featuretype)
+ elseif featuretype=="chainsubstitution" then
+ category="gsub"
+ coverage=prepare_chain(list,featuretype,sublookups,nocheck)
+ elseif featuretype=="chainposition" then
+ category="gpos"
+ coverage=prepare_chain(list,featuretype,sublookups,nocheck)
+ else
+ report_otf("not registering feature %a, unknown category",feature)
+ return
end
- checkmerge(specification)
- checksteps(specification)
- s[i]={
+ if coverage and next(coverage) then
+ nofsteps=nofsteps+1
+ steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
+ end
+ end
+ if nofsteps>0 then
+ sequence={
+ chain=featurechain,
+ features={ [feature]=askedfeatures },
+ flags=featureflags,
+ name=feature,
+ order=featureorder,
[stepkey]=steps,
nofsteps=nofsteps,
- flags=featureflags,
type=types[featuretype],
}
end
- sublookups=s
- end
- for i=1,#askedsteps do
- local list=askedsteps[i]
- local coverage=nil
- local format=nil
- if featuretype=="substitution" then
- category="gsub"
- coverage=prepare_substitution(list,featuretype,nocheck)
- elseif featuretype=="ligature" then
- category="gsub"
- coverage=prepare_ligature(list,featuretype,nocheck)
- elseif featuretype=="alternate" then
- category="gsub"
- coverage=prepare_alternate(list,featuretype,nocheck)
- elseif featuretype=="multiple" then
- category="gsub"
- coverage=prepare_multiple(list,featuretype,nocheck)
- elseif featuretype=="kern" or featuretype=="move" then
- category="gpos"
- format=featuretype
- coverage=prepare_kern(list,featuretype)
- elseif featuretype=="pair" then
- category="gpos"
- format="pair"
- coverage=prepare_pair(list,featuretype)
- elseif featuretype=="single" then
- category="gpos"
- format="single"
- coverage=prepare_single(list,featuretype)
- elseif featuretype=="chainsubstitution" then
- category="gsub"
- coverage=prepare_chain(list,featuretype,sublookups)
- elseif featuretype=="chainposition" then
- category="gpos"
- coverage=prepare_chain(list,featuretype,sublookups)
- else
- report_otf("not registering feature %a, unknown category",feature)
- return
- end
- if coverage and next(coverage) then
- nofsteps=nofsteps+1
- steps[nofsteps]=register(coverage,featuretype,format,feature,nofsteps,descriptions,resources)
- end
end
- if nofsteps>0 then
- for k,v in next,askedfeatures do
- if v[1] then
- askedfeatures[k]=tohash(v)
- end
- end
- if featureflags[1] then featureflags[1]="mark" end
- if featureflags[2] then featureflags[2]="ligature" end
- if featureflags[3] then featureflags[3]="base" end
- local steptype=types[featuretype]
- local sequence={
- chain=featurechain,
- features={ [feature]=askedfeatures },
- flags=featureflags,
- name=feature,
- order=featureorder,
- [stepkey]=steps,
- nofsteps=nofsteps,
- type=steptype,
- }
+ if sequence then
checkflags(sequence,resources)
checkmerge(sequence)
checksteps(sequence)
@@ -31055,8 +31587,10 @@ if not modules then modules={} end modules ['font-osd']={
copyright="TAT Zetwerk / PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local insert,imerge,copy,tohash=table.insert,table.imerge,table.copy,table.tohash
-local next,type=next,type
+local insert,remove,imerge,copy,tohash=table.insert,table.remove,table.imerge,table.copy,table.tohash
+local next,type,rawget=next,type,rawget
+local formatters=string.formatters
+local settings_to_hash=utilities.parsers.settings_to_hash
local report=logs.reporter("otf","devanagari")
fonts=fonts or {}
fonts.analyzers=fonts.analyzers or {}
@@ -31066,6 +31600,7 @@ local handlers=otf.handlers
local methods=fonts.analyzers.methods
local otffeatures=fonts.constructors.features.otf
local registerotffeature=otffeatures.register
+local trace_steps=false
local nuts=nodes.nuts
local getnext=nuts.getnext
local getprev=nuts.getprev
@@ -31091,7 +31626,8 @@ local flushnode=nuts.flushnode
local copyinjection=nodes.injections.copy
local unsetvalue=attributes.unsetvalue
local fontdata=fonts.hashes.identifiers
-local a_syllabe=attributes.private('syllabe')
+local a_syllabe="syllable"
+local a_reordered="reordered"
local dotted_circle=0x25CC
local c_nbsp=0x00A0
local c_zwnj=0x200C
@@ -31111,6 +31647,7 @@ replace_all_nbsp=function(head)
return replace_all_nbsp(head)
end
local processcharacters=nil
+local logprocess=nil
if context then
--removed
@@ -31123,6 +31660,8 @@ else
end
return head
end
+ logprocess=function(str)
+ end
end
local indicgroups=characters and characters.indicgroups
if not indicgroups and characters then
@@ -31232,7 +31771,7 @@ local before_subscript=indicgroups.before_subscript
local after_subscript=indicgroups.after_subscript
local before_main=indicgroups.before_main
local after_main=indicgroups.after_main
-local mark_four=table.merged (
+local mark_pre_above_below_post=table.merged (
pre_mark,
above_mark,
below_mark,
@@ -31243,6 +31782,11 @@ local mark_above_below_post=table.merged (
below_mark,
post_mark
)
+local devanagarihash=table.setmetatableindex(function(t,k)
+ local v=fontdata[k].resources.devanagari or false
+ t[k]=v
+ return v
+end)
local zw_char={
[c_zwnj]=true,
[c_zwj ]=true,
@@ -31363,7 +31907,7 @@ local function initializedevanagi(tfmdata)
local resources=tfmdata.resources
local devanagari=resources.devanagari
if not devanagari then
- report("adding devanagari features to font")
+ report("adding features to font")
local gsubfeatures=resources.features.gsub
local sequences=resources.sequences
local sharedfeatures=tfmdata.shared.features
@@ -31390,7 +31934,7 @@ local function initializedevanagi(tfmdata)
for k,v in next,pre_mark do
local locl=coverage[k]
if locl then
- if #locl>0 then
+ if #locl>0 then
for j=1,#locl do
local ck=locl[j]
local f=ck[4]
@@ -31411,6 +31955,7 @@ local function initializedevanagi(tfmdata)
end
end
end
+ else
end
if locl then
reorder_matras.steps[1].coverage[locl]=true
@@ -31423,7 +31968,7 @@ local function initializedevanagi(tfmdata)
if basic_shaping_forms[k] then
lastmatch=lastmatch+1
if s~=lastmatch then
- table.insert(sequences,lastmatch,table.remove(sequences,s))
+ insert(sequences,lastmatch,remove(sequences,s))
end
end
end
@@ -31441,9 +31986,7 @@ local function initializedevanagi(tfmdata)
local vatucache={}
local pstfcache={}
local seqsubset={}
- local rephstep={
- coverage={}
- }
+ local rephstep={ coverage={} }
local devanagari={
reph=false,
vattu=false,
@@ -31468,7 +32011,7 @@ local function initializedevanagi(tfmdata)
local has_pstf=features.pstf
if has_rphf and has_rphf[script] then
devanagari.reph=true
- elseif (has_blwf and has_blwf[script] ) or (has_vatu and has_vatu[script] ) then
+ elseif (has_blwf and has_blwf[script]) or (has_vatu and has_vatu[script]) then
devanagari.vattu=true
for i=1,nofsteps do
local step=steps[i]
@@ -31476,10 +32019,8 @@ local function initializedevanagi(tfmdata)
if coverage then
for k,v in next,coverage do
for h,w in next,halant do
- if v[h] then
- if not blwfcache[k] then
- blwfcache[k]=v
- end
+ if v[h] and not blwfcache[k] then
+ blwfcache[k]=v
end
if has_vatu and has_vatu[script] and not vatucache[k] then
vatucache[k]=v
@@ -31502,33 +32043,37 @@ local function initializedevanagi(tfmdata)
local r=coverage[k]
if r then
local found=false
- if #r>0 then
+ if #r>0 then
for j=1,#r do
local ck=r[j]
local f=ck[4]
local chainlookups=ck[6]
- if chainlookups and chainlookups[f] then
+ if chainlookups then
local chainlookup=chainlookups[f]
- for j=1,#chainlookup do
- local chainstep=chainlookup[j]
- local steps=chainstep.steps
- local nofsteps=chainstep.nofsteps
- for i=1,nofsteps do
- local step=steps[i]
- local coverage=step.coverage
- if coverage then
- local h=coverage[k]
- if h then
- for k,v in next,h do
- found=v and v.ligature
+ if chainlookup then
+ for j=1,#chainlookup do
+ local chainstep=chainlookup[j]
+ local steps=chainstep.steps
+ local nofsteps=chainstep.nofsteps
+ for i=1,nofsteps do
+ local step=steps[i]
+ local coverage=step.coverage
+ if coverage then
+ local h=coverage[k]
+ if h then
+ for k,v in next,h do
+ if v then
+ found=tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found]=true
+ break
+ end
+ end
+ end
if found then
- pre_base_reordering_consonants[found]=true
break
end
end
- if found then
- break
- end
end
end
end
@@ -31537,10 +32082,12 @@ local function initializedevanagi(tfmdata)
end
else
for k,v in next,r do
- found=v and v.ligature
- if found then
- pre_base_reordering_consonants[found]=true
- break
+ if v then
+ found=tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found]=true
+ break
+ end
end
end
end
@@ -31558,14 +32105,15 @@ local function initializedevanagi(tfmdata)
local step=steps[i]
local coverage=step.coverage
if coverage then
- local reph,rephbase=false,false
+ local reph=false
+ local base=false
if kind=="rphf" then
for k,v in next,ra do
local r=coverage[k]
if r then
- rephbase=k
+ base=k
local h=false
- if #r>0 then
+ if #r>0 then
for j=1,#r do
local ck=r[j]
local f=ck[4]
@@ -31585,7 +32133,7 @@ local function initializedevanagi(tfmdata)
for k,v in next,halant do
local h=r[k]
if h then
- reph=h.ligature or false
+ reph=tonumber(h) or h.ligature or false
break
end
end
@@ -31602,7 +32150,7 @@ local function initializedevanagi(tfmdata)
for k,v in next,halant do
local h=r[k]
if h then
- reph=h.ligature or false
+ reph=tonumber(h) or h.ligature or false
break
end
end
@@ -31613,7 +32161,7 @@ local function initializedevanagi(tfmdata)
end
end
end
- seqsubset[#seqsubset+1]={ kind,coverage,reph,rephbase }
+ seqsubset[#seqsubset+1]={ kind,coverage,reph,base }
end
end
end
@@ -31628,7 +32176,7 @@ local function initializedevanagi(tfmdata)
local h=coverage[k]
if h then
local found=false
- if #h>0 then
+ if #h>0 then
for j=1,#h do
local ck=h[j]
local f=ck[4]
@@ -31646,10 +32194,12 @@ local function initializedevanagi(tfmdata)
local h=coverage[k]
if h then
for k,v in next,h do
- found=v and v.ligature
- if found then
- pre_base_reordering_consonants[found]=true
- break
+ if v then
+ found=tonumber(v) or v.ligature
+ if found then
+ pre_base_reordering_consonants[found]=true
+ break
+ end
end
end
if found then
@@ -31663,7 +32213,7 @@ local function initializedevanagi(tfmdata)
end
else
for k,v in next,h do
- found=v and v.ligature
+ found=v and (tonumber(v) or v.ligature)
if found then
pre_base_reordering_consonants[found]=true
break
@@ -31689,9 +32239,6 @@ local function initializedevanagi(tfmdata)
sharedfeatures["dv03"]=true
sharedfeatures["dv04"]=true
end
- if script=="mlym" or script=="taml" then
- devanagari.left_matra_before_base=true
- end
end
end
end
@@ -31703,6 +32250,44 @@ registerotffeature {
node=initializedevanagi,
},
}
+local function initializeconjuncts(tfmdata,value)
+ if value then
+ local resources=tfmdata.resources
+ local devanagari=resources.devanagari
+ if devanagari then
+ local conjuncts="auto"
+ local movematra="auto"
+ if type(value)=="string" and value~="auto" then
+ value=settings_to_hash(value)
+ conjuncts=rawget(value,"conjuncts") or conjuncts
+ movematra=rawget(value,"movematra") or movematra
+ end
+ if conjuncts=="auto" then
+ conjuncts="mixed"
+ end
+ if movematra=="auto" and
+ script=="mlym" or
+ script=="taml" then
+ movematra="leftbeforebase"
+ else
+ movematra="default"
+ end
+ devanagari.conjuncts=conjuncts
+ devanagari.movematra=movematra
+ if trace_steps then
+ report("conjuncts %a, movematra %a",conjuncts,movematra)
+ end
+ end
+ end
+end
+registerotffeature {
+ name="indic",
+ description="control indic",
+ default="auto",
+ initializers={
+ node=initializeconjuncts,
+ },
+}
local show_syntax_errors=false
local function inject_syntax_error(head,current,char)
local signal=copy_node(current)
@@ -31748,36 +32333,40 @@ local function initialize_one(font,attr)
end
local function contextchain(contexts,n)
local char=getchar(n)
- for k=1,#contexts do
- local ck=contexts[k]
- local seq=ck[3]
- local f=ck[4]
- local l=ck[5]
- if (l-f)==1 and seq[f+1][char] then
- local ok=true
- local c=n
- for i=l+1,#seq do
- c=getnext(c)
- if not c or not seq[i][ischar(c)] then
- ok=false
- break
- end
- end
- if ok then
- c=getprev(n)
- for i=1,f-1 do
- c=getprev(c)
- if not c or not seq[f-i][ischar(c)] then
+ if not contexts.n then
+ return contexts[char]
+ else
+ for k=1,#contexts do
+ local ck=contexts[k]
+ local seq=ck[3]
+ local f=ck[4]
+ local l=ck[5]
+ if (l-f)==1 and seq[f+1][char] then
+ local ok=true
+ local c=n
+ for i=l+1,#seq do
+ c=getnext(c)
+ if not c or not seq[i][ischar(c)] then
ok=false
+ break
end
end
- end
- if ok then
- return true
+ if ok then
+ c=getprev(n)
+ for i=1,f-1 do
+ c=getprev(c)
+ if not c or not seq[f-i][ischar(c)] then
+ ok=false
+ end
+ end
+ end
+ if ok then
+ return true
+ end
end
end
+ return false
end
- return false
end
local function order_matras(c)
local cn=getnext(c)
@@ -31806,9 +32395,9 @@ local function order_matras(c)
char=getchar(cn)
end
end
+local swapped=table.swapped(states)
local function reorder_one(head,start,stop,font,attr,nbspaces)
- local reph,vattu,blwfcache,vatucache,pstfcache=initialize_one(font,attr)
- local devanagari=fontdata[font].resources.devanagari
+ local reph,vattu,blwfcache,vatucache,pstfcache=initialize_one(font,attr)
local current=start
local n=getnext(start)
local base=nil
@@ -31831,6 +32420,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop=getprev(stop)
head=remove_node(head,current)
flushnode(current)
+ if trace_steps then
+ logprocess("reorder one, remove nbsp")
+ end
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -31874,6 +32466,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
stop=current
end
end
+ if trace_steps then
+ logprocess("reorder one, handle nbsp")
+ end
end
end
end
@@ -31928,6 +32523,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if lastcons==stop then
stop=n
end
+ if trace_steps then
+ logprocess("reorder one, handle halant")
+ end
end
end
n=getnext(start)
@@ -31952,6 +32550,9 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
if matra==stop then
stop=n
end
+ if trace_steps then
+ logprocess("reorder one, handle matra")
+ end
end
local current=start
while current~=stop do
@@ -31990,14 +32591,19 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
ch=getchar(n)
end
local tpm=twopart_mark[ch]
- while tpm do
- local extra=copy_node(n)
- copyinjection(extra,n)
- ch=tpm[1]
- setchar(n,ch)
- setchar(extra,tpm[2])
- head=insertnodeafter(head,current,extra)
- tpm=twopart_mark[ch]
+ if tpm then
+ while tpm do
+ local extra=copy_node(n)
+ copyinjection(extra,n)
+ ch=tpm[1]
+ setchar(n,ch)
+ setchar(extra,tpm[2])
+ head=insertnodeafter(head,current,extra)
+ tpm=twopart_mark[ch]
+ end
+ if trace_steps then
+ logprocess("reorder one, handle mark")
+ end
end
while c~=stop and dependent_vowel[ch] do
c=n
@@ -32020,9 +32626,10 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
local bp=getprev(firstcons)
local cn=getnext(current)
local last=getnext(c)
+ local done=false
while cn~=last do
if pre_mark[getchar(cn)] then
- if devanagari.left_matra_before_base then
+ if devanagarihash[font].movematra=="leftbeforebase" then
local prev,next=getboth(cn)
setlink(prev,next)
if cn==stop then
@@ -32059,6 +32666,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
cn=next
end
+ done=true
elseif current~=base and dependent_vowel[getchar(cn)] then
local prev,next=getboth(cn)
if next then
@@ -32071,6 +32679,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setlink(b,cn,getnext(b))
order_matras(cn)
cn=next
+ done=true
elseif current==base and dependent_vowel[getchar(cn)] then
local cnn=getnext(cn)
order_matras(cn)
@@ -32084,9 +32693,14 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
allreordered=c==stop
current=getnext(c)
+ if done and trace_steps then
+ logprocess("reorder one, matra")
+ end
end
if reph or vattu then
- local current,cns=start,nil
+ local current=start
+ local cns=nil
+ local done=false
while current~=stop do
local c=current
local n=getnext(current)
@@ -32117,6 +32731,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
local next=getnext(b)
setlink(c,next)
setlink(b,current)
+ done=true
end
elseif cns and getnext(cns)~=current then
local cp=getprev(current)
@@ -32124,6 +32739,7 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
setlink(cp,n)
setlink(cns,current)
setlink(c,cnsn)
+ done=true
if c==stop then
stop=cp
break
@@ -32163,11 +32779,14 @@ local function reorder_one(head,start,stop,font,attr,nbspaces)
end
current=getnext(current)
end
+ if done and trace_steps then
+ logprocess("reorder one, handle reph and vata")
+ end
end
if getchar(base)==c_nbsp then
nbspaces=nbspaces-1
if base==stop then
- stop=getprev(stop)
+ stop=getprev(stop)
end
head=remove_node(head,base)
flushnode(base)
@@ -32195,6 +32814,9 @@ function handlers.devanagari_reorder_matras(head,start)
setlink(start,next)
setlink(current,start)
start=startnext
+ if trace_steps then
+ logprocess("reorder matra")
+ end
break
end
else
@@ -32223,6 +32845,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char=ischar(current,startfont)
if char and getprop(current,a_syllabe)==startattr then
if halant[char] then
+ if trace_steps then
+ logprocess("reorder reph, handling halant")
+ end
local next=getnext(current)
if next then
local nextchar=ischar(next,startfont)
@@ -32253,6 +32878,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char=ischar(current,startfont)
if char and getprop(current,a_syllabe)==startattr then
if consonant[char] and not getstate(current,s_pref) then
+ if trace_steps then
+ logprocess("reorder reph, handling consonant")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(current,start)
@@ -32277,6 +32905,9 @@ function handlers.devanagari_reorder_reph(head,start)
local char=ischar(current,startfont)
if char and getprop(current,a_syllabe)==startattr then
if getstate(current,s_pstf) then
+ if trace_steps then
+ logprocess("reorder reph, before postscript, post base")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(getprev(current),start)
@@ -32284,12 +32915,15 @@ function handlers.devanagari_reorder_reph(head,start)
start=startnext
startattr=getprop(start,a_syllabe)
break
- elseif not c and (vowel_modifier[char] or stress_tone_mark[char] ) then
+ elseif not c and (vowel_modifier[char] or stress_tone_mark[char]) then
c=current
end
current=getnext(current)
else
if c then
+ if trace_steps then
+ logprocess("reorder reph, before postscript")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(getprev(c),start)
@@ -32312,7 +32946,13 @@ function handlers.devanagari_reorder_reph(head,start)
local state=getstate(current)
if before_subscript[rephbase] and (state==s_blwf or state==s_pstf) then
c=current
+ if trace_steps then
+ logprocess("reorder reph, before subscript")
+ end
elseif after_subscript[rephbase] and (state==s_pstf) then
+ if trace_steps then
+ logprocess("reorder reph, after subscript")
+ end
c=current
end
current=getnext(current)
@@ -32343,6 +32983,9 @@ function handlers.devanagari_reorder_reph(head,start)
end
end
if start~=current then
+ if trace_steps then
+ logprocess("reorder reph, to end")
+ end
startnext=getnext(start)
head=remove_node(head,start)
setlink(start,getnext(current))
@@ -32352,9 +32995,8 @@ function handlers.devanagari_reorder_reph(head,start)
end
return head,start,true
end
-local reordered_pre_base_reordering_consonants={}
function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
- if reordered_pre_base_reordering_consonants[start] then
+ if getprop(start,a_reordered) then
return head,start,true
end
local current=start
@@ -32365,6 +33007,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
local next=getnext(current)
if char and getprop(current,a_syllabe)==startattr then
if halant[char] then
+ if trace_steps then
+ logprocess("reorder pre base consonants, handle halant")
+ end
if next then
local char=ischar(next,startfont)
if char and zw_char[char] and getprop(next,a_syllabe)==startattr then
@@ -32376,7 +33021,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
head=remove_node(head,start)
setlink(start,next)
setlink(current,start)
- reordered_pre_base_reordering_consonants[start]=true
+ setprop(start,"reordered",true)
start=startnext
return head,start,true
end
@@ -32390,6 +33035,9 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
while current and getprop(current,a_syllabe)==startattr do
local char=ischar(current)
if (not dependent_vowel[char] and (not getstate(current) or getstate(current,s_init))) then
+ if trace_steps then
+ logprocess("reorder pre base consonants, handle vowel or initial")
+ end
startnext=getnext(start)
head=remove_node(head,start)
if current==head then
@@ -32399,7 +33047,7 @@ function handlers.devanagari_reorder_pre_base_reordering_consonants(head,start)
setlink(getprev(current),start)
setlink(start,current)
end
- reordered_pre_base_reordering_consonants[start]=true
+ setprop(start,"reordered",true)
start=startnext
break
end
@@ -32431,6 +33079,9 @@ function handlers.devanagari_remove_joiners(head,start,kind,lookupname,replaceme
head=stop
end
flushlist(start)
+ if trace_steps then
+ logprocess("remove joiners")
+ end
return head,stop,true
end
local function initialize_two(font,attr)
@@ -32447,15 +33098,17 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local basepos=nil
local subpos=nil
local postpos=nil
- reorderreph.coverage={}
- rephbase[font]={}
+ reorderreph.coverage={}
+ rephbase[font]={}
for i=1,#seqsubset do
local subset=seqsubset[i]
local kind=subset[1]
local lookupcache=subset[2]
if kind=="rphf" then
- reorderreph.coverage[subset[3]]=true
- rephbase[font][subset[3]]=subset[4]
+ local reph=subset[3]
+ local base=subset[4]
+ reorderreph.coverage[reph]=true
+ rephbase[font][reph]=base
local current=start
local last=getnext(stop)
while current~=last do
@@ -32464,15 +33117,15 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
+ if contextchain(found,next) then
local afternext=next~=stop and getnext(next)
if afternext and zw_char[getchar(afternext)] then
current=afternext
elseif current==start then
setstate(current,s_rphf)
- current=next
+ current=next
else
- current=next
+ current=next
end
end
end
@@ -32488,8 +33141,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
- if (not getstate(current) and not getstate(next)) then
+ if contextchain(found,next) then
+ if not getstate(current) and not getstate(next) then
setstate(current,s_pref)
setstate(next,s_pref)
current=next
@@ -32508,10 +33161,10 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
+ if contextchain(found,next) then
if next~=stop and getchar(getnext(next))==c_zwnj then
current=next
- elseif (not getstate(current)) then
+ elseif not getstate(current) then
setstate(current,s_half)
if not halfpos then
halfpos=current
@@ -32532,8 +33185,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
- if (not getstate(current) and not getstate(next)) then
+ if contextchain(found,next) then
+ if not getstate(current) and not getstate(next) then
setstate(current,s_blwf)
setstate(next,s_blwf)
current=next
@@ -32553,8 +33206,8 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local found=lookupcache[c]
if found then
local next=getnext(current)
- if found[getchar(next)] or contextchain(found,next) then
- if (not getstate(current) and not getstate(next)) then
+ if contextchain(found,next) then
+ if not getstate(current) and not getstate(next) then
setstate(current,s_pstf)
setstate(next,s_pstf)
current=next
@@ -32576,6 +33229,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
stop=getprev(stop)
head=remove_node(head,current)
flushnode(current)
+ if trace_steps then
+ logprocess("reorder two, remove nbsp")
+ end
return head,stop,nbspaces
else
nbspaces=nbspaces+1
@@ -32616,6 +33272,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
end
end
+ if trace_steps then
+ logprocess("reorder two, handle nbsp")
+ end
end
else
local last=getnext(stop)
@@ -32645,7 +33304,7 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
return head,stop,nbspaces
else
if getstate(base) then
- setstate(base,unsetvalue)
+ setstate(base,unsetvalue)
end
basepos=base
end
@@ -32666,14 +33325,19 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
local target=nil
local cn=getnext(current)
local tpm=twopart_mark[char]
- while tpm do
- local extra=copy_node(current)
- copyinjection(extra,current)
- char=tpm[1]
- setchar(current,char)
- setchar(extra,tpm[2])
- head=insertnodeafter(head,current,extra)
- tpm=twopart_mark[char]
+ if tpm then
+ while tpm do
+ local extra=copy_node(current)
+ copyinjection(extra,current)
+ char=tpm[1]
+ setchar(current,char)
+ setchar(extra,tpm[2])
+ head=insertnodeafter(head,current,extra)
+ tpm=twopart_mark[char]
+ end
+ if tpm and trace_steps then
+ logprocess("reorder two, handle matra")
+ end
end
if not moved[current] and dependent_vowel[char] then
if pre_mark[char] then
@@ -32714,6 +33378,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
setlink(getprev(pos),current)
setlink(current,pos)
+ if trace_steps then
+ logprocess("reorder two, handle pre mark")
+ end
elseif above_mark[char] then
target=basepos
if subpos==basepos then
@@ -32753,6 +33420,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
end
setlink(current,getnext(target))
setlink(target,current)
+ if trace_steps then
+ logprocess("reorder two, handle mark")
+ end
end
end
end
@@ -32780,6 +33450,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
stop=prev
end
cn=next
+ if trace_steps then
+ logprocess("reorder two, handle halant and ra")
+ end
end
end
end
@@ -32812,6 +33485,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
setprev(nextnextnext,current)
end
setlink(nextnext,c)
+ if trace_steps then
+ logprocess("reorder two, handle nukta")
+ end
end
if stop==current then break end
current=getnext(current)
@@ -32823,6 +33499,9 @@ local function reorder_two(head,start,stop,font,attr,nbspaces)
nbspaces=nbspaces-1
head=remove_node(head,base)
flushnode(base)
+ if trace_steps then
+ logprocess("reorder two, handle nbsp")
+ end
end
return head,stop,nbspaces
end
@@ -32910,21 +33589,42 @@ local function analyze_next_chars_one(c,font,variant)
local already_below_mark
local already_post_mark
while dependent_vowel[v] do
- local vowels=twopart_mark[v] or { v }
- for k,v in next,vowels do
- if pre_mark[v] and not already_pre_mark then
- already_pre_mark=true
- elseif above_mark[v] and not already_above_mark then
- already_above_mark=true
- elseif below_mark[v] and not already_below_mark then
- already_below_mark=true
- elseif post_mark[v] and not already_post_mark then
- already_post_mark=true
- else
- return c
- end
- end
- c=getnext(c)
+ local vowels=twopart_mark[v]
+ if vowels then
+ for k=1,#vowels do
+ local v=vowels[k]
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ already_post_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
+ else
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ if devanagarihash[font].conjuncts=="mixed" then
+ return c
+ else
+ already_post_mark=true
+ end
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
+ c=n
n=getnext(c)
if not n then
return c
@@ -32935,7 +33635,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if nukta[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -32946,7 +33646,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if halant[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -32957,7 +33657,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if vowel_modifier[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -32968,7 +33668,7 @@ local function analyze_next_chars_one(c,font,variant)
end
end
if stress_tone_mark[v] then
- c=getnext(c)
+ c=n
n=getnext(c)
if not n then
return c
@@ -32985,11 +33685,12 @@ local function analyze_next_chars_one(c,font,variant)
end
end
local function analyze_next_chars_two(c,font)
- local n=getnext(c)
+ local n,v
+ n=getnext(c)
if not n then
return c
end
- local v=ischar(n,font)
+ v=ischar(n,font)
if v and nukta[v] then
c=n
end
@@ -33048,11 +33749,11 @@ local function analyze_next_chars_two(c,font)
if not c then
return
end
- local n=getnext(c)
+ n=getnext(c)
if not n then
return c
end
- local v=ischar(n,font)
+ v=ischar(n,font)
if not v then
return c
end
@@ -33092,22 +33793,43 @@ local function analyze_next_chars_two(c,font)
local already_pre_mark
local already_above_mark
local already_below_mark
- local already_post_mark
- while dependent_vowel[v] do
- local vowels=twopart_mark[v] or { v }
- for k,v in next,vowels do
- if pre_mark[v] and not already_pre_mark then
- already_pre_mark=true
- elseif above_mark[v] and not already_above_mark then
- already_above_mark=true
- elseif below_mark[v] and not already_below_mark then
- already_below_mark=true
- elseif post_mark[v] and not already_post_mark then
- already_post_mark=true
- else
- return c
- end
- end
+ local already_post_mark
+ while dependent_vowel[v] do
+ local vowels=twopart_mark[v]
+ if vowels then
+ for k=1,#vowels do
+ local v=vowels[k]
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ already_post_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
+ else
+ if pre_mark[v] and not already_pre_mark then
+ already_pre_mark=true
+ elseif post_mark[v] and not already_post_mark then
+ if devanagarihash[font].conjuncts=="mixed" then
+ return c
+ else
+ already_post_mark=true
+ end
+ elseif below_mark[v] and not already_below_mark then
+ already_below_mark=true
+ elseif above_mark[v] and not already_above_mark then
+ already_above_mark=true
+ elseif devanagarihash[font].conjuncts=="continue" then
+ else
+ return c
+ end
+ end
c=n
n=getnext(c)
if not n then
@@ -33342,7 +34064,7 @@ local function method_one(head,font,attr)
end
else
if show_syntax_errors then
- local mark=mark_four[char]
+ local mark=mark_pre_above_below_post[char]
if mark then
head,current=inject_syntax_error(head,current,char)
end
@@ -33363,15 +34085,15 @@ local function method_one(head,font,attr)
while current do
local char=ischar(current,font)
if char then
- if n==0 and not getstate(current) then
- setstate(current,s_init)
- end
- n=n+1
- else
- n=0
- end
- current=getnext(current)
- end
+ if n==0 and not getstate(current) then
+ setstate(current,s_init)
+ end
+ n=n+1
+ else
+ n=0
+ end
+ current=getnext(current)
+ end
return head,done
end
local function method_two(head,font,attr)
@@ -33441,7 +34163,7 @@ local function method_two(head,font,attr)
if not syllableend and show_syntax_errors then
local char=ischar(current,font)
if char and not getstate(current) then
- local mark=mark_four[char]
+ local mark=mark_pre_above_below_post[char]
if mark then
head,current=inject_syntax_error(head,current,char)
end
@@ -33458,15 +34180,15 @@ local function method_two(head,font,attr)
while current do
local char=ischar(current,font)
if char then
- if n==0 and not getstate(current) then
- setstate(current,s_init)
- end
- n=n+1
- else
- n=0
- end
- current=getnext(current)
- end
+ if n==0 and not getstate(current) then
+ setstate(current,s_init)
+ end
+ n=n+1
+ else
+ n=0
+ end
+ current=getnext(current)
+ end
return head,done
end
for i=1,nofscripts do
@@ -36161,7 +36883,7 @@ local afm=fonts.handlers.afm
local pfb=fonts.handlers.pfb
local hashes=fonts.hashes
local identifiers=hashes.identifiers
-local version=0.010
+local version=otf.version or 0.011
local shapescache=containers.define("fonts","shapes",version,true)
local streamscache=containers.define("fonts","streams",version,true)
local compact_streams=false
@@ -36469,7 +37191,7 @@ local function getstreamhash(fontid)
local fontdata=identifiers[fontid]
if fontdata then
local properties=fontdata.properties
- return makehash(properties.filename,properties.subfont,properties.instance)
+ return makehash(properties.filename,properties.subfont,properties.instance),fontdata
end
end
local function loadstreamdata(fontdata)
diff --git a/macros/luatex/generic/luaotfload/fontloader-util-fil.lua b/macros/luatex/generic/luaotfload/fontloader-util-fil.lua
index 183f7bea81..0b20264ecc 100644
--- a/macros/luatex/generic/luaotfload/fontloader-util-fil.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-util-fil.lua
@@ -203,23 +203,23 @@ function files.readinteger4le(f)
end
function files.readfixed2(f)
- local a, b = byte(f:read(2),1,2)
- if a >= 0x80 then
- tonumber((a - 0x100) .. "." .. b)
- else
- tonumber(( a ) .. "." .. b)
+ local n1, n2 = byte(f:read(2),1,2)
+ if n1 >= 0x80 then
+ n1 = n1 - 0x100
end
+ return n1 + n2/0xFF
end
-- (real) (n>>16) + ((n&0xffff)/65536.0)) but no cast in lua (we could use unpack)
function files.readfixed4(f)
local a, b, c, d = byte(f:read(4),1,4)
- if a >= 0x80 then
- tonumber((0x100 * a + b - 0x10000) .. "." .. (0x100 * c + d))
- else
- tonumber((0x100 * a + b ) .. "." .. (0x100 * c + d))
+ local n1 = 0x100 * a + b
+ local n2 = 0x100 * c + d
+ if n1 >= 0x8000 then
+ n1 = n1 - 0x10000
end
+ return n1 + n2/0xFFFF
end
-- (real) ((n<<16)>>(16+14)) + ((n&0x3fff)/16384.0))
diff --git a/macros/luatex/generic/luaotfload/fontloader-util-str.lua b/macros/luatex/generic/luaotfload/fontloader-util-str.lua
index 0d1f39de9d..b5c721a41d 100644
--- a/macros/luatex/generic/luaotfload/fontloader-util-str.lua
+++ b/macros/luatex/generic/luaotfload/fontloader-util-str.lua
@@ -10,12 +10,13 @@ utilities = utilities or { }
utilities.strings = utilities.strings or { }
local strings = utilities.strings
-local format, gsub, rep, sub, find = string.format, string.gsub, string.rep, string.sub, string.find
+local format, gsub, rep, sub, find, char = string.format, string.gsub, string.rep, string.sub, string.find, string.char
local load, dump = load, string.dump
local tonumber, type, tostring, next, setmetatable = tonumber, type, tostring, next, setmetatable
local unpack, concat = table.unpack, table.concat
local P, V, C, S, R, Ct, Cs, Cp, Carg, Cc = lpeg.P, lpeg.V, lpeg.C, lpeg.S, lpeg.R, lpeg.Ct, lpeg.Cs, lpeg.Cp, lpeg.Carg, lpeg.Cc
local patterns, lpegmatch = lpeg.patterns, lpeg.match
+local tsplitat = lpeg.tsplitat
local utfchar, utfbyte, utflen = utf.char, utf.byte, utf.len
----- loadstripped = utilities.lua.loadstripped
@@ -622,7 +623,7 @@ local template = [[
return function(%s) return %s end
]]
--- this might move
+-- We only use fast serialize in controlled cases.
local pattern = Cs(Cc('"') * (
(1-S('"\\\n\r'))^1
@@ -632,12 +633,43 @@ local pattern = Cs(Cc('"') * (
+ P('\r') / '\\r'
)^0 * Cc('"'))
+-- -- I need to do more experiments with this:
+--
+-- local pattern = Cs(Cc('"') * (
+-- (1-S('"\\\n\r'))^1
+-- + P('"') / '\\034'
+-- + P('\\') / '\\092'
+-- + P('\n') / '\\013'
+-- + P('\r') / '\\010'
+-- )^0 * Cc('"'))
+
patterns.escapedquotes = pattern
function string.escapedquotes(s)
return lpegmatch(pattern,s)
end
+local pattern = (1 - P("\\"))^1 ; pattern = Cs (
+ pattern
+ * ( (P("\\") / "" * (digit^-3 / function(s) return char(tonumber(s)) end)) + pattern )^1
+)
+
+patterns.unescapedquotes = pattern
+
+function string.unescapedquotes(s)
+ return lpegmatch(pattern,s) or s
+end
+
+-- function string.longifneeded(s)
+-- if find(s,'["\\\n\r]') then
+-- return "[===[" .. s .. "]===]"
+-- else
+-- return '"' .. s ..'"'
+-- end
+-- end
+
+string.texnewlines = lpeg.replacer(patterns.newline,"\r",true)
+
-- print(string.escapedquotes('1\\23\n"'))
-- but for now here
@@ -1476,7 +1508,7 @@ end
if not string.explode then
- local tsplitat = lpeg.tsplitat
+ -- local tsplitat = lpeg.tsplitat
local p_utf = patterns.utf8character
local p_check = C(p_utf) * (P("+") * Cc(true))^0
@@ -1499,3 +1531,24 @@ if not string.explode then
end
end
+
+
+do
+
+ local p_whitespace = patterns.whitespace^1
+
+ local cache = setmetatable({ }, { __index = function(t,k)
+ local p = tsplitat(p_whitespace * P(k) * p_whitespace)
+ local v = function(s)
+ return lpegmatch(p,s)
+ end
+ t[k] = v
+ return v
+ end })
+
+ function string.wordsplitter(s)
+ return cache[s]
+ end
+
+end
+
diff --git a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
index 9c2d204aaa..86aff98fb4 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-auxiliary",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / auxiliary functions",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-colors.lua b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
index c6a437c92a..e0bd759de5 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-colors.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-colors.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-colors",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / color",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Dohyun Kim, David Carlisle",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
index 7baffef63e..9e3b6c6557 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-conf.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
index 76a8d68754..50618d72af 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-configuration.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-configuration",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / config file reader",
license = "GPL v2.0"
}
@@ -218,6 +218,7 @@ local default_config = {
version = luaotfload.version,
statistics = false,
termwidth = nil,
+ keepnames = true,
},
paths = {
names_dir = "names",
@@ -611,6 +612,7 @@ local option_spec = {
return w
end,
},
+ keepnames = { in_t = boolean_t, },
},
paths = {
names_dir = { in_t = string_t, },
@@ -741,7 +743,7 @@ local formatters = {
anon_sequence = { false, format_list },
color_callback = { false, format_string },
definer = { false, format_string },
- fontloader = { false, format_string },
+ fontloader = { true, format_string },
log_level = { false, format_integer },
resolver = { false, format_string },
},
diff --git a/macros/luatex/generic/luaotfload/luaotfload-database.lua b/macros/luatex/generic/luaotfload/luaotfload-database.lua
index b1d264f9b7..8f0ef41fc7 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-database.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-database.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-database",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / database",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
@@ -142,8 +142,7 @@ do
end
local otfhandler = fonts.handlers.otf or { }
-local gzipload = gzip.load
-local gzipsave = gzip.save
+local gzipopen = gzip.open
local iolines = io.lines
local ioopen = io.open
local kpseexpand_path = kpse.expand_path
@@ -159,6 +158,7 @@ local mathmin = math.min
local osgetenv = os.getenv
local osgettimeofday = os.gettimeofday
local osremove = os.remove
+local dump = string.dump
local stringfind = string.find
local stringformat = string.format
local stringgmatch = string.gmatch
@@ -486,42 +486,47 @@ local function initialize_namedata (formats, created)
}
end
+-- A helper to load a file which might be gziped
+local function load_maybe_gzip (path, binary)
+ local gzippath = path .. '.gz'
+ local f = ioopen (gzippath, 'rb')
+ if f then
+ path = gzippath
+ local result = f:read'*a'
+ result = gzip.decompress(result, 31)
+ f:close()
+ return path, result
+ else
+ f, msg = ioopen (path, binary and 'rb' or 'r')
+ if f then
+ local result = f:read'*a'
+ f:close()
+ return path, result
+ end
+ end
+
+ return nil, msg
+end
+
--- When loading a lua file we try its binary complement first, which
--- is assumed to be located at an identical path, carrying the suffix
--- .luc.
---- string -> (string * table)
-local function load_lua_file (path)
- local foundname = filereplacesuffix (path, "luc")
- local code = nil
-
- local fh = ioopen (foundname, "rb") -- try bin first
- if fh then
- local chunk = fh:read"*all"
- fh:close()
- code = load (chunk, "b")
- end
-
- if not code then --- fall back to text file
- foundname = filereplacesuffix (path, "lua")
- fh = ioopen(foundname, "rb")
- if fh then
- local chunk = fh:read"*all"
- fh:close()
- code = load (chunk, "t")
- end
- end
-
- if not code then --- probe gzipped file
- foundname = filereplacesuffix (path, "lua.gz")
- local chunk = gzipload (foundname)
- if chunk then
- code = load (chunk, "t")
+--- string -> string -> (string * table)
+local function load_lua_file (path_lua, path_luc)
+ local foundname, chunk = load_maybe_gzip (path_luc, true)
+ if foundname then
+ chunk = assert (load (chunk, 'b'))
+ else
+ foundname, chunk = load_maybe_gzip (path_lua, false)
+ if foundname then
+ chunk = assert (load (chunk, 't'))
+ else
+ return nil
end
end
- if not code then return nil, nil end
- return foundname, code ()
+ return foundname, chunk()
end
--- define locals in scope
@@ -543,7 +548,8 @@ local fuzzy_limit = 1 --- display closest only
--- bool? -> -> bool? -> dbobj option
local function load_names (dry_run, no_rebuild)
local starttime = osgettimeofday ()
- local foundname, data = load_lua_file (config.luaotfload.paths.index_path_lua)
+ local foundname, data = load_lua_file (config.luaotfload.paths.index_path_lua,
+ config.luaotfload.paths.index_path_luc)
if data then
logreport ("log", 0, "db",
@@ -624,7 +630,8 @@ end
--- unit -> unit
local function load_lookups ( )
- local foundname, data = load_lua_file(config.luaotfload.paths.lookup_path_lua)
+ local foundname, data = load_lua_file(config.luaotfload.paths.lookup_path_lua,
+ config.luaotfload.paths.lookup_path_luc)
if data then
logreport ("log", 0, "cache", "Lookup cache loaded from %s.", foundname)
logreport ("term", 3, "cache",
@@ -638,11 +645,12 @@ local function load_lookups ( )
end
local regular_synonym = {
- book = true,
- normal = true,
- plain = true,
- regular = true,
- roman = true,
+ book = 0,
+ normal = 0,
+ plain = 0,
+ regular = 0,
+ roman = 0,
+ medium = 1000, -- Some font authors haven't got the memo that medium is not regular
}
local style_synonym = {
@@ -1577,8 +1585,6 @@ local function organize_namedata (rawinfo,
or nametable.family
or rawinfo.familyname
or info.familyname
--- local default_modifier = nametable.typographicsubfamily
--- or nametable.subfamily
local fontnames = {
--- see
--- https://developer.apple.com/fonts/TTRefMan/RM06/Chap6name.html
@@ -1642,7 +1648,7 @@ local function split_fontname (fontname)
end
end
-local function organize_styledata (metadata, rawinfo, info)
+local function organize_styledata (metadata, rawinfo)
local pfminfo = metadata.pfminfo
local names = rawinfo.names
return {
@@ -1686,8 +1692,7 @@ local function ot_fullinfo (filename,
basename,
info)
local style = organize_styledata (metadata,
- rawinfo,
- info)
+ rawinfo)
local res = {
file = { base = basename,
full = filename,
@@ -1929,7 +1934,7 @@ local function read_font_names (fullname,
if insert_fullinfo (fullname, basename, n_font,
loader, format, location,
targetmappings, targetentrystatus,
- info)
+ info[n_font])
then
success = true
end
@@ -2368,7 +2373,7 @@ local function collect_font_filenames_texmf ()
fontdirs = fontdirs .. path_separator .. expanded_path "type1 fonts"
fontdirs = fontdirs .. path_separator .. expanded_path "afm"
- fontdirs = filesplitpath (fontdirs) or { }
+ fontdirs = filesplitpath (fontdirs) or { }
local tasks = filter_out_pwd (fontdirs)
logreport ("both", 3, "db",
@@ -2725,95 +2730,51 @@ local function generate_filedata (mappings)
return files
end
-local bold_spectrum_low = 501 --- 500 is medium, 900 heavy/black
-local normal_weight = 400
-local bold_weight = 700
-local normal_width = 5
-
-local pick_style
-local pick_fallback_style
-local check_regular
-
-do
- function pick_style (typographicsubfamily, subfamily)
- return style_synonym [typographicsubfamily or subfamily or ""]
- end
-
- function pick_fallback_style (italicangle, pfmweight, width)
- --[[--
- More aggressive, but only to determine bold faces.
- Note: Before you make this test more inclusive, ensure
- no fonts are matched in the bold synonym spectrum over
- a literally “bold[italic]” one. In the past, heuristics
- been tried but ultimately caused unwanted modifiers
- polluting the lookup table. What doesn’t work is, e. g.
- treating weights > 500 as bold or allowing synonyms like
- “heavy”, “black”.
- --]]--
- if width == normal_width then
- if pfmweight == bold_weight then
- --- bold spectrum matches
- if italicangle == 0 then
- return "b"
- end
- return "bi"
- elseif pfmweight == normal_weight then
- if italicangle ~= 0 then
- return "i"
- end
- end
- return tostring(pfmweight) .. (italicangle == 0 and "" or "i")
- end
- return false
- end
-
- --- we use only exact matches here since there are constructs
- --- like “regularitalic” (Cabin, Bodoni Old Fashion)
-
- function check_regular (typographicsubfamily,
- subfamily,
- italicangle,
- weight,
- width,
- pfmweight)
- local plausible_weight = false
- --[[--
- This filters out undesirable candidates that specify their
- typographicsubfamily or subfamily as “regular” but are actually of
- “semibold” or other weight—another drawback of the
- oversimplifying classification into only three styles (r, i,
- b, bi).
- --]]--
- if italicangle == 0 then
- if pfmweight == 400 then
- --[[--
- Some fonts like Dejavu advertise an undistinguished
- regular and a “condensed” version with the same
- weight whilst also providing the style info in the
- typographic subfamily instead of the subfamily (i. e.
- the converse of what Adobe’s doing). The only way to
- weed out the undesired pseudo-regular shape is to
- peek at its advertised width (4 vs. 5).
- --]]--
- if width then
- plausible_weight = width == normal_width
- else
- plausible_weight = true
- end
- elseif weight and regular_synonym [weight] then
- plausible_weight = true
- end
- end
-
- if plausible_weight then
- if subfamily then
- if regular_synonym [subfamily] then return "r" end
- elseif typographicsubfamily then
- if regular_synonym [typographicsubfamily] then return "r" end
- end
- end
- return false
- end
+local function regular_score(entry)
+ return 10000 * (entry.italicangle or 0)^2 -- We really don't want italic fonts here (italic font have an angle around 10)
+ + .01 * ((entry.pfmweight or 400) - 400)^2 -- weights are normally multiples of 100, so they are still quite large after .01
+ + ((entry.width or 5) - 5)^2
+ + (regular_synonym[entry.subfamily or entry.typographicsubfamily] or 1000000)
+ + (entry.pfmweight > 500 and 1000 or 0)
+end
+local function italic_score(entry, regular_entry)
+ local regularangle = regular_entry.italicangle or 0
+ local angle = entry.italicangle or 0
+ if (angle == 0 or angle == regularangle)
+ and (entry.subfamily == regular_entry.subfamily or style_synonym[entry.subfamily] ~= 'i') then
+ return -- This font is not italic in any way
+ end
+ return .1 * (angle - regularangle - 10)^2 -- Should there ever be multiple levels of italicness...
+ + 0.1 * ((entry.pfmweight or 400) - (regular_entry.pfmweight or 400))^2 -- weights are normally multiples of 100, so they are still quite large after .01
+ + ((entry.width or 5) - regular_entry.width)^2
+ + (style_synonym[entry.subfamily or entry.typographicsubfamily] == 'i' and 0 or 1000000)
+end
+local function bold_score(entry, regular_entry)
+ local regularweight = regular_entry.pfmweight or 400
+ local weight = entry.pfmweight
+ if weight < regularweight + 100
+ and (entry.subfamily == regular_entry.subfamily or style_synonym[entry.subfamily] ~= 'b') then
+ return -- This font is not bold in any way
+ end
+ return 10000 * (entry.italicangle or 0)^2 -- We really don't want italic fonts here (italic font have an angle around 10)
+ + .01 * ((entry.pfmweight or 400) - (regularweight + 200))^2 -- weights are normally multiples of 100, so they are still quite large after .01
+ + ((entry.width or 5) - regular_entry.width)^2
+ + (style_synonym[entry.subfamily or entry.typographicsubfamily] == 'b' and 0 or 1000000)
+ + (entry.pfmweight > 500 and 0 or 10000)
+end
+local function bolditalic_score(entry, bold_entry, italic_entry)
+ local italicangle = italic_entry.italicangle or 0
+ local angle = entry.italicangle or 0
+ local boldweight = bold_entry.pfmweight or 400
+ local weight = entry.pfmweight or 400
+ if (angle == 0 or weight < boldweight)
+ and (entry.subfamily == bold_entry.subfamily or entry.subfamily == italic_entry.subfamily or style_synonym[entry.subfamily] ~= 'bi') then
+ return -- This font is not italic in any way
+ end
+ return 100 * (angle - italicangle)^2
+ + (weight - boldweight)^2
+ + ((entry.width or 5) - bold_entry.width)^2
+ + (style_synonym[entry.subfamily or entry.typographicsubfamily] == 'bi' and 0 or 1000000)
end
local function pull_values (entry)
@@ -2854,7 +2815,7 @@ local function pull_values (entry)
end
end
-local function add_family (name, subtable, modifier, entry)
+local function add_family (name, subtable, entry)
if not name then --- probably borked font
return
end
@@ -2866,22 +2827,9 @@ local function add_family (name, subtable, modifier, entry)
familytable [#familytable + 1] = {
index = entry.index,
- modifier = modifier,
}
end
-local function add_lastresort_regular (name, subtable, entry)
- if not name then --- probably borked font
- return
- end
- local familytable = subtable [name]
- if not familytable then
- familytable = { }
- subtable [name] = familytable
- end
- familytable.fallback = entry.index
-end
-
local function get_subtable (families, entry)
local location = entry.location
local format = entry.format
@@ -2919,27 +2867,7 @@ local function collect_families (mappings)
local width = entry.width
local pfmweight = entry.pfmweight
local italicangle = entry.italicangle
- local modifier = pick_style (typographicsubfamily, subfamily)
-
- if not modifier then --- regular, exact only
- modifier = check_regular (typographicsubfamily,
- subfamily,
- italicangle,
- weight,
- width,
- pfmweight)
- end
-
- if not modifier then
- modifier = pick_fallback_style (italicangle, pfmweight, width)
- end
-
- if modifier then
- add_family (familyname, subtable, modifier, entry)
- end
- if modifier ~= 'r' and regular_synonym[typographicsubfamily or subfamily or ''] then
- add_lastresort_regular (familyname, subtable, entry)
- end
+ add_family (familyname, subtable, entry)
end
collectgarbage "collect"
@@ -2983,99 +2911,135 @@ end
local style_categories = { "r", "b", "i", "bi" }
local bold_categories = { "b", "bi" }
+local huge = math.huge
local function group_modifiers (mappings, families)
logreport ("info", 2, "db", "Analyzing shapes, weights, and styles.")
for location, location_data in next, families do
for format, format_data in next, location_data do
for familyname, collected in next, format_data do
- local styledata = { } --- will replace the “collected” table
- local lastresort_regular = collected.fallback
- collected.fallback = nil
- --- First, fill in the ordinary style data that
- --- fits neatly into the four relevant modifier
- --- categories.
- for _, modifier in next, style_categories do
- local entries
- for key, info in next, collected do
- if info.modifier == modifier then
- if not entries then
- entries = { }
- end
- local index = info.index
- local entry = mappings [index]
- local size = entry.size
+ local best_score = huge
+ local best_match
+ for i=1,#collected do
+ local v = collected[i]
+ local entry = mappings[v.index]
+ local score = regular_score(entry)
+ if score <= best_score then
+ v.prev = best_score == score and best_match or nil
+ best_score = score
+ best_match = v
+ end
+ end
+ local regular = {}
+ repeat
+ local index = best_match.index
+ local entry = mappings[index]
+ local size = entry.size
+ if size then
+ regular [#regular + 1] = {
+ size [1],
+ size [2],
+ size [3],
+ index,
+ }
+ else
+ regular.default = index
+ end
+ best_match = best_match.prev
+ until not best_match
+ local regular_entry = mappings[regular.default or regular[1][4]]
+ local best_match_i, best_match_b
+ local best_score_i, best_score_b = 10000000000, 10000000000
+ for i=1,#collected do
+ local v = collected[i]
+ local entry = mappings[v.index]
+ local score_i = italic_score(entry, regular_entry)
+ local score_b = bold_score(entry, regular_entry)
+ if score_i and score_i <= best_score_i then
+ v.prev = best_score_i == score_i and best_match_i or nil
+ best_score_i = score_i
+ best_match_i = v
+ end
+ if score_b and score_b <= best_score_b then
+ v.prev = best_score_b == score_b and best_match_b or nil
+ best_score_b = score_b
+ best_match_b = v
+ end
+ end
+ local italic, bold
+ if best_match_i then
+ italic = {}
+ repeat
+ local index = best_match_i.index
+ local entry = mappings[index]
+ local size = entry.size
+ if size then
+ italic [#italic + 1] = {
+ size [1],
+ size [2],
+ size [3],
+ index,
+ }
+ else
+ italic.default = index
+ end
+ best_match_i = best_match_i.prev
+ until not best_match_i
+ end
+ if best_match_b then
+ bold = {}
+ repeat
+ local index = best_match_b.index
+ local entry = mappings[index]
+ local size = entry.size
+ if size then
+ bold [#bold + 1] = {
+ size [1],
+ size [2],
+ size [3],
+ index,
+ }
+ else
+ bold.default = index
+ end
+ best_match_b = best_match_b.prev
+ until not best_match_b
+ end
+ local bolditalic
+ if bold and italic then
+ best_score = 1000000000000
+ local bold_entry = mappings[bold.default or bold[1][4]]
+ local italic_entry = mappings[italic.default or italic[1][4]]
+ for i=1,#collected do
+ local v = collected[i]
+ local entry = mappings[v.index]
+ local score = bolditalic_score(entry, bold_entry, italic_entry)
+ if score and score <= best_score then
+ v.prev = best_score == score and best_match or nil
+ best_score = score
+ best_match = v
+ end
+ end
+ if best_match then
+ bolditalic = {}
+ repeat
+ local index = best_match.index
+ local entry = mappings[index]
+ local size = entry.size
if size then
- entries [#entries + 1] = {
+ bolditalic [#bolditalic + 1] = {
size [1],
size [2],
size [3],
index,
}
else
- entries.default = index
+ bolditalic.default = index
end
- collected [key] = nil
- end
- styledata [modifier] = entries
+ best_match = best_match.prev
+ until not best_match
end
end
- if not styledata.r and lastresort_regular then
- styledata.r = {default = lastresort_regular}
- end
-
- --- At this point the family set may still lack
- --- entries for bold or bold italic. We will fill
- --- those in using the modifier with the numeric
- --- weight that is closest to bold (700).
- if next (collected) then --- there are uncategorized entries
- for _, modifier in next, bold_categories do
- if not styledata [modifier] then
- local closest
- local minimum = 2^51
- for key, info in next, collected do
- local info_modifier = tonumber (info.modifier) and "b" or "bi"
- if modifier == info_modifier then
- local index = info.index
- local entry = mappings [index]
- local weight = entry.pfmweight
- local diff = weight < 700 and 700 - weight or weight - 700
- if weight > 500 and diff < minimum then
- minimum = diff
- closest = weight
- end
- end
- end
- if closest then
- --- We know there is a substitute face for the modifier.
- --- Now we scan the list again to extract the size data
- --- in case the shape is available at multiple sizes.
- local entries = { }
- for key, info in next, collected do
- local info_modifier = tonumber (info.modifier) and "b" or "bi"
- if modifier == info_modifier then
- local index = info.index
- local entry = mappings [index]
- local size = entry.size
- if entry.pfmweight == closest then
- if size then
- entries [#entries + 1] = {
- size [1],
- size [2],
- size [3],
- index,
- }
- else
- entries.default = index
- end
- end
- end
- end
- styledata [modifier] = entries
- end
- end
- end
- end
- format_data [familyname] = styledata
+ format_data [familyname] = { r = regular, b = bold, i = italic, bi = bolditalic }
end
end
end
@@ -3514,28 +3478,62 @@ function update_names (currentnames, force, dry_run)
return targetnames
end
+local function compress_dummy(data) return data end
+--- string -> string -> (string * table)
+local function save_lua_table (data, path_lua, path_luc, compress)
+ if compress then
+ osremove(path_lua)
+ osremove(path_luc)
+ path_lua, path_luc = path_lua .. '.gz', path_luc .. '.gz'
+ else
+ osremove(path_lua .. '.gz')
+ osremove(path_luc .. '.gz')
+ end
+ local file_lua, msg = ioopen(path_lua, compress and 'wb' or 'w')
+ if not file_lua then
+ logreport ("info", 0, "cache", "Failed to write %q: %s", path_lua, msg)
+ end
+ local file_luc file_luc, msg = ioopen(path_luc, 'wb')
+ if not file_luc then
+ logreport ("info", 0, "cache", "Failed to write %q: %s", path_luc, msg)
+ end
+ if not (file_lua or file_luc) then
+ return
+ end
+ -- If we can only write one of the files, try to remove the other
+ -- one to avoid them beiing inconsistent. This will probably fail,
+ -- but in some situations we might be allowed to delete a file we
+ -- can't write to.
+ if not file_lua then
+ osremove(path_lua)
+ elseif not file_luc then
+ osremove(path_luc)
+ end
+ local serialized = tableserialize (data, true)
+ if file_lua then
+ file_lua:write(compress and gzip.compress(serialized, 31) or serialized)
+ file_lua:close()
+ end
+ if file_luc then
+ local compiled = dump(assert(load(serialized, 't')), true)
+ file_luc:write(compress and gzip.compress(compiled, 31) or compiled)
+ file_luc:close()
+ end
+ -- Even if we could write one file but not the other one it's still an
+ -- error since reloading is then unreliable.
+ return file_lua and path_lua or nil, file_luc and path_luc or nil
+end
+
--- unit -> bool
function save_lookups ( )
local paths = config.luaotfload.paths
local luaname, lucname = paths.lookup_path_lua, paths.lookup_path_luc
- if fileiswritable (luaname) and fileiswritable (lucname) then
- tabletofile (luaname, lookup_cache, true)
- osremove (lucname)
- caches.compile (lookup_cache, luaname, lucname)
- --- double check ...
- if lfsisfile (luaname) and lfsisfile (lucname) then
- logreport ("both", 3, "cache", "Lookup cache saved.")
- return true
- end
- logreport ("info", 0, "cache", "Could not compile lookup cache.")
- return false
- end
- logreport ("info", 0, "cache", "Lookup cache file not writable.")
- if not fileiswritable (luaname) then
- logreport ("info", 0, "cache", "Failed to write %s.", luaname)
- end
- if not fileiswritable (lucname) then
- logreport ("info", 0, "cache", "Failed to write %s.", lucname)
+ luaname, lucname = save_lua_table(lookup_cache, luaname, lucname)
+ if luaname and lucname then
+ logreport ("both", 3, "cache", "Lookup cache saved.")
+ return true
+ else
+ logreport ("info", 0, "cache", "Lookup cache file not writable.")
end
return false
end
@@ -3553,45 +3551,15 @@ function save_names (currentnames)
end
local paths = config.luaotfload.paths
local luaname, lucname = paths.index_path_lua, paths.index_path_luc
- if fileiswritable (luaname) and fileiswritable (lucname) then
- osremove (lucname)
- local gzname = luaname .. ".gz"
- if config.luaotfload.db.compress then
- local serialized = tableserialize (currentnames, true)
- gzipsave (gzname, serialized)
- caches.compile (currentnames, "", lucname)
- else
- tabletofile (luaname, currentnames, true)
- caches.compile (currentnames, luaname, lucname)
- end
+ local compress = config.luaotfload.db.compress
+ luaname, lucname = save_lua_table(currentnames, luaname, lucname, compress)
+ if luaname and lucname then
logreport ("info", 2, "db", "Font index saved at ...")
- local success = false
- if lfsisfile (luaname) then
- logreport ("info", 2, "db", "Text: " .. luaname)
- success = true
- end
- if lfsisfile (gzname) then
- logreport ("info", 2, "db", "Gzip: " .. gzname)
- success = true
- end
- if lfsisfile (lucname) then
- logreport ("info", 2, "db", "Byte: " .. lucname)
- success = true
- end
- if success then
- return true
- else
- logreport ("info", 0, "db", "Could not compile font index.")
- return false
- end
+ logreport ("info", 2, "db", "Text: " .. luaname)
+ logreport ("info", 2, "db", "Byte: " .. lucname)
+ return true
end
logreport ("info", 0, "db", "Index file not writable")
- if not fileiswritable (luaname) then
- logreport ("info", 0, "db", "Failed to write %s.", luaname)
- end
- if not fileiswritable (lucname) then
- logreport ("info", 0, "db", "Failed to write %s.", lucname)
- end
return false
end
@@ -3829,10 +3797,7 @@ return function ()
fonts.definers = fonts.definers or { resolvers = { } }
names.blacklist = blacklist
- -- MK Changed to rebuild with case insensitive fallback.
- -- Negative version to indicate generation by modified code.
- names.version = -2 --- decrease monotonically
- -- /MK
+ names.version = 6 --- increase monotonically
names.data = nil --- contains the loaded database
names.lookups = nil --- contains the lookup cache
diff --git a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
index fe959a50de..622714d14b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-diagnostics",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload-tool submodule / diagnostics",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
index f368c3ae5a..2f8abefa93 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-dvi.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-dvi",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / DVI",
license = "GPL v2.0",
author = "Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
index ca035bc4cd..d0a2e60555 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-embolden.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-embolden",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / embolden",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
index 3e5d65eaca..a3f28e77a4 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-fallback.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-fallback",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / fallback",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-features.lua b/macros/luatex/generic/luaotfload/luaotfload-features.lua
index bedcd59d76..eecf1aa0f5 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-features.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-features.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-features",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / features",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
@@ -30,6 +30,8 @@ local table = table
local tabletohash = table.tohash
local tablesort = table.sort
+local stringunpack = string.unpack
+
--- this appears to be based in part on luatex-fonts-def.lua
local fonts = fonts
@@ -322,6 +324,7 @@ local supported = {
b = "b",
i = "i",
bi = "bi",
+ r = "r",
aat = false,
icu = false,
gr = false,
@@ -777,6 +780,100 @@ do
}
end
+do
+ local function restore(tfmdata, value, features)
+ if not tfmdata.properties.monospaced then return end
+ if features.fixedspace then return end -- In this case, 'auto' is true
+ local parameters = tfmdata.parameters
+ local space = parameters.space
+ parameters.space_stretch, parameters.space_shrink = space/2, space/3
+ end
+ fonts.constructors.features.otf.register {
+ name = 'internal__variablespace',
+ default = true,
+ initializers = {
+ base = restore,
+ node = restore,
+ },
+ }
+ local function node_fixedspace(tfmdata, value, features)
+ if value == 'auto' then return end
+ if tfmdata.properties.monospaced then return end -- handled by internal__variablespace
+ local parameters = tfmdata.parameters
+ parameters.space_stretch, parameters.space_shrink = 0, 0
+ end
+ local hb = luaotfload.harfbuzz
+ local post_tag = hb and hb.Tag.new'post'
+ local function harf_fixedspace(tfmdata, value, features)
+ if value == 'auto' then
+ -- We have to determine if we have a monospace font.
+ -- Let's be honest, it would be boring if that were easy.
+ local post_table = tfmdata.hb.shared.face:get_table(post_tag):get_data()
+ if #post_table < 16 then
+ -- Invalid OpenType font... Let's assume that it's not
+ -- monospaced:
+ return
+ end
+ local monospaced = string.unpack('>I4', post_table, 13) ~= 0
+ if not monospaced then return end -- FIXME: How to determine?
+ end
+ local parameters = tfmdata.parameters
+ parameters.space_stretch, parameters.space_shrink = 0, 0
+ end
+ fonts.constructors.features.otf.register {
+ name = 'fixedspace',
+ description = 'Do not stretch or shrink spaces',
+ default = 'auto',
+ initializers = {
+ base = node_fixedspace,
+ node = node_fixedspace,
+ plug = harf_fixedspace,
+ },
+ }
+end
+
+local uni_normalize = require'lua-uni-normalize'.direct
+local normalize_lookup = setmetatable({}, {__index = function(t, f)
+ local fontdir = assert(font.getfont(f))
+ local normalize_func = t[fontdir]
+ local characters = fontdir.characters
+ local function result(head)
+ return normalize_func(head, f, characters, true)
+ end
+ t[fontdir] = result
+ return result
+end})
+local normalize_funcs = {
+ nfc = uni_normalize.NFC,
+ nfd = uni_normalize.NFD,
+ nfkd = uni_normalize.NFKD,
+}
+fonts.constructors.features.otf.register {
+ name = 'normalize',
+ default = 'nfc',
+ description = 'Normalize text to NFC before shaping',
+ manipulators = {
+ node = function(fonttable, _, value)
+ if value == true then
+ value = 'nfc'
+ end
+ local func = normalize_funcs[value]
+ if not func then
+ report ("report", 0, "features",
+ "Unsupported normalization method replaced by NFC")
+ func = normalize_funcs.nfc
+ end
+ normalize_lookup[fonttable] = func
+ end,
+ },
+ processors = {
+ node = function(head, f, _, _, _)
+ return normalize_lookup[f](head)
+ end,
+ },
+}
+
+
return function ()
if not fonts and fonts.handlers then
report ("log", 0, "features",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
index e3fc38acd3..abd6458db9 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-filelist.lua
@@ -6,8 +6,8 @@
if luaotfload_module then luaotfload_module {
name = "luaotfload-filelist",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / filelist",
license = "GPL v2.0"
} end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
index 93a2eaeffd..ce3cc314b4 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
@@ -1,8 +1,8 @@
if luaotfload_module then
luaotfload_module {
name = "luaotfload-glyphlist",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / autogenerated glyphlist",
copyright = "derived from https://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt",
original = "Adobe Glyph List, version 2.0, September 20, 2002",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
index f128adbaae..d7ee7c11bb 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
@@ -5,8 +5,8 @@
do -- block to avoid to many local variables error
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-define",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / HarfBuzz font loading",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
@@ -21,14 +21,14 @@ local gsub = string.gsub
local hb = luaotfload.harfbuzz
local scriptlang_to_harfbuzz = require'luaotfload-scripts'.to_harfbuzz
+local cff2_handler = require'luaotfload-harf-var-cff2'
+local ttf_handler = require'luaotfload-harf-var-ttf'
local harf_settings = luaotfload.harf or {}
luaotfload.harf = harf_settings
harf_settings.default_buf_flags = hb.Buffer.FLAGS_DEFAULT or 0
-local hbfonts = {}
-
local cfftag = hb.Tag.new("CFF ")
local cff2tag = hb.Tag.new("CFF2")
local os2tag = hb.Tag.new("OS/2")
@@ -36,9 +36,15 @@ local posttag = hb.Tag.new("post")
local glyftag = hb.Tag.new("glyf")
local gpostag = hb.Tag.new("GPOS")
+local italtag = hb.Tag.new("ital")
+local wghttag = hb.Tag.new("wght")
+local slnttag = hb.Tag.new("slnt")
+local opsztag = hb.Tag.new("opsz")
+
local invalid_l = hb.Language.new()
local invalid_s = hb.Script.new()
+local tointeger = math.tointeger
local floor = math.floor
local function round(x)
return floor(x + 0.5)
@@ -71,27 +77,123 @@ local get_designsize do
end
local containers = luaotfload.fontloader.containers
-local hbcacheversion = 1.2
-local facecache = containers.define("fonts", "hb", hbcacheversion, true)
+local hbcacheversion = 1.4
+local fontcache = containers.define("fonts", "hb", hbcacheversion, true)
+local facecache = {}
+
+local variable_pattern do
+ local l = lpeg or require'lpeg'
+ local white = l.S' \t'^0
+ local number = l.C(l.S'+-'^-1 * (l.R'09'^1 * ('.' * l.R'09'^0)^-1 + '.' * l.R'09'^1))
+ local name_or_tag = l.C(l.R('AZ', 'az')^1)
+ local pair = l.Ct(name_or_tag * white * '=' * white * (number + l.Cc(nil) * 'auto'))
+ variable_pattern = l.Ct(pair * (white * ',' * white * pair)^0)
+end
local function loadfont(spec)
local path, sub = spec.resolved, spec.sub or 1
- local key = string.format("%s:%d", gsub(path, "[/\\]", ":"), sub)
+ local key = gsub(string.format("%s:%d:%s", path, sub, instance), "[/\\]", ":")
local attributes = lfs.attributes(path)
if not attributes then return end
local size, date = attributes.size or 0, attributes.modification or 0
- local cached = containers.read(facecache, key)
+ local hbface = facecache[key]
+ if not hbface then
+ hbface = hb.Face.new(path, sub - 1)
+ facecache[key] = hbface
+ end
+
+ local normalized
+ local varkey
+ if hbface.ot_var_has_data and hbface:ot_var_has_data() then
+ local design_coords
+ local instance = spec.features.raw.instance
+ local axis = spec.features.raw.axis
+ local assignments = axis and variable_pattern:match(axis)
+ if axis and not assignments and not instance then
+ instance, axis = axis, nil
+ end
+ if instance then
+ instance = instance:lower()
+ local instances = hbface:ot_var_named_instance_get_infos()
+ for i = 1, #instances do
+ local inst = instances[i]
+ if instance == hbface:get_name(inst.subfamily_name_id):lower() then
+ design_coords = {hbface:ot_var_named_instance_get_design_coords(inst.index)}
+ break
+ end
+ end
+ if not design_coords then
+ texio.write_nl'Warning (luaotfload): Unknown instance name ignored.'
+ end
+ end
+ local axes = hbface:ot_var_get_axis_infos()
+ design_coords = design_coords or lua.newtable(#axes, 0)
+ if assignments then
+ for i = 1, #assignments do
+ local found
+ local name = assignments[i][1]
+ local tag
+ if #name <= 4 then
+ tag = hb.Tag.new(name)
+ end
+ name = string.lower(name)
+ for j = 1, #axes do
+ local axis = axes[j]
+ if tag and tag == axis.tag then
+ found = axis
+ break
+ end
+ if name == hbface:get_name(axis.name_id):lower() then
+ found = axis
+ if not tag then break end
+ end
+ end
+ if found then
+ design_coords[found.axis_index] = assignments[i][2]
+ else
+ texio.write_nl'Warning (luaotfload): Unknown axis name ignored.'
+ end
+ end
+ end
+ for i = 1, #axes do
+ local axis = axes[i]
+ local index = axis.axis_index -- == i in practise
+ if not design_coords[index] then
+ local tag = axis.tag
+ if tag == italtag and spec.style then
+ design_coords[index] = spec.style == 'i' or spec.style == 'bi' and 1 or 0
+ elseif tag == slnttag and spec.style then
+ design_coords[index] = spec.style == 'i' or spec.style == 'bi' and -5 or 0
+ elseif tag == wghttag and spec.style then
+ design_coords[index] = (spec.style == 'b' or spec.style == 'bi') and 600 or 400
+ elseif tag == opsztag and (spec.optsize or spec.size > 0) then
+ design_coords[index] = spec.optsize or spec.size / 65536
+ else
+ design_coords[index] = axis.default_value
+ end
+ end
+ end
+ normalized = {hbface:ot_var_normalize_coords(table.unpack(design_coords))}
+ varkey = ':' .. table.concat(normalized, ':')
+ key = key .. varkey
+ else
+ varkey = ''
+ end
+
+ local cached = containers.read(fontcache, key)
local iscached = cached and cached.date == date and cached.size == size
- local hbface = iscached and cached.face or hb.Face.new(path, sub - 1)
local tags = hbface and hbface:get_table_tags()
-- If the face has no table tags then it isn’t a valid SFNT font that
-- HarfBuzz can handle.
if not tags then return end
local hbfont = iscached and cached.font or hb.Font.new(hbface)
+ if normalized then
+ hbfont:set_var_coords_normalized(table.unpack(normalized))
+ end
if not iscached then
local upem = hbface:get_upem()
@@ -174,7 +276,7 @@ local function loadfont(spec)
local glyph = hbfont:get_nominal_glyph(uni)
if glyph then
characters[uni] = glyph
- nominals[glyph] = uni
+ nominals[glyph] = tointeger(uni)
end
end
@@ -224,12 +326,13 @@ local function loadfont(spec)
nominals = nominals,
unicodes = characters,
psname = hbface:get_name(hb.ot.NAME_ID_POSTSCRIPT_NAME),
- fullname = hbface:get_name(hb.ot.NAME_ID_FULL_NAME),
+ fullname = hbface:get_name(hb.ot.NAME_ID_FULL_NAME) .. varkey,
haspng = hbface:ot_color_has_png(),
loaded = {}, -- Cached loaded glyph data.
+ normalized = normalized,
}
- containers.write(facecache, key, cached)
+ containers.write(fontcache, key, cached)
end
cached.face = hbface
cached.font = hbfont
@@ -340,6 +443,7 @@ local function scalefont(data, spec)
hscale = upem,
vscale = upem,
buf_flags = harf_settings.default_buf_flags,
+ obj_repl = characters[0xFFFC] and 0xD800 or 0xFFFC,
},
specification = spec,
shared = {
@@ -349,6 +453,7 @@ local function scalefont(data, spec)
resources = {
unicodes = data.name_to_char,
},
+ streamprovider = data.normalized and (data.fonttype == 'opentype' and 1 or 3) or nil,
}
tfmdata.shared.processes = fonts.handlers.otf.setfeatures(tfmdata, features)
fonts.constructors.applymanipulators("otf", tfmdata, features, false)
@@ -391,7 +496,7 @@ fonts.readers.harf = function(spec)
val = (val and '+' or '-')..key
hb_features[#hb_features + 1] = hb.Feature.new(val)
elseif tonumber(val) then
- val = '+'..key..'='..tonumber(val) - 1
+ val = '+'..key..'='..tonumber(val)
hb_features[#hb_features + 1] = hb.Feature.new(val)
end
end
@@ -409,3 +514,36 @@ luatexbase.add_to_callback('find_truetype_file', function(name)
return find_file(name, 'truetype fonts')
or name:gsub('^harfloaded:', '')
end, 'luaotfload.harf.strip_prefix')
+
+local glyph_stream_data
+local glyph_stream_mapping, glyph_stream_mapping_inverse
+local extents_hbfont
+local cb = luatexbase.remove_from_callback('glyph_stream_provider', 'luaotfload.glyph_stream')
+luatexbase.add_to_callback('glyph_stream_provider', function(fid, cid, kind, ocid)
+ if cid == 0 then -- Always the first call for a font
+ glyph_stream_data, extents_hbfont = nil
+ collectgarbage()
+ local fontdir = font.getfont(fid)
+ if fontdir and fontdir.hb then
+ if kind == 3 then
+ glyph_stream_mapping = {[ocid] = cid}
+ glyph_stream_mapping_inverse = {[cid] = ocid}
+ extents_hbfont = fontdir.hb.shared.font
+ elseif kind == 2 then
+ glyph_stream_data = ttf_handler(fontdir.hb.shared.face, fontdir.hb.shared.font, glyph_stream_mapping, glyph_stream_mapping_inverse)
+ else
+ glyph_stream_data = cff2_handler(fontdir.hb.shared.face, fontdir.hb.shared.font)
+ end
+ end
+ end
+ if glyph_stream_data then
+ return glyph_stream_data(cid)
+ elseif extents_hbfont then
+ glyph_stream_mapping[ocid] = cid
+ glyph_stream_mapping_inverse[cid] = ocid
+ local extents = extents_hbfont:get_glyph_extents(ocid)
+ return extents.width, extents.x_bearing, extents.height, extents.y_bearing
+ else
+ return cb(fid, cid, kind, ocid)
+ end
+end, 'luaotfload.harf.glyphstream')
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
index 1577aa7004..634da68786 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
@@ -4,8 +4,8 @@
-----------------------------------------------------------------------
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-harf-plug",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / HarfBuzz shaping",
license = "GPL v2.0",
author = "Khaled Hosny, Marcel Krüger",
@@ -110,6 +110,11 @@ local endactual_p = "luaotfload_endactualtext"
local empty_table = {}
+local function is_empty_disc(n)
+ local pre, post, rep = getdisc(n)
+ return not pre and not post and not rep
+end
+
-- "Copy" properties as done by LuaTeX: Make old properties metatable
local function copytable(old)
local new = {}
@@ -174,6 +179,7 @@ local function itemize(head, fontid, direction)
local hbdata = fontdata and fontdata.hb
local spec = fontdata and fontdata.specification
local options = spec and spec.features.raw
+ local obj_repl = hbdata and hbdata.obj_repl
local runs, codes = {}, {}
local dirstack = {}
@@ -187,7 +193,7 @@ local function itemize(head, fontid, direction)
for n, id, subtype in traverse(head) do
if in_disc == n then in_disc = nil end
local disc
- local code = 0xFFFC -- OBJECT REPLACEMENT CHARACTER
+ local code = obj_repl -- OBJECT REPLACEMENT CHARACTER, substitute invalid surrogate if otherwise colliding with font glyph
local skip = lastskip
local props = properties[n]
@@ -205,7 +211,7 @@ local function itemize(head, fontid, direction)
elseif id == glue_t and subtype == spaceskip_t then
code = 0x0020 -- SPACE
elseif id == disc_t then
- if uses_font(n, fontid) then
+ if uses_font(n, fontid) or not lastskip and is_empty_disc(n) then
local _, _, rep, _, _, rep_tail = getdisc(n, true)
setfield(n, 'replace', nil)
local prev, next = getboth(n)
@@ -347,6 +353,7 @@ function shape(head, firstnode, run)
local options = spec.features.raw
local hbshared = hbdata.shared
local hbfont = hbshared.font
+ local obj_repl = hbdata.obj_repl
local lang = spec.language
local script = spec.script
@@ -430,7 +437,9 @@ function shape(head, firstnode, run)
end
-- Is this a safe breakpoint?
- if discs and ((not glyph) or codes[cluster] == 0x20 or codes[cluster+1] == 0x20 or codes[cluster+1] == 0xFFFC
+ if discs and ((not glyph)
+ or codes[cluster] == 0x20 or codes[cluster+1] == 0x20
+ or codes[cluster] == obj_repl or codes[cluster+1] == obj_repl
or not unsafetobreak(glyph)) then
-- Should we change the discretionary state?
local anchor_cluster, after_cluster = offset + discs.anchor_cluster, offset + discs.after_cluster
@@ -478,20 +487,20 @@ function shape(head, firstnode, run)
local precodes, postcodes, repcodes = {}, {}
table.move(codes, disc_cluster + 1, anchor_cluster, 1, precodes)
for n in traverse(pre) do
- precodes[#precodes + 1] = is_char(n, fontid) or 0xFFFC
+ precodes[#precodes + 1] = is_char(n, fontid) or obj_repl
end
for n in traverse(post) do
- postcodes[#postcodes + 1] = is_char(n, fontid) or 0xFFFC
+ postcodes[#postcodes + 1] = is_char(n, fontid) or obj_repl
end
table.move(codes, after_cluster + 1, cluster, #postcodes + 1, postcodes)
if saved_after then
repcodes = table.move(codes, disc_cluster + 1, cluster, 1, {})
table.move(codes, cluster + 1, #codes + cluster - disc_cluster, disc_cluster + 3)
- codes[disc_cluster + 1], codes[disc_cluster + 2] = 0xFFFC, 0xFFFC
+ codes[disc_cluster + 1], codes[disc_cluster + 2] = obj_repl, obj_repl
else
table.move(codes, cluster + 1, #codes + cluster - disc_cluster, disc_cluster + 2)
- codes[disc_cluster + 1] = 0xFFFC
+ codes[disc_cluster + 1] = obj_repl
end
do
@@ -535,7 +544,7 @@ function shape(head, firstnode, run)
post = makesub(run, postcodes, post),
cluster = disc_cluster,
nextcluster = disc_cluster + 1,
- codepoint = 0xFFFC,
+ codepoint = obj_repl,
}
if saved_after then
local next_disc = discs.next
@@ -550,10 +559,10 @@ function shape(head, firstnode, run)
local saved_anchor, saved_after = saved_anchor + saved_offset, saved_after + saved_offset
table.move(postcodes, 1, saved_anchor, 1, next_precodes)
for n in traverse(next_pre) do
- next_precodes[#next_precodes + 1] = is_char(n, fontid) or 0xFFFC
+ next_precodes[#next_precodes + 1] = is_char(n, fontid) or obj_repl
end
for n in traverse(next_post) do
- next_postcodes[#next_postcodes + 1] = is_char(n, fontid) or 0xFFFC
+ next_postcodes[#next_postcodes + 1] = is_char(n, fontid) or obj_repl
end
table.move(postcodes, saved_after + 1, #postcodes, #next_postcodes + 1, next_postcodes)
@@ -576,7 +585,7 @@ function shape(head, firstnode, run)
local saved_anchor = saved_anchor - disc_cluster
table.move(repcodes, 1, saved_anchor, 1, next_repcodes)
for n in traverse(next_rep) do
- next_repcodes[#next_repcodes + 1] = is_char(n, fontid) or 0xFFFC
+ next_repcodes[#next_repcodes + 1] = is_char(n, fontid) or obj_repl
end
local rep = glyphs[disc_glyph].replace.head
@@ -599,7 +608,7 @@ function shape(head, firstnode, run)
post = makesub(run, next_postcodes, next_post),
cluster = disc_cluster,
nextcluster = disc_cluster + 1,
- codepoint = 0xFFFC,
+ codepoint = obj_repl,
}
end
i = disc_glyph + 1
@@ -772,9 +781,15 @@ local function tonodes(head, node, run, glyphs)
nodeindex = glyph.cluster + 1
elseif nextcluster + 1 == nodeindex then -- Oops, we went too far
nodeindex = nodeindex - 1
- local new = inherit(glyph_t, getprev(node), lastprops)
- setfont(new, fontid)
- head, node = insertbefore(head, node, new)
+ if node then
+ local new = inherit(glyph_t, getprev(node), lastprops)
+ head, node = insertbefore(head, node, new)
+ else
+ node = tail(head)
+ local new = inherit(glyph_t, node, lastprops)
+ head, node = insertafter(head, node, new)
+ end
+ setfont(node, fontid)
end
local gid = glyph.codepoint
local char = nominals[gid] or gid_offset + gid
@@ -1134,6 +1149,8 @@ local function get_glyph_info(n)
local c = getchar(n)
if c == 0 then
return '^^@'
+ elseif c < 0 then -- These are left and right boundaries in ligature lists
+ return ''
elseif c < 0x110000 then
return utfchar(c)
else
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
new file mode 100644
index 0000000000..9c05b7a6c7
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
@@ -0,0 +1,442 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-harf-var-cff2.lua
+-- DESCRIPTION: part of luaotfload / HarfBuzz / Parse and convert CFF2 tables
+-----------------------------------------------------------------------
+do
+ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
+ name = "luaotfload-harf-var-cff2",
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
+ description = "luaotfload submodule / CFF2 table processing",
+ license = "GPL v2.0",
+ author = "Marcel Krüger",
+ copyright = "Luaotfload Development Team",
+ }
+end
+
+local hb = assert(luaotfload.harfbuzz)
+local cff2 = hb.Tag.new'CFF2'
+local serialize = require'luaotfload-harf-var-t2-writer'
+
+local offsetfmt = ">I%i"
+local function parse_index(buf, i)
+ local count, offsize
+ count, offsize, i = string.unpack(">I4B", buf, i)
+ if count == 0 then return {}, i-1 end
+ local fmt = offsetfmt:format(offsize)
+ local offsets = {}
+ local dataoffset = i + offsize*count - 1
+ for j=1,count+1 do
+ offsets[j], i = string.unpack(fmt, buf, i)
+ end
+ for j=1,count+1 do
+ offsets[j] = offsets[j] + i - 1
+ end
+ return offsets, offsets[#offsets]
+end
+
+local real_mapping = { [0] = '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+ '.', 'E', 'E-', nil, '-', nil}
+local function parse_real(cs, offset)
+ local c = cs:byte(offset)
+ if not c then return offset end
+ local c1, c2 = real_mapping[c>>4], real_mapping[c&0xF]
+ if not c1 or not c2 then
+ return c1 or offset, c1 and offset
+ else
+ return c1, c2, parse_real(cs, offset+1) --Warning: This is not a tail-call,
+ -- so we are affected by the stack limit. On the other hand, as long as
+ -- there are less than ~50 bytes we should be safe.
+ end
+end
+
+local function get_number(result)
+ if #result ~= 1 then
+ print(require'inspect'(result))
+ end
+ assert(#result == 1)
+ local num = result[1]
+ result[1] = nil
+ return num
+end
+
+local function get_bool(result)
+ return get_number(result) == 1
+end
+
+local function get_array(result)
+ local arr = table.move(result, 1, #result, 1, {})
+ for i=1,#result do result[i] = nil end
+ return arr
+end
+
+local function get_delta(result)
+ local arr = get_array(result)
+ local last = 0
+ for i=1,#arr do
+ arr[i] = arr[i]+last
+ last = arr[i]
+ end
+ return arr
+end
+
+local function get_private(result)
+ local arr = get_array(result)
+ assert(#arr == 2)
+ return arr
+end
+
+local function do_blend(result, vstore)
+ if not vstore then
+ error'blend operator only allowed in Private disctionary of variable fonts'
+ end
+ local vsindex = (result.vsindex or 0) + 1
+ local factors = vstore[vsindex]
+ local n = result[#result]
+ local k = #factors
+ local before = #result - 1 - n*(k+1)
+ for i = 1, n do
+ local val = result[before + i]
+ for j = 1, k do
+ val = val + factors[j] * result[before + n + (i-1) * k + j]
+ end
+ result[before + i] = math.floor(val + .5)
+ end
+ for i = before + n + 1, #result do
+ result[i] = nil
+ end
+ return arr
+end
+
+local function apply_matrix(m, x, y)
+ return (m[1] * x + m[3] * y + m[5])*1000, (m[2] * x + m[4] * y + m[6])*1000
+end
+
+local operators = {
+ [6] = {'BlueValues', get_delta},
+ [7] = {'OtherBlues', get_delta},
+ [8] = {'FamilyBlues', get_delta},
+ [9] = {'FamilyOtherBlues', get_delta},
+ [10] = {'StdHW', get_number},
+ [11] = {'StdVW', get_number},
+ [17] = {'CharStrings', get_number},
+ [18] = {'Private', get_private},
+ [19] = {'Subrs', get_number},
+ [22] = {'vsindex', get_number},
+ [23] = {'blend', do_blend},
+ [24] = {'vstore', get_number},
+ [-8] = {'FontMatrix', get_array},
+[-10] = {'BlueScale', get_number},
+[-11] = {'BlueShift', get_number},
+[-12] = {'BlueFuzz', get_number},
+[-13] = {'StemSnapH', get_delta},
+[-14] = {'StemSnapV', get_delta},
+[-15] = {'ForceBold', get_bool}, -- ???
+[-18] = {'LanguageGroup', get_number},
+[-19] = {'ExpansionFactor', get_number},
+[-20] = {'initialRandomSeed', get_number}, -- ???
+[-37] = {'FDArray', get_number},
+[-38] = {'FDSelect', get_number},
+}
+local function parse_dict(buf, i, j, vstore)
+ result = {}
+ while i<=j do
+ local cmd = buf:byte(i)
+ if cmd == 29 then
+ result[#result+1] = string.unpack(">i4", buf:sub(i+1, i+4))
+ i = i+4
+ elseif cmd == 28 then
+ result[#result+1] = string.unpack(">i2", buf:sub(i+1, i+2))
+ i = i+2
+ elseif cmd >= 251 then -- Actually "and cmd ~= 255", but 255 is reserved
+ result[#result+1] = -((cmd-251)*256)-string.byte(buf, i+1)-108
+ i = i+1
+ elseif cmd >= 247 then
+ result[#result+1] = (cmd-247)*256+string.byte(buf, i+1)+108
+ i = i+1
+ elseif cmd >= 32 then
+ result[#result+1] = cmd-139
+ elseif cmd == 30 then -- 31 is reserved again
+ local real = {parse_real(buf, i+1)}
+ i = real[#real]
+ real[#real] = nil
+ result[#result+1] = tonumber(table.concat(real))
+ else
+ if cmd == 12 then
+ i = i+1
+ cmd = -buf:byte(i)-1
+ end
+ local op = operators[cmd]
+ if not op then error[[Unknown CFF operator]] end
+ result[op[1]] = op[2](result, vstore)
+ end
+ i = i+1
+ end
+ return result
+end
+
+local function parse_charstring(buf, start, after, globalsubrs, subrs, result)
+ local lastresult = result[#result]
+ while start ~= after do
+ local cmd = buf:byte(start)
+ if cmd == 28 then
+ lastresult[#lastresult+1] = string.unpack(">i2", buf:sub(start+1, start+2))
+ start = start+2
+ elseif cmd == 255 then
+ lastresult[#lastresult+1] = string.unpack(">i4", buf:sub(start+1, start+4))/0x10000
+ start = start+4
+ elseif cmd >= 251 then
+ lastresult[#lastresult+1] = -((cmd-251)*256)-string.byte(buf, start+1)-108
+ start = start+1
+ elseif cmd >= 247 then
+ lastresult[#lastresult+1] = (cmd-247)*256+string.byte(buf, start+1)+108
+ start = start+1
+ elseif cmd >= 32 then
+ lastresult[#lastresult+1] = cmd-139
+ elseif cmd == 10 then
+ local idx = lastresult[#lastresult]+subrs.bias
+ local sub_start = subrs[idx]
+ local sub_stop = subrs[idx+1]
+ lastresult[#lastresult] = nil
+ parse_charstring(buf, sub_start, sub_stop, globalsubrs, subrs, result)
+ lastresult = result[#result]
+ elseif cmd == 29 then
+ local idx = lastresult[#lastresult]+globalsubrs.bias
+ local sub_start = globalsubrs[idx]
+ local sub_stop = globalsubrs[idx+1]
+ lastresult[#lastresult] = nil
+ parse_charstring(buf, sub_start, sub_stop, globalsubrs, subrs, result)
+ lastresult = result[#result]
+ elseif cmd == 11 then
+ break -- We do not keep subroutines, so drop returns and continue with the outer commands
+ elseif cmd == 15 then -- vsindex
+ assert(#lastresult == 2)
+ result.factors = result.vstore[lastresult[2] + 1]
+ lastresult[2] = nil
+ elseif cmd == 16 then -- blend
+ local factors = result.factors
+ if not factors then
+ error'blend operator outside of variable font or with invalid vsindex'
+ end
+ local n = lastresult[#lastresult]
+ local k = #factors
+ local before = #lastresult - 1 - n*(k+1)
+ for i = 1, n do
+ local val = lastresult[before + i]
+ for j = 1, k do
+ val = val + factors[j] * lastresult[before + n + (i-1) * k + j]
+ end
+ lastresult[before + i] = math.floor(val + .5)
+ end
+ for i = before + n + 1, #lastresult do
+ lastresult[i] = nil
+ end
+ elseif cmd == 12 then
+ start = start+1
+ cmd = buf:byte(start)
+ lastresult[1] = -cmd-1
+ lastresult = {false}
+ result[#result+1] = lastresult
+ elseif cmd == 19 or cmd == 20 then
+ if #result == 1 then
+ lastresult = {}
+ result[#result+1] = lastresult
+ end
+ lastresult[1] = cmd
+ local newi = start+(result.stemcount+7)//8
+ lastresult[2] = buf:sub(start+1, newi)
+ start = newi
+ else
+ if cmd == 21 and #result == 1 then
+ table.insert(result, 1, {false})
+ if #lastresult == 4 then
+ result[1][2] = lastresult[2]
+ table.remove(lastresult, 2)
+ end
+ elseif (cmd == 4 or cmd == 22) and #result == 1 then
+ table.insert(result, 1, {false})
+ if #lastresult == 3 then
+ result[1][2] = lastresult[2]
+ table.remove(lastresult, 2)
+ end
+ elseif cmd == 14 and #result == 1 then
+ table.insert(result, 1, {false})
+ if #lastresult == 2 or #lastresult == 6 then
+ result[1][2] = lastresult[2]
+ table.remove(lastresult, 2)
+ end
+ elseif cmd == 1 or cmd == 3 or cmd == 18 or cmd == 23 then
+ if #result == 1 then
+ table.insert(result, 1, {false})
+ if #lastresult % 2 == 0 then
+ result[1][2] = lastresult[2]
+ table.remove(lastresult, 2)
+ end
+ end
+ result.stemcount = result.stemcount + #lastresult//2
+ end
+ lastresult[1] = cmd
+ lastresult = {false}
+ result[#result+1] = lastresult
+ end
+ start = start+1
+ end
+ return result
+end
+
+local function parse_fdselect(buf, offset, CharStrings)
+ local format
+ format, offset = string.unpack(">B", buf, offset)
+ if format == 0 then
+ for i=0,#CharStrings-1 do
+ local code
+ code, offset = string.unpack(">B", buf, offset)
+ CharStrings[i][3] = code + 1
+ end -- Reimplement with string.byte
+ elseif format == 3 then
+ local count, last
+ count, offset = string.unpack(">I2", buf, offset)
+ for i=1,count do
+ local first, code, after = string.unpack(">I2BI2", buf, offset)
+ for j=first, after-1 do
+ CharStrings[j][3] = code + 1
+ end
+ offset = offset + 3
+ end
+ elseif format == 4 then
+ local count, last
+ count, offset = string.unpack(">I4", buf, offset)
+ for i=1,count do
+ local first, code, after = string.unpack(">I4I2I4", buf, offset)
+ for j=first, after-1 do
+ CharStrings[j][3] = code + 1
+ end
+ offset = offset + 6
+ end
+ else
+ error[[Invalid FDSelect format]]
+ end
+end
+
+local function parse_vstore(buf, offset, variation)
+ local size, format, region_list_off, item_variation_count, off = string.unpack(">I2I2I4I2", buf, offset)
+ if format ~= 1 then
+ error'Unsupported vstore format'
+ end
+ offset = offset + 2 -- Skip the size
+ region_list_off = offset + region_list_off
+
+ local axis_count, region_count
+ axis_count, region_count, region_list_off = string.unpack(">I2I2", buf, region_list_off)
+
+ local variation_regions = {}
+ for i = 1, region_count do
+ local factor = 1
+ for j = 1, axis_count do
+ local start, peak, stop
+ start, peak, stop, region_list_off = string.unpack(">i2i2i2", buf, region_list_off)
+ local coord = variation[j]
+ if peak == 0 then -- Skip
+ elseif peak == coord then
+ -- factor = factor * 1
+ elseif coord <= start or coord >= stop then
+ factor = 0
+ break
+ elseif coord < peak then
+ factor = factor * ((coord-start) / (peak-start))
+ else--if coord > peak then
+ factor = factor * ((stop-coord) / (stop-peak))
+ end
+ end
+ variation_regions[i] = factor
+ end
+
+ local variation_data = {}
+ for i = 1, item_variation_count do
+ local item_off
+ item_off, off = string.unpack(">I4", buf, off)
+ local i_count, short_count, region_count
+ i_count, short_count, region_count, item_off = string.unpack(">I2I2I2", buf, item_off + offset)
+ if i_count ~= 0 or short_count ~= 0 then
+ error'Unexpected variation items in CFF2 table'
+ end
+ local factors = {}
+ for j = 1, region_count do
+ local region
+ region, item_off = string.unpack(">I2", buf, item_off)
+ factors[j] = variation_regions[region+1]
+ end
+ variation_data[i] = factors
+ end
+ return variation_data
+end
+
+function parse_cff2(buf, i0, coords)
+ local fontid = 1
+ local major, minor, hdrSize, topSize = string.unpack(">BBBH", buf, i0)
+ if major ~= 2 then error[[Unsupported CFF version]] end
+ local i = i0 + hdrSize
+ local top = parse_dict(buf, i, i + topSize - 1)
+ i = i + topSize
+ local globalsubrs
+ globalsubrs, i = parse_index(buf, i)
+ globalsubrs.bias = #globalsubrs-1 < 1240 and 108 or #globalsubrs-1 < 33900 and 1132 or 32769
+ top.GlobalSubrs = globalsubrs
+ local CharStrings = parse_index(buf, i0+top.CharStrings)
+ for i=1,#CharStrings-1 do
+ CharStrings[i-1] = {CharStrings[i], CharStrings[i+1]-1}
+ end
+ CharStrings[#CharStrings] = nil
+ CharStrings[#CharStrings] = nil
+ local fonts = parse_index(buf, i0+top.FDArray)
+ top.FDArray = nil
+ top.vstore = parse_vstore(buf, i0 + top.vstore, coords)
+ local privates = {}
+ top.Privates = privates
+ for i=1,#fonts-1 do
+ local font = fonts[i]
+ local fontdir = parse_dict(buf, fonts[i], fonts[i+1]-1)
+ privates[i] = parse_dict(buf, i0+fontdir.Private[2], i0+fontdir.Private[2]+fontdir.Private[1]-1, top.vstore)
+ local subrs = privates[i].Subrs
+ if subrs then
+ subrs = parse_index(buf, i0+fontdir.Private[2]+subrs)
+ subrs.bias = #subrs-1 < 1240 and 108 or #subrs-1 < 33900 and 1132 or 32769
+ privates[i].Subrs = subrs
+ end
+ end
+ if top.FDSelect then
+ parse_fdselect(buf, i0+top.FDSelect, CharStrings)
+ else
+ for i=0,#CharStrings-1 do
+ CharStrings[i][3] = 1
+ end
+ end
+ top.CharStrings = CharStrings
+ local bbox
+ if top.FontMatrix then
+ local x0, y0 = apply_matrix(top.FontMatrix, top.FontBBox[1], top.FontBBox[2])
+ local x1, y1 = apply_matrix(top.FontMatrix, top.FontBBox[3], top.FontBBox[4])
+ bbox = {x0, y0, x1, y1}
+ else
+ bbox = top.FontBBox
+ end
+ return top, bbox
+end
+
+local function parse_glyph(buffer, top, gid)
+ local cs = top.CharStrings[gid]
+ local Private = top.Privates[cs[3]]
+ return parse_charstring(buffer, cs[1], cs[2] + 1,
+ top.GlobalSubrs, Private.Subrs,
+ {{false}, stemcount = 0, vstore = top.vstore, factors = top.vstore and top.vstore[(Private.vsindex or 0) + 1]})
+end
+
+return function(face, font)
+ local data = face:get_table(cff2):get_data()
+ local content = parse_cff2(data, 1, {font:get_var_coords_normalized()})
+ return function(gid)
+ local glyph = parse_glyph(data, content, gid)
+ glyph[1][2] = font:get_glyph_h_advance(gid)
+ return serialize(glyph)
+ end
+end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
new file mode 100644
index 0000000000..f10bf6d860
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
@@ -0,0 +1,120 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-harf-var-t2-writer.lua
+-- DESCRIPTION: part of luaotfload / HarfBuzz / Serialize Type 2 charstrings
+-----------------------------------------------------------------------
+do
+ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
+ name = "luaotfload-harf-var-t2-writer",
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
+ description = "luaotfload submodule / Type 2 charstring writer",
+ license = "GPL v2.0",
+ author = "Marcel Krüger",
+ copyright = "Luaotfload Development Team",
+ }
+end
+
+local pack = string.pack
+local function numbertot2(n)
+ if math.abs(n) > 2^15 then
+ error[[Number too big]]
+ end
+ local num = math.floor(n + .5)
+ if n ~= 0 and math.abs((num-n)/n) > 0.001 then
+ num = math.floor(n * 2^16 + 0.5)
+ return pack(">Bi4", 255, math.floor(n * 2^16 + 0.5))
+ elseif num >= -107 and num <= 107 then
+ return string.char(num + 139)
+ elseif num >= 108 and num <= 1131 then
+ return pack(">I2", num+0xF694) -- -108+(247*0x100)
+ elseif num >= -1131 and num <= -108 then
+ return pack(">I2", -num+0xFA94) -- -108+(251*0x100)
+ else
+ return pack(">Bi2", 28, num)
+ end
+end
+local function convert_cs(cs, upem)
+ local cs_parts = {}
+ local function add(cmd, first, ...)
+ if cmd == 19 or cmd == 20 then
+ cs_parts[#cs_parts+1] = string.char(cmd)
+ cs_parts[#cs_parts+1] = first
+ return
+ end
+ if first then
+ cs_parts[#cs_parts+1] = numbertot2(first*upem/1000)
+ return add(cmd, ...)
+ end
+ if cmd then
+ if cmd < 0 then
+ cs_parts[#cs_parts+1] = string.char(12, -cmd-1)
+ else
+ cs_parts[#cs_parts+1] = string.char(cmd)
+ end
+ end
+ end
+ for _, args in ipairs(cs) do
+ if args then
+ local cmd = args[1]
+ local height = #args - 1
+ local i = 2
+ while height > 48 do
+ -- Special cases: hhcurveto, vvcurveto, rcurveline, rlinecurve
+ -- hhvurveto/vvcurveto: In odd argument case, the first argument must be
+ -- followed by a multiple of four arguments.
+ if cmd == 27 and i == 2 and height % 4 == 1 then -- hhcurveto
+ add(cmd, table.unpack(args, i, i + 44))
+ height = height - 45
+ i = i + 45
+ elseif cmd == 26 and i == 2 and height % 4 == 1 then -- vvcurveto
+ add(cmd, table.unpack(args, i, i + 44))
+ height = height - 45
+ i = i + 45
+ -- rcurveline/rlinecurve: At least 8 arguments must be preserved, all previous instances
+ -- need different commands
+ elseif cmd == 24 then -- rcurveline
+ height = height - 48
+ local count
+ if height >= 8 then
+ count = 48
+ else
+ count = 48 - 8 + height
+ height = 8
+ end
+ add(8, table.unpack(args, i, i + count - 1)) -- 8 = rrcurveto
+ i = i + count
+ elseif cmd == 25 then -- rlinecurve
+ height = height - 48
+ local count
+ if height >= 8 then
+ count = 48
+ else
+ count = 48 - 8 + height
+ height = 8
+ end
+ add(5, table.unpack(args, i, i + count - 1)) -- 5 = rlineto
+ i = i + count
+ else -- Some commands have an optional last argument which can appear after multiple of 48 arguments,
+ -- so it's safer to never leave a element alone in a line.
+ height = height - 48
+ local count
+ if height > 1 then
+ count = 48
+ else
+ -- assert(height == 1)
+ count = 24--48 - 25 + height
+ height = 25
+ end
+ add(cmd, table.unpack(args, i, i + count - 1))
+ i = i + count
+ end
+ end
+ add(cmd, table.unpack(args, i))
+ end
+ end
+ return table.concat(cs_parts)
+end
+
+return function(cs, upem)
+ return convert_cs(cs, upem or 1000)
+end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua b/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
new file mode 100644
index 0000000000..80cf6768ae
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
@@ -0,0 +1,564 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-harf-var-ttf.lua
+-- DESCRIPTION: part of luaotfload / HarfBuzz / Parse and apply gvar tables
+-----------------------------------------------------------------------
+do
+ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
+ name = "luaotfload-harf-var-ttf",
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
+ description = "luaotfload submodule / gvar table processing",
+ license = "GPL v2.0",
+ author = "Marcel Krüger",
+ copyright = "Luaotfload Development Team",
+ }
+end
+
+local hb = assert(luaotfload.harfbuzz)
+local gvar_tag = hb.Tag.new'gvar'
+local glyf_tag = hb.Tag.new'glyf'
+local loca_tag = hb.Tag.new'loca'
+
+local function read_tuple(data, offset, axes_count)
+ local tuple = lua.newtable(axes_count, 0)
+ for i=1, axes_count do
+ tuple[i] = sio.readinteger2(data, offset + 2*i-2)
+ end
+ return tuple, offset + 2*axes_count
+end
+
+local function read_gvar(data)
+ if 1 ~= sio.readcardinal2(data, 1) then
+ return nil, 'Unknown gvar version'
+ end
+ local axes_count = sio.readcardinal2(data, 5)
+ local shared_count = sio.readcardinal2(data, 7)
+ local shared_offset = sio.readcardinal4(data, 9) + 1
+ local glyph_count = sio.readcardinal2(data, 13)
+ local flags = sio.readcardinal2(data, 15)
+ local variation_offset = sio.readcardinal4(data, 17) + 1
+ local variation_offsets = sio.readcardinaltable(data, 21, glyph_count+1, flags & 1 == 1 and 4 or 2)
+ if flags & 1 == 1 then
+ for i = 1, glyph_count+1 do
+ variation_offsets[i] = variation_offset + variation_offsets[i]
+ end
+ else
+ for i = 1, glyph_count+1 do
+ variation_offsets[i] = variation_offset + 2*variation_offsets[i]
+ end
+ end
+
+ local shared = lua.newtable(shared_count, 0)
+ for i=1, shared_count do
+ shared[i], shared_offset = read_tuple(data, shared_offset, axes_count)
+ end
+
+ local glyph_variation = lua.newtable(glyph_count, 0)
+ for i = 1, glyph_count do
+ local offset = variation_offsets[i]
+ if variation_offsets[i+1] ~= offset then
+ local tuple_variations = sio.readcardinal2(data, offset)
+ local flags = tuple_variations >> 12
+ tuple_variations = tuple_variations & 0xFFF
+ local data_offset = offset + sio.readcardinal2(data, offset + 2)
+
+ local headers = lua.newtable(tuple_variations, 0)
+ offset = offset + 4
+ for j=1, tuple_variations do
+ local data_size = sio.readcardinal2(data, offset)
+ local tuple_index = sio.readcardinal2(data, offset + 2)
+ local peak, start_inter, end_inter
+ offset = offset + 4
+ if tuple_index & 0x8000 == 0x8000 then
+ peak, offset = read_tuple(data, offset, axes_count)
+ else
+ peak = shared[(tuple_index & 0xFFF) + 1]
+ end
+ if tuple_index & 0x4000 == 0x4000 then
+ start_inter, offset = read_tuple(data, offset, axes_count)
+ end_inter, offset = read_tuple(data, offset, axes_count)
+ end
+ headers[j] = {
+ size = data_size,
+ peak = peak,
+ start_inter = start_inter,
+ end_inter = end_inter,
+ private_points = tuple_index & 0x2000 == 0x2000 or nil,
+ }
+ end
+ glyph_variation[i] = {
+ offset = data_offset,
+ shared_points = flags & 0x8 == 0x8 or nil,
+ headers = headers,
+ }
+ end
+ end
+ return glyph_variation
+end
+
+local function read_loca(face)
+ local data = face:get_table(loca_tag):get_data()
+ local count = face:get_glyph_count() + 1
+ if #data == count * 2 then
+ local result = sio.readcardinaltable(data, 1, count, 2)
+ for i=1, count do
+ result[i] = 2 * result[i]
+ end
+ return result
+ elseif #data == count * 4 then
+ return sio.readcardinaltable(data, 1, count, 4)
+ else
+ return nil, 'Invalid loca format'
+ end
+end
+
+local function parse_glyf(loca, glyf, gid)
+ local offset = loca[gid + 1] + 1
+ if loca[gid + 2] + 1 == offset then return end
+ local num_contours = sio.readinteger2(glyf, offset)
+ -- local xmin = sio.readinteger2(glyf, offset + 2)
+ -- local ymin = sio.readinteger2(glyf, offset + 4)
+ -- local xmax = sio.readinteger2(glyf, offset + 6)
+ -- local ymax = sio.readinteger2(glyf, offset + 8)
+ if num_contours < 0 then
+ -- composite
+ local xmin = sio.readinteger2(glyf, offset + 2)
+ local ymin = sio.readinteger2(glyf, offset + 4)
+ local xmax = sio.readinteger2(glyf, offset + 6)
+ local ymax = sio.readinteger2(glyf, offset + 8)
+ local components = { -- FIXME: These are likely incorrect
+ xmin = xmin,
+ ymin = ymin,
+ xmax = xmax,
+ ymax = ymax,
+ }
+ local flags
+ offset = offset + 10
+ repeat
+ local component = {}
+ flags = sio.readcardinal2(glyf, offset)
+ component.glyph = sio.readcardinal2(glyf, offset + 2)
+ local payload_length
+ if flags & 0x2 == 0x2 then
+ if flags & 0x1 == 0x1 then
+ component.x = sio.readinteger2(glyf, offset + 4)
+ component.y = sio.readinteger2(glyf, offset + 6)
+ offset = offset + 8
+ else
+ component.x = sio.readinteger1(glyf, offset + 4)
+ component.y = sio.readinteger1(glyf, offset + 5)
+ offset = offset + 6
+ end
+ payload_length = 0
+ else
+ offset = offset + 4
+ if flags & 0x1 == 0x1 then
+ payload_length = 4
+ else
+ payload_length = 2
+ end
+ end
+ if flags & 0x8 == 0x8 then
+ payload_length = payload_length + 2
+ elseif flags & 0x40 == 0x40 then
+ payload_length = payload_length + 4
+ elseif flags & 0x80 == 0x80 then
+ payload_length = payload_length + 8
+ end
+ if flags & 0x120 == 0x100 then -- Only applies to the last character
+ payload_length = payload_length + 2 + sio.readcardinal2(offset + payload_length)
+ end
+ component.flags = flags
+ component.payload = glyf:sub(offset, offset + payload_length - 1)
+ components[#components+1] = component
+ until flags & 0x20 == 0
+ return components
+ else
+ local end_contours = sio.readcardinaltable(glyf, offset+10, num_contours, 2)
+ offset = offset + 10 + num_contours * 2
+ local instruction_length = sio.readcardinal2(glyf, offset)
+ local instructions = glyf:sub(offset+2, offset+1+instruction_length)
+ offset = offset+2+instruction_length
+ local total_points = end_contours[num_contours] + 1
+ local points = lua.newtable(total_points, 2)
+ do
+ local i = 1
+ while i <= total_points do
+ local flags = sio.readcardinal1(glyf, offset)
+ offset = offset + 1
+ local count = 0
+ if flags & 0x8 == 0x8 then
+ count = sio.readcardinal1(glyf, offset)
+ offset = offset + 1
+ end
+ for j=i, i + count do
+ points[j] = {flags = flags}
+ end
+ i = i + 1 + count
+ end
+ end
+ do
+ local last = 0
+ for i=1, total_points do
+ local point = points[i]
+ local flags = point.flags
+ local value
+ if flags & 0x2 == 0x2 then -- short
+ value = sio.readcardinal1(glyf, offset)
+ offset = offset + 1
+ if flags & 0x10 == 0 then
+ value = -value
+ end
+ elseif flags & 0x10 == 0 then
+ value = sio.readinteger2(glyf, offset)
+ offset = offset + 2
+ else
+ value = 0
+ end
+ last = last + value
+ point.x = last
+ end
+ last = 0
+ for i=1, total_points do
+ local point = points[i]
+ local flags = point.flags
+ local value
+ if flags & 0x4 == 0x4 then -- short
+ value = sio.readcardinal1(glyf, offset)
+ offset = offset + 1
+ if flags & 0x20 == 0 then
+ value = -value
+ end
+ elseif flags & 0x20 == 0 then
+ value = sio.readinteger2(glyf, offset)
+ offset = offset + 2
+ else
+ value = 0
+ end
+ last = last + value
+ point.y = last
+ point.flags = flags & 0xC1 -- Discard all flags we aready used
+ end
+ -- assert (i == total_points)
+ end
+ points.contours = end_contours
+ points.instructions = instructions
+ return points
+ end
+end
+
+local function serialize_glyf(points, map)
+ local contours = points.contours
+ if points.contours then
+ local flagdata, xdata, ydata = {}, {}, {}
+ local last_flags, last_x, last_y = 0x100 -- Impossible flag to avoid triggering a repeated flag in the first step
+ local xmin, ymin, xmax, ymax
+ for i=1, #points do
+ local point = points[i]
+ local flags, x, y = point.flags, math.floor(point.x + .5), math.floor(point.y + .5)
+ xmin = xmin and xmin < x and xmin or x
+ xmax = xmax and xmax > x and xmax or x
+ ymin = ymin and ymin < y and ymin or y
+ ymax = ymax and ymax > y and ymax or y
+ x, last_x = x - (last_x or 0), x
+ if x == 0 then
+ flags = flags | 0x10
+ elseif x < 0x100 and x > -0x100 then
+ if x < 0 then
+ x = -x
+ flags = flags | 0x2
+ else
+ flags = flags | 0x12
+ end
+ xdata[#xdata+1] = x
+ else
+ if x > 0x7FFF then
+ x = 0x7FFF
+ elseif x < -0x8000 then
+ x = -0x8000
+ end
+ if x < 0 then
+ x = x + 0x10000
+ end
+ xdata[#xdata+1] = x >> 8
+ xdata[#xdata+1] = x & 0xFF
+ end
+ y, last_y = y - (last_y or 0), y
+ if y == 0 then
+ flags = flags | 0x20
+ elseif y < 0x100 and y > -0x100 then
+ if y < 0 then
+ y = -y
+ flags = flags | 0x4
+ else
+ flags = flags | 0x24
+ end
+ ydata[#ydata+1] = y
+ else
+ if y > 0x7FFF then
+ y = 0x7FFF
+ elseif y < -0x8000 then
+ y = -0x8000
+ end
+ if y < 0 then
+ y = y + 0x10000
+ end
+ ydata[#ydata+1] = y >> 8
+ ydata[#ydata+1] = y & 0xFF
+ end
+ if flags == last_flags & 0x1F7 then
+ if last_flags & 0x8 == 0x8 then
+ flagdata[#flagdata] = flagdata[#flagdata] + 1
+ else
+ last_flags = last_flags | 0x8
+ flagdata[#flagdata] = last_flags
+ flagdata[#flagdata+1] = 1
+ end
+ else
+ last_flags = flags
+ flagdata[#flagdata+1] = last_flags
+ end
+ end
+ local header = string.pack(">i2i2i2i2i2" .. string.rep('I2', #contours), #contours, xmin, ymin, xmax, ymax, table.unpack(contours))
+ return header .. string.pack(">s2", points.instructions) .. string.char(table.unpack(flagdata)) .. string.char(table.unpack(xdata)) .. string.char(table.unpack(ydata))
+ else
+ local result = string.pack(">i2i2i2i2i2", -1, points.xmin, points.ymin, points.xmax, points.ymax)
+ for i = 1, #points do
+ local component = points[i]
+ local x, y = component.x, component.y
+ x = x and math.floor(x + .5)
+ y = y and math.floor(y + .5)
+ result = result
+ .. string.pack(component.flags & 0x2 == 0 and '>I2I2'
+ or component.flags & 0x1 == 0x1 and '>I2I2i2i2'
+ or '>I2I2i1i1',
+ component.flags, map[component.glyph], x, y)
+ .. component.payload
+ end
+ return result
+ end
+end
+
+local function read_points(gvar_data, offset)
+ local point_count = sio.readcardinal1(gvar_data, offset)
+ offset = offset + 1
+ if point_count == 0 then
+ return true, offset
+ end
+ if point_count & 0x80 ~= 0 then
+ point_count = ((point_count & 0x7F) << 8) | sio.readcardinal1(gvar_data, suboffset)
+ offset = offset + 1
+ end
+ local points = lua.newtable(point_count, 0)
+ local i, last = 1, 1
+ while i <= point_count do
+ local control = sio.readcardinal1(gvar_data, offset)
+ offset = offset + 1
+ local count = (control & 0x7F) + 1
+ local size = control & 0x80 == 0x80 and 2 or 1
+ local read = size == 2 and sio.readcardinal2 or sio.readcardinal1
+ for j=0, count - 1 do
+ last = last + read(gvar_data, offset + j * size)
+ points[i + j] = last
+ end
+ i, offset = i + count, offset + size * count
+ end
+ return points, offset
+end
+
+local function read_deltas(gvar_data, offset, count)
+ local deltas = lua.newtable(count, 0)
+ local i = 1
+ while i <= count do
+ local control = sio.readcardinal1(gvar_data, offset)
+ offset = offset + 1
+ local length = (control & 0x3F) + 1
+ if control & 0x80 == 0x80 then
+ for j=0, length - 1 do
+ deltas[i + j] = 0
+ end
+ else
+ local size = control & 0x40 == 0x40 and 2 or 1
+ local read = size == 2 and sio.readinteger2 or sio.readinteger1
+ for j=0, length - 1 do
+ deltas[i + j] = read(gvar_data, offset + j * size)
+ end
+ offset = offset + size * length
+ end
+ i = i + length
+ end
+ return deltas, offset
+end
+
+local function interpolate_glyf(loca, gvar_index, gvar, glyf, gid, coords, map)
+ local var = gvar_index[gid+1]
+ if not var then
+ local start = loca[gid+1] + 1
+ local stop = loca[gid+2]
+ return glyf:sub(start, stop)
+ end
+ local points = parse_glyf(loca, glyf, gid)
+ if not points then return '' end
+ local offset = var.offset
+ local shared_points
+ if var.shared_points then
+ shared_points, offset = read_points(gvar, offset)
+ end
+ for i=1, #var.headers do
+ local header = var.headers[i]
+ local size = header.size
+ local factor = 1
+ local start, peak, stop = header.start_inter, header.peak, header.end_inter
+ for j = 1, #coords do
+ local coord = coords[j]
+ local peak = peak[j]
+ local start = start and start[j] or peak < 0 and peak or 0
+ local stop = stop and stop[j] or peak > 0 and peak or 0
+ if peak == 0 then -- Skip
+ elseif peak == coord then
+ -- factor = factor * 1
+ elseif coord <= start or coord >= stop then
+ factor = 0
+ break
+ elseif coord < peak then
+ factor = factor * ((coord-start) / (peak-start))
+ else--if coord > peak then
+ factor = factor * ((stop-coord) / (stop-peak))
+ end
+ end
+ if factor ~= 0 then
+ local base_points, suboffset
+ if header.private_points then
+ base_points, suboffset = read_points(gvar, offset)
+ else
+ base_points, suboffset = shared_points, offset
+ end
+ local count = base_points == true and #points + 4 or #base_points
+ local x_deltas, y_deltas
+ x_deltas, suboffset = read_deltas(gvar, suboffset, count)
+ y_deltas, suboffset = read_deltas(gvar, suboffset, count)
+ local contours = points.contours
+ if contours then
+ if base_points == true then
+ for i=1, #points do
+ local point = points[i]
+ point.x = point.x + factor * x_deltas[i]
+ point.y = point.y + factor * y_deltas[i]
+ end
+ else
+ local contour = 1
+ local last, last_x, last_y, last_dx, last_dy
+ local first, first_x, first_y, first_dx, first_dy
+ local cur = 1
+ local skip = base_points[1] > contours[1] + 1
+ local n_points = #points
+ for i = 1, n_points do
+ if i == contours[contour] + 2 then
+ contour = contour + 1
+ last_x, last_y, last_dx, last_dy = nil
+ first_x, first_y, first_dx, first_dy = nil
+ skip = (base_points[cur] or n_points + 1) > contours[contour] + 1
+ end
+ if not skip then
+ local point = points[i]
+ local this_x, this_y = point.x, point.y
+ if base_points[cur] == i then
+ repeat
+ last_x, last_y = this_x, this_y
+ last_dx, last_dy = x_deltas[cur], y_deltas[cur]
+ if not first_x then
+ first_x, first_y, first_dx, first_dy = last_x, last_y, last_dx, last_dy
+ end
+ point.x = last_x + factor * last_dx
+ point.y = last_y + factor * last_dy
+ cur = cur + 1
+ until base_points[cur] ~= i
+ else
+ if not last_x then -- We started a new contour and haven't seen a real point yet. Look for the last one instead.
+ local idx = cur
+ while (base_points[idx + 1] or n_points + 1) <= contours[contour] + 1 do
+ idx = idx + 1
+ end
+ local idx_point = points[base_points[idx]]
+ last_x, last_y = idx_point.x, idx_point.y
+ last_dx, last_dy = x_deltas[idx], y_deltas[idx]
+ end
+ local after_x, after_y, after_dx, after_dy
+ if (base_points[cur] or n_points + 1) <= contours[contour] + 1 then -- If the next point is part of the contour, use it. Otherwise use the first point in our contour)
+ local next_point = points[base_points[cur]]
+ after_x, after_y = next_point.x, next_point.y
+ after_dx, after_dy = x_deltas[cur], y_deltas[cur]
+ else
+ after_x, after_y = first_x, first_y
+ after_dx, after_dy = first_dx, first_dy
+ end
+
+ -- The first case is a bit weird, but afterwards we just interpolate while clipping to the boundaries.
+ -- See the gvar spec for details.
+ if last_x == after_x then
+ if last_dx == after_dx then
+ point.x = this_x + factor * last_dx
+ end
+ elseif this_x <= last_x and this_x <= after_x then
+ point.x = this_x + factor * (last_x < after_x and last_dx or after_dx)
+ elseif this_x >= last_x and this_x >= after_x then
+ point.x = this_x + factor * (last_x > after_x and last_dx or after_dx)
+ else -- We have to interpolate
+ local t = (this_x - last_x) / (after_x - last_x)
+ point.x = this_x + factor * ((1-t) * last_dx + t * after_dx)
+ end
+
+ -- And again for y
+ if last_y == after_y then
+ if last_dy == after_dy then
+ point.y = this_y + factor * last_dy
+ end
+ elseif this_y <= last_y and this_y <= after_y then
+ point.y = this_y + factor * (last_y < after_y and last_dy or after_dy)
+ elseif this_y >= last_y and this_y >= after_y then
+ point.y = this_y + factor * (last_y > after_y and last_dy or after_dy)
+ else -- We have to interpolate
+ local t = (this_y - last_y) / (after_y - last_y)
+ point.y = this_y + factor * ((1-t) * last_dy + t * after_dy)
+ end
+ end
+ end
+ end
+ end
+ else
+ -- Composite glyph
+ if base_points == true then
+ for i=1, #points do
+ local point = points[i]
+ if point.x then
+ point.x = point.x + factor * x_deltas[i]
+ point.y = point.y + factor * y_deltas[i]
+ end
+ end
+ else
+ for i=1, #base_points do
+ local point = points[base_points[i]]
+ if point and point.x then
+ point.x = point.x + factor * x_deltas[i]
+ point.y = point.y + factor * y_deltas[i]
+ end
+ end
+ end
+ end
+ assert(suboffset == offset + size)
+ end
+ offset = offset + size
+ end
+ return serialize_glyf(points, map)
+end
+
+return function(face, font, map, map_inv)
+ local gvar = assert(face:get_table(gvar_tag):get_data())
+ local gvar_index = assert(read_gvar(gvar))
+ local loca = assert(read_loca(face))
+ local glyf = assert(face:get_table(glyf_tag):get_data())
+ local normalized = {font:get_var_coords_normalized()}
+ return function(gid)
+ return interpolate_glyf(loca, gvar_index, gvar, glyf, map_inv[gid], normalized, map)
+ end
+end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-init.lua b/macros/luatex/generic/luaotfload/luaotfload-init.lua
index 9ce1d2494d..73a6544e72 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-init.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-init.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-init",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / initialization",
license = "GPL v2.0"
}
@@ -551,10 +551,16 @@ local function init_post_load_agl ()
end
+local function init_post_apply_keepnames ()
+ local keepnames = config.luaotfload.misc.keepnames
+ luaotfload.fontloader.fonts.privateoffsets.keepnames = keepnames
+end
+
--- (unit -> unit) list
local init_post_actions = {
init_post_install_callbacks,
init_post_load_agl,
+ init_post_apply_keepnames
}
--- unit -> size_t
diff --git a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
index 7931d9d1d4..b87b90e0c8 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-latex.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
index 7963a839b9..2e69cb92a6 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-letterspace",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / letterspacing",
license = "GPL v2.0",
copyright = "PRAGMA ADE / ConTeXt Development Team",
@@ -70,7 +70,7 @@ local todirect = nodedirect.todirect
local tonode = nodedirect.tonode
local insert_node_before = nodedirect.insert_before
-local free_node = nodedirect.free
+local real_free_node = nodedirect.free
local copy_node = nodedirect.copy
local new_node = nodedirect.new
@@ -86,9 +86,25 @@ local chardata = fonthashes.characters
local otffeatures = fonts.constructors.newfeatures "otf"
local markdata
+-- For every attribute list cached in attribute_table, we have to make
+-- sure that it doesn't get deleted. Therefore attribute_cleanup maps
+-- from a node which has the attribute_list referenced in
+-- attribute_table to the key from attribute_table.
+-- Whenever a node which has an entry in attribute_cleanup is deleted,
+-- we delete the corresponding entry from attribute_table since we can
+-- no longer guarantee that it's references somewhere.
local attribute_table = {}
+local attribute_cleanup = {}
local attr = luatexbase.new_attribute("luaotfload.letterspace_done")
+local function free_node(n)
+ local k = attribute_cleanup[n]
+ if k then
+ attribute_cleanup[n], attribute_table[k] = nil
+ end
+ return real_free_node(n)
+end
+
local function getprevreal(n)
repeat
n = getprev(n)
@@ -445,6 +461,7 @@ kerncharacters = function (head)
setattributelist(start, new_attr_list)
else
setattribute(start, attr, 1)
+ attribute_cleanup[start] = attr_list
attribute_table[attr_list] = getattributelist(start)
end
end --[[if prev]]
@@ -500,7 +517,8 @@ local function enablefontkerning ( )
"kerncharacters() failed to return a valid new head")
end
- for k in next, attribute_table do attribute_table[k] = nil end
+ for k, v in next, attribute_cleanup do attribute_cleanup[k], attribute_table[v] = nil end
+ assert(not next(attribute_table))
return tonode (direct_hd)
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
index 1ed66aebea..5a84113a1f 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-loaders.lua
@@ -8,8 +8,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-loaders",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / callback handling",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-log.lua b/macros/luatex/generic/luaotfload/luaotfload-log.lua
index 74c5fd6929..41f9f4b877 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-log.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-log.lua
@@ -6,8 +6,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-log",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / logging",
license = "GPL v2.0",
author = "Khaled Hosny, Elie Roux, Philipp Gesang",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-main.tex b/macros/luatex/generic/luaotfload/luaotfload-main.tex
index ccc20ca578..cdf5590057 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-main.tex
+++ b/macros/luatex/generic/luaotfload/luaotfload-main.tex
@@ -32,7 +32,7 @@
\beginfrontmatter
\setdocumenttitle {The \identifier{luaotfload} package}
- \setdocumentdate {2021-05-21 v3.18}
+ \setdocumentdate {2022-02-24 v3.19}
\setdocumentauthor {LaTeX3 Project\\
Elie Roux · Khaled Hosny · Philipp Gesang · Ulrike Fischer · Marcel Krüger\\
Home: \hyperlink {https://github.com/latex3/luaotfload}}
@@ -62,6 +62,23 @@ Supported is the \identifier{luatex} versions of a current TeXLive 2019 (and a c
\endsection
\beginsection{Changes}
+\beginsubsection {New in version 3.19 (by Ulrike Fischer/Marcel Krüger)}
+\begin{itemize}
+ \item When used with Lua\TeX\ 1.15.0 or newer, variable fonts are supported
+ when using the \texttt{harf} shaper too.
+ \item A new algorithm for selecting fonts based on font family names allows
+ to more reliably load fonts based on their family name.
+ \item The compiled font database gets compressed to reduce disk space and
+ improve performance on newer systems.
+ \item Broken rendering of some TrueType based variable fonts has been fixed.
+ \item Text automatically gets normalized to Unicode's NFC before shaping.
+ This improves rendering for text written in decomposed forms for many
+ fonts. This can be turned off by passing the \texttt{-normalize} font
+ feature.
+ \item A number of small bugfixes.
+ \end{itemize}
+\endsubsection
+
\beginsubsection {New in version 3.18 (by Ulrike Fischer/Marcel Krüger)}
\begin{itemize}
\item Now variable fonts can be loaded with default values without specifying
@@ -504,7 +521,7 @@ where \meta{prefix} is either \inlinecode{file:} or \inlinecode {name:}.\footnot
%
For a working example see the
\hyperlink [test in the luaotfload
- repo]{https://github.com/latex3/luaotfload/blob/master/testfiles/my-resolver.lvt}.
+ repo]{https://github.com/latex3/luaotfload/blob/main/testfiles/my-resolver.lvt}.
}
%
It determines whether the font loader should interpret the request as
@@ -2477,7 +2494,8 @@ code imported from \CONTEXT.
The complete text of the license is given as a separate file \fileent
{COPYING} in the toplevel directory of the
-\hyperlink [\fileent {Luaotfload} Git repository]{https://github.com/lualatex/luaotfload/blob/master/COPYING}.\\
+\hyperlink [\fileent {Luaotfload} Git
+repository]{https://github.com/latex3/luaotfload/blob/main/COPYING}.\\
Distributions probably package it as \fileent
{doc/luatex/luaotfload/COPYING} in the relevant \fileent {texmf} tree.
diff --git a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
index e3cf9a0cbf..ab688fe704 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-multiscript",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / multiscript",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
index d8cc677723..28a371dd35 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-notdef.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-notdef",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / notdef",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
index cd452b40c2..099363fad5 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-parsers.lua
@@ -7,8 +7,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-parsers",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / parsers",
license = "GPL v2.0"
}
@@ -528,7 +528,7 @@ local featuresep = comma + semicolon
we only support the shorthands for italic / bold / bold italic
shapes, as well as setting optical size, the rest is ignored.
--doc]]--
-local style_modifier = (S'bB' * S'iI'^-1 + S'iI' * S'bB'^-1)
+local style_modifier = (S'bB' * S'iI'^-1 + S'iI' * S'bB'^-1 + S'rR')
/ stringlower
local size_modifier = S"Ss" * P"=" --- optical size
* Cc"optsize" * C(decimal)
diff --git a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
index a24757777e..a91216b79d 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
@@ -11,8 +11,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-resolvers",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / resolvers",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
index 8a4f51ea58..c3c918ef3b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-scripts.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-script",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / Script helpers",
license = "CC0 1.0 Universal",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-status.lua b/macros/luatex/generic/luaotfload/luaotfload-status.lua
index 6743a025c3..d722bfe03b 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-status.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-status.lua
@@ -1,99 +1,99 @@
return {
["hashes"]={
- { "fontloader-2021-05-20.lua", "d3d971e3e79aefcb828157b97cc33378" },
- { "fontloader-util-fil.lua", "aae2a2add764144bb58dd8216fd59260" },
- { "fontloader-util-str.lua", "f3480da8f9a6f34fe320900f7224719b" },
+ { "fontloader-2022-02-24.lua", "4dc8ce07471f8af7aa98d835df654768" },
+ { "fontloader-util-fil.lua", "d0accf4180201efd567816a25ad5e037" },
+ { "fontloader-util-str.lua", "f4a9dd15c3e40cd3915749ac13837c95" },
{ "fontloader-l-unicode.lua", "f368874f11f3c525de5864fd413e4b24" },
- { "fontloader-l-math.lua", "082add08e0bb79f39191ae9534a79849" },
+ { "fontloader-l-math.lua", "5a0740b359e2d55d6dca06a23e3c9df6" },
{ "fontloader-l-boolean.lua", "abe28515dd33e8f6c416c09bca351cf8" },
- { "fontloader-l-file.lua", "352b42b8360ada02ceb26a41f0bd2a76" },
- { "fontloader-l-io.lua", "bbcc4824d0ded30b415d7d2d5763028a" },
+ { "fontloader-l-file.lua", "5839d88d4de96b9e9c7e7f8f8eb885b3" },
+ { "fontloader-l-io.lua", "3396a8644bae37e49b2cfc0c388c78f8" },
{ "fontloader-l-table.lua", "0330da8b3a08d39876def70df8d9c0e5" },
{ "fontloader-l-string.lua", "9457f2af85723e0e6c46d0b5122e9000" },
{ "fontloader-l-function.lua", "a7e68a9703c35238729da41a474e951b" },
- { "fontloader-l-lpeg.lua", "446dc07c8f6d2884122679fb4c8589e2" },
+ { "fontloader-l-lpeg.lua", "8315a56e6bc7b2ede3f70c49bf2b5af5" },
{ "fontloader-l-lua.lua", "420bc442e6d81f4624728a6c56fcd175" },
{ "fontloader-fonts-gbn.lua", "34e4543a02f6fbc8c2ade896cb6dc7df" },
{ "fontloader-fonts-lig.lua", "fbd251eea3810a43a8d5542319361d68" },
{ "fontloader-fonts-ext.lua", "32013cbc5d5d336be8b1d1e5879d86c4" },
{ "fontloader-fonts-def.lua", "f435e0875f203f343157baeff876ec9c" },
{ "fontloader-fonts-tfm.lua", "f0eb5e2a8068b17ad401bb7efdba1630" },
- { "fontloader-fonts-enc.lua", "5ff4ca50493d7c4ecea0e15c203099f0" },
+ { "fontloader-fonts-enc.lua", "c24fd6b4f34f87b9c4ff5e6193ce2656" },
{ "fontloader-fonts-mis.lua", "17e967c9ec4d001deefd43ddf25e98f7" },
- { "fontloader-basics-chr.lua", "64fafe4eaf55d64aead6513c1e74a024" },
- { "fontloader-basics-nod.lua", "b2e0a0e5e1e27349aed464fa738b8db1" },
+ { "fontloader-basics-chr.lua", "ce4afac7ba19471f3c8f90800839f315" },
+ { "fontloader-basics-nod.lua", "1750af43148def9e7a75c6900a96f9dc" },
{ "fontloader-font-imp-effects.lua", "d05997c1826355548ec9aec1346f9f23" },
{ "fontloader-font-imp-italics.lua", "defcb415bc1e0a0999b27773902adc18" },
{ "fontloader-font-imp-ligatures.lua", "26ffcf089391445f7af59536c8814364" },
{ "fontloader-font-imp-tex.lua", "ceb087ef6fa2f89aed7179f60ddf8f35" },
- { "fontloader-font-shp.lua", "2bb36adb4b264a895a2c4d97e1ac1d1e" },
+ { "fontloader-font-shp.lua", "a40862fe382d26c1f3753431254bcfdd" },
{ "fontloader-font-def.lua", "b9d908c2338b7dc443ce9d1e9fcb7139" },
{ "fontloader-font-lua.lua", "1fbfdf7b689b2bdfd0e3bb9bf74ce136" },
{ "fontloader-font-afk.lua", "9da14e0fb22129c053acc599d1312544" },
{ "fontloader-font-one.lua", "bd39d42055a44ca2002f8ddbbbbf27c3" },
{ "fontloader-font-onr.lua", "6d161533f3437435e12a0ad64866df44" },
{ "fontloader-font-ocl.lua", "2a377351ae23c339764ec8ce2e8e9164" },
- { "fontloader-font-osd.lua", "0e051ca0d3b1a8e0604ced27e753fde8" },
- { "fontloader-font-otc.lua", "0f12230ea07b5151f75d52726977e91f" },
- { "fontloader-font-ots.lua", "cb106ae882e8548051f00aac8b7fa862" },
+ { "fontloader-font-osd.lua", "a67b6fb465e7a8b9ecf7c6bbf8dfda03" },
+ { "fontloader-font-otc.lua", "582295d3d1e44cd4a31e8bbc1156f7c1" },
+ { "fontloader-font-ots.lua", "55316a605d11a1d07d38795224c90a63" },
{ "fontloader-font-ota.lua", "2bb12d708e35bc05443eba791e2554e7" },
- { "fontloader-font-oup.lua", "4eb2f26e51835239e26a8df2ecf04366" },
+ { "fontloader-font-oup.lua", "e6e2cc0a202aec2c787d5524e64d340a" },
{ "fontloader-font-otj.lua", "b2c165bd6771a57633f992d07384b739" },
- { "fontloader-font-oto.lua", "2b1d6bc63b2ebf8f2655a15e1cda6541" },
- { "fontloader-font-otl.lua", "6f701653de713e8aa80d82c7cdf32d75" },
+ { "fontloader-font-oto.lua", "9febc4d75d17a543cd73fb17918f7307" },
+ { "fontloader-font-otl.lua", "67078f58bc1a612e4646523538a4e3eb" },
{ "fontloader-font-ott.lua", "3f67b1b1d40bbc222681d8db4aff0f42" },
{ "fontloader-font-oti.lua", "309a75f9c14b77d87e94eba827dc4e71" },
- { "fontloader-font-dsp.lua", "174ce11f3ba0bddf270f48d8d2addd56" },
- { "fontloader-font-ttf.lua", "ffffc827e1bcddc33a2b615340ecff7f" },
- { "fontloader-font-cff.lua", "01e7c6fbc8961a566f4e4f8cbedb7004" },
- { "fontloader-font-otr.lua", "ad238624c9ebd488d4bbe9af3b620189" },
+ { "fontloader-font-dsp.lua", "7616dae672693fd8ec0f1892358019a2" },
+ { "fontloader-font-ttf.lua", "feba1fdc80160343b24f89ef978e53cb" },
+ { "fontloader-font-cff.lua", "e38c1a40e1d1d577cdf7920fa50d0654" },
+ { "fontloader-font-otr.lua", "91f70c1216e60227e1437b6c8dcd8647" },
{ "fontloader-font-vfc.lua", "a81c29eda98cd62cbebdb6c93544b50d" },
{ "fontloader-font-map.lua", "c4a39db5ad822b348aa61bca5f4a599a" },
{ "fontloader-font-cid.lua", "22b0367742fb253deef84ef7ccf5e8de" },
{ "fontloader-font-con.lua", "724e5dd14aec2d4d189f8619898004cf" },
{ "fontloader-font-ini.lua", "5343de60613adb24cdd7a8d2ee1d153c" },
{ "fontloader-data-con.lua", "23a0f5386d46a1c157ae82a373e35fa0" },
- { "fontloader-reference.lua", "29911e74397766ee36205736166dd763" },
- { "fontloader-basics-gen.lua", "4bc43036e9796fccb0b8869f4b05bf2e" },
+ { "fontloader-reference.lua", "066680a4fe38fad14eb27f56d4616104" },
+ { "fontloader-basics-gen.lua", "e470c13b1ed41e38932e93518219ad74" },
{ "mktests", "918cb50be9ee8bd645ac1a27dc501e8c" },
- { "mkstatus", "7f2fd945c1247f6af6b96c4ed49ddeab" },
+ { "mkstatus", "3a71ea95e4daeac77ead843edb0ce283" },
{ "mkcharacters", "bfca0e96e1e351afe7077502f9595af9" },
{ "mkglyphlist", "7a8a8fdc0eac7fac2f13ec8f4e8e7aa9" },
{ "mkimport", "7d62f1042e548f8b9368f26b9ba4be5c" },
- { "luaotfload-glyphlist.lua", "54908a38bf531914f350614afff2ccf6" },
+ { "luaotfload-glyphlist.lua", "dc0ed15ca157aec56a509819d4c24046" },
{ "luaotfload-characters.lua", "76415ca3ede312cad6e09038323489ae" },
- { "luaotfload-dvi.lua", "403603ff9e267d2b9ac631e63b869718" },
- { "luaotfload-tounicode.lua", "8f7850323417188eef5197d4e420bd34" },
- { "luaotfload-unicode.lua", "5bc464447c3f5b154d8368904044d654" },
- { "luaotfload-resolvers.lua", "3655371360dd87b4a7c83e355357e6eb" },
- { "luaotfload-parsers.lua", "c715cb6ea43d644ec26d6e87d25b5d27" },
- { "luaotfload-fallback.lua", "78a566243c0ad99e74f93fface672fb5" },
- { "luaotfload-szss.lua", "4c431d8f76e06200b2df3269615097cc" },
- { "luaotfload-scripts.lua", "12bf373853ead3eab3c83ec62e37bbd6" },
- { "luaotfload-multiscript.lua", "a46096b20f5442acea29c75b77f763a7" },
- { "luaotfload-loaders.lua", "ba59f0161e985f4c97c54245a74a8d29" },
- { "luaotfload-harf-plug.lua", "bded3b2beccab4943f616b3069cbb372" },
- { "luaotfload-harf-define.lua", "a5e760f71e08a8ff40a40defc9d59e4e" },
- { "luaotfload-notdef.lua", "dbb4718b4c1b46adc5870af3f5cc6cac" },
- { "luaotfload-embolden.lua", "7cc1563093c005c40c11b8c327e617f1" },
- { "luaotfload-letterspace.lua", "e7ee541a56954ebfa1a227aa59614bb9" },
- { "luaotfload-features.lua", "bf81e7630c3786ce12c1f9b61ef73037" },
- { "luaotfload-database.lua", "9b911605805ca1fab7d4088c0c50a5d2" },
- { "luaotfload-configuration.lua", "ddedd9c27f810b254547c6a799aba892" },
- { "luaotfload-colors.lua", "f4e86b8cbbcc790a64dae59b6b05b3d1" },
- { "luaotfload-auxiliary.lua", "e814d7c408817ae01a96f279c278ed08" },
- { "luaotfload-filelist.lua", "1108447545fbcb08aa0f6d586988c2e1" },
- { "luaotfload-tool.lua", "4ca593bc9413e4de889f1c0df6e48219" },
- { "luaotfload-diagnostics.lua", "4fa11f02259f2f9e7cd60d4b668b6a33" },
- { "luaotfload-log.lua", "e1af43403d8bf68d95276c0dc00e64f0" },
- { "luaotfload-init.lua", "f80c78b2296664ba42514674d104d093" },
+ { "luaotfload-dvi.lua", "f4e4d6cc443f477820521abcd87ef3f8" },
+ { "luaotfload-tounicode.lua", "79795ade0ccdb99cd5e6cf989770db69" },
+ { "luaotfload-unicode.lua", "68904dd143491dc0a4a1c0a063a118f9" },
+ { "luaotfload-resolvers.lua", "1e844bc5d9b3d207f8914a11254afd67" },
+ { "luaotfload-parsers.lua", "b0c087c6dbf75939d7be9523b7a0ca34" },
+ { "luaotfload-fallback.lua", "88ed544bc0429f94606f72dace5704f0" },
+ { "luaotfload-szss.lua", "7266e9d2122fb0785b595f9605627640" },
+ { "luaotfload-scripts.lua", "c6c11811531c7e42194304d65bed7877" },
+ { "luaotfload-multiscript.lua", "f9d7bedf75629d83f8d99397d15fdf86" },
+ { "luaotfload-loaders.lua", "b2ef32297527eec59131de3b56f4d846" },
+ { "luaotfload-harf-plug.lua", "7f3739c1b32de1f8e76275c317f5ed9a" },
+ { "luaotfload-harf-define.lua", "1c2ce18281caede23d93c8b825df7239" },
+ { "luaotfload-notdef.lua", "8b448aed817a764b675d1ead6bf932a7" },
+ { "luaotfload-embolden.lua", "00ae296b36724c4f8dd4da62051039b2" },
+ { "luaotfload-letterspace.lua", "f98fbda3ea174058b515b9234dfba495" },
+ { "luaotfload-features.lua", "5c0d7d66953c7ecdd2a610d758d70f0d" },
+ { "luaotfload-database.lua", "2ac2d6e5960257a7c5688c931bb91924" },
+ { "luaotfload-configuration.lua", "05e6c5032b9ac6f05230d06c866161d6" },
+ { "luaotfload-colors.lua", "3e1cd496c920d0e8296a9e99357f27eb" },
+ { "luaotfload-auxiliary.lua", "32c6b48ab66a2ddf2a7d3063529e85f8" },
+ { "luaotfload-filelist.lua", "b80ed418d9d297370182e9fcc9e497e5" },
+ { "luaotfload-tool.lua", "2a6a1c510e44c4432724657259b12cbf" },
+ { "luaotfload-diagnostics.lua", "e831068d26e0266cd081de8585c3cbc9" },
+ { "luaotfload-log.lua", "889508edccd01035ecbeafdeeff60e35" },
+ { "luaotfload-init.lua", "56ac12fac2e63d1a901463850062dd58" },
{ "luaotfload-main.lua", "b19c9cc34cf1d676c39f872cfb41aef6" },
},
["notes"]={
["committer"]="Marcel Fabian Krüger <tex@2krueger.de>",
- ["description"]="v3.18/2021-05-21",
- ["loader"]="fontloader-2021-05-20.lua",
- ["revision"]="3f2cacb9d2136142cffb183774c0edaeb4ea3314",
- ["timestamp"]="2021-05-21 02:12:47 +0200",
+ ["description"]="v3.19/2022-02-24",
+ ["loader"]="fontloader-2022-02-24.lua",
+ ["revision"]="ef3a55e0da3709e95551c62376f31149771dcc18",
+ ["timestamp"]="2022-02-24 14:16:28 +0100",
},
} \ No newline at end of file
diff --git a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
index 8ea049ba91..e0f3989c22 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-suppress.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-suppress",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / suppress",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-szss.lua b/macros/luatex/generic/luaotfload/luaotfload-szss.lua
index 26c89eafa2..dcd8eacf65 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-szss.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-szss.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-szss",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / Special feature handling",
license = "GPL v2.0",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload-t3.lua b/macros/luatex/generic/luaotfload/luaotfload-t3.lua
new file mode 100644
index 0000000000..2588346724
--- /dev/null
+++ b/macros/luatex/generic/luaotfload/luaotfload-t3.lua
@@ -0,0 +1,142 @@
+-----------------------------------------------------------------------
+-- FILE: luaotfload-t3.lua
+-- DESCRIPTION: part of luaotfload / Type 3
+-----------------------------------------------------------------------
+do -- block to avoid to many local variables error
+ assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
+ name = "luaotfload-t3",
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
+ description = "luaotfload submodule / Type 3 font handling",
+ license = "GPL v2.0",
+ author = "Marcel Krüger",
+ copyright = "Luaotfload Development Team",
+ }
+end
+
+--[[
+local function u8_to_utf16be(s)
+ local d = {}
+ local i = 0
+ for _, cp, cp2 in utf8.codes(s) do
+ i = i + 1
+ if cp > 0x10000 then
+ cp = cp - 0x10000
+ local high = (cp>>10) | 0xD800
+ local low = (cp&0x3FF) | 0xDC00
+ d[i] = string.format('%04X%04X', high, low)
+ else
+ d[i] = string.format('%04X', cp)
+ end
+ end
+ return table.concat(d, '', 1, i)
+end
+]]
+
+local function t3factory(basename, designsize, callback)
+ local count = 0
+ local gid_to_t3 = {}
+ local t3_to_gid = {}
+ return function(size)
+ local fids = {}
+ return function(gid, width, unicode)
+ local t3id = gid_to_t3[gid]
+ if not t3id then
+ t3id = count
+ count = count + 1
+ gid_to_t3[gid] = t3id
+ t3_to_gid[t3id] = gid
+ end
+ local t3fid, t3cid = t3id >> 8, ~(t3id & 0xFF)
+ local fid = fids[t3fid + 1]
+ local fontdir = fid and font.getfont(fid)
+ local characters = fontdir and fontdir.characters
+ if not (characters and characters[t3cid]) then
+ characters = characters or {}
+ -- First create the character
+ local char = {
+ width = width,
+ height = 0, -- We never look at these two anyway
+ depth = 0,
+ tounicode = unicode,
+ }
+ characters[t3cid] = char
+ if fid then -- Font already exists
+ font.addcharacters(fid, {
+ characters = {
+ [t3cid] = char,
+ },
+ })
+ else
+ fontdir = {
+ name = basename .. '_' .. basesize .. '_' .. t3fid,
+ format = 'type3',
+ psname = 'none',
+ filename = 'not_a_real_filename', -- Can't be null to ensure reuse
+ fullname = basename .. basesize .. '_' .. t3fid,
+ characters = characters,
+ designsize = basesize,
+ size = size,
+ cidinfo = {}, -- Can't be null to ensure reuse
+ attributes = '/FontDescriptor<<\z
+ /Type/FontDescriptor\z
+ /FontName/VirtualLuaFont\z
+ /Flags 4\z
+ /ItalicAngle 0\z
+ >>', -- TODO: Needs work
+ t3_handler = function(stage, _, cid)
+ cid = cid and assert(t3_to_gid[(t3fid << 8) | ~cid])
+ return callback(stage, cid)
+ end
+ }
+ fid = font.define(fontdir)
+ fids[t3fid + 1] = fid
+ end
+ end
+ vf.font(fid)
+ vf.char(t3cid)
+ end
+ end
+end
+
+luatexbase.add_to_callback('provide_charproc_data', function(stage, fid, ...)
+ local fontdir = font.getfont(fid)
+ if not fontdir then error'Unknown font' end
+ local handler = fontdir.t3_handler
+ if not handler then error'Missing t3handler in Type 3 font' end
+ return handler(stage, fid, ...)
+end, 'luaotfload.t3')
+
+return t3factory
+--[===[
+ function callback(stage, cid)
+ if stage == 1 then
+ local char = assert(characters[cid])
+ local head = assert(char.head)
+ local resource = tex.saveboxresource(head, nil--[[attributes]], nil--[[resources]], true--[[immediate]], 0--[[mode]], nil--[[margin]])
+ local name = string.format('/F%i', pdf.getxformname(resource))
+ local resources = characters.resources
+ if resources then
+ characters.resources = string.format('%s %s %i 0 R', resources, name, resource)
+ else
+ characters.resources = string.format('%s %i 0 R', name, resource)
+ end
+ char.resource = name
+ elseif stage == 2 then
+ local char = assert(characters[cid])
+ width = char.width/65781
+ return pdf.obj{
+ type = 'stream',
+ immediate = true,
+ -- objnum =
+ -- attr =
+ -- compresslevel =
+ string = string.format('%g 0 d0 %s Do', width, char.resource)
+ }, width
+ elseif stage == 3 then
+ return 65781/655360, string.format('/XObject<<%s>>', characters.resources)
+ end
+ print(stage, fid, cid)
+ end,
+ }
+]===]
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.1 b/macros/luatex/generic/luaotfload/luaotfload-tool.1
index 9e2b12aed0..3f2782eb18 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.1
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD-TOOL 1 "2021-05-21" "3.18" "text processing"
+.TH LUAOTFLOAD-TOOL 1 "2022-02-24" "3.19" "text processing"
.SH NAME
luaotfload-tool \- generate and query the Luaotfload font names database
.
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.lua b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
index df80d4da78..808afe0313 100755..100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.lua
@@ -9,8 +9,8 @@
local ProvidesLuaModule = {
name = "luaotfload-tool",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload-tool / database functionality",
license = "GPL v2.0"
}
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
index fb44487640..a218f77367 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tool.rst b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
index 085a371386..1eddd510f1 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tool.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload-tool.rst
@@ -6,9 +6,9 @@
generate and query the Luaotfload font names database
-----------------------------------------------------------------------
-:Date: 2021-05-21
+:Date: 2022-02-24
:Copyright: GPL v2.0
-:Version: 3.18
+:Version: 3.19
:Manual section: 1
:Manual group: text processing
diff --git a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
index 928dfd30fc..09ca40adbe 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-tounicode",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / tounicode",
license = "GPL v2.0",
author = "Hans Hagen, Khaled Hosny, Elie Roux, Philipp Gesang, Marcel Krüger",
diff --git a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
index ccc3988ba1..25a7b2046e 100644
--- a/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload-unicode.lua
@@ -5,8 +5,8 @@
assert(luaotfload_module, "This is a part of luaotfload and should not be loaded independently") {
name = "luaotfload-unicode",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "luaotfload submodule / Unicode helpers",
license = "CC0 1.0 Universal",
author = "Marcel Krüger"
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.5 b/macros/luatex/generic/luaotfload/luaotfload.conf.5
index 8285e71d7d..f7d8aa8ae4 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.5
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.5
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH LUAOTFLOAD.CONF 5 "2021-05-21" "3.18" "text processing"
+.TH LUAOTFLOAD.CONF 5 "2022-02-24" "3.19" "text processing"
.SH NAME
luaotfload.conf \- Luaotfload configuration file
.
@@ -373,6 +373,14 @@ T} T{
<Luaotfload version>
T}
_
+T{
+keepnames
+T} T{
+b
+T} T{
+\fBtrue\fP
+T}
+_
.TE
.sp
With \fBstatistics\fP enabled, extra statistics will be collected during
@@ -386,6 +394,10 @@ terminal dimensions cannot be retrieved.
.sp
The value of \fBversion\fP is derived from the version string hard\-coded
in the Luaotfload source. Override at your own risk.
+.sp
+The \fBkeepnames\fP option decides if the ConTeXt fontloader should keep
+names it considers useless or if they should be discarded. This option
+only takes effect after font caches are regenererated.
.SS Section \fBpaths\fP
.TS
center;
diff --git a/macros/luatex/generic/luaotfload/luaotfload.conf.rst b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
index 84db4dca17..4e0347b907 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.conf.rst
+++ b/macros/luatex/generic/luaotfload/luaotfload.conf.rst
@@ -6,9 +6,9 @@
Luaotfload configuration file
-----------------------------------------------------------------------
-:Date: 2021-05-21
+:Date: 2022-02-24
:Copyright: GPL v2.0
-:Version: 3.18
+:Version: 3.19
:Manual section: 5
:Manual group: text processing
@@ -228,6 +228,8 @@ Section ``misc``
+---------------+--------+-------------------------+
| version | s | <Luaotfload version> |
+---------------+--------+-------------------------+
+| keepnames | b | ``true`` |
++---------------+--------+-------------------------+
With ``statistics`` enabled, extra statistics will be collected during
index creation and appended to the index file. It may then be queried
@@ -241,6 +243,10 @@ terminal dimensions cannot be retrieved.
The value of ``version`` is derived from the version string hard-coded
in the Luaotfload source. Override at your own risk.
+The ``keepnames`` option decides if the ConTeXt fontloader should keep
+names it considers useless or if they should be discarded. This option
+only takes effect after font caches are regenererated.
+
Section ``paths``
-----------------------------------------------------------------------
diff --git a/macros/luatex/generic/luaotfload/luaotfload.lua b/macros/luatex/generic/luaotfload/luaotfload.lua
index 8d769d7dc8..f21ded5ae6 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.lua
+++ b/macros/luatex/generic/luaotfload/luaotfload.lua
@@ -20,8 +20,8 @@ local authors = "\z
-- version number is used below!
local ProvidesLuaModule = {
name = "luaotfload",
- version = "3.18", --TAGVERSION
- date = "2021-05-21", --TAGDATE
+ version = "3.19", --TAGVERSION
+ date = "2022-02-24", --TAGDATE
description = "Lua based OpenType font support",
author = authors,
copyright = authors,
@@ -172,11 +172,6 @@ local function make_loader_name (prefix, name)
return prefix .. "-" .. name .. ".lua"
end
-local timing_info = {
- t_load = { },
- t_init = { },
-}
-
local function make_loader (prefix, load_helper)
return function (name)
local t_0 = osgettimeofday ()
@@ -184,7 +179,6 @@ local function make_loader (prefix, load_helper)
--- We don’t want the stack info from inside, so just pcall().
local ok, data = pcall (load_helper or require, modname)
local t_end = osgettimeofday ()
- timing_info.t_load [name] = t_end - t_0
if not ok then
io.write "\n"
local msg = luaotfload.log and luaotfload.log.report or print
@@ -256,7 +250,6 @@ local function context_loader (name, path)
end
local ret = context_isolated_load (modpath)
local t_end = osgettimeofday ()
- timing_info.t_load [name] = t_end - t_0
if ret ~= nil then
--- require () returns “true” upon success unless the loaded file
@@ -293,7 +286,6 @@ local function install_loaders ()
logreport ("log", 4, "load",
"Module %q loaded in %g ms.",
name, d_t * 1000)
- timing_info.t_init [name] = d_t
end
end
@@ -368,7 +360,6 @@ luaotfload.main = function ()
logreport ("log", 1, "main",
"initialization completed in %0.3f seconds\n",
osgettimeofday() - starttime)
-----inspect (timing_info)
luaotfload_module = nil
end
diff --git a/macros/luatex/generic/luaotfload/luaotfload.sty b/macros/luatex/generic/luaotfload/luaotfload.sty
index 20dc5ffb4f..7dbccb1f8c 100644
--- a/macros/luatex/generic/luaotfload/luaotfload.sty
+++ b/macros/luatex/generic/luaotfload/luaotfload.sty
@@ -39,7 +39,7 @@
\fi
\ifdefined\ProvidesPackage
\ProvidesPackage{luaotfload}%
- [2021/05/21 v3.18 OpenType layout system]
+ [2022/02/24 v3.19 OpenType layout system]
\fi
\directlua{
if xpcall(function ()%
diff --git a/macros/luatex/generic/luaotfload/scripts-demo.pdf b/macros/luatex/generic/luaotfload/scripts-demo.pdf
index d6513d6869..e119a1ef16 100644
--- a/macros/luatex/generic/luaotfload/scripts-demo.pdf
+++ b/macros/luatex/generic/luaotfload/scripts-demo.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
index 29b7c229f7..ded892e99b 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
Binary files differ
diff --git a/macros/luatex/generic/luaotfload/shaper-demo.pdf b/macros/luatex/generic/luaotfload/shaper-demo.pdf
index a604a8c557..d889e43e79 100644
--- a/macros/luatex/generic/luaotfload/shaper-demo.pdf
+++ b/macros/luatex/generic/luaotfload/shaper-demo.pdf
Binary files differ
diff --git a/macros/luatex/latex/yamlvars/YAMLvars.lua b/macros/luatex/latex/yamlvars/yamlvars.lua
index 93234e5d59..1f95a50f25 100644
--- a/macros/luatex/latex/yamlvars/YAMLvars.lua
+++ b/macros/luatex/latex/yamlvars/yamlvars.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2022-01-18
+--% 2022-02-25
--% Copyright (C) 2021-2022 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -56,9 +56,9 @@ YAMLvars.dec = {} -- table of declare function
YAMLvars.varsvals = {}
YAMLvars.varspecs = {}
+YAMLvars.xfmDefault = {}
YAMLvars.prcDefault = 'gdef'
YAMLvars.dftDefault = nil
-YAMLvars.xfmDefault = {}
YAMLvars.allowUndeclared = false
YAMLvars.overwritedefs = false
@@ -83,7 +83,7 @@ end
-- xfm functions (transforms) -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function YAMLvars.xfm.addxspace(var, val)
- return val .. '\\xspace{}'
+ return val .. '\\xspace'
end
function YAMLvars.xfm.tab2arr(var, val)
@@ -348,6 +348,11 @@ end
local _YV_invalid_expression = '\1 invalid expression'
local _YV_no_return = '\2 no return val'
+
+local function expr_err(var, val)
+ tex.print('\\PackageError{YAMLvars}{xfm with "= or /" error on var "'..var..'"}{}') -- todo make program stop
+end
+
local function eval_expr(func, var, val)
local s, c = func:gsub('^[=/]', {['/'] = '\2', ['='] = 'YAMLvars.valTemp = '}, 1) -- / is run code, = sets val = code
if c == 0 then
@@ -367,6 +372,7 @@ local function eval_expr(func, var, val)
tex.print('\\PackageError{YAMLvars}{xfm with "= or /" error on var "'..var..'"}{}') --
end
if c > 0 then
+ expr_err(var)
return _YV_no_return
end
return YAMLvars.valTemp
diff --git a/macros/luatex/latex/yamlvars/YAMLvars.pdf b/macros/luatex/latex/yamlvars/yamlvars.pdf
index 974873680d..bdb6b811da 100644
--- a/macros/luatex/latex/yamlvars/YAMLvars.pdf
+++ b/macros/luatex/latex/yamlvars/yamlvars.pdf
Binary files differ
diff --git a/macros/luatex/latex/yamlvars/YAMLvars.sty b/macros/luatex/latex/yamlvars/yamlvars.sty
index 73c40ba693..8e295988fb 100644
--- a/macros/luatex/latex/yamlvars/YAMLvars.sty
+++ b/macros/luatex/latex/yamlvars/yamlvars.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2022-01-18
+% 2022-02-25
% Copyright (C) 2021-2022 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -25,7 +25,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{YAMLvars}[2022-01-18]
+\ProvidesPackage{YAMLvars}[2022-02-25]
\IfFileExists{markdown-tinyyaml.lua}{}{\PackageError{YAMLvars}{This package requires installation of the 'markdown' package, please install it and try again}{}}
@@ -72,3 +72,4 @@
\newcommand{\resetYAMLvarsspec}{\luadirect{YAMLvars.varspec = {}}}
\newcommand{\AllowUndeclaredYV}{\luadirect{YAMLvars.allowUndeclared = true}}
+\newcommand{\ForbidUndeclaredYV}{\luadirect{YAMLvars.allowUndeclared = false}}
diff --git a/macros/luatex/latex/yamlvars/YAMLvars.tex b/macros/luatex/latex/yamlvars/yamlvars.tex
index 057aac5d39..a61df03024 100644
--- a/macros/luatex/latex/yamlvars/YAMLvars.tex
+++ b/macros/luatex/latex/yamlvars/yamlvars.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2022-01-18
+% 2022-02-25
% Copyright (C) 2021-2022 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -101,8 +101,8 @@ An example is showin in Section \ref{example}.
\hspace*{3ex}\llcmd{allowundeclared}%
It might be helpful to define something in your YAML parsing doc without declaring it.
-If you want this flexibility, use this setting. Note that eisting definitions will not be overwritten and an error
-will br thrown if the name exists.
+If you want this flexibility, use this setting. Note that existing definitions will not be overwritten and an error
+will br thrown if the name exists. Alternatively, you can use the commands \cmd{\AllowUndeclaredYV} or \cmd{\ForbidUndeclaredYV} to toggle this behavior.
\llcmd{overwritedefs}Danger! This will allow you to \cmd{gdef} commands with YAML. Caution should be taken to not set definitions like \cmd{begin}, \cmd{section}, etc.
@@ -186,14 +186,14 @@ Here is an example of a parsing document.
\begin{verbatim}
-\begin{declareYAMLvars}
+\begin{parseYAMLvars}
Location: Planet Earth
People: # a YAML list
- Some One # turns into Lua table
- No Body
# company assumed Amazon if not set here
Rhead: \today
-\end{declareYAMLvars}
+\end{parseYAMLvars}
\end{verbatim}