texlive[70189] Master: context 2024.02.27 09:18, and luametatex
commits+karl at tug.org
commits+karl at tug.org
Tue Feb 27 17:48:08 CET 2024
Revision: 70189
https://tug.org/svn/texlive?view=revision&revision=70189
Author: karl
Date: 2024-02-27 17:48:07 +0100 (Tue, 27 Feb 2024)
Log Message:
-----------
context 2024.02.27 09:18, and luametatex
Modified Paths:
--------------
trunk/Master/bin/aarch64-linux/luametatex
trunk/Master/bin/amd64-freebsd/luametatex
trunk/Master/bin/i386-freebsd/luametatex
trunk/Master/bin/i386-linux/luametatex
trunk/Master/bin/universal-darwin/luametatex
trunk/Master/bin/windows/luametatex.exe
trunk/Master/bin/windows/mtxrun.lua
trunk/Master/bin/x86_64-darwinlegacy/luametatex
trunk/Master/bin/x86_64-linux/luametatex
trunk/Master/bin/x86_64-linuxmusl/luametatex
trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua
trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua
trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua
trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua
trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua
trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-xml.lua
trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer.lua
trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties
trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties
trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties
trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties
trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties
trunk/Master/texmf-dist/doc/context/documents/general/manuals/cld-mkiv.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/colors-mkiv.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-alignments.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-grouping.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-loops.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-macros.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-paragraphs.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-registers.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/luametatex.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/musings.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/ontarget.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/primitives.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdf
trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
trunk/Master/texmf-dist/doc/context/presentations/context/2017/context-2017-features-spacetest.tex
trunk/Master/texmf-dist/doc/context/presentations/examples/present-steps-001.pdf
trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-babel.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-base.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-dvi.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-epub.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-evohome.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fcd.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-flac.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fonts.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-interface.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-metapost.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-modules.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-package.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-patterns.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-plain.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-profile.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-rsync.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-scite.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-server.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-spell.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-texworks.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-tools.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unicode.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unzip.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-update.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-vscode.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-watch.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-youless.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtxrun.man
trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-afewdetails.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/colors/colors-graphics.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-introduction.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-math.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-mkiv.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/graphics/graphics.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-alignments.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-boxes.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-grouping.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-loops.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-macros.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-registers.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-style.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-building.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-style.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-lua.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/math/math-tweaks.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/mathml/envexamp.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-introduction.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-plain.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-style.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-unicode.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-gettingridof.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-math.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-style.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/primitives/primitives.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-graphics.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/workflows/workflows-parallel.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/xml/xml-mkiv.tex
trunk/Master/texmf-dist/doc/man/man1/context.1
trunk/Master/texmf-dist/doc/man/man1/context.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-babel.1
trunk/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-base.1
trunk/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-bibtex.1
trunk/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-cache.1
trunk/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-chars.1
trunk/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-check.1
trunk/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-colors.1
trunk/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-context.1
trunk/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-dvi.1
trunk/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-epub.1
trunk/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-evohome.1
trunk/Master/texmf-dist/doc/man/man1/mtx-evohome.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-fcd.1
trunk/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-flac.1
trunk/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-fonts.1
trunk/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-grep.1
trunk/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-interface.1
trunk/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-metapost.1
trunk/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-modules.1
trunk/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-package.1
trunk/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-patterns.1
trunk/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-pdf.1
trunk/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-plain.1
trunk/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-profile.1
trunk/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-rsync.1
trunk/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-scite.1
trunk/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-server.1
trunk/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-spell.1
trunk/Master/texmf-dist/doc/man/man1/mtx-spell.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-texworks.1
trunk/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-tools.1
trunk/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-unicode.1
trunk/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-unzip.1
trunk/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-update.1
trunk/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-vscode.1
trunk/Master/texmf-dist/doc/man/man1/mtx-vscode.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-watch.1
trunk/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-youless.1
trunk/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtxrun.1
trunk/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
trunk/Master/texmf-dist/metapost/context/base/mpxl/mp-cont.mpxl
trunk/Master/texmf-dist/metapost/context/base/mpxl/mp-lmtx.mpxl
trunk/Master/texmf-dist/metapost/context/base/mpxl/mp-tool.mpxl
trunk/Master/texmf-dist/scripts/context/lua/mtx-context.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-context.xml
trunk/Master/texmf-dist/scripts/context/lua/mtx-convert.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-ctan.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-fonts.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-grep.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-install.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-kpse.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-patterns.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-pdf.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-server-ctx-fonttest.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-server.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-synctex.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-unicode.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-update.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-watch.lua
trunk/Master/texmf-dist/scripts/context/lua/mtxrun.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/back-exp.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/char-def.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/char-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/char-tex.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/char-utf.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/chem-str.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/cldf-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/cldf-prs.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/core-con.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/core-con.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/core-ctx.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/core-env.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/data-env.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/data-exp.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/data-res.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/file-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/file-job.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/file-lib.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-agl.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-con.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-dsp.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-imp-dimensions.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-map.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-mis.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-one.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-onr.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-osd.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-otl.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-oto.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-otr.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-ots.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-oup.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-prv.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-syn.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/font-tpk.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/good-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/grph-chk.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/java-imp-fields.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/l-os.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/l-table.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lang-rep.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lang-txt.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lang-wrd.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lpdf-fmt.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lpdf-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lpdf-pda.xml
trunk/Master/texmf-dist/tex/context/base/mkiv/lpdf-pdx.xml
trunk/Master/texmf-dist/tex/context/base/mkiv/lpdf-pua.xml
trunk/Master/texmf-dist/tex/context/base/mkiv/lpdf-xmp.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/luat-cnf.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/luat-env.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/luat-lib.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/luat-log.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/luat-mac.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/luat-sta.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lxml-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lxml-lpt.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lxml-tab.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lxml-tex.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/math-fbk.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/math-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/math-ini.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/math-tag.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/meta-tex.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/mtx-context-compare.tex
trunk/Master/texmf-dist/tex/context/base/mkiv/mtx-context-copy.tex
trunk/Master/texmf-dist/tex/context/base/mkiv/mult-def.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/mult-fun.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/mult-low.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/mult-mes.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/mult-mps.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/mult-prm.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/page-cst.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/publ-imp-apa.mkvi
trunk/Master/texmf-dist/tex/context/base/mkiv/publ-imp-aps.mkvi
trunk/Master/texmf-dist/tex/context/base/mkiv/publ-imp-definitions.mkvi
trunk/Master/texmf-dist/tex/context/base/mkiv/publ-imp-list.mkvi
trunk/Master/texmf-dist/tex/context/base/mkiv/publ-ini.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/publ-reg.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/scrn-fld.mkvi
trunk/Master/texmf-dist/tex/context/base/mkiv/scrp-cjk.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/sort-ini.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/spac-ali.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
trunk/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
trunk/Master/texmf-dist/tex/context/base/mkiv/strc-reg.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/symb-imp-fontawesome.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/syst-aux.mkiv
trunk/Master/texmf-dist/tex/context/base/mkiv/trac-log.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/trac-set.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/typo-duc.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-deb.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-dim.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-env.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-evo.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-lua.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-prs.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-soc-imp-ftp.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-soc-imp-http.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-sql-imp-client.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-str.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/util-zip.lua
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-bar.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-bck.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-box.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-loc.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-pgr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-pgr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-pos.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-pos.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/anch-tab.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-alt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-alt.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-col.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-eff.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-eff.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-lay.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-lay.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-mkr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/attr-neg.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-exp-imp-mth.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-exp-imp-tag.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-exp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-exp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/back-imp-lua.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-imp-mps.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-imp-pdf.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/back-imp-pdp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/back-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/back-res.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/bibl-bib.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/bibl-tra.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/blob-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/bndr-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/buff-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/buff-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/buff-par.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/buff-ver.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/catc-act.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/catc-def.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/catc-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/char-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/char-tex.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/chem-str.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/cldf-bas.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/cldf-int.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/cldf-lmt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/cldf-pos.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/colo-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/colo-nod.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/cont-log.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/cont-new.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/cont-run.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/cont-run.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/context.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-con.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-dat.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/core-dat.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-def.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-env.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/core-env.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-lmt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/core-pag.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/core-pag.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-sys.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/core-sys.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/core-two.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/driv-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/driv-shp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/driv-usr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/enco-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/file-ini.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/file-job.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/file-job.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/file-mod.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-cff.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-chk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-col.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-col.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-con.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-ctx.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-def.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-dsp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-emp.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-fea.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-fil.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-gds.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-hsh.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-imp-effects.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-imp-math.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-imp-quality.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-imp-tracing.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-ini.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-lib.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-map.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-mat.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-mpf.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-ogr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-one.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-onr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-ota.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-otj.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-otl.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-oto.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-ots.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-phb-imp-internal.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-phb.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-pre.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/font-set.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-sol.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-sty.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/font-tex.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-tfm.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-tpk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-ttf.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-txt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-var.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/good-gen.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/good-mth.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-epd.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-epd.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-fig.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-inc.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-inc.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-pat.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-raw.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-rul.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-trf.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/grph-trf.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/hand-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/l-unicode.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-def.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-dis.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-frq.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-hup.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-hyp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-hyp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-lab.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-lab.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-mis.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-rep.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-rep.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-tra.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-tra.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-url.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-url.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lang-wrd.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/layo-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/libs-imp-mysql.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/libs-imp-postgress.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/libs-imp-zint.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-ano.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-aux.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-col.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-emb.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-epa.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-fld.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-fmt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-grp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-img.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-lmt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-mis.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-pde.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-ren.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-rul.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-tag.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-wid.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-xmp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-bas.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-cbk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-cnf.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-cod.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-lib.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-log.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/luat-run.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lxml-ctx.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/lxml-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-acc.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/math-act.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-ali.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-com.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-def.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-del.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-dif.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-dld.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/math-fen.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-fnt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-frc.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-inc.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-lop.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-map.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-noa.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-pln.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-rad.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/math-ren.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-spa.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-stc.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/math-tag.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-toy.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/math-vfu.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-imp-clock.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-imp-demo.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-imp-kaktovik.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-imp-threesix.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-imp-txt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-imp-txt.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-nod.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-pdh.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/meta-tex.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-ctx.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-ctx.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-fnt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-int.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-lmp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-lua.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-scn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-svg.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mult-aux.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/mult-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mult-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/mult-prm.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/mult-sys.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/node-acc.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-ali.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-aux.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-bck.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-cmp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-dir.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-ext.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-fin.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-fnt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-gcm.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/node-mig.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-nut.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-pro.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-ref.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-res.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-rul.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-rul.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/node-scn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-ser.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-shp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-syn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-tra.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-tsk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/node-tst.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-bar.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-bck.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-box.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-com.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-cut.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-lyr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-mat.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-mis.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-mrl.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-pos.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-rul.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/pack-rul.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-app.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-bck.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-blk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/page-box.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-brk.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-col.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-com.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-cst.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-fac.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-ffl.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-flt.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-flw.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-imp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-inf.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/page-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-inj.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-ins.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-lay.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-lin.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/page-lin.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-mak.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-mbk.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-mcl.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-mix.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-mrk.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-one.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-otr.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-pcl.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-pst.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-sel.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/page-sid.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-smp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-spr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-str.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/page-txt.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/phys-dim.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/phys-dim.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/publ-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-bar.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-but.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-fld.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-hlp.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-ini.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-pag.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-ref.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-wid.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/scrn-wid.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/scrp-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/scrp-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-ali.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-ali.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-chr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-chr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-def.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-flr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-grd.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-hor.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-hor.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-lin.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-pag.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-par.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-prf.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-prf.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-ver.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-ver.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-bkm.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-blk.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-con.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-des.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-enu.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-flt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-flt.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-ind.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-itm.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-itm.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-lab.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-lev.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-lnt.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-lst.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-lst.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-mar.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-mar.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-mat.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-not.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-not.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-num.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-pag.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-ref.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-ref.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-reg.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-reg.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-ren.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-sbe.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-sec.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-syn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-syn.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-tag.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-tag.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-tnt.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-usr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/supp-box.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/supp-box.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/supp-dir.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/supp-mat.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/symb-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/symb-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-aux.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-aux.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-con.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-ini.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-lua.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-lua.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-mac.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-com.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-frm.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-ltb.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-mis.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-ntb.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-ntb.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-nte.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-tab.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-tbl.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-tbl.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-tsp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-xnt.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-xtb.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-xtb.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/task-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/toks-aux.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/toks-ini.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/toks-scn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-ctx.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-inf.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-jus.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-set.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-tex.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-vis.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-vis.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/type-ini.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/type-set.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-ada.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-ada.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-adj.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-adj.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-bld.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-brk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-brk.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-cap.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-cap.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-chr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-cln.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-del.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-dha.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-dig.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-dig.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-dir.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-dir.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-drp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-drp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-duc.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-fkr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-fln.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-fln.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-hid.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-inj.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-inj.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-itc.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-itc.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-itm.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-krn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-krn.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-lan.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-lbx.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-lbx.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-lin.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-mar.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-mar.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-ovl.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-pag.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-plc.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-pnc.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-pnc.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-prc.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-rep.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-rub.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-rub.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-scr.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-shp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-shp.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-spa.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-spa.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-sus.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-sus.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-syn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-syn.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-tal.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-tal.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-txt.mklx
trunk/Master/texmf-dist/tex/context/base/mkxl/typo-wrp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/util-deb.lmt
trunk/Master/texmf-dist/tex/context/fonts/mkiv/antykwa-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/bonum-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/cambria-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/color-latin.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/common-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/concrete-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/dejavu-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/ebgaramond-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/erewhon-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/euler-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/iwona-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/kpfonts-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/kurier-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/libertinus-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/minion-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/modern-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/newcomputermodern-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/pagella-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/schola-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/stixtwo-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/termes-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-antykwa.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-cambria.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-ebgaramond.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-erewhon.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-iwona.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-kurier.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-latinmodern.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-plex.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-source.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-texgyre.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-xcharter.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/xcharter-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkxl/type-imp-euler.mkxl
trunk/Master/texmf-dist/tex/context/interface/mkiv/context-en.xml
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-align.xml
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-framed.xml
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-graphics.xml
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-textrule.xml
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-thinrule.xml
trunk/Master/texmf-dist/tex/context/interface/mkiv/i-verbatim.xml
trunk/Master/texmf-dist/tex/context/modules/mkiv/m-asymptote.lua
trunk/Master/texmf-dist/tex/context/modules/mkiv/m-circuitikz.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/m-escrito.lua
trunk/Master/texmf-dist/tex/context/modules/mkiv/m-graph.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/m-scite.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/m-tikz.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-abbreviations-logos.tex
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-evohome.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-charts.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-features.lua
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-features.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-fonts-variable.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-inf-03.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-inf-04.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-math-characters.lua
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-math-characters.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-math-parameters.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-obsolete-tokens.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-present-banner.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-present-tiles.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-present-wobbling.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-setups-missing.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-tugboat.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkiv/s-xml-analyzers.lua
trunk/Master/texmf-dist/tex/context/modules/mkiv/x-asciimath.lua
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-circuitikz.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-gimmicks.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-json.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-oldmath.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-tikz.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-colors-show.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-fonts-show.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-math-tweaks.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-system-macros.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-system-tokens.lmt
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-text-tests.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/x-mathml.mkxl
trunk/Master/texmf-dist/tex/context/sample/common/samples.tex
trunk/Master/texmf-dist/tex/context/sample/third/readme.txt
trunk/Master/texmf-dist/tex/context/test/mkiv/pdf-a1a-2005.mkiv
trunk/Master/texmf-dist/tex/context/test/mkiv/pdf-a3a.mkiv
trunk/Master/texmf-dist/tex/generic/context/luatex/luatex-core.lua
trunk/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
trunk/Master/tlpkg/libexec/ctan2tds
trunk/Master/tlpkg/tlpsrc/context.tlpsrc
Added Paths:
-----------
trunk/Master/texmf-dist/doc/context/context-readme.txt
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-accuracy.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-lines.pdf
trunk/Master/texmf-dist/doc/context/documents/general/manuals/pdfmerge.pdf
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.xml
trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-compact.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-accuracy.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-lines.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-assumptions.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-deserved.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-dontusetex.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-history.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-manuals.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-perfection.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-performance.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-treasures.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-accuracy.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-active.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-bars.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-constants.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-envelopes.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-green.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-jmn.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-mathfonts.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-nostalgic-pgc.pdf
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-nostalgic.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-profiles.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-radicals.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-standardize.tex
trunk/Master/texmf-dist/doc/context/sources/general/manuals/pdfmerge/
trunk/Master/texmf-dist/doc/context/sources/general/manuals/pdfmerge/pdfmerge-testfiles.zip
trunk/Master/texmf-dist/doc/context/sources/general/manuals/pdfmerge/pdfmerge.tex
trunk/Master/texmf-dist/doc/man/man1/mtx-convert.1
trunk/Master/texmf-dist/doc/man/man1/mtx-convert.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-ctan.1
trunk/Master/texmf-dist/doc/man/man1/mtx-ctan.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-fixpdf.1
trunk/Master/texmf-dist/doc/man/man1/mtx-fixpdf.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-install-modules.1
trunk/Master/texmf-dist/doc/man/man1/mtx-install-modules.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-install.1
trunk/Master/texmf-dist/doc/man/man1/mtx-install.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-kpse.1
trunk/Master/texmf-dist/doc/man/man1/mtx-kpse.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-synctex.1
trunk/Master/texmf-dist/doc/man/man1/mtx-synctex.man1.pdf
trunk/Master/texmf-dist/fonts/map/luatex/
trunk/Master/texmf-dist/fonts/map/luatex/context/
trunk/Master/texmf-dist/fonts/map/luatex/context/demo-font.lum
trunk/Master/texmf-dist/scripts/context/lua/mtx-fixpdf.lua
trunk/Master/texmf-dist/scripts/context/lua/mtx-install-modules.lua
trunk/Master/texmf-dist/tex/context/base/mkiv/lang-imp-simpleascii-data.lgz
trunk/Master/texmf-dist/tex/context/base/mkiv/lang-imp-simpleascii.lua
trunk/Master/texmf-dist/tex/context/base/mkxl/buff-ver.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/core-con.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-imp-dimensions.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-imp-italics.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/font-shp.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/l-bit32.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/l-lua.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/libs-imp-openssl.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-fix-imp-contents.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-fix-imp-fonts.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-fix.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-sig.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lxml-css.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/lxml-mms.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-txt-imp-chemistry.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-txt-imp-default.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/math-txt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/mlib-ptr.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/publ-aut.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/publ-oth.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-brk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-brk.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-imp-tests.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-pas.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/spac-pas.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/syst-con.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-ali.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-ali.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/tabl-itm.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-bld.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-bld.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-brk.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-brk.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-riv.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-riv.mkxl
trunk/Master/texmf-dist/tex/context/base/mkxl/trac-tex.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/util-jsn.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/util-prs.lmt
trunk/Master/texmf-dist/tex/context/fonts/mkiv/fira-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/fontawesome.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/gfsneohellenic-math.lfg
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-fira.mkiv
trunk/Master/texmf-dist/tex/context/fonts/mkiv/type-imp-gfsneohellenic.mkiv
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-polynomial.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-fonts-outlines.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-games-2023.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-math-show.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-system-syntax.lmt
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-system-syntax.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-system-units.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-tugboat-columns.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-tugboat-exceptions.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-tugboat-logos.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/s-tugboat.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/x-asciimath.lmt
trunk/Master/texmf-dist/tex/context/modules/mkxl/x-asciimath.mkxl
trunk/Master/texmf-dist/tex/context/modules/mkxl/x-calcmath.lmt
trunk/Master/texmf-dist/tex/context/modules/mkxl/x-calcmath.mkxl
trunk/Master/texmf-dist/tex/context/modules/third/
trunk/Master/texmf-dist/tex/context/modules/third/mtx-install-imp-modules.lua
trunk/Master/texmf-dist/tex/context/modules/third/mtx-install-imp-tikz.lua
trunk/Master/texmf-dist/tex/context/patterns/common/lang-hy.rme
trunk/Master/texmf-dist/tex/context/patterns/common/lang-id.rme
trunk/Master/texmf-dist/tex/context/patterns/mkiv/lang-hy.lua
trunk/Master/texmf-dist/tex/context/patterns/mkiv/lang-id.lua
trunk/Master/texmf-dist/tex/context/sample/common/dijkstra.tex
trunk/Master/texmf-dist/tex/context/sample/common/knuth-gpt.tex
trunk/Master/texmf-dist/tex/context/sample/common/knuthmath.tex
trunk/Master/texmf-dist/tex/context/sample/math/
trunk/Master/texmf-dist/tex/context/sample/math/math-knuth-dt.tex
trunk/Master/texmf-dist/tex/context/sample/math/math-kontinuitet-sv.tex
trunk/Master/texmf-dist/tex/context/sample/third/alfredsson-sv.tex
trunk/Master/texmf-dist/tex/context/sample/third/falstaff-sv.tex
trunk/Master/texmf-dist/tex/context/sample/third/lansburgh-letterspacing-sv.tex
Removed Paths:
-------------
trunk/Master/bin/amd64-netbsd/luametatex
trunk/Master/bin/armhf-linux/luametatex
trunk/Master/bin/i386-solaris/luametatex
trunk/Master/bin/x86_64-solaris/luametatex
trunk/Master/texmf-dist/doc/context/README.adoc
trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.xml
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.html
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.man
trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.xml
trunk/Master/texmf-dist/doc/man/man1/luatools.1
trunk/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
trunk/Master/texmf-dist/doc/man/man1/mtx-timing.1
trunk/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
trunk/Master/texmf-dist/scripts/context/lua/mtx-install-tikz.lua
trunk/Master/texmf-dist/scripts/context/stubs-mkiv/unix/
trunk/Master/texmf-dist/scripts/context/stubs-mkiv/win64/
trunk/Master/texmf-dist/tex/context/base/mkxl/lpdf-fnt.lmt
trunk/Master/texmf-dist/tex/context/base/mkxl/strc-mar-old.lmt
trunk/Master/texmf-dist/tex/context/colors/icc/context/
trunk/Master/texmf-dist/tex/context/modules/mkxl/m-mathfun.mkxl
Modified: trunk/Master/bin/aarch64-linux/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/amd64-freebsd/luametatex
===================================================================
(Binary files differ)
Deleted: trunk/Master/bin/amd64-netbsd/luametatex
===================================================================
(Binary files differ)
Deleted: trunk/Master/bin/armhf-linux/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/i386-freebsd/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/i386-linux/luametatex
===================================================================
(Binary files differ)
Deleted: trunk/Master/bin/i386-solaris/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/universal-darwin/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/windows/luametatex.exe
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/windows/mtxrun.lua
===================================================================
--- trunk/Master/bin/windows/mtxrun.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/bin/windows/mtxrun.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,6 +1,4 @@
#!/usr/bin/env texlua
--- 8dec23 --socket added to runners.applications lua and luc per hans
--- (mail of 7dec23).
if not modules then modules = { } end modules ['mtxrun'] = {
version = 1.001,
@@ -2143,7 +2141,7 @@
package.loaded["l-table"] = package.loaded["l-table"] or true
--- original size: 41758, stripped down to: 22643
+-- original size: 42643, stripped down to: 23053
if not modules then modules={} end modules ['l-table']={
version=1.001,
@@ -2435,19 +2433,22 @@
tables[t]=tcopy
end
for i,v in next,t do
+ local k
if type(i)=="table" then
if tables[i] then
- i=tables[i]
+ k=tables[i]
else
- i=copy(i,tables)
+ k=copy(i,tables)
end
+ else
+ k=i
end
if type(v)~="table" then
- tcopy[i]=v
+ tcopy[k]=v
elseif tables[v] then
- tcopy[i]=tables[v]
+ tcopy[k]=tables[v]
else
- tcopy[i]=copy(v,tables)
+ tcopy[k]=copy(v,tables)
end
end
local mt=getmetatable(t)
@@ -2644,7 +2645,11 @@
elseif tv=="number" then
if tk=="number" then
if hexify then
- handle(format("%s [0x%X]=0x%X,",depth,k,v))
+ if accurate then
+ handle(format("%s [0x%X]=%q,",depth,k,v))
+ else
+ handle(format("%s [0x%X]=%s,",depth,k,v))
+ end
elseif accurate then
handle(format("%s [%s]=%q,",depth,k,v))
else
@@ -2652,7 +2657,11 @@
end
elseif tk=="boolean" then
if hexify then
- handle(format("%s [%s]=0x%X,",depth,k and "true" or "false",v))
+ if accurate then
+ handle(format("%s [%s]=%q,",depth,k and "true" or "false",v))
+ else
+ handle(format("%s [%s]=%s,",depth,k and "true" or "false",v))
+ end
elseif accurate then
handle(format("%s [%s]=%q,",depth,k and "true" or "false",v))
else
@@ -2661,7 +2670,11 @@
elseif tk~="string" then
elseif noquotes and not reserved[k] and lpegmatch(propername,k) then
if hexify then
- handle(format("%s %s=0x%X,",depth,k,v))
+ if accurate then
+ handle(format("%s %s=%q,",depth,k,v))
+ else
+ handle(format("%s %s=0x%X,",depth,k,v))
+ end
elseif accurate then
handle(format("%s %s=%q,",depth,k,v))
else
@@ -2669,7 +2682,11 @@
end
else
if hexify then
- handle(format("%s [%q]=0x%X,",depth,k,v))
+ if accurate then
+ handle(format("%s [%q]=%q,",depth,k,v))
+ else
+ handle(format("%s [%q]=0x%X,",depth,k,v))
+ end
elseif accurate then
handle(format("%s [%q]=%q,",depth,k,v))
else
@@ -3850,7 +3867,7 @@
package.loaded["l-os"] = package.loaded["l-os"] or true
--- original size: 20585, stripped down to: 10701
+-- original size: 20686, stripped down to: 10791
if not modules then modules={} end modules ['l-os']={
version=1.001,
@@ -3990,6 +4007,8 @@
os.name=os.name or (os.type=="windows" and "mswin" ) or "linux"
if os.type=="windows" then
os.libsuffix,os.binsuffix,os.binsuffixes='dll','exe',{ 'exe','cmd','bat' }
+elseif os.name=="macosx" then
+ os.libsuffix,os.binsuffix,os.binsuffixes='dylib','',{ '' }
else
os.libsuffix,os.binsuffix,os.binsuffixes='so','',{ '' }
end
@@ -6585,7 +6604,7 @@
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 46322, stripped down to: 24128
+-- original size: 46976, stripped down to: 24530
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6779,6 +6798,7 @@
local p_retain_normal=Cs ((normalline+normalempty )^0 )
local p_retain_collapse=Cs ((normalline+doubleempty )^0 )
local p_retain_noempty=Cs ((normalline+singleempty )^0 )
+local p_collapse_all=Cs (stripstart*(stripend+((whitespace+newline)^1/" ")+1)^0 )
local striplinepatterns={
["prune"]=p_prune_normal,
["prune and collapse"]=p_prune_collapse,
@@ -6787,6 +6807,7 @@
["retain"]=p_retain_normal,
["retain and collapse"]=p_retain_collapse,
["retain and no empty"]=p_retain_noempty,
+ ["collapse all"]=p_collapse_all,
["collapse"]=patterns.collapser,
}
setmetatable(striplinepatterns,{ __index=function(t,k) return p_prune_collapse end })
@@ -7463,6 +7484,7 @@
strings.formatters.add=add
patterns.xmlescape=Cs((P("<")/"<"+P(">")/">"+P("&")/"&"+P('"')/"""+anything)^0)
patterns.texescape=Cs((C(S("#$%\\{}"))/"\\%1"+anything)^0)
+patterns.ctxescape=Cs((C(S("#$%\\{}|"))/"\\%1"+anything)^0)
patterns.luaescape=Cs(((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0)
patterns.luaquoted=Cs(Cc('"')*((1-S('"\n'))^1+P('"')/'\\"'+P('\n')/'\\n"')^0*Cc('"'))
add(formatters,"xml",[[lpegmatch(xmlescape,%s)]],{ xmlescape=patterns.xmlescape })
@@ -7533,6 +7555,20 @@
return cache[s]
end
end
+if CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 then
+ local t={
+ ["#"]="#H",
+ ["\n"]="#L",
+ ['"']="#Q",
+ ["\r"]="#R",
+ [" "]="#S",
+ ["\t"]="#T",
+ ["\\"]="#X",
+ }
+ function string.texhashed(s)
+ return (gsub(s,".",t))
+ end
+end
end -- of closure
@@ -9349,7 +9385,7 @@
package.loaded["util-prs"] = package.loaded["util-prs"] or true
--- original size: 25716, stripped down to: 16805
+-- original size: 26298, stripped down to: 17137
if not modules then modules={} end modules ['util-prs']={
version=1.001,
@@ -9645,7 +9681,17 @@
t[k]=v
return v
end)
-getmetatable(hashes.settings_to_set).__mode="kv"
+function parsers.settings_to_set(str)
+ return str and lpegmatch(pattern,str) or {}
+end
+local pattern=Ct((C((1-S(", "))^1)*S(", ")^0)^1)
+hashes.settings_to_list=table.setmetatableindex(function(t,k)
+ local v=k and lpegmatch(pattern,k) or {}
+ t[k]=v
+ return v
+end)
+getmetatable(hashes.settings_to_set ).__mode="kv"
+getmetatable(hashes.settings_to_list).__mode="kv"
function parsers.simple_hash_to_string(h,separator)
local t={}
local tn=0
@@ -9667,7 +9713,7 @@
function parsers.options_to_array(str)
return str and lpegmatch(splitter,str) or {}
end
-local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C(digit^1*lparent*(noparent+nestedparents)^1*rparent)+C((nestedbraces+(1-comma))^1)
+local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+C(digit^1*lparent*(noparent+nestedparents)^1*rparent)+C((nestedbraces+(1-comma))^1)+Cc("")
local pattern_a=spaces*Ct(value*(separator*value)^0)
local function repeater(n,str)
if not n then
@@ -9689,7 +9735,7 @@
end
end
end
-local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+(C(digit^1)/tonumber*lparent*Cs((noparent+nestedparents)^1)*rparent)/repeater+C((nestedbraces+(1-comma))^1)
+local value=P(lbrace*C((nobrace+nestedbraces)^0)*rbrace)+(C(digit^1)/tonumber*lparent*Cs((noparent+nestedparents)^1)*rparent)/repeater+C((nestedbraces+(1-comma))^1)+Cc("")
local pattern_b=spaces*Ct(value*(separator*value)^0)
function parsers.settings_to_array_with_repeat(str,expand)
if expand then
@@ -11903,7 +11949,7 @@
package.loaded["util-soc-imp-http"] = package.loaded["util-soc-imp-http"] or true
--- original size: 12624, stripped down to: 9598
+-- original size: 13055, stripped down to: 9818
local tostring,tonumber,setmetatable,next,type=tostring,tonumber,setmetatable,next,type
@@ -11955,7 +12001,7 @@
while line~="" do
local name,value=skipsocket(2,find(line,"^(.-):%s*(.*)"))
if not (name and value) then
- return nil,"malformed reponse headers"
+ return nil,"malformed response headers"
end
name=lower(name)
line,err=sock:receive("*l")
@@ -12058,9 +12104,13 @@
end
function methods.receivestatusline(self)
local try=self.try
- local status=try(self.c:receive(5))
+ local status,err=try(self.c:receive(5))
if status~="HTTP/" then
- return nil,status
+ if err=="timeout" then
+ return 408
+ else
+ return nil,status
+ end
end
status=try(self.c:receive("*l",status))
local code=skipsocket(2,find(status,"HTTP/%d*%.%d* (%d%d%d)"))
@@ -12165,7 +12215,7 @@
end
return request
end
-local maxredericts=4
+local maxredericts=5
local validredirects={ [301]=true,[302]=true,[303]=true,[307]=true }
local validmethods={ [false]=true,GET=true,HEAD=true }
local function shouldredirect(request,code,headers)
@@ -12184,7 +12234,8 @@
local method=request.method
local redirect=request.redirect
local redirects=request.nredirects or 0
- return redirect and validredirects[code] and validmethods[method] and redirects<=maxredericts
+ local maxredirects=request.maxredirects or maxredirects
+ return redirect and validredirects[code] and validmethods[method] and redirects<=maxredirects
end
local function shouldreceivebody(request,code)
if request.method=="HEAD" then
@@ -12207,6 +12258,7 @@
headers=request.headers,
proxy=request.proxy,
nredirects=(request.nredirects or 0)+1,
+ maxredirects=request.maxredirects or maxredirects,
create=request.create,
}
if not headers then
@@ -12229,10 +12281,13 @@
local code,status=connection:receivestatusline()
if not code then
connection:receive09body(status,request.sink,request.step)
+ connection:close()
return 1,200
+ elseif code==408 then
+ return 1,code
end
while code==100 do
- headers=connection:receiveheaders()
+ connection:receiveheaders()
code,status=connection:receivestatusline()
end
headers=connection:receiveheaders()
@@ -12285,7 +12340,7 @@
package.loaded["util-soc-imp-ftp"] = package.loaded["util-soc-imp-ftp"] or true
--- original size: 10357, stripped down to: 8548
+-- original size: 10345, stripped down to: 8538
local setmetatable,type,next=setmetatable,type,next
@@ -12396,7 +12451,7 @@
local tp=self.tp
self.pasvt=nil
if not address then
- address,port=try(tp:getsockname())
+ address=try(tp:getsockname())
self.server=try(bindsocket(address,0))
address,port=try(self.server:getsockname())
try(self.server:settimeout(ftp.TIMEOUT))
@@ -12413,7 +12468,7 @@
local tp=self.tp
self.pasvt=nil
if not address then
- address,port=try(tp:getsockname())
+ address=try(tp:getsockname())
self.server=try(bindsocket(address,0))
address,port=try(self.server:getsockname())
try(self.server:settimeout(ftp.TIMEOUT))
@@ -12897,7 +12952,7 @@
package.loaded["trac-set"] = package.loaded["trac-set"] or true
--- original size: 14568, stripped down to: 9644
+-- original size: 14574, stripped down to: 9650
if not modules then modules={} end modules ['trac-set']={
version=1.001,
@@ -12982,10 +13037,10 @@
else
value=is_boolean(value,value,true)
end
- w=topattern(w,true,true)
+ local p=topattern(w,true,true)
for name,functions in sortedhash(data) do
if done[name] then
- elseif find(name,w) then
+ elseif find(name,p) then
done[name]=true
for i=1,#functions do
functions[i](value)
@@ -13267,7 +13322,7 @@
package.loaded["trac-log"] = package.loaded["trac-log"] or true
--- original size: 16017, stripped down to: 11045
+-- original size: 16046, stripped down to: 11072
if not modules then modules={} end modules ['trac-log']={
version=1.001,
@@ -13282,6 +13337,7 @@
local topattern=string.topattern
local utfchar=utf.char
local datetime=os.date
+local sleep=os.sleep
local openfile=io.open
local write_nl=print
local write=io.write
@@ -13554,9 +13610,9 @@
if v then
v.state=value
else
- c=topattern(c,true,true)
+ local p=topattern(c,true,true)
for k,v in next,data do
- if find(k,c) then
+ if find(k,p) then
v.state=value
end
end
@@ -14156,7 +14212,7 @@
package.loaded["util-lua"] = package.loaded["util-lua"] or true
--- original size: 7149, stripped down to: 4997
+-- original size: 7166, stripped down to: 5009
if not modules then modules={} end modules ['util-lua']={
version=1.001,
@@ -14190,6 +14246,7 @@
tma="tma",
tmc=(CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 and "tmd") or (jit and "tmb") or "tmc",
lua="lua",
+ lmt="lmt",
luc=(CONTEXTLMTXMODE and CONTEXTLMTXMODE>0 and "lud") or (jit and "lub") or "luc",
lui="lui",
luv="luv",
@@ -14334,7 +14391,7 @@
package.loaded["util-deb"] = package.loaded["util-deb"] or true
--- original size: 10593, stripped down to: 7102
+-- original size: 10416, stripped down to: 7076
if not modules then modules={} end modules ['util-deb']={
version=1.001,
@@ -14499,10 +14556,7 @@
realtime=realtime+real
end
totaltime=totaltime+total
- if line<0 then
- line=0
- end
- dataset[#dataset+1]={ real,total,count,name,source,line }
+ dataset[#dataset+1]={ real,total,count,name,source,line<0 and 0 or line }
end
end
end
@@ -15498,7 +15552,7 @@
package.loaded["util-env"] = package.loaded["util-env"] or true
--- original size: 9738, stripped down to: 5531
+-- original size: 10014, stripped down to: 5102
if not modules then modules={} end modules ['util-env']={
version=1.001,
@@ -15513,22 +15567,7 @@
local concat,insert,remove=table.concat,table.insert,table.remove
environment=environment or {}
local environment=environment
-local setlocale=os.setlocale
-setlocale(nil,nil)
-local report=logs.reporter("system")
-function os.setlocale(a,b)
- if a or b then
- if report then
- report()
- report("You're messing with os.locale in a supposedly locale neutral enviroment. From")
- report("now on are on your own and without support. Crashes or unexpected side effects")
- report("can happen but don't bother the luatex and context developer team with it.")
- report()
- report=nil
- end
- setlocale(a,b)
- end
-end
+os.setlocale(nil,nil) function os.setlocale() end
local validengines=allocate {
["luatex"]=true,
["luajittex"]=true,
@@ -15606,7 +15645,8 @@
environment.arguments[name]=value
end
function environment.getargument(name,partial)
- local arguments,sortedflags=environment.arguments,environment.sortedflags
+ local arguments=environment.arguments
+ local sortedflags=environment.sortedflags
if arguments[name] then
return arguments[name]
elseif partial then
@@ -15713,7 +15753,7 @@
package.loaded["luat-env"] = package.loaded["luat-env"] or true
--- original size: 6267, stripped down to: 4115
+-- original size: 6293, stripped down to: 4141
if not modules then modules={} end modules ['luat-env']={
version=1.001,
@@ -15786,7 +15826,7 @@
return false
end
end
-function environment.luafilechunk(filename,silent,macros)
+function environment.luafilechunk(filename,silent,macros,optional)
filename=file.replacesuffix(filename,"lua")
local fullname=environment.luafile(filename)
if fullname and fullname~="" then
@@ -15796,7 +15836,7 @@
end
return data
else
- if not silent then
+ if not optional and not silent then
report_lua("unknown file %a",filename)
end
return nil
@@ -15878,7 +15918,7 @@
package.loaded["util-zip"] = package.loaded["util-zip"] or true
--- original size: 23730, stripped down to: 14293
+-- original size: 33051, stripped down to: 16324
if not modules then modules={} end modules ['util-zip']={
version=1.001,
@@ -15904,11 +15944,13 @@
local files=utilities.files
local openfile=files.open
local closefile=files.close
+local getsize=files.size
local readstring=files.readstring
local readcardinal2=files.readcardinal2le
local readcardinal4=files.readcardinal4le
local setposition=files.setposition
local getposition=files.getposition
+local skipbytes=files.skip
local band=bit32.band
local rshift=bit32.rshift
local lshift=bit32.lshift
@@ -15931,6 +15973,55 @@
handle=openfile(name,0),
}
end
+ local function update(handle,data)
+ position=data.offset
+ setposition(handle,position)
+ local signature=readstring(handle,4)
+ if signature=="PK\3\4" then
+ local version=readcardinal2(handle)
+ local flag=readcardinal2(handle)
+ local method=readcardinal2(handle)
+ skipbytes(handle,4)
+ local crc32=readcardinal4(handle)
+ local compressed=readcardinal4(handle)
+ local uncompressed=readcardinal4(handle)
+ local namelength=readcardinal2(handle)
+ local extralength=readcardinal2(handle)
+ local filename=readstring(handle,namelength)
+ local descriptor=band(flag,8)~=0
+ local encrypted=band(flag,1)~=0
+ local acceptable=method==0 or method==8
+ local skipped=0
+ local size=0
+ if encrypted then
+ size=readcardinal2(handle)
+ skipbytes(handle,size)
+ skipped=skipped+size+2
+ skipbytes(8)
+ skipped=skipped+8
+ size=readcardinal2(handle)
+ skipbytes(handle,size)
+ skipped=skipped+size+2
+ size=readcardinal4(handle)
+ skipbytes(handle,size)
+ skipped=skipped+size+4
+ size=readcardinal2(handle)
+ skipbytes(handle,size)
+ skipped=skipped+size+2
+ end
+ if acceptable then
+ if filename~=data.filename then
+ else
+ position=position+30+namelength+extralength+skipped
+ data.position=position
+ return position
+ end
+ else
+ end
+ end
+ data.position=false
+ return false
+ end
local function collect(z)
if not z.list then
local list={}
@@ -15938,72 +16029,68 @@
local position=0
local index=0
local handle=z.handle
- while true do
- setposition(handle,position)
- local signature=readstring(handle,4)
- if signature=="PK\3\4" then
- local version=readcardinal2(handle)
- local flag=readcardinal2(handle)
- local method=readcardinal2(handle)
- local filetime=readcardinal2(handle)
- local filedate=readcardinal2(handle)
- local crc32=readcardinal4(handle)
- local compressed=readcardinal4(handle)
- local uncompressed=readcardinal4(handle)
- local namelength=readcardinal2(handle)
- local extralength=readcardinal2(handle)
- local filename=readstring(handle,namelength)
- local descriptor=band(flag,8)~=0
- local encrypted=band(flag,1)~=0
- local acceptable=method==0 or method==8
- local skipped=0
- local size=0
- if encrypted then
- size=readcardinal2(handle)
- skipbytes(size)
- skipped=skipped+size+2
- skipbytes(8)
- skipped=skipped+8
- size=readcardinal2(handle)
- skipbytes(size)
- skipped=skipped+size+2
- size=readcardinal4(handle)
- skipbytes(size)
- skipped=skipped+size+4
- size=readcardinal2(handle)
- skipbytes(size)
- skipped=skipped+size+2
+ local size=getsize(handle)
+ for i=size-4,size-64*1024,-1 do
+ setposition(handle,i)
+ local enddirsignature=readcardinal4(handle)
+ if enddirsignature==0x06054B50 then
+ local thisdisknumber=readcardinal2(handle)
+ local centraldisknumber=readcardinal2(handle)
+ local thisnofentries=readcardinal2(handle)
+ local totalnofentries=readcardinal2(handle)
+ local centralsize=readcardinal4(handle)
+ local centraloffset=readcardinal4(handle)
+ local commentlength=readcardinal2(handle)
+ local comment=readstring(handle,length)
+ if size-i>=22 then
+ if thisdisknumber==centraldisknumber then
+ setposition(handle,centraloffset)
+ while true do
+ if readcardinal4(handle)==0x02014B50 then
+ skipbytes(handle,4)
+ local flag=readcardinal2(handle)
+ local method=readcardinal2(handle)
+ skipbytes(handle,4)
+ local crc32=readcardinal4(handle)
+ local compressed=readcardinal4(handle)
+ local uncompressed=readcardinal4(handle)
+ local namelength=readcardinal2(handle)
+ local extralength=readcardinal2(handle)
+ local commentlength=readcardinal2(handle)
+ skipbytes(handle,8)
+ local headeroffset=readcardinal4(handle)
+ local filename=readstring(handle,namelength)
+ skipbytes(handle,extralength+commentlength)
+ local descriptor=band(flag,8)~=0
+ local encrypted=band(flag,1)~=0
+ local acceptable=method==0 or method==8
+ if acceptable then
+ index=index+1
+ local data={
+ filename=filename,
+ index=index,
+ position=nil,
+ method=method,
+ compressed=compressed,
+ uncompressed=uncompressed,
+ crc32=crc32,
+ encrypted=encrypted,
+ offset=headeroffset,
+ }
+ hash[filename]=data
+ list[index]=data
+ end
+ else
+ break
+ end
+ end
+ end
+ break
end
- position=position+30+namelength+extralength+skipped
- if descriptor then
- setposition(handle,position+compressed)
- crc32=readcardinal4(handle)
- compressed=readcardinal4(handle)
- uncompressed=readcardinal4(handle)
- end
- if acceptable then
- index=index+1
- local data={
- filename=filename,
- index=index,
- position=position,
- method=method,
- compressed=compressed,
- uncompressed=uncompressed,
- crc32=crc32,
- encrypted=encrypted,
- }
- hash[filename]=data
- list[index]=data
- else
- end
- position=position+compressed
- else
- break
end
- z.list=list
- z.hash=hash
end
+ z.list=list
+ z.hash=hash
end
end
function getziplist(z)
@@ -16042,7 +16129,10 @@
local handle=z.handle
local position=data.position
local compressed=data.compressed
- if compressed>0 then
+ if position==nil then
+ position=update(handle,data)
+ end
+ if position and compressed>0 then
setposition(handle,position)
local result=readstring(handle,compressed)
if data.method==8 then
@@ -16253,8 +16343,10 @@
closezip(zipf)
end
end
- local function unzipdir(zipname,path,verbose)
+ local function unzipdir(zipname,path,verbose,collect,validate)
if type(zipname)=="table" then
+ validate=zipname.validate
+ collect=zipname.collect
verbose=zipname.verbose
path=zipname.path
zipname=zipname.zipname
@@ -16275,27 +16367,38 @@
local done=0
local steps=verbose=="steps"
local time=steps and osclock()
+ if collect then
+ collect={}
+ else
+ collect=false
+ end
for i=1,count do
local l=list[i]
local n=l.filename
- local d=unzipfile(z,n)
- if d then
- local p=filejoin(path,n)
- if mkdirs(dirname(p)) then
- if steps then
- total=total+#d
- done=done+1
- if done>=step then
- done=0
- logwriter(format("%4i files of %4i done, %10i bytes, %0.3f seconds",i,count,total,osclock()-time))
+ if not validate or validate(n) then
+ local d=unzipfile(z,n)
+ if d then
+ local p=filejoin(path,n)
+ if mkdirs(dirname(p)) then
+ if steps then
+ total=total+#d
+ done=done+1
+ if done>=step then
+ done=0
+ logwriter(format("%4i files of %4i done, %10i bytes, %0.3f seconds",i,count,total,osclock()-time))
+ end
+ elseif verbose then
+ logwriter(n)
end
- elseif verbose then
- logwriter(n)
+ savedata(p,d)
+ if collect then
+ collect[#collect+1]=p
+ end
end
- savedata(p,d)
+ else
+ logwriter(format("problem with file %s",n))
end
else
- logwriter(format("problem with file %s",n))
end
end
if steps then
@@ -16302,7 +16405,9 @@
logwriter(format("%4i files of %4i done, %10i bytes, %0.3f seconds",count,count,total,osclock()-time))
end
closezipfile(z)
- return true
+ if collect then
+ return collect
+ end
else
closezipfile(z)
end
@@ -16440,7 +16545,7 @@
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 62221, stripped down to: 36225
+-- original size: 62465, stripped down to: 36432
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -16824,8 +16929,13 @@
[ [[}]] ]="&U+7D;",
[ [[~]] ]="&U+7E;",
}
- local privates_n={
+ local privates_n={
}
+ utilities.storage.mark(privates_u)
+ utilities.storage.mark(privates_p)
+ utilities.storage.mark(privates_s)
+ utilities.storage.mark(privates_x)
+ utilities.storage.mark(privates_n)
local escaped=utf.remapper(privates_u,"dynamic")
local unprivatized=utf.remapper(privates_p,"dynamic")
local unspecialized=utf.remapper(privates_s,"dynamic")
@@ -17549,7 +17659,11 @@
local function verbose_element(e,handlers,escape)
local handle=handlers.handle
local serialize=handlers.serialize
- local ens,etg,eat,edt,ern=e.ns,e.tg,e.at,e.dt,e.rn
+ local ens=e.ns
+ local etg=e.tg
+ local eat=e.at
+ local edt=e.dt
+ local ern=e.rn
local ats=eat and next(eat) and {}
if ats then
local n=0
@@ -17921,7 +18035,7 @@
package.loaded["lxml-lpt"] = package.loaded["lxml-lpt"] or true
--- original size: 54589, stripped down to: 31258
+-- original size: 54738, stripped down to: 31395
if not modules then modules={} end modules ['lxml-lpt']={
version=1.001,
@@ -18925,9 +19039,11 @@
print(...)
return true
end
-expressions.find=find
-expressions.upper=upper
-expressions.lower=lower
+expressions.find=function(str,...)
+ return str and find(str,...)
+end
+expressions.upper=function(str) return str and upper(str) or "" end
+expressions.lower=function(str) return str and lower(str) or "" end
expressions.number=tonumber
expressions.boolean=toboolean
function expressions.contains(str,pattern)
@@ -21053,7 +21169,7 @@
package.loaded["data-exp"] = package.loaded["data-exp"] or true
--- original size: 18179, stripped down to: 10432
+-- original size: 18185, stripped down to: 10438
if not modules then modules={} end modules ['data-exp']={
version=1.001,
@@ -21135,10 +21251,10 @@
str=lpegmatch(stripper_1,str)
if validate then
for s in gmatch(str,"[^,]+") do
- s=validate(s)
- if s then
+ local v=validate(s)
+ if v then
n=n+1
- t[n]=s
+ t[n]=v
end
end
else
@@ -21461,7 +21577,7 @@
package.loaded["data-env"] = package.loaded["data-env"] or true
--- original size: 9501, stripped down to: 6413
+-- original size: 9758, stripped down to: 6523
if not modules then modules={} end modules ['data-env']={
version=1.001,
@@ -21475,6 +21591,7 @@
local resolvers=resolvers
local allocate=utilities.storage.allocate
local setmetatableindex=table.setmetatableindex
+local sortedhash=table.sortedhash
local suffixonly=file.suffixonly
local formats=allocate()
local suffixes=allocate()
@@ -21576,7 +21693,7 @@
lua={
names={ "lua" },
variable='LUAINPUTS',
- suffixes={ luasuffixes.lua,luasuffixes.luc,luasuffixes.tma,luasuffixes.tmc },
+ suffixes={ luasuffixes.lmt,luasuffixes.lua,luasuffixes.luc,luasuffixes.tma,luasuffixes.tmc },
usertype=true,
},
lib={
@@ -21677,8 +21794,8 @@
}
resolvers.relations=relations
function resolvers.updaterelations()
- for category,categories in next,relations do
- for name,relation in next,categories do
+ for category,categories in sortedhash(relations) do
+ for name,relation in sortedhash(categories) do
local rn=relation.names
local rv=relation.variable
if rn and rv then
@@ -21691,7 +21808,9 @@
suffixes[rni]=rs
for i=1,#rs do
local rsi=rs[i]
- suffixmap[rsi]=rni
+ if not suffixmap[rsi] then
+ suffixmap[rsi]=rni
+ end
end
end
end
@@ -22283,7 +22402,7 @@
package.loaded["data-res"] = package.loaded["data-res"] or true
--- original size: 70711, stripped down to: 44839
+-- original size: 70699, stripped down to: 45019
if not modules then modules={} end modules ['data-res']={
version=1.001,
@@ -22348,18 +22467,37 @@
"TEXMF",
"TEXOS",
}
-if environment.default_texmfcnf then
- resolvers.luacnfspec="home:texmf/web2c;"..environment.default_texmfcnf
-else
+do
local texroot=environment.texroot
- resolvers.luacnfspec="home:texmf/web2c;selfautoparent:/texmf-local/web2c;selfautoparent:/texmf-context/web2c;selfautoparent:/texmf/web2c"
- if texroot and isdir(texroot.."/texmf-context") then
+ resolvers.luacnfspec={
+ "home:texmf/web2c",
+ "selfautoparent:/texmf-local/web2c",
+ "selfautoparent:/texmf-context/web2c",
+ "selfautoparent:/texmf/web2c",
+ }
+ if environment.default_texmfcnf then
+ resolvers.luacnfspec={
+ "home:texmf/web2c",
+ environment.default_texmfcnf,
+ }
+ elseif texroot and isdir(texroot.."/texmf-context") then
elseif texroot and isdir(texroot.."/texmf-dist") then
- resolvers.luacnfspec="home:texmf/web2c;selfautoparent:/texmf-local/web2c;selfautoparent:/texmf-dist/web2c;selfautoparent:/texmf/web2c"
+ resolvers.luacnfspec={
+ "home:texmf/web2c",
+ "selfautoparent:/texmf-local/web2c",
+ "selfautoparent:",
+ "selfautoparent:/texmf-dist/web2c",
+ "selfautoparent:/texmf/web2c",
+ }
elseif ostype~="windows" and isdir("/etc/texmf/web2c") then
- resolvers.luacnfspec="home:texmf/web2c;/etc/texmf/web2c;selfautodir:/share/texmf/web2c"
+ resolvers.luacnfspec={
+ "home:texmf/web2c",
+ "/etc/texmf/web2c",
+ "selfautodir:/share/texmf/web2c",
+ }
else
end
+ resolvers.luacnfspec=concat(resolvers.luacnfspec,";")
end
local unset_variable="unset"
local formats=resolvers.formats
@@ -23200,7 +23338,7 @@
local preparetreepattern=Cs((P(".")/"%%."+P("-")/"%%-"+P(1))^0*Cc("$"))
local collect_instance_files
local function find_analyze(filename,askedformat,allresults)
- local filetype=''
+ local filetype=""
local filesuffix=suffixonly(filename)
local wantedfiles={}
wantedfiles[#wantedfiles+1]=filename
@@ -23208,7 +23346,7 @@
if filesuffix=="" or not suffixmap[filesuffix] then
local defaultsuffixes=resolvers.defaultsuffixes
for i=1,#defaultsuffixes do
- local forcedname=filename..'.'..defaultsuffixes[i]
+ local forcedname=filename.."."..defaultsuffixes[i]
wantedfiles[#wantedfiles+1]=forcedname
filetype=formatofsuffix(forcedname)
if trace_locating then
@@ -23552,7 +23690,8 @@
local result={}
local status={}
local done={}
- for k,r in next,results do
+ for k=1,#results do
+ local r=results[k]
local method,list=r[1],r[2]
if method and list then
for i=1,#list do
@@ -25750,7 +25889,7 @@
package.loaded["luat-sta"] = package.loaded["luat-sta"] or true
--- original size: 5703, stripped down to: 2321
+-- original size: 5608, stripped down to: 2321
if not modules then modules={} end modules ['luat-sta']={
version=1.001,
@@ -26140,8 +26279,8 @@
-- used libraries : l-bit32.lua l-lua.lua l-macro.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-sha.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua util-soc-imp-reset.lua util-soc-imp-socket.lua util-soc-imp-copas.lua util-soc-imp-ltn12.lua util-soc-imp-mime.lua util-soc-imp-url.lua util-soc-imp-headers.lua util-soc-imp-tp.lua util-soc-imp-http.lua util-soc-imp-ftp.lua util-soc-imp-smtp.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua util-zip.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua libs-ini.lua luat-sta.lua luat-fmt.lua
-- skipped libraries : -
--- original bytes : 1037585
--- stripped bytes : 408686
+-- original bytes : 1050273
+-- stripped bytes : 417643
-- end library merge
Modified: trunk/Master/bin/x86_64-darwinlegacy/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/x86_64-linux/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/bin/x86_64-linuxmusl/luametatex
===================================================================
(Binary files differ)
Deleted: trunk/Master/bin/x86_64-solaris/luametatex
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-context.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
return {
- ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "pluseleven", "plustwelve", "plussixteen", "plusfifty", "plushundred", "plusonehundred", "plustwohundred", "plusfivehundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "maxiterator", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxcount", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "centeringskip", "stretchingskip", "shrinkingskip", "centeringfillskip", "stretchingfillskip", "shrinkingfillskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "binaryshiftedten", "binaryshiftedtwenty", "binaryshiftedthirty", "thickermuskip", "directionlefttoright", "directionrighttoleft", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "prerollrun", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "texenginefunctionality", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "contextformat", "contextversion", "contextlmtxmode", "contextmark", "mksuffix", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "statuswrite", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "rlncatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "superscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "!
invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "commaasciicode", "spaceasciicode", "periodasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "semicolonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "percentasciicode", "leftbracketasciicode", "rightbracketasciicode", "hsizefrozenparcode", "skipfrozenparcode", "hangfrozenparcode", "indentfrozenparcode", "parfillfrozenparcode", "adjustfrozenparcode", "protrudefrozenparcode", "tolerancefrozenparcode", "stretchfrozenparcode", "loosenessfrozenparcode", "lastlinefrozenparcode", "linepenaltyfrozenparcode", "clubpenaltyfrozenparcode", "widowpenaltyfrozenparcode", "displaypenaltyfrozenparcode", "brokenpenaltyfrozenparcode", "demeritsfrozenparcode", "shapefrozenparcode", "linefrozenparcode", "hyphenationfrozenparcode", "shapingpenaltyfrozenparcode", "orphanpenaltyfrozenparcode", "allfrozenparcode", "mathpenaltyfrozenparcode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "mathgroupcode", "discretionarygroupcode", "insertgroupcode", "vadjustgroupcode", "vcentergroupcode", "mathabovegroupcode", "mathchoicegroupcode", "alsosimplegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "localboxgroupcode", "splitoffgroupcode", "sp!
litkeepgroupcode", "preamblegroupcode", "alignsetgroupcode", "finrowgroupcode", "discretionarygroupcode", "markautomigrationcode", "insertautomigrationcode", "adjustautomigrationcode", "preautomigrationcode", "postautomigrationcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "overrulemathcontrolcode", "underrulemathcontrolcode", "radicalrulemathcontrolcode", "fractionrulemathcontrolcode", "accentskewhalfmathcontrolcode", "accentskewapplymathcontrolcode", "applyordinarykernpairmathcontrolcode", "applyverticalitalickernmathcontrolcode", "applyordinaryitalickernmathcontrolcode", "applycharitalickernmathcontrolcode", "reboxcharitalickernmathcontrolcode", "applyboxeditalickernmathcontrolcode", "staircasekernmathcontrolcode", "applytextitalickernmathcontrolcode", "applyscriptitalickernmathcontrolcode", "checkspaceitalickernmathcontrolcode", "checktextitalickernmathcontrolcode", "analyzescriptnucleuscharmathcontrolcode", "analyzescriptnucleuslistmathcontrolcode", "analyzescriptnucleusboxmathcontrolcode", "accenttopskewwithoffsetmathcontrolcode", "ignorekerndimensionsmathcontrolcode", "ignoreflataccentsmathcontrolcode", "extendaccentsmathcontrolcode", "extenddelimitersmathcontrolcode", "noligaturingglyphoptioncode", "nokerningglyphoptioncode", "noexpansionglyphoptioncode", "noprotrusionglyphoptioncode", "noleftkerningglyphoptioncode", "noleftligaturingglyphoptioncode", "norightkerningglyphoptioncode", "norightligaturingglyphoptioncode", "noitaliccorrectionglyphoptioncode", "islargeoperatorglyphoptioncode", "hasitalicshapeglyphoptioncode", "normalparcontextcode", "vmodeparcontextcode", "vboxparcontextcode", "vtopparcontextcode", "vcenterparcontextcode", "vadjustparcontextcode", "insertparcontextcode", "outputparcontextcode", "alignparcontextcode", "noalignparcontextcode", "spanparcont!
extcode", "resetparcontextcode", "leftoriginlistanchorcode", "leftheightlistanchorcode", "leftdepthlistanchorcode", "rightoriginlistanchorcode", "rightheightlistanchorcode", "rightdepthlistanchorcode", "centeroriginlistanchorcode", "centerheightlistanchorcode", "centerdepthlistanchorcode", "halfwaytotallistanchorcode", "halfwayheightlistanchorcode", "halfwaydepthlistanchorcode", "halfwayleftlistanchorcode", "halfwayrightlistanchorcode", "negatexlistsigncode", "negateylistsigncode", "negatelistsigncode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "mathexheight", "mathemwidth", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startlocalcomponent", "stoplocalcomponent", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documentvariable", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "doifelsedocumentvariable", "doifdocumentvariableelse", "doifdocumentvariable", "doifnotdocumentvariable", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree",!
"mathsizesuffix", "mathordinarycode", "mathordcode", "mathoperatorcode", "mathopcode", "mathbinarycode", "mathbincode", "mathrelationcode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctuationcode", "mathpunctcode", "mathovercode", "mathundercode", "mathinnercode", "mathradicalcode", "mathfractioncode", "mathmiddlecode", "mathaccentcode", "mathfencedcode", "mathghostcode", "mathvariablecode", "mathactivecode", "mathvcentercode", "mathconstructcode", "mathwrappedcode", "mathbegincode", "mathendcode", "mathexplicitcode", "mathdivisioncode", "mathfactorialcode", "mathdimensioncode", "mathexperimentalcode", "mathtextpunctuationcode", "mathimaginarycode", "mathdifferentialcode", "mathexponentialcode", "mathellipsiscode", "mathfunctioncode", "mathdigitcode", "mathalphacode", "mathboxcode", "mathchoicecode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathunsetcode", "mathunspacedcode", "mathallcode", "mathfakecode", "mathunarycode", "mathmaybeordinarycode", "mathmayberelationcode", "mathmaybebinarycode", "mathnumbergroupcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethinspace", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "autoinsertedspace", "Ux", "eUx", "parfillleftskip", "parfillrightskip", "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode", "wildcardsymbol", "normalhyphenationcode", "automatichyphenationcode", "explicithyphenationcode", "syllablehyphenationcode", "uppercasehyphenationcode", "collapsehy!
phenationcode", "compoundhyphenationcode", "strictstarthyphenationcode", "strictendhyphenationcode", "automaticpenaltyhyphenationcode", "explicitpenaltyhyphenationcode", "permitgluehyphenationcode", "permitallhyphenationcode", "permitmathreplacehyphenationcode", "forcecheckhyphenationcode", "lazyligatureshyphenationcode", "forcehandlerhyphenationcode", "feedbackcompoundhyphenationcode", "ignoreboundshyphenationcode", "partialhyphenationcode", "completehyphenationcode", "normalizelinenormalizecode", "parindentskipnormalizecode", "swaphangindentnormalizecode", "swapparsshapenormalizecode", "breakafterdirnormalizecode", "removemarginkernsnormalizecode", "clipwidthnormalizecode", "flattendiscretionariesnormalizecode", "discardzerotabskipsnormalizecode", "flattenhleadersnormalizecode", "normalizeparnormalizeparcode", "flattenvleadersnormalizeparcode", "nopreslackclassoptioncode", "nopostslackclassoptioncode", "lefttopkernclassoptioncode", "righttopkernclassoptioncode", "leftbottomkernclassoptioncode", "rightbottomkernclassoptioncode", "lookaheadforendclassoptioncode", "noitaliccorrectionclassoptioncode", "defaultmathclassoptions", "checkligatureclassoptioncode", "checkitaliccorrectionclassoptioncode", "checkkernpairclassoptioncode", "flattenclassoptioncode", "omitpenaltyclassoptioncode", "unpackclassoptioncode", "raiseprimeclassoptioncode", "carryoverlefttopkernclassoptioncode", "carryoverleftbottomkernclassoptioncode", "carryoverrighttopkernclassoptioncode", "carryoverrightbottomkernclassoptioncode", "preferdelimiterdimensionsclassoptioncode", "autoinjectclassoptioncode", "removeitaliccorrectionclassoptioncode", "operatoritaliccorrectionclassoptioncode", "noligaturingglyphoptioncode", "nokerningglyphoptioncode", "noleftligatureglyphoptioncode", "noleftkernglyphoptioncode", "norightligatureglyphoptioncode", "norightkernglyphoptioncode", "noexpansionglyphoptioncode", "noprotrusionglyphoptioncode", "noitaliccorrectionglyphoptioncode", "nokerningcode", "noligaturingcode", "frozenflagcode", "tolerantflagcode", "protected!
flagcode", "primitiveflagcode", "permanentflagcode", "noalignedflagcode", "immutableflagcode", "mutableflagcode", "globalflagcode", "overloadedflagcode", "immediateflagcode", "conditionalflagcode", "valueflagcode", "instanceflagcode", "ordmathflattencode", "binmathflattencode", "relmathflattencode", "punctmathflattencode", "innermathflattencode", "normalworddiscoptioncode", "preworddiscoptioncode", "postworddiscoptioncode", "continueifinputfile", "continuewhenlmtxmode", "continuewhenmkivmode" },
- ["helpers"]={ "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "copysetups", "resetsetups", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "globalsetmode", "globalresetmode", "globalsetsystemmode", "globalresetsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newfloat", "newlanguage", "newfamily", "newfam", "newhelp", "newinteger", "newdimension", "newgluespec", "newmugluespec", "newposit", "aliasinteger", "aliasdimension", "aliasposit", "then", "begcsname", "autorule", "strippedcsname", "checkedstrippedcsname", "nofarguments", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthargumenttrue", "sixthargumentfalse", "sixthargumenttrue", "seventhargumentfalse", "seventhargumenttrue", "vkern", "hkern", "vpenalty", "hpenalty", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "untraceddonothing", "dontcomplain", "moreboxtracing", "lessboxtracing", "noboxtracing", "forgetall", "donetrue", "donefalse", "foundtrue", "foundfalse", "inlineordisplaymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "!
stoppickupmath", "reqno", "forceinlinemath", "mathortext", "thebox", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "hsplit", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilll", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "normalhfilllneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilll", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "normalvfilllneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruleddbox", "ruledvcenter", "ruledmbox", "ruledhpack", "ruledvpack", "ruledtpack", "ruleddpack", "ruledvsplit", "ruledtsplit", "ruleddsplit", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchstring", "scratchstringone", "scratchstringtwo", "tempstring", "scratchcounter", "globalscratchcounter", "privatescratchcounter", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "scratchmacro", "scratchmacroone", "scratchmacrotwo", "scratchconditiontrue", "scratchconditionfalse", "ifscratchcondition", "scratchconditiononetrue", "scratchconditiononefalse", "ifscratchconditionone", "scratchconditiontwotrue", "scratchconditiontwofalse", "ifscratchconditiontwo", "globalscratchcounterone", "globalscratchcountertwo", "globalscratchcounterthr!
ee", "groupedcommand", "groupedcommandcs", "triggergroupedcommand", "triggergroupedcommandcs", "simplegroupedcommand", "simplegroupedcommandcs", "pickupgroupedcommand", "pickupgroupedcommandcs", "mathgroupedcommandcs", "usedbaselineskip", "usedlineskip", "usedlineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "next", "nexttoken", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "flushnextbox", "boxisempty", "boxtostring", "contentostring", "prerolltostring", "givenwidth", "givenheight", "givendepth", "scangivendimensions", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchtotal", "scratchitalic", "scratchhsize", "scratchvsize", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scratchunicode", "scratchmin", "scratchmax", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "firstinset", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextcharcs", "doifnextcharcselse", "!
doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "doifelseassignmentcs", "doifassignmentelsecs", "validassignment", "novalidassignment", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "quitcondition", "truecondition", "falsecondition", "tracingall", "tracingnone", "loggingall", "tracingcatcodes", "showluatokens", "aliasmacro", "removetoks", "appendtoks", "prependtoks", "appendtotoks", "prependtotoks", "to", "endgraf", "endpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeytabs", "obeypages", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "naturalspace", "controlspace", "normalspaces", "ignoretabs", "ignorelines", "ignorepages", "ignoreeofs", "setcontrolspaces", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "onlynonbreakablespace",!
"wait", "writestatus", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "directmeasure", "setquantity", "setequantity", "setgquantity", "setxquantity", "definequantity", "freezequantity", "quantity", "quantitied", "directquantity", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "setexpandeddummyparameter", "resetdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofthreearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenargumen!
ts", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "fastloopindex", "fastloopfinal", "dowith", "doloopovermatch", "doloopovermatched", "doloopoverlist", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "setconditional", "newmacro", "setnewmacro", "newfraction", "newsignal", "newboundary", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "onlypdfobjectcompression", "nopdfobjectcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "mathclassvalue", "startnointerference", "stopnointerference", "twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "aligncontentleft", "aligncontentmiddle", "aligncontentright", "shiftbox", "vpackbox", "hpackbox", "vpackedbox", "hpackedbox", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "normalsuperscript", "normalsubscript", "normalno!
superscript", "normalnosubscript", "normalprimescript", "superscript", "subscript", "nosuperscript", "nosubscript", "primescript", "superprescript", "subprescript", "nosuperprescript", "nosubsprecript", "uncramped", "cramped", "mathstyletrigger", "triggermathstyle", "triggeredmathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "ctxluamatch", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctxfunction", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "installprotectedctxfunction", "installprotectedctxscanner", "installctxscanner", "resetctxscanner", "cldprocessfile", "cldloadfile", "cldloadviafile", "cldcontext", "cldcommand", "carryoverpar", "freezeparagraphproperties", "defrostparagraphproperties", "setparagraphfreezing", "forgetparagraphfreezing", "updateparagraphproperties", "updateparagraphpenalties", "updateparagraphdemerits", "upd!
ateparagraphshapes", "updateparagraphlines", "lastlinewidth", "assumelongusagecs", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "rtltext", "ltrtext", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "dohyphencollapsing", "nohyphencollapsing", "compounddiscretionary", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "naturaltpack", "reversehbox", "reversevbox", "reversevtop", "reversehpack", "reversevpack", "reversetpack", "hcontainer", "vcontainer", "tcontainer", "frule", "compoundhyphenpenalty", "start", "stop", "unsupportedcs", "openout", "closeout", "write", "openin", "closein", "read", "readline", "readfromterminal", "boxlines", "boxline", "setboxline", "copyboxline", "boxlinewd", "boxlineht", "boxlinedp", "boxlinenw", "boxlinenh", "boxlinend", "boxlinels", "boxliners", "boxlinelh", "boxlinerh", "boxlinelp", "boxlinerp", "boxlinein", "boxrangewd", "boxrangeht", "boxrangedp", "bitwiseset", "bitwiseand", "bitwiseor", "bitwisexor", "bitwisenot", "bitwisenil", "ifbitwiseand", "bitwise", "bitwiseshift", "bitwiseflip", "textdir", "linedir", "pardir", "boxdir", "prelistbox", "postlistbox", "prelistcopy", "postlistcopy", "setprelistbox", "setpostlistbox", "noligaturing", "nokerning", "noexpansion", "noprotrusion", "noleftkerning", "noleftligaturing", "norightkerning", "norightligaturing", "noitaliccorrection", "futureletnexttoken", "defbackslashbreak", "letbackslashbreak", "pushoverloadmode", "popoverloadmode", !
"pushrunstate", "poprunstate", "suggestedalias", "showboxhere", "discoptioncodestring", "flagcodestring", "frozenparcodestring", "glyphoptioncodestring", "groupcodestring", "hyphenationcodestring", "mathcontrolcodestring", "mathflattencodestring", "normalizecodestring", "parcontextcodestring", "newlocalcount", "newlocaldimen", "newlocalskip", "newlocalmuskip", "newlocaltoks", "newlocalbox", "newlocalwrite", "newlocalread", "setnewlocalcount", "setnewlocaldimen", "setnewlocalskip", "setnewlocalmuskip", "setnewlocaltoks", "setnewlocalbox", "ifexpression" },
+ ["constants"]={ "zerocount", "minusone", "minustwo", "plusone", "plustwo", "plusthree", "plusfour", "plusfive", "plussix", "plusseven", "pluseight", "plusnine", "plusten", "pluseleven", "plustwelve", "plussixteen", "plusfifty", "plushundred", "plusonehundred", "plustwohundred", "plusfivehundred", "plusthousand", "plustenthousand", "plustwentythousand", "medcard", "maxcard", "maxcardminusone", "maxiterator", "zeropoint", "onepoint", "halfapoint", "onebasepoint", "maxcount", "maxdimen", "scaledpoint", "thousandpoint", "points", "halfpoint", "zeroskip", "centeringskip", "stretchingskip", "shrinkingskip", "centeringfillskip", "stretchingfillskip", "shrinkingfillskip", "centeringfilllskip", "stretchingfilllskip", "shrinkingfilllskip", "zeromuskip", "onemuskip", "pluscxxvii", "pluscxxviii", "pluscclv", "pluscclvi", "normalpagebox", "binaryshiftedten", "binaryshiftedtwenty", "binaryshiftedthirty", "thickermuskip", "continuationmuskip", "fencemuskip", "mathinterwordmuskip", "zerofloat", "directionlefttoright", "directionrighttoleft", "endoflinetoken", "outputnewlinechar", "emptytoks", "empty", "undefined", "prerollrun", "voidbox", "emptybox", "emptyvbox", "emptyhbox", "bigskipamount", "medskipamount", "smallskipamount", "fmtname", "fmtversion", "texengine", "texenginename", "texengineversion", "texenginefunctionality", "luatexengine", "pdftexengine", "xetexengine", "unknownengine", "contextformat", "contextversion", "contextlmtxmode", "contextmark", "mksuffix", "activecatcode", "bgroup", "egroup", "endline", "conditionaltrue", "conditionalfalse", "attributeunsetvalue", "statuswrite", "uprotationangle", "rightrotationangle", "downrotationangle", "leftrotationangle", "inicatcodes", "ctxcatcodes", "texcatcodes", "notcatcodes", "txtcatcodes", "vrbcatcodes", "prtcatcodes", "nilcatcodes", "luacatcodes", "tpacatcodes", "tpbcatcodes", "xmlcatcodes", "ctdcatcodes", "rlncatcodes", "escapecatcode", "begingroupcatcode", "endgroupcatcode", "mathshiftcatcode", "alignmentcatcode", "endoflinecatcode", "parametercatcode", "sup!
erscriptcatcode", "subscriptcatcode", "ignorecatcode", "spacecatcode", "lettercatcode", "othercatcode", "activecatcode", "commentcatcode", "invalidcatcode", "tabasciicode", "newlineasciicode", "formfeedasciicode", "endoflineasciicode", "endoffileasciicode", "commaasciicode", "spaceasciicode", "periodasciicode", "hashasciicode", "dollarasciicode", "commentasciicode", "ampersandasciicode", "colonasciicode", "semicolonasciicode", "backslashasciicode", "circumflexasciicode", "underscoreasciicode", "leftbraceasciicode", "barasciicode", "rightbraceasciicode", "tildeasciicode", "delasciicode", "leftparentasciicode", "rightparentasciicode", "lessthanasciicode", "morethanasciicode", "doublecommentsignal", "atsignasciicode", "exclamationmarkasciicode", "questionmarkasciicode", "doublequoteasciicode", "singlequoteasciicode", "forwardslashasciicode", "primeasciicode", "hyphenasciicode", "percentasciicode", "leftbracketasciicode", "rightbracketasciicode", "zeroasciicode", "nineasciicode", "alowercaseasciicode", "zlowercaseasciicode", "hsizefrozenparcode", "skipfrozenparcode", "hangfrozenparcode", "indentfrozenparcode", "parfillfrozenparcode", "adjustfrozenparcode", "protrudefrozenparcode", "tolerancefrozenparcode", "stretchfrozenparcode", "loosenessfrozenparcode", "lastlinefrozenparcode", "linepenaltyfrozenparcode", "clubpenaltyfrozenparcode", "widowpenaltyfrozenparcode", "displaypenaltyfrozenparcode", "brokenpenaltyfrozenparcode", "demeritsfrozenparcode", "shapefrozenparcode", "linefrozenparcode", "hyphenationfrozenparcode", "shapingpenaltyfrozenparcode", "orphanpenaltyfrozenparcode", "allfrozenparcode", "emergencyfrozenparcode", "parpassesfrozenparcode", "singlelinepenaltyfrozenparcode", "activemathcharcode", "activetabtoken", "activeformfeedtoken", "activeendoflinetoken", "batchmodecode", "nonstopmodecode", "scrollmodecode", "errorstopmodecode", "bottomlevelgroupcode", "simplegroupcode", "hboxgroupcode", "adjustedhboxgroupcode", "vboxgroupcode", "vtopgroupcode", "aligngroupcode", "noaligngroupcode", "outputgroupcode", "ma!
thgroupcode", "discretionarygroupcode", "insertgroupcode", "vadjustgroupcode", "vcentergroupcode", "mathabovegroupcode", "mathchoicegroupcode", "alsosimplegroupcode", "semisimplegroupcode", "mathshiftgroupcode", "mathleftgroupcode", "localboxgroupcode", "splitoffgroupcode", "splitkeepgroupcode", "preamblegroupcode", "alignsetgroupcode", "finrowgroupcode", "discretionarygroupcode", "markautomigrationcode", "insertautomigrationcode", "adjustautomigrationcode", "preautomigrationcode", "postautomigrationcode", "charnodecode", "hlistnodecode", "vlistnodecode", "rulenodecode", "insertnodecode", "marknodecode", "adjustnodecode", "ligaturenodecode", "discretionarynodecode", "whatsitnodecode", "mathnodecode", "gluenodecode", "kernnodecode", "penaltynodecode", "unsetnodecode", "mathsnodecode", "overrulemathcontrolcode", "underrulemathcontrolcode", "radicalrulemathcontrolcode", "fractionrulemathcontrolcode", "accentskewhalfmathcontrolcode", "accentskewapplymathcontrolcode", "applyordinarykernpairmathcontrolcode", "applyverticalitalickernmathcontrolcode", "applyordinaryitalickernmathcontrolcode", "applycharitalickernmathcontrolcode", "reboxcharitalickernmathcontrolcode", "applyboxeditalickernmathcontrolcode", "staircasekernmathcontrolcode", "applytextitalickernmathcontrolcode", "applyscriptitalickernmathcontrolcode", "checkspaceitalickernmathcontrolcode", "checktextitalickernmathcontrolcode", "analyzescriptnucleuscharmathcontrolcode", "analyzescriptnucleuslistmathcontrolcode", "analyzescriptnucleusboxmathcontrolcode", "accenttopskewwithoffsetmathcontrolcode", "ignorekerndimensionsmathcontrolcode", "ignoreflataccentsmathcontrolcode", "extendaccentsmathcontrolcode", "extenddelimitersmathcontrolcode", "normalparcontextcode", "vmodeparcontextcode", "vboxparcontextcode", "vtopparcontextcode", "vcenterparcontextcode", "vadjustparcontextcode", "insertparcontextcode", "outputparcontextcode", "alignparcontextcode", "noalignparcontextcode", "spanparcontextcode", "resetparcontextcode", "normalparbegincode", "forceparbegincode", "inden!
tparbegincode", "noindentparbegincode", "mathcharparbegincode", "charparbegincode", "boundaryparbegincode", "spaceparbegincode", "mathparbegincode", "kernparbegincode", "hskipparbegincode", "unhboxparbegincode", "valignparbegincode", "vruleparbegincode", "fixedsuperorsubscriptsmodecode", "fixedsuperandsubscriptsmodecode", "ignoreemptyscriptsmodecode", "ignoreemptysuperscriptsmodecode", "ignoreemptysubscriptsmodecode", "ignoreemptyprimescriptsmodecode", "inheritclassdoublescriptmodecode", "discardshapekerndoublescriptmodecode", "realignscriptsdoublescriptmodecode", "reorderprescriptsdoublescriptmodecode", "leftoriginlistanchorcode", "leftheightlistanchorcode", "leftdepthlistanchorcode", "rightoriginlistanchorcode", "rightheightlistanchorcode", "rightdepthlistanchorcode", "centeroriginlistanchorcode", "centerheightlistanchorcode", "centerdepthlistanchorcode", "halfwaytotallistanchorcode", "halfwayheightlistanchorcode", "halfwaydepthlistanchorcode", "halfwayleftlistanchorcode", "halfwayrightlistanchorcode", "negatexlistsigncode", "negateylistsigncode", "negatelistsigncode", "fontslantperpoint", "fontinterwordspace", "fontinterwordstretch", "fontinterwordshrink", "fontexheight", "fontemwidth", "fontextraspace", "slantperpoint", "mathexheight", "mathemwidth", "interwordspace", "interwordstretch", "interwordshrink", "exheight", "emwidth", "extraspace", "mathaxisheight", "muquad", "startmode", "stopmode", "startnotmode", "stopnotmode", "startmodeset", "stopmodeset", "doifmode", "doifelsemode", "doifmodeelse", "doifnotmode", "startmodeset", "stopmodeset", "startallmodes", "stopallmodes", "startnotallmodes", "stopnotallmodes", "doifallmodes", "doifelseallmodes", "doifallmodeselse", "doifnotallmodes", "startenvironment", "stopenvironment", "environment", "startcomponent", "stopcomponent", "component", "startlocalcomponent", "stoplocalcomponent", "startproduct", "stopproduct", "product", "startproject", "stopproject", "project", "starttext", "stoptext", "startnotext", "stopnotext", "startdocument", "stopdocument", "documen!
tvariable", "unexpandeddocumentvariable", "setupdocument", "presetdocument", "doifelsedocumentvariable", "doifdocumentvariableelse", "doifdocumentvariable", "doifnotdocumentvariable", "startmodule", "stopmodule", "usemodule", "usetexmodule", "useluamodule", "setupmodule", "currentmoduleparameter", "moduleparameter", "everystarttext", "everystoptext", "everyforgetall", "luaenvironment", "startTEXpage", "stopTEXpage", "enablemode", "disablemode", "preventmode", "definemode", "globalenablemode", "globaldisablemode", "globalpreventmode", "pushmode", "popmode", "typescriptone", "typescripttwo", "typescriptthree", "mathsizesuffix", "mathordinarycode", "mathordcode", "mathoperatorcode", "mathopcode", "mathbinarycode", "mathbincode", "mathrelationcode", "mathrelcode", "mathopencode", "mathclosecode", "mathpunctuationcode", "mathpunctcode", "mathovercode", "mathundercode", "mathinnercode", "mathradicalcode", "mathfractioncode", "mathmiddlecode", "mathprimecode", "mathaccentcode", "mathfencedcode", "mathghostcode", "mathvariablecode", "mathactivecode", "mathvcentercode", "mathconstructcode", "mathwrappedcode", "mathbegincode", "mathendcode", "mathexplicitcode", "mathdivisioncode", "mathfactorialcode", "mathdimensioncode", "mathexperimentalcode", "mathtextpunctuationcode", "mathcontinuationcode", "mathimaginarycode", "mathdifferentialcode", "mathexponentialcode", "mathintegralcode", "mathellipsiscode", "mathfunctioncode", "mathdigitcode", "mathalphacode", "mathboxcode", "mathchoicecode", "mathnothingcode", "mathlimopcode", "mathnolopcode", "mathunsetcode", "mathunspacedcode", "mathallcode", "mathfakecode", "mathunarycode", "mathmaybeordinarycode", "mathmayberelationcode", "mathmaybebinarycode", "mathnumbergroupcode", "mathchemicalbondcode", "mathimplicationcode", "constantnumber", "constantnumberargument", "constantdimen", "constantdimenargument", "constantemptyargument", "luastringsep", "!!bs", "!!es", "lefttorightmark", "righttoleftmark", "lrm", "rlm", "bidilre", "bidirle", "bidipop", "bidilro", "bidirlo", "breakablethin!
space", "nobreakspace", "nonbreakablespace", "narrownobreakspace", "zerowidthnobreakspace", "ideographicspace", "ideographichalffillspace", "twoperemspace", "threeperemspace", "fourperemspace", "fiveperemspace", "sixperemspace", "figurespace", "punctuationspace", "hairspace", "enquad", "emquad", "zerowidthspace", "zerowidthnonjoiner", "zerowidthjoiner", "zwnj", "zwj", "optionalspace", "asciispacechar", "softhyphen", "autoinsertedspace", "Ux", "eUx", "startlmtxmode", "stoplmtxmode", "startmkivmode", "stopmkivmode", "wildcardsymbol", "normalhyphenationcode", "automatichyphenationcode", "explicithyphenationcode", "syllablehyphenationcode", "uppercasehyphenationcode", "collapsehyphenationcode", "compoundhyphenationcode", "strictstarthyphenationcode", "strictendhyphenationcode", "automaticpenaltyhyphenationcode", "explicitpenaltyhyphenationcode", "permitgluehyphenationcode", "permitallhyphenationcode", "permitmathreplacehyphenationcode", "forcecheckhyphenationcode", "lazyligatureshyphenationcode", "forcehandlerhyphenationcode", "feedbackcompoundhyphenationcode", "ignoreboundshyphenationcode", "partialhyphenationcode", "completehyphenationcode", "normalizelinenormalizecode", "parindentskipnormalizecode", "swaphangindentnormalizecode", "swapparsshapenormalizecode", "breakafterdirnormalizecode", "removemarginkernsnormalizecode", "clipwidthnormalizecode", "flattendiscretionariesnormalizecode", "discardzerotabskipsnormalizecode", "flattenhleadersnormalizecode", "normalizeparnormalizeparcode", "flattenvleadersnormalizeparcode", "limitprevgrafnormalizeparcode", "nopreslackclassoptioncode", "nopostslackclassoptioncode", "lefttopkernclassoptioncode", "righttopkernclassoptioncode", "leftbottomkernclassoptioncode", "rightbottomkernclassoptioncode", "lookaheadforendclassoptioncode", "noitaliccorrectionclassoptioncode", "defaultmathclassoptions", "checkligatureclassoptioncode", "checkitaliccorrectionclassoptioncode", "checkkernpairclassoptioncode", "flattenclassoptioncode", "omitpenaltyclassoptioncode", "unpackclassoptioncode", "!
raiseprimeclassoptioncode", "carryoverlefttopkernclassoptioncode", "carryoverleftbottomkernclassoptioncode", "carryoverrighttopkernclassoptioncode", "carryoverrightbottomkernclassoptioncode", "preferdelimiterdimensionsclassoptioncode", "autoinjectclassoptioncode", "removeitaliccorrectionclassoptioncode", "operatoritaliccorrectionclassoptioncode", "shortinlineclassoptioncode", "pushnestingclassoptioncode", "popnestingclassoptioncode", "obeynestingclassoptioncode", "noitaliccorrectionglyphoptioncode", "nozeroitaliccorrectionglyphoptioncode", "noexpansionglyphoptioncode", "noprotrusionglyphoptioncode", "noleftkernglyphoptioncode", "norightkernglyphoptioncode", "noleftligatureglyphoptioncode", "norightligatureglyphoptioncode", "textcheckitalicglyphoptioncode", "mathcheckitalicglyphoptioncode", "nokerningcode", "noligaturingcode", "noitalicscode", "indecentparpassclasses", "looseparpassclasses", "tightparpassclasses", "verylooseparpassclass", "looseparpassclass", "semilooseparpassclass", "decentparpassclass", "almostdecentparpassclasses", "semitightparpassclass", "tightparpassclass", "frozenflagcode", "tolerantflagcode", "protectedflagcode", "primitiveflagcode", "permanentflagcode", "noalignedflagcode", "immutableflagcode", "mutableflagcode", "globalflagcode", "overloadedflagcode", "immediateflagcode", "conditionalflagcode", "valueflagcode", "instanceflagcode", "ordmathflattencode", "binmathflattencode", "relmathflattencode", "punctmathflattencode", "innermathflattencode", "normalworddiscoptioncode", "preworddiscoptioncode", "postworddiscoptioncode", "preferbreakdiscoptioncode", "prefernobreakdiscoptioncode", "noitaliccorrectiondiscoptioncode", "nozeroitaliccorrectiondiscoptioncode", "textcheckitalicdiscoptioncode", "continueifinputfile", "continuewhenlmtxmode", "continuewhenmkivmode", "uunit" },
+ ["helpers"]={ "pushglobalsetups", "popglobalsetups", "startsetups", "stopsetups", "startxmlsetups", "stopxmlsetups", "startluasetups", "stopluasetups", "starttexsetups", "stoptexsetups", "startrawsetups", "stoprawsetups", "startlocalsetups", "stoplocalsetups", "starttexdefinition", "stoptexdefinition", "starttexcode", "stoptexcode", "startcontextcode", "stopcontextcode", "startcontextdefinitioncode", "stopcontextdefinitioncode", "texdefinition", "doifelsesetups", "doifsetupselse", "doifsetups", "doifnotsetups", "setup", "setups", "texsetup", "xmlsetup", "luasetup", "directsetup", "fastsetup", "copysetups", "resetsetups", "doifelsecommandhandler", "doifcommandhandlerelse", "doifnotcommandhandler", "doifcommandhandler", "newmode", "setmode", "resetmode", "newsystemmode", "setsystemmode", "resetsystemmode", "pushsystemmode", "popsystemmode", "globalsetmode", "globalresetmode", "globalsetsystemmode", "globalresetsystemmode", "booleanmodevalue", "newcount", "newdimen", "newskip", "newmuskip", "newbox", "newtoks", "newread", "newwrite", "newmarks", "newinsert", "newattribute", "newif", "newfloat", "newlanguage", "newfamily", "newfam", "newhelp", "newuserunit", "newinteger", "newdimension", "newgluespec", "newmugluespec", "newposit", "aliasinteger", "aliasdimension", "aliasposit", "then", "begcsname", "autorule", "tobit", "tobits", "tohexa", "strippedcsname", "checkedstrippedcsname", "nofarguments", "firstargumentfalse", "firstargumenttrue", "secondargumentfalse", "secondargumenttrue", "thirdargumentfalse", "thirdargumenttrue", "fourthargumentfalse", "fourthargumenttrue", "fifthargumentfalse", "fifthargumenttrue", "sixthargumentfalse", "sixthargumenttrue", "seventhargumentfalse", "seventhargumenttrue", "doglobal", "dodoglobal", "redoglobal", "resetglobal", "donothing", "untraceddonothing", "dontcomplain", "moreboxtracing", "lessboxtracing", "noboxtracing", "forgetall", "donetrue", "donefalse", "foundtrue", "foundfalse", "globaldonetrue", "globaldonefalse", "globalfoundtrue", "globalfoundfalse", "inlineordispl!
aymath", "indisplaymath", "forcedisplaymath", "startforceddisplaymath", "stopforceddisplaymath", "startpickupmath", "stoppickupmath", "reqno", "forceinlinemath", "mathortext", "thebox", "htdp", "unvoidbox", "hfilll", "vfilll", "mathbox", "mathlimop", "mathnolop", "mathnothing", "mathalpha", "currentcatcodetable", "defaultcatcodetable", "catcodetablename", "newcatcodetable", "startcatcodetable", "stopcatcodetable", "startextendcatcodetable", "stopextendcatcodetable", "pushcatcodetable", "popcatcodetable", "restorecatcodes", "setcatcodetable", "letcatcodecommand", "defcatcodecommand", "uedcatcodecommand", "hglue", "vglue", "hfillneg", "vfillneg", "hfilllneg", "vfilllneg", "hsplit", "ruledhss", "ruledhfil", "ruledhfill", "ruledhfilll", "ruledhfilneg", "ruledhfillneg", "normalhfillneg", "normalhfilllneg", "ruledvss", "ruledvfil", "ruledvfill", "ruledvfilll", "ruledvfilneg", "ruledvfillneg", "normalvfillneg", "normalvfilllneg", "ruledhbox", "ruledvbox", "ruledvtop", "ruleddbox", "ruledvcenter", "ruledmbox", "ruledhpack", "ruledvpack", "ruledtpack", "ruleddpack", "ruledvsplit", "ruledtsplit", "ruleddsplit", "ruledhskip", "ruledvskip", "ruledkern", "ruledmskip", "ruledmkern", "ruledhglue", "ruledvglue", "normalhglue", "normalvglue", "ruledpenalty", "filledhboxb", "filledhboxr", "filledhboxg", "filledhboxc", "filledhboxm", "filledhboxy", "filledhboxk", "scratchstring", "scratchstringone", "scratchstringtwo", "tempstring", "scratchcounter", "globalscratchcounter", "privatescratchcounter", "scratchfloat", "globalscratchfloat", "privatescratchfloat", "scratchdimen", "globalscratchdimen", "privatescratchdimen", "scratchskip", "globalscratchskip", "privatescratchskip", "scratchmuskip", "globalscratchmuskip", "privatescratchmuskip", "scratchtoks", "globalscratchtoks", "privatescratchtoks", "scratchbox", "globalscratchbox", "privatescratchbox", "scratchmacro", "scratchmacroone", "scratchmacrotwo", "scratchconditiontrue", "scratchconditionfalse", "ifscratchcondition", "scratchconditiononetrue", "scratchconditiononefalse", "ifsc!
ratchconditionone", "scratchconditiontwotrue", "scratchconditiontwofalse", "ifscratchconditiontwo", "globalscratchcounterone", "globalscratchcountertwo", "globalscratchcounterthree", "groupedcommand", "groupedcommandcs", "triggergroupedcommand", "triggergroupedcommandcs", "simplegroupedcommand", "simplegroupedcommandcs", "pickupgroupedcommand", "pickupgroupedcommandcs", "mathgroupedcommandcs", "usedbaselineskip", "usedlineskip", "usedlineskiplimit", "availablehsize", "localhsize", "setlocalhsize", "distributedhsize", "hsizefraction", "next", "nexttoken", "nextbox", "dowithnextbox", "dowithnextboxcs", "dowithnextboxcontent", "dowithnextboxcontentcs", "flushnextbox", "boxisempty", "boxtostring", "contentostring", "prerolltostring", "givenwidth", "givenheight", "givendepth", "scangivendimensions", "scratchwidth", "scratchheight", "scratchdepth", "scratchoffset", "scratchdistance", "scratchtotal", "scratchitalic", "scratchhsize", "scratchvsize", "scratchclass", "scratchxoffset", "scratchyoffset", "scratchhoffset", "scratchvoffset", "scratchxposition", "scratchyposition", "scratchtopoffset", "scratchbottomoffset", "scratchleftoffset", "scratchrightoffset", "scratchcounterone", "scratchcountertwo", "scratchcounterthree", "scratchcounterfour", "scratchcounterfive", "scratchcountersix", "scratchfloatone", "scratchfloattwo", "scratchfloatthree", "scratchfloatfour", "scratchfloatfive", "scratchfloatsix", "scratchdimenone", "scratchdimentwo", "scratchdimenthree", "scratchdimenfour", "scratchdimenfive", "scratchdimensix", "scratchskipone", "scratchskiptwo", "scratchskipthree", "scratchskipfour", "scratchskipfive", "scratchskipsix", "scratchmuskipone", "scratchmuskiptwo", "scratchmuskipthree", "scratchmuskipfour", "scratchmuskipfive", "scratchmuskipsix", "scratchtoksone", "scratchtokstwo", "scratchtoksthree", "scratchtoksfour", "scratchtoksfive", "scratchtokssix", "scratchboxone", "scratchboxtwo", "scratchboxthree", "scratchboxfour", "scratchboxfive", "scratchboxsix", "scratchnx", "scratchny", "scratchmx", "scratchmy", "scra!
tchunicode", "scratchunicodeone", "scratchunicodetwo", "scratchunicodethree", "scratchmin", "scratchmax", "scratchread", "scratchwrite", "pfsin", "pfcos", "pftan", "pfasin", "pfacos", "pfatan", "pfsinh", "pfcosh", "pftanh", "pfasinh", "pfacosh", "pfatanh", "pfsqrt", "pflog", "pfexp", "pfceil", "pffloor", "pfround", "pfabs", "pfrad", "pfdeg", "pfatantwo", "pfpow", "pfmod", "pfrem", "scratchleftskip", "scratchrightskip", "scratchtopskip", "scratchbottomskip", "doif", "doifnot", "doifelse", "firstinset", "doifinset", "doifnotinset", "doifelseinset", "doifinsetelse", "doifelsenextchar", "doifnextcharelse", "doifelsenextcharcs", "doifnextcharcselse", "doifelsenextoptional", "doifnextoptionalelse", "doifelsenextoptionalcs", "doifnextoptionalcselse", "doifelsefastoptionalcheck", "doiffastoptionalcheckelse", "doifelsefastoptionalcheckcs", "doiffastoptionalcheckcselse", "doifelsenextbgroup", "doifnextbgroupelse", "doifelsenextbgroupcs", "doifnextbgroupcselse", "doifelsenextparenthesis", "doifnextparenthesiselse", "doifelseundefined", "doifundefinedelse", "doifelsedefined", "doifdefinedelse", "doifundefined", "doifdefined", "doifelsevalue", "doifvalue", "doifnotvalue", "doifnothing", "doifsomething", "doifelsenothing", "doifnothingelse", "doifelsesomething", "doifsomethingelse", "doifvaluenothing", "doifvaluesomething", "doifelsevaluenothing", "doifvaluenothingelse", "doifelsedimension", "doifdimensionelse", "doifelsenumber", "doifnumberelse", "doifnumber", "doifnotnumber", "doifelsecommon", "doifcommonelse", "doifcommon", "doifnotcommon", "doifinstring", "doifnotinstring", "doifelseinstring", "doifinstringelse", "doifelseassignment", "doifassignmentelse", "docheckassignment", "doifelseassignmentcs", "doifassignmentelsecs", "validassignment", "novalidassignment", "doiftext", "doifelsetext", "doiftextelse", "doifnottext", "validtext", "quitcondition", "truecondition", "falsecondition", "tracingall", "tracingnone", "loggingall", "tracingcatcodes", "showluatokens", "aliasmacro", "removetoks", "appendtoks", "prependtoks", "ap!
pendtotoks", "prependtotoks", "to", "endgraf", "endpar", "reseteverypar", "finishpar", "empty", "null", "space", "quad", "enspace", "emspace", "charspace", "nbsp", "crlf", "obeyspaces", "obeylines", "obeytabs", "obeypages", "obeyedspace", "obeyedline", "obeyedtab", "obeyedpage", "normalspace", "naturalspace", "controlspace", "normalspaces", "ignoretabs", "ignorelines", "ignorepages", "ignoreeofs", "setcontrolspaces", "executeifdefined", "singleexpandafter", "doubleexpandafter", "tripleexpandafter", "dontleavehmode", "removelastspace", "removeunwantedspaces", "keepunwantedspaces", "removepunctuation", "ignoreparskip", "forcestrutdepth", "onlynonbreakablespace", "wait", "writestatus", "writeline", "define", "defineexpandable", "redefine", "setmeasure", "setemeasure", "setgmeasure", "setxmeasure", "definemeasure", "freezemeasure", "measure", "measured", "directmeasure", "setquantity", "setequantity", "setgquantity", "setxquantity", "definequantity", "freezequantity", "quantity", "quantitied", "directquantity", "installcorenamespace", "getvalue", "getuvalue", "setvalue", "setevalue", "setgvalue", "setxvalue", "letvalue", "letgvalue", "resetvalue", "undefinevalue", "ignorevalue", "setuvalue", "setuevalue", "setugvalue", "setuxvalue", "globallet", "udef", "ugdef", "uedef", "uxdef", "checked", "unique", "getparameters", "geteparameters", "getgparameters", "getxparameters", "forgetparameters", "copyparameters", "getdummyparameters", "dummyparameter", "directdummyparameter", "setdummyparameter", "letdummyparameter", "setexpandeddummyparameter", "resetdummyparameter", "usedummystyleandcolor", "usedummystyleparameter", "usedummycolorparameter", "processcommalist", "processcommacommand", "quitcommalist", "quitprevcommalist", "processaction", "processallactions", "processfirstactioninset", "processallactionsinset", "unexpanded", "expanded", "startexpanded", "stopexpanded", "protect", "unprotect", "firstofoneargument", "firstoftwoarguments", "secondoftwoarguments", "firstofthreearguments", "secondofthreearguments", "thirdofth!
reearguments", "firstoffourarguments", "secondoffourarguments", "thirdoffourarguments", "fourthoffourarguments", "firstoffivearguments", "secondoffivearguments", "thirdoffivearguments", "fourthoffivearguments", "fifthoffivearguments", "firstofsixarguments", "secondofsixarguments", "thirdofsixarguments", "fourthofsixarguments", "fifthofsixarguments", "sixthofsixarguments", "firstofoneunexpanded", "firstoftwounexpanded", "secondoftwounexpanded", "firstofthreeunexpanded", "secondofthreeunexpanded", "thirdofthreeunexpanded", "gobbleoneargument", "gobbletwoarguments", "gobblethreearguments", "gobblefourarguments", "gobblefivearguments", "gobblesixarguments", "gobblesevenarguments", "gobbleeightarguments", "gobbleninearguments", "gobbletenarguments", "gobbleoneoptional", "gobbletwooptionals", "gobblethreeoptionals", "gobblefouroptionals", "gobblefiveoptionals", "dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "fastloopindex", "fastloopfinal", "dowith", "doloopovermatch", "doloopovermatched", "doloopoverlist", "newconstant", "setnewconstant", "setconstant", "setconstantvalue", "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue", "setconditional", "newmacro", "setnewmacro", "newfraction", "newsignal", "newboundary", "dosingleempty", "dodoubleempty", "dotripleempty", "doquadrupleempty", "doquintupleempty", "dosixtupleempty", "doseventupleempty", "dosingleargument", "dodoubleargument", "dotripleargument", "doquadrupleargument", "doquintupleargument", "dosixtupleargument", "doseventupleargument", "dosinglegroupempty", "dodoublegroupempty", "dotriplegroupempty", "doquadruplegroupempty", "doquintuplegroupempty", "permitspacesbetweengroups", "dontpermitspacesbetweengroups", "nopdfcompression", "maximumpdfcompression", "normalpdfcompression", "onlypdfobjectcompression", "nopdfobjectcompression", "modulonumber", "dividenumber", "getfirstcharacter", "doifelsefirstchar", "doiffirstcharelse", "mathclassvalue", "startnointerference", "stopnointerference", "!
twodigits", "threedigits", "leftorright", "offinterlineskip", "oninterlineskip", "nointerlineskip", "strut", "halfstrut", "quarterstrut", "depthstrut", "halflinestrut", "noheightstrut", "setstrut", "strutbox", "strutht", "strutdp", "strutwd", "struthtdp", "strutgap", "begstrut", "endstrut", "lineheight", "leftboundary", "rightboundary", "signalcharacter", "ascender", "descender", "capheight", "aligncontentleft", "aligncontentmiddle", "aligncontentright", "shiftbox", "vpackbox", "hpackbox", "vpackedbox", "hpackedbox", "normalreqno", "startimath", "stopimath", "normalstartimath", "normalstopimath", "startdmath", "stopdmath", "normalstartdmath", "normalstopdmath", "uncramped", "cramped", "mathstyletrigger", "triggermathstyle", "triggeredmathstyle", "mathstylefont", "mathsmallstylefont", "mathstyleface", "mathsmallstyleface", "mathstylecommand", "mathpalette", "mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox", "mathtext", "setmathsmalltextbox", "setmathtextbox", "pushmathstyle", "popmathstyle", "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle", "triggeruncrampedstyle", "triggercrampedstyle", "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle", "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle", "luaexpr", "expelsedoif", "expdoif", "expdoifnot", "expdoifelsecommon", "expdoifcommonelse", "expdoifelseinset", "expdoifinsetelse", "glyphscaled", "ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport", "ctxlua", "luacode", "lateluacode", "directluacode", "registerctxluafile", "ctxloadluafile", "luaversion", "luamajorversion", "luaminorversion", "ctxluacode", "luaconditional", "luaexpanded", "ctxluamatch", "ctxluamatchfile", "startluaparameterset", "stopluaparameterset", "luaparameterset", "definenamedlua", "obeylualines", "obeyluatokens", "startluacode", "stopluacode", "startlua", "stoplua", "startctxfunction", "stopctx!
function", "ctxfunction", "startctxfunctiondefinition", "stopctxfunctiondefinition", "installctxfunction", "installprotectedctxfunction", "installprotectedctxscanner", "installctxscanner", "resetctxscanner", "cldprocessfile", "cldloadfile", "cldloadviafile", "cldcontext", "cldcommand", "carryoverpar", "freezeparagraphproperties", "defrostparagraphproperties", "setparagraphfreezing", "forgetparagraphfreezing", "updateparagraphproperties", "updateparagraphpenalties", "updateparagraphdemerits", "updateparagraphshapes", "updateparagraphlines", "updateparagraphpasses", "lastlinewidth", "assumelongusagecs", "righttolefthbox", "lefttorighthbox", "righttoleftvbox", "lefttorightvbox", "righttoleftvtop", "lefttorightvtop", "rtlhbox", "ltrhbox", "rtlvbox", "ltrvbox", "rtlvtop", "ltrvtop", "autodirhbox", "autodirvbox", "autodirvtop", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "lefttoright", "righttoleft", "checkedlefttoright", "checkedrighttoleft", "synchronizelayoutdirection", "synchronizedisplaydirection", "synchronizeinlinedirection", "dirlre", "dirrle", "dirlro", "dirrlo", "rtltext", "ltrtext", "lesshyphens", "morehyphens", "nohyphens", "dohyphens", "dohyphencollapsing", "nohyphencollapsing", "compounddiscretionary", "Ucheckedstartdisplaymath", "Ucheckedstopdisplaymath", "break", "nobreak", "allowbreak", "goodbreak", "nospace", "nospacing", "dospacing", "naturalhbox", "naturalvbox", "naturalvtop", "naturalhpack", "naturalvpack", "naturaltpack", "reversehbox", "reversevbox", "reversevtop", "reversehpack", "reversevpack", "reversetpack", "hcontainer", "vcontainer", "tcontainer", "frule", "compoundhyphenpenalty", "start", "stop", "unsupportedcs", "openout", "closeout", "write", "openin", "closein", "read", "readline", "readlinedirect", "readfromterminal", "boxlines", "boxline", "setboxline", "copyboxline", "boxlinewd", "boxlineht", "boxlinedp", "boxlinenw", "boxlinenh", "boxlinend", "boxlinels", "boxliners", "boxlinelh", "boxlinerh", "boxlinelp", "boxlinerp", "boxlinein", "boxrangewd", "boxrangeht", "boxrange!
dp", "bitwiseset", "bitwiseand", "bitwiseor", "bitwisexor", "bitwisenot", "bitwisenil", "ifbitwiseand", "bitwise", "bitwiseshift", "bitwiseflip", "textdir", "linedir", "pardir", "boxdir", "prelistbox", "postlistbox", "prelistcopy", "postlistcopy", "setprelistbox", "setpostlistbox", "noligaturing", "nokerning", "noexpansion", "noprotrusion", "noleftkerning", "noleftligaturing", "norightkerning", "norightligaturing", "noitaliccorrection", "futureletnexttoken", "defbackslashbreak", "letbackslashbreak", "pushoverloadmode", "popoverloadmode", "pushrunstate", "poprunstate", "suggestedalias", "showboxhere", "discoptioncodestring", "flagcodestring", "frozenparcodestring", "glyphoptioncodestring", "groupcodestring", "hyphenationcodestring", "mathcontrolcodestring", "mathflattencodestring", "normalizecodestring", "parcontextcodestring", "newlocalcount", "newlocaldimen", "newlocalskip", "newlocalmuskip", "newlocaltoks", "newlocalbox", "newlocalwrite", "newlocalread", "setnewlocalcount", "setnewlocaldimen", "setnewlocalskip", "setnewlocalmuskip", "setnewlocaltoks", "setnewlocalbox", "ifexpression", "localcontrolledrepeating", "expandedrepeating", "unexpandedrepeating", "lastchkinteger", "ifchkinteger", "mathordinary", "mathoperator", "mathbinary", "mathrelation", "mathpunctuation", "mathfraction", "mathradical", "mathmiddle", "mathaccent", "mathfenced", "mathghost", "mathvariable", "mathactive", "mathvcenter", "mathimaginary", "mathdifferential", "mathexponential", "mathdigit", "mathdivision", "mathfactorial", "mathwrapped", "mathconstruct", "mathdimension", "mathunary", "mathchemicalbond", "mathimplication", "filebasename", "filenameonly", "filedirname", "filesuffix", "setmathoption", "resetmathoption", "Ustack", "Umathdict", "Umathclass", "Ustyle", "Uchar", "Usuperscript", "Usubscript", "Unosuperscript", "Unosubscript", "Uprimescript", "Usuperprescript", "Usubprescript", "Unosuperprescript", "Unosubprescript", "ignorefile", "boxwidth", "boxheight", "boxdepth" },
}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-interfaces.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
return {
- ["common"]={ "AEacute", "AEligature", "AEmacron", "AMSTEX", "Aacute", "Abreve", "Abreveacute", "Abrevedotbelow", "Abrevegrave", "Abrevehook", "Abrevetilde", "Acaron", "Acircumflex", "Acircumflexacute", "Acircumflexdotbelow", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "Adiaeresis", "Adiaeresismacron", "Adotaccent", "Adotaccentmacron", "Adotbelow", "Adoublegrave", "AfterPar", "Agrave", "Ahook", "Ainvertedbreve", "Alpha", "Alphabeticnumerals", "AmSTeX", "Amacron", "And", "Angstrom", "Aogonek", "Aring", "Aringacute", "Arrowvert", "Astroke", "Atilde", "BeforePar", "Beta", "Bhook", "Big", "Bigg", "Biggl", "Biggm", "Biggr", "Bigl", "Bigm", "Bigr", "Box", "Bumpeq", "CONTEXT", "Cacute", "Cap", "Caps", "Ccaron", "Ccedilla", "Ccircumflex", "Cdotaccent", "Character", "Characters", "Chi", "Chook", "ConTeXt", "Context", "ConvertConstantAfter", "ConvertToConstant", "Cstroke", "Cup", "DAYLONG", "DAYSHORT", "DZcaronligature", "DZligature", "Dafrican", "Dcaron", "Dd", "Ddownarrow", "Delta", "Dhook", "Doteq", "Downarrow", "Dstroke", "Dzcaronligature", "Dzligature", "ETEX", "Eacute", "Ebreve", "Ecaron", "Ecedilla", "Ecircumflex", "Ecircumflexacute", "Ecircumflexdotbelow", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "Ediaeresis", "Edotaccent", "Edotbelow", "Edoublegrave", "Egrave", "Ehook", "Einvertedbreve", "Emacron", "Eogonek", "Epsilon", "Eta", "Eth", "Etilde", "Eulerconst", "EveryLine", "EveryPar", "Fhook", "Finv", "Gacute", "Game", "Gamma", "Gbreve", "Gcaron", "Gcircumflex", "Gcommaaccent", "Gdotaccent", "GetPar", "Ghook", "GotoPar", "Greeknumerals", "Gstroke", "Hcaron", "Hcircumflex", "Hstroke", "IJligature", "INRSTEX", "Iacute", "Ibreve", "Icaron", "Icircumflex", "Idiaeresis", "Idotaccent", "Idotbelow", "Idoublegrave", "Igrave", "Ihook", "Iinvertedbreve", "Im", "Imacron", "Iogonek", "Iota", "Istroke", "Itilde", "Jcircumflex", "Join", "Kappa", "Kcaron", "Kcommaaccent", "Khook", "LAMSTEX", "LATEX", "LJligature", "LUAJITTEX", "LUAMETATEX", "LUATEX", "LaTeX", "Lacute", "LamSTeX", "Lambda",!
"Lbar", "Lcaron", "Lcommaaccent", "Ldotmiddle", "Ldsh", "Leftarrow", "Leftrightarrow", "Ljligature", "Lleftarrow", "Longleftarrow", "Longleftrightarrow", "Longmapsfrom", "Longmapsto", "Longrightarrow", "Lsh", "Lstroke", "Lua", "LuaMetaTeX", "LuaTeX", "LuajitTeX", "METAFONT", "METAFUN", "METAPOST", "MKII", "MKIV", "MKIX", "MKLX", "MKVI", "MKXI", "MKXL", "MONTH", "MONTHLONG", "MONTHSHORT", "MPII", "MPIV", "MPLX", "MPVI", "MPXL", "MPanchor", "MPbetex", "MPc", "MPcode", "MPcolor", "MPcoloronly", "MPcolumn", "MPd", "MPdrawing", "MPfontsizehskip", "MPgetmultipars", "MPgetmultishape", "MPgetposboxes", "MPh", "MPinclusions", "MPleftskip", "MPll", "MPlr", "MPls", "MPmenubuttons", "MPn", "MPoptions", "MPoverlayanchor", "MPp", "MPpage", "MPpardata", "MPplus", "MPpos", "MPpositiongraphic", "MPposset", "MPr", "MPrawvar", "MPregion", "MPrest", "MPrightskip", "MPrs", "MPstring", "MPtext", "MPtransparency", "MPul", "MPur", "MPv", "MPvar", "MPvariable", "MPvv", "MPw", "MPwhd", "MPx", "MPxy", "MPxywhd", "MPy", "Mapsfrom", "Mapsto", "MetaFont", "MetaFun", "MetaPost", "Mu", "NJligature", "Nacute", "Ncaron", "Ncommaaccent", "Nearrow", "Neng", "Ngrave", "Njligature", "NormalizeFontHeight", "NormalizeFontWidth", "NormalizeTextHeight", "NormalizeTextWidth", "Ntilde", "Nu", "Numbers", "Nwarrow", "OEligature", "Oacute", "Obreve", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexdotbelow", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odiaeresismacron", "Odotaccent", "Odotaccentmacron", "Odotbelow", "Odoublegrave", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohorndotbelow", "Ohorngrave", "Ohornhook", "Ohorntilde", "Ohungarumlaut", "Oinvertedbreve", "Omacron", "Omega", "Omicron", "Oogonek", "Oogonekmacron", "Ostroke", "Ostrokeacute", "Otilde", "Otildemacron", "P", "PDFETEX", "PDFTEX", "PDFcolor", "PICTEX", "PPCHTEX", "PPCHTeX", "PRAGMA", "Phi", "Phook", "Pi", "PiCTeX", "Plankconst", "PointsToBigPoints", "PointsToReal", "PointsToWholeBigPoints", "PropertyLine", "Psi", "PtToCm", "Racute", "Rcaron", "Rcomma!
accent", "Rdoublegrave", "Rdsh", "Re", "ReadFile", "Relbar", "Rho", "Rightarrow", "Rinvertedbreve", "Romannumerals", "Rrightarrow", "Rsh", "S", "Sacute", "ScaledPointsToBigPoints", "ScaledPointsToWholeBigPoints", "Scaron", "Scedilla", "Schwa", "Scircumflex", "Scommaaccent", "Searrow", "Sigma", "Smallcapped", "Subset", "Supset", "Swarrow", "TABLE", "TEX", "TaBlE", "Tau", "Tcaron", "Tcedilla", "Tcommaaccent", "TeX", "TheNormalizedFontSize", "Theta", "Thook", "Thorn", "TransparencyHack", "Tstroke", "Uacute", "Ubreve", "Ucaron", "Ucircumflex", "Udiaeresis", "Udiaeresisacute", "Udiaeresiscaron", "Udiaeresisgrave", "Udiaeresismacron", "Udotbelow", "Udoublegrave", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhorndotbelow", "Uhorngrave", "Uhornhook", "Uhorntilde", "Uhungarumlaut", "Uinvertedbreve", "Umacron", "Uogonek", "Uparrow", "Updownarrow", "Upsilon", "Uring", "Utilde", "Uuparrow", "VDash", "Vdash", "VerboseNumber", "Vert", "Vhook", "Vvdash", "WEEKDAY", "WORD", "WORDS", "Wcircumflex", "WidthSpanningText", "Word", "Words", "XETEX", "XeTeX", "Xi", "Yacute", "Ycircumflex", "Ydiaeresis", "Ydotbelow", "Ygrave", "Yhook", "Ymacron", "Ytilde", "Zacute", "Zcaron", "Zdotaccent", "Zeta", "Zhook", "Zstroke", "aacute", "abbreviation", "abjadnaivenumerals", "abjadnodotnumerals", "abjadnumerals", "about", "abreve", "abreveacute", "abrevedotbelow", "abrevegrave", "abrevehook", "abrevetilde", "acaron", "acircumflex", "acircumflexacute", "acircumflexdotbelow", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "activatespacehandler", "actualday", "actualmonth", "actualyear", "actuarial", "acute", "acwopencirclearrow", "adaptcollector", "adaptfontfeature", "adaptlayout", "adaptpapersize", "addfeature", "addtoJSpreamble", "addtocommalist", "addvalue", "adiaeresis", "adiaeresismacron", "adotaccent", "adotaccentmacron", "adotbelow", "adoublegrave", "aeacute", "aeligature", "aemacron", "afghanicurrency", "aftersplitstring", "aftertestandsplitstring", "agrave", "ahook", "ainvertedbreve", "aleph", "alignbottom", "aligned", "alignedb!
ox", "alignedline", "alignhere", "alignmentcharacter", "allinputpaths", "alpha", "alphabeticnumerals", "alwayscitation", "alwayscite", "amacron", "amalg", "ampersand", "anchor", "angle", "aogonek", "appendetoks", "appendgvalue", "appendtocommalist", "appendtoks", "appendtoksonce", "appendvalue", "apply", "applyalternativestyle", "applyfunction", "applyprocessor", "applytocharacters", "applytofirstcharacter", "applytosplitstringchar", "applytosplitstringcharspaced", "applytosplitstringline", "applytosplitstringlinespaced", "applytosplitstringword", "applytosplitstringwordspaced", "applytowords", "approx", "approxEq", "approxeq", "approxnEq", "arabicakbar", "arabicalayhe", "arabicallah", "arabicallallahou", "arabicasterisk", "arabicbasmalah", "arabiccomma", "arabiccuberoot", "arabicdateseparator", "arabicdecimals", "arabicdisputedendofayah", "arabicendofayah", "arabicexnumerals", "arabicfootnotemarker", "arabicfourthroot", "arabichighain", "arabichighalayheassallam", "arabichigheqala", "arabichighesala", "arabichighfootnotemarker", "arabichighjeem", "arabichighlamalef", "arabichighmadda", "arabichighmeemlong", "arabichighmeemshort", "arabichighnisf", "arabichighnoon", "arabichighnoonkasra", "arabichighqaf", "arabichighqif", "arabichighradiallahouanhu", "arabichighrahmatullahalayhe", "arabichighrubc", "arabichighsad", "arabichighsajda", "arabichighsakta", "arabichighsallallahou", "arabichighseen", "arabichighsmallsafha", "arabichightah", "arabichightakhallus", "arabichighthalatha", "arabichighwaqf", "arabichighyeh", "arabichighzain", "arabicjallajalalouhou", "arabiclettermark", "arabiclowmeemlong", "arabiclownoonkasra", "arabiclowseen", "arabicmisra", "arabicmuhammad", "arabicnumber", "arabicnumberabove", "arabicnumerals", "arabicparenleft", "arabicparenright", "arabicpercent", "arabicperiod", "arabicpermille", "arabicpertenthousand", "arabicpoeticverse", "arabicqala", "arabicquestion", "arabicrasoul", "arabicray", "arabicrialsign", "arabicsafha", "arabicsajdah", "arabicsalla", "arabicsamvat", "arabicsanah", "arabi!
csemicolon", "arabicshighthreedots", "arabicslcm", "arabicstartofrubc", "arabictripledot", "arabicvowelwaw", "arabicvowelyeh", "arabicwasallam", "arg", "aring", "aringacute", "asciimode", "asciistr", "aside", "assignalfadimension", "assigndimen", "assigndimension", "assignifempty", "assigntranslation", "assignvalue", "assignwidth", "assumelongusagecs", "ast", "astype", "asymp", "at", "atilde", "atleftmargin", "atpage", "atrightmargin", "attachment", "autocap", "autodirhbox", "autodirvbox", "autodirvtop", "autoinsertnextspace", "autointegral", "automathematics", "autoorientation", "autopagestaterealpage", "autopagestaterealpageorder", "autorule", "autosetups", "availablehsize", "averagecharwidth", "backepsilon", "background", "backgroundimage", "backgroundimagefill", "backgroundline", "backprime", "backsim", "backslash", "bar", "barleftarrow", "barleftarrowrightarrowbar", "barovernorthwestarrow", "barwedge", "basegrid", "baselinebottom", "baselineleftbox", "baselinemiddlebox", "baselinerightbox", "bbordermatrix", "bbox", "because", "beforesplitstring", "beforetestandsplitstring", "beta", "beth", "between", "bhook", "big", "bigbodyfont", "bigcap", "bigcirc", "bigcircle", "bigcup", "bigdiamond", "bigg", "bigger", "biggl", "biggm", "biggr", "bigl", "bigm", "bigodot", "bigoplus", "bigotimes", "bigr", "bigskip", "bigsqcap", "bigsqcup", "bigsquare", "bigstar", "bigtimes", "bigtriangledown", "bigtriangleup", "bigudot", "biguplus", "bigvee", "bigwedge", "binom", "bitmapimage", "blacklozenge", "blackrule", "blackrules", "blacksquare", "blacktriangle", "blacktriangledown", "blacktriangleleft", "blacktriangleright", "blank", "blap", "bleed", "bleedheight", "bleedwidth", "blockligatures", "blockquote", "blocksynctexfile", "blockuservariable", "bodyfontenvironmentlist", "bodyfontsize", "bold", "boldface", "bolditalic", "boldslanted", "bookmark", "booleanmodevalue", "bordermatrix", "bot", "bottombox", "bottomleftbox", "bottomrightbox", "bowtie", "boxcursor", "boxdot", "boxmarker", "boxminus", "boxofsize", "boxplus", "boxrefere!
nce", "boxtimes", "bpos", "breakablethinspace", "breakhere", "breve", "bstroke", "btxabbreviatedjournal", "btxaddjournal", "btxalwayscitation", "btxauthorfield", "btxdetail", "btxdirect", "btxdoif", "btxdoifcombiinlistelse", "btxdoifelse", "btxdoifelsecombiinlist", "btxdoifelsesameasprevious", "btxdoifelsesameaspreviouschecked", "btxdoifelseuservariable", "btxdoifnot", "btxdoifsameaspreviouscheckedelse", "btxdoifsameaspreviouselse", "btxdoifuservariableelse", "btxexpandedjournal", "btxfield", "btxfieldname", "btxfieldtype", "btxfirstofrange", "btxflush", "btxflushauthor", "btxflushauthorinverted", "btxflushauthorinvertedshort", "btxflushauthorname", "btxflushauthornormal", "btxflushauthornormalshort", "btxflushsuffix", "btxfoundname", "btxfoundtype", "btxhiddencitation", "btxhybridcite", "btxlabellanguage", "btxlabeltext", "btxlistcitation", "btxloadjournalist", "btxoneorrange", "btxremapauthor", "btxsavejournalist", "btxsetup", "btxsingularorplural", "btxsingularplural", "btxtextcitation", "buildmathaccent", "buildtextaccent", "buildtextbottomcomma", "buildtextbottomdot", "buildtextcedilla", "buildtextgrave", "buildtextmacron", "buildtextognek", "bullet", "button", "cacute", "calligraphic", "camel", "cap", "capital", "carriagereturn", "catcodetablename", "cbox", "ccaron", "ccedilla", "ccircumflex", "ccurl", "cdot", "cdotaccent", "cdotp", "cdots", "centeraligned", "centerbox", "centerdot", "centeredbox", "centeredlastline", "centerednextbox", "centerline", "cfrac", "chapter", "character", "characters", "chardescription", "charwidthlanguage", "check", "checkcharacteralign", "checkedblank", "checkedchar", "checkedfiller", "checkedstrippedcsname", "checkinjector", "checkmark", "checknextindentation", "checknextinjector", "checkpage", "checkparameters", "checkpreviousinjector", "checksoundtrack", "checktwopassdata", "checkvariables", "chem", "chemical", "chemicalbottext", "chemicalmidtext", "chemicalsymbol", "chemicaltext", "chemicaltoptext", "chi", "chineseallnumerals", "chinesecapnumerals", "chinesenumerals", "cho!
ok", "circ", "circeq", "circlearrowleft", "circlearrowright", "circledR", "circledS", "circledast", "circledcirc", "circleddash", "circledequals", "circleonrightarrow", "citation", "cite", "clap", "classfont", "cldcommand", "cldcontext", "cldloadfile", "cldprocessfile", "cleftarrow", "clip", "clippedoverlayimage", "clonefield", "clubsuit", "collect", "collectedtext", "collectexpanded", "colon", "coloncolonequals", "colonequals", "color", "colorbar", "colorcomponents", "colored", "coloronly", "colorvalue", "column", "columnbreak", "columnsetspanwidth", "combinepages", "commalistelement", "commalistsentence", "commalistsize", "comment", "comparecolorgroup", "comparedimension", "comparedimensioneps", "comparepalet", "complement", "completebtxrendering", "completecontent", "completeindex", "completelist", "completelistofabbreviations", "completelistofchemicals", "completelistoffigures", "completelistofgraphics", "completelistofintermezzi", "completelistoflogos", "completelistofpublications", "completelistofsorts", "completelistofsynonyms", "completelistoftables", "completepagenumber", "completeregister", "complexes", "complexorsimple", "complexorsimpleempty", "component", "composedcollector", "composedlayer", "compounddiscretionary", "compresult", "cong", "constantdimen", "constantdimenargument", "constantemptyargument", "constantnumber", "constantnumberargument", "contentreference", "continuednumber", "continueifinputfile", "convertargument", "convertcommand", "convertedcounter", "converteddimen", "convertedsubcounter", "convertmonth", "convertnumber", "convertvalue", "convertvboxtohbox", "coprod", "copyboxfromcache", "copybtxlabeltext", "copyfield", "copyheadtext", "copylabeltext", "copymathlabeltext", "copyoperatortext", "copypages", "copyparameters", "copyposition", "copyprefixtext", "copyright", "copysetups", "copysuffixtext", "copytaglabeltext", "copyunittext", "correctwhitespace", "countersubs", "counttoken", "counttokens", "cramped", "crampedclap", "crampedllap", "crampedrlap", "crightarrow", "crightoverleft!
arrow", "crlf", "crlfplaceholder", "cstroke", "ctop", "ctxcommand", "ctxdirectcommand", "ctxdirectlua", "ctxfunction", "ctxlatecommand", "ctxlatelua", "ctxloadluafile", "ctxlua", "ctxluabuffer", "ctxluacode", "ctxreport", "ctxsprint", "cup", "curlyeqprec", "curlyeqsucc", "curlyvee", "curlywedge", "currentassignmentlistkey", "currentassignmentlistvalue", "currentbtxuservariable", "currentcommalistitem", "currentcomponent", "currentdate", "currentenvironment", "currentfeaturetest", "currentheadnumber", "currentinterface", "currentlanguage", "currentlistentrydestinationattribute", "currentlistentrylimitedtext", "currentlistentrynumber", "currentlistentrypagenumber", "currentlistentryreferenceattribute", "currentlistentrytitle", "currentlistentrytitlerendered", "currentlistsymbol", "currentmainlanguage", "currentmessagetext", "currentmoduleparameter", "currentoutputstream", "currentproduct", "currentproject", "currentregime", "currentregisterpageuserdata", "currentresponses", "currenttime", "currentvalue", "currentxtablecolumn", "currentxtablerow", "curvearrowleft", "curvearrowright", "cwopencirclearrow", "cyrillicA", "cyrillicAE", "cyrillicAbreve", "cyrillicAdiaeresis", "cyrillicB", "cyrillicBIGYUS", "cyrillicBIGYUSiotified", "cyrillicC", "cyrillicCH", "cyrillicCHEDC", "cyrillicCHEDCabkhasian", "cyrillicCHEabkhasian", "cyrillicCHEdiaeresis", "cyrillicCHEkhakassian", "cyrillicCHEvertstroke", "cyrillicD", "cyrillicDASIAPNEUMATA", "cyrillicDJE", "cyrillicDZE", "cyrillicDZEabkhasian", "cyrillicDZHE", "cyrillicE", "cyrillicELtail", "cyrillicEMtail", "cyrillicENDC", "cyrillicENGHE", "cyrillicENhook", "cyrillicENtail", "cyrillicEREV", "cyrillicERY", "cyrillicERtick", "cyrillicEbreve", "cyrillicEdiaeresis", "cyrillicEgrave", "cyrillicEiotified", "cyrillicF", "cyrillicFITA", "cyrillicG", "cyrillicGHEmidhook", "cyrillicGHEstroke", "cyrillicGHEupturn", "cyrillicGJE", "cyrillicH", "cyrillicHA", "cyrillicHADC", "cyrillicHRDSN", "cyrillicI", "cyrillicIE", "cyrillicII", "cyrillicISHRT", "cyrillicISHRTtail", "cyrillicIZHITSA", "cy!
rillicIZHITSAdoublegrave", "cyrillicIdiaeresis", "cyrillicIgrave", "cyrillicImacron", "cyrillicJE", "cyrillicK", "cyrillicKADC", "cyrillicKAbashkir", "cyrillicKAhook", "cyrillicKAstroke", "cyrillicKAvertstroke", "cyrillicKJE", "cyrillicKOPPA", "cyrillicKSI", "cyrillicL", "cyrillicLITTLEYUS", "cyrillicLITTLEYUSiotified", "cyrillicLJE", "cyrillicM", "cyrillicN", "cyrillicNJE", "cyrillicO", "cyrillicOMEGA", "cyrillicOMEGAround", "cyrillicOMEGAtitlo", "cyrillicOT", "cyrillicObarred", "cyrillicObarreddiaeresis", "cyrillicOdiaeresis", "cyrillicP", "cyrillicPALATALIZATION", "cyrillicPALOCHKA", "cyrillicPEmidhook", "cyrillicPSI", "cyrillicPSILIPNEUMATA", "cyrillicR", "cyrillicS", "cyrillicSCHWA", "cyrillicSCHWAdiaeresis", "cyrillicSDSC", "cyrillicSEMISOFT", "cyrillicSFTSN", "cyrillicSH", "cyrillicSHCH", "cyrillicSHHA", "cyrillicT", "cyrillicTEDC", "cyrillicTETSE", "cyrillicTITLO", "cyrillicTSHE", "cyrillicU", "cyrillicUK", "cyrillicUSHRT", "cyrillicUdiaeresis", "cyrillicUdoubleacute", "cyrillicUmacron", "cyrillicV", "cyrillicYA", "cyrillicYAT", "cyrillicYERUdiaeresis", "cyrillicYI", "cyrillicYO", "cyrillicYU", "cyrillicYstr", "cyrillicYstrstroke", "cyrillicZ", "cyrillicZDSC", "cyrillicZEdiaeresis", "cyrillicZH", "cyrillicZHEbreve", "cyrillicZHEdescender", "cyrillicZHEdiaeresis", "cyrillica", "cyrillicabreve", "cyrillicadiaeresis", "cyrillicae", "cyrillicb", "cyrillicbigyus", "cyrillicbigyusiotified", "cyrillicc", "cyrillicch", "cyrilliccheabkhasian", "cyrillicchedc", "cyrillicchedcabkhasian", "cyrillicchediaeresis", "cyrillicchekhakassian", "cyrillicchevertstroke", "cyrillicd", "cyrillicdje", "cyrillicdze", "cyrillicdzeabkhasian", "cyrillicdzhe", "cyrillice", "cyrillicebreve", "cyrillicediaeresis", "cyrillicegrave", "cyrilliceiotified", "cyrilliceltail", "cyrillicemtail", "cyrillicendc", "cyrillicenghe", "cyrillicenhook", "cyrillicentail", "cyrillicerev", "cyrillicertick", "cyrillicery", "cyrillicf", "cyrillicfita", "cyrillicg", "cyrillicghemidhook", "cyrillicghestroke", "cyrillicgheupturn", "cyrillicgje", "cyrillich", !
"cyrillicha", "cyrillichadc", "cyrillichrdsn", "cyrillici", "cyrillicidiaeresis", "cyrillicie", "cyrillicigrave", "cyrillicii", "cyrillicimacron", "cyrillicishrt", "cyrillicishrttail", "cyrillicizhitsa", "cyrillicizhitsadoublegrave", "cyrillicje", "cyrillick", "cyrillickabashkir", "cyrillickadc", "cyrillickahook", "cyrillickastroke", "cyrillickavertstroke", "cyrillickje", "cyrillickoppa", "cyrillicksi", "cyrillicl", "cyrilliclittleyus", "cyrilliclittleyusiotified", "cyrilliclje", "cyrillicm", "cyrillicn", "cyrillicnje", "cyrillico", "cyrillicobarred", "cyrillicobarreddiaeresis", "cyrillicodiaeresis", "cyrillicomega", "cyrillicomegaround", "cyrillicomegatitlo", "cyrillicot", "cyrillicp", "cyrillicpemidhook", "cyrillicpsi", "cyrillicr", "cyrillics", "cyrillicschwa", "cyrillicschwadiaeresis", "cyrillicsdsc", "cyrillicsemisoft", "cyrillicsftsn", "cyrillicsh", "cyrillicshch", "cyrillicshha", "cyrillict", "cyrillictedc", "cyrillictetse", "cyrillictshe", "cyrillicu", "cyrillicudiaeresis", "cyrillicudoubleacute", "cyrillicuk", "cyrillicumacron", "cyrillicushrt", "cyrillicv", "cyrillicya", "cyrillicyat", "cyrillicyerudiaeresis", "cyrillicyi", "cyrillicyo", "cyrillicystr", "cyrillicystrstroke", "cyrillicyu", "cyrillicz", "cyrilliczdsc", "cyrilliczediaeresis", "cyrilliczh", "cyrilliczhebreve", "cyrilliczhedescender", "cyrilliczhediaeresis", "d", "dag", "dagger", "daleth", "dasharrow", "dashedleftarrow", "dashedrightarrow", "dashv", "datasetvariable", "date", "daylong", "dayoftheweek", "dayshort", "dayspermonth", "dbinom", "dcaron", "dcurl", "dd", "ddag", "ddagger", "dddot", "ddot", "ddots", "decrement", "decrementcounter", "decrementedcounter", "decrementpagenumber", "decrementsubpagenumber", "decrementvalue", "defaultinterface", "defaultobjectpage", "defaultobjectreference", "defcatcodecommand", "defconvertedargument", "defconvertedcommand", "defconvertedvalue", "define", "defineMPinstance", "defineTABLEsetup", "defineaccent", "defineactivecharacter", "definealternativestyle", "defineanchor", "defineattachment", "defineat!
tribute", "definebackground", "definebar", "defineblock", "definebodyfont", "definebodyfontenvironment", "definebodyfontswitch", "definebreakpoint", "definebreakpoints", "definebtx", "definebtxdataset", "definebtxregister", "definebtxrendering", "definebuffer", "definebutton", "definecapitals", "definecharacter", "definecharacterkerning", "definecharacterspacing", "definechemical", "definechemicals", "definechemicalsymbol", "definecollector", "definecolor", "definecolorgroup", "definecolumnbreak", "definecolumnset", "definecolumnsetarea", "definecolumnsetspan", "definecombination", "definecombinedlist", "definecommand", "definecomment", "definecomplexorsimple", "definecomplexorsimpleempty", "defineconversion", "defineconversionset", "definecounter", "definedataset", "definedate", "definedelimitedtext", "definedeq", "definedescription", "definedfont", "definedocument", "defineeffect", "defineenumeration", "defineexpandable", "defineexpansion", "defineexternalfigure", "definefacingfloat", "definefallbackfamily", "definefield", "definefieldbody", "definefieldbodyset", "definefieldcategory", "definefieldstack", "definefiguresymbol", "definefileconstant", "definefilefallback", "definefilesynonym", "definefiller", "definefirstline", "definefittingpage", "definefloat", "definefont", "definefontalternative", "definefontfallback", "definefontfamily", "definefontfamilypreset", "definefontfeature", "definefontfile", "definefontsize", "definefontsolution", "definefontstyle", "definefontsynonym", "defineformula", "defineformulaalternative", "defineformulaframed", "defineframed", "defineframedcontent", "defineframedtable", "defineframedtext", "definefrozenfont", "defineglobalcolor", "definegraphictypesynonym", "definegridsnapping", "definehbox", "definehead", "defineheadalternative", "definehelp", "definehigh", "definehighlight", "definehspace", "definehyphenationfeatures", "defineindentedtext", "defineindenting", "defineinitial", "defineinsertion", "defineinteraction", "defineinteractionbar", "defineinteractionmenu", "define!
interfaceconstant", "defineinterfaceelement", "defineinterfacevariable", "defineinterlinespace", "defineintermediatecolor", "defineitemgroup", "defineitems", "definelabel", "definelabelclass", "definelayer", "definelayerpreset", "definelayout", "definelinefiller", "definelinenote", "definelinenumbering", "definelines", "definelist", "definelistalternative", "definelistextra", "definelow", "definelowhigh", "definelowmidhigh", "definemakeup", "definemarginblock", "definemargindata", "definemarker", "definemarking", "definemathaccent", "definemathalignment", "definemathcases", "definemathcommand", "definemathdouble", "definemathdoubleextensible", "definemathematics", "definemathextensible", "definemathfence", "definemathfraction", "definemathframed", "definemathmatrix", "definemathornament", "definemathover", "definemathoverextensible", "definemathovertextextensible", "definemathradical", "definemathstackers", "definemathstyle", "definemathtriplet", "definemathunder", "definemathunderextensible", "definemathundertextextensible", "definemathunstacked", "definemeasure", "definemessageconstant", "definemixedcolumns", "definemode", "definemulticolumns", "definemultitonecolor", "definenamedcolor", "definenamespace", "definenarrower", "definenote", "defineorientation", "defineornament", "defineoutputroutine", "defineoutputroutinecommand", "defineoverlay", "definepage", "definepagebreak", "definepagechecker", "definepagecolumns", "definepageinjection", "definepageinjectionalternative", "definepageshift", "definepagestate", "definepairedbox", "definepalet", "definepapersize", "defineparagraph", "defineparagraphs", "defineparallel", "defineparbuilder", "defineperiodkerning", "defineplaceholder", "defineplacement", "definepositioning", "defineprefixset", "defineprocesscolor", "defineprocessor", "defineprofile", "defineprogram", "definepushbutton", "definepushsymbol", "definereference", "definereferenceformat", "defineregister", "definerenderingwindow", "defineresetset", "defineruby", "definescale", "definescript", "definesec!
tion", "definesectionblock", "definesectionlevels", "defineselector", "defineseparatorset", "defineshift", "definesidebar", "definesort", "definesorting", "definespotcolor", "definestartstop", "definestyle", "definestyleinstance", "definesubfield", "definesubformula", "definesymbol", "definesynonym", "definesynonyms", "definesystemattribute", "definesystemconstant", "definesystemvariable", "definetabletemplate", "definetabulate", "definetext", "definetextbackground", "definetextflow", "definetextnote", "definetokenlist", "definetooltip", "definetransparency", "definetwopasslist", "definetype", "definetypeface", "definetypescriptprefix", "definetypescriptsynonym", "definetypesetting", "definetyping", "defineunit", "defineuserdata", "defineuserdataalternative", "defineviewerlayer", "definevspace", "definevspacing", "definevspacingamount", "definextable", "defrostparagraphproperties", "delimited", "delimitedtext", "delta", "depthofstring", "depthonlybox", "depthspanningtext", "depthstrut", "determineheadnumber", "determinelistcharacteristics", "determinenoflines", "determineregistercharacteristics", "devanagarinumerals", "dfrac", "dhook", "diameter", "diamond", "diamondsuit", "differentialD", "differentiald", "digamma", "digits", "dimensiontocount", "directboxfromcache", "directcolor", "directcolored", "directconvertedcounter", "directcopyboxfromcache", "directdummyparameter", "directgetboxllx", "directgetboxlly", "directhighlight", "directlocalframed", "directluacode", "directparwrapper", "directselect", "directsetbar", "directsetup", "directsymbol", "directvspacing", "dis", "disabledirectives", "disableexperiments", "disablemode", "disableoutputstream", "disableparpositions", "disableregime", "disabletrackers", "displaymath", "displaymathematics", "displaymessage", "disposeluatable", "distributedhsize", "div", "dividedsize", "divideontimes", "divides", "doadaptleftskip", "doadaptrightskip", "doaddfeature", "doassign", "doassignempty", "doboundtext", "docheckassignment", "docheckedpair", "documentvariable", "dodou!
bleargument", "dodoubleargumentwithset", "dodoubleempty", "dodoubleemptywithset", "dodoublegroupempty", "doeassign", "doexpandedrecurse", "dofastloopcs", "dogetattribute", "dogetattributeid", "dogetcommacommandelement", "dogobbledoubleempty", "dogobblesingleempty", "dohyphens", "doif", "doifMPgraphicelse", "doifallcommon", "doifallcommonelse", "doifalldefinedelse", "doifallmodes", "doifallmodeselse", "doifassignmentelse", "doifassignmentelsecs", "doifblackelse", "doifbothsides", "doifbothsidesoverruled", "doifboxelse", "doifbufferelse", "doifcheckedpagestate", "doifcolor", "doifcolorelse", "doifcommandhandler", "doifcommandhandlerelse", "doifcommon", "doifcommonelse", "doifcontent", "doifconversiondefinedelse", "doifconversionnumberelse", "doifcounter", "doifcounterelse", "doifcurrentfonthasfeatureelse", "doifdefined", "doifdefinedcounter", "doifdefinedcounterelse", "doifdefinedelse", "doifdimensionelse", "doifdimenstringelse", "doifdocumentargument", "doifdocumentargumentelse", "doifdocumentfilename", "doifdocumentfilenameelse", "doifdocumentvariable", "doifdocumentvariableelse", "doifdrawingblackelse", "doifelse", "doifelseMPgraphic", "doifelseallcommon", "doifelsealldefined", "doifelseallmodes", "doifelseassignment", "doifelseassignmentcs", "doifelseblack", "doifelsebox", "doifelseboxincache", "doifelsebuffer", "doifelsecolor", "doifelsecommandhandler", "doifelsecommon", "doifelseconversiondefined", "doifelseconversionnumber", "doifelsecounter", "doifelsecurrentfonthasfeature", "doifelsecurrentsortingused", "doifelsecurrentsynonymshown", "doifelsecurrentsynonymused", "doifelsedefined", "doifelsedefinedcounter", "doifelsedimension", "doifelsedimenstring", "doifelsedocumentargument", "doifelsedocumentfilename", "doifelsedocumentvariable", "doifelsedrawingblack", "doifelseempty", "doifelseemptyvalue", "doifelseemptyvariable", "doifelseenv", "doifelsefastoptionalcheck", "doifelsefastoptionalcheckcs", "doifelsefieldbody", "doifelsefieldcategory", "doifelsefigure", "doifelsefile", "doifelsefiledefined", "doifelsefi!
leexists", "doifelsefirstchar", "doifelseflagged", "doifelsefontchar", "doifelsefontfeature", "doifelsefontpresent", "doifelsefontsynonym", "doifelseframed", "doifelsehasspace", "doifelsehelp", "doifelseincsname", "doifelseindented", "doifelseinelement", "doifelseinputfile", "doifelseinsertion", "doifelseinset", "doifelseinstring", "doifelseinsymbolset", "doifelseintoks", "doifelseintwopassdata", "doifelseitalic", "doifelselanguage", "doifelselayerdata", "doifelselayoutdefined", "doifelselayoutsomeline", "doifelselayouttextline", "doifelseleapyear", "doifelselist", "doifelselocation", "doifelselocfile", "doifelsemainfloatbody", "doifelsemarkedcontent", "doifelsemarkedpage", "doifelsemarking", "doifelsemeaning", "doifelsemessage", "doifelsemode", "doifelsenextbgroup", "doifelsenextbgroupcs", "doifelsenextchar", "doifelsenextoptional", "doifelsenextoptionalcs", "doifelsenextparenthesis", "doifelsenonzeropositive", "doifelsenoteonsamepage", "doifelsenothing", "doifelsenumber", "doifelseobjectfound", "doifelseobjectreferencefound", "doifelseoddpage", "doifelseoddpagefloat", "doifelseoldercontext", "doifelseolderversion", "doifelseorientation", "doifelseoverlapping", "doifelseoverlay", "doifelseparallel", "doifelseparentfile", "doifelseparwrapper", "doifelsepath", "doifelsepathexists", "doifelsepatterns", "doifelseposition", "doifelsepositionaction", "doifelsepositiononpage", "doifelsepositionsonsamepage", "doifelsepositionsonthispage", "doifelsepositionsused", "doifelsereferencefound", "doifelserightpage", "doifelserightpagefloat", "doifelserighttoleftinbox", "doifelsesamelinereference", "doifelsesamestring", "doifelsesetups", "doifelsesomebackground", "doifelsesomespace", "doifelsesomething", "doifelsesometoks", "doifelsestringinstring", "doifelsestructurelisthasnumber", "doifelsestructurelisthaspage", "doifelsesymboldefined", "doifelsesymbolset", "doifelsetext", "doifelsetextflow", "doifelsetextflowcollector", "doifelsetopofpage", "doifelsetypingfile", "doifelseundefined", "doifelseurldefined", "doifelsevalue", "d!
oifelsevaluenothing", "doifelsevariable", "doifempty", "doifemptyelse", "doifemptytoks", "doifemptyvalue", "doifemptyvalueelse", "doifemptyvariable", "doifemptyvariableelse", "doifenv", "doifenvelse", "doiffastoptionalcheckcselse", "doiffastoptionalcheckelse", "doiffieldbodyelse", "doiffieldcategoryelse", "doiffigureelse", "doiffile", "doiffiledefinedelse", "doiffileelse", "doiffileexistselse", "doiffirstcharelse", "doifflaggedelse", "doiffontcharelse", "doiffontfeatureelse", "doiffontpresentelse", "doiffontsynonymelse", "doifhasspaceelse", "doifhelpelse", "doifincsnameelse", "doifinelementelse", "doifinputfileelse", "doifinsertionelse", "doifinset", "doifinsetelse", "doifinstring", "doifinstringelse", "doifinsymbolset", "doifinsymbolsetelse", "doifintokselse", "doifintwopassdataelse", "doifitalicelse", "doiflanguageelse", "doiflayerdataelse", "doiflayoutdefinedelse", "doiflayoutsomelineelse", "doiflayouttextlineelse", "doifleapyearelse", "doiflistelse", "doiflocationelse", "doiflocfileelse", "doifmainfloatbodyelse", "doifmarkingelse", "doifmeaningelse", "doifmessageelse", "doifmode", "doifmodeelse", "doifnextbgroupcselse", "doifnextbgroupelse", "doifnextcharelse", "doifnextoptionalcselse", "doifnextoptionalelse", "doifnextparenthesiselse", "doifnonzeropositiveelse", "doifnot", "doifnotallcommon", "doifnotallmodes", "doifnotcommandhandler", "doifnotcommon", "doifnotcounter", "doifnotdocumentargument", "doifnotdocumentfilename", "doifnotdocumentvariable", "doifnotempty", "doifnotemptyvalue", "doifnotemptyvariable", "doifnotenv", "doifnoteonsamepageelse", "doifnotescollected", "doifnotfile", "doifnotflagged", "doifnothing", "doifnothingelse", "doifnotinset", "doifnotinsidesplitfloat", "doifnotinstring", "doifnotmode", "doifnotnumber", "doifnotsamestring", "doifnotsetups", "doifnotvalue", "doifnotvariable", "doifnumber", "doifnumberelse", "doifobjectfoundelse", "doifobjectreferencefoundelse", "doifoddpageelse", "doifoddpagefloatelse", "doifoldercontextelse", "doifolderversionelse", "doifoutervmode", "doifoverlappin!
gelse", "doifoverlayelse", "doifparallelelse", "doifparentfileelse", "doifpathelse", "doifpathexistselse", "doifpatternselse", "doifposition", "doifpositionaction", "doifpositionactionelse", "doifpositionelse", "doifpositiononpageelse", "doifpositionsonsamepageelse", "doifpositionsonthispageelse", "doifpositionsusedelse", "doifreferencefoundelse", "doifrightpageelse", "doifrightpagefloatelse", "doifrighttoleftinboxelse", "doifsamelinereferenceelse", "doifsamestring", "doifsamestringelse", "doifsetups", "doifsetupselse", "doifsomebackground", "doifsomebackgroundelse", "doifsomespaceelse", "doifsomething", "doifsomethingelse", "doifsometoks", "doifsometokselse", "doifstringinstringelse", "doifstructurelisthasnumberelse", "doifstructurelisthaspageelse", "doifsymboldefinedelse", "doifsymbolsetelse", "doiftext", "doiftextelse", "doiftextflowcollectorelse", "doiftextflowelse", "doiftopofpageelse", "doiftypingfileelse", "doifundefined", "doifundefinedcounter", "doifundefinedelse", "doifunknownfontfeature", "doifurldefinedelse", "doifvalue", "doifvalueelse", "doifvaluenothing", "doifvaluenothingelse", "doifvaluesomething", "doifvariable", "doifvariableelse", "doindentation", "dollar", "doloop", "doloopoverlist", "donothing", "dontconvertfont", "dontleavehmode", "dontpermitspacesbetweengroups", "dopositionaction", "doprocesslocalsetups", "doquadrupleargument", "doquadrupleempty", "doquadruplegroupempty", "doquintupleargument", "doquintupleempty", "doquintuplegroupempty", "dorechecknextindentation", "dorecurse", "dorepeatwithcommand", "doreplacefeature", "doresetandafffeature", "doresetattribute", "dorotatebox", "dosetattribute", "dosetleftskipadaption", "dosetrightskipadaption", "dosetupcheckedinterlinespace", "doseventupleargument", "doseventupleempty", "dosingleargument", "dosingleempty", "dosinglegroupempty", "dosixtupleargument", "dosixtupleempty", "dosomebreak", "dostepwiserecurse", "dosubtractfeature", "dot", "doteq", "doteqdot", "dotfill", "dotfskip", "dotlessI", "dotlessJ", "dotlessi", "dotlessj", "dotlessjstroke!
", "dotminus", "dotoks", "dotplus", "dotripleargument", "dotripleargumentwithset", "dotripleempty", "dotripleemptywithset", "dotriplegroupempty", "dots", "dottedcircle", "dottedrightarrow", "doublebar", "doublebond", "doublebrace", "doublebracket", "doublecap", "doublecup", "doubleparent", "doubleprime", "doubleverticalbar", "dowith", "dowithnextbox", "dowithnextboxcontent", "dowithnextboxcontentcs", "dowithnextboxcs", "dowithpargument", "dowithrange", "dowithwargument", "downarrow", "downdasharrow", "downdownarrows", "downharpoonleft", "downharpoonright", "downuparrows", "downwhitearrow", "downzigzagarrow", "dpofstring", "dstroke", "dtail", "dummydigit", "dummyparameter", "dzcaronligature", "dzligature", "eTeX", "eacute", "ebreve", "ecaron", "ecedilla", "ecircumflex", "ecircumflexacute", "ecircumflexdotbelow", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "edefconvertedargument", "ediaeresis", "edotaccent", "edotbelow", "edoublegrave", "ee", "efcmaxheight", "efcmaxwidth", "efcminheight", "efcminwidth", "efcparameter", "effect", "egrave", "ehook", "einvertedbreve", "elapsedseconds", "elapsedsteptime", "elapsedtime", "eleftarrowfill", "eleftharpoondownfill", "eleftharpoonupfill", "eleftrightarrowfill", "ell", "em", "emacron", "emdash", "emphasisboldface", "emphasistypeface", "emptylines", "emptyset", "emquad", "emspace", "enableasciimode", "enabledirectives", "enableexperiments", "enablemode", "enableoutputstream", "enableparpositions", "enableregime", "enabletrackers", "endash", "endnote", "enquad", "enskip", "enspace", "env", "environment", "envvar", "eogonek", "eoverbarfill", "eoverbracefill", "eoverbracketfill", "eoverparentfill", "epos", "epsilon", "eq", "eqcirc", "eqeq", "eqeqeq", "eqgtr", "eqless", "eqsim", "eqslantgtr", "eqslantless", "equaldigits", "equalscolon", "equiv", "erightarrowfill", "erightharpoondownfill", "erightharpoonupfill", "eta", "eth", "ethiopic", "etilde", "etwoheadrightarrowfill", "eunderbarfill", "eunderbracefill", "eunderbracketfill", "eunderparentfill", "exclamdown", "ex!
ecuteifdefined", "exists", "exitloop", "exitloopnow", "expandcheckedcsname", "expanded", "expandeddoif", "expandeddoifelse", "expandeddoifnot", "expandfontsynonym", "expdoif", "expdoifcommonelse", "expdoifelse", "expdoifelsecommon", "expdoifelseinset", "expdoifinsetelse", "expdoifnot", "exponentiale", "externalfigure", "externalfigurecollectionmaxheight", "externalfigurecollectionmaxwidth", "externalfigurecollectionminheight", "externalfigurecollectionminwidth", "externalfigurecollectionparameter", "fakebox", "fallingdotseq", "fastdecrement", "fastincrement", "fastlocalframed", "fastloopfinal", "fastloopindex", "fastscale", "fastsetup", "fastsetupwithargument", "fastsetupwithargumentswapped", "fastswitchtobodyfont", "fastsxsy", "feature", "fence", "fenced", "fetchallmarkings", "fetchallmarks", "fetchmark", "fetchmarking", "fetchonemark", "fetchonemarking", "fetchruntinecommand", "fetchtwomarkings", "fetchtwomarks", "ffiligature", "ffligature", "fflligature", "fhook", "field", "fieldbody", "fieldstack", "fifthoffivearguments", "fifthofsixarguments", "figuredash", "figurefilename", "figurefilepath", "figurefiletype", "figurefullname", "figureheight", "figurenaturalheight", "figurenaturalwidth", "figurespace", "figuresymbol", "figurewidth", "filename", "filigature", "filledhboxb", "filledhboxc", "filledhboxg", "filledhboxk", "filledhboxm", "filledhboxr", "filledhboxy", "filler", "fillinline", "fillinrules", "fillintext", "fillupto", "filterfromnext", "filterfromvalue", "filterpages", "filterreference", "findtwopassdata", "finishregisterentry", "firstcharacter", "firstcounter", "firstcountervalue", "firstinlist", "firstoffivearguments", "firstoffourarguments", "firstofoneargument", "firstofoneunexpanded", "firstofsixarguments", "firstofthreearguments", "firstofthreeunexpanded", "firstoftwoarguments", "firstoftwounexpanded", "firstrealpage", "firstrealpagenumber", "firstsubcountervalue", "firstsubpage", "firstsubpagenumber", "firstuserpage", "firstuserpagenumber", "fitfield", "fitfieldframed", "fittopbaselinegrid", "!
fiveeighths", "fivesixths", "fixedspace", "fixedspaces", "flag", "flat", "flligature", "floatuserdataparameter", "flushbox", "flushboxregister", "flushcollector", "flushedrightlastline", "flushlayer", "flushlocalfloats", "flushnextbox", "flushnotes", "flushoutputstream", "flushshapebox", "flushtextflow", "flushtokens", "flushtoks", "fontalternative", "fontbody", "fontchar", "fontcharbyindex", "fontclass", "fontclassname", "fontface", "fontfeaturelist", "fontsize", "fontstyle", "footnote", "footnotetext", "forall", "forcecharacterstripping", "forcelocalfloats", "forgeteverypar", "forgetparagraphfreezing", "forgetparameters", "forgetparskip", "forgetparwrapper", "forgetragged", "formula", "formulanumber", "foundbox", "fourfifths", "fourperemspace", "fourthoffivearguments", "fourthoffourarguments", "fourthofsixarguments", "frac", "framed", "frameddimension", "framedparameter", "framedtext", "freezedimenmacro", "freezemeasure", "freezeparagraphproperties", "frenchspacing", "from", "fromlinenote", "frown", "frozenhbox", "frule", "gacute", "gamma", "gbreve", "gcaron", "gcircumflex", "gcommaaccent", "gdefconvertedargument", "gdefconvertedcommand", "gdotaccent", "ge", "geq", "geqq", "geqslant", "getMPdrawing", "getMPlayer", "getboxfromcache", "getboxllx", "getboxlly", "getbuffer", "getbufferdata", "getcommacommandsize", "getcommalistsize", "getdatavalue", "getdayoftheweek", "getdayspermonth", "getdefinedbuffer", "getdocumentargument", "getdocumentargumentdefault", "getdocumentfilename", "getdummyparameters", "getemptyparameters", "geteparameters", "getexpandedparameters", "getfiguredimensions", "getfirstcharacter", "getfirsttwopassdata", "getfromcommacommand", "getfromcommalist", "getfromluatable", "getfromtwopassdata", "getglyphdirect", "getglyphstyled", "getgparameters", "getinlineuserdata", "getlasttwopassdata", "getlocalfloat", "getlocalfloats", "getmarking", "getmessage", "getnamedglyphdirect", "getnamedglyphstyled", "getnamedtwopassdatalist", "getnaturaldimensions", "getnoflines", "getobject", "getobjectdimensions!
", "getpaletsize", "getparameters", "getparwrapper", "getprivatechar", "getprivateslot", "getrandomcount", "getrandomdimen", "getrandomfloat", "getrandomnumber", "getrandomseed", "getraweparameters", "getrawgparameters", "getrawnoflines", "getrawparameters", "getrawxparameters", "getreference", "getreferenceentry", "getroundednoflines", "gets", "getsubstring", "gettokenlist", "gettwopassdata", "gettwopassdatalist", "getuserdata", "getuvalue", "getvalue", "getvariable", "getvariabledefault", "getxparameters", "gg", "ggg", "gggtr", "gimel", "globaldisablemode", "globalenablemode", "globalletempty", "globalpopbox", "globalpopmacro", "globalpreventmode", "globalprocesscommalist", "globalpushbox", "globalpushmacro", "globalswapcounts", "globalswapdimens", "globalswapmacros", "globalundefine", "glyphfontfile", "gnapprox", "gneqq", "gnsim", "gobbledoubleempty", "gobbleeightarguments", "gobblefivearguments", "gobblefiveoptionals", "gobblefourarguments", "gobblefouroptionals", "gobbleninearguments", "gobbleoneargument", "gobbleoneoptional", "gobblesevenarguments", "gobblesingleempty", "gobblesixarguments", "gobblespacetokens", "gobbletenarguments", "gobblethreearguments", "gobblethreeoptionals", "gobbletwoarguments", "gobbletwooptionals", "gobbleuntil", "gobbleuntilrelax", "godown", "goto", "gotobox", "gotopage", "grabbufferdata", "grabbufferdatadirect", "grabuntil", "grave", "graycolor", "grayvalue", "greedysplitstring", "greekAlpha", "greekAlphadasia", "greekAlphadasiaperispomeni", "greekAlphadasiatonos", "greekAlphadasiavaria", "greekAlphaiotasub", "greekAlphaiotasubdasia", "greekAlphaiotasubdasiaperispomeni", "greekAlphaiotasubdasiatonos", "greekAlphaiotasubdasiavaria", "greekAlphaiotasubpsili", "greekAlphaiotasubpsiliperispomeni", "greekAlphaiotasubpsilitonos", "greekAlphaiotasubpsilivaria", "greekAlphamacron", "greekAlphapsili", "greekAlphapsiliperispomeni", "greekAlphapsilitonos", "greekAlphapsilivaria", "greekAlphatonos", "greekAlphavaria", "greekAlphavrachy", "greekBeta", "greekChi", "greekCoronis", "greekDelta"!
, "greekEpsilon", "greekEpsilondasia", "greekEpsilondasiatonos", "greekEpsilondasiavaria", "greekEpsilonpsili", "greekEpsilonpsilitonos", "greekEpsilonpsilivaria", "greekEpsilontonos", "greekEpsilonvaria", "greekEta", "greekEtadasia", "greekEtadasiaperispomeni", "greekEtadasiatonos", "greekEtadasiavaria", "greekEtaiotasub", "greekEtaiotasubdasia", "greekEtaiotasubdasiaperispomeni", "greekEtaiotasubdasiatonos", "greekEtaiotasubdasiavaria", "greekEtaiotasubpsili", "greekEtaiotasubpsiliperispomeni", "greekEtaiotasubpsilitonos", "greekEtaiotasubpsilivaria", "greekEtapsili", "greekEtapsiliperispomeni", "greekEtapsilitonos", "greekEtapsilivaria", "greekEtatonos", "greekEtavaria", "greekGamma", "greekIota", "greekIotadasia", "greekIotadasiaperispomeni", "greekIotadasiatonos", "greekIotadasiavaria", "greekIotadialytika", "greekIotamacron", "greekIotapsili", "greekIotapsiliperispomeni", "greekIotapsilitonos", "greekIotapsilivaria", "greekIotatonos", "greekIotavaria", "greekIotavrachy", "greekKappa", "greekLambda", "greekMu", "greekNu", "greekOmega", "greekOmegadasia", "greekOmegadasiaperispomeni", "greekOmegadasiatonos", "greekOmegadasiavaria", "greekOmegaiotasub", "greekOmegaiotasubdasia", "greekOmegaiotasubdasiaperispomeni", "greekOmegaiotasubdasiatonos", "greekOmegaiotasubdasiavaria", "greekOmegaiotasubpsili", "greekOmegaiotasubpsiliperispomeni", "greekOmegaiotasubpsilitonos", "greekOmegaiotasubpsilivaria", "greekOmegapsili", "greekOmegapsiliperispomeni", "greekOmegapsilitonos", "greekOmegapsilivaria", "greekOmegatonos", "greekOmegavaria", "greekOmicron", "greekOmicrondasia", "greekOmicrondasiatonos", "greekOmicrondasiavaria", "greekOmicronpsili", "greekOmicronpsilitonos", "greekOmicronpsilivaria", "greekOmicrontonos", "greekOmicronvaria", "greekPhi", "greekPi", "greekPsi", "greekRho", "greekRhodasia", "greekSigma", "greekSigmalunate", "greekTau", "greekTheta", "greekUpsilon", "greekUpsilondasia", "greekUpsilondasiaperispomeni", "greekUpsilondasiatonos", "greekUpsilondasiavaria", "greekUpsilondialytika", "greekUpsilon!
macron", "greekUpsilontonos", "greekUpsilonvaria", "greekUpsilonvrachy", "greekXi", "greekZeta", "greekalpha", "greekalphadasia", "greekalphadasiaperispomeni", "greekalphadasiatonos", "greekalphadasiavaria", "greekalphaiotasub", "greekalphaiotasubdasia", "greekalphaiotasubdasiaperispomeni", "greekalphaiotasubdasiatonos", "greekalphaiotasubdasiavaria", "greekalphaiotasubperispomeni", "greekalphaiotasubpsili", "greekalphaiotasubpsiliperispomeni", "greekalphaiotasubpsilitonos", "greekalphaiotasubpsilivaria", "greekalphaiotasubtonos", "greekalphaiotasubvaria", "greekalphamacron", "greekalphaoxia", "greekalphaperispomeni", "greekalphapsili", "greekalphapsiliperispomeni", "greekalphapsilitonos", "greekalphapsilivaria", "greekalphatonos", "greekalphavaria", "greekalphavrachy", "greekbeta", "greekbetaalt", "greekchi", "greekdasia", "greekdasiaperispomeni", "greekdasiavaria", "greekdelta", "greekdialytikaperispomeni", "greekdialytikatonos", "greekdialytikavaria", "greekdigamma", "greekepsilon", "greekepsilonalt", "greekepsilondasia", "greekepsilondasiatonos", "greekepsilondasiavaria", "greekepsilonoxia", "greekepsilonpsili", "greekepsilonpsilitonos", "greekepsilonpsilivaria", "greekepsilontonos", "greekepsilonvaria", "greeketa", "greeketadasia", "greeketadasiaperispomeni", "greeketadasiatonos", "greeketadasiavaria", "greeketaiotasub", "greeketaiotasubdasia", "greeketaiotasubdasiaperispomeni", "greeketaiotasubdasiatonos", "greeketaiotasubdasiavaria", "greeketaiotasubperispomeni", "greeketaiotasubpsili", "greeketaiotasubpsiliperispomeni", "greeketaiotasubpsilitonos", "greeketaiotasubpsilivaria", "greeketaiotasubtonos", "greeketaiotasubvaria", "greeketaoxia", "greeketaperispomeni", "greeketapsili", "greeketapsiliperispomeni", "greeketapsilitonos", "greeketapsilivaria", "greeketatonos", "greeketavaria", "greekfinalsigma", "greekgamma", "greekiota", "greekiotadasia", "greekiotadasiaperispomeni", "greekiotadasiatonos", "greekiotadasiavaria", "greekiotadialytika", "greekiotadialytikaperispomeni", "greekiotadialytikatonos", "gre!
ekiotadialytikavaria", "greekiotamacron", "greekiotaoxia", "greekiotaperispomeni", "greekiotapsili", "greekiotapsiliperispomeni", "greekiotapsilitonos", "greekiotapsilivaria", "greekiotatonos", "greekiotavaria", "greekiotavrachy", "greekkappa", "greekkoppa", "greeklambda", "greekmu", "greeknu", "greeknumerals", "greeknumkoppa", "greekomega", "greekomegadasia", "greekomegadasiaperispomeni", "greekomegadasiatonos", "greekomegadasiavaria", "greekomegaiotasub", "greekomegaiotasubdasia", "greekomegaiotasubdasiaperispomeni", "greekomegaiotasubdasiatonos", "greekomegaiotasubdasiavaria", "greekomegaiotasubperispomeni", "greekomegaiotasubpsili", "greekomegaiotasubpsiliperispomeni", "greekomegaiotasubpsilitonos", "greekomegaiotasubpsilivaria", "greekomegaiotasubtonos", "greekomegaiotasubvaria", "greekomegaoxia", "greekomegaperispomeni", "greekomegapsili", "greekomegapsiliperispomeni", "greekomegapsilitonos", "greekomegapsilivaria", "greekomegatonos", "greekomegavaria", "greekomicron", "greekomicrondasia", "greekomicrondasiatonos", "greekomicrondasiavaria", "greekomicronoxia", "greekomicronpsili", "greekomicronpsilitonos", "greekomicronpsilivaria", "greekomicrontonos", "greekomicronvaria", "greekoxia", "greekperispomeni", "greekphi", "greekphialt", "greekpi", "greekpialt", "greekprosgegrammeni", "greekpsi", "greekpsili", "greekpsiliperispomeni", "greekpsilivaria", "greekrho", "greekrhoalt", "greekrhodasia", "greekrhopsili", "greeksampi", "greeksigma", "greeksigmalunate", "greekstigma", "greektau", "greektheta", "greekthetaalt", "greektonos", "greekupsilon", "greekupsilondasia", "greekupsilondasiaperispomeni", "greekupsilondasiatonos", "greekupsilondasiavaria", "greekupsilondiaeresis", "greekupsilondialytikaperispomeni", "greekupsilondialytikatonos", "greekupsilondialytikavaria", "greekupsilonmacron", "greekupsilonoxia", "greekupsilonperispomeni", "greekupsilonpsili", "greekupsilonpsiliperispomeni", "greekupsilonpsilitonos", "greekupsilonpsilivaria", "greekupsilontonos", "greekupsilonvaria", "greekupsilonvrachy", "greekvari!
a", "greekxi", "greekzeta", "grid", "groupedcommand", "gsetboxllx", "gsetboxlly", "gstroke", "gt", "gtrapprox", "gtrdot", "gtreqless", "gtreqqless", "gtrless", "gtrsim", "guilsingleleft", "guilsingleright", "gujaratinumerals", "gurmurkhinumerals", "hairline", "hairspace", "halflinestrut", "halfstrut", "halfwaybox", "handletokens", "handwritten", "hangul", "hanzi", "hash", "hat", "hbar", "hboxofvbox", "hboxreference", "hcaron", "hcircumflex", "hdofstring", "headhbox", "headlanguage", "headnumber", "headnumbercontent", "headnumberdistance", "headnumberwidth", "headreferenceattributes", "headsetupspacing", "headtext", "headtextcontent", "headtextdistance", "headtexts", "headtextwidth", "headvbox", "headwidth", "heartsuit", "hebrewAlef", "hebrewAyin", "hebrewBet", "hebrewDalet", "hebrewGimel", "hebrewHe", "hebrewHet", "hebrewKaf", "hebrewKaffinal", "hebrewLamed", "hebrewMem", "hebrewMemfinal", "hebrewNun", "hebrewNunfinal", "hebrewPe", "hebrewPefinal", "hebrewQof", "hebrewResh", "hebrewSamekh", "hebrewShin", "hebrewTav", "hebrewTet", "hebrewTsadi", "hebrewTsadifinal", "hebrewVav", "hebrewYod", "hebrewZayin", "hebrewnumerals", "heightanddepthofstring", "heightofstring", "heightspanningtext", "helptext", "hexnumber", "hexstringtonumber", "hglue", "hiddenbar", "hiddencitation", "hiddencite", "hideblocks", "high", "highlight", "highordinalstr", "hilo", "himilo", "hl", "hookleftarrow", "hookrightarrow", "horizontalgrowingbar", "horizontalpositionbar", "hpackbox", "hpackedbox", "hphantom", "hpos", "hsizefraction", "hslash", "hsmash", "hsmashbox", "hsmashed", "hspace", "hstroke", "htdpofstring", "htofstring", "hyphen", "hyphenatedcoloredword", "hyphenatedfile", "hyphenatedfilename", "hyphenatedhbox", "hyphenatedpar", "hyphenatedurl", "hyphenatedword", "iacute", "ibox", "ibreve", "icaron", "icircumflex", "ideographichalffillspace", "ideographicspace", "idiaeresis", "idotaccent", "idotbelow", "idoublegrave", "idxfromluatable", "ifassignment", "iff", "ifinobject", "ifinoutputstream", "ifparameters", "iftrialtypesetting", "ign!
oreimplicitspaces", "ignoretagsinexport", "ignorevalue", "igrave", "ihook", "ii", "iiiint", "iiiintop", "iiint", "iiintop", "iint", "iintop", "iinvertedbreve", "ijligature", "imacron", "imaginaryi", "imaginaryj", "imath", "immediatesavetwopassdata", "impliedby", "implies", "imply", "in", "includemenu", "includesvgbuffer", "includesvgfile", "includeversioninfo", "increment", "incrementcounter", "incrementedcounter", "incrementpagenumber", "incrementsubpagenumber", "incrementvalue", "indentation", "index", "infofont", "infofontbold", "inframed", "infty", "infull", "inheritparameter", "inhibitblank", "ininner", "ininneredge", "ininnermargin", "initializeboxstack", "inleft", "inleftedge", "inleftmargin", "inline", "inlinebuffer", "inlinedbox", "inlinemath", "inlinemathematics", "inlinemessage", "inlineordisplaymath", "inlineprettyprintbuffer", "inlinerange", "inmargin", "inmframed", "innerflushshapebox", "inother", "inouter", "inouteredge", "inoutermargin", "input", "inputfilebarename", "inputfilename", "inputfilerealsuffix", "inputfilesuffix", "inputgivenfile", "inright", "inrightedge", "inrightmargin", "insertpages", "inspectluatable", "installactionhandler", "installactivecharacter", "installanddefineactivecharacter", "installattributestack", "installautocommandhandler", "installautosetuphandler", "installbasicautosetuphandler", "installbasicparameterhandler", "installbottomframerenderer", "installcommandhandler", "installcorenamespace", "installctxfunction", "installctxscanner", "installdefinehandler", "installdefinitionset", "installdefinitionsetmember", "installdirectcommandhandler", "installdirectparameterhandler", "installdirectparametersethandler", "installdirectsetuphandler", "installdirectstyleandcolorhandler", "installframedautocommandhandler", "installframedcommandhandler", "installglobalmacrostack", "installlanguage", "installleftframerenderer", "installmacrostack", "installnamespace", "installoutputroutine", "installpagearrangement", "installparameterhandler", "installparameterhashhandler", "installpa!
rametersethandler", "installparentinjector", "installprotectedctxfunction", "installprotectedctxscanner", "installrightframerenderer", "installrootparameterhandler", "installsetuphandler", "installsetuponlycommandhandler", "installshipoutmethod", "installsimplecommandhandler", "installsimpleframedcommandhandler", "installstyleandcolorhandler", "installswitchcommandhandler", "installswitchsetuphandler", "installtexdirective", "installtextracker", "installtopframerenderer", "installunitsseparator", "installunitsspace", "installversioninfo", "int", "intclockwise", "integerrounding", "integers", "interactionbar", "interactionbuttons", "interactionmenu", "intercal", "intertext", "interwordspaceafter", "interwordspacebefore", "interwordspaces", "interwordspacesafter", "interwordspacesbefore", "intop", "invisiblecomma", "invisibleplus", "invisibletimes", "invokepagehandler", "iogonek", "iota", "italic", "italicbold", "italiccorrection", "italicface", "item", "items", "itemtag", "itilde", "jcaron", "jcircumflex", "ji", "jmath", "jobfilename", "jobfilesuffix", "kap", "kappa", "kcaron", "kcommaaccent", "keepblocks", "keeplinestogether", "keepunwantedspaces", "kerncharacters", "khook", "kkra", "koreancirclenumerals", "koreannumerals", "koreannumeralsc", "koreannumeralsp", "koreanparentnumerals", "lVert", "labellanguage", "labeltext", "labeltexts", "lacute", "lambda", "lambdabar", "land", "langle", "language", "languageCharacters", "languagecharacters", "languagecharwidth", "laplace", "lastcounter", "lastcountervalue", "lastdigit", "lastlinewidth", "lastnaturalboxdp", "lastnaturalboxht", "lastnaturalboxwd", "lastparwrapper", "lastpredefinedsymbol", "lastrealpage", "lastrealpagenumber", "lastsubcountervalue", "lastsubpage", "lastsubpagenumber", "lasttwodigits", "lastuserpage", "lastuserpagenumber", "lateluacode", "latin", "layeredtext", "layerheight", "layerwidth", "lazysavetaggedtwopassdata", "lazysavetwopassdata", "lbar", "lbox", "lbrace", "lbracket", "lcaron", "lceil", "lchexnumber", "lchexnumbers", "lcommaaccent", "lcurl!
", "ldot", "ldotmiddle", "ldotp", "ldots", "le", "leadsto", "left", "leftaligned", "leftarrow", "leftarrowtail", "leftarrowtriangle", "leftbottombox", "leftbox", "leftdasharrow", "leftguillemot", "leftharpoondown", "leftharpoonup", "lefthbox", "leftheadtext", "leftlabeltext", "leftleftarrows", "leftline", "leftmathlabeltext", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "leftrightarrow", "leftrightarrows", "leftrightarrowtriangle", "leftrightharpoons", "leftrightsquigarrow", "leftskipadaption", "leftsquigarrow", "leftsubguillemot", "leftthreetimes", "lefttopbox", "lefttoright", "lefttorighthbox", "lefttorightvbox", "lefttorightvtop", "leftwavearrow", "leftwhitearrow", "leq", "leqq", "leqslant", "lessapprox", "lessdot", "lesseqgtr", "lesseqqgtr", "lessgtr", "lesssim", "letbeundefined", "letcatcodecommand", "letcscsname", "letcsnamecs", "letcsnamecsname", "letdummyparameter", "letempty", "letgvalue", "letgvalueempty", "letgvalurelax", "letterampersand", "letterat", "letterbackslash", "letterbar", "letterbgroup", "letterclosebrace", "lettercolon", "letterdollar", "letterdoublequote", "letteregroup", "letterescape", "letterexclamationmark", "letterhash", "letterhat", "letterleftbrace", "letterleftbracket", "letterleftparenthesis", "letterless", "lettermore", "letteropenbrace", "letterpercent", "letterquestionmark", "letterrightbrace", "letterrightbracket", "letterrightparenthesis", "lettersinglequote", "letterslash", "letterspacing", "lettertilde", "letterunderscore", "letvalue", "letvalueempty", "letvaluerelax", "lfence", "lfloor", "lgroup", "lhbox", "lhooknwarrow", "lhooksearrow", "limitatefirstline", "limitatelines", "limitatetext", "line", "linebox", "linefeed", "linefillerhbox", "linefillervbox", "linefillervtop", "linenote", "linespanningtext", "linethickness", "linterval", "listcitation", "listcite", "listlength", "listnamespaces", "literalmode", "ljligature", "ll", "llangle", "llap", "llbracket", "llcorner", "lll", "llless", "llointerval", "lmoustache", "lnapprox", "lneq", "lneqq", "lnot", "lnsim!
", "loadanyfile", "loadanyfileonce", "loadbtxdefinitionfile", "loadbtxreplacementfile", "loadcldfile", "loadcldfileonce", "loadfontgoodies", "loadluafile", "loadluafileonce", "loadspellchecklist", "loadtexfile", "loadtexfileonce", "loadtypescriptfile", "localframed", "localframedwithsettings", "localhsize", "localpopbox", "localpopmacro", "localpushbox", "localpushmacro", "localundefine", "locatedfilepath", "locatefilepath", "locfilename", "logo", "lohi", "lointerval", "lomihi", "longleftarrow", "longleftrightarrow", "longmapsfrom", "longmapsto", "longrightarrow", "longrightsquigarrow", "looparrowleft", "looparrowright", "lor", "low", "lowerbox", "lowercased", "lowercasestring", "lowercasing", "lowerleftdoubleninequote", "lowerleftsingleninequote", "lowerrightdoubleninequote", "lowerrightsingleninequote", "lozenge", "lparent", "lrcorner", "lrointerval", "lrtbbox", "lstroke", "lt", "ltimes", "ltop", "ltrhbox", "ltrvbox", "ltrvtop", "luaTeX", "luacode", "luaconditional", "luaenvironment", "luaexpanded", "luaexpr", "luafunction", "luajitTeX", "luamajorversion", "luametaTeX", "luaminorversion", "luaparameterset", "luasetup", "luaversion", "lvert", "m", "mLeftarrow", "mLeftrightarrow", "mRightarrow", "mVert", "mainlanguage", "makecharacteractive", "makerawcommalist", "makestrutofbox", "maltese", "mapfontsize", "mapsdown", "mapsfrom", "mapsto", "mapsup", "margindata", "margintext", "markcontent", "markedpages", "marking", "markinjector", "markpage", "markreferencepage", "mat", "math", "mathampersand", "mathbf", "mathbi", "mathblackboard", "mathbs", "mathdefault", "mathdollar", "mathdouble", "mathematics", "mathfraktur", "mathfunction", "mathhash", "mathhyphen", "mathit", "mathitalic", "mathlabellanguage", "mathlabeltext", "mathlabeltexts", "mathop", "mathover", "mathpercent", "mathrm", "mathscript", "mathsl", "mathss", "mathtext", "mathtextbf", "mathtextbi", "mathtextbs", "mathtextit", "mathtextsl", "mathtexttf", "mathtf", "mathtriplet", "mathtt", "mathunder", "mathupright", "mathword", "mathwordbf", "mathwordbi", "ma!
thwordbs", "mathwordit", "mathwordsl", "mathwordtf", "maxaligned", "mbox", "mcframed", "measure", "measured", "measuredangle", "measuredeq", "medskip", "medspace", "menubutton", "mequal", "message", "mfence", "mframed", "mfunction", "mfunctionlabeltext", "mhbox", "mho", "mhookleftarrow", "mhookrightarrow", "mid", "midaligned", "middle", "middlealigned", "middlebox", "midhbox", "midsubsentence", "minimalhbox", "minus", "minuscolon", "mirror", "mixedcaps", "mkvibuffer", "mleftarrow", "mleftharpoondown", "mleftharpoonup", "mleftrightarrow", "mleftrightharpoons", "mmapsto", "models", "moduleparameter", "molecule", "mono", "monobold", "mononormal", "month", "monthlong", "monthshort", "mp", "mprandomnumber", "mrel", "mrightarrow", "mrightharpoondown", "mrightharpoonup", "mrightleftharpoons", "mrightoverleftarrow", "mtext", "mtriplerel", "mtwoheadleftarrow", "mtwoheadrightarrow", "mu", "multimap", "mvert", "nHdownarrow", "nHuparrow", "nLeftarrow", "nLeftrightarrow", "nRightarrow", "nVDash", "nVdash", "nVleftarrow", "nVleftrightarrow", "nVrightarrow", "nabla", "nacute", "namedheadnumber", "namedstructureheadlocation", "namedstructureuservariable", "namedstructurevariable", "namedtaggedlabeltexts", "napostrophe", "napprox", "napproxEq", "narrownobreakspace", "nasymp", "natural", "naturalhbox", "naturalhpack", "naturalnumbers", "naturaltpack", "naturalvbox", "naturalvcenter", "naturalvpack", "naturalvtop", "naturalwd", "ncaron", "ncommaaccent", "ncong", "ncurl", "ndivides", "ne", "nearrow", "neg", "negatecolorbox", "negated", "negativesign", "negemspace", "negenspace", "negthinspace", "neng", "neq", "nequiv", "neswarrow", "newattribute", "newcatcodetable", "newcounter", "newevery", "newfrenchspacing", "newluatable", "newmode", "newsignal", "newsystemmode", "nexists", "nextbox", "nextboxdp", "nextboxht", "nextboxhtdp", "nextboxwd", "nextcounter", "nextcountervalue", "nextdepth", "nextparagraphs", "nextrealpage", "nextrealpagenumber", "nextsubcountervalue", "nextsubpage", "nextsubpagenumber", "nextuserpage", "nextuserpagenu!
mber", "ngeq", "ngrave", "ngtr", "ngtrless", "ngtrsim", "ni", "nihongo", "nin", "njligature", "nleftarrow", "nleftrightarrow", "nleq", "nless", "nlessgtr", "nlesssim", "nmid", "nni", "nobar", "nobreakspace", "nocap", "nocharacteralign", "nocitation", "nocite", "nodetostring", "noffigurepages", "noflines", "noflinesinbox", "noflocalfloats", "noheaderandfooterlines", "noheightstrut", "nohyphens", "noindentation", "noitem", "nonfrenchspacing", "nonmathematics", "nonvalidassignment", "normal", "normalboldface", "normalframedwithsettings", "normalitalicface", "normalizebodyfontsize", "normalizedfontsize", "normalizefontdepth", "normalizefontheight", "normalizefontline", "normalizefontwidth", "normalizetextdepth", "normalizetextheight", "normalizetextline", "normalizetextwidth", "normalslantedface", "normaltypeface", "nospace", "not", "note", "notesymbol", "notin", "notopandbottomlines", "notragged", "nowns", "nparallel", "nprec", "npreccurlyeq", "nrightarrow", "nsim", "nsimeq", "nsqsubseteq", "nsqsupseteq", "nsubset", "nsubseteq", "nsucc", "nsucccurlyeq", "nsupset", "nsupseteq", "ntilde", "ntimes", "ntriangleleft", "ntrianglelefteq", "ntriangleright", "ntrianglerighteq", "nu", "numberofpoints", "numbers", "nvDash", "nvdash", "nvleftarrow", "nvleftrightarrow", "nvrightarrow", "nwarrow", "nwsearrow", "oacute", "obeydepth", "objectdepth", "objectheight", "objectmargin", "objectwidth", "obox", "obreve", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexdotbelow", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "octnumber", "octstringtonumber", "odiaeresis", "odiaeresismacron", "odot", "odotaccent", "odotaccentmacron", "odotbelow", "odoublegrave", "oeligature", "offset", "offsetbox", "ograve", "ohm", "ohook", "ohorn", "ohornacute", "ohorndotbelow", "ohorngrave", "ohornhook", "ohorntilde", "ohungarumlaut", "oiiint", "oiint", "oint", "ointclockwise", "ointctrclockwise", "oinvertedbreve", "omacron", "omega", "omicron", "ominus", "onedigitrounding", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth!
", "onesuperior", "onethird", "oogonek", "oogonekmacron", "operatorlanguage", "operatortext", "oplus", "ordfeminine", "ordinaldaynumber", "ordinalstr", "ordmasculine", "ornamenttext", "oslash", "ostroke", "ostrokeacute", "otilde", "otildemacron", "otimes", "outputfilename", "outputstreambox", "outputstreamcopy", "outputstreamunvbox", "outputstreamunvcopy", "over", "overbar", "overbars", "overbartext", "overbarunderbar", "overbrace", "overbracetext", "overbraceunderbrace", "overbracket", "overbrackettext", "overbracketunderbracket", "overlaybutton", "overlaycolor", "overlaydepth", "overlayfigure", "overlayheight", "overlayimage", "overlaylinecolor", "overlaylinewidth", "overlayoffset", "overlayrollbutton", "overlaywidth", "overleftarrow", "overleftharpoondown", "overleftharpoonup", "overleftrightarrow", "overloaderror", "overparent", "overparenttext", "overparentunderparent", "overrightarrow", "overrightharpoondown", "overrightharpoonup", "overset", "overstrike", "overstrikes", "overtwoheadleftarrow", "overtwoheadrightarrow", "owns", "page", "pagearea", "pagebreak", "pagefigure", "pageinjection", "pagenumber", "pagereference", "pagestaterealpage", "pagestaterealpageorder", "paletsize", "paragraphmark", "parallel", "part", "partial", "pdfTeX", "pdfactualtext", "pdfbackendactualtext", "pdfbackendcurrentresources", "pdfbackendsetcatalog", "pdfbackendsetcolorspace", "pdfbackendsetextgstate", "pdfbackendsetinfo", "pdfbackendsetname", "pdfbackendsetpageattribute", "pdfbackendsetpageresource", "pdfbackendsetpagesattribute", "pdfbackendsetpattern", "pdfbackendsetshade", "pdfcolor", "pdfeTeX", "percent", "percentdimen", "periodcentered", "periods", "permitcaretescape", "permitcircumflexescape", "permitspacesbetweengroups", "perp", "persiandecimals", "persiandecimalseparator", "persiannumerals", "persianthousandsseparator", "perthousand", "phantom", "phantombox", "phi", "phook", "pi", "pickupgroupedcommand", "pitchfork", "placeattachments", "placebookmarks", "placebtxrendering", "placechemical", "placecitation", "placecomb!
inedlist", "placecomments", "placecontent", "placecurrentformulanumber", "placedbox", "placefigure", "placefloat", "placefloatcaption", "placefloatwithsetups", "placefootnotes", "placeformula", "placeframed", "placegraphic", "placeheadnumber", "placeheadtext", "placehelp", "placeholder", "placeindex", "placeinitial", "placeintermezzo", "placelayer", "placelayeredtext", "placelegend", "placelist", "placelistofabbreviations", "placelistofchemicals", "placelistoffigures", "placelistofgraphics", "placelistofintermezzi", "placelistoflogos", "placelistofpublications", "placelistofsorts", "placelistofsynonyms", "placelistoftables", "placelocalfootnotes", "placelocalnotes", "placement", "placenamedfloat", "placenamedformula", "placenotes", "placeongrid", "placeontopofeachother", "placepagenumber", "placepairedbox", "placeparallel", "placerawheaddata", "placerawheadnumber", "placerawheadtext", "placerawlist", "placeregister", "placerenderingwindow", "placesidebyside", "placesubformula", "placetable", "pm", "popattribute", "popmacro", "popmode", "popsystemmode", "position", "positionoverlay", "positionregionoverlay", "positivesign", "postponenotes", "prec", "precapprox", "preccurlyeq", "preceq", "preceqq", "precnapprox", "precneq", "precneqq", "precnsim", "precsim", "predefinedfont", "predefinefont", "predefinesymbol", "prefixedpagenumber", "prefixlanguage", "prefixtext", "prependetoks", "prependgvalue", "prependtocommalist", "prependtoks", "prependtoksonce", "prependvalue", "prerollblank", "presetbtxlabeltext", "presetdocument", "presetfieldsymbols", "presetheadtext", "presetlabeltext", "presetmathlabeltext", "presetoperatortext", "presetprefixtext", "presetsuffixtext", "presettaglabeltext", "presetunittext", "pretocommalist", "prettyprintbuffer", "prevcounter", "prevcountervalue", "preventmode", "prevrealpage", "prevrealpagenumber", "prevsubcountervalue", "prevsubpage", "prevsubpagenumber", "prevuserpage", "prevuserpagenumber", "prime", "primes", "procent", "processMPbuffer", "processMPfigurefile", "processaction", "pro!
cessallactionsinset", "processassignlist", "processassignmentcommand", "processassignmentlist", "processbetween", "processblocks", "processbodyfontenvironmentlist", "processcolorcomponents", "processcommacommand", "processcommalist", "processcommalistwithparameters", "processcontent", "processfile", "processfilemany", "processfilenone", "processfileonce", "processfirstactioninset", "processisolatedchars", "processisolatedwords", "processlinetablebuffer", "processlinetablefile", "processlist", "processmonth", "processranges", "processseparatedlist", "processtexbuffer", "processtokens", "processuntil", "processxtablebuffer", "processyear", "prod", "product", "profiledbox", "profilegivenbox", "program", "project", "propto", "pseudoMixedCapped", "pseudoSmallCapped", "pseudoSmallcapped", "pseudosmallcapped", "psi", "punctuationspace", "purenumber", "pushattribute", "pushbutton", "pushmacro", "pushmode", "pushoutputstream", "pushsystemmode", "putboxincache", "putnextboxincache", "qquad", "quad", "quadrupleprime", "quads", "quarterstrut", "questiondown", "questionedeq", "quitcommalist", "quitprevcommalist", "quittypescriptscanning", "quotation", "quote", "quotedbl", "quotedblbase", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "quotesingle", "quotesinglebase", "rVert", "racute", "raggedbottom", "raggedcenter", "raggedleft", "raggedright", "raggedwidecenter", "raisebox", "randomizetext", "randomnumber", "rangle", "rationals", "rawcounter", "rawcountervalue", "rawdate", "rawdoifelseinset", "rawdoifinset", "rawdoifinsetelse", "rawgetparameters", "rawprocessaction", "rawprocesscommacommand", "rawprocesscommalist", "rawstructurelistuservariable", "rawsubcountervalue", "rbox", "rbrace", "rbracket", "rcaron", "rceil", "rcommaaccent", "rdoublegrave", "readfile", "readfixfile", "readjobfile", "readlocfile", "readsetfile", "readsysfile", "readtexfile", "readxmlfile", "realSmallCapped", "realSmallcapped", "realpagenumber", "reals", "realsmallcapped", "recursedepth", "recurselevel", "recursestring", "redoconvertfont"!
, "ref", "reference", "referencecolumnnumber", "referencepagedetail", "referencepagestate", "referenceprefix", "referencerealpage", "referencesymbol", "referring", "registerattachment", "registerctxluafile", "registered", "registerexternalfigure", "registerfontclass", "registerhyphenationexception", "registerhyphenationpattern", "registermenubuttons", "registerparwrapper", "registerparwrapperreverse", "registersort", "registersynonym", "registerunit", "regular", "relatemarking", "relateparameterhandlers", "relaxvalueifundefined", "relbar", "remainingcharacters", "remark", "removebottomthings", "removedepth", "removefromcommalist", "removelastskip", "removelastspace", "removemarkedcontent", "removepunctuation", "removesubstring", "removetoks", "removeunwantedspaces", "repeathead", "replacefeature", "replaceincommalist", "replaceword", "rescan", "rescanwithsetup", "resetMPdrawing", "resetMPenvironment", "resetMPinstance", "resetallattributes", "resetandaddfeature", "resetbar", "resetboxesincache", "resetbreakpoints", "resetbuffer", "resetcharacteralign", "resetcharacterkerning", "resetcharacterspacing", "resetcharacterstripping", "resetcollector", "resetcounter", "resetctxscanner", "resetdigitsmanipulation", "resetdirection", "resetfeature", "resetflag", "resetfontcolorsheme", "resetfontfallback", "resetfontsolution", "resethyphenationfeatures", "resetinjector", "resetinteractionmenu", "resetitaliccorrection", "resetlayer", "resetlocalfloats", "resetmarker", "resetmarking", "resetmode", "resetpagenumber", "resetparallel", "resetpath", "resetpenalties", "resetperiodkerning", "resetprofile", "resetrecurselevel", "resetreference", "resetreplacements", "resetscript", "resetsetups", "resetshownsynonyms", "resetsubpagenumber", "resetsymbolset", "resetsystemmode", "resettimer", "resettokenlist", "resettrackers", "resettrialtypesetting", "resetusedsortings", "resetusedsynonyms", "resetuserpagenumber", "resetvalue", "resetvisualizers", "reshapebox", "resolvedglyphdirect", "resolvedglyphstyled", "restartcounter", "restorebo!
x", "restorecatcodes", "restorecounter", "restorecurrentattributes", "restoreendofline", "restoreglobalbodyfont", "restriction", "retestfeature", "reusableMPgraphic", "reuseMPgraphic", "reuserandomseed", "reverseddoubleprime", "reversedprime", "reversedtripleprime", "reversehbox", "reversehpack", "reversetpack", "reversevbox", "reversevboxcontent", "reversevpack", "reversevtop", "revivefeature", "rfence", "rfloor", "rgroup", "rhbox", "rho", "rhooknearrow", "rhookswarrow", "right", "rightaligned", "rightangle", "rightarrow", "rightarrowbar", "rightarrowtail", "rightarrowtriangle", "rightbottombox", "rightbox", "rightdasharrow", "rightguillemot", "rightharpoondown", "rightharpoonup", "righthbox", "rightheadtext", "rightlabeltext", "rightleftarrows", "rightleftharpoons", "rightline", "rightmathlabeltext", "rightorleftpageaction", "rightpageorder", "rightrightarrows", "rightskipadaption", "rightsquigarrow", "rightsubguillemot", "rightthreearrows", "rightthreetimes", "righttoleft", "righttolefthbox", "righttoleftvbox", "righttoleftvtop", "righttopbox", "rightwavearrow", "rightwhitearrow", "ring", "rinterval", "rinvertedbreve", "risingdotseq", "rlap", "rlointerval", "rmoustache", "rneq", "robustaddtocommalist", "robustdoifelseinset", "robustdoifinsetelse", "robustpretocommalist", "rointerval", "rollbutton", "roman", "romanC", "romanD", "romanI", "romanII", "romanIII", "romanIV", "romanIX", "romanL", "romanM", "romanV", "romanVI", "romanVII", "romanVIII", "romanX", "romanXI", "romanXII", "romanc", "romand", "romani", "romanii", "romaniii", "romaniv", "romanix", "romanl", "romanm", "romannumerals", "romanv", "romanvi", "romanvii", "romanviii", "romanx", "romanxi", "romanxii", "rootradical", "rotate", "rparent", "rrangle", "rrbracket", "rrointerval", "rtimes", "rtlhbox", "rtlvbox", "rtlvtop", "rtop", "ruby", "ruledhbox", "ruledhpack", "ruledmbox", "ruledtopv", "ruledtpack", "ruledvbox", "ruledvpack", "ruledvtop", "runMPbuffer", "runninghbox", "russianNumerals", "russiannumerals", "rvert", "sacute", "safechar", "samplefil!
e", "sans", "sansbold", "sansnormal", "sansserif", "savebox", "savebtxdataset", "savebuffer", "savecounter", "savecurrentattributes", "savenormalmeaning", "savetaggedtwopassdata", "savetwopassdata", "sbox", "scale", "scaron", "scedilla", "schwa", "schwahook", "scircumflex", "scommaaccent", "screen", "searrow", "secondoffivearguments", "secondoffourarguments", "secondofsixarguments", "secondofthreearguments", "secondofthreeunexpanded", "secondoftwoarguments", "secondoftwounexpanded", "section", "sectionmark", "seeindex", "select", "selectblocks", "serializecommalist", "serializedcommalist", "serif", "serifbold", "serifnormal", "setJSpreamble", "setMPlayer", "setMPpositiongraphic", "setMPpositiongraphicrange", "setMPtext", "setMPvariable", "setMPvariables", "setautopagestaterealpageno", "setbar", "setbigbodyfont", "setboxllx", "setboxlly", "setbreakpoints", "setcapstrut", "setcatcodetable", "setcharacteralign", "setcharacteraligndetail", "setcharactercasing", "setcharactercleaning", "setcharacterkerning", "setcharacterspacing", "setcharacterstripping", "setcharstrut", "setcollector", "setcolormodell", "setcounter", "setcounterown", "setctxluafunction", "setcurrentfontclass", "setdataset", "setdatavalue", "setdefaultpenalties", "setdigitsmanipulation", "setdirection", "setdocumentargument", "setdocumentargumentdefault", "setdocumentfilename", "setdummyparameter", "setelementexporttag", "setemeasure", "setevalue", "setevariable", "setevariables", "setexpansion", "setfirstline", "setfirstpasscharacteralign", "setflag", "setfont", "setfontcolorsheme", "setfontfeature", "setfontsolution", "setfontstrut", "setfractions", "setglobalscript", "setgmeasure", "setgvalue", "setgvariable", "setgvariables", "sethboxregister", "sethyphenatedurlafter", "sethyphenatedurlbefore", "sethyphenatedurlnormal", "sethyphenationfeatures", "setinitial", "setinjector", "setinteraction", "setinterfacecommand", "setinterfaceconstant", "setinterfaceelement", "setinterfacemessage", "setinterfacevariable", "setinternalrendering", "setitaliccorrec!
tion", "setlayer", "setlayerframed", "setlayertext", "setlinefiller", "setlocalhsize", "setlocalscript", "setluatable", "setmainbodyfont", "setmainparbuilder", "setmarker", "setmarking", "setmathstyle", "setmeasure", "setmessagetext", "setminus", "setmode", "setnostrut", "setnote", "setnotetext", "setobject", "setoldstyle", "setpagereference", "setpagestate", "setpagestaterealpageno", "setparagraphfreezing", "setpenalties", "setpercentdimen", "setperiodkerning", "setposition", "setpositionbox", "setpositiondata", "setpositiondataplus", "setpositiononly", "setpositionplus", "setpositionstrut", "setprofile", "setrandomseed", "setreference", "setreferencedobject", "setregisterentry", "setreplacements", "setrigidcolumnbalance", "setrigidcolumnhsize", "setscript", "setsecondpasscharacteralign", "setsectionblock", "setsimplecolumnshsize", "setsmallbodyfont", "setsmallcaps", "setstackbox", "setstructurepageregister", "setstrut", "setsuperiors", "setsystemmode", "settabular", "settaggedmetadata", "settestcrlf", "settextcontent", "settightobject", "settightreferencedobject", "settightstrut", "settightunreferencedobject", "settokenlist", "settrialtypesetting", "setuevalue", "setugvalue", "setunreferencedobject", "setup", "setupMPgraphics", "setupMPinstance", "setupMPpage", "setupMPvariables", "setupTABLE", "setupTEXpage", "setupalign", "setupalternativestyles", "setuparranging", "setupattachment", "setupattachments", "setupbackend", "setupbackground", "setupbackgrounds", "setupbar", "setupbars", "setupblackrules", "setupblank", "setupbleeding", "setupblock", "setupbodyfont", "setupbodyfontenvironment", "setupbookmark", "setupbottom", "setupbottomtexts", "setupbtx", "setupbtxdataset", "setupbtxlabeltext", "setupbtxlist", "setupbtxregister", "setupbtxrendering", "setupbuffer", "setupbutton", "setupcapitals", "setupcaption", "setupcaptions", "setupcharacteralign", "setupcharacterkerning", "setupcharacterspacing", "setupchemical", "setupchemicalframed", "setupclipping", "setupcollector", "setupcolor", "setupcolors", "setupcol!
umns", "setupcolumnset", "setupcolumnsetarea", "setupcolumnsetareatext", "setupcolumnsetlines", "setupcolumnsetspan", "setupcolumnsetstart", "setupcombination", "setupcombinedlist", "setupcomment", "setupcontent", "setupcounter", "setupdataset", "setupdelimitedtext", "setupdescription", "setupdescriptions", "setupdirections", "setupdocument", "setupeffect", "setupenumeration", "setupenumerations", "setupenv", "setupexpansion", "setupexport", "setupexternalfigure", "setupexternalfigures", "setupexternalsoundtracks", "setupfacingfloat", "setupfield", "setupfieldbody", "setupfieldcategory", "setupfieldcontentframed", "setupfieldlabelframed", "setupfields", "setupfieldtotalframed", "setupfiller", "setupfillinlines", "setupfillinrules", "setupfirstline", "setupfittingpage", "setupfloat", "setupfloatframed", "setupfloats", "setupfloatsplitting", "setupfontexpansion", "setupfontprotrusion", "setupfonts", "setupfontsolution", "setupfooter", "setupfootertexts", "setupfootnotes", "setupforms", "setupformula", "setupformulae", "setupformulaframed", "setupframed", "setupframedcontent", "setupframedtable", "setupframedtablecolumn", "setupframedtablerow", "setupframedtext", "setupframedtexts", "setupglobalreferenceprefix", "setuphead", "setupheadalternative", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphelp", "setuphigh", "setuphighlight", "setuphyphenation", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupindex", "setupinitial", "setupinsertion", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupitaliccorrection", "setupitemgroup", "setupitemizations", "setupitemize", "setupitems", "setuplabel", "setuplabeltext", "setuplanguage", "setuplayer", "setuplayeredtext", "setuplayout", "setuplayouttext", "setuplegend", "setuplinefiller", "setuplinefillers", "setuplinenote", "setuplinenumbering", "setuplines", "setuplinetable", "setuplinewidth", "setuplist", "setuplistalternative", "setuplistextra", "!
setuplocalfloats", "setuplocalinterlinespace", "setuplow", "setuplowhigh", "setuplowmidhigh", "setupmakeup", "setupmarginblock", "setupmargindata", "setupmarginframed", "setupmarginrule", "setupmarginrules", "setupmarking", "setupmathalignment", "setupmathcases", "setupmathematics", "setupmathfence", "setupmathfraction", "setupmathfractions", "setupmathframed", "setupmathlabeltext", "setupmathmatrix", "setupmathornament", "setupmathradical", "setupmathstackers", "setupmathstyle", "setupmixedcolumns", "setupmodule", "setupmulticolumns", "setupnarrower", "setupnotation", "setupnotations", "setupnote", "setupnotes", "setupoffset", "setupoffsetbox", "setupoperatortext", "setupoppositeplacing", "setuporientation", "setupoutput", "setupoutputroutine", "setuppagechecker", "setuppagecolumns", "setuppagecomment", "setuppageinjection", "setuppageinjectionalternative", "setuppagenumber", "setuppagenumbering", "setuppageshift", "setuppagestate", "setuppagetransitions", "setuppairedbox", "setuppalet", "setuppaper", "setuppapersize", "setupparagraph", "setupparagraphintro", "setupparagraphnumbering", "setupparagraphs", "setupparallel", "setupperiodkerning", "setupperiods", "setupplaceholder", "setupplacement", "setuppositionbar", "setuppositioning", "setupprefixtext", "setupprocessor", "setupprofile", "setupprograms", "setupquotation", "setupquote", "setuprealpagenumber", "setupreferenceformat", "setupreferenceprefix", "setupreferencestructureprefix", "setupreferencing", "setupregister", "setupregisters", "setuprenderingwindow", "setuprotate", "setupruby", "setups", "setupscale", "setupscript", "setupscripts", "setupsectionblock", "setupselector", "setupshift", "setupsidebar", "setupsorting", "setupspacing", "setupspellchecking", "setupstartstop", "setupstretched", "setupstrut", "setupstyle", "setupsubformula", "setupsubformulas", "setupsubpagenumber", "setupsuffixtext", "setupsymbols", "setupsymbolset", "setupsynctex", "setupsynonyms", "setupsystem", "setuptables", "setuptabulate", "setuptagging", "setuptaglabeltext", "setup!
text", "setuptextbackground", "setuptextflow", "setuptextnote", "setuptextrules", "setuptexttexts", "setupthinrules", "setuptolerance", "setuptooltip", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunit", "setupunittext", "setupurl", "setupuserdata", "setupuserdataalternative", "setupuserpagenumber", "setupversion", "setupviewerlayer", "setupvspacing", "setupwhitespace", "setupwithargument", "setupwithargumentswapped", "setupxml", "setupxtable", "setuvalue", "setuxvalue", "setvalue", "setvariable", "setvariables", "setvboxregister", "setvisualizerfont", "setvtopregister", "setwidthof", "setxmeasure", "setxvalue", "setxvariable", "setxvariables", "seveneighths", "sfrac", "shapedhbox", "sharp", "shiftbox", "shiftdown", "shiftup", "showallmakeup", "showattributes", "showbodyfont", "showbodyfontenvironment", "showboxes", "showbtxdatasetauthors", "showbtxdatasetcompleteness", "showbtxdatasetfields", "showbtxfields", "showbtxhashedauthors", "showbtxtables", "showchardata", "showcharratio", "showcolor", "showcolorbar", "showcolorcomponents", "showcolorgroup", "showcolorset", "showcolorstruts", "showcounter", "showdirectives", "showdirsinmargin", "showedebuginfo", "showexperiments", "showfont", "showfontdata", "showfontexpansion", "showfontitalics", "showfontkerns", "showfontparameters", "showfontstrip", "showfontstyle", "showframe", "showglyphdata", "showglyphs", "showgrid", "showgridsnapping", "showhelp", "showhyphenationtrace", "showhyphens", "showinjector", "showjustification", "showkerning", "showlayout", "showlayoutcomponents", "showligature", "showligatures", "showlogcategories", "showluatables", "showmakeup", "showmargins", "showmessage", "showminimalbaseline", "shownextbox", "showotfcomposition", "showpalet", "showparentchain", "showparwrapperstate", "showprint", "showsetups", "showsetupsdefinition", "showstruts", "showsymbolset", "showtimer", "showtokens", "showtrackers", "showvalue", "showvariable", "showwarning", "sigma", "signalrightpage", "sim", "simeq", "simplealignedbox", "simplealignedb!
oxplus", "simplealignedspreadbox", "simplegroupedcommand", "simplereversealignedbox", "simplereversealignedboxplus", "singalcharacteralign", "singlebond", "singleverticalbar", "sixperemspace", "sixthofsixarguments", "slanted", "slantedbold", "slantedface", "slash", "slicepages", "slong", "slovenianNumerals", "sloveniannumerals", "small", "smallbodyfont", "smallbold", "smallbolditalic", "smallboldslanted", "smallcappedcharacters", "smallcappedromannumerals", "smallcaps", "smaller", "smallitalicbold", "smallnormal", "smallskip", "smallslanted", "smallslantedbold", "smalltype", "smash", "smashbox", "smashboxed", "smashedhbox", "smashedvbox", "smile", "snaptogrid", "softhyphen", "solidus", "someheadnumber", "somekindoftab", "someline", "somelocalfloat", "somenamedheadnumber", "someplace", "somewhere", "space", "spaceddigits", "spaceddigitsmethod", "spaceddigitsseparator", "spaceddigitssymbol", "spadesuit", "spanishNumerals", "spanishnumerals", "speech", "sphericalangle", "splitatasterisk", "splitatcolon", "splitatcolons", "splitatcomma", "splitatperiod", "splitdfrac", "splitfilename", "splitfloat", "splitfrac", "splitoffbase", "splitofffull", "splitoffkind", "splitoffname", "splitoffpath", "splitoffroot", "splitofftokens", "splitofftype", "splitstring", "spreadhbox", "sqcap", "sqcup", "sqrt", "sqsubset", "sqsubseteq", "sqsubsetneq", "sqsupset", "sqsupseteq", "sqsupsetneq", "square", "squaredots", "ssharp", "stackrel", "stackscripts", "star", "stareq", "startJScode", "startJSpreamble", "startLUA", "startMP", "startMPclip", "startMPcode", "startMPdefinitions", "startMPdrawing", "startMPenvironment", "startMPextensions", "startMPinclusions", "startMPinitializations", "startMPpage", "startMPpositiongraphic", "startMPpositionmethod", "startMPrun", "startPARSEDXML", "startTABLE", "startTABLEbody", "startTABLEfoot", "startTABLEhead", "startTABLEnested", "startTABLEnext", "startTC", "startTD", "startTDs", "startTEX", "startTEXpage", "startTH", "startTN", "startTR", "startTRs", "startTX", "startTY", "startXML", "startalign",!
"startalignment", "startallmodes", "startappendices", "startarrangedpages", "startasciimode", "startaside", "startattachment", "startbackground", "startbackmatter", "startbar", "startbbordermatrix", "startbitmapimage", "startblockquote", "startbodymatter", "startbordermatrix", "startboxedcolumns", "startbtxlabeltext", "startbtxrenderingdefinitions", "startbuffer", "startcases", "startcatcodetable", "startcenteraligned", "startchapter", "startcharacteralign", "startcheckedfences", "startchemical", "startchemicaltext", "startcollect", "startcollecting", "startcolor", "startcolorintent", "startcoloronly", "startcolorset", "startcolumns", "startcolumnset", "startcolumnsetspan", "startcombination", "startcomment", "startcomponent", "startcontextcode", "startcontextdefinitioncode", "startctxfunction", "startctxfunctiondefinition", "startcurrentcolor", "startcurrentlistentrywrapper", "startdelimited", "startdelimitedtext", "startdisplaymath", "startdmath", "startdocument", "starteffect", "startelement", "startembeddedxtable", "startendnote", "startendofline", "startenvironment", "startexceptions", "startexpanded", "startexpandedcollect", "startextendedcatcodetable", "startexternalfigurecollection", "startfacingfloat", "startfact", "startfigure", "startfiguretext", "startfittingpage", "startfixed", "startfloatcombination", "startfont", "startfontclass", "startfontsolution", "startfootnote", "startformula", "startformulas", "startframed", "startframedcell", "startframedcontent", "startframedrow", "startframedtable", "startframedtext", "startfrontmatter", "startgoto", "startgraphictext", "startgridsnapping", "starthanging", "starthbox", "starthboxestohbox", "starthboxregister", "starthead", "startheadtext", "starthelptext", "starthiding", "starthighlight", "starthyphenation", "startimath", "startindentation", "startindentedtext", "startinteraction", "startinteractionmenu", "startinterface", "startintermezzotext", "startintertext", "startitem", "startitemgroup", "startitemgroupcolumns", "startitemize", "startknockout", "s!
tartlabeltext", "startlanguage", "startlayout", "startleftaligned", "startlegend", "startline", "startlinealignment", "startlinecorrection", "startlinefiller", "startlinenote", "startlinenumbering", "startlines", "startlinetable", "startlinetablebody", "startlinetablecell", "startlinetablehead", "startlocalfootnotes", "startlocalheadsetup", "startlocallinecorrection", "startlocalnotes", "startlocalsetups", "startlua", "startluacode", "startluaparameterset", "startluasetups", "startmakeup", "startmarginblock", "startmarginrule", "startmarkedcontent", "startmarkpages", "startmathalignment", "startmathcases", "startmathlabeltext", "startmathmatrix", "startmathmode", "startmathstyle", "startmatrices", "startmatrix", "startmaxaligned", "startmdformula", "startmidaligned", "startmiddlealigned", "startmiddlemakeup", "startmixedcolumns", "startmode", "startmodeset", "startmodule", "startmoduletestsection", "startmpformula", "startmulticolumns", "startnamedsection", "startnamedsubformulas", "startnarrow", "startnarrower", "startnegative", "startnicelyfilledbox", "startnointerference", "startnotallmodes", "startnotext", "startnotmode", "startoperatortext", "startopposite", "startoutputstream", "startoverlay", "startoverprint", "startpacked", "startpagecolumns", "startpagecomment", "startpagefigure", "startpagelayout", "startpagemakeup", "startpar", "startparagraph", "startparagraphs", "startparagraphscell", "startparbuilder", "startpart", "startpath", "startplacechemical", "startplacefigure", "startplacefloat", "startplaceformula", "startplacegraphic", "startplaceintermezzo", "startplacelegend", "startplacepairedbox", "startplacetable", "startpositioning", "startpositionoverlay", "startpositive", "startpostponing", "startpostponingnotes", "startprefixtext", "startprocessassignmentcommand", "startprocessassignmentlist", "startprocesscommacommand", "startprocesscommalist", "startproduct", "startproject", "startprotect", "startprotectedcolors", "startpublication", "startpunctuation", "startquotation", "startquote", "startran!
domized", "startrandomseed", "startrawsetups", "startreadingfile", "startreferenceprefix", "startregime", "startregister", "startreusableMPgraphic", "startrightaligned", "startruby", "startscript", "startsdformula", "startsection", "startsectionblock", "startsectionblockenvironment", "startsectionlevel", "startsetups", "startshapebox", "startshift", "startsidebar", "startsimplecolumns", "startspecialitem", "startspeech", "startspformula", "startsplitformula", "startsplittext", "startspread", "startstandardmakeup", "startstaticMPfigure", "startstaticMPgraphic", "startstrictinspectnextcharacter", "startstructurepageregister", "startstrut", "startstyle", "startsubformulas", "startsubject", "startsubjectlevel", "startsubsection", "startsubsentence", "startsubstack", "startsubsubject", "startsubsubsection", "startsubsubsubject", "startsubsubsubsection", "startsubsubsubsubject", "startsubsubsubsubsection", "startsubsubsubsubsubject", "startsuffixtext", "startsymbolset", "starttable", "starttablehead", "starttables", "starttabletail", "starttabletext", "starttabulate", "starttabulatehead", "starttabulatetail", "starttagged", "starttaglabeltext", "starttexcode", "starttexdefinition", "starttext", "starttextbackground", "starttextbackgroundmanual", "starttextcolor", "starttextcolorintent", "starttextflow", "starttextmakeup", "starttextrule", "startthematrix", "starttitle", "starttokenlist", "starttokens", "starttransparent", "starttypescript", "starttypescriptcollection", "starttyping", "startuniqueMPgraphic", "startuniqueMPpagegraphic", "startunittext", "startunpacked", "startusableMPgraphic", "startuseMPgraphic", "startusemathstyleparameter", "startuserdata", "startusingbtxspecification", "startvbox", "startvboxregister", "startvboxtohbox", "startvboxtohboxseparator", "startviewerlayer", "startvtop", "startvtopregister", "startxcell", "startxcellgroup", "startxcolumn", "startxgroup", "startxmldisplayverbatim", "startxmlinlineverbatim", "startxmlraw", "startxmlsetups", "startxrow", "startxrowgroup", "startxtable", "star!
txtablebody", "startxtablefoot", "startxtablehead", "startxtablenext", "stligature", "stopJScode", "stopJSpreamble", "stopLUA", "stopMP", "stopMPclip", "stopMPcode", "stopMPdefinitions", "stopMPdrawing", "stopMPenvironment", "stopMPextensions", "stopMPinclusions", "stopMPinitializations", "stopMPpage", "stopMPpositiongraphic", "stopMPpositionmethod", "stopMPrun", "stopPARSEDXML", "stopTABLE", "stopTABLEbody", "stopTABLEfoot", "stopTABLEhead", "stopTABLEnested", "stopTABLEnext", "stopTC", "stopTD", "stopTDs", "stopTEX", "stopTEXpage", "stopTH", "stopTN", "stopTR", "stopTRs", "stopTX", "stopTY", "stopXML", "stopalign", "stopalignment", "stopallmodes", "stopappendices", "stoparrangedpages", "stopasciimode", "stopaside", "stopattachment", "stopbackground", "stopbackmatter", "stopbar", "stopbbordermatrix", "stopbitmapimage", "stopblockquote", "stopbodymatter", "stopbordermatrix", "stopboxedcolumns", "stopbtxlabeltext", "stopbtxrenderingdefinitions", "stopbuffer", "stopcases", "stopcatcodetable", "stopcenteraligned", "stopchapter", "stopcharacteralign", "stopcheckedfences", "stopchemical", "stopchemicaltext", "stopcollect", "stopcollecting", "stopcolor", "stopcolorintent", "stopcoloronly", "stopcolorset", "stopcolumns", "stopcolumnset", "stopcolumnsetspan", "stopcombination", "stopcomment", "stopcomponent", "stopcontextcode", "stopcontextdefinitioncode", "stopctxfunction", "stopctxfunctiondefinition", "stopcurrentcolor", "stopcurrentlistentrywrapper", "stopdelimited", "stopdelimitedtext", "stopdisplaymath", "stopdmath", "stopdocument", "stopeffect", "stopelement", "stopembeddedxtable", "stopendnote", "stopendofline", "stopenvironment", "stopexceptions", "stopexpanded", "stopexpandedcollect", "stopextendedcatcodetable", "stopexternalfigurecollection", "stopfacingfloat", "stopfact", "stopfigure", "stopfiguretext", "stopfittingpage", "stopfixed", "stopfloatcombination", "stopfont", "stopfontclass", "stopfontsolution", "stopfootnote", "stopformula", "stopformulas", "stopframed", "stopframedcell", "stopframedcontent", "sto!
pframedrow", "stopframedtable", "stopframedtext", "stopfrontmatter", "stopgoto", "stopgraphictext", "stopgridsnapping", "stophanging", "stophbox", "stophboxestohbox", "stophboxregister", "stophead", "stopheadtext", "stophelptext", "stophiding", "stophighlight", "stophyphenation", "stopimath", "stopindentation", "stopindentedtext", "stopinteraction", "stopinteractionmenu", "stopinterface", "stopintermezzotext", "stopintertext", "stopitem", "stopitemgroup", "stopitemgroupcolumns", "stopitemize", "stopknockout", "stoplabeltext", "stoplanguage", "stoplayout", "stopleftaligned", "stoplegend", "stopline", "stoplinealignment", "stoplinecorrection", "stoplinefiller", "stoplinenote", "stoplinenumbering", "stoplines", "stoplinetable", "stoplinetablebody", "stoplinetablecell", "stoplinetablehead", "stoplocalfootnotes", "stoplocalheadsetup", "stoplocallinecorrection", "stoplocalnotes", "stoplocalsetups", "stoplua", "stopluacode", "stopluaparameterset", "stopluasetups", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopmarkedcontent", "stopmarkpages", "stopmathalignment", "stopmathcases", "stopmathlabeltext", "stopmathmatrix", "stopmathmode", "stopmathstyle", "stopmatrices", "stopmatrix", "stopmaxaligned", "stopmdformula", "stopmidaligned", "stopmiddlealigned", "stopmiddlemakeup", "stopmixedcolumns", "stopmode", "stopmodeset", "stopmodule", "stopmoduletestsection", "stopmpformula", "stopmulticolumns", "stopnamedsection", "stopnamedsubformulas", "stopnarrow", "stopnarrower", "stopnegative", "stopnicelyfilledbox", "stopnointerference", "stopnotallmodes", "stopnotext", "stopnotmode", "stopoperatortext", "stopopposite", "stopoutputstream", "stopoverlay", "stopoverprint", "stoppacked", "stoppagecolumns", "stoppagecomment", "stoppagefigure", "stoppagelayout", "stoppagemakeup", "stoppar", "stopparagraph", "stopparagraphs", "stopparagraphscell", "stopparbuilder", "stoppart", "stoppath", "stopplacechemical", "stopplacefigure", "stopplacefloat", "stopplaceformula", "stopplacegraphic", "stopplaceintermezzo", "stopplacelegend", "s!
topplacepairedbox", "stopplacetable", "stoppositioning", "stoppositionoverlay", "stoppositive", "stoppostponing", "stoppostponingnotes", "stopprefixtext", "stopprocessassignmentcommand", "stopprocessassignmentlist", "stopprocesscommacommand", "stopprocesscommalist", "stopproduct", "stopproject", "stopprotect", "stopprotectedcolors", "stoppublication", "stoppunctuation", "stopquotation", "stopquote", "stoprandomized", "stoprandomseed", "stoprawsetups", "stopreadingfile", "stopreferenceprefix", "stopregime", "stopreusableMPgraphic", "stoprightaligned", "stopruby", "stopscript", "stopsdformula", "stopsection", "stopsectionblock", "stopsectionblockenvironment", "stopsectionlevel", "stopsetups", "stopshapebox", "stopshift", "stopsidebar", "stopsimplecolumns", "stopspecialitem", "stopspeech", "stopspformula", "stopsplitformula", "stopsplittext", "stopspread", "stopstandardmakeup", "stopstaticMPfigure", "stopstaticMPgraphic", "stopstrictinspectnextcharacter", "stopstrut", "stopstyle", "stopsubformulas", "stopsubject", "stopsubjectlevel", "stopsubsection", "stopsubsentence", "stopsubstack", "stopsubsubject", "stopsubsubsection", "stopsubsubsubject", "stopsubsubsubsection", "stopsubsubsubsubject", "stopsubsubsubsubsection", "stopsubsubsubsubsubject", "stopsuffixtext", "stopsymbolset", "stoptable", "stoptablehead", "stoptables", "stoptabletail", "stoptabletext", "stoptabulate", "stoptabulatehead", "stoptabulatetail", "stoptagged", "stoptaglabeltext", "stoptexcode", "stoptexdefinition", "stoptext", "stoptextbackground", "stoptextbackgroundmanual", "stoptextcolor", "stoptextcolorintent", "stoptextflow", "stoptextmakeup", "stoptextrule", "stopthematrix", "stoptitle", "stoptokenlist", "stoptokens", "stoptransparent", "stoptypescript", "stoptypescriptcollection", "stoptyping", "stopuniqueMPgraphic", "stopuniqueMPpagegraphic", "stopunittext", "stopunpacked", "stopusableMPgraphic", "stopuseMPgraphic", "stopusemathstyleparameter", "stopuserdata", "stopusingbtxspecification", "stopvbox", "stopvboxregister", "stopvboxtohbox", "stop!
vboxtohboxseparator", "stopviewerlayer", "stopvtop", "stopvtopregister", "stopxcell", "stopxcellgroup", "stopxcolumn", "stopxgroup", "stopxmldisplayverbatim", "stopxmlinlineverbatim", "stopxmlraw", "stopxmlsetups", "stopxrow", "stopxrowgroup", "stopxtable", "stopxtablebody", "stopxtablefoot", "stopxtablehead", "stopxtablenext", "stretched", "strictdoifelsenextoptional", "strictdoifnextoptionalelse", "stripcharacter", "strippedcsname", "stripspaces", "structurelistuservariable", "structurenumber", "structuretitle", "structureuservariable", "structurevariable", "strut", "strutdp", "strutgap", "strutht", "struthtdp", "struttedbox", "strutwd", "style", "styleinstance", "subject", "subpagenumber", "subsection", "subsentence", "subset", "subseteq", "subseteqq", "subsetneq", "subsetneqq", "substituteincommalist", "subsubject", "subsubsection", "subsubsubject", "subsubsubsection", "subsubsubsubject", "subsubsubsubsection", "subsubsubsubsubject", "subtractfeature", "succ", "succapprox", "succcurlyeq", "succeq", "succeqq", "succnapprox", "succneq", "succneqq", "succnsim", "succsim", "suffixlanguage", "suffixtext", "sum", "supset", "supseteq", "supseteqq", "supsetneq", "supsetneqq", "surd", "surdradical", "swapcounts", "swapdimens", "swapface", "swapmacros", "swaptypeface", "swarrow", "switchstyleonly", "switchtobodyfont", "switchtocolor", "switchtointerlinespace", "symbol", "symbolreference", "synchronizeblank", "synchronizeindenting", "synchronizemarking", "synchronizeoutputstreams", "synchronizestrut", "synchronizewhitespace", "synctexblockfilename", "synctexresetfilename", "synctexsetfilename", "systemlog", "systemlogfirst", "systemloglast", "systemsetups", "tLeftarrow", "tLeftrightarrow", "tRightarrow", "tabulateautoline", "tabulateautorule", "tabulateline", "tabulaterule", "taggedctxcommand", "taggedlabeltexts", "taglabellanguage", "taglabeltext", "tau", "tbinom", "tbox", "tcaron", "tcedilla", "tcommaaccent", "tcurl", "tequal", "test", "testandsplitstring", "testcolumn", "testfeature", "testfeatureonce", "testpage", !
"testpageonly", "testpagesync", "testtokens", "tex", "texdefinition", "texsetup", "textAngstrom", "textacute", "textampersand", "textasciicircum", "textasciitilde", "textat", "textbackslash", "textbar", "textbottomcomma", "textbottomdot", "textbraceleft", "textbraceright", "textbreve", "textbrokenbar", "textbullet", "textcaron", "textcedilla", "textcelsius", "textcent", "textcircledP", "textcircumflex", "textcitation", "textcite", "textcomma", "textcontrolspace", "textcurrency", "textdag", "textddag", "textdegree", "textdiaeresis", "textdiv", "textdollar", "textdong", "textdotaccent", "textellipsis", "texteuro", "textflowcollector", "textfraction", "textgrave", "texthash", "texthorizontalbar", "texthungarumlaut", "texthyphen", "textkelvin", "textlognot", "textmacron", "textmath", "textmho", "textminus", "textmp", "textmu", "textmultiply", "textnumero", "textogonek", "textohm", "textormathchar", "textormathchars", "textounce", "textpercent", "textperiod", "textplus", "textpm", "textreference", "textring", "textrule", "textslash", "textsterling", "texttilde", "textunderscore", "textvisiblespace", "textyen", "thai", "thainumerals", "thedatavalue", "thefirstcharacter", "thematrix", "thenormalizedbodyfontsize", "theorientation", "therefore", "theremainingcharacters", "theta", "thickspace", "thinrule", "thinrules", "thinspace", "thirdoffivearguments", "thirdoffourarguments", "thirdofsixarguments", "thirdofthreearguments", "thirdofthreeunexpanded", "thook", "thookleftarrow", "thookrightarrow", "thorn", "threedigitrounding", "threeeighths", "threefifths", "threeperemspace", "threequarter", "threesuperior", "tibetannumerals", "tightlayer", "tilde", "times", "tinyfont", "title", "tlap", "tleftarrow", "tleftharpoondown", "tleftharpoonup", "tleftrightarrow", "tleftrightharpoons", "tmapsto", "to", "tochar", "tolinenote", "tooltip", "top", "topbox", "topleftbox", "toplinebox", "toprightbox", "topskippedbox", "tracecatcodetables", "tracedfontname", "tracedpagestate", "traceoutputroutines", "tracepositions", "trademark", "trans!
late", "transparencycomponents", "transparent", "trel", "triangle", "triangledown", "triangleleft", "triangleq", "triangleright", "trightarrow", "trightharpoondown", "trightharpoonup", "trightleftharpoons", "trightoverleftarrow", "triplebond", "tripleprime", "tripleverticalbar", "truefilename", "truefontname", "tstroke", "ttraggedright", "ttriplerel", "ttwoheadleftarrow", "ttwoheadrightarrow", "turnediota", "twodigitrounding", "twofifths", "twoheaddownarrow", "twoheadleftarrow", "twoheadrightarrow", "twoheadrightarrowtail", "twoheaduparrow", "twosuperior", "twothirds", "tx", "txx", "typ", "type", "typebuffer", "typedefinedbuffer", "typeface", "typefile", "typeinlinebuffer", "typescriptone", "typescriptprefix", "typescriptthree", "typescripttwo", "typesetbuffer", "typesetbufferonly", "typesetfile", "uacute", "ubreve", "ucaron", "uchexnumber", "uchexnumbers", "ucircumflex", "uconvertnumber", "udiaeresis", "udiaeresisacute", "udiaeresiscaron", "udiaeresisgrave", "udiaeresismacron", "udotbelow", "udots", "udoublegrave", "uedcatcodecommand", "ugrave", "uhook", "uhorn", "uhornacute", "uhorndotbelow", "uhorngrave", "uhornhook", "uhorntilde", "uhungarumlaut", "uinvertedbreve", "ulcorner", "umacron", "undefinevalue", "undepthed", "underbar", "underbars", "underbartext", "underbrace", "underbracetext", "underbracket", "underbrackettext", "underdash", "underdashes", "underdot", "underdots", "underleftarrow", "underleftharpoondown", "underleftharpoonup", "underleftrightarrow", "underparent", "underparenttext", "underrandom", "underrandoms", "underrightarrow", "underrightharpoondown", "underrightharpoonup", "underset", "understrike", "understrikes", "undertwoheadleftarrow", "undertwoheadrightarrow", "undoassign", "unexpandeddocumentvariable", "unframed", "unhhbox", "unihex", "uniqueMPgraphic", "uniqueMPpagegraphic", "unit", "unitlanguage", "unitshigh", "unitslow", "unittext", "unknown", "unprotected", "unregisterhyphenationpattern", "unregisterparwrapper", "unspaceafter", "unspaceargument", "unspaced", "unspacestring", "unst!
ackscripts", "untexargument", "untexcommand", "uogonek", "upand", "uparrow", "updasharrow", "updateparagraphdemerits", "updateparagraphpenalties", "updateparagraphproperties", "updateparagraphshapes", "updownarrow", "updownarrowbar", "updownarrows", "upharpoonleft", "upharpoonright", "uplus", "uppercased", "uppercasestring", "uppercasing", "upperleftdoubleninequote", "upperleftdoublesixquote", "upperleftsingleninequote", "upperleftsinglesixquote", "upperrightdoubleninequote", "upperrightdoublesixquote", "upperrightsingleninequote", "upperrightsinglesixquote", "upsilon", "upuparrows", "upwhitearrow", "urcorner", "uring", "url", "useJSscripts", "useMPenvironmentbuffer", "useMPgraphic", "useMPlibrary", "useMPrun", "useMPvariables", "useURL", "usealignparameter", "useblankparameter", "useblocks", "usebodyfont", "usebodyfontparameter", "usebtxdataset", "usebtxdefinitions", "usecitation", "usecolors", "usecomponent", "usedirectory", "usedummycolorparameter", "usedummystyleandcolor", "usedummystyleparameter", "useenvironment", "useexternaldocument", "useexternalfigure", "useexternalrendering", "useexternalsoundtrack", "usefigurebase", "usefile", "usefontpath", "usegridparameter", "usehyphensparameter", "useindentingparameter", "useindentnextparameter", "useinterlinespaceparameter", "uselanguageparameter", "useluamodule", "useluatable", "usemathstyleparameter", "usemodule", "useproduct", "useprofileparameter", "useproject", "usereferenceparameter", "userpagenumber", "usesetupsparameter", "usestaticMPfigure", "usesubpath", "usesymbols", "usetexmodule", "usetypescript", "usetypescriptfile", "useurl", "usezipfile", "utfchar", "utflower", "utfupper", "utilde", "utilityregisterlength", "vDash", "validassignment", "varTheta", "varepsilon", "varkappa", "varnothing", "varphi", "varpi", "varrho", "varsigma", "vartheta", "vboxreference", "vdash", "vdots", "vec", "vee", "veebar", "veeeq", "verbatim", "verbatimstring", "verbosenumber", "version", "vert", "verticalgrowingbar", "verticalpositionbar", "veryraggedcenter", "veryraggedle!
ft", "veryraggedright", "vglue", "viewerlayer", "vl", "vpackbox", "vpackedbox", "vphantom", "vpos", "vsmash", "vsmashbox", "vsmashed", "vspace", "vspacing", "wcircumflex", "wdofstring", "wedge", "wedgeeq", "weekday", "whitearrowupfrombar", "wideacute", "widebar", "widebreve", "widecheck", "wideddot", "widedot", "widegrave", "widehat", "widering", "widetilde", "widthofstring", "widthspanningtext", "withoutpt", "word", "wordright", "words", "wordtonumber", "wp", "wr", "writebetweenlist", "writedatatolist", "writestatus", "writetolist", "xLeftarrow", "xLeftrightarrow", "xRightarrow", "xdefconvertedargument", "xequal", "xfrac", "xhookleftarrow", "xhookrightarrow", "xi", "xleftarrow", "xleftharpoondown", "xleftharpoonup", "xleftrightarrow", "xleftrightharpoons", "xmapsto", "xmladdindex", "xmlafterdocumentsetup", "xmlaftersetup", "xmlall", "xmlappenddocumentsetup", "xmlappendsetup", "xmlapplyselectors", "xmlatt", "xmlattdef", "xmlattribute", "xmlattributedef", "xmlbadinclusions", "xmlbeforedocumentsetup", "xmlbeforesetup", "xmlchainatt", "xmlchainattdef", "xmlchecknamespace", "xmlcommand", "xmlconcat", "xmlconcatrange", "xmlcontext", "xmlcount", "xmldefaulttotext", "xmldepth", "xmldirectives", "xmldirectivesafter", "xmldirectivesbefore", "xmldisplayverbatim", "xmldoif", "xmldoifatt", "xmldoifelse", "xmldoifelseatt", "xmldoifelseempty", "xmldoifelseselfempty", "xmldoifelsetext", "xmldoifelsevalue", "xmldoifnot", "xmldoifnotatt", "xmldoifnotselfempty", "xmldoifnottext", "xmldoifselfempty", "xmldoiftext", "xmlelement", "xmlfilter", "xmlfirst", "xmlflush", "xmlflushcontext", "xmlflushdocumentsetups", "xmlflushlinewise", "xmlflushpure", "xmlflushspacewise", "xmlflushtext", "xmlinclude", "xmlinclusion", "xmlinclusions", "xmlinfo", "xmlinjector", "xmlinlineprettyprint", "xmlinlineprettyprinttext", "xmlinlineverbatim", "xmlinstalldirective", "xmllast", "xmllastatt", "xmllastmatch", "xmllastpar", "xmlloadbuffer", "xmlloaddata", "xmlloaddirectives", "xmlloadfile", "xmlloadonly", "xmlmain", "xmlmapvalue", "xmlname", "xmlnamespac!
e", "xmlnonspace", "xmlpar", "xmlparam", "xmlpath", "xmlpos", "xmlposition", "xmlprependdocumentsetup", "xmlprependsetup", "xmlprettyprint", "xmlprettyprinttext", "xmlprocessbuffer", "xmlprocessdata", "xmlprocessfile", "xmlpure", "xmlraw", "xmlrefatt", "xmlregistereddocumentsetups", "xmlregisteredsetups", "xmlregisterns", "xmlremapname", "xmlremapnamespace", "xmlremovedocumentsetup", "xmlremovesetup", "xmlresetdocumentsetups", "xmlresetinjectors", "xmlresetsetups", "xmlsave", "xmlsetatt", "xmlsetattribute", "xmlsetentity", "xmlsetfunction", "xmlsetinjectors", "xmlsetpar", "xmlsetparam", "xmlsetsetup", "xmlsetup", "xmlshow", "xmlsnippet", "xmlstrip", "xmlstripnolines", "xmlstripped", "xmlstrippednolines", "xmltag", "xmltexentity", "xmltext", "xmltobuffer", "xmltobufferverbose", "xmltofile", "xmlvalue", "xmlverbatim", "xrel", "xrightarrow", "xrightharpoondown", "xrightharpoonup", "xrightleftharpoons", "xrightoverleftarrow", "xsplitstring", "xtriplerel", "xtwoheadleftarrow", "xtwoheadrightarrow", "xxfrac", "xypos", "yacute", "ycircumflex", "ydiaeresis", "ydotbelow", "yen", "ygrave", "yhook", "yiddishnumerals", "ymacron", "ytilde", "zacute", "zcaron", "zdotaccent", "zeronumberconversion", "zerowidthnobreakspace", "zerowidthspace", "zeta", "zhook", "zstroke", "zwj", "zwnj" },
+ ["common"]={ "AEacute", "AEligature", "AEmacron", "AMSTEX", "Aacute", "Abreve", "Abreveacute", "Abrevedotbelow", "Abrevegrave", "Abrevehook", "Abrevetilde", "Acaron", "Acircumflex", "Acircumflexacute", "Acircumflexdotbelow", "Acircumflexgrave", "Acircumflexhook", "Acircumflextilde", "Adiaeresis", "Adiaeresismacron", "Adotaccent", "Adotaccentmacron", "Adotbelow", "Adoublegrave", "AfterPar", "Agrave", "Ahook", "Ainvertedbreve", "Alpha", "Alphabeticnumerals", "AmSTeX", "Amacron", "And", "Angstrom", "Aogonek", "Aring", "Aringacute", "Arrowvert", "Astroke", "Atilde", "BeforePar", "Beta", "Bhook", "Big", "Bigg", "Biggl", "Biggm", "Biggr", "Bigl", "Bigm", "Bigr", "Box", "Bumpeq", "CONTEXT", "Cacute", "Cap", "Caps", "Ccaron", "Ccedilla", "Ccircumflex", "Cdotaccent", "Character", "Characters", "Chi", "Chook", "ConTeXt", "Context", "ConvertConstantAfter", "ConvertToConstant", "Cstroke", "Cup", "DAYLONG", "DAYSHORT", "DZcaronligature", "DZligature", "Dafrican", "Dcaron", "Ddownarrow", "Delta", "Dhook", "Doteq", "Downarrow", "Dstroke", "Dzcaronligature", "Dzligature", "ETEX", "Eacute", "Ebreve", "Ecaron", "Ecedilla", "Ecircumflex", "Ecircumflexacute", "Ecircumflexdotbelow", "Ecircumflexgrave", "Ecircumflexhook", "Ecircumflextilde", "Ediaeresis", "Edotaccent", "Edotbelow", "Edoublegrave", "Egrave", "Ehook", "Einvertedbreve", "Emacron", "Eogonek", "Epsilon", "Eta", "Eth", "Etilde", "Eulerconst", "EveryLine", "EveryPar", "Fhook", "Finv", "Gacute", "Game", "Gamma", "Gbreve", "Gcaron", "Gcircumflex", "Gcommaaccent", "Gdotaccent", "GetPar", "Ghook", "GotoPar", "Greeknumerals", "Gstroke", "Hcaron", "Hcircumflex", "Hstroke", "IJligature", "INRSTEX", "Iacute", "Ibreve", "Icaron", "Icircumflex", "Idiaeresis", "Idotaccent", "Idotbelow", "Idoublegrave", "Igrave", "Ihook", "Iinvertedbreve", "Im", "Imacron", "Iogonek", "Iota", "Istroke", "Itilde", "Jcircumflex", "Join", "Kappa", "Kcaron", "Kcommaaccent", "Khook", "LAMSTEX", "LATEX", "LJligature", "LUAJITTEX", "LUAMETATEX", "LUATEX", "LaTeX", "Lacute", "LamSTeX", "Lambda", "Lbar!
", "Lcaron", "Lcommaaccent", "Ldotmiddle", "Ldsh", "Leftarrow", "Leftrightarrow", "Ljligature", "Lleftarrow", "Longleftarrow", "Longleftrightarrow", "Longmapsfrom", "Longmapsto", "Longrightarrow", "Lsh", "Lstroke", "Lua", "LuaMetaTeX", "LuaTeX", "LuajitTeX", "METAFONT", "METAFUN", "METAPOST", "MKII", "MKIV", "MKIX", "MKLX", "MKVI", "MKXI", "MKXL", "MONTH", "MONTHLONG", "MONTHSHORT", "MPII", "MPIV", "MPLX", "MPVI", "MPXL", "MPanchor", "MPbetex", "MPc", "MPcode", "MPcolor", "MPcoloronly", "MPcolumn", "MPd", "MPdrawing", "MPfontsizehskip", "MPgetmultipars", "MPgetmultishape", "MPgetposboxes", "MPh", "MPinclusions", "MPleftskip", "MPll", "MPlr", "MPls", "MPmenubuttons", "MPn", "MPoptions", "MPoverlayanchor", "MPp", "MPpage", "MPpardata", "MPplus", "MPpos", "MPpositiongraphic", "MPposset", "MPr", "MPrawvar", "MPregion", "MPrest", "MPrightskip", "MPrs", "MPstring", "MPtext", "MPtransparency", "MPul", "MPur", "MPv", "MPvar", "MPvariable", "MPvv", "MPw", "MPwhd", "MPx", "MPxy", "MPxywhd", "MPy", "Mapsfrom", "Mapsto", "MetaFont", "MetaFun", "MetaPost", "Mu", "NJligature", "Nacute", "Ncaron", "Ncommaaccent", "Nearrow", "Neng", "Ngrave", "Njligature", "NormalizeFontHeight", "NormalizeFontWidth", "NormalizeTextHeight", "NormalizeTextWidth", "Ntilde", "Nu", "Numbers", "Nwarrow", "OEligature", "Oacute", "Obreve", "Ocaron", "Ocircumflex", "Ocircumflexacute", "Ocircumflexdotbelow", "Ocircumflexgrave", "Ocircumflexhook", "Ocircumflextilde", "Odiaeresis", "Odiaeresismacron", "Odotaccent", "Odotaccentmacron", "Odotbelow", "Odoublegrave", "Ograve", "Ohook", "Ohorn", "Ohornacute", "Ohorndotbelow", "Ohorngrave", "Ohornhook", "Ohorntilde", "Ohungarumlaut", "Oinvertedbreve", "Omacron", "Omega", "Omicron", "Oogonek", "Oogonekmacron", "Ostroke", "Ostrokeacute", "Otilde", "Otildemacron", "P", "PDFETEX", "PDFTEX", "PDFcolor", "PICTEX", "PPCHTEX", "PPCHTeX", "PRAGMA", "Phi", "Phook", "Pi", "PiCTeX", "Plankconst", "PointsToBigPoints", "PointsToReal", "PointsToWholeBigPoints", "Psi", "PtToCm", "Racute", "Rcaron", "Rcommaaccent", "Rdoublegrave!
", "Rdsh", "Re", "ReadFile", "Relbar", "Rho", "Rightarrow", "Rinvertedbreve", "Romannumerals", "Rrightarrow", "Rsh", "S", "Sacute", "ScaledPointsToBigPoints", "ScaledPointsToWholeBigPoints", "Scaron", "Scedilla", "Schwa", "Scircumflex", "Scommaaccent", "Searrow", "Sigma", "Smallcapped", "Subset", "Supset", "Swarrow", "TABLE", "TEX", "TaBlE", "Tau", "Tcaron", "Tcedilla", "Tcommaaccent", "TeX", "TheNormalizedFontSize", "Theta", "Thook", "Thorn", "TransparencyHack", "Tstroke", "Uacute", "Ubreve", "Ucaron", "Ucircumflex", "Udiaeresis", "Udiaeresisacute", "Udiaeresiscaron", "Udiaeresisgrave", "Udiaeresismacron", "Udotbelow", "Udoublegrave", "Ugrave", "Uhook", "Uhorn", "Uhornacute", "Uhorndotbelow", "Uhorngrave", "Uhornhook", "Uhorntilde", "Uhungarumlaut", "Uinvertedbreve", "Umacron", "Uogonek", "Uparrow", "Updownarrow", "Upsilon", "Uring", "Utilde", "Uuparrow", "VDash", "Vdash", "VerboseNumber", "Vert", "Vhook", "Vvdash", "WEEKDAY", "WORD", "WORDS", "Wcircumflex", "WidthSpanningText", "Word", "Words", "XETEX", "XeTeX", "Xi", "Yacute", "Ycircumflex", "Ydiaeresis", "Ydotbelow", "Ygrave", "Yhook", "Ymacron", "Ytilde", "Zacute", "Zcaron", "Zdotaccent", "Zeta", "Zhook", "Zstroke", "aacute", "abbreviation", "abjadnaivenumerals", "abjadnodotnumerals", "abjadnumerals", "about", "abreve", "abreveacute", "abrevedotbelow", "abrevegrave", "abrevehook", "abrevetilde", "acaron", "acircumflex", "acircumflexacute", "acircumflexdotbelow", "acircumflexgrave", "acircumflexhook", "acircumflextilde", "activatespacehandler", "actualday", "actualmonth", "actualyear", "actuarial", "acute", "acwopencirclearrow", "adaptcollector", "adaptfontfeature", "adaptlayout", "adaptpapersize", "addfeature", "addtoJSpreamble", "addtocommalist", "addvalue", "adiaeresis", "adiaeresismacron", "adjointsymbol", "adotaccent", "adotaccentmacron", "adotbelow", "adoublegrave", "aeacute", "aeligature", "aemacron", "afghanicurrency", "aftersplitstring", "aftertestandsplitstring", "agrave", "ahook", "ainvertedbreve", "aleph", "alignbottom", "aligned", "alignedbox", !
"alignedline", "alignhere", "alignmentcharacter", "allinputpaths", "alpha", "alphabeticnumerals", "alwayscitation", "alwayscite", "amacron", "amalg", "ampersand", "anchor", "angle", "aogonek", "appendetoks", "appendgvalue", "appendtocommalist", "appendtoks", "appendtoksonce", "appendvalue", "apply", "applyalternativestyle", "applyfunction", "applyfunctionof", "applyprocessor", "applytocharacters", "applytofirstcharacter", "applytosplitstringchar", "applytosplitstringcharspaced", "applytosplitstringline", "applytosplitstringlinespaced", "applytosplitstringword", "applytosplitstringwordspaced", "applytowords", "approx", "approxEq", "approxeq", "approxnEq", "arabicakbar", "arabicalayhe", "arabicallah", "arabicallallahou", "arabicasterisk", "arabicbasmalah", "arabiccomma", "arabiccuberoot", "arabicdateseparator", "arabicdecimals", "arabicdisputedendofayah", "arabicendofayah", "arabicexnumerals", "arabicfootnotemarker", "arabicfourthroot", "arabichighain", "arabichighalayheassallam", "arabichigheqala", "arabichighesala", "arabichighfootnotemarker", "arabichighjeem", "arabichighlamalef", "arabichighmadda", "arabichighmeemlong", "arabichighmeemshort", "arabichighnisf", "arabichighnoon", "arabichighnoonkasra", "arabichighqaf", "arabichighqif", "arabichighradiallahouanhu", "arabichighrahmatullahalayhe", "arabichighrubc", "arabichighsad", "arabichighsajda", "arabichighsakta", "arabichighsallallahou", "arabichighseen", "arabichighsmallsafha", "arabichightah", "arabichightakhallus", "arabichighthalatha", "arabichighwaqf", "arabichighyeh", "arabichighzain", "arabicjallajalalouhou", "arabiclettermark", "arabiclowmeemlong", "arabiclownoonkasra", "arabiclowseen", "arabicmisra", "arabicmuhammad", "arabicnumber", "arabicnumberabove", "arabicnumerals", "arabicparenleft", "arabicparenright", "arabicpercent", "arabicperiod", "arabicpermille", "arabicpertenthousand", "arabicpoeticverse", "arabicqala", "arabicquestion", "arabicrasoul", "arabicray", "arabicrialsign", "arabicsafha", "arabicsajdah", "arabicsalla", "arabicsamvat", "arabic!
sanah", "arabicsemicolon", "arabicshighthreedots", "arabicslcm", "arabicstartofrubc", "arabictripledot", "arabicvowelwaw", "arabicvowelyeh", "arabicwasallam", "arg", "aring", "aringacute", "asciimode", "asciistr", "aside", "assignalfadimension", "assigndimen", "assigndimension", "assignifempty", "assigntranslation", "assignvalue", "assignwidth", "assumelongusagecs", "ast", "astype", "asymp", "at", "atilde", "atleftmargin", "atpage", "atrightmargin", "attachment", "autocap", "autodirhbox", "autodirvbox", "autodirvtop", "autoinsertnextspace", "autointegral", "automathematics", "autoorientation", "autopagestaterealpage", "autopagestaterealpageorder", "autorule", "autosetups", "availablehsize", "averagecharwidth", "backepsilon", "background", "backgroundimage", "backgroundimagefill", "backgroundline", "backsim", "backslash", "bar", "barleftarrow", "barleftarrowrightarrowbar", "barovernorthwestarrow", "barwedge", "basegrid", "baselinebottom", "baselineleftbox", "baselinemiddlebox", "baselinerightbox", "bbordermatrix", "bbox", "because", "beforesplitstring", "beforetestandsplitstring", "beta", "beth", "between", "bhook", "big", "bigbodyfont", "bigcap", "bigcirc", "bigcircle", "bigcup", "bigdiamond", "bigg", "bigger", "biggl", "biggm", "biggr", "bigl", "bigm", "bigodot", "bigoplus", "bigotimes", "bigr", "bigskip", "bigsqcap", "bigsqcup", "bigsquare", "bigstar", "bigtimes", "bigtriangledown", "bigtriangleup", "bigudot", "biguplus", "bigvee", "bigwedge", "binom", "bitmapimage", "blacklozenge", "blackrule", "blackrules", "blacksquare", "blacktriangle", "blacktriangledown", "blacktriangleleft", "blacktriangleright", "blank", "blap", "bleed", "bleedheight", "bleedwidth", "blockligatures", "blockquote", "blocksynctexfile", "blockuservariable", "bodyfontenvironmentlist", "bodyfontsize", "bold", "boldface", "bolditalic", "boldslanted", "bookmark", "booleanmodevalue", "bordermatrix", "bot", "bottombox", "bottomleftbox", "bottomrightbox", "bowtie", "boxcursor", "boxdot", "boxmarker", "boxminus", "boxofsize", "boxplus", "boxrefer!
ence", "boxtimes", "bpos", "breakablethinspace", "breakhere", "breve", "bstroke", "btxabbreviatedjournal", "btxaddjournal", "btxalwayscitation", "btxauthorfield", "btxdetail", "btxdirect", "btxdoif", "btxdoifcombiinlistelse", "btxdoifelse", "btxdoifelsecombiinlist", "btxdoifelsesameasprevious", "btxdoifelsesameaspreviouschecked", "btxdoifelseuservariable", "btxdoifnot", "btxdoifsameaspreviouscheckedelse", "btxdoifsameaspreviouselse", "btxdoifuservariableelse", "btxexpandedjournal", "btxfield", "btxfieldname", "btxfieldtype", "btxfirstofrange", "btxflush", "btxflushauthor", "btxflushauthorinverted", "btxflushauthorinvertedshort", "btxflushauthorname", "btxflushauthornormal", "btxflushauthornormalshort", "btxflushsuffix", "btxfoundname", "btxfoundtype", "btxhiddencitation", "btxhybridcite", "btxlabellanguage", "btxlabeltext", "btxlistcitation", "btxloadjournalist", "btxoneorrange", "btxremapauthor", "btxsavejournalist", "btxsetup", "btxsingularorplural", "btxsingularplural", "btxtextcitation", "buildmathaccent", "buildtextaccent", "buildtextbottomcomma", "buildtextbottomdot", "buildtextcedilla", "buildtextgrave", "buildtextmacron", "buildtextognek", "bullet", "button", "cacute", "calligraphic", "camel", "cap", "capital", "carriagereturn", "catcodetablename", "cbox", "ccaron", "ccedilla", "ccircumflex", "ccurl", "cdot", "cdotaccent", "cdotp", "cdots", "centeraligned", "centerbox", "centerdot", "centeredbox", "centeredlastline", "centerednextbox", "centerline", "cfrac", "chapter", "character", "characters", "chardescription", "charwidthlanguage", "check", "checkcharacteralign", "checkedblank", "checkedchar", "checkedfiller", "checkedstrippedcsname", "checkinjector", "checkmark", "checknextindentation", "checknextinjector", "checkpage", "checkparameters", "checkpreviousinjector", "checksoundtrack", "checktwopassdata", "checkvariables", "chem", "chemical", "chemicalbottext", "chemicalmidtext", "chemicalsymbol", "chemicaltext", "chemicaltoptext", "chi", "chineseallnumerals", "chinesecapnumerals", "chinesenumerals", "ch!
ook", "circ", "circeq", "circlearrowleft", "circlearrowright", "circledR", "circledS", "circledast", "circledcirc", "circleddash", "circledequals", "circleonrightarrow", "citation", "cite", "clap", "classfont", "cldcommand", "cldcontext", "cldloadfile", "cldprocessfile", "cleftarrow", "clip", "clippedoverlayimage", "clonefield", "clubsuit", "collect", "collectedtext", "collectexpanded", "colon", "coloncolonequals", "colonequals", "color", "colorbar", "colorcomponents", "colored", "coloronly", "colorvalue", "column", "columnbreak", "columnsetspanwidth", "combinepages", "commalistelement", "commalistsentence", "commalistsize", "comment", "comparecolorgroup", "comparedimension", "comparedimensioneps", "comparepalet", "complement", "completebtxrendering", "completecontent", "completeindex", "completelist", "completelistofabbreviations", "completelistofchemicals", "completelistoffigures", "completelistofgraphics", "completelistofintermezzi", "completelistoflogos", "completelistofpublications", "completelistofsorts", "completelistofsynonyms", "completelistoftables", "completepagenumber", "completeregister", "complexes", "complexorsimple", "complexorsimpleempty", "component", "composedcollector", "composedlayer", "compounddiscretionary", "compresult", "cong", "constantdimen", "constantdimenargument", "constantemptyargument", "constantnumber", "constantnumberargument", "contentreference", "continuednumber", "continueifinputfile", "convertargument", "convertcommand", "convertedcounter", "converteddimen", "convertedsubcounter", "convertmonth", "convertnumber", "convertvalue", "convertvboxtohbox", "convolve", "coprod", "copyboxfromcache", "copybtxlabeltext", "copyfield", "copyheadtext", "copylabeltext", "copymathlabeltext", "copyoperatortext", "copypages", "copyparameters", "copyposition", "copyprefixtext", "copyright", "copysetups", "copysuffixtext", "copytaglabeltext", "copyunittext", "correctwhitespace", "countersubs", "counttoken", "counttokens", "cramped", "crampedclap", "crampedllap", "crampedrlap", "crightarrow", "c!
rightoverleftarrow", "crlf", "crlfplaceholder", "crossproduct", "cstroke", "ctop", "ctxcommand", "ctxdirectcommand", "ctxdirectlua", "ctxfunction", "ctxlatecommand", "ctxlatelua", "ctxloadluafile", "ctxlua", "ctxluabuffer", "ctxluacode", "ctxreport", "ctxsprint", "cup", "curlyeqprec", "curlyeqsucc", "curlyvee", "curlywedge", "currentassignmentlistkey", "currentassignmentlistvalue", "currentbtxuservariable", "currentcommalistitem", "currentcomponent", "currentdate", "currentenvironment", "currentfeaturetest", "currentheadnumber", "currentinterface", "currentlanguage", "currentlistentrydestinationattribute", "currentlistentrylimitedtext", "currentlistentrynumber", "currentlistentrypagenumber", "currentlistentryreferenceattribute", "currentlistentrytitle", "currentlistentrytitlerendered", "currentlistsymbol", "currentmainlanguage", "currentmessagetext", "currentmoduleparameter", "currentoutputstream", "currentproduct", "currentproject", "currentregime", "currentregisterpageuserdata", "currentresponses", "currenttime", "currentvalue", "currentxtablecolumn", "currentxtablerow", "curvearrowleft", "curvearrowright", "cwopencirclearrow", "cyrillicA", "cyrillicAE", "cyrillicAbreve", "cyrillicAdiaeresis", "cyrillicB", "cyrillicBIGYUS", "cyrillicBIGYUSiotified", "cyrillicC", "cyrillicCH", "cyrillicCHEDC", "cyrillicCHEDCabkhasian", "cyrillicCHEabkhasian", "cyrillicCHEdiaeresis", "cyrillicCHEkhakassian", "cyrillicCHEvertstroke", "cyrillicD", "cyrillicDASIAPNEUMATA", "cyrillicDJE", "cyrillicDZE", "cyrillicDZEabkhasian", "cyrillicDZHE", "cyrillicE", "cyrillicELtail", "cyrillicEMtail", "cyrillicENDC", "cyrillicENGHE", "cyrillicENhook", "cyrillicENtail", "cyrillicEREV", "cyrillicERY", "cyrillicERtick", "cyrillicEbreve", "cyrillicEdiaeresis", "cyrillicEgrave", "cyrillicEiotified", "cyrillicF", "cyrillicFITA", "cyrillicG", "cyrillicGHEmidhook", "cyrillicGHEstroke", "cyrillicGHEupturn", "cyrillicGJE", "cyrillicH", "cyrillicHA", "cyrillicHADC", "cyrillicHRDSN", "cyrillicI", "cyrillicIE", "cyrillicII", "cyrillicISHRT", "cyrillicISHRT!
tail", "cyrillicIZHITSA", "cyrillicIZHITSAdoublegrave", "cyrillicIdiaeresis", "cyrillicIgrave", "cyrillicImacron", "cyrillicJE", "cyrillicK", "cyrillicKADC", "cyrillicKAbashkir", "cyrillicKAhook", "cyrillicKAstroke", "cyrillicKAvertstroke", "cyrillicKJE", "cyrillicKOPPA", "cyrillicKSI", "cyrillicL", "cyrillicLITTLEYUS", "cyrillicLITTLEYUSiotified", "cyrillicLJE", "cyrillicM", "cyrillicN", "cyrillicNJE", "cyrillicO", "cyrillicOMEGA", "cyrillicOMEGAround", "cyrillicOMEGAtitlo", "cyrillicOT", "cyrillicObarred", "cyrillicObarreddiaeresis", "cyrillicOdiaeresis", "cyrillicP", "cyrillicPALATALIZATION", "cyrillicPALOCHKA", "cyrillicPEmidhook", "cyrillicPSI", "cyrillicPSILIPNEUMATA", "cyrillicR", "cyrillicS", "cyrillicSCHWA", "cyrillicSCHWAdiaeresis", "cyrillicSDSC", "cyrillicSEMISOFT", "cyrillicSFTSN", "cyrillicSH", "cyrillicSHCH", "cyrillicSHHA", "cyrillicT", "cyrillicTEDC", "cyrillicTETSE", "cyrillicTITLO", "cyrillicTSHE", "cyrillicU", "cyrillicUK", "cyrillicUSHRT", "cyrillicUdiaeresis", "cyrillicUdoubleacute", "cyrillicUmacron", "cyrillicV", "cyrillicYA", "cyrillicYAT", "cyrillicYERUdiaeresis", "cyrillicYI", "cyrillicYO", "cyrillicYU", "cyrillicYstr", "cyrillicYstrstroke", "cyrillicZ", "cyrillicZDSC", "cyrillicZEdiaeresis", "cyrillicZH", "cyrillicZHEbreve", "cyrillicZHEdescender", "cyrillicZHEdiaeresis", "cyrillica", "cyrillicabreve", "cyrillicadiaeresis", "cyrillicae", "cyrillicb", "cyrillicbigyus", "cyrillicbigyusiotified", "cyrillicc", "cyrillicch", "cyrilliccheabkhasian", "cyrillicchedc", "cyrillicchedcabkhasian", "cyrillicchediaeresis", "cyrillicchekhakassian", "cyrillicchevertstroke", "cyrillicd", "cyrillicdje", "cyrillicdze", "cyrillicdzeabkhasian", "cyrillicdzhe", "cyrillice", "cyrillicebreve", "cyrillicediaeresis", "cyrillicegrave", "cyrilliceiotified", "cyrilliceltail", "cyrillicemtail", "cyrillicendc", "cyrillicenghe", "cyrillicenhook", "cyrillicentail", "cyrillicerev", "cyrillicertick", "cyrillicery", "cyrillicf", "cyrillicfita", "cyrillicg", "cyrillicghemidhook", "cyrillicghestroke", "cyrillicgheupturn",!
"cyrillicgje", "cyrillich", "cyrillicha", "cyrillichadc", "cyrillichrdsn", "cyrillici", "cyrillicidiaeresis", "cyrillicie", "cyrillicigrave", "cyrillicii", "cyrillicimacron", "cyrillicishrt", "cyrillicishrttail", "cyrillicizhitsa", "cyrillicizhitsadoublegrave", "cyrillicje", "cyrillick", "cyrillickabashkir", "cyrillickadc", "cyrillickahook", "cyrillickastroke", "cyrillickavertstroke", "cyrillickje", "cyrillickoppa", "cyrillicksi", "cyrillicl", "cyrilliclittleyus", "cyrilliclittleyusiotified", "cyrilliclje", "cyrillicm", "cyrillicn", "cyrillicnje", "cyrillico", "cyrillicobarred", "cyrillicobarreddiaeresis", "cyrillicodiaeresis", "cyrillicomega", "cyrillicomegaround", "cyrillicomegatitlo", "cyrillicot", "cyrillicp", "cyrillicpemidhook", "cyrillicpsi", "cyrillicr", "cyrillics", "cyrillicschwa", "cyrillicschwadiaeresis", "cyrillicsdsc", "cyrillicsemisoft", "cyrillicsftsn", "cyrillicsh", "cyrillicshch", "cyrillicshha", "cyrillict", "cyrillictedc", "cyrillictetse", "cyrillictshe", "cyrillicu", "cyrillicudiaeresis", "cyrillicudoubleacute", "cyrillicuk", "cyrillicumacron", "cyrillicushrt", "cyrillicv", "cyrillicya", "cyrillicyat", "cyrillicyerudiaeresis", "cyrillicyi", "cyrillicyo", "cyrillicystr", "cyrillicystrstroke", "cyrillicyu", "cyrillicz", "cyrilliczdsc", "cyrilliczediaeresis", "cyrilliczh", "cyrilliczhebreve", "cyrilliczhedescender", "cyrilliczhediaeresis", "d", "dag", "dagger", "daleth", "dasharrow", "dashedleftarrow", "dashedrightarrow", "dashv", "datasetvariable", "date", "daylong", "dayoftheweek", "dayshort", "dayspermonth", "dbinom", "dcaron", "dcurl", "ddag", "ddagger", "dddot", "ddot", "ddots", "decrement", "decrementcounter", "decrementedcounter", "decrementpagenumber", "decrementsubpagenumber", "decrementvalue", "defaultinterface", "defaultobjectpage", "defaultobjectreference", "defcatcodecommand", "defconvertedargument", "defconvertedcommand", "defconvertedvalue", "define", "defineMPinstance", "defineTABLEsetup", "defineaccent", "defineactivecharacter", "definealternativestyle", "defineanchor", "defin!
eattachment", "defineattribute", "definebackground", "definebar", "defineblock", "definebodyfont", "definebodyfontenvironment", "definebodyfontswitch", "definebreakpoint", "definebreakpoints", "definebtx", "definebtxdataset", "definebtxregister", "definebtxrendering", "definebuffer", "definebutton", "definecapitals", "definecharacter", "definecharacterkerning", "definecharacterspacing", "definechemical", "definechemicals", "definechemicalsymbol", "definecollector", "definecolor", "definecolorgroup", "definecolumnbreak", "definecolumnset", "definecolumnsetarea", "definecolumnsetspan", "definecombination", "definecombinedlist", "definecommand", "definecomment", "definecomplexorsimple", "definecomplexorsimpleempty", "defineconversion", "defineconversionset", "definecounter", "definedataset", "definedate", "definedelimitedtext", "definedeq", "definedescription", "definedfont", "definedocument", "defineeffect", "defineenumeration", "defineexpandable", "defineexpansion", "defineexternalfigure", "definefacingfloat", "definefallbackfamily", "definefield", "definefieldbody", "definefieldbodyset", "definefieldcategory", "definefieldstack", "definefiguresymbol", "definefileconstant", "definefilefallback", "definefilesynonym", "definefiller", "definefirstline", "definefittingpage", "definefloat", "definefont", "definefontalternative", "definefontfallback", "definefontfamily", "definefontfamilypreset", "definefontfeature", "definefontfile", "definefontsize", "definefontsolution", "definefontstyle", "definefontsynonym", "defineformula", "defineformulaalternative", "defineformulaframed", "defineframed", "defineframedcontent", "defineframedtable", "defineframedtext", "definefrozenfont", "defineglobalcolor", "definegraphictypesynonym", "definegridsnapping", "definehbox", "definehead", "defineheadalternative", "definehelp", "definehigh", "definehighlight", "definehspace", "definehyphenationfeatures", "defineindentedtext", "defineindenting", "defineinitial", "defineinsertion", "defineinteraction", "defineinteractionbar", "definein!
teractionmenu", "defineinterfaceconstant", "defineinterfaceelement", "defineinterfacevariable", "defineinterlinespace", "defineintermediatecolor", "defineitemgroup", "defineitems", "definelabel", "definelabelclass", "definelayer", "definelayerpreset", "definelayout", "definelinefiller", "definelinenote", "definelinenumbering", "definelines", "definelist", "definelistalternative", "definelistextra", "definelow", "definelowhigh", "definelowmidhigh", "definemakeup", "definemarginblock", "definemargindata", "definemarker", "definemarking", "definemathaccent", "definemathalignment", "definemathcases", "definemathcommand", "definemathdouble", "definemathdoubleextensible", "definemathematics", "definemathextensible", "definemathfence", "definemathfraction", "definemathframed", "definemathmatrix", "definemathornament", "definemathover", "definemathoverextensible", "definemathovertextextensible", "definemathradical", "definemathstackers", "definemathstyle", "definemathtriplet", "definemathunder", "definemathunderextensible", "definemathundertextextensible", "definemathunstacked", "definemeasure", "definemessageconstant", "definemixedcolumns", "definemode", "definemulticolumns", "definemultitonecolor", "definenamedcolor", "definenamespace", "definenarrower", "definenote", "defineorientation", "defineornament", "defineoutputroutine", "defineoutputroutinecommand", "defineoverlay", "definepage", "definepagebreak", "definepagechecker", "definepagecolumns", "definepageinjection", "definepageinjectionalternative", "definepageshift", "definepagestate", "definepairedbox", "definepalet", "definepapersize", "defineparagraph", "defineparagraphs", "defineparallel", "defineparbuilder", "defineperiodkerning", "defineplaceholder", "defineplacement", "definepositioning", "defineprefixset", "defineprocesscolor", "defineprocessor", "defineprofile", "defineprogram", "definepushbutton", "definepushsymbol", "definereference", "definereferenceformat", "defineregister", "definerenderingwindow", "defineresetset", "defineruby", "definescale", "de!
finescript", "definesection", "definesectionblock", "definesectionlevels", "defineselector", "defineseparatorset", "defineshift", "definesidebar", "definesort", "definesorting", "definespotcolor", "definestartstop", "definestyle", "definestyleinstance", "definesubfield", "definesubformula", "definesymbol", "definesynonym", "definesynonyms", "definesystemattribute", "definesystemconstant", "definesystemvariable", "definetabletemplate", "definetabulate", "definetext", "definetextbackground", "definetextflow", "definetextnote", "definetokenlist", "definetooltip", "definetransparency", "definetwopasslist", "definetype", "definetypeface", "definetypescriptprefix", "definetypescriptsynonym", "definetypesetting", "definetyping", "defineunit", "defineuserdata", "defineuserdataalternative", "defineviewerlayer", "definevspace", "definevspacing", "definevspacingamount", "definextable", "defrostparagraphproperties", "delimited", "delimitedtext", "delta", "depthofstring", "depthonlybox", "depthspanningtext", "depthstrut", "derivativesymbol", "determineheadnumber", "determinelistcharacteristics", "determinenoflines", "determineregistercharacteristics", "devanagarinumerals", "dfrac", "dhook", "diameter", "diamond", "diamondsuit", "differentialD", "differentiald", "digamma", "digits", "dimensiontocount", "directboxfromcache", "directcolor", "directcolored", "directconvertedcounter", "directcopyboxfromcache", "directdummyparameter", "directgetboxllx", "directgetboxlly", "directhighlight", "directlocalframed", "directluacode", "directparwrapper", "directselect", "directsetbar", "directsetup", "directsymbol", "directvspacing", "dis", "disabledirectives", "disableexperiments", "disablemode", "disableoutputstream", "disableparpositions", "disableregime", "disabletrackers", "displaymath", "displaymathematics", "displaymessage", "disposeluatable", "distributedhsize", "div", "dividedsize", "divideontimes", "divides", "doadaptleftskip", "doadaptrightskip", "doaddfeature", "doassign", "doassignempty", "doboundtext", "docheckassignment", !
"docheckedpair", "documentvariable", "dodoubleargument", "dodoubleargumentwithset", "dodoubleempty", "dodoubleemptywithset", "dodoublegroupempty", "doeassign", "doexpandedrecurse", "dofastloopcs", "dogetattribute", "dogetattributeid", "dogetcommacommandelement", "dogobbledoubleempty", "dogobblesingleempty", "dohyphens", "doif", "doifMPgraphicelse", "doifallcommon", "doifallcommonelse", "doifalldefinedelse", "doifallmodes", "doifallmodeselse", "doifassignmentelse", "doifassignmentelsecs", "doifblackelse", "doifbothsides", "doifbothsidesoverruled", "doifboxelse", "doifbufferelse", "doifcheckedpagestate", "doifcolor", "doifcolorelse", "doifcommandhandler", "doifcommandhandlerelse", "doifcommon", "doifcommonelse", "doifcontent", "doifconversiondefinedelse", "doifconversionnumberelse", "doifcounter", "doifcounterelse", "doifcurrentfonthasfeatureelse", "doifdefined", "doifdefinedcounter", "doifdefinedcounterelse", "doifdefinedelse", "doifdimensionelse", "doifdimenstringelse", "doifdocumentargument", "doifdocumentargumentelse", "doifdocumentfilename", "doifdocumentfilenameelse", "doifdocumentvariable", "doifdocumentvariableelse", "doifdrawingblackelse", "doifelse", "doifelseMPgraphic", "doifelseallcommon", "doifelsealldefined", "doifelseallmodes", "doifelseassignment", "doifelseassignmentcs", "doifelseblack", "doifelsebox", "doifelseboxincache", "doifelsebuffer", "doifelsecolor", "doifelsecommandhandler", "doifelsecommon", "doifelseconversiondefined", "doifelseconversionnumber", "doifelsecounter", "doifelsecurrentfonthasfeature", "doifelsecurrentsortingused", "doifelsecurrentsynonymshown", "doifelsecurrentsynonymused", "doifelsedefined", "doifelsedefinedcounter", "doifelsedimension", "doifelsedimenstring", "doifelsedocumentargument", "doifelsedocumentfilename", "doifelsedocumentvariable", "doifelsedrawingblack", "doifelseempty", "doifelseemptyvalue", "doifelseemptyvariable", "doifelseenv", "doifelsefastoptionalcheck", "doifelsefastoptionalcheckcs", "doifelsefieldbody", "doifelsefieldcategory", "doifelsefigure", "doifel!
sefile", "doifelsefiledefined", "doifelsefileexists", "doifelsefirstchar", "doifelseflagged", "doifelsefontchar", "doifelsefontfeature", "doifelsefontpresent", "doifelsefontsynonym", "doifelseframed", "doifelsehasspace", "doifelsehelp", "doifelseincsname", "doifelseindented", "doifelseinelement", "doifelseinputfile", "doifelseinsertion", "doifelseinset", "doifelseinstring", "doifelseinsymbolset", "doifelseintoks", "doifelseintwopassdata", "doifelseitalic", "doifelselanguage", "doifelselayerdata", "doifelselayoutdefined", "doifelselayoutsomeline", "doifelselayouttextline", "doifelseleapyear", "doifelselist", "doifelselocation", "doifelselocfile", "doifelsemainfloatbody", "doifelsemarkedcontent", "doifelsemarkedpage", "doifelsemarking", "doifelsemeaning", "doifelsemessage", "doifelsemode", "doifelsenextbgroup", "doifelsenextbgroupcs", "doifelsenextchar", "doifelsenextoptional", "doifelsenextoptionalcs", "doifelsenextparenthesis", "doifelsenonzeropositive", "doifelsenoteonsamepage", "doifelsenothing", "doifelsenumber", "doifelseobjectfound", "doifelseobjectreferencefound", "doifelseoddpage", "doifelseoddpagefloat", "doifelseoldercontext", "doifelseolderversion", "doifelseorientation", "doifelseoverlapping", "doifelseoverlay", "doifelseparallel", "doifelseparentfile", "doifelseparwrapper", "doifelsepath", "doifelsepathexists", "doifelsepatterns", "doifelseposition", "doifelsepositionaction", "doifelsepositiononpage", "doifelsepositionsonsamepage", "doifelsepositionsonthispage", "doifelsepositionsused", "doifelsereferencefound", "doifelserightpage", "doifelserightpagefloat", "doifelserighttoleftinbox", "doifelsesamelinereference", "doifelsesamestring", "doifelsesetups", "doifelsesomebackground", "doifelsesomespace", "doifelsesomething", "doifelsesometoks", "doifelsestringinstring", "doifelsestructurelisthasnumber", "doifelsestructurelisthaspage", "doifelsesymboldefined", "doifelsesymbolset", "doifelsetext", "doifelsetextflow", "doifelsetextflowcollector", "doifelsetopofpage", "doifelsetypingfile", "doifelseundefined"!
, "doifelseurldefined", "doifelsevalue", "doifelsevaluenothing", "doifelsevariable", "doifempty", "doifemptyelse", "doifemptytoks", "doifemptyvalue", "doifemptyvalueelse", "doifemptyvariable", "doifemptyvariableelse", "doifenv", "doifenvelse", "doiffastoptionalcheckcselse", "doiffastoptionalcheckelse", "doiffieldbodyelse", "doiffieldcategoryelse", "doiffigureelse", "doiffile", "doiffiledefinedelse", "doiffileelse", "doiffileexistselse", "doiffirstcharelse", "doifflaggedelse", "doiffontcharelse", "doiffontfeatureelse", "doiffontpresentelse", "doiffontsynonymelse", "doifhasspaceelse", "doifhelpelse", "doifincsnameelse", "doifinelementelse", "doifinputfileelse", "doifinsertionelse", "doifinset", "doifinsetelse", "doifinstring", "doifinstringelse", "doifinsymbolset", "doifinsymbolsetelse", "doifintokselse", "doifintwopassdataelse", "doifitalicelse", "doiflanguageelse", "doiflayerdataelse", "doiflayoutdefinedelse", "doiflayoutsomelineelse", "doiflayouttextlineelse", "doifleapyearelse", "doiflistelse", "doiflocationelse", "doiflocfileelse", "doifmainfloatbodyelse", "doifmarkingelse", "doifmeaningelse", "doifmessageelse", "doifmode", "doifmodeelse", "doifnextbgroupcselse", "doifnextbgroupelse", "doifnextcharelse", "doifnextoptionalcselse", "doifnextoptionalelse", "doifnextparenthesiselse", "doifnonzeropositiveelse", "doifnot", "doifnotallcommon", "doifnotallmodes", "doifnotcommandhandler", "doifnotcommon", "doifnotcounter", "doifnotdocumentargument", "doifnotdocumentfilename", "doifnotdocumentvariable", "doifnotempty", "doifnotemptyvalue", "doifnotemptyvariable", "doifnotenv", "doifnoteonsamepageelse", "doifnotescollected", "doifnotfile", "doifnotflagged", "doifnothing", "doifnothingelse", "doifnotinset", "doifnotinsidesplitfloat", "doifnotinstring", "doifnotmode", "doifnotnumber", "doifnotsamestring", "doifnotsetups", "doifnotvalue", "doifnotvariable", "doifnumber", "doifnumberelse", "doifobjectfoundelse", "doifobjectreferencefoundelse", "doifoddpageelse", "doifoddpagefloatelse", "doifoldercontextelse", "doifoldervers!
ionelse", "doifoutervmode", "doifoverlappingelse", "doifoverlayelse", "doifparallelelse", "doifparentfileelse", "doifpathelse", "doifpathexistselse", "doifpatternselse", "doifposition", "doifpositionaction", "doifpositionactionelse", "doifpositionelse", "doifpositiononpageelse", "doifpositionsonsamepageelse", "doifpositionsonthispageelse", "doifpositionsusedelse", "doifreferencefoundelse", "doifrightpageelse", "doifrightpagefloatelse", "doifrighttoleftinboxelse", "doifsamelinereferenceelse", "doifsamestring", "doifsamestringelse", "doifsetups", "doifsetupselse", "doifsomebackground", "doifsomebackgroundelse", "doifsomespaceelse", "doifsomething", "doifsomethingelse", "doifsometoks", "doifsometokselse", "doifstringinstringelse", "doifstructurelisthasnumberelse", "doifstructurelisthaspageelse", "doifsymboldefinedelse", "doifsymbolsetelse", "doiftext", "doiftextelse", "doiftextflowcollectorelse", "doiftextflowelse", "doiftopofpageelse", "doiftypingfileelse", "doifundefined", "doifundefinedcounter", "doifundefinedelse", "doifunknownfontfeature", "doifurldefinedelse", "doifvalue", "doifvalueelse", "doifvaluenothing", "doifvaluenothingelse", "doifvaluesomething", "doifvariable", "doifvariableelse", "doindentation", "dollar", "doloop", "doloopoverlist", "donothing", "dontconvertfont", "dontleavehmode", "dontpermitspacesbetweengroups", "dopositionaction", "doprocesslocalsetups", "doquadrupleargument", "doquadrupleempty", "doquadruplegroupempty", "doquintupleargument", "doquintupleempty", "doquintuplegroupempty", "dorechecknextindentation", "dorecurse", "dorepeatwithcommand", "doreplacefeature", "doresetandafffeature", "doresetattribute", "dorotatebox", "dosetattribute", "dosetleftskipadaption", "dosetrightskipadaption", "dosetupcheckedinterlinespace", "doseventupleargument", "doseventupleempty", "dosingleargument", "dosingleempty", "dosinglegroupempty", "dosixtupleargument", "dosixtupleempty", "dosomebreak", "dostepwiserecurse", "dosubtractfeature", "dot", "doteq", "doteqdot", "dotfill", "dotfskip", "dotlessI", "dotless!
J", "dotlessi", "dotlessj", "dotlessjstroke", "dotminus", "dotoks", "dotplus", "dotripleargument", "dotripleargumentwithset", "dotripleempty", "dotripleemptywithset", "dotriplegroupempty", "dots", "dottedcircle", "dottedrightarrow", "doublebar", "doublebond", "doublebrace", "doublebracket", "doublecap", "doublecup", "doubleparent", "doubleprime", "doubleverticalbar", "dowith", "dowithnextbox", "dowithnextboxcontent", "dowithnextboxcontentcs", "dowithnextboxcs", "dowithpargument", "dowithrange", "dowithwargument", "downarrow", "downdasharrow", "downdownarrows", "downharpoonleft", "downharpoonright", "downuparrows", "downwhitearrow", "downzigzagarrow", "dpofstring", "dstroke", "dtail", "dummydigit", "dummyparameter", "dzcaronligature", "dzligature", "eTeX", "eacute", "ebreve", "ecaron", "ecedilla", "ecircumflex", "ecircumflexacute", "ecircumflexdotbelow", "ecircumflexgrave", "ecircumflexhook", "ecircumflextilde", "edefconvertedargument", "ediaeresis", "edotaccent", "edotbelow", "edoublegrave", "ee", "efcmaxheight", "efcmaxwidth", "efcminheight", "efcminwidth", "efcparameter", "effect", "egrave", "ehook", "einvertedbreve", "elapsedseconds", "elapsedsteptime", "elapsedtime", "eleftarrowfill", "eleftharpoondownfill", "eleftharpoonupfill", "eleftrightarrowfill", "ell", "em", "emacron", "emdash", "emphasisboldface", "emphasistypeface", "emptylines", "emptyset", "emquad", "emspace", "enableasciimode", "enabledirectives", "enableexperiments", "enablemode", "enableoutputstream", "enableparpositions", "enableregime", "enabletrackers", "endash", "endnote", "enquad", "enskip", "enspace", "env", "environment", "envvar", "eogonek", "eoverbarfill", "eoverbracefill", "eoverbracketfill", "eoverparentfill", "epos", "epsilon", "eq", "eqcirc", "eqeq", "eqeqeq", "eqgtr", "eqless", "eqsim", "eqslantgtr", "eqslantless", "equaldigits", "equalscolon", "equiv", "erightarrowfill", "erightharpoondownfill", "erightharpoonupfill", "eta", "eth", "ethiopic", "etilde", "etwoheadrightarrowfill", "eunderbarfill", "eunderbracefill", "eunderbracketf!
ill", "eunderparentfill", "exclamdown", "executeifdefined", "exists", "exitloop", "exitloopnow", "expandcheckedcsname", "expanded", "expandeddoif", "expandeddoifelse", "expandeddoifnot", "expandfontsynonym", "expdoif", "expdoifcommonelse", "expdoifelse", "expdoifelsecommon", "expdoifelseinset", "expdoifinsetelse", "expdoifnot", "exponentiale", "externalfigure", "externalfigurecollectionmaxheight", "externalfigurecollectionmaxwidth", "externalfigurecollectionminheight", "externalfigurecollectionminwidth", "externalfigurecollectionparameter", "fakebox", "fallingdotseq", "fastdecrement", "fastincrement", "fastlocalframed", "fastloopfinal", "fastloopindex", "fastscale", "fastsetup", "fastsetupwithargument", "fastsetupwithargumentswapped", "fastswitchtobodyfont", "fastsxsy", "feature", "fence", "fenced", "fetchallmarkings", "fetchallmarks", "fetchmark", "fetchmarking", "fetchonemark", "fetchonemarking", "fetchruntinecommand", "fetchtwomarkings", "fetchtwomarks", "ffiligature", "ffligature", "fflligature", "fhook", "field", "fieldbody", "fieldstack", "fifthoffivearguments", "fifthofsixarguments", "figuredash", "figurefilename", "figurefilepath", "figurefiletype", "figurefullname", "figureheight", "figurenaturalheight", "figurenaturalwidth", "figurespace", "figuresymbol", "figurewidth", "filename", "filigature", "filledhboxb", "filledhboxc", "filledhboxg", "filledhboxk", "filledhboxm", "filledhboxr", "filledhboxy", "filler", "fillinline", "fillinrules", "fillintext", "fillupto", "filterfromnext", "filterfromvalue", "filterpages", "filterreference", "findtwopassdata", "finishregisterentry", "firstcharacter", "firstcounter", "firstcountervalue", "firstinlist", "firstoffivearguments", "firstoffourarguments", "firstofoneargument", "firstofoneunexpanded", "firstofsixarguments", "firstofthreearguments", "firstofthreeunexpanded", "firstoftwoarguments", "firstoftwounexpanded", "firstrealpage", "firstrealpagenumber", "firstsubcountervalue", "firstsubpage", "firstsubpagenumber", "firstuserpage", "firstuserpagenumber", "fitfield"!
, "fitfieldframed", "fittopbaselinegrid", "fiveeighths", "fivesixths", "fixedspace", "fixedspaces", "flag", "flat", "flligature", "floatuserdataparameter", "flushbox", "flushboxregister", "flushcollector", "flushedrightlastline", "flushlayer", "flushlocalfloats", "flushnextbox", "flushnotes", "flushoutputstream", "flushshapebox", "flushtextflow", "flushtokens", "flushtoks", "fontalternative", "fontbody", "fontchar", "fontcharbyindex", "fontclass", "fontclassname", "fontface", "fontfeaturelist", "fontsize", "fontstyle", "footnote", "footnotetext", "forall", "forcecharacterstripping", "forcelocalfloats", "forgeteverypar", "forgetparagraphfreezing", "forgetparameters", "forgetparskip", "forgetparwrapper", "forgetragged", "formula", "formulanumber", "foundbox", "fourfifths", "fourperemspace", "fourthderivativesymbol", "fourthoffivearguments", "fourthoffourarguments", "fourthofsixarguments", "frac", "framed", "frameddimension", "framedparameter", "framedtext", "freezedimenmacro", "freezemeasure", "freezeparagraphproperties", "frenchspacing", "from", "fromlinenote", "frown", "frozenhbox", "frule", "gacute", "gamma", "gbreve", "gcaron", "gcircumflex", "gcommaaccent", "gdefconvertedargument", "gdefconvertedcommand", "gdotaccent", "ge", "geq", "geqq", "geqslant", "getMPdrawing", "getMPlayer", "getboxfromcache", "getboxllx", "getboxlly", "getbuffer", "getbufferdata", "getcommacommandsize", "getcommalistsize", "getdatavalue", "getdayoftheweek", "getdayspermonth", "getdefinedbuffer", "getdocumentargument", "getdocumentargumentdefault", "getdocumentfilename", "getdummyparameters", "getemptyparameters", "geteparameters", "getexpandedparameters", "getfiguredimensions", "getfirstcharacter", "getfirsttwopassdata", "getfromcommacommand", "getfromcommalist", "getfromluatable", "getfromtwopassdata", "getglyphdirect", "getglyphstyled", "getgparameters", "getinlineuserdata", "getlasttwopassdata", "getlocalfloat", "getlocalfloats", "getmarking", "getmessage", "getnamedglyphdirect", "getnamedglyphstyled", "getnamedtwopassdatalist", "ge!
tnaturaldimensions", "getnoflines", "getobject", "getobjectdimensions", "getpaletsize", "getparameters", "getparwrapper", "getprivatechar", "getprivateslot", "getrandomcount", "getrandomdimen", "getrandomfloat", "getrandomnumber", "getrandomseed", "getraweparameters", "getrawgparameters", "getrawnoflines", "getrawparameters", "getrawxparameters", "getreference", "getreferenceentry", "getroundednoflines", "gets", "getsubstring", "gettokenlist", "gettwopassdata", "gettwopassdatalist", "getuserdata", "getuvalue", "getvalue", "getvariable", "getvariabledefault", "getxparameters", "gg", "ggg", "gggtr", "gimel", "globaldisablemode", "globalenablemode", "globalletempty", "globalpopbox", "globalpopmacro", "globalpreventmode", "globalprocesscommalist", "globalpushbox", "globalpushmacro", "globalswapcounts", "globalswapdimens", "globalswapmacros", "globalundefine", "glyphfontfile", "gnapprox", "gneqq", "gnsim", "gobbledoubleempty", "gobbleeightarguments", "gobblefivearguments", "gobblefiveoptionals", "gobblefourarguments", "gobblefouroptionals", "gobbleninearguments", "gobbleoneargument", "gobbleoneoptional", "gobblesevenarguments", "gobblesingleempty", "gobblesixarguments", "gobblespacetokens", "gobbletenarguments", "gobblethreearguments", "gobblethreeoptionals", "gobbletwoarguments", "gobbletwooptionals", "gobbleuntil", "gobbleuntilrelax", "godown", "goto", "gotobox", "gotopage", "grabbufferdata", "grabbufferdatadirect", "grabuntil", "gradient", "grave", "graycolor", "grayvalue", "greedysplitstring", "greekAlpha", "greekAlphadasia", "greekAlphadasiaperispomeni", "greekAlphadasiatonos", "greekAlphadasiavaria", "greekAlphaiotasub", "greekAlphaiotasubdasia", "greekAlphaiotasubdasiaperispomeni", "greekAlphaiotasubdasiatonos", "greekAlphaiotasubdasiavaria", "greekAlphaiotasubpsili", "greekAlphaiotasubpsiliperispomeni", "greekAlphaiotasubpsilitonos", "greekAlphaiotasubpsilivaria", "greekAlphamacron", "greekAlphapsili", "greekAlphapsiliperispomeni", "greekAlphapsilitonos", "greekAlphapsilivaria", "greekAlphatonos", "greekAlpha!
varia", "greekAlphavrachy", "greekBeta", "greekChi", "greekCoronis", "greekDelta", "greekEpsilon", "greekEpsilondasia", "greekEpsilondasiatonos", "greekEpsilondasiavaria", "greekEpsilonpsili", "greekEpsilonpsilitonos", "greekEpsilonpsilivaria", "greekEpsilontonos", "greekEpsilonvaria", "greekEta", "greekEtadasia", "greekEtadasiaperispomeni", "greekEtadasiatonos", "greekEtadasiavaria", "greekEtaiotasub", "greekEtaiotasubdasia", "greekEtaiotasubdasiaperispomeni", "greekEtaiotasubdasiatonos", "greekEtaiotasubdasiavaria", "greekEtaiotasubpsili", "greekEtaiotasubpsiliperispomeni", "greekEtaiotasubpsilitonos", "greekEtaiotasubpsilivaria", "greekEtapsili", "greekEtapsiliperispomeni", "greekEtapsilitonos", "greekEtapsilivaria", "greekEtatonos", "greekEtavaria", "greekGamma", "greekIota", "greekIotadasia", "greekIotadasiaperispomeni", "greekIotadasiatonos", "greekIotadasiavaria", "greekIotadialytika", "greekIotamacron", "greekIotapsili", "greekIotapsiliperispomeni", "greekIotapsilitonos", "greekIotapsilivaria", "greekIotatonos", "greekIotavaria", "greekIotavrachy", "greekKappa", "greekLambda", "greekMu", "greekNu", "greekOmega", "greekOmegadasia", "greekOmegadasiaperispomeni", "greekOmegadasiatonos", "greekOmegadasiavaria", "greekOmegaiotasub", "greekOmegaiotasubdasia", "greekOmegaiotasubdasiaperispomeni", "greekOmegaiotasubdasiatonos", "greekOmegaiotasubdasiavaria", "greekOmegaiotasubpsili", "greekOmegaiotasubpsiliperispomeni", "greekOmegaiotasubpsilitonos", "greekOmegaiotasubpsilivaria", "greekOmegapsili", "greekOmegapsiliperispomeni", "greekOmegapsilitonos", "greekOmegapsilivaria", "greekOmegatonos", "greekOmegavaria", "greekOmicron", "greekOmicrondasia", "greekOmicrondasiatonos", "greekOmicrondasiavaria", "greekOmicronpsili", "greekOmicronpsilitonos", "greekOmicronpsilivaria", "greekOmicrontonos", "greekOmicronvaria", "greekPhi", "greekPi", "greekPsi", "greekRho", "greekRhodasia", "greekSigma", "greekSigmalunate", "greekTau", "greekTheta", "greekUpsilon", "greekUpsilondasia", "greekUpsilondasiaperispomeni", "greekUps!
ilondasiatonos", "greekUpsilondasiavaria", "greekUpsilondialytika", "greekUpsilonmacron", "greekUpsilontonos", "greekUpsilonvaria", "greekUpsilonvrachy", "greekXi", "greekZeta", "greekalpha", "greekalphadasia", "greekalphadasiaperispomeni", "greekalphadasiatonos", "greekalphadasiavaria", "greekalphaiotasub", "greekalphaiotasubdasia", "greekalphaiotasubdasiaperispomeni", "greekalphaiotasubdasiatonos", "greekalphaiotasubdasiavaria", "greekalphaiotasubperispomeni", "greekalphaiotasubpsili", "greekalphaiotasubpsiliperispomeni", "greekalphaiotasubpsilitonos", "greekalphaiotasubpsilivaria", "greekalphaiotasubtonos", "greekalphaiotasubvaria", "greekalphamacron", "greekalphaoxia", "greekalphaperispomeni", "greekalphapsili", "greekalphapsiliperispomeni", "greekalphapsilitonos", "greekalphapsilivaria", "greekalphatonos", "greekalphavaria", "greekalphavrachy", "greekbeta", "greekbetaalt", "greekchi", "greekdasia", "greekdasiaperispomeni", "greekdasiavaria", "greekdelta", "greekdialytikaperispomeni", "greekdialytikatonos", "greekdialytikavaria", "greekdigamma", "greekepsilon", "greekepsilonalt", "greekepsilondasia", "greekepsilondasiatonos", "greekepsilondasiavaria", "greekepsilonoxia", "greekepsilonpsili", "greekepsilonpsilitonos", "greekepsilonpsilivaria", "greekepsilontonos", "greekepsilonvaria", "greeketa", "greeketadasia", "greeketadasiaperispomeni", "greeketadasiatonos", "greeketadasiavaria", "greeketaiotasub", "greeketaiotasubdasia", "greeketaiotasubdasiaperispomeni", "greeketaiotasubdasiatonos", "greeketaiotasubdasiavaria", "greeketaiotasubperispomeni", "greeketaiotasubpsili", "greeketaiotasubpsiliperispomeni", "greeketaiotasubpsilitonos", "greeketaiotasubpsilivaria", "greeketaiotasubtonos", "greeketaiotasubvaria", "greeketaoxia", "greeketaperispomeni", "greeketapsili", "greeketapsiliperispomeni", "greeketapsilitonos", "greeketapsilivaria", "greeketatonos", "greeketavaria", "greekfinalsigma", "greekgamma", "greekiota", "greekiotadasia", "greekiotadasiaperispomeni", "greekiotadasiatonos", "greekiotadasiavaria", "gree!
kiotadialytika", "greekiotadialytikaperispomeni", "greekiotadialytikatonos", "greekiotadialytikavaria", "greekiotamacron", "greekiotaoxia", "greekiotaperispomeni", "greekiotapsili", "greekiotapsiliperispomeni", "greekiotapsilitonos", "greekiotapsilivaria", "greekiotatonos", "greekiotavaria", "greekiotavrachy", "greekkappa", "greekkoppa", "greeklambda", "greekmu", "greeknu", "greeknumerals", "greeknumkoppa", "greekomega", "greekomegadasia", "greekomegadasiaperispomeni", "greekomegadasiatonos", "greekomegadasiavaria", "greekomegaiotasub", "greekomegaiotasubdasia", "greekomegaiotasubdasiaperispomeni", "greekomegaiotasubdasiatonos", "greekomegaiotasubdasiavaria", "greekomegaiotasubperispomeni", "greekomegaiotasubpsili", "greekomegaiotasubpsiliperispomeni", "greekomegaiotasubpsilitonos", "greekomegaiotasubpsilivaria", "greekomegaiotasubtonos", "greekomegaiotasubvaria", "greekomegaoxia", "greekomegaperispomeni", "greekomegapsili", "greekomegapsiliperispomeni", "greekomegapsilitonos", "greekomegapsilivaria", "greekomegatonos", "greekomegavaria", "greekomicron", "greekomicrondasia", "greekomicrondasiatonos", "greekomicrondasiavaria", "greekomicronoxia", "greekomicronpsili", "greekomicronpsilitonos", "greekomicronpsilivaria", "greekomicrontonos", "greekomicronvaria", "greekoxia", "greekperispomeni", "greekphi", "greekphialt", "greekpi", "greekpialt", "greekprosgegrammeni", "greekpsi", "greekpsili", "greekpsiliperispomeni", "greekpsilivaria", "greekrho", "greekrhoalt", "greekrhodasia", "greekrhopsili", "greeksampi", "greeksigma", "greeksigmalunate", "greekstigma", "greektau", "greektheta", "greekthetaalt", "greektonos", "greekupsilon", "greekupsilondasia", "greekupsilondasiaperispomeni", "greekupsilondasiatonos", "greekupsilondasiavaria", "greekupsilondiaeresis", "greekupsilondialytikaperispomeni", "greekupsilondialytikatonos", "greekupsilondialytikavaria", "greekupsilonmacron", "greekupsilonoxia", "greekupsilonperispomeni", "greekupsilonpsili", "greekupsilonpsiliperispomeni", "greekupsilonpsilitonos", "greekupsilonpsiliv!
aria", "greekupsilontonos", "greekupsilonvaria", "greekupsilonvrachy", "greekvaria", "greekxi", "greekzeta", "grid", "groupedcommand", "gsetboxllx", "gsetboxlly", "gstroke", "gt", "gtrapprox", "gtrdot", "gtreqless", "gtreqqless", "gtrless", "gtrsim", "guilsingleleft", "guilsingleright", "gujaratinumerals", "gurmurkhinumerals", "hairline", "hairspace", "halflinestrut", "halfstrut", "halfwaybox", "handletokens", "handwritten", "hangul", "hanzi", "hash", "hat", "hbar", "hboxofvbox", "hboxreference", "hcaron", "hcircumflex", "hdofstring", "headhbox", "headlanguage", "headnumber", "headnumbercontent", "headnumberdistance", "headnumberwidth", "headreferenceattributes", "headsetupspacing", "headtext", "headtextcontent", "headtextdistance", "headtexts", "headtextwidth", "headvbox", "headwidth", "heartsuit", "hebrewAlef", "hebrewAyin", "hebrewBet", "hebrewDalet", "hebrewGimel", "hebrewHe", "hebrewHet", "hebrewKaf", "hebrewKaffinal", "hebrewLamed", "hebrewMem", "hebrewMemfinal", "hebrewNun", "hebrewNunfinal", "hebrewPe", "hebrewPefinal", "hebrewQof", "hebrewResh", "hebrewSamekh", "hebrewShin", "hebrewTav", "hebrewTet", "hebrewTsadi", "hebrewTsadifinal", "hebrewVav", "hebrewYod", "hebrewZayin", "hebrewnumerals", "heightanddepthofstring", "heightofstring", "heightspanningtext", "helptext", "hexnumber", "hexstringtonumber", "hglue", "hiddenbar", "hiddencitation", "hiddencite", "hideblocks", "high", "highlight", "highordinalstr", "hilo", "himilo", "hl", "hookleftarrow", "hookrightarrow", "horizontalgrowingbar", "horizontalpositionbar", "hpackbox", "hpackedbox", "hphantom", "hpos", "hsizefraction", "hslash", "hsmash", "hsmashbox", "hsmashed", "hspace", "hstroke", "htdpofstring", "htofstring", "hyphen", "hyphenatedcoloredword", "hyphenatedfile", "hyphenatedfilename", "hyphenatedhbox", "hyphenatedpar", "hyphenatedurl", "hyphenatedword", "iacute", "ibox", "ibreve", "icaron", "icircumflex", "ideographichalffillspace", "ideographicspace", "idiaeresis", "idotaccent", "idotbelow", "idoublegrave", "idxfromluatable", "ifassignment", "i!
ff", "ifinobject", "ifinoutputstream", "ifparameters", "iftrialtypesetting", "ignoreimplicitspaces", "ignoretagsinexport", "ignorevalue", "igrave", "ihook", "ii", "iiiint", "iiiintop", "iiint", "iiintop", "iint", "iintop", "iinvertedbreve", "ijligature", "imacron", "imaginaryi", "imaginaryj", "imath", "immediatesavetwopassdata", "impliedby", "implies", "imply", "in", "includemenu", "includesvgbuffer", "includesvgfile", "includeversioninfo", "increment", "incrementcounter", "incrementedcounter", "incrementpagenumber", "incrementsubpagenumber", "incrementvalue", "indentation", "index", "infofont", "infofontbold", "inframed", "infty", "infull", "inheritparameter", "inhibitblank", "ininner", "ininneredge", "ininnermargin", "initializeboxstack", "inleft", "inleftedge", "inleftmargin", "inline", "inlinebuffer", "inlinedbox", "inlinemath", "inlinemathematics", "inlinemessage", "inlineordisplaymath", "inlineprettyprintbuffer", "inlinerange", "inmargin", "inmframed", "innerflushshapebox", "inother", "inouter", "inouteredge", "inoutermargin", "input", "inputfilebarename", "inputfilename", "inputfilerealsuffix", "inputfilesuffix", "inputgivenfile", "inright", "inrightedge", "inrightmargin", "insertpages", "inspectluatable", "installactionhandler", "installactivecharacter", "installanddefineactivecharacter", "installattributestack", "installautocommandhandler", "installautosetuphandler", "installbasicautosetuphandler", "installbasicparameterhandler", "installbottomframerenderer", "installcommandhandler", "installcorenamespace", "installctxfunction", "installctxscanner", "installdefinehandler", "installdefinitionset", "installdefinitionsetmember", "installdirectcommandhandler", "installdirectparameterhandler", "installdirectparametersethandler", "installdirectsetuphandler", "installdirectstyleandcolorhandler", "installframedautocommandhandler", "installframedcommandhandler", "installglobalmacrostack", "installlanguage", "installleftframerenderer", "installmacrostack", "installnamespace", "installoutputroutine", "installpagea!
rrangement", "installparameterhandler", "installparameterhashhandler", "installparametersethandler", "installparentinjector", "installprotectedctxfunction", "installprotectedctxscanner", "installrightframerenderer", "installrootparameterhandler", "installsetuphandler", "installsetuponlycommandhandler", "installshipoutmethod", "installsimplecommandhandler", "installsimpleframedcommandhandler", "installstyleandcolorhandler", "installswitchcommandhandler", "installswitchsetuphandler", "installtexdirective", "installtextracker", "installtopframerenderer", "installunitsseparator", "installunitsspace", "installversioninfo", "int", "intclockwise", "integerrounding", "integers", "interactionbar", "interactionbuttons", "interactionmenu", "intercal", "intertext", "interwordspaceafter", "interwordspacebefore", "interwordspaces", "interwordspacesafter", "interwordspacesbefore", "intop", "invisiblecomma", "invisibleplus", "invisibletimes", "invokepagehandler", "iogonek", "iota", "italic", "italicbold", "italiccorrection", "italicface", "item", "items", "itemtag", "itilde", "jcaron", "jcircumflex", "ji", "jmath", "jobfilename", "jobfilesuffix", "kap", "kappa", "kcaron", "kcommaaccent", "keepblocks", "keeplinestogether", "keepunwantedspaces", "kerncharacters", "khook", "kkra", "koreancirclenumerals", "koreannumerals", "koreannumeralsc", "koreannumeralsp", "koreanparentnumerals", "lVert", "labellanguage", "labeltext", "labeltexts", "lacute", "lambda", "lambdabar", "land", "langle", "language", "languageCharacters", "languagecharacters", "languagecharwidth", "laplace", "lastcounter", "lastcountervalue", "lastdigit", "lastlinewidth", "lastnaturalboxdp", "lastnaturalboxht", "lastnaturalboxwd", "lastparwrapper", "lastpredefinedsymbol", "lastrealpage", "lastrealpagenumber", "lastsubcountervalue", "lastsubpage", "lastsubpagenumber", "lasttwodigits", "lastuserpage", "lastuserpagenumber", "lateluacode", "latin", "layeredtext", "layerheight", "layerwidth", "lazysavetaggedtwopassdata", "lazysavetwopassdata", "lbar", "lbox", "lbrace", "lb!
racket", "lcaron", "lceil", "lchexnumber", "lchexnumbers", "lcommaaccent", "lcurl", "ldot", "ldotmiddle", "ldotp", "ldots", "le", "leadsto", "left", "leftaligned", "leftarrow", "leftarrowtail", "leftarrowtriangle", "leftbottombox", "leftbox", "leftdasharrow", "leftguillemot", "leftharpoondown", "leftharpoonup", "lefthbox", "leftheadtext", "leftlabeltext", "leftleftarrows", "leftline", "leftmathlabeltext", "leftorrighthbox", "leftorrightvbox", "leftorrightvtop", "leftrightarrow", "leftrightarrows", "leftrightarrowtriangle", "leftrightharpoons", "leftrightsquigarrow", "leftskipadaption", "leftsquigarrow", "leftsubguillemot", "leftthreetimes", "lefttopbox", "lefttoright", "lefttorighthbox", "lefttorightvbox", "lefttorightvtop", "leftwavearrow", "leftwhitearrow", "leq", "leqq", "leqslant", "lessapprox", "lessdot", "lesseqgtr", "lesseqqgtr", "lessgtr", "lesssim", "letbeundefined", "letcatcodecommand", "letcscsname", "letcsnamecs", "letcsnamecsname", "letdummyparameter", "letempty", "letgvalue", "letgvalueempty", "letgvalurelax", "letterampersand", "letterat", "letterbackslash", "letterbar", "letterbgroup", "letterclosebrace", "lettercolon", "letterdollar", "letterdoublequote", "letteregroup", "letterescape", "letterexclamationmark", "letterhash", "letterhat", "letterleftbrace", "letterleftbracket", "letterleftparenthesis", "letterless", "lettermore", "letteropenbrace", "letterpercent", "letterquestionmark", "letterrightbrace", "letterrightbracket", "letterrightparenthesis", "lettersinglequote", "letterslash", "letterspacing", "lettertilde", "letterunderscore", "letvalue", "letvalueempty", "letvaluerelax", "lfence", "lfloor", "lgroup", "lhbox", "lhooknwarrow", "lhooksearrow", "limitatefirstline", "limitatelines", "limitatetext", "line", "linebox", "linefeed", "linefillerhbox", "linefillervbox", "linefillervtop", "linenote", "linespanningtext", "linethickness", "linterval", "listcitation", "listcite", "listlength", "listnamespaces", "literalmode", "ljligature", "ll", "llangle", "llap", "llbracket", "llcorner", "lll", "!
llless", "llointerval", "lmoustache", "lnapprox", "lneq", "lneqq", "lnot", "lnsim", "loadanyfile", "loadanyfileonce", "loadbtxdefinitionfile", "loadbtxreplacementfile", "loadcldfile", "loadcldfileonce", "loadfontgoodies", "loadluafile", "loadluafileonce", "loadspellchecklist", "loadtexfile", "loadtexfileonce", "loadtypescriptfile", "localframed", "localframedwithsettings", "localhsize", "localpopbox", "localpopmacro", "localpushbox", "localpushmacro", "localundefine", "locatedfilepath", "locatefilepath", "locfilename", "logo", "lohi", "lointerval", "lomihi", "longleftarrow", "longleftrightarrow", "longmapsfrom", "longmapsto", "longrightarrow", "longrightsquigarrow", "looparrowleft", "looparrowright", "lor", "low", "lowerbox", "lowercased", "lowercasestring", "lowercasing", "lowerleftdoubleninequote", "lowerleftsingleninequote", "lowerrightdoubleninequote", "lowerrightsingleninequote", "lozenge", "lparent", "lrcorner", "lrointerval", "lrtbbox", "lstroke", "lt", "ltimes", "ltop", "ltrhbox", "ltrvbox", "ltrvtop", "luaTeX", "luacode", "luaconditional", "luaenvironment", "luaexpanded", "luaexpr", "luafunction", "luajitTeX", "luamajorversion", "luametaTeX", "luaminorversion", "luaparameterset", "luasetup", "luaversion", "lvert", "m", "mLeftarrow", "mLeftrightarrow", "mRightarrow", "mVert", "mainlanguage", "makecharacteractive", "makerawcommalist", "makestrutofbox", "maltese", "mapfontsize", "maps", "mapsas", "mapsdown", "mapsfrom", "mapsto", "mapsup", "margindata", "margintext", "markcontent", "markedpages", "marking", "markinjector", "markpage", "markreferencepage", "mat", "math", "mathDitalicshape", "mathDuprightshape", "mathampersand", "mathbf", "mathbi", "mathblackboard", "mathbs", "mathdefault", "mathditalicshape", "mathdollar", "mathdouble", "mathduprightshape", "mathematics", "mathfraktur", "mathfunction", "mathhash", "mathhyphen", "mathit", "mathitalic", "mathlabellanguage", "mathlabeltext", "mathlabeltexts", "mathop", "mathover", "mathpercent", "mathrm", "mathscript", "mathsl", "mathss", "mathtext", "mathtext!
bf", "mathtextbi", "mathtextbs", "mathtextit", "mathtextsl", "mathtexttf", "mathtf", "mathtriplet", "mathtt", "mathunder", "mathupright", "mathword", "mathwordbf", "mathwordbi", "mathwordbs", "mathwordit", "mathwordsl", "mathwordtf", "maxaligned", "mbox", "mcframed", "measure", "measured", "measuredangle", "measuredeq", "medskip", "medspace", "menubutton", "mequal", "message", "mfence", "mframed", "mfunction", "mfunctionlabeltext", "mhbox", "mho", "mhookleftarrow", "mhookrightarrow", "mid", "midaligned", "middle", "middlealigned", "middlebox", "midhbox", "midsubsentence", "minimalhbox", "minus", "minuscolon", "mirror", "mixedcaps", "mkvibuffer", "mleftarrow", "mleftharpoondown", "mleftharpoonup", "mleftrightarrow", "mleftrightharpoons", "mmapsto", "models", "moduleparameter", "molecule", "mono", "monobold", "mononormal", "month", "monthlong", "monthshort", "mp", "mprandomnumber", "mrel", "mrightarrow", "mrightharpoondown", "mrightharpoonup", "mrightleftharpoons", "mrightoverleftarrow", "mtext", "mtriplerel", "mtwoheadleftarrow", "mtwoheadrightarrow", "mu", "multimap", "mvert", "nHdownarrow", "nHuparrow", "nLeftarrow", "nLeftrightarrow", "nRightarrow", "nVDash", "nVdash", "nVleftarrow", "nVleftrightarrow", "nVrightarrow", "nabla", "nacute", "namedheadnumber", "namedstructureheadlocation", "namedstructureuservariable", "namedstructurevariable", "namedtaggedlabeltexts", "napostrophe", "napprox", "napproxEq", "narrownobreakspace", "nasymp", "natural", "naturalhbox", "naturalhpack", "naturalnumbers", "naturaltpack", "naturalvbox", "naturalvcenter", "naturalvpack", "naturalvtop", "naturalwd", "ncaron", "ncommaaccent", "ncong", "ncurl", "ndivides", "ne", "nearrow", "negatecolorbox", "negated", "negativesign", "negemspace", "negenspace", "negthinspace", "neng", "neq", "nequiv", "neswarrow", "newattribute", "newcatcodetable", "newcounter", "newevery", "newfrenchspacing", "newluatable", "newmode", "newsignal", "newsystemmode", "nexists", "nextbox", "nextboxdp", "nextboxht", "nextboxhtdp", "nextboxwd", "nextcounter", "next!
countervalue", "nextdepth", "nextparagraphs", "nextrealpage", "nextrealpagenumber", "nextsubcountervalue", "nextsubpage", "nextsubpagenumber", "nextuserpage", "nextuserpagenumber", "ngeq", "ngrave", "ngtr", "ngtrless", "ngtrsim", "ni", "nihongo", "nin", "njligature", "nleftarrow", "nleftrightarrow", "nleq", "nless", "nlessgtr", "nlesssim", "nmid", "nni", "nobar", "nobreakspace", "nocap", "nocharacteralign", "nocitation", "nocite", "nodetostring", "noffigurepages", "noflines", "noflinesinbox", "noflocalfloats", "noheaderandfooterlines", "noheightstrut", "nohyphens", "noindentation", "noitem", "nonfrenchspacing", "nonmathematics", "nonvalidassignment", "normal", "normalboldface", "normalframedwithsettings", "normalitalicface", "normalizebodyfontsize", "normalizedfontsize", "normalizefontdepth", "normalizefontheight", "normalizefontline", "normalizefontwidth", "normalizetextdepth", "normalizetextheight", "normalizetextline", "normalizetextwidth", "normalslantedface", "normaltypeface", "nospace", "not", "note", "notesymbol", "notimes", "notin", "notopandbottomlines", "notragged", "nowns", "nparallel", "nprec", "npreccurlyeq", "nrightarrow", "nsim", "nsimeq", "nsqsubseteq", "nsqsupseteq", "nsubset", "nsubseteq", "nsucc", "nsucccurlyeq", "nsupset", "nsupseteq", "ntilde", "ntimes", "ntriangleleft", "ntrianglelefteq", "ntriangleright", "ntrianglerighteq", "nu", "numberofpoints", "numbers", "nvDash", "nvdash", "nvleftarrow", "nvleftrightarrow", "nvrightarrow", "nwarrow", "nwsearrow", "oacute", "obeydepth", "objectdepth", "objectheight", "objectmargin", "objectwidth", "obox", "obreve", "ocaron", "ocircumflex", "ocircumflexacute", "ocircumflexdotbelow", "ocircumflexgrave", "ocircumflexhook", "ocircumflextilde", "octnumber", "octstringtonumber", "odiaeresis", "odiaeresismacron", "odot", "odotaccent", "odotaccentmacron", "odotbelow", "odoublegrave", "oeligature", "offset", "offsetbox", "ograve", "ohm", "ohook", "ohorn", "ohornacute", "ohorndotbelow", "ohorngrave", "ohornhook", "ohorntilde", "ohungarumlaut", "oiiint", "oiint"!
, "oint", "ointclockwise", "ointctrclockwise", "oinvertedbreve", "omacron", "omega", "omicron", "ominus", "onedigitrounding", "oneeighth", "onefifth", "onehalf", "onequarter", "onesixth", "onesuperior", "onethird", "oogonek", "oogonekmacron", "operatorlanguage", "operatortext", "oplus", "ordfeminine", "ordinaldaynumber", "ordinalstr", "ordmasculine", "ornamenttext", "oslash", "ostroke", "ostrokeacute", "otilde", "otildemacron", "otimes", "outputfilename", "outputstreambox", "outputstreamcopy", "outputstreamunvbox", "outputstreamunvcopy", "over", "overbar", "overbars", "overbartext", "overbarunderbar", "overbrace", "overbracetext", "overbraceunderbrace", "overbracket", "overbrackettext", "overbracketunderbracket", "overlaybutton", "overlaycolor", "overlaydepth", "overlayfigure", "overlayheight", "overlayimage", "overlaylinecolor", "overlaylinewidth", "overlayoffset", "overlayrollbutton", "overlaywidth", "overleftarrow", "overleftharpoondown", "overleftharpoonup", "overleftrightarrow", "overloaderror", "overparent", "overparenttext", "overparentunderparent", "overrightarrow", "overrightharpoondown", "overrightharpoonup", "overset", "overstrike", "overstrikes", "overtwoheadleftarrow", "overtwoheadrightarrow", "owns", "page", "pagearea", "pagebreak", "pagefigure", "pageinjection", "pagenumber", "pagereference", "pagestaterealpage", "pagestaterealpageorder", "paletsize", "paragraphmark", "parallel", "part", "partial", "pdfTeX", "pdfactualtext", "pdfbackendactualtext", "pdfbackendcurrentresources", "pdfbackendsetcatalog", "pdfbackendsetcolorspace", "pdfbackendsetextgstate", "pdfbackendsetinfo", "pdfbackendsetname", "pdfbackendsetpageattribute", "pdfbackendsetpageresource", "pdfbackendsetpagesattribute", "pdfbackendsetpattern", "pdfbackendsetshade", "pdfcolor", "pdfeTeX", "percent", "percentdimen", "periodcentered", "periods", "permitcaretescape", "permitcircumflexescape", "permitspacesbetweengroups", "perp", "persiandecimals", "persiandecimalseparator", "persiannumerals", "persianthousandsseparator", "perthousand", "p!
hantom", "phantombox", "phi", "phook", "pi", "pickupgroupedcommand", "pitchfork", "placeattachments", "placebookmarks", "placebtxrendering", "placechemical", "placecitation", "placecombinedlist", "placecomments", "placecontent", "placecurrentformulanumber", "placedbox", "placefigure", "placefloat", "placefloatcaption", "placefloatwithsetups", "placefootnotes", "placeformula", "placeframed", "placegraphic", "placeheadnumber", "placeheadtext", "placehelp", "placeholder", "placeindex", "placeinitial", "placeintermezzo", "placelayer", "placelayeredtext", "placelegend", "placelist", "placelistofabbreviations", "placelistofchemicals", "placelistoffigures", "placelistofgraphics", "placelistofintermezzi", "placelistoflogos", "placelistofpublications", "placelistofsorts", "placelistofsynonyms", "placelistoftables", "placelocalfootnotes", "placelocalnotes", "placement", "placenamedfloat", "placenamedformula", "placenotes", "placeongrid", "placeontopofeachother", "placepagenumber", "placepairedbox", "placeparallel", "placerawheaddata", "placerawheadnumber", "placerawheadtext", "placerawlist", "placeregister", "placerenderingwindow", "placesidebyside", "placesubformula", "placetable", "pm", "popattribute", "popmacro", "popmode", "popsystemmode", "position", "positionoverlay", "positionregionoverlay", "positivesign", "postponenotes", "prec", "precapprox", "preccurlyeq", "preceq", "preceqq", "precnapprox", "precneq", "precneqq", "precnsim", "precsim", "predefinedfont", "predefinefont", "predefinesymbol", "prefixedpagenumber", "prefixlanguage", "prefixtext", "prependetoks", "prependgvalue", "prependtocommalist", "prependtoks", "prependtoksonce", "prependvalue", "prerollblank", "presetbtxlabeltext", "presetdocument", "presetfieldsymbols", "presetheadtext", "presetlabeltext", "presetmathlabeltext", "presetoperatortext", "presetprefixtext", "presetsuffixtext", "presettaglabeltext", "presetunittext", "pretocommalist", "prettyprintbuffer", "prevcounter", "prevcountervalue", "preventmode", "prevrealpage", "prevrealpagenumber", "prev!
subcountervalue", "prevsubpage", "prevsubpagenumber", "prevuserpage", "prevuserpagenumber", "prime", "primes", "procent", "processMPbuffer", "processMPfigurefile", "processaction", "processallactionsinset", "processassignlist", "processassignmentcommand", "processassignmentlist", "processbetween", "processblocks", "processbodyfontenvironmentlist", "processcolorcomponents", "processcommacommand", "processcommalist", "processcommalistwithparameters", "processcontent", "processfile", "processfilemany", "processfilenone", "processfileonce", "processfirstactioninset", "processisolatedchars", "processisolatedwords", "processlinetablebuffer", "processlinetablefile", "processlist", "processmonth", "processranges", "processseparatedlist", "processtexbuffer", "processtokens", "processuntil", "processxtablebuffer", "processyear", "prod", "product", "profiledbox", "profilegivenbox", "program", "project", "propto", "pseudoMixedCapped", "pseudoSmallCapped", "pseudoSmallcapped", "pseudosmallcapped", "psi", "punctuationspace", "purenumber", "pushattribute", "pushbutton", "pushmacro", "pushmode", "pushoutputstream", "pushsystemmode", "putboxincache", "putnextboxincache", "qquad", "quad", "quadrupleprime", "quads", "quarterstrut", "questiondown", "questionedeq", "quitcommalist", "quitprevcommalist", "quittypescriptscanning", "quotation", "quote", "quotedbl", "quotedblbase", "quotedblleft", "quotedblright", "quoteleft", "quoteright", "quotesingle", "quotesinglebase", "rVert", "racute", "raggedbottom", "raggedcenter", "raggedleft", "raggedright", "raggedwidecenter", "raisebox", "randomizetext", "randomnumber", "rangle", "rationals", "rawcounter", "rawcountervalue", "rawdate", "rawdoifelseinset", "rawdoifinset", "rawdoifinsetelse", "rawgetparameters", "rawprocessaction", "rawprocesscommacommand", "rawprocesscommalist", "rawstructurelistuservariable", "rawsubcountervalue", "rbox", "rbrace", "rbracket", "rcaron", "rceil", "rcommaaccent", "rdoublegrave", "readfile", "readfixfile", "readjobfile", "readlocfile", "readsetfile", "readsysfi!
le", "readtexfile", "readxmlfile", "realSmallCapped", "realSmallcapped", "realpagenumber", "reals", "realsmallcapped", "recursedepth", "recurselevel", "recursestring", "redoconvertfont", "ref", "reference", "referencecolumnnumber", "referencepagedetail", "referencepagestate", "referenceprefix", "referencerealpage", "referencesymbol", "referring", "registerattachment", "registerctxluafile", "registered", "registerexternalfigure", "registerfontclass", "registerhyphenationexception", "registerhyphenationpattern", "registermenubuttons", "registerparwrapper", "registerparwrapperreverse", "registersort", "registersynonym", "registerunit", "regular", "relatemarking", "relateparameterhandlers", "relaxvalueifundefined", "relbar", "remainingcharacters", "remark", "removebottomthings", "removedepth", "removefromcommalist", "removelastskip", "removelastspace", "removemarkedcontent", "removepunctuation", "removesubstring", "removetoks", "removeunwantedspaces", "repeathead", "replacefeature", "replaceincommalist", "replaceword", "rescan", "rescanwithsetup", "resetMPdrawing", "resetMPenvironment", "resetMPinstance", "resetallattributes", "resetandaddfeature", "resetbar", "resetboxesincache", "resetbreakpoints", "resetbuffer", "resetcharacteralign", "resetcharacterkerning", "resetcharacterspacing", "resetcharacterstripping", "resetcollector", "resetcounter", "resetctxscanner", "resetdigitsmanipulation", "resetdirection", "resetfeature", "resetflag", "resetfontcolorsheme", "resetfontfallback", "resetfontsolution", "resethyphenationfeatures", "resetinjector", "resetinteractionmenu", "resetitaliccorrection", "resetlayer", "resetlocalfloats", "resetmarker", "resetmarking", "resetmode", "resetpagenumber", "resetparallel", "resetpath", "resetpenalties", "resetperiodkerning", "resetprofile", "resetrecurselevel", "resetreference", "resetreplacements", "resetscript", "resetsetups", "resetshownsynonyms", "resetsubpagenumber", "resetsymbolset", "resetsystemmode", "resettimer", "resettokenlist", "resettrackers", "resettrialtypesetting", "r!
esetusedsortings", "resetusedsynonyms", "resetuserpagenumber", "resetvalue", "resetvisualizers", "reshapebox", "resolvedglyphdirect", "resolvedglyphstyled", "restartcounter", "restorebox", "restorecatcodes", "restorecounter", "restorecurrentattributes", "restoreendofline", "restoreglobalbodyfont", "restriction", "retestfeature", "reusableMPgraphic", "reuseMPgraphic", "reuserandomseed", "reverseddoubleprime", "reversedprime", "reversedtripleprime", "reversehbox", "reversehpack", "reversetpack", "reversevbox", "reversevboxcontent", "reversevpack", "reversevtop", "revivefeature", "rfence", "rfloor", "rgroup", "rhbox", "rho", "rhooknearrow", "rhookswarrow", "right", "rightaligned", "rightangle", "rightarrow", "rightarrowbar", "rightarrowtail", "rightarrowtriangle", "rightbottombox", "rightbox", "rightdasharrow", "rightguillemot", "rightharpoondown", "rightharpoonup", "righthbox", "rightheadtext", "rightlabeltext", "rightleftarrows", "rightleftharpoons", "rightline", "rightmathlabeltext", "rightorleftpageaction", "rightpageorder", "rightrightarrows", "rightskipadaption", "rightsquigarrow", "rightsubguillemot", "rightthreearrows", "rightthreetimes", "righttoleft", "righttolefthbox", "righttoleftvbox", "righttoleftvtop", "righttopbox", "rightwavearrow", "rightwhitearrow", "ring", "rinterval", "rinvertedbreve", "risingdotseq", "rlap", "rlointerval", "rmoustache", "rneq", "robustaddtocommalist", "robustdoifelseinset", "robustdoifinsetelse", "robustpretocommalist", "rointerval", "rollbutton", "roman", "romanC", "romanD", "romanI", "romanII", "romanIII", "romanIV", "romanIX", "romanL", "romanM", "romanV", "romanVI", "romanVII", "romanVIII", "romanX", "romanXI", "romanXII", "romanc", "romand", "romani", "romanii", "romaniii", "romaniv", "romanix", "romanl", "romanm", "romannumerals", "romanv", "romanvi", "romanvii", "romanviii", "romanx", "romanxi", "romanxii", "rootradical", "rotate", "rparent", "rrangle", "rrbracket", "rrointerval", "rtimes", "rtlhbox", "rtlvbox", "rtlvtop", "rtop", "ruby", "ruledhbox", "ruledhpack", "rul!
edmbox", "ruledtopv", "ruledtpack", "ruledvbox", "ruledvpack", "ruledvtop", "runMPbuffer", "runninghbox", "russianNumerals", "russiannumerals", "rvert", "sacute", "safechar", "samplefile", "sans", "sansbold", "sansnormal", "sansserif", "savebox", "savebtxdataset", "savebuffer", "savecounter", "savecurrentattributes", "savenormalmeaning", "savetaggedtwopassdata", "savetwopassdata", "sbox", "scalarproduct", "scale", "scaron", "scedilla", "schwa", "schwahook", "scircumflex", "scommaaccent", "screen", "searrow", "secondderivativesymbol", "secondoffivearguments", "secondoffourarguments", "secondofsixarguments", "secondofthreearguments", "secondofthreeunexpanded", "secondoftwoarguments", "secondoftwounexpanded", "section", "sectionmark", "seeindex", "select", "selectblocks", "serializecommalist", "serializedcommalist", "serif", "serifbold", "serifnormal", "setJSpreamble", "setMPlayer", "setMPpositiongraphic", "setMPpositiongraphicrange", "setMPtext", "setMPvariable", "setMPvariables", "setautopagestaterealpageno", "setbar", "setbigbodyfont", "setboxllx", "setboxlly", "setbreakpoints", "setcapstrut", "setcatcodetable", "setcharacteralign", "setcharacteraligndetail", "setcharactercasing", "setcharactercleaning", "setcharacterkerning", "setcharacterspacing", "setcharacterstripping", "setcharstrut", "setcollector", "setcolormodell", "setcounter", "setcounterown", "setctxluafunction", "setcurrentfontclass", "setdataset", "setdatavalue", "setdefaultpenalties", "setdigitsmanipulation", "setdirection", "setdocumentargument", "setdocumentargumentdefault", "setdocumentfilename", "setdummyparameter", "setelementexporttag", "setemeasure", "setevalue", "setevariable", "setevariables", "setexpansion", "setfirstline", "setfirstpasscharacteralign", "setflag", "setfont", "setfontcolorsheme", "setfontfeature", "setfontsolution", "setfontstrut", "setfractions", "setglobalscript", "setgmeasure", "setgvalue", "setgvariable", "setgvariables", "sethboxregister", "sethyphenatedurlafter", "sethyphenatedurlbefore", "sethyphenatedurlnormal", "s!
ethyphenationfeatures", "setinitial", "setinjector", "setinteraction", "setinterfacecommand", "setinterfaceconstant", "setinterfaceelement", "setinterfacemessage", "setinterfacevariable", "setinternalrendering", "setitaliccorrection", "setlayer", "setlayerframed", "setlayertext", "setlinefiller", "setlocalhsize", "setlocalscript", "setluatable", "setmainbodyfont", "setmainparbuilder", "setmarker", "setmarking", "setmathstyle", "setmeasure", "setmessagetext", "setminus", "setmode", "setnostrut", "setnote", "setnotetext", "setobject", "setoldstyle", "setpagereference", "setpagestate", "setpagestaterealpageno", "setparagraphfreezing", "setpenalties", "setpercentdimen", "setperiodkerning", "setposition", "setpositionbox", "setpositiondata", "setpositiondataplus", "setpositiononly", "setpositionplus", "setpositionstrut", "setprofile", "setrandomseed", "setreference", "setreferencedobject", "setregisterentry", "setreplacements", "setrigidcolumnbalance", "setrigidcolumnhsize", "setscript", "setsecondpasscharacteralign", "setsectionblock", "setsimplecolumnshsize", "setsmallbodyfont", "setsmallcaps", "setstackbox", "setstructurepageregister", "setstrut", "setsuperiors", "setsystemmode", "settabular", "settaggedmetadata", "settestcrlf", "settextcontent", "settightobject", "settightreferencedobject", "settightstrut", "settightunreferencedobject", "settokenlist", "settrialtypesetting", "setuevalue", "setugvalue", "setunreferencedobject", "setup", "setupMPgraphics", "setupMPinstance", "setupMPpage", "setupMPvariables", "setupTABLE", "setupTEXpage", "setupalign", "setupalternativestyles", "setuparranging", "setupattachment", "setupattachments", "setupbackend", "setupbackground", "setupbackgrounds", "setupbar", "setupbars", "setupblackrules", "setupblank", "setupbleeding", "setupblock", "setupbodyfont", "setupbodyfontenvironment", "setupbookmark", "setupbottom", "setupbottomtexts", "setupbtx", "setupbtxdataset", "setupbtxlabeltext", "setupbtxlist", "setupbtxregister", "setupbtxrendering", "setupbuffer", "setupbutton", "setupca!
pitals", "setupcaption", "setupcaptions", "setupcharacteralign", "setupcharacterkerning", "setupcharacterspacing", "setupchemical", "setupchemicalframed", "setupclipping", "setupcollector", "setupcolor", "setupcolors", "setupcolumns", "setupcolumnset", "setupcolumnsetarea", "setupcolumnsetareatext", "setupcolumnsetlines", "setupcolumnsetspan", "setupcolumnsetstart", "setupcombination", "setupcombinedlist", "setupcomment", "setupcontent", "setupcounter", "setupdataset", "setupdelimitedtext", "setupdescription", "setupdescriptions", "setupdirections", "setupdocument", "setupeffect", "setupenumeration", "setupenumerations", "setupenv", "setupexpansion", "setupexport", "setupexternalfigure", "setupexternalfigures", "setupexternalsoundtracks", "setupfacingfloat", "setupfield", "setupfieldbody", "setupfieldcategory", "setupfieldcontentframed", "setupfieldlabelframed", "setupfields", "setupfieldtotalframed", "setupfiller", "setupfillinlines", "setupfillinrules", "setupfirstline", "setupfittingpage", "setupfloat", "setupfloatframed", "setupfloats", "setupfloatsplitting", "setupfontexpansion", "setupfontprotrusion", "setupfonts", "setupfontsolution", "setupfooter", "setupfootertexts", "setupfootnotes", "setupforms", "setupformula", "setupformulae", "setupformulaframed", "setupframed", "setupframedcontent", "setupframedtable", "setupframedtablecolumn", "setupframedtablerow", "setupframedtext", "setupframedtexts", "setupglobalreferenceprefix", "setuphead", "setupheadalternative", "setupheader", "setupheadertexts", "setupheadnumber", "setupheads", "setupheadtext", "setuphelp", "setuphigh", "setuphighlight", "setuphyphenation", "setuphyphenmark", "setupindentedtext", "setupindenting", "setupindex", "setupinitial", "setupinsertion", "setupinteraction", "setupinteractionbar", "setupinteractionmenu", "setupinteractionscreen", "setupinterlinespace", "setupitaliccorrection", "setupitemgroup", "setupitemizations", "setupitemize", "setupitems", "setuplabel", "setuplabeltext", "setuplanguage", "setuplayer", "setuplayeredtext", "setu!
playout", "setuplayouttext", "setuplegend", "setuplinefiller", "setuplinefillers", "setuplinenote", "setuplinenumbering", "setuplines", "setuplinetable", "setuplinewidth", "setuplist", "setuplistalternative", "setuplistextra", "setuplocalfloats", "setuplocalinterlinespace", "setuplow", "setuplowhigh", "setuplowmidhigh", "setupmakeup", "setupmarginblock", "setupmargindata", "setupmarginframed", "setupmarginrule", "setupmarginrules", "setupmarking", "setupmathalignment", "setupmathcases", "setupmathematics", "setupmathfence", "setupmathfraction", "setupmathfractions", "setupmathframed", "setupmathlabeltext", "setupmathmatrix", "setupmathornament", "setupmathradical", "setupmathstackers", "setupmathstyle", "setupmixedcolumns", "setupmodule", "setupmulticolumns", "setupnarrower", "setupnotation", "setupnotations", "setupnote", "setupnotes", "setupoffset", "setupoffsetbox", "setupoperatortext", "setupoppositeplacing", "setuporientation", "setupoutput", "setupoutputroutine", "setuppagechecker", "setuppagecolumns", "setuppagecomment", "setuppageinjection", "setuppageinjectionalternative", "setuppagenumber", "setuppagenumbering", "setuppageshift", "setuppagestate", "setuppagetransitions", "setuppairedbox", "setuppalet", "setuppaper", "setuppapersize", "setupparagraph", "setupparagraphintro", "setupparagraphnumbering", "setupparagraphs", "setupparallel", "setupperiodkerning", "setupperiods", "setupplaceholder", "setupplacement", "setuppositionbar", "setuppositioning", "setupprefixtext", "setupprocessor", "setupprofile", "setupprograms", "setupquotation", "setupquote", "setuprealpagenumber", "setupreferenceformat", "setupreferenceprefix", "setupreferencestructureprefix", "setupreferencing", "setupregister", "setupregisters", "setuprenderingwindow", "setuprotate", "setupruby", "setups", "setupscale", "setupscript", "setupscripts", "setupsectionblock", "setupselector", "setupshift", "setupsidebar", "setupsorting", "setupspacing", "setupspellchecking", "setupstartstop", "setupstretched", "setupstrut", "setupstyle", "setupsub!
formula", "setupsubformulas", "setupsubpagenumber", "setupsuffixtext", "setupsymbols", "setupsymbolset", "setupsynctex", "setupsynonyms", "setupsystem", "setuptables", "setuptabulate", "setuptagging", "setuptaglabeltext", "setuptext", "setuptextbackground", "setuptextflow", "setuptextnote", "setuptextrules", "setuptexttexts", "setupthinrules", "setuptolerance", "setuptooltip", "setuptop", "setuptoptexts", "setuptype", "setuptyping", "setupunit", "setupunittext", "setupurl", "setupuserdata", "setupuserdataalternative", "setupuserpagenumber", "setupversion", "setupviewerlayer", "setupvspacing", "setupwhitespace", "setupwithargument", "setupwithargumentswapped", "setupxml", "setupxtable", "setuvalue", "setuxvalue", "setvalue", "setvariable", "setvariables", "setvboxregister", "setvisualizerfont", "setvtopregister", "setwidthof", "setxmeasure", "setxvalue", "setxvariable", "setxvariables", "seveneighths", "sfrac", "shapedhbox", "sharp", "shiftbox", "shiftdown", "shiftup", "showallmakeup", "showattributes", "showbodyfont", "showbodyfontenvironment", "showboxes", "showbtxdatasetauthors", "showbtxdatasetcompleteness", "showbtxdatasetfields", "showbtxfields", "showbtxhashedauthors", "showbtxtables", "showchardata", "showcharratio", "showcolor", "showcolorbar", "showcolorcomponents", "showcolorgroup", "showcolorset", "showcolorstruts", "showcounter", "showdirectives", "showdirsinmargin", "showedebuginfo", "showexperiments", "showfont", "showfontdata", "showfontexpansion", "showfontitalics", "showfontkerns", "showfontparameters", "showfontstrip", "showfontstyle", "showframe", "showglyphdata", "showglyphs", "showgrid", "showgridsnapping", "showhelp", "showhyphenationtrace", "showhyphens", "showinjector", "showjustification", "showkerning", "showlayout", "showlayoutcomponents", "showligature", "showligatures", "showlogcategories", "showluatables", "showmakeup", "showmargins", "showmessage", "showminimalbaseline", "shownextbox", "showotfcomposition", "showpalet", "showparentchain", "showparwrapperstate", "showprint", "showse!
tups", "showsetupsdefinition", "showstruts", "showsymbolset", "showtimer", "showtokens", "showtrackers", "showvalue", "showvariable", "showwarning", "sigma", "signalrightpage", "sim", "simeq", "simplealignedbox", "simplealignedboxplus", "simplealignedspreadbox", "simplegroupedcommand", "simplereversealignedbox", "simplereversealignedboxplus", "singalcharacteralign", "singlebond", "singleverticalbar", "sixperemspace", "sixthofsixarguments", "slanted", "slantedbold", "slantedface", "slash", "slicepages", "slong", "slovenianNumerals", "sloveniannumerals", "small", "smallbodyfont", "smallbold", "smallbolditalic", "smallboldslanted", "smallcappedcharacters", "smallcappedromannumerals", "smallcaps", "smaller", "smallitalicbold", "smallnormal", "smallskip", "smallslanted", "smallslantedbold", "smalltype", "smash", "smashbox", "smashboxed", "smashedhbox", "smashedvbox", "smile", "snaptogrid", "softhyphen", "solidus", "someheadnumber", "somekindoftab", "someline", "somelocalfloat", "somenamedheadnumber", "someplace", "somewhere", "space", "spaceddigits", "spaceddigitsmethod", "spaceddigitsseparator", "spaceddigitssymbol", "spadesuit", "spanishNumerals", "spanishnumerals", "speech", "sphericalangle", "splitatasterisk", "splitatcolon", "splitatcolons", "splitatcomma", "splitatperiod", "splitdfrac", "splitfilename", "splitfloat", "splitfrac", "splitoffbase", "splitofffull", "splitoffkind", "splitoffname", "splitoffpath", "splitoffroot", "splitofftokens", "splitofftype", "splitstring", "spreadhbox", "sqcap", "sqcup", "sqrt", "sqsubset", "sqsubseteq", "sqsubsetneq", "sqsupset", "sqsupseteq", "sqsupsetneq", "square", "squaredots", "ssharp", "stackrel", "stackscripts", "star", "stareq", "startJScode", "startJSpreamble", "startLUA", "startMP", "startMPclip", "startMPcode", "startMPdefinitions", "startMPdrawing", "startMPenvironment", "startMPextensions", "startMPinclusions", "startMPinitializations", "startMPpage", "startMPpositiongraphic", "startMPpositionmethod", "startMPrun", "startPARSEDXML", "startTABLE", "startTABLEbody", !
"startTABLEfoot", "startTABLEhead", "startTABLEnested", "startTABLEnext", "startTC", "startTD", "startTDs", "startTEX", "startTEXpage", "startTH", "startTN", "startTR", "startTRs", "startTX", "startTY", "startXML", "startalign", "startalignment", "startallmodes", "startappendices", "startarrangedpages", "startasciimode", "startaside", "startattachment", "startbackground", "startbackmatter", "startbar", "startbbordermatrix", "startbitmapimage", "startblockquote", "startbodymatter", "startbordermatrix", "startboxedcolumns", "startbtxlabeltext", "startbtxrenderingdefinitions", "startbuffer", "startcases", "startcatcodetable", "startcenteraligned", "startchapter", "startcharacteralign", "startcheckedfences", "startchemical", "startchemicaltext", "startcollect", "startcollecting", "startcolor", "startcolorintent", "startcoloronly", "startcolorset", "startcolumns", "startcolumnset", "startcolumnsetspan", "startcombination", "startcomment", "startcomponent", "startcontextcode", "startcontextdefinitioncode", "startctxfunction", "startctxfunctiondefinition", "startcurrentcolor", "startcurrentlistentrywrapper", "startdelimited", "startdelimitedtext", "startdisplaymath", "startdmath", "startdocument", "starteffect", "startelement", "startembeddedxtable", "startendnote", "startendofline", "startenvironment", "startexceptions", "startexpanded", "startexpandedcollect", "startextendedcatcodetable", "startexternalfigurecollection", "startfacingfloat", "startfact", "startfigure", "startfiguretext", "startfittingpage", "startfixed", "startfloatcombination", "startfont", "startfontclass", "startfontsolution", "startfootnote", "startformula", "startformulas", "startframed", "startframedcell", "startframedcontent", "startframedrow", "startframedtable", "startframedtext", "startfrontmatter", "startgoto", "startgraphictext", "startgridsnapping", "starthanging", "starthbox", "starthboxestohbox", "starthboxregister", "starthead", "startheadtext", "starthelptext", "starthiding", "starthighlight", "starthyphenation", "startimath", "starti!
ndentation", "startindentedtext", "startinteraction", "startinteractionmenu", "startinterface", "startintermezzotext", "startintertext", "startitem", "startitemgroup", "startitemgroupcolumns", "startitemize", "startknockout", "startlabeltext", "startlanguage", "startlayout", "startleftaligned", "startlegend", "startline", "startlinealignment", "startlinecorrection", "startlinefiller", "startlinenote", "startlinenumbering", "startlines", "startlinetable", "startlinetablebody", "startlinetablecell", "startlinetablehead", "startlocalfootnotes", "startlocalheadsetup", "startlocallinecorrection", "startlocalnotes", "startlocalsetups", "startlua", "startluacode", "startluaparameterset", "startluasetups", "startmakeup", "startmarginblock", "startmarginrule", "startmarkedcontent", "startmarkpages", "startmathalignment", "startmathcases", "startmathlabeltext", "startmathmatrix", "startmathmode", "startmathstyle", "startmatrices", "startmatrix", "startmaxaligned", "startmdformula", "startmidaligned", "startmiddlealigned", "startmiddlemakeup", "startmixedcolumns", "startmode", "startmodeset", "startmodule", "startmoduletestsection", "startmpformula", "startmulticolumns", "startnamedsection", "startnamedsubformulas", "startnarrow", "startnarrower", "startnegative", "startnicelyfilledbox", "startnointerference", "startnotallmodes", "startnotext", "startnotmode", "startoperatortext", "startopposite", "startoutputstream", "startoverlay", "startoverprint", "startpacked", "startpagecolumns", "startpagecomment", "startpagefigure", "startpagelayout", "startpagemakeup", "startpar", "startparagraph", "startparagraphs", "startparagraphscell", "startparbuilder", "startpart", "startpath", "startplacechemical", "startplacefigure", "startplacefloat", "startplaceformula", "startplacegraphic", "startplaceintermezzo", "startplacelegend", "startplacepairedbox", "startplacetable", "startpositioning", "startpositionoverlay", "startpositive", "startpostponing", "startpostponingnotes", "startprefixtext", "startprocessassignmentcommand", "startpr!
ocessassignmentlist", "startprocesscommacommand", "startprocesscommalist", "startproduct", "startproject", "startprotect", "startprotectedcolors", "startpublication", "startpunctuation", "startquotation", "startquote", "startrandomized", "startrandomseed", "startrawsetups", "startreadingfile", "startreferenceprefix", "startregime", "startregister", "startreusableMPgraphic", "startrightaligned", "startruby", "startscript", "startsdformula", "startsection", "startsectionblock", "startsectionblockenvironment", "startsectionlevel", "startsetups", "startshapebox", "startshift", "startsidebar", "startsimplecolumns", "startspecialitem", "startspeech", "startspformula", "startsplitformula", "startsplittext", "startspread", "startstandardmakeup", "startstaticMPfigure", "startstaticMPgraphic", "startstrictinspectnextcharacter", "startstructurepageregister", "startstrut", "startstyle", "startsubformulas", "startsubject", "startsubjectlevel", "startsubsection", "startsubsentence", "startsubstack", "startsubsubject", "startsubsubsection", "startsubsubsubject", "startsubsubsubsection", "startsubsubsubsubject", "startsubsubsubsubsection", "startsubsubsubsubsubject", "startsuffixtext", "startsymbolset", "starttable", "starttablehead", "starttables", "starttabletail", "starttabletext", "starttabulate", "starttabulatehead", "starttabulatetail", "starttagged", "starttaglabeltext", "starttexcode", "starttexdefinition", "starttext", "starttextbackground", "starttextbackgroundmanual", "starttextcolor", "starttextcolorintent", "starttextflow", "starttextmakeup", "starttextrule", "startthematrix", "starttitle", "starttokenlist", "starttokens", "starttransparent", "starttypescript", "starttypescriptcollection", "starttyping", "startuniqueMPgraphic", "startuniqueMPpagegraphic", "startunittext", "startunpacked", "startusableMPgraphic", "startuseMPgraphic", "startusemathstyleparameter", "startuserdata", "startusingbtxspecification", "startvbox", "startvboxregister", "startvboxtohbox", "startvboxtohboxseparator", "startviewerlayer", "startv!
top", "startvtopregister", "startxcell", "startxcellgroup", "startxcolumn", "startxgroup", "startxmldisplayverbatim", "startxmlinlineverbatim", "startxmlraw", "startxmlsetups", "startxrow", "startxrowgroup", "startxtable", "startxtablebody", "startxtablefoot", "startxtablehead", "startxtablenext", "stligature", "stopJScode", "stopJSpreamble", "stopLUA", "stopMP", "stopMPclip", "stopMPcode", "stopMPdefinitions", "stopMPdrawing", "stopMPenvironment", "stopMPextensions", "stopMPinclusions", "stopMPinitializations", "stopMPpage", "stopMPpositiongraphic", "stopMPpositionmethod", "stopMPrun", "stopPARSEDXML", "stopTABLE", "stopTABLEbody", "stopTABLEfoot", "stopTABLEhead", "stopTABLEnested", "stopTABLEnext", "stopTC", "stopTD", "stopTDs", "stopTEX", "stopTEXpage", "stopTH", "stopTN", "stopTR", "stopTRs", "stopTX", "stopTY", "stopXML", "stopalign", "stopalignment", "stopallmodes", "stopappendices", "stoparrangedpages", "stopasciimode", "stopaside", "stopattachment", "stopbackground", "stopbackmatter", "stopbar", "stopbbordermatrix", "stopbitmapimage", "stopblockquote", "stopbodymatter", "stopbordermatrix", "stopboxedcolumns", "stopbtxlabeltext", "stopbtxrenderingdefinitions", "stopbuffer", "stopcases", "stopcatcodetable", "stopcenteraligned", "stopchapter", "stopcharacteralign", "stopcheckedfences", "stopchemical", "stopchemicaltext", "stopcollect", "stopcollecting", "stopcolor", "stopcolorintent", "stopcoloronly", "stopcolorset", "stopcolumns", "stopcolumnset", "stopcolumnsetspan", "stopcombination", "stopcomment", "stopcomponent", "stopcontextcode", "stopcontextdefinitioncode", "stopctxfunction", "stopctxfunctiondefinition", "stopcurrentcolor", "stopcurrentlistentrywrapper", "stopdelimited", "stopdelimitedtext", "stopdisplaymath", "stopdmath", "stopdocument", "stopeffect", "stopelement", "stopembeddedxtable", "stopendnote", "stopendofline", "stopenvironment", "stopexceptions", "stopexpanded", "stopexpandedcollect", "stopextendedcatcodetable", "stopexternalfigurecollection", "stopfacingfloat", "stopfact", "stopfigure",!
"stopfiguretext", "stopfittingpage", "stopfixed", "stopfloatcombination", "stopfont", "stopfontclass", "stopfontsolution", "stopfootnote", "stopformula", "stopformulas", "stopframed", "stopframedcell", "stopframedcontent", "stopframedrow", "stopframedtable", "stopframedtext", "stopfrontmatter", "stopgoto", "stopgraphictext", "stopgridsnapping", "stophanging", "stophbox", "stophboxestohbox", "stophboxregister", "stophead", "stopheadtext", "stophelptext", "stophiding", "stophighlight", "stophyphenation", "stopimath", "stopindentation", "stopindentedtext", "stopinteraction", "stopinteractionmenu", "stopinterface", "stopintermezzotext", "stopintertext", "stopitem", "stopitemgroup", "stopitemgroupcolumns", "stopitemize", "stopknockout", "stoplabeltext", "stoplanguage", "stoplayout", "stopleftaligned", "stoplegend", "stopline", "stoplinealignment", "stoplinecorrection", "stoplinefiller", "stoplinenote", "stoplinenumbering", "stoplines", "stoplinetable", "stoplinetablebody", "stoplinetablecell", "stoplinetablehead", "stoplocalfootnotes", "stoplocalheadsetup", "stoplocallinecorrection", "stoplocalnotes", "stoplocalsetups", "stoplua", "stopluacode", "stopluaparameterset", "stopluasetups", "stopmakeup", "stopmarginblock", "stopmarginrule", "stopmarkedcontent", "stopmarkpages", "stopmathalignment", "stopmathcases", "stopmathlabeltext", "stopmathmatrix", "stopmathmode", "stopmathstyle", "stopmatrices", "stopmatrix", "stopmaxaligned", "stopmdformula", "stopmidaligned", "stopmiddlealigned", "stopmiddlemakeup", "stopmixedcolumns", "stopmode", "stopmodeset", "stopmodule", "stopmoduletestsection", "stopmpformula", "stopmulticolumns", "stopnamedsection", "stopnamedsubformulas", "stopnarrow", "stopnarrower", "stopnegative", "stopnicelyfilledbox", "stopnointerference", "stopnotallmodes", "stopnotext", "stopnotmode", "stopoperatortext", "stopopposite", "stopoutputstream", "stopoverlay", "stopoverprint", "stoppacked", "stoppagecolumns", "stoppagecomment", "stoppagefigure", "stoppagelayout", "stoppagemakeup", "stoppar", "stopparagrap!
h", "stopparagraphs", "stopparagraphscell", "stopparbuilder", "stoppart", "stoppath", "stopplacechemical", "stopplacefigure", "stopplacefloat", "stopplaceformula", "stopplacegraphic", "stopplaceintermezzo", "stopplacelegend", "stopplacepairedbox", "stopplacetable", "stoppositioning", "stoppositionoverlay", "stoppositive", "stoppostponing", "stoppostponingnotes", "stopprefixtext", "stopprocessassignmentcommand", "stopprocessassignmentlist", "stopprocesscommacommand", "stopprocesscommalist", "stopproduct", "stopproject", "stopprotect", "stopprotectedcolors", "stoppublication", "stoppunctuation", "stopquotation", "stopquote", "stoprandomized", "stoprandomseed", "stoprawsetups", "stopreadingfile", "stopreferenceprefix", "stopregime", "stopreusableMPgraphic", "stoprightaligned", "stopruby", "stopscript", "stopsdformula", "stopsection", "stopsectionblock", "stopsectionblockenvironment", "stopsectionlevel", "stopsetups", "stopshapebox", "stopshift", "stopsidebar", "stopsimplecolumns", "stopspecialitem", "stopspeech", "stopspformula", "stopsplitformula", "stopsplittext", "stopspread", "stopstandardmakeup", "stopstaticMPfigure", "stopstaticMPgraphic", "stopstrictinspectnextcharacter", "stopstrut", "stopstyle", "stopsubformulas", "stopsubject", "stopsubjectlevel", "stopsubsection", "stopsubsentence", "stopsubstack", "stopsubsubject", "stopsubsubsection", "stopsubsubsubject", "stopsubsubsubsection", "stopsubsubsubsubject", "stopsubsubsubsubsection", "stopsubsubsubsubsubject", "stopsuffixtext", "stopsymbolset", "stoptable", "stoptablehead", "stoptables", "stoptabletail", "stoptabletext", "stoptabulate", "stoptabulatehead", "stoptabulatetail", "stoptagged", "stoptaglabeltext", "stoptexcode", "stoptexdefinition", "stoptext", "stoptextbackground", "stoptextbackgroundmanual", "stoptextcolor", "stoptextcolorintent", "stoptextflow", "stoptextmakeup", "stoptextrule", "stopthematrix", "stoptitle", "stoptokenlist", "stoptokens", "stoptransparent", "stoptypescript", "stoptypescriptcollection", "stoptyping", "stopuniqueMPgraphic", "st!
opuniqueMPpagegraphic", "stopunittext", "stopunpacked", "stopusableMPgraphic", "stopuseMPgraphic", "stopusemathstyleparameter", "stopuserdata", "stopusingbtxspecification", "stopvbox", "stopvboxregister", "stopvboxtohbox", "stopvboxtohboxseparator", "stopviewerlayer", "stopvtop", "stopvtopregister", "stopxcell", "stopxcellgroup", "stopxcolumn", "stopxgroup", "stopxmldisplayverbatim", "stopxmlinlineverbatim", "stopxmlraw", "stopxmlsetups", "stopxrow", "stopxrowgroup", "stopxtable", "stopxtablebody", "stopxtablefoot", "stopxtablehead", "stopxtablenext", "stretched", "strictdoifelsenextoptional", "strictdoifnextoptionalelse", "stripcharacter", "strippedcsname", "stripspaces", "structurelistuservariable", "structurenumber", "structuretitle", "structureuservariable", "structurevariable", "strut", "strutdp", "strutgap", "strutht", "struthtdp", "struttedbox", "strutwd", "style", "styleinstance", "subject", "subpagenumber", "subsection", "subsentence", "subset", "subseteq", "subseteqq", "subsetneq", "subsetneqq", "substituteincommalist", "subsubject", "subsubsection", "subsubsubject", "subsubsubsection", "subsubsubsubject", "subsubsubsubsection", "subsubsubsubsubject", "subtractfeature", "succ", "succapprox", "succcurlyeq", "succeq", "succeqq", "succnapprox", "succneq", "succneqq", "succnsim", "succsim", "suffixlanguage", "suffixtext", "sum", "supset", "supseteq", "supseteqq", "supsetneq", "supsetneqq", "surd", "surdradical", "swapcounts", "swapdimens", "swapface", "swapmacros", "swaptypeface", "swarrow", "switchstyleonly", "switchtobodyfont", "switchtocolor", "switchtointerlinespace", "symbol", "symbolreference", "synchronizeblank", "synchronizeindenting", "synchronizemarking", "synchronizeoutputstreams", "synchronizestrut", "synchronizewhitespace", "synctexblockfilename", "synctexresetfilename", "synctexsetfilename", "systemlog", "systemlogfirst", "systemloglast", "systemsetups", "tLeftarrow", "tLeftrightarrow", "tRightarrow", "tabulateautoline", "tabulateautorule", "tabulateline", "tabulaterule", "taggedctxcommand", !
"taggedlabeltexts", "taglabellanguage", "taglabeltext", "tau", "tbinom", "tbox", "tcaron", "tcedilla", "tcommaaccent", "tcurl", "tendsto", "tequal", "test", "testandsplitstring", "testcolumn", "testfeature", "testfeatureonce", "testpage", "testpageonly", "testpagesync", "testtokens", "tex", "texdefinition", "texsetup", "textAngstrom", "textacute", "textampersand", "textasciicircum", "textasciitilde", "textat", "textbackslash", "textbar", "textbottomcomma", "textbottomdot", "textbraceleft", "textbraceright", "textbreve", "textbrokenbar", "textbullet", "textcaron", "textcedilla", "textcelsius", "textcent", "textcircledP", "textcircumflex", "textcitation", "textcite", "textcomma", "textcontrolspace", "textcurrency", "textdag", "textddag", "textdegree", "textdiaeresis", "textdiv", "textdollar", "textdong", "textdotaccent", "textellipsis", "texteuro", "textflowcollector", "textfraction", "textgrave", "texthash", "texthorizontalbar", "texthungarumlaut", "texthyphen", "textkelvin", "textlognot", "textmacron", "textmath", "textmho", "textminus", "textmp", "textmu", "textmultiply", "textnumero", "textogonek", "textohm", "textormathchar", "textormathchars", "textounce", "textpercent", "textperiod", "textplus", "textpm", "textreference", "textring", "textrule", "textslash", "textsterling", "texttilde", "textunderscore", "textvisiblespace", "textyen", "thai", "thainumerals", "thedatavalue", "thefirstcharacter", "thematrix", "thenormalizedbodyfontsize", "theorientation", "therefore", "theremainingcharacters", "theta", "thickspace", "thinrule", "thinrules", "thinspace", "thirdderivativesymbol", "thirdoffivearguments", "thirdoffourarguments", "thirdofsixarguments", "thirdofthreearguments", "thirdofthreeunexpanded", "thook", "thookleftarrow", "thookrightarrow", "thorn", "threedigitrounding", "threeeighths", "threefifths", "threeperemspace", "threequarter", "threesuperior", "tibetannumerals", "tightlayer", "tilde", "times", "tinyfont", "title", "tlap", "tleftarrow", "tleftharpoondown", "tleftharpoonup", "tleftrightarrow", "tleft!
rightharpoons", "tmapsto", "to", "tochar", "tolinenote", "tooltip", "top", "topbox", "topleftbox", "toplinebox", "toprightbox", "topskippedbox", "tracecatcodetables", "tracedfontname", "tracedpagestate", "traceoutputroutines", "tracepositions", "trademark", "translate", "transparencycomponents", "transparent", "transposesymbol", "trel", "triangle", "triangledown", "triangleleft", "triangleq", "triangleright", "trightarrow", "trightharpoondown", "trightharpoonup", "trightleftharpoons", "trightoverleftarrow", "triplebond", "tripleprime", "tripleverticalbar", "truefilename", "truefontname", "tstroke", "ttraggedright", "ttriplerel", "ttwoheadleftarrow", "ttwoheadrightarrow", "turnediota", "twodigitrounding", "twofifths", "twoheaddownarrow", "twoheadleftarrow", "twoheadrightarrow", "twoheadrightarrowtail", "twoheaduparrow", "twosuperior", "twothirds", "tx", "txx", "typ", "type", "typebuffer", "typedefinedbuffer", "typeface", "typefile", "typeinlinebuffer", "typescriptone", "typescriptprefix", "typescriptthree", "typescripttwo", "typesetbuffer", "typesetbufferonly", "typesetfile", "uacute", "ubreve", "ucaron", "uchexnumber", "uchexnumbers", "ucircumflex", "uconvertnumber", "udiaeresis", "udiaeresisacute", "udiaeresiscaron", "udiaeresisgrave", "udiaeresismacron", "udotbelow", "udots", "udoublegrave", "uedcatcodecommand", "ugrave", "uhook", "uhorn", "uhornacute", "uhorndotbelow", "uhorngrave", "uhornhook", "uhorntilde", "uhungarumlaut", "uinvertedbreve", "ulcorner", "umacron", "undefinevalue", "undepthed", "underbar", "underbars", "underbartext", "underbrace", "underbracetext", "underbracket", "underbrackettext", "underdash", "underdashes", "underdot", "underdots", "underleftarrow", "underleftharpoondown", "underleftharpoonup", "underleftrightarrow", "underparent", "underparenttext", "underrandom", "underrandoms", "underrightarrow", "underrightharpoondown", "underrightharpoonup", "underset", "understrike", "understrikes", "undertwoheadleftarrow", "undertwoheadrightarrow", "undoassign", "unexpandeddocumentvariable", "unf!
ramed", "unhhbox", "unihex", "uniqueMPgraphic", "uniqueMPpagegraphic", "unit", "unitlanguage", "unitshigh", "unitslow", "unittext", "unknown", "unprotected", "unregisterhyphenationpattern", "unregisterparwrapper", "unspaceafter", "unspaceargument", "unspaced", "unspacestring", "unstackscripts", "untexargument", "untexcommand", "uogonek", "upand", "uparrow", "updasharrow", "updateparagraphdemerits", "updateparagraphpenalties", "updateparagraphproperties", "updateparagraphshapes", "updownarrow", "updownarrowbar", "updownarrows", "upharpoonleft", "upharpoonright", "uplus", "uppercased", "uppercasestring", "uppercasing", "upperleftdoubleninequote", "upperleftdoublesixquote", "upperleftsingleninequote", "upperleftsinglesixquote", "upperrightdoubleninequote", "upperrightdoublesixquote", "upperrightsingleninequote", "upperrightsinglesixquote", "upsilon", "upuparrows", "upwhitearrow", "urcorner", "uring", "url", "useJSscripts", "useMPenvironmentbuffer", "useMPgraphic", "useMPlibrary", "useMPrun", "useMPvariables", "useURL", "usealignparameter", "useblankparameter", "useblocks", "usebodyfont", "usebodyfontparameter", "usebtxdataset", "usebtxdefinitions", "usecitation", "usecolors", "usecomponent", "usedirectory", "usedummycolorparameter", "usedummystyleandcolor", "usedummystyleparameter", "useenvironment", "useexternaldocument", "useexternalfigure", "useexternalrendering", "useexternalsoundtrack", "usefigurebase", "usefile", "usefontpath", "usegridparameter", "usehyphensparameter", "useindentingparameter", "useindentnextparameter", "useinterlinespaceparameter", "uselanguageparameter", "useluamodule", "useluatable", "usemathstyleparameter", "usemodule", "useproduct", "useprofileparameter", "useproject", "usereferenceparameter", "userpagenumber", "usesetupsparameter", "usestaticMPfigure", "usesubpath", "usesymbols", "usetexmodule", "usetypescript", "usetypescriptfile", "useurl", "usezipfile", "utfchar", "utflower", "utfupper", "utilde", "utilityregisterlength", "vDash", "validassignment", "varTheta", "varepsilon", "varkapp!
a", "varnothing", "varphi", "varpi", "varrho", "varsigma", "vartheta", "vboxreference", "vdash", "vdots", "vec", "vee", "veebar", "veeeq", "verbatim", "verbatimstring", "verbosenumber", "version", "vert", "verticalgrowingbar", "verticalpositionbar", "veryraggedcenter", "veryraggedleft", "veryraggedright", "vglue", "viewerlayer", "vl", "vpackbox", "vpackedbox", "vphantom", "vpos", "vsmash", "vsmashbox", "vsmashed", "vspace", "vspacing", "wcircumflex", "wdofstring", "wedge", "wedgeeq", "weekday", "whitearrowupfrombar", "wideacute", "widebar", "widebreve", "widecheck", "wideddot", "widedot", "widegrave", "widehat", "widering", "widetilde", "widthofstring", "widthspanningtext", "withoutpt", "word", "wordright", "words", "wordtonumber", "wp", "wr", "writebetweenlist", "writedatatolist", "writestatus", "writetolist", "xLeftarrow", "xLeftrightarrow", "xRightarrow", "xdefconvertedargument", "xequal", "xfrac", "xhookleftarrow", "xhookrightarrow", "xi", "xleftarrow", "xleftharpoondown", "xleftharpoonup", "xleftrightarrow", "xleftrightharpoons", "xmapsto", "xmladdindex", "xmlafterdocumentsetup", "xmlaftersetup", "xmlall", "xmlappenddocumentsetup", "xmlappendsetup", "xmlapplyselectors", "xmlatt", "xmlattdef", "xmlattribute", "xmlattributedef", "xmlbadinclusions", "xmlbeforedocumentsetup", "xmlbeforesetup", "xmlchainatt", "xmlchainattdef", "xmlchecknamespace", "xmlcommand", "xmlconcat", "xmlconcatrange", "xmlcontext", "xmlcount", "xmldefaulttotext", "xmldepth", "xmldirectives", "xmldirectivesafter", "xmldirectivesbefore", "xmldisplayverbatim", "xmldoif", "xmldoifatt", "xmldoifelse", "xmldoifelseatt", "xmldoifelseempty", "xmldoifelseselfempty", "xmldoifelsetext", "xmldoifelsevalue", "xmldoifnot", "xmldoifnotatt", "xmldoifnotselfempty", "xmldoifnottext", "xmldoifselfempty", "xmldoiftext", "xmlelement", "xmlfilter", "xmlfirst", "xmlflush", "xmlflushcontext", "xmlflushdocumentsetups", "xmlflushlinewise", "xmlflushpure", "xmlflushspacewise", "xmlflushtext", "xmlinclude", "xmlinclusion", "xmlinclusions", "xmlinfo", "xmlinjector", !
"xmlinlineprettyprint", "xmlinlineprettyprinttext", "xmlinlineverbatim", "xmlinstalldirective", "xmllast", "xmllastatt", "xmllastmatch", "xmllastpar", "xmlloadbuffer", "xmlloaddata", "xmlloaddirectives", "xmlloadfile", "xmlloadonly", "xmlmain", "xmlmapvalue", "xmlname", "xmlnamespace", "xmlnonspace", "xmlpar", "xmlparam", "xmlpath", "xmlpos", "xmlposition", "xmlprependdocumentsetup", "xmlprependsetup", "xmlprettyprint", "xmlprettyprinttext", "xmlprocessbuffer", "xmlprocessdata", "xmlprocessfile", "xmlpure", "xmlraw", "xmlrefatt", "xmlregistereddocumentsetups", "xmlregisteredsetups", "xmlregisterns", "xmlremapname", "xmlremapnamespace", "xmlremovedocumentsetup", "xmlremovesetup", "xmlresetdocumentsetups", "xmlresetinjectors", "xmlresetsetups", "xmlsave", "xmlsetatt", "xmlsetattribute", "xmlsetentity", "xmlsetfunction", "xmlsetinjectors", "xmlsetpar", "xmlsetparam", "xmlsetsetup", "xmlsetup", "xmlshow", "xmlsnippet", "xmlstrip", "xmlstripnolines", "xmlstripped", "xmlstrippednolines", "xmltag", "xmltexentity", "xmltext", "xmltobuffer", "xmltobufferverbose", "xmltofile", "xmlvalue", "xmlverbatim", "xrel", "xrightarrow", "xrightharpoondown", "xrightharpoonup", "xrightleftharpoons", "xrightoverleftarrow", "xsplitstring", "xtriplerel", "xtwoheadleftarrow", "xtwoheadrightarrow", "xxfrac", "xypos", "yacute", "ycircumflex", "ydiaeresis", "ydotbelow", "yen", "ygrave", "yhook", "yiddishnumerals", "ymacron", "ytilde", "zacute", "zcaron", "zdotaccent", "zeronumberconversion", "zerowidthnobreakspace", "zerowidthspace", "zeta", "zhook", "zstroke", "zwj", "zwnj" },
["en"]={},
}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metafun.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
return {
- ["commands"]={ "loadfile", "loadimage", "loadmodule", "dispose", "nothing", "transparency", "tolist", "topath", "tocycle", "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "tanh", "zmod", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "unittriangle", "fulltriangle", "unitoctagon", "fulloctagon", "unithexagon", "fullhexagon", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "uptriangle", "downtriangle", "lefttriangle", "righttriangle", "triangle", "smoothed", "cornered", "superellipsed", "randomized", "randomizedcontrols", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "perpendicular", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "drawdoublearrows", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "boundingradius", "boundingcircle", "boundingpoint", "crossingunder", "insideof", "outsideof", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withcircularshade", "withlinearshade", "defineshade", "shaded", "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", "withshadecenter", "withshadedirection", "withshaderadius", "withshadetransform", "withshadecenterone", "withshadecentertwo", "withshadestep", "withshadefraction", "withshadeorigin", "shownshadevector", "shown!
shadeorigin", "shownshadedirection", "shownshadecenter", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "outlinetext", "filloutlinetext", "drawoutlinetext", "outlinetexttopath", "checkedbounds", "checkbounds", "strut", "rule", "withmask", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "colordecimalslist", "textext", "thetextext", "rawtextext", "textextoffset", "texbox", "thetexbox", "rawtexbox", "istextext", "infotext", "rawmadetext", "validtexbox", "onetimetextext", "rawfmttext", "thefmttext", "fmttext", "onetimefmttext", "notcached", "keepcached", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "withopacity", "property", "properties", "withproperties", "asgroup", "withpattern", "withpatternscale", "withpatternfloat", "infont", "space", "crlf", "dquote", "percent", "SPACE", "CRLF", "DQUOTE", "PERCENT", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "colorlike", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedfunction", "constructedpath", "constructedpairs", "straightfunction", "straightpath", "straightpairs", "curvedfunction", "curvedpath", "curvedpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "resetarrows", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "basiccolors", "complementary", "complemented", "resolvedcolor", "normalfill", "normaldraw", "visualizepaths", "detailpaths", "naturalizepaths", "drawboundary", "drawwholepath", "drawpathonly", "visualizeddraw", "visualizedfill", "detaileddraw", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointopti!
ons", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "pencilled", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "topair", "format", "formatted", "quotation", "quote", "startpassingvariable", "stoppassingvariable", "eofill", "eoclip", "nofill", "dofill", "fillup", "eofillup", "nodraw", "dodraw", "enfill", "area", "addbackground", "shadedup", "shadeddown", "shadedleft", "shadedright", "sortlist", "copylist", "shapedlist", "listtocurves", "listtolines", "listsize", "listlast", "uniquelist", "circularpath", "squarepath", "linearpath", "theoffset", "texmode", "systemmode", "texvar", "texstr", "isarray", "prefix", "dimension", "getmacro", "getdimen", "getcount", "gettoks", "setmacro", "setdimen", "setcount", "settoks", "setglobalmacro", "setglobaldimen", "setglobalcount", "setglobaltoks", "positionpath", "positioncurve", "positionxy", "positionparagraph", "positioncolumn", "positionwhd", "positionpage", "positionregion", "positionbox", "positionx", "positiony", "positionanchor", "positioninregion", "positionatanchor", "positioncolumnbox", "overlaycolumnbox", "positioncolumnatx", "getposboxes", "getmultipars", "getpospage", "getposparagraph", "getposcolumn", "getposregion", "getposx", "getposy", "getposwidth", "getposheight", "getposdepth", "getposleftskip", "getposrightskip", "getposhsize", "getposparindent", "getposhangindent", "getposhangafter", "getposxy", "getposupperleft", "getposlowerleft", "getposupperright", "getposlowerright", "getposllx", "getposlly", "getposurx", "getposury", "wdpart", "htpart", "dppart", "texvar", "texstr", "inpath", "pointof", "leftof", "rightof", "utfnum", "utflen", "utfsub", "newhash", "disposehash", "inhash", "tohash", "fromhash", "isarray", "prefix", "isobject", "comment", "report", "lua", "lualist", "mp", "MP", "luacall", "mirrored", "mirroredabout", "xslanted", "yslanted", "scriptindex", "newscriptindex", "newcolor", "newrgbcolor", "newcmykcolor", "new!
numeric", "newboolean", "newtransform", "newpath", "newpicture", "newstring", "newpair", "mpvard", "mpvarn", "mpvars", "mpvar", "withtolerance", "hatched", "withdashes", "processpath", "pencilled", "sortedintersectiontimes", "intersectionpath", "firstintersectionpath", "secondintersectionpath", "intersectionsfound", "cutbeforefirst", "cutafterfirst", "cutbeforelast", "cutafterlast", "xnormalized", "ynormalized", "xynormalized", "phantom", "scrutinized" },
- ["internals"]={ "nocolormodel", "greycolormodel", "graycolormodel", "rgbcolormodel", "cmykcolormodel", "shadefactor", "shadeoffset", "textextoffset", "textextanchor", "normaltransparent", "multiplytransparent", "screentransparent", "overlaytransparent", "softlighttransparent", "hardlighttransparent", "colordodgetransparent", "colorburntransparent", "darkentransparent", "lightentransparent", "differencetransparent", "exclusiontransparent", "huetransparent", "saturationtransparent", "colortransparent", "luminositytransparent", "ahvariant", "ahdimple", "ahfactor", "ahscale", "metapostversion", "maxdimensions", "drawoptionsfactor", "dq", "sq", "crossingscale", "crossingoption", "crossingdebug", "contextlmtxmode", "metafunversion", "minifunversion", "getparameters", "presetparameters", "hasparameter", "hasoption", "getparameter", "getparameterdefault", "getparametercount", "getmaxparametercount", "getparameterpath", "getparameterpen", "getparametertext", "applyparameters", "mergeparameters", "pushparameters", "popparameters", "setluaparameter", "definecolor", "record", "newrecord", "setrecord", "getrecord", "cntrecord", "anchorxy", "anchorx", "anchory", "anchorht", "anchordp", "anchorul", "anchorll", "anchorlr", "anchorur", "localanchorbox", "localanchorcell", "localanchorspan", "anchorbox", "anchorcell", "anchorspan", "matrixbox", "matrixcell", "matrixspan", "pensilcolor", "pensilstep" },
+ ["commands"]={ "loadfile", "loadimage", "loadmodule", "dispose", "nothing", "transparency", "tolist", "topath", "tocycle", "sqr", "log", "ln", "exp", "inv", "pow", "pi", "radian", "tand", "cotd", "sin", "cos", "tan", "cot", "atan", "asin", "acos", "invsin", "invcos", "invtan", "acosh", "asinh", "sinh", "cosh", "tanh", "zmod", "paired", "tripled", "unitcircle", "fulldiamond", "unitdiamond", "fullsquare", "unittriangle", "fulltriangle", "unitoctagon", "fulloctagon", "unithexagon", "fullhexagon", "llcircle", "lrcircle", "urcircle", "ulcircle", "tcircle", "bcircle", "lcircle", "rcircle", "lltriangle", "lrtriangle", "urtriangle", "ultriangle", "uptriangle", "downtriangle", "lefttriangle", "righttriangle", "triangle", "smoothed", "cornered", "superellipsed", "randomized", "randomizedcontrols", "squeezed", "enlonged", "shortened", "punked", "curved", "unspiked", "simplified", "blownup", "stretched", "enlarged", "leftenlarged", "topenlarged", "rightenlarged", "bottomenlarged", "crossed", "laddered", "randomshifted", "interpolated", "perpendicular", "paralleled", "cutends", "peepholed", "llenlarged", "lrenlarged", "urenlarged", "ulenlarged", "llmoved", "lrmoved", "urmoved", "ulmoved", "rightarrow", "leftarrow", "centerarrow", "drawdoublearrows", "boundingbox", "innerboundingbox", "outerboundingbox", "pushboundingbox", "popboundingbox", "boundingradius", "boundingcircle", "boundingpoint", "crossingunder", "insideof", "outsideof", "bottomboundary", "leftboundary", "topboundary", "rightboundary", "xsized", "ysized", "xysized", "sized", "xyscaled", "intersection_point", "intersection_found", "penpoint", "bbwidth", "bbheight", "withshade", "withcircularshade", "withlinearshade", "defineshade", "shaded", "shadedinto", "withshadecolors", "withshadedomain", "withshademethod", "withshadefactor", "withshadevector", "withshadecenter", "withshadedirection", "withshaderadius", "withshadetransform", "withshadecenterone", "withshadecentertwo", "withshadestep", "withshadefraction", "withshadeorigin", "shownshadevector", "shown!
shadeorigin", "shownshadedirection", "shownshadecenter", "cmyk", "spotcolor", "multitonecolor", "namedcolor", "drawfill", "undrawfill", "inverted", "uncolored", "softened", "grayed", "greyed", "onlayer", "along", "graphictext", "loadfigure", "externalfigure", "figure", "register", "outlinetext", "filloutlinetext", "drawoutlinetext", "outlinetexttopath", "checkedbounds", "checkbounds", "strut", "rule", "withmask", "bitmapimage", "colordecimals", "ddecimal", "dddecimal", "ddddecimal", "colordecimalslist", "textext", "thetextext", "rawtextext", "textextoffset", "texbox", "thetexbox", "rawtexbox", "istextext", "infotext", "rawmadetext", "validtexbox", "onetimetextext", "rawfmttext", "thefmttext", "fmttext", "onetimefmttext", "notcached", "keepcached", "verbatim", "thelabel", "label", "autoalign", "transparent", "withtransparency", "withopacity", "property", "properties", "withproperties", "asgroup", "withpattern", "withpatternscale", "withpatternfloat", "infont", "space", "crlf", "dquote", "percent", "SPACE", "CRLF", "DQUOTE", "PERCENT", "grayscale", "greyscale", "withgray", "withgrey", "colorpart", "colorlike", "readfile", "clearxy", "unitvector", "center", "epsed", "anchored", "originpath", "infinite", "break", "xstretched", "ystretched", "snapped", "pathconnectors", "function", "constructedfunction", "constructedpath", "constructedpairs", "straightfunction", "straightpath", "straightpairs", "curvedfunction", "curvedpath", "curvedpairs", "evenly", "oddly", "condition", "pushcurrentpicture", "popcurrentpicture", "arrowpath", "resetarrows", "tensecircle", "roundedsquare", "colortype", "whitecolor", "blackcolor", "basiccolors", "complementary", "complemented", "resolvedcolor", "normalfill", "normaldraw", "visualizepaths", "detailpaths", "naturalizepaths", "drawboundary", "drawwholepath", "drawpathonly", "visualizeddraw", "visualizedfill", "detaileddraw", "draworigin", "drawboundingbox", "drawpath", "drawpoint", "drawpoints", "drawcontrolpoints", "drawcontrollines", "drawpointlabels", "drawlineoptions", "drawpointopti!
ons", "drawcontroloptions", "drawlabeloptions", "draworiginoptions", "drawboundoptions", "drawpathoptions", "resetdrawoptions", "undashed", "pencilled", "decorated", "redecorated", "undecorated", "passvariable", "passarrayvariable", "tostring", "topair", "format", "formatted", "quotation", "quote", "startpassingvariable", "stoppassingvariable", "eofill", "eoclip", "nofill", "dofill", "fillup", "eofillup", "nodraw", "dodraw", "enfill", "area", "addbackground", "shadedup", "shadeddown", "shadedleft", "shadedright", "sortlist", "copylist", "shapedlist", "listtocurves", "listtolines", "listsize", "listlast", "uniquelist", "circularpath", "squarepath", "linearpath", "theoffset", "texmode", "systemmode", "texvar", "texstr", "isarray", "prefix", "dimension", "getmacro", "getdimen", "getcount", "gettoks", "setmacro", "setdimen", "setcount", "settoks", "setglobalmacro", "setglobaldimen", "setglobalcount", "setglobaltoks", "positionpath", "positioncurve", "positionxy", "positionparagraph", "positioncolumn", "positionwhd", "positionpage", "positionregion", "positionbox", "positionx", "positiony", "positionanchor", "positioninregion", "positionatanchor", "positioncolumnbox", "overlaycolumnbox", "positioncolumnatx", "getposboxes", "getmultipars", "getpospage", "getposparagraph", "getposcolumn", "getposregion", "getposx", "getposy", "getposwidth", "getposheight", "getposdepth", "getposleftskip", "getposrightskip", "getposhsize", "getposparindent", "getposhangindent", "getposhangafter", "getposxy", "getposupperleft", "getposlowerleft", "getposupperright", "getposlowerright", "getposllx", "getposlly", "getposurx", "getposury", "wdpart", "htpart", "dppart", "texvar", "texstr", "inpath", "pointof", "leftof", "rightof", "utfnum", "utflen", "utfsub", "newhash", "disposehash", "inhash", "tohash", "fromhash", "isarray", "prefix", "isobject", "comment", "report", "lua", "lualist", "mp", "MP", "luacall", "mirrored", "mirroredabout", "xslanted", "yslanted", "scriptindex", "newscriptindex", "newcolor", "newrgbcolor", "newcmykcolor", "new!
numeric", "newboolean", "newtransform", "newpath", "newpicture", "newstring", "newpair", "mpvard", "mpvarn", "mpvars", "mpvar", "withtolerance", "hatched", "withdashes", "processpath", "pencilled", "sortedintersectiontimes", "intersectionpath", "firstintersectionpath", "secondintersectionpath", "intersectionsfound", "cutbeforefirst", "cutafterfirst", "cutbeforelast", "cutafterlast", "xnormalized", "ynormalized", "xynormalized", "phantom", "scrutinized", "xshifted", "yshifted" },
+ ["internals"]={ "nocolormodel", "greycolormodel", "graycolormodel", "rgbcolormodel", "cmykcolormodel", "shadefactor", "shadeoffset", "textextoffset", "textextanchor", "normaltransparent", "multiplytransparent", "screentransparent", "overlaytransparent", "softlighttransparent", "hardlighttransparent", "colordodgetransparent", "colorburntransparent", "darkentransparent", "lightentransparent", "differencetransparent", "exclusiontransparent", "huetransparent", "saturationtransparent", "colortransparent", "luminositytransparent", "ahvariant", "ahdimple", "ahfactor", "ahscale", "metapostversion", "maxdimensions", "drawoptionsfactor", "dq", "sq", "crossingscale", "crossingoption", "crossingdebug", "contextlmtxmode", "metafunversion", "minifunversion", "getparameters", "presetparameters", "hasparameter", "hasoption", "getparameter", "getparameterdefault", "getparametercount", "getmaxparametercount", "getparameterpath", "getparameterpen", "getparametertext", "applyparameters", "mergeparameters", "pushparameters", "popparameters", "setluaparameter", "definecolor", "record", "newrecord", "setrecord", "getrecord", "cntrecord", "anchorxy", "anchorx", "anchory", "anchorht", "anchordp", "anchorul", "anchorll", "anchorlr", "anchorur", "localanchorbox", "localanchorcell", "localanchorspan", "anchorbox", "anchorcell", "anchorspan", "matrixbox", "matrixcell", "matrixspan", "pensilcolor", "pensilstep", "uu" },
}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-metapost.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -3,7 +3,7 @@
["disabled"]={ "verbatimtex", "troffmode" },
["internals"]={ "mitered", "rounded", "beveled", "butt", "squared", "eps", "epsilon", "infinity", "bboxmargin", "ahlength", "ahangle", "labeloffset", "dotlabeldiam", "defaultpen", "defaultscale", "join_radius", "charscale", "inicatcoderegime", "texcatcoderegime", "luacatcoderegime", "notcatcoderegime", "vrbcatcoderegime", "prtcatcoderegime", "ctxcatcoderegime", "txtcatcoderegime", "catcoderegime", "ditto", "EOF", "pen_lft", "pen_rt", "pen_top", "pen_bot" },
["metafont"]={ "autorounding", "beginchar", "blacker", "boundarychar", "capsule_def", "capsule_end", "change_width", "chardp", "chardx", "chardy", "charexists", "charext", "charht", "charic", "charlist", "charwd", "cull", "cullit", "currenttransform", "currentwindow", "define_blacker_pixels", "define_corrected_pixels", "define_good_x_pixels", "define_good_y_pixels", "define_horizontal_corrected_pixels", "define_pixels", "define_whole_blacker_pixels", "define_whole_pixels", "define_whole_vertical_blacker_pixels", "define_whole_vertical_pixels", "designsize", "display", "displaying", "endchar", "extensible", "extra_beginchar", "extra_endchar", "extra_setup", "fillin", "font_coding_scheme", "font_extra_space", "font_identifier", "font_normal_shrink", "font_normal_space", "font_normal_stretch", "font_quad", "font_size", "font_slant", "font_x_height", "fontdimen", "fontmaking", "gfcorners", "granularity", "grayfont", "headerbyte", "hppp", "hround", "imagerules", "italcorr", "kern", "labelfont", "ligtable", "lowres_fix", "makebox", "makegrid", "maketicks", "mode_def", "mode_setup", "nodisplays", "notransforms", "numspecial", "o_correction", "openit", "openwindow", "pixels_per_inch", "proofing", "proofoffset", "proofrule", "proofrulethickness", "rulepen", "screenchars", "screenrule", "screenstrokes", "screen_cols", "screen_rows", "showit", "slantfont", "smode", "smoothing", "titlefont", "totalweight", "tracingedges", "tracingpens", "turningcheck", "unitpixel", "vppp", "vround", "xoffset", "yoffset" },
- ["primitives"]={ "charcode", "day", "linecap", "linejoin", "miterlimit", "stacking", "month", "pausing", "prologues", "showstopping", "time", "tracingcapsules", "tracingchoices", "mpprocset", "tracingcommands", "tracingequations", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingrestores", "tracingspecs", "tracingstats", "tracingtitles", "truecorners", "warningcheck", "year", "false", "nullpicture", "pencircle", "penspec", "true", "and", "angle", "arclength", "arctime", "ASCII", "boolean", "bot", "char", "color", "cosd", "cycle", "decimal", "directiontime", "floor", "fontsize", "hex", "infont", "intersectiontimes", "known", "void", "length", "llcorner", "lrcorner", "makepath", "makepen", "mexp", "mlog", "normaldeviate", "not", "numeric", "oct", "odd", "or", "path", "pair", "pen", "penoffset", "picture", "point", "postcontrol", "precontrol", "reverse", "rotated", "scaled", "shifted", "sind", "slanted", "sqrt", "str", "string", "subpath", "substring", "transform", "transformed", "ulcorner", "uniformdeviate", "unknown", "urcorner", "xpart", "xscaled", "xxpart", "xypart", "ypart", "yscaled", "yxpart", "yypart", "zscaled", "addto", "clip", "input", "interim", "let", "newinternal", "save", "setbounds", "setgroup", "shipout", "show", "showdependencies", "showtoken", "showvariable", "special", "begingroup", "endgroup", "of", "curl", "tension", "and", "controls", "def", "vardef", "enddef", "expr", "suffix", "text", "primary", "secondary", "tertiary", "primarydef", "secondarydef", "tertiarydef", "randomseed", "also", "contour", "doublepath", "withcolor", "withcmykcolor", "withpen", "withstacking", "dashed", "envelope", "if", "else", "elseif", "fi", "for", "endfor", "forever", "exitif", "within", "forsuffixes", "step", "until", "charlist", "extensible", "fontdimen", "headerbyte", "kern", "ligtable", "boundarychar", "chardp", "charext", "charht", "charic", "charwd", "designsize", "fontmaking", "charexists", "cullit", "currenttransform", "gfcorners", "grayfont", "hround", "imagerules",!
"lowres_fix", "nodisplays", "notransforms", "openit", "displaying", "currentwindow", "screen_rows", "screen_cols", "pixels_per_inch", "cull", "display", "openwindow", "numspecial", "totalweight", "autorounding", "fillin", "proofing", "tracingpens", "xoffset", "chardx", "granularity", "smoothing", "turningcheck", "yoffset", "chardy", "hppp", "tracingedges", "vppp", "extra_beginfig", "extra_endfig", "mpxbreak", "endinput", "message", "delimiters", "turningnumber", "errmessage", "scantokens", "end", "outer", "inner", "write", "to", "readfrom", "closefrom", "withprescript", "withpostscript", "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "prescriptpart", "postscriptpart", "rgbcolor", "cmykcolor", "colormodel", "graypart", "greypart", "greycolor", "graycolor", "dashpart", "penpart", "stackingpart", "stroked", "filled", "textual", "clipped", "bounded", "pathpart", "expandafter", "minute", "hour", "outputformat", "outputtemplate", "filenametemplate", "fontmapfile", "fontmapline", "fontpart", "fontsize", "glyph", "restoreclipcolor", "troffmode", "runscript", "maketext", "numbersystem", "overloadmode", "setproperty", "intersectiontimeslist", "arcpoint", "arcpointlist", "subarclength", "maxknotpool", "nocycle", "pathpoint", "pathprecontrol", "pathpostcontrol", "pathdirection", "deltapoint", "deltaprecontrol", "deltapostcontrol", "deltadirection", "corner", "xrange", "yrange", "convexed", "uncontrolled", "nep", "makenep", "withmiterlimit", "withlinejoin", "withlinecap", "centerof", "centerofmass" },
- ["shortcuts"]={ "..", "...", "--", "---", "&", "&&", "\\" },
+ ["primitives"]={ "tracingtitles", "tracingequations", "tracingcapsules", "tracingchoices", "tracingspecs", "tracingcommands", "tracingrestores", "tracingmacros", "tracingoutput", "tracingstats", "tracingonline", "year", "month", "day", "time", "hour", "minute", "charcode", "charwd", "charht", "chardp", "charic", "pausing", "showstopping", "texscriptmode", "overloadmode", "linejoin", "linecap", "stacking", "miterlimit", "warningcheck", "truecorners", "defaultcolormodel", "restoreclipcolor", "numbersystem", "numberprecision", "jobname", "addto", "atleast", "begingroup", "controls", "curl", "delimiters", "endgroup", "everyjob", "exitif", "expandafter", "interim", "let", "newinternal", "of", "randomseed", "maxknotpool", "save", "scantokens", "runscript", "maketext", "shipout", "step", "str", "void", "tension", "to", "until", "within", "write", "btex", "verbatimtex", "etex", "def", "vardef", "primarydef", "secondarydef", "tertiarydef", "enddef", "for", "forsuffixes", "forever", "endfor", "quote", "expr", "suffix", "text", "primary", "secondary", "tertiary", "input", "endinput", "if", "fi", "else", "elseif", "true", "false", "nullpicture", "nullpen", "readstring", "pencircle", "normaldeviate", "readfrom", "closefrom", "odd", "known", "unknown", "not", "decimal", "reverse", "uncycle", "makepath", "makepen", "makenep", "convexed", "uncontrolled", "oct", "hex", "ASCII", "char", "length", "turningnumber", "xpart", "ypart", "xxpart", "xypart", "yxpart", "yypart", "redpart", "greenpart", "bluepart", "cyanpart", "magentapart", "yellowpart", "blackpart", "greypart", "colormodel", "prescriptpart", "postscriptpart", "stackingpart", "pathpart", "penpart", "dashpart", "sqrt", "mexp", "mlog", "sind", "cosd", "floor", "uniformdeviate", "llcorner", "lrcorner", "ulcorner", "urcorner", "centerof", "centerofmass", "corners", "xrange", "yrange", "deltapoint", "deltaprecontrol", "deltapostcontrol", "deltadirection", "arclength", "angle", "cycle", "nocycle", "stroked", "filled", "clipped", "grouped", "bounded", "or", "and", "sub!
string", "subpath", "directiontime", "point", "precontrol", "postcontrol", "direction", "pathpoint", "pathprecontrol", "pathpostcontrol", "pathdirection", "penoffset", "arctime", "arcpoint", "arcpointlist", "subarclength", "mpversion", "rotated", "slanted", "scaled", "shifted", "transformed", "xscaled", "yscaled", "zscaled", "intersectiontimes", "intersectiontimeslist", "envelope", "boundingpath", "numeric", "string", "boolean", "path", "pen", "nep", "picture", "transform", "color", "rgbcolor", "cmykcolor", "pair", "end", "dump", "batchmode", "nonstopmode", "scrollmode", "errorstopmode", "silentmode", "inner", "outer", "setproperty", "showtoken", "showstats", "show", "showvariable", "showdependencies", "doublepath", "contour", "also", "withpen", "dashed", "withprescript", "withpostscript", "withstacking", "withlinecap", "withlinejoin", "withmiterlimit", "withoutcolor", "withgreyscale", "withcolor", "withrgbcolor", "withcmykcolor", "clip", "setgroup", "setbounds", "message", "errmessage", "errhelp", "graypart" },
+ ["shortcuts"]={ "..", "...", "--", "---", "&", "&&", "&&&", "&&&&", "\\" },
["tex"]={ "btex", "etex", "verbatimtex" },
}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/data/scite-context-data-tex.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,9 +1,9 @@
return {
["aleph"]={ "Alephminorversion", "Alephrevision", "Alephversion" },
- ["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "detokenize", "dimexpr", "displaywidowpenalties", "everyeof", "firstmarks", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "ifcsname", "ifdefined", "iffontchar", "interactionmode", "interlinepenalties", "lastlinefit", "lastnodetype", "marks", "muexpr", "mutoglue", "numexpr", "pagediscards", "parshapedimen", "parshapeindent", "parshapelength", "predisplaydirection", "protected", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "unexpanded", "unless", "widowpenalties" },
- ["luatex"]={ "Uabove", "Uabovewithdelims", "Uatop", "Uatopwithdelims", "Uchar", "Udelcode", "Udelimited", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaccentbasedepth", "Umathaccentbaseheight", "Umathaccentbottomovershoot", "Umathaccentbottomshiftdown", "Umathaccentextendmargin", "Umathaccentsuperscriptdrop", "Umathaccentsuperscriptpercent", "Umathaccenttopovershoot", "Umathaccenttopshiftup", "Umathaccentvariant", "Umathadapttoleft", "Umathadapttoright", "Umathaxis", "Umathbottomaccentvariant", "Umathchar", "Umathcharclass", "Umathchardef", "Umathcharfam", "Umathcharslot", "Umathclass", "Umathcode", "Umathconnectoroverlapmin", "Umathdegreevariant", "Umathdelimiterextendmargin", "Umathdelimiterovervariant", "Umathdelimiterpercent", "Umathdelimitershortfall", "Umathdelimiterundervariant", "Umathdenominatorvariant", "Umathdict", "Umathdictdef", "Umathdiscretionary", "Umathextrasubpreshift", "Umathextrasubprespace", "Umathextrasubshift", "Umathextrasubspace", "Umathextrasuppreshift", "Umathextrasupprespace", "Umathextrasupshift", "Umathextrasupspace", "Umathflattenedaccentbasedepth", "Umathflattenedaccentbaseheight", "Umathflattenedaccentbottomshiftdown", "Umathflattenedaccenttopshiftup", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathfractionvariant", "Umathhextensiblevariant", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathlimits", "Umathnoaxis", "Umathnolimits", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathnumeratorvariant", "Umathopenupdepth", "Umathopenupheight", "Umathoperatorsize", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervariant", "Umathoverdelimitervgap", "Umathoverlayaccentvariant", "Umathoverlinevariant", "Umathphantom", "Umathpresubshiftdistance", "Umathpresupshiftdistance",!
"Umathprimeraise", "Umathprimeraisecomposed", "Umathprimeshiftdrop", "Umathprimeshiftup", "Umathprimespaceafter", "Umathprimevariant", "Umathprimewidth", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalextensibleafter", "Umathradicalextensiblebefore", "Umathradicalkern", "Umathradicalrule", "Umathradicalvariant", "Umathradicalvgap", "Umathruledepth", "Umathruleheight", "Umathskeweddelimitertolerance", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathsource", "Umathspaceafterscript", "Umathspacebeforescript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvariant", "Umathstackvgap", "Umathsubscriptvariant", "Umathsubshiftdistance", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsuperscriptvariant", "Umathsupshiftdistance", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathtopaccentvariant", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervariant", "Umathunderdelimitervgap", "Umathunderlinevariant", "Umathuseaxis", "Umathvextensiblevariant", "Umathvoid", "Umathxscale", "Umathyscale", "Umiddle", "Unosubprescript", "Unosubscript", "Unosuperprescript", "Unosuperscript", "Uoperator", "Uover", "Uoverdelimiter", "Uoverwithdelims", "Uprimescript", "Uradical", "Uright", "Uroot", "Urooted", "Ushiftedsubprescript", "Ushiftedsubscript", "Ushiftedsuperprescript", "Ushiftedsuperscript", "Uskewed", "Uskewedwithdelims", "Ustack", "Ustartdisplaymath", "Ustartmath", "Ustartmathmode", "Ustopdisplaymath", "Ustopmath", "Ustopmathmode", "Ustretched", "Ustretchedwithdelims", "Ustyle", "Usubprescript", "Usubscript", "Usuperprescript", "Usuperscript", "Uunderdelimiter", "Uvextensible", "adjustspacing", "adjustspacingshrink", "adjustspacingstep", "adjustspacingstretch", "afterassigned", "aftergrouped", "aliased", "aligncontent", "alignmark", "alignmentcellsource", "alignmentwrapsource", "aligntab", "!
allcrampedstyles", "alldisplaystyles", "allmainstyles", "allmathstyles", "allscriptscriptstyles", "allscriptstyles", "allsplitstyles", "alltextstyles", "alluncrampedstyles", "allunsplitstyles", "amcode", "atendofgroup", "atendofgrouped", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenpenalty", "automigrationmode", "autoparagraphmode", "begincsname", "beginlocalcontrol", "beginmathgroup", "beginsimplegroup", "boundary", "boxadapt", "boxanchor", "boxanchors", "boxattribute", "boxdirection", "boxfreeze", "boxgeometry", "boxorientation", "boxrepack", "boxshift", "boxsource", "boxtarget", "boxtotal", "boxvadjust", "boxxmove", "boxxoffset", "boxymove", "boxyoffset", "catcodetable", "cdef", "cdefcsname", "cfcode", "clearmarks", "constant", "copymathatomrule", "copymathparent", "copymathspacing", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "csactive", "csstring", "currentloopiterator", "currentloopnesting", "currentmarks", "dbox", "defcsname", "deferred", "detokenized", "dimensiondef", "dimexpression", "directlua", "dpack", "dsplit", "edefcsname", "efcode", "endlocalcontrol", "endmathgroup", "endsimplegroup", "enforced", "etoks", "etoksapp", "etokspre", "eufactor", "everybeforepar", "everymathatom", "everytab", "exceptionpenalty", "expand", "expandactive", "expandafterpars", "expandafterspaces", "expandcstoken", "expanded", "expandedafter", "expandedloop", "expandtoken", "explicitdiscretionary", "explicithyphenpenalty", "firstvalidlanguage", "float", "floatdef", "floatexpr", "flushmarks", "fontcharba", "fontcharta", "fontid", "fontmathcontrol", "fontspecdef", "fontspecid", "fontspecifiedname", "fontspecifiedsize", "fontspecscale", "fontspecxscale", "fontspecyscale", "fonttextcontrol", "formatname", "frozen", "futurecsname", "futuredef", "futureexpand", "futureexpandis", "futureexpandisap", "gdefcsname", "gleaders", "glet", "gletcsname", "glettonothing", "gluespecdef", "glyph", "glyphdatafield", "glyphoptions", "glyphscale", "glyphscriptfield", "gly!
phscriptscale", "glyphscriptscriptscale", "glyphstatefield", "glyphtextscale", "glyphxoffset", "glyphxscale", "glyphxscaled", "glyphyoffset", "glyphyscale", "glyphyscaled", "gtoksapp", "gtokspre", "hccode", "hjcode", "hmcode", "holdingmigrations", "hpack", "hyphenationmin", "hyphenationmode", "ifabsdim", "ifabsfloat", "ifabsnum", "ifarguments", "ifboolean", "ifchkdim", "ifchkdimension", "ifchknum", "ifchknumber", "ifcmpdim", "ifcmpnum", "ifcondition", "ifcstok", "ifdimexpression", "ifdimval", "ifempty", "ifflags", "iffloat", "ifhaschar", "ifhastok", "ifhastoks", "ifhasxtoks", "ifincsname", "ifinsert", "ifmathparameter", "ifmathstyle", "ifnumexpression", "ifnumval", "ifparameter", "ifparameters", "ifrelax", "iftok", "ifzerodim", "ifzerofloat", "ifzeronum", "ignorearguments", "ignoredepthcriterium", "ignorepars", "immediate", "immutable", "indexofcharacter", "indexofregister", "inherited", "initcatcodetable", "insertbox", "insertcopy", "insertdepth", "insertdistance", "insertheight", "insertheights", "insertlimit", "insertmaxdepth", "insertmode", "insertmultiplier", "insertpenalty", "insertprogress", "insertstorage", "insertstoring", "insertunbox", "insertuncopy", "insertwidth", "instance", "integerdef", "lastarguments", "lastatomclass", "lastboundary", "lastchkdim", "lastchknum", "lastleftclass", "lastloopiterator", "lastnamedcs", "lastnodesubtype", "lastpageextra", "lastparcontext", "lastrightclass", "leftmarginkern", "letcharcode", "letcsname", "letfrozen", "letmathatomrule", "letmathparent", "letmathspacing", "letprotected", "lettonothing", "linebreakcriterium", "linedirection", "localbrokenpenalty", "localcontrol", "localcontrolled", "localcontrolledloop", "localinterlinepenalty", "localleftbox", "localleftboxbox", "localmiddlebox", "localmiddleboxbox", "localrightbox", "localrightboxbox", "lpcode", "luabytecode", "luabytecodecall", "luacopyinputnodes", "luadef", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathaccent", "mathatom", "mathatomglue", "m!
athatomskip", "mathbackwardpenalties", "mathbeginclass", "mathbinary", "mathcheckfencesmode", "mathclose", "mathdictgroup", "mathdictproperties", "mathdirection", "mathdisplaymode", "mathdisplayskipmode", "mathdoublescriptmode", "mathendclass", "matheqnogapstep", "mathfenced", "mathfontcontrol", "mathforwardpenalties", "mathfraction", "mathghost", "mathgluemode", "mathgroupingmode", "mathinner", "mathleftclass", "mathlimitsmode", "mathmainstyle", "mathmiddle", "mathnolimitsmode", "mathopen", "mathoperator", "mathordinary", "mathoverline", "mathpenaltiesmode", "mathpunctuation", "mathradical", "mathrelation", "mathrightclass", "mathrulesfam", "mathrulesmode", "mathscale", "mathscriptsmode", "mathslackmode", "mathspacingmode", "mathstackstyle", "mathstyle", "mathstylefontid", "mathsurroundmode", "mathsurroundskip", "maththreshold", "mathunderline", "meaningasis", "meaningful", "meaningfull", "meaningles", "meaningless", "mugluespecdef", "mutable", "noaligned", "noatomruling", "noboundary", "nohrule", "norelax", "normalizelinemode", "normalizeparmode", "nospaces", "novrule", "numericscale", "numexpression", "orelse", "orphanpenalties", "orphanpenalty", "orunless", "outputbox", "overloaded", "overloadmode", "overshoot", "pageboundary", "pageextragoal", "pagevsize", "parametercount", "parametermark", "parattribute", "pardirection", "permanent", "pettymuskip", "positdef", "postexhyphenchar", "posthyphenchar", "postinlinepenalty", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "preinlinepenalty", "prerelpenalty", "protrudechars", "protrusionboundary", "pxdimen", "quitloop", "quitvmode", "resetmathspacing", "retokenized", "rightmarginkern", "rpcode", "savecatcodetable", "scaledemwidth", "scaledexheight", "scaledextraspace", "scaledfontdimen", "scaledinterwordshrink", "scaledinterwordspace", "scaledinterwordstretch", "scaledmathstyle", "scaledslantperpoint", "scantextokens", "semiexpand", "semiexpanded", "semiprotected", "setdefaultmathcodes", "setfontid", "setmathatomrule", "setmathdisplay!
postpenalty", "setmathdisplayprepenalty", "setmathignore", "setmathoptions", "setmathpostpenalty", "setmathprepenalty", "setmathspacing", "shapingpenaltiesmode", "shapingpenalty", "snapshotpar", "srule", "supmarkmode", "swapcsvalues", "tabsize", "textdirection", "thewithoutunit", "tinymuskip", "todimension", "tohexadecimal", "tointeger", "tokenized", "toksapp", "tokspre", "tolerant", "tomathstyle", "toscaled", "tosparsedimension", "tosparsescaled", "tpack", "tracingadjusts", "tracingalignments", "tracingexpressions", "tracingfonts", "tracingfullboxes", "tracinghyphenation", "tracinginserts", "tracinglevels", "tracinglists", "tracingmarks", "tracingmath", "tracingnodes", "tracingpenalties", "tsplit", "uleaders", "undent", "unexpandedloop", "unhpack", "unletfrozen", "unletprotected", "untraced", "unvpack", "variablefam", "virtualhrule", "virtualvrule", "vpack", "wordboundary", "wrapuppar", "xdefcsname", "xtoks", "xtoksapp", "xtokspre" },
+ ["etex"]={ "botmarks", "clubpenalties", "currentgrouplevel", "currentgrouptype", "currentifbranch", "currentiflevel", "currentiftype", "currentstacksize", "detokenize", "dimexpr", "displaywidowpenalties", "everyeof", "firstmarks", "fontchardp", "fontcharht", "fontcharic", "fontcharwd", "glueexpr", "glueshrink", "glueshrinkorder", "gluestretch", "gluestretchorder", "gluetomu", "ifcsname", "ifdefined", "iffontchar", "interactionmode", "interlinepenalties", "lastlinefit", "lastnodetype", "marks", "muexpr", "mutoglue", "numexpr", "pagediscards", "parshapedimen", "parshapeindent", "parshapelength", "predisplaydirection", "protected", "savinghyphcodes", "savingvdiscards", "scantokens", "showgroups", "showifs", "showtokens", "splitbotmarks", "splitdiscards", "splitfirstmarks", "topmarks", "tracingassigns", "tracinggroups", "tracingifs", "tracingnesting", "unexpanded", "unless", "widowpenalties" },
+ ["luatex"]={ "Uabove", "Uabovewithdelims", "Uatop", "Uatopwithdelims", "Udelcode", "Udelimited", "Udelimiter", "Udelimiterover", "Udelimiterunder", "Uhextensible", "Uleft", "Umathaccent", "Umathaccentbasedepth", "Umathaccentbaseheight", "Umathaccentbottomovershoot", "Umathaccentbottomshiftdown", "Umathaccentextendmargin", "Umathaccentsuperscriptdrop", "Umathaccentsuperscriptpercent", "Umathaccenttopovershoot", "Umathaccenttopshiftup", "Umathaccentvariant", "Umathadapttoleft", "Umathadapttoright", "Umathaxis", "Umathbottomaccentvariant", "Umathchar", "Umathchardef", "Umathcode", "Umathconnectoroverlapmin", "Umathdegreevariant", "Umathdelimiterextendmargin", "Umathdelimiterovervariant", "Umathdelimiterpercent", "Umathdelimitershortfall", "Umathdelimiterundervariant", "Umathdenominatorvariant", "Umathdictdef", "Umathexheight", "Umathextrasubpreshift", "Umathextrasubprespace", "Umathextrasubshift", "Umathextrasubspace", "Umathextrasuppreshift", "Umathextrasupprespace", "Umathextrasupshift", "Umathextrasupspace", "Umathflattenedaccentbasedepth", "Umathflattenedaccentbaseheight", "Umathflattenedaccentbottomshiftdown", "Umathflattenedaccenttopshiftup", "Umathfractiondelsize", "Umathfractiondenomdown", "Umathfractiondenomvgap", "Umathfractionnumup", "Umathfractionnumvgap", "Umathfractionrule", "Umathfractionvariant", "Umathhextensiblevariant", "Umathlimitabovebgap", "Umathlimitabovekern", "Umathlimitabovevgap", "Umathlimitbelowbgap", "Umathlimitbelowkern", "Umathlimitbelowvgap", "Umathlimits", "Umathnoaxis", "Umathnolimits", "Umathnolimitsubfactor", "Umathnolimitsupfactor", "Umathnumeratorvariant", "Umathopenupdepth", "Umathopenupheight", "Umathoperatorsize", "Umathoverbarkern", "Umathoverbarrule", "Umathoverbarvgap", "Umathoverdelimiterbgap", "Umathoverdelimitervariant", "Umathoverdelimitervgap", "Umathoverlayaccentvariant", "Umathoverlinevariant", "Umathphantom", "Umathpresubshiftdistance", "Umathpresupshiftdistance", "Umathprimeraise", "Umathprimeraisecomposed", "Umathprimeshiftdrop", "Umathprimeshiftup", "!
Umathprimespaceafter", "Umathprimevariant", "Umathprimewidth", "Umathquad", "Umathradicaldegreeafter", "Umathradicaldegreebefore", "Umathradicaldegreeraise", "Umathradicalextensibleafter", "Umathradicalextensiblebefore", "Umathradicalkern", "Umathradicalrule", "Umathradicalvariant", "Umathradicalvgap", "Umathruledepth", "Umathruleheight", "Umathskeweddelimitertolerance", "Umathskewedfractionhgap", "Umathskewedfractionvgap", "Umathsource", "Umathspaceafterscript", "Umathspacebeforescript", "Umathspacebetweenscript", "Umathstackdenomdown", "Umathstacknumup", "Umathstackvariant", "Umathstackvgap", "Umathsubscriptsnap", "Umathsubscriptvariant", "Umathsubshiftdistance", "Umathsubshiftdown", "Umathsubshiftdrop", "Umathsubsupshiftdown", "Umathsubsupvgap", "Umathsubtopmax", "Umathsupbottommin", "Umathsuperscriptsnap", "Umathsuperscriptvariant", "Umathsupshiftdistance", "Umathsupshiftdrop", "Umathsupshiftup", "Umathsupsubbottommax", "Umathtopaccentvariant", "Umathunderbarkern", "Umathunderbarrule", "Umathunderbarvgap", "Umathunderdelimiterbgap", "Umathunderdelimitervariant", "Umathunderdelimitervgap", "Umathunderlinevariant", "Umathuseaxis", "Umathvextensiblevariant", "Umathvoid", "Umathxscale", "Umathyscale", "Umiddle", "Uoperator", "Uover", "Uoverdelimiter", "Uoverwithdelims", "Uradical", "Uright", "Uroot", "Urooted", "Uskewed", "Uskewedwithdelims", "Ustartdisplaymath", "Ustartmath", "Ustartmathmode", "Ustopdisplaymath", "Ustopmath", "Ustopmathmode", "Ustretched", "Ustretchedwithdelims", "Uunderdelimiter", "Uvextensible", "additionalpageskip", "adjustspacing", "adjustspacingshrink", "adjustspacingstep", "adjustspacingstretch", "advanceby", "afterassigned", "aftergrouped", "aliased", "aligncontent", "alignmark", "alignmentcellsource", "alignmentwrapsource", "aligntab", "allcrampedstyles", "alldisplaystyles", "allmainstyles", "allmathstyles", "allscriptscriptstyles", "allscriptstyles", "allsplitstyles", "alltextstyles", "alluncrampedstyles", "allunsplitstyles", "amcode", "associateunit", "atendoffile", "atendoffiled", "a!
tendofgroup", "atendofgrouped", "attribute", "attributedef", "automaticdiscretionary", "automatichyphenpenalty", "automigrationmode", "autoparagraphmode", "begincsname", "beginlocalcontrol", "beginmathgroup", "beginsimplegroup", "boundary", "boxadapt", "boxanchor", "boxanchors", "boxattribute", "boxdirection", "boxfinalize", "boxfreeze", "boxgeometry", "boxlimit", "boxlimitate", "boxlimitmode", "boxorientation", "boxrepack", "boxshift", "boxshrink", "boxsource", "boxstretch", "boxtarget", "boxtotal", "boxvadjust", "boxxmove", "boxxoffset", "boxymove", "boxyoffset", "catcodetable", "cdef", "cdefcsname", "cfcode", "clearmarks", "constant", "constrained", "copymathatomrule", "copymathparent", "copymathspacing", "crampeddisplaystyle", "crampedscriptscriptstyle", "crampedscriptstyle", "crampedtextstyle", "csactive", "csstring", "currentloopiterator", "currentloopnesting", "currentlysetmathstyle", "currentmarks", "dbox", "defcsname", "deferred", "detokened", "detokenized", "dimensiondef", "dimexpression", "directlua", "discretionaryoptions", "divideby", "doubleadjdemerits", "dpack", "dsplit", "edefcsname", "edivide", "edivideby", "efcode", "emergencyleftskip", "emergencyrightskip", "endlocalcontrol", "endmathgroup", "endsimplegroup", "enforced", "etoks", "etoksapp", "etokspre", "eufactor", "everybeforepar", "everymathatom", "everytab", "exceptionpenalty", "expand", "expandactive", "expandafterpars", "expandafterspaces", "expandcstoken", "expanded", "expandedafter", "expandeddetokenize", "expandedendless", "expandedloop", "expandedrepeat", "expandparameter", "expandtoken", "expandtoks", "explicitdiscretionary", "explicithyphenpenalty", "explicititaliccorrection", "explicitspace", "firstvalidlanguage", "float", "floatdef", "floatexpr", "flushmarks", "fontcharba", "fontcharta", "fontid", "fontmathcontrol", "fontspecdef", "fontspecid", "fontspecifiedname", "fontspecifiedsize", "fontspecscale", "fontspecslant", "fontspecweight", "fontspecxscale", "fontspecyscale", "fonttextcontrol", "forcedleftcorrection", "forcedrightcorr!
ection", "formatname", "frozen", "futurecsname", "futuredef", "futureexpand", "futureexpandis", "futureexpandisap", "gdefcsname", "givenmathstyle", "gleaders", "glet", "gletcsname", "glettonothing", "gluespecdef", "glyph", "glyphdatafield", "glyphoptions", "glyphscale", "glyphscriptfield", "glyphscriptscale", "glyphscriptscriptscale", "glyphslant", "glyphstatefield", "glyphtextscale", "glyphweight", "glyphxoffset", "glyphxscale", "glyphxscaled", "glyphyoffset", "glyphyscale", "glyphyscaled", "gtoksapp", "gtokspre", "hccode", "hjcode", "hmcode", "holdingmigrations", "hpack", "hpenalty", "hyphenationmin", "hyphenationmode", "ifabsdim", "ifabsfloat", "ifabsnum", "ifarguments", "ifboolean", "ifchkdim", "ifchkdimension", "ifchknum", "ifchknumber", "ifcmpdim", "ifcmpnum", "ifcondition", "ifcramped", "ifcstok", "ifdimexpression", "ifdimval", "ifempty", "ifflags", "iffloat", "ifhaschar", "ifhastok", "ifhastoks", "ifhasxtoks", "ifinalignment", "ifincsname", "ifinsert", "ifintervaldim", "ifintervalfloat", "ifintervalnum", "iflastnamedcs", "ifmathparameter", "ifmathstyle", "ifnumexpression", "ifnumval", "ifparameter", "ifparameters", "ifrelax", "iftok", "ifzerodim", "ifzerofloat", "ifzeronum", "ignorearguments", "ignoredepthcriterion", "ignorenestedupto", "ignorepars", "ignorerest", "ignoreupto", "immediate", "immutable", "indexofcharacter", "indexofregister", "inherited", "initcatcodetable", "initialpageskip", "initialtopskip", "insertbox", "insertcopy", "insertdepth", "insertdistance", "insertheight", "insertheights", "insertlimit", "insertmaxdepth", "insertmode", "insertmultiplier", "insertpenalty", "insertprogress", "insertstorage", "insertstoring", "insertunbox", "insertuncopy", "insertwidth", "instance", "integerdef", "lastarguments", "lastatomclass", "lastboundary", "lastchkdimension", "lastchknumber", "lastleftclass", "lastloopiterator", "lastnamedcs", "lastnodesubtype", "lastpageextra", "lastparcontext", "lastpartrigger", "lastrightclass", "leftmarginkern", "letcharcode", "letcsname", "letfrozen", "letmathatomrule!
", "letmathparent", "letmathspacing", "letprotected", "lettolastnamedcs", "lettonothing", "linebreakcriterion", "linebreakoptional", "linebreakpasses", "linedirection", "localbrokenpenalty", "localcontrol", "localcontrolled", "localcontrolledendless", "localcontrolledloop", "localcontrolledrepeat", "localinterlinepenalty", "localleftbox", "localleftboxbox", "localmiddlebox", "localmiddleboxbox", "localpretolerance", "localrightbox", "localrightboxbox", "localtolerance", "lpcode", "luabytecode", "luabytecodecall", "luacopyinputnodes", "luadef", "luaescapestring", "luafunction", "luafunctioncall", "luatexbanner", "luatexrevision", "luatexversion", "mathatom", "mathatomglue", "mathatomskip", "mathbackwardpenalties", "mathbeginclass", "mathboundary", "mathcharclass", "mathcharfam", "mathcharslot", "mathcheckfencesmode", "mathclass", "mathdictgroup", "mathdictionary", "mathdictproperties", "mathdirection", "mathdiscretionary", "mathdisplaymode", "mathdisplaypenaltyfactor", "mathdisplayskipmode", "mathdoublescriptmode", "mathendclass", "matheqnogapstep", "mathfontcontrol", "mathforwardpenalties", "mathgluemode", "mathgroupingmode", "mathinlinepenaltyfactor", "mathleftclass", "mathlimitsmode", "mathmainstyle", "mathnolimitsmode", "mathparentstyle", "mathpenaltiesmode", "mathpretolerance", "mathrightclass", "mathrulesfam", "mathrulesmode", "mathscale", "mathscriptsmode", "mathslackmode", "mathspacingmode", "mathstack", "mathstackstyle", "mathstyle", "mathstylefontid", "mathsurroundmode", "mathsurroundskip", "maththreshold", "mathtolerance", "meaningasis", "meaningful", "meaningfull", "meaningles", "meaningless", "mugluespecdef", "multiplyby", "mutable", "nestedloopiterator", "noaligned", "noatomruling", "noboundary", "nohrule", "nomathchar", "norelax", "normalizelinemode", "normalizeparmode", "noscript", "nospaces", "nosubprescript", "nosubscript", "nosuperprescript", "nosuperscript", "novrule", "numericscale", "numericscaled", "numexpression", "optionalboundary", "orelse", "orphanpenalties", "orphanpenalty", "orunless"!
, "outputbox", "overloaded", "overloadmode", "overshoot", "pageboundary", "pagedepth", "pageexcess", "pageextragoal", "pagefistretch", "pagelastdepth", "pagelastfilllstretch", "pagelastfillstretch", "pagelastfilstretch", "pagelastfistretch", "pagelastheight", "pagelastshrink", "pagelaststretch", "pagevsize", "parametercount", "parameterdef", "parameterindex", "parametermark", "parametermode", "parattribute", "pardirection", "parfillleftskip", "parfillrightskip", "parinitleftskip", "parinitrightskip", "parpasses", "parshapewidth", "permanent", "pettymuskip", "positdef", "postexhyphenchar", "posthyphenchar", "postinlinepenalty", "postshortinlinepenalty", "prebinoppenalty", "predisplaygapfactor", "preexhyphenchar", "prehyphenchar", "preinlinepenalty", "prerelpenalty", "preshortinlinepenalty", "previousloopiterator", "primescript", "protecteddetokenize", "protectedexpandeddetokenize", "protrudechars", "protrusionboundary", "pxdimen", "quitloop", "quitloopnow", "quitvmode", "rdivide", "rdivideby", "realign", "resetmathspacing", "restorecatcodetable", "retained", "retokenized", "rightmarginkern", "rpcode", "savecatcodetable", "scaledemwidth", "scaledexheight", "scaledextraspace", "scaledfontcharba", "scaledfontchardp", "scaledfontcharht", "scaledfontcharic", "scaledfontcharta", "scaledfontcharwd", "scaledfontdimen", "scaledinterwordshrink", "scaledinterwordspace", "scaledinterwordstretch", "scaledmathaxis", "scaledmathemwidth", "scaledmathexheight", "scaledmathstyle", "scaledslantperpoint", "scantextokens", "scriptspaceafterfactor", "scriptspacebeforefactor", "scriptspacebetweenfactor", "semiexpand", "semiexpanded", "semiprotected", "setdefaultmathcodes", "setfontid", "setmathatomrule", "setmathdisplaypostpenalty", "setmathdisplayprepenalty", "setmathignore", "setmathoptions", "setmathpostpenalty", "setmathprepenalty", "setmathspacing", "shapingpenaltiesmode", "shapingpenalty", "shiftedsubprescript", "shiftedsubscript", "shiftedsuperprescript", "shiftedsuperscript", "shortinlinemaththreshold", "shortinlineorphanpenalt!
y", "showcodestack", "showstack", "singlelinepenalty", "snapshotpar", "spacefactormode", "spacefactorshrinklimit", "spacefactorstretchlimit", "srule", "subprescript", "subscript", "superprescript", "superscript", "supmarkmode", "swapcsvalues", "tabsize", "textdirection", "thewithoutunit", "tinymuskip", "tocharacter", "todimension", "tohexadecimal", "tointeger", "tokenized", "toksapp", "tokspre", "tolerant", "tomathstyle", "toscaled", "tosparsedimension", "tosparsescaled", "tpack", "tracingadjusts", "tracingalignments", "tracingexpressions", "tracingfullboxes", "tracinghyphenation", "tracinginserts", "tracinglevels", "tracinglists", "tracingmarks", "tracingmath", "tracingnodes", "tracingpasses", "tracingpenalties", "tsplit", "uleaders", "undent", "unexpandedendless", "unexpandedloop", "unexpandedrepeat", "unhpack", "unletfrozen", "unletprotected", "untraced", "unvpack", "variablefam", "virtualhrule", "virtualvrule", "vpack", "vpenalty", "wordboundary", "wrapuppar", "xdefcsname", "xtoks", "xtoksapp", "xtokspre" },
["omega"]={ "Omegaminorversion", "Omegarevision", "Omegaversion" },
["pdftex"]={ "ifpdfabsdim", "ifpdfabsnum", "ifpdfprimitive", "pdfadjustspacing", "pdfannot", "pdfcatalog", "pdfcolorstack", "pdfcolorstackinit", "pdfcompresslevel", "pdfcopyfont", "pdfcreationdate", "pdfdecimaldigits", "pdfdest", "pdfdestmargin", "pdfdraftmode", "pdfeachlinedepth", "pdfeachlineheight", "pdfendlink", "pdfendthread", "pdffirstlineheight", "pdffontattr", "pdffontexpand", "pdffontname", "pdffontobjnum", "pdffontsize", "pdfgamma", "pdfgentounicode", "pdfglyphtounicode", "pdfhorigin", "pdfignoreddimen", "pdfignoreunknownimages", "pdfimageaddfilename", "pdfimageapplygamma", "pdfimagegamma", "pdfimagehicolor", "pdfimageresolution", "pdfincludechars", "pdfinclusioncopyfonts", "pdfinclusionerrorlevel", "pdfinfo", "pdfinfoomitdate", "pdfinsertht", "pdflastannot", "pdflastlinedepth", "pdflastlink", "pdflastobj", "pdflastxform", "pdflastximage", "pdflastximagepages", "pdflastxpos", "pdflastypos", "pdflinkmargin", "pdfliteral", "pdfmajorversion", "pdfmapfile", "pdfmapline", "pdfminorversion", "pdfnames", "pdfnoligatures", "pdfnormaldeviate", "pdfobj", "pdfobjcompresslevel", "pdfomitcharset", "pdfomitcidset", "pdfomitinfodict", "pdfoutline", "pdfoutput", "pdfpageattr", "pdfpagebox", "pdfpageheight", "pdfpageref", "pdfpageresources", "pdfpagesattr", "pdfpagewidth", "pdfpkfixeddpi", "pdfpkmode", "pdfpkresolution", "pdfprimitive", "pdfprotrudechars", "pdfpxdimen", "pdfrandomseed", "pdfrecompress", "pdfrefobj", "pdfrefxform", "pdfrefximage", "pdfreplacefont", "pdfrestore", "pdfretval", "pdfsave", "pdfsavepos", "pdfsetmatrix", "pdfsetrandomseed", "pdfstartlink", "pdfstartthread", "pdfsuppressoptionalinfo", "pdfsuppressptexinfo", "pdftexbanner", "pdftexrevision", "pdftexversion", "pdfthread", "pdfthreadmargin", "pdftracingfonts", "pdftrailer", "pdftrailerid", "pdfuniformdeviate", "pdfuniqueresname", "pdfvorigin", "pdfxform", "pdfxformattr", "pdfxformmargin", "pdfxformname", "pdfxformresources", "pdfximage" },
- ["tex"]={ " ", "-", "/", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "advanceby", "afterassignment", "aftergroup", "atop", "atopwithdelims", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "botmark", "box", "boxmaxdepth", "brokenpenalty", "catcode", "char", "chardef", "cleaders", "clubpenalty", "copy", "count", "countdef", "cr", "crcr", "csname", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "dimen", "dimendef", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalty", "displaywidth", "divide", "divideby", "doublehyphendemerits", "dp", "dump", "edef", "else", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "fam", "fi", "finalhyphendemerits", "firstmark", "floatingpenalty", "font", "fontdimen", "fontname", "futurelet", "gdef", "global", "globaldefs", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifcase", "ifcat", "ifdim", "iffalse", "ifhbox", "ifhmode", "ifinner", "ifmmode", "ifnum", "ifodd", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "indent", "input", "inputlineno", "insert", "insertpenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastpenalty", "lastskip", "lccode", "leaders", "left", "lefthyphenmin", "leftskip", "leqno", "let", "limits", "linepenalty", "lineskip", "lineskiplimit", "long", "looseness", "lower", "lowercase", "mark", "mathbin", "mathchar", "mathchardef", "mathchoice", "mathco!
de", "mathop", "mathord", "mathpunct", "mathrel", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "multiply", "multiplyby", "muskip", "muskipdef", "newlinechar", "noalign", "noexpand", "noindent", "nolimits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "omit", "or", "outer", "output", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagedepth", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageshrink", "pagestretch", "pagetotal", "par", "parfillleftskip", "parfillskip", "parindent", "parinitleftskip", "parinitrightskip", "parshape", "parskip", "patterns", "pausing", "penalty", "postdisplaypenalty", "predisplaypenalty", "predisplaysize", "pretolerance", "prevdepth", "prevgraf", "radical", "raise", "relax", "relpenalty", "right", "righthyphenmin", "rightskip", "romannumeral", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showlists", "shownodedetails", "showthe", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "splitbotmark", "splitfirstmark", "splitmaxdepth", "splittopskip", "string", "tabskip", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topskip", "tracingcommands", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingstats", "uccode", "uchyph", "unboundary", "underline", "unhbox", "unhcopy", "unkern", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalty", "xdef", "xleaders", "xspaceskip", "year" },
+ ["tex"]={ " ", "-", "/", "above", "abovedisplayshortskip", "abovedisplayskip", "abovewithdelims", "accent", "adjdemerits", "advance", "afterassignment", "aftergroup", "atop", "atopwithdelims", "badness", "baselineskip", "batchmode", "begingroup", "belowdisplayshortskip", "belowdisplayskip", "binoppenalty", "botmark", "box", "boxmaxdepth", "brokenpenalty", "catcode", "char", "chardef", "cleaders", "clubpenalty", "copy", "count", "countdef", "cr", "crcr", "csname", "day", "deadcycles", "def", "defaulthyphenchar", "defaultskewchar", "delcode", "delimiter", "delimiterfactor", "delimitershortfall", "dimen", "dimendef", "discretionary", "displayindent", "displaylimits", "displaystyle", "displaywidowpenalty", "displaywidth", "divide", "doublehyphendemerits", "dp", "dump", "edef", "else", "emergencyextrastretch", "emergencystretch", "end", "endcsname", "endgroup", "endinput", "endlinechar", "eofinput", "eqno", "errhelp", "errmessage", "errorcontextlines", "errorstopmode", "escapechar", "everycr", "everydisplay", "everyhbox", "everyjob", "everymath", "everypar", "everyvbox", "exhyphenchar", "exhyphenpenalty", "expandafter", "fam", "fi", "finalhyphendemerits", "firstmark", "floatingpenalty", "font", "fontdimen", "fontname", "futurelet", "gdef", "global", "globaldefs", "halign", "hangafter", "hangindent", "hbadness", "hbox", "hfil", "hfill", "hfilneg", "hfuzz", "hkern", "holdinginserts", "hrule", "hsize", "hskip", "hss", "ht", "hyphenation", "hyphenchar", "hyphenpenalty", "if", "ifcase", "ifcat", "ifdim", "iffalse", "ifhbox", "ifhmode", "ifinner", "ifmmode", "ifnum", "ifodd", "iftrue", "ifvbox", "ifvmode", "ifvoid", "ifx", "ignorespaces", "indent", "input", "inputlineno", "insert", "insertpenalties", "interlinepenalty", "jobname", "kern", "language", "lastbox", "lastkern", "lastpenalty", "lastskip", "lccode", "leaders", "left", "lefthyphenmin", "leftskip", "leqno", "let", "limits", "linepenalty", "lineskip", "lineskiplimit", "long", "looseness", "lower", "lowercase", "mark", "mathaccent", "mathbin", "mathchar", "!
mathchardef", "mathchoice", "mathclose", "mathcode", "mathinner", "mathop", "mathopen", "mathord", "mathpunct", "mathrel", "mathsurround", "maxdeadcycles", "maxdepth", "meaning", "medmuskip", "message", "middle", "mkern", "month", "moveleft", "moveright", "mskip", "multiply", "muskip", "muskipdef", "newlinechar", "noalign", "noexpand", "noindent", "nolimits", "nonscript", "nonstopmode", "nulldelimiterspace", "nullfont", "number", "omit", "or", "outer", "output", "outputpenalty", "over", "overfullrule", "overline", "overwithdelims", "pagefilllstretch", "pagefillstretch", "pagefilstretch", "pagegoal", "pageshrink", "pagestretch", "pagetotal", "par", "parfillskip", "parindent", "parshape", "parskip", "patterns", "pausing", "penalty", "postdisplaypenalty", "predisplaypenalty", "predisplaysize", "pretolerance", "prevdepth", "prevgraf", "radical", "raise", "relax", "relpenalty", "right", "righthyphenmin", "rightskip", "romannumeral", "scriptfont", "scriptscriptfont", "scriptscriptstyle", "scriptspace", "scriptstyle", "scrollmode", "setbox", "setlanguage", "sfcode", "shipout", "show", "showbox", "showboxbreadth", "showboxdepth", "showlists", "shownodedetails", "showthe", "skewchar", "skip", "skipdef", "spacefactor", "spaceskip", "span", "splitbotmark", "splitfirstmark", "splitmaxdepth", "splittopskip", "string", "tabskip", "textfont", "textstyle", "the", "thickmuskip", "thinmuskip", "time", "toks", "toksdef", "tolerance", "topmark", "topskip", "tracingcommands", "tracinglostchars", "tracingmacros", "tracingonline", "tracingoutput", "tracingpages", "tracingparagraphs", "tracingrestores", "tracingstats", "uccode", "uchyph", "unboundary", "underline", "unhbox", "unhcopy", "unkern", "unpenalty", "unskip", "unvbox", "unvcopy", "uppercase", "vadjust", "valign", "vbadness", "vbox", "vcenter", "vfil", "vfill", "vfilneg", "vfuzz", "vkern", "vrule", "vsize", "vskip", "vsplit", "vss", "vtop", "wd", "widowpenalty", "xdef", "xleaders", "xspaceskip", "year" },
["xetex"]={ "XeTeXversion" },
}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-xml.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-xml.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer-xml.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -30,7 +30,6 @@
local xmlscriptlexer = lexers.load("scite-context-lexer-xml-script")
local lualexer = lexers.load("scite-context-lexer-lua")
-
local space = patterns.space
local any = patterns.any
@@ -72,6 +71,7 @@
local closedoctype = P("]>") + P(">")
local openscript = openbegin * (P("script") + P("SCRIPT")) * (1-closeend)^0 * closeend -- begin
local closescript = openend * (P("script") + P("SCRIPT")) * closeend
+local charpattern = lexers.helpers.charpattern
local openlua = "<?lua"
local closelua = "?>"
@@ -85,7 +85,6 @@
local entity = ampersand * (1-semicolon)^1 * semicolon
-local utfchar = lexers.helpers.utfchar
local wordtoken = patterns.wordtoken
local iwordtoken = patterns.iwordtoken
local wordpattern = patterns.wordpattern
@@ -114,10 +113,10 @@
C(iwordpattern) * Cp() / function(s,p) return styleofword(validwords,validminimum,s,p) end -- a bit of a hack
local t_rest =
- token("default", any)
+ token("default", charpattern)
local t_text =
- token("default", (1-S("<>&")-space)^1)
+ token("default", (charpattern-S("<>&")-space)^1)
local t_spacing =
token(xmlwhitespace, space^1)
Modified: trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer.lua
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer.lua 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/lexers/scite-context-lexer.lua 2024-02-27 16:48:07 UTC (rev 70189)
@@ -291,6 +291,7 @@
+ utf8two / function(s) local c1, c2 = byte(s,1,2) return c1 * 64 + c2 - 12416 end
+ utf8three / function(s) local c1, c2, c3 = byte(s,1,3) return (c1 * 64 + c2) * 64 + c3 - 925824 end
+ utf8four / function(s) local c1, c2, c3, c4 = byte(s,1,4) return ((c1 * 64 + c2) * 64 + c3) * 64 + c4 - 63447168 end
+ helpers.charpattern = usage == "scite" and 1 or helpers.utfcharpattern
local p_false = P(false)
local p_true = P(true)
Modified: trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-context.properties 2024-02-27 16:48:07 UTC (rev 70189)
@@ -8,280 +8,299 @@
onepoint halfapoint onebasepoint maxcount maxdimen \
scaledpoint thousandpoint points halfpoint zeroskip \
centeringskip stretchingskip shrinkingskip centeringfillskip stretchingfillskip \
-shrinkingfillskip zeromuskip onemuskip pluscxxvii pluscxxviii \
-pluscclv pluscclvi normalpagebox binaryshiftedten binaryshiftedtwenty \
-binaryshiftedthirty thickermuskip directionlefttoright directionrighttoleft endoflinetoken \
-outputnewlinechar emptytoks empty undefined prerollrun \
-voidbox emptybox emptyvbox emptyhbox bigskipamount \
-medskipamount smallskipamount fmtname fmtversion texengine \
-texenginename texengineversion texenginefunctionality luatexengine pdftexengine \
-xetexengine unknownengine contextformat contextversion contextlmtxmode \
-contextmark mksuffix activecatcode bgroup egroup \
-endline conditionaltrue conditionalfalse attributeunsetvalue statuswrite \
-uprotationangle rightrotationangle downrotationangle leftrotationangle inicatcodes \
-ctxcatcodes texcatcodes notcatcodes txtcatcodes vrbcatcodes \
-prtcatcodes nilcatcodes luacatcodes tpacatcodes tpbcatcodes \
-xmlcatcodes ctdcatcodes rlncatcodes escapecatcode begingroupcatcode \
-endgroupcatcode mathshiftcatcode alignmentcatcode endoflinecatcode parametercatcode \
-superscriptcatcode subscriptcatcode ignorecatcode spacecatcode lettercatcode \
-othercatcode activecatcode commentcatcode invalidcatcode tabasciicode \
-newlineasciicode formfeedasciicode endoflineasciicode endoffileasciicode commaasciicode \
-spaceasciicode periodasciicode hashasciicode dollarasciicode commentasciicode \
-ampersandasciicode colonasciicode semicolonasciicode backslashasciicode circumflexasciicode \
-underscoreasciicode leftbraceasciicode barasciicode rightbraceasciicode tildeasciicode \
-delasciicode leftparentasciicode rightparentasciicode lessthanasciicode morethanasciicode \
-doublecommentsignal atsignasciicode exclamationmarkasciicode questionmarkasciicode doublequoteasciicode \
-singlequoteasciicode forwardslashasciicode primeasciicode hyphenasciicode percentasciicode \
-leftbracketasciicode rightbracketasciicode hsizefrozenparcode skipfrozenparcode hangfrozenparcode \
-indentfrozenparcode parfillfrozenparcode adjustfrozenparcode protrudefrozenparcode tolerancefrozenparcode \
-stretchfrozenparcode loosenessfrozenparcode lastlinefrozenparcode linepenaltyfrozenparcode clubpenaltyfrozenparcode \
-widowpenaltyfrozenparcode displaypenaltyfrozenparcode brokenpenaltyfrozenparcode demeritsfrozenparcode shapefrozenparcode \
-linefrozenparcode hyphenationfrozenparcode shapingpenaltyfrozenparcode orphanpenaltyfrozenparcode allfrozenparcode \
-mathpenaltyfrozenparcode activemathcharcode activetabtoken activeformfeedtoken activeendoflinetoken \
-batchmodecode nonstopmodecode scrollmodecode errorstopmodecode bottomlevelgroupcode \
-simplegroupcode hboxgroupcode adjustedhboxgroupcode vboxgroupcode vtopgroupcode \
-aligngroupcode noaligngroupcode outputgroupcode mathgroupcode discretionarygroupcode \
-insertgroupcode vadjustgroupcode vcentergroupcode mathabovegroupcode mathchoicegroupcode \
-alsosimplegroupcode semisimplegroupcode mathshiftgroupcode mathleftgroupcode localboxgroupcode \
-splitoffgroupcode splitkeepgroupcode preamblegroupcode alignsetgroupcode finrowgroupcode \
-discretionarygroupcode markautomigrationcode insertautomigrationcode adjustautomigrationcode preautomigrationcode \
-postautomigrationcode charnodecode hlistnodecode vlistnodecode rulenodecode \
-insertnodecode marknodecode adjustnodecode ligaturenodecode discretionarynodecode \
-whatsitnodecode mathnodecode gluenodecode kernnodecode penaltynodecode \
-unsetnodecode mathsnodecode overrulemathcontrolcode underrulemathcontrolcode radicalrulemathcontrolcode \
-fractionrulemathcontrolcode accentskewhalfmathcontrolcode accentskewapplymathcontrolcode applyordinarykernpairmathcontrolcode applyverticalitalickernmathcontrolcode \
-applyordinaryitalickernmathcontrolcode applycharitalickernmathcontrolcode reboxcharitalickernmathcontrolcode applyboxeditalickernmathcontrolcode staircasekernmathcontrolcode \
-applytextitalickernmathcontrolcode applyscriptitalickernmathcontrolcode checkspaceitalickernmathcontrolcode checktextitalickernmathcontrolcode analyzescriptnucleuscharmathcontrolcode \
-analyzescriptnucleuslistmathcontrolcode analyzescriptnucleusboxmathcontrolcode accenttopskewwithoffsetmathcontrolcode ignorekerndimensionsmathcontrolcode ignoreflataccentsmathcontrolcode \
-extendaccentsmathcontrolcode extenddelimitersmathcontrolcode noligaturingglyphoptioncode nokerningglyphoptioncode noexpansionglyphoptioncode \
-noprotrusionglyphoptioncode noleftkerningglyphoptioncode noleftligaturingglyphoptioncode norightkerningglyphoptioncode norightligaturingglyphoptioncode \
-noitaliccorrectionglyphoptioncode islargeoperatorglyphoptioncode hasitalicshapeglyphoptioncode normalparcontextcode vmodeparcontextcode \
-vboxparcontextcode vtopparcontextcode vcenterparcontextcode vadjustparcontextcode insertparcontextcode \
-outputparcontextcode alignparcontextcode noalignparcontextcode spanparcontextcode resetparcontextcode \
-leftoriginlistanchorcode leftheightlistanchorcode leftdepthlistanchorcode rightoriginlistanchorcode rightheightlistanchorcode \
-rightdepthlistanchorcode centeroriginlistanchorcode centerheightlistanchorcode centerdepthlistanchorcode halfwaytotallistanchorcode \
-halfwayheightlistanchorcode halfwaydepthlistanchorcode halfwayleftlistanchorcode halfwayrightlistanchorcode negatexlistsigncode \
-negateylistsigncode negatelistsigncode fontslantperpoint fontinterwordspace fontinterwordstretch \
-fontinterwordshrink fontexheight fontemwidth fontextraspace slantperpoint \
-mathexheight mathemwidth interwordspace interwordstretch interwordshrink \
-exheight emwidth extraspace mathaxisheight muquad \
-startmode stopmode startnotmode stopnotmode startmodeset \
-stopmodeset doifmode doifelsemode doifmodeelse doifnotmode \
-startmodeset stopmodeset startallmodes stopallmodes startnotallmodes \
-stopnotallmodes doifallmodes doifelseallmodes doifallmodeselse doifnotallmodes \
-startenvironment stopenvironment environment startcomponent stopcomponent \
-component startlocalcomponent stoplocalcomponent startproduct stopproduct \
-product startproject stopproject project starttext \
-stoptext startnotext stopnotext startdocument stopdocument \
-documentvariable unexpandeddocumentvariable setupdocument presetdocument doifelsedocumentvariable \
-doifdocumentvariableelse doifdocumentvariable doifnotdocumentvariable startmodule stopmodule \
-usemodule usetexmodule useluamodule setupmodule currentmoduleparameter \
-moduleparameter everystarttext everystoptext startTEXpage stopTEXpage \
-enablemode disablemode preventmode definemode globalenablemode \
-globaldisablemode globalpreventmode pushmode popmode typescriptone \
-typescripttwo typescriptthree mathsizesuffix mathordinarycode mathordcode \
-mathoperatorcode mathopcode mathbinarycode mathbincode mathrelationcode \
-mathrelcode mathopencode mathclosecode mathpunctuationcode mathpunctcode \
-mathovercode mathundercode mathinnercode mathradicalcode mathfractioncode \
-mathmiddlecode mathaccentcode mathfencedcode mathghostcode mathvariablecode \
-mathactivecode mathvcentercode mathconstructcode mathwrappedcode mathbegincode \
-mathendcode mathexplicitcode mathdivisioncode mathfactorialcode mathdimensioncode \
-mathexperimentalcode mathtextpunctuationcode mathimaginarycode mathdifferentialcode mathexponentialcode \
-mathellipsiscode mathfunctioncode mathdigitcode mathalphacode mathboxcode \
-mathchoicecode mathnothingcode mathlimopcode mathnolopcode mathunsetcode \
-mathunspacedcode mathallcode mathfakecode mathunarycode mathmaybeordinarycode \
-mathmayberelationcode mathmaybebinarycode mathnumbergroupcode constantnumber constantnumberargument \
-constantdimen constantdimenargument constantemptyargument luastringsep !!bs \
-!!es lefttorightmark righttoleftmark lrm rlm \
-bidilre bidirle bidipop bidilro bidirlo \
-breakablethinspace nobreakspace nonbreakablespace narrownobreakspace zerowidthnobreakspace \
-ideographicspace ideographichalffillspace twoperemspace threeperemspace fourperemspace \
-fiveperemspace sixperemspace figurespace punctuationspace hairspace \
-enquad emquad zerowidthspace zerowidthnonjoiner zerowidthjoiner \
-zwnj zwj optionalspace asciispacechar softhyphen \
-autoinsertedspace Ux eUx parfillleftskip parfillrightskip \
-startlmtxmode stoplmtxmode startmkivmode stopmkivmode wildcardsymbol \
-normalhyphenationcode automatichyphenationcode explicithyphenationcode syllablehyphenationcode uppercasehyphenationcode \
-collapsehyphenationcode compoundhyphenationcode strictstarthyphenationcode strictendhyphenationcode automaticpenaltyhyphenationcode \
-explicitpenaltyhyphenationcode permitgluehyphenationcode permitallhyphenationcode permitmathreplacehyphenationcode forcecheckhyphenationcode \
-lazyligatureshyphenationcode forcehandlerhyphenationcode feedbackcompoundhyphenationcode ignoreboundshyphenationcode partialhyphenationcode \
-completehyphenationcode normalizelinenormalizecode parindentskipnormalizecode swaphangindentnormalizecode swapparsshapenormalizecode \
-breakafterdirnormalizecode removemarginkernsnormalizecode clipwidthnormalizecode flattendiscretionariesnormalizecode discardzerotabskipsnormalizecode \
-flattenhleadersnormalizecode normalizeparnormalizeparcode flattenvleadersnormalizeparcode nopreslackclassoptioncode nopostslackclassoptioncode \
-lefttopkernclassoptioncode righttopkernclassoptioncode leftbottomkernclassoptioncode rightbottomkernclassoptioncode lookaheadforendclassoptioncode \
-noitaliccorrectionclassoptioncode defaultmathclassoptions checkligatureclassoptioncode checkitaliccorrectionclassoptioncode checkkernpairclassoptioncode \
-flattenclassoptioncode omitpenaltyclassoptioncode unpackclassoptioncode raiseprimeclassoptioncode carryoverlefttopkernclassoptioncode \
-carryoverleftbottomkernclassoptioncode carryoverrighttopkernclassoptioncode carryoverrightbottomkernclassoptioncode preferdelimiterdimensionsclassoptioncode autoinjectclassoptioncode \
-removeitaliccorrectionclassoptioncode operatoritaliccorrectionclassoptioncode noligaturingglyphoptioncode nokerningglyphoptioncode noleftligatureglyphoptioncode \
-noleftkernglyphoptioncode norightligatureglyphoptioncode norightkernglyphoptioncode noexpansionglyphoptioncode noprotrusionglyphoptioncode \
-noitaliccorrectionglyphoptioncode nokerningcode noligaturingcode frozenflagcode tolerantflagcode \
-protectedflagcode primitiveflagcode permanentflagcode noalignedflagcode immutableflagcode \
-mutableflagcode globalflagcode overloadedflagcode immediateflagcode conditionalflagcode \
-valueflagcode instanceflagcode ordmathflattencode binmathflattencode relmathflattencode \
-punctmathflattencode innermathflattencode normalworddiscoptioncode preworddiscoptioncode postworddiscoptioncode \
-continueifinputfile continuewhenlmtxmode continuewhenmkivmode
+shrinkingfillskip centeringfilllskip stretchingfilllskip shrinkingfilllskip zeromuskip \
+onemuskip pluscxxvii pluscxxviii pluscclv pluscclvi \
+normalpagebox binaryshiftedten binaryshiftedtwenty binaryshiftedthirty thickermuskip \
+continuationmuskip fencemuskip mathinterwordmuskip zerofloat directionlefttoright \
+directionrighttoleft endoflinetoken outputnewlinechar emptytoks empty \
+undefined prerollrun voidbox emptybox emptyvbox \
+emptyhbox bigskipamount medskipamount smallskipamount fmtname \
+fmtversion texengine texenginename texengineversion texenginefunctionality \
+luatexengine pdftexengine xetexengine unknownengine contextformat \
+contextversion contextlmtxmode contextmark mksuffix activecatcode \
+bgroup egroup endline conditionaltrue conditionalfalse \
+attributeunsetvalue statuswrite uprotationangle rightrotationangle downrotationangle \
+leftrotationangle inicatcodes ctxcatcodes texcatcodes notcatcodes \
+txtcatcodes vrbcatcodes prtcatcodes nilcatcodes luacatcodes \
+tpacatcodes tpbcatcodes xmlcatcodes ctdcatcodes rlncatcodes \
+escapecatcode begingroupcatcode endgroupcatcode mathshiftcatcode alignmentcatcode \
+endoflinecatcode parametercatcode superscriptcatcode subscriptcatcode ignorecatcode \
+spacecatcode lettercatcode othercatcode activecatcode commentcatcode \
+invalidcatcode tabasciicode newlineasciicode formfeedasciicode endoflineasciicode \
+endoffileasciicode commaasciicode spaceasciicode periodasciicode hashasciicode \
+dollarasciicode commentasciicode ampersandasciicode colonasciicode semicolonasciicode \
+backslashasciicode circumflexasciicode underscoreasciicode leftbraceasciicode barasciicode \
+rightbraceasciicode tildeasciicode delasciicode leftparentasciicode rightparentasciicode \
+lessthanasciicode morethanasciicode doublecommentsignal atsignasciicode exclamationmarkasciicode \
+questionmarkasciicode doublequoteasciicode singlequoteasciicode forwardslashasciicode primeasciicode \
+hyphenasciicode percentasciicode leftbracketasciicode rightbracketasciicode zeroasciicode \
+nineasciicode alowercaseasciicode zlowercaseasciicode hsizefrozenparcode skipfrozenparcode \
+hangfrozenparcode indentfrozenparcode parfillfrozenparcode adjustfrozenparcode protrudefrozenparcode \
+tolerancefrozenparcode stretchfrozenparcode loosenessfrozenparcode lastlinefrozenparcode linepenaltyfrozenparcode \
+clubpenaltyfrozenparcode widowpenaltyfrozenparcode displaypenaltyfrozenparcode brokenpenaltyfrozenparcode demeritsfrozenparcode \
+shapefrozenparcode linefrozenparcode hyphenationfrozenparcode shapingpenaltyfrozenparcode orphanpenaltyfrozenparcode \
+allfrozenparcode emergencyfrozenparcode parpassesfrozenparcode singlelinepenaltyfrozenparcode activemathcharcode \
+activetabtoken activeformfeedtoken activeendoflinetoken batchmodecode nonstopmodecode \
+scrollmodecode errorstopmodecode bottomlevelgroupcode simplegroupcode hboxgroupcode \
+adjustedhboxgroupcode vboxgroupcode vtopgroupcode aligngroupcode noaligngroupcode \
+outputgroupcode mathgroupcode discretionarygroupcode insertgroupcode vadjustgroupcode \
+vcentergroupcode mathabovegroupcode mathchoicegroupcode alsosimplegroupcode semisimplegroupcode \
+mathshiftgroupcode mathleftgroupcode localboxgroupcode splitoffgroupcode splitkeepgroupcode \
+preamblegroupcode alignsetgroupcode finrowgroupcode discretionarygroupcode markautomigrationcode \
+insertautomigrationcode adjustautomigrationcode preautomigrationcode postautomigrationcode charnodecode \
+hlistnodecode vlistnodecode rulenodecode insertnodecode marknodecode \
+adjustnodecode ligaturenodecode discretionarynodecode whatsitnodecode mathnodecode \
+gluenodecode kernnodecode penaltynodecode unsetnodecode mathsnodecode \
+overrulemathcontrolcode underrulemathcontrolcode radicalrulemathcontrolcode fractionrulemathcontrolcode accentskewhalfmathcontrolcode \
+accentskewapplymathcontrolcode applyordinarykernpairmathcontrolcode applyverticalitalickernmathcontrolcode applyordinaryitalickernmathcontrolcode applycharitalickernmathcontrolcode \
+reboxcharitalickernmathcontrolcode applyboxeditalickernmathcontrolcode staircasekernmathcontrolcode applytextitalickernmathcontrolcode applyscriptitalickernmathcontrolcode \
+checkspaceitalickernmathcontrolcode checktextitalickernmathcontrolcode analyzescriptnucleuscharmathcontrolcode analyzescriptnucleuslistmathcontrolcode analyzescriptnucleusboxmathcontrolcode \
+accenttopskewwithoffsetmathcontrolcode ignorekerndimensionsmathcontrolcode ignoreflataccentsmathcontrolcode extendaccentsmathcontrolcode extenddelimitersmathcontrolcode \
+normalparcontextcode vmodeparcontextcode vboxparcontextcode vtopparcontextcode vcenterparcontextcode \
+vadjustparcontextcode insertparcontextcode outputparcontextcode alignparcontextcode noalignparcontextcode \
+spanparcontextcode resetparcontextcode normalparbegincode forceparbegincode indentparbegincode \
+noindentparbegincode mathcharparbegincode charparbegincode boundaryparbegincode spaceparbegincode \
+mathparbegincode kernparbegincode hskipparbegincode unhboxparbegincode valignparbegincode \
+vruleparbegincode fixedsuperorsubscriptsmodecode fixedsuperandsubscriptsmodecode ignoreemptyscriptsmodecode ignoreemptysuperscriptsmodecode \
+ignoreemptysubscriptsmodecode ignoreemptyprimescriptsmodecode inheritclassdoublescriptmodecode discardshapekerndoublescriptmodecode realignscriptsdoublescriptmodecode \
+reorderprescriptsdoublescriptmodecode leftoriginlistanchorcode leftheightlistanchorcode leftdepthlistanchorcode rightoriginlistanchorcode \
+rightheightlistanchorcode rightdepthlistanchorcode centeroriginlistanchorcode centerheightlistanchorcode centerdepthlistanchorcode \
+halfwaytotallistanchorcode halfwayheightlistanchorcode halfwaydepthlistanchorcode halfwayleftlistanchorcode halfwayrightlistanchorcode \
+negatexlistsigncode negateylistsigncode negatelistsigncode fontslantperpoint fontinterwordspace \
+fontinterwordstretch fontinterwordshrink fontexheight fontemwidth fontextraspace \
+slantperpoint mathexheight mathemwidth interwordspace interwordstretch \
+interwordshrink exheight emwidth extraspace mathaxisheight \
+muquad startmode stopmode startnotmode stopnotmode \
+startmodeset stopmodeset doifmode doifelsemode doifmodeelse \
+doifnotmode startmodeset stopmodeset startallmodes stopallmodes \
+startnotallmodes stopnotallmodes doifallmodes doifelseallmodes doifallmodeselse \
+doifnotallmodes startenvironment stopenvironment environment startcomponent \
+stopcomponent component startlocalcomponent stoplocalcomponent startproduct \
+stopproduct product startproject stopproject project \
+starttext stoptext startnotext stopnotext startdocument \
+stopdocument documentvariable unexpandeddocumentvariable setupdocument presetdocument \
+doifelsedocumentvariable doifdocumentvariableelse doifdocumentvariable doifnotdocumentvariable startmodule \
+stopmodule usemodule usetexmodule useluamodule setupmodule \
+currentmoduleparameter moduleparameter everystarttext everystoptext everyforgetall \
+luaenvironment startTEXpage stopTEXpage enablemode disablemode \
+preventmode definemode globalenablemode globaldisablemode globalpreventmode \
+pushmode popmode typescriptone typescripttwo typescriptthree \
+mathsizesuffix mathordinarycode mathordcode mathoperatorcode mathopcode \
+mathbinarycode mathbincode mathrelationcode mathrelcode mathopencode \
+mathclosecode mathpunctuationcode mathpunctcode mathovercode mathundercode \
+mathinnercode mathradicalcode mathfractioncode mathmiddlecode mathprimecode \
+mathaccentcode mathfencedcode mathghostcode mathvariablecode mathactivecode \
+mathvcentercode mathconstructcode mathwrappedcode mathbegincode mathendcode \
+mathexplicitcode mathdivisioncode mathfactorialcode mathdimensioncode mathexperimentalcode \
+mathtextpunctuationcode mathcontinuationcode mathimaginarycode mathdifferentialcode mathexponentialcode \
+mathintegralcode mathellipsiscode mathfunctioncode mathdigitcode mathalphacode \
+mathboxcode mathchoicecode mathnothingcode mathlimopcode mathnolopcode \
+mathunsetcode mathunspacedcode mathallcode mathfakecode mathunarycode \
+mathmaybeordinarycode mathmayberelationcode mathmaybebinarycode mathnumbergroupcode mathchemicalbondcode \
+mathimplicationcode constantnumber constantnumberargument constantdimen constantdimenargument \
+constantemptyargument luastringsep !!bs !!es lefttorightmark \
+righttoleftmark lrm rlm bidilre bidirle \
+bidipop bidilro bidirlo breakablethinspace nobreakspace \
+nonbreakablespace narrownobreakspace zerowidthnobreakspace ideographicspace ideographichalffillspace \
+twoperemspace threeperemspace fourperemspace fiveperemspace sixperemspace \
+figurespace punctuationspace hairspace enquad emquad \
+zerowidthspace zerowidthnonjoiner zerowidthjoiner zwnj zwj \
+optionalspace asciispacechar softhyphen autoinsertedspace Ux \
+eUx startlmtxmode stoplmtxmode startmkivmode stopmkivmode \
+wildcardsymbol normalhyphenationcode automatichyphenationcode explicithyphenationcode syllablehyphenationcode \
+uppercasehyphenationcode collapsehyphenationcode compoundhyphenationcode strictstarthyphenationcode strictendhyphenationcode \
+automaticpenaltyhyphenationcode explicitpenaltyhyphenationcode permitgluehyphenationcode permitallhyphenationcode permitmathreplacehyphenationcode \
+forcecheckhyphenationcode lazyligatureshyphenationcode forcehandlerhyphenationcode feedbackcompoundhyphenationcode ignoreboundshyphenationcode \
+partialhyphenationcode completehyphenationcode normalizelinenormalizecode parindentskipnormalizecode swaphangindentnormalizecode \
+swapparsshapenormalizecode breakafterdirnormalizecode removemarginkernsnormalizecode clipwidthnormalizecode flattendiscretionariesnormalizecode \
+discardzerotabskipsnormalizecode flattenhleadersnormalizecode normalizeparnormalizeparcode flattenvleadersnormalizeparcode limitprevgrafnormalizeparcode \
+nopreslackclassoptioncode nopostslackclassoptioncode lefttopkernclassoptioncode righttopkernclassoptioncode leftbottomkernclassoptioncode \
+rightbottomkernclassoptioncode lookaheadforendclassoptioncode noitaliccorrectionclassoptioncode defaultmathclassoptions checkligatureclassoptioncode \
+checkitaliccorrectionclassoptioncode checkkernpairclassoptioncode flattenclassoptioncode omitpenaltyclassoptioncode unpackclassoptioncode \
+raiseprimeclassoptioncode carryoverlefttopkernclassoptioncode carryoverleftbottomkernclassoptioncode carryoverrighttopkernclassoptioncode carryoverrightbottomkernclassoptioncode \
+preferdelimiterdimensionsclassoptioncode autoinjectclassoptioncode removeitaliccorrectionclassoptioncode operatoritaliccorrectionclassoptioncode shortinlineclassoptioncode \
+pushnestingclassoptioncode popnestingclassoptioncode obeynestingclassoptioncode noitaliccorrectionglyphoptioncode nozeroitaliccorrectionglyphoptioncode \
+noexpansionglyphoptioncode noprotrusionglyphoptioncode noleftkernglyphoptioncode norightkernglyphoptioncode noleftligatureglyphoptioncode \
+norightligatureglyphoptioncode textcheckitalicglyphoptioncode mathcheckitalicglyphoptioncode nokerningcode noligaturingcode \
+noitalicscode indecentparpassclasses looseparpassclasses tightparpassclasses verylooseparpassclass \
+looseparpassclass semilooseparpassclass decentparpassclass almostdecentparpassclasses semitightparpassclass \
+tightparpassclass frozenflagcode tolerantflagcode protectedflagcode primitiveflagcode \
+permanentflagcode noalignedflagcode immutableflagcode mutableflagcode globalflagcode \
+overloadedflagcode immediateflagcode conditionalflagcode valueflagcode instanceflagcode \
+ordmathflattencode binmathflattencode relmathflattencode punctmathflattencode innermathflattencode \
+normalworddiscoptioncode preworddiscoptioncode postworddiscoptioncode preferbreakdiscoptioncode prefernobreakdiscoptioncode \
+noitaliccorrectiondiscoptioncode nozeroitaliccorrectiondiscoptioncode textcheckitalicdiscoptioncode continueifinputfile continuewhenlmtxmode \
+continuewhenmkivmode uunit
keywordclass.context.helpers=\
-startsetups stopsetups startxmlsetups stopxmlsetups \
-startluasetups stopluasetups starttexsetups stoptexsetups startrawsetups \
-stoprawsetups startlocalsetups stoplocalsetups starttexdefinition stoptexdefinition \
-starttexcode stoptexcode startcontextcode stopcontextcode startcontextdefinitioncode \
-stopcontextdefinitioncode texdefinition doifelsesetups doifsetupselse doifsetups \
-doifnotsetups setup setups texsetup xmlsetup \
-luasetup directsetup fastsetup copysetups resetsetups \
-doifelsecommandhandler doifcommandhandlerelse doifnotcommandhandler doifcommandhandler newmode \
-setmode resetmode newsystemmode setsystemmode resetsystemmode \
-pushsystemmode popsystemmode globalsetmode globalresetmode globalsetsystemmode \
-globalresetsystemmode booleanmodevalue newcount newdimen newskip \
-newmuskip newbox newtoks newread newwrite \
-newmarks newinsert newattribute newif newfloat \
-newlanguage newfamily newfam newhelp newinteger \
-newdimension newgluespec newmugluespec newposit aliasinteger \
-aliasdimension aliasposit then begcsname autorule \
-strippedcsname checkedstrippedcsname nofarguments firstargumentfalse firstargumenttrue \
-secondargumentfalse secondargumenttrue thirdargumentfalse thirdargumenttrue fourthargumentfalse \
-fourthargumenttrue fifthargumentfalse fifthargumenttrue sixthargumentfalse sixthargumenttrue \
-seventhargumentfalse seventhargumenttrue vkern hkern vpenalty \
-hpenalty doglobal dodoglobal redoglobal resetglobal \
-donothing untraceddonothing dontcomplain moreboxtracing lessboxtracing \
-noboxtracing forgetall donetrue donefalse foundtrue \
-foundfalse inlineordisplaymath indisplaymath forcedisplaymath startforceddisplaymath \
-stopforceddisplaymath startpickupmath stoppickupmath reqno forceinlinemath \
-mathortext thebox htdp unvoidbox hfilll \
-vfilll mathbox mathlimop mathnolop mathnothing \
-mathalpha currentcatcodetable defaultcatcodetable catcodetablename newcatcodetable \
-startcatcodetable stopcatcodetable startextendcatcodetable stopextendcatcodetable pushcatcodetable \
-popcatcodetable restorecatcodes setcatcodetable letcatcodecommand defcatcodecommand \
-uedcatcodecommand hglue vglue hfillneg vfillneg \
-hfilllneg vfilllneg hsplit ruledhss ruledhfil \
-ruledhfill ruledhfilll ruledhfilneg ruledhfillneg normalhfillneg \
-normalhfilllneg ruledvss ruledvfil ruledvfill ruledvfilll \
-ruledvfilneg ruledvfillneg normalvfillneg normalvfilllneg ruledhbox \
-ruledvbox ruledvtop ruleddbox ruledvcenter ruledmbox \
-ruledhpack ruledvpack ruledtpack ruleddpack ruledvsplit \
-ruledtsplit ruleddsplit ruledhskip ruledvskip ruledkern \
-ruledmskip ruledmkern ruledhglue ruledvglue normalhglue \
-normalvglue ruledpenalty filledhboxb filledhboxr filledhboxg \
-filledhboxc filledhboxm filledhboxy filledhboxk scratchstring \
-scratchstringone scratchstringtwo tempstring scratchcounter globalscratchcounter \
-privatescratchcounter scratchdimen globalscratchdimen privatescratchdimen scratchskip \
-globalscratchskip privatescratchskip scratchmuskip globalscratchmuskip privatescratchmuskip \
-scratchtoks globalscratchtoks privatescratchtoks scratchbox globalscratchbox \
-privatescratchbox scratchmacro scratchmacroone scratchmacrotwo scratchconditiontrue \
-scratchconditionfalse ifscratchcondition scratchconditiononetrue scratchconditiononefalse ifscratchconditionone \
-scratchconditiontwotrue scratchconditiontwofalse ifscratchconditiontwo globalscratchcounterone globalscratchcountertwo \
-globalscratchcounterthree groupedcommand groupedcommandcs triggergroupedcommand triggergroupedcommandcs \
-simplegroupedcommand simplegroupedcommandcs pickupgroupedcommand pickupgroupedcommandcs mathgroupedcommandcs \
-usedbaselineskip usedlineskip usedlineskiplimit availablehsize localhsize \
-setlocalhsize distributedhsize hsizefraction next nexttoken \
-nextbox dowithnextbox dowithnextboxcs dowithnextboxcontent dowithnextboxcontentcs \
-flushnextbox boxisempty boxtostring contentostring prerolltostring \
-givenwidth givenheight givendepth scangivendimensions scratchwidth \
-scratchheight scratchdepth scratchoffset scratchdistance scratchtotal \
-scratchitalic scratchhsize scratchvsize scratchxoffset scratchyoffset \
+pushglobalsetups popglobalsetups startsetups stopsetups \
+startxmlsetups stopxmlsetups startluasetups stopluasetups starttexsetups \
+stoptexsetups startrawsetups stoprawsetups startlocalsetups stoplocalsetups \
+starttexdefinition stoptexdefinition starttexcode stoptexcode startcontextcode \
+stopcontextcode startcontextdefinitioncode stopcontextdefinitioncode texdefinition doifelsesetups \
+doifsetupselse doifsetups doifnotsetups setup setups \
+texsetup xmlsetup luasetup directsetup fastsetup \
+copysetups resetsetups doifelsecommandhandler doifcommandhandlerelse doifnotcommandhandler \
+doifcommandhandler newmode setmode resetmode newsystemmode \
+setsystemmode resetsystemmode pushsystemmode popsystemmode globalsetmode \
+globalresetmode globalsetsystemmode globalresetsystemmode booleanmodevalue newcount \
+newdimen newskip newmuskip newbox newtoks \
+newread newwrite newmarks newinsert newattribute \
+newif newfloat newlanguage newfamily newfam \
+newhelp newuserunit newinteger newdimension newgluespec \
+newmugluespec newposit aliasinteger aliasdimension aliasposit \
+then begcsname autorule tobit tobits \
+tohexa strippedcsname checkedstrippedcsname nofarguments firstargumentfalse \
+firstargumenttrue secondargumentfalse secondargumenttrue thirdargumentfalse thirdargumenttrue \
+fourthargumentfalse fourthargumenttrue fifthargumentfalse fifthargumenttrue sixthargumentfalse \
+sixthargumenttrue seventhargumentfalse seventhargumenttrue doglobal dodoglobal \
+redoglobal resetglobal donothing untraceddonothing dontcomplain \
+moreboxtracing lessboxtracing noboxtracing forgetall donetrue \
+donefalse foundtrue foundfalse globaldonetrue globaldonefalse \
+globalfoundtrue globalfoundfalse inlineordisplaymath indisplaymath forcedisplaymath \
+startforceddisplaymath stopforceddisplaymath startpickupmath stoppickupmath reqno \
+forceinlinemath mathortext thebox htdp unvoidbox \
+hfilll vfilll mathbox mathlimop mathnolop \
+mathnothing mathalpha currentcatcodetable defaultcatcodetable catcodetablename \
+newcatcodetable startcatcodetable stopcatcodetable startextendcatcodetable stopextendcatcodetable \
+pushcatcodetable popcatcodetable restorecatcodes setcatcodetable letcatcodecommand \
+defcatcodecommand uedcatcodecommand hglue vglue hfillneg \
+vfillneg hfilllneg vfilllneg hsplit ruledhss \
+ruledhfil ruledhfill ruledhfilll ruledhfilneg ruledhfillneg \
+normalhfillneg normalhfilllneg ruledvss ruledvfil ruledvfill \
+ruledvfilll ruledvfilneg ruledvfillneg normalvfillneg normalvfilllneg \
+ruledhbox ruledvbox ruledvtop ruleddbox ruledvcenter \
+ruledmbox ruledhpack ruledvpack ruledtpack ruleddpack \
+ruledvsplit ruledtsplit ruleddsplit ruledhskip ruledvskip \
+ruledkern ruledmskip ruledmkern ruledhglue ruledvglue \
+normalhglue normalvglue ruledpenalty filledhboxb filledhboxr \
+filledhboxg filledhboxc filledhboxm filledhboxy filledhboxk \
+scratchstring scratchstringone scratchstringtwo tempstring scratchcounter \
+globalscratchcounter privatescratchcounter scratchfloat globalscratchfloat privatescratchfloat \
+scratchdimen globalscratchdimen privatescratchdimen scratchskip globalscratchskip \
+privatescratchskip scratchmuskip globalscratchmuskip privatescratchmuskip scratchtoks \
+globalscratchtoks privatescratchtoks scratchbox globalscratchbox privatescratchbox \
+scratchmacro scratchmacroone scratchmacrotwo scratchconditiontrue scratchconditionfalse \
+ifscratchcondition scratchconditiononetrue scratchconditiononefalse ifscratchconditionone scratchconditiontwotrue \
+scratchconditiontwofalse ifscratchconditiontwo globalscratchcounterone globalscratchcountertwo globalscratchcounterthree \
+groupedcommand groupedcommandcs triggergroupedcommand triggergroupedcommandcs simplegroupedcommand \
+simplegroupedcommandcs pickupgroupedcommand pickupgroupedcommandcs mathgroupedcommandcs usedbaselineskip \
+usedlineskip usedlineskiplimit availablehsize localhsize setlocalhsize \
+distributedhsize hsizefraction next nexttoken nextbox \
+dowithnextbox dowithnextboxcs dowithnextboxcontent dowithnextboxcontentcs flushnextbox \
+boxisempty boxtostring contentostring prerolltostring givenwidth \
+givenheight givendepth scangivendimensions scratchwidth scratchheight \
+scratchdepth scratchoffset scratchdistance scratchtotal scratchitalic \
+scratchhsize scratchvsize scratchclass scratchxoffset scratchyoffset \
scratchhoffset scratchvoffset scratchxposition scratchyposition scratchtopoffset \
scratchbottomoffset scratchleftoffset scratchrightoffset scratchcounterone scratchcountertwo \
-scratchcounterthree scratchcounterfour scratchcounterfive scratchcountersix scratchdimenone \
-scratchdimentwo scratchdimenthree scratchdimenfour scratchdimenfive scratchdimensix \
-scratchskipone scratchskiptwo scratchskipthree scratchskipfour scratchskipfive \
-scratchskipsix scratchmuskipone scratchmuskiptwo scratchmuskipthree scratchmuskipfour \
-scratchmuskipfive scratchmuskipsix scratchtoksone scratchtokstwo scratchtoksthree \
-scratchtoksfour scratchtoksfive scratchtokssix scratchboxone scratchboxtwo \
-scratchboxthree scratchboxfour scratchboxfive scratchboxsix scratchnx \
-scratchny scratchmx scratchmy scratchunicode scratchmin \
-scratchmax scratchleftskip scratchrightskip scratchtopskip scratchbottomskip \
-doif doifnot doifelse firstinset doifinset \
-doifnotinset doifelseinset doifinsetelse doifelsenextchar doifnextcharelse \
-doifelsenextcharcs doifnextcharcselse doifelsenextoptional doifnextoptionalelse doifelsenextoptionalcs \
-doifnextoptionalcselse doifelsefastoptionalcheck doiffastoptionalcheckelse doifelsefastoptionalcheckcs doiffastoptionalcheckcselse \
-doifelsenextbgroup doifnextbgroupelse doifelsenextbgroupcs doifnextbgroupcselse doifelsenextparenthesis \
-doifnextparenthesiselse doifelseundefined doifundefinedelse doifelsedefined doifdefinedelse \
-doifundefined doifdefined doifelsevalue doifvalue doifnotvalue \
-doifnothing doifsomething doifelsenothing doifnothingelse doifelsesomething \
-doifsomethingelse doifvaluenothing doifvaluesomething doifelsevaluenothing doifvaluenothingelse \
-doifelsedimension doifdimensionelse doifelsenumber doifnumberelse doifnumber \
-doifnotnumber doifelsecommon doifcommonelse doifcommon doifnotcommon \
-doifinstring doifnotinstring doifelseinstring doifinstringelse doifelseassignment \
-doifassignmentelse docheckassignment doifelseassignmentcs doifassignmentelsecs validassignment \
-novalidassignment doiftext doifelsetext doiftextelse doifnottext \
-quitcondition truecondition falsecondition tracingall tracingnone \
-loggingall tracingcatcodes showluatokens aliasmacro removetoks \
-appendtoks prependtoks appendtotoks prependtotoks to \
-endgraf endpar reseteverypar finishpar empty \
-null space quad enspace emspace \
-charspace nbsp crlf obeyspaces obeylines \
-obeytabs obeypages obeyedspace obeyedline obeyedtab \
-obeyedpage normalspace naturalspace controlspace normalspaces \
-ignoretabs ignorelines ignorepages ignoreeofs setcontrolspaces \
-executeifdefined singleexpandafter doubleexpandafter tripleexpandafter dontleavehmode \
-removelastspace removeunwantedspaces keepunwantedspaces removepunctuation ignoreparskip \
-forcestrutdepth onlynonbreakablespace wait writestatus define \
-defineexpandable redefine setmeasure setemeasure setgmeasure \
-setxmeasure definemeasure freezemeasure measure measured \
-directmeasure setquantity setequantity setgquantity setxquantity \
-definequantity freezequantity quantity quantitied directquantity \
-installcorenamespace getvalue getuvalue setvalue setevalue \
-setgvalue setxvalue letvalue letgvalue resetvalue \
-undefinevalue ignorevalue setuvalue setuevalue setugvalue \
-setuxvalue globallet udef ugdef uedef \
-uxdef checked unique getparameters geteparameters \
-getgparameters getxparameters forgetparameters copyparameters getdummyparameters \
-dummyparameter directdummyparameter setdummyparameter letdummyparameter setexpandeddummyparameter \
-resetdummyparameter usedummystyleandcolor usedummystyleparameter usedummycolorparameter processcommalist \
-processcommacommand quitcommalist quitprevcommalist processaction processallactions \
-processfirstactioninset processallactionsinset unexpanded expanded startexpanded \
-stopexpanded protect unprotect firstofoneargument firstoftwoarguments \
-secondoftwoarguments firstofthreearguments secondofthreearguments thirdofthreearguments firstoffourarguments \
-secondoffourarguments thirdoffourarguments fourthoffourarguments firstoffivearguments secondoffivearguments \
-thirdoffivearguments fourthoffivearguments fifthoffivearguments firstofsixarguments secondofsixarguments \
-thirdofsixarguments fourthofsixarguments fifthofsixarguments sixthofsixarguments firstofoneunexpanded \
-firstoftwounexpanded secondoftwounexpanded firstofthreeunexpanded secondofthreeunexpanded thirdofthreeunexpanded \
-gobbleoneargument gobbletwoarguments gobblethreearguments gobblefourarguments gobblefivearguments \
-gobblesixarguments gobblesevenarguments gobbleeightarguments gobbleninearguments gobbletenarguments \
-gobbleoneoptional gobbletwooptionals gobblethreeoptionals gobblefouroptionals gobblefiveoptionals \
-dorecurse doloop exitloop dostepwiserecurse recurselevel \
-recursedepth dofastloopcs fastloopindex fastloopfinal dowith \
-doloopovermatch doloopovermatched doloopoverlist newconstant setnewconstant \
-setconstant setconstantvalue newconditional settrue setfalse \
-settruevalue setfalsevalue setconditional newmacro setnewmacro \
-newfraction newsignal newboundary dosingleempty dodoubleempty \
-dotripleempty doquadrupleempty doquintupleempty dosixtupleempty doseventupleempty \
-dosingleargument dodoubleargument dotripleargument doquadrupleargument doquintupleargument \
-dosixtupleargument doseventupleargument dosinglegroupempty dodoublegroupempty dotriplegroupempty \
-doquadruplegroupempty doquintuplegroupempty permitspacesbetweengroups dontpermitspacesbetweengroups nopdfcompression \
-maximumpdfcompression normalpdfcompression onlypdfobjectcompression nopdfobjectcompression modulonumber \
-dividenumber getfirstcharacter doifelsefirstchar doiffirstcharelse mathclassvalue \
-startnointerference stopnointerference twodigits threedigits leftorright \
-offinterlineskip oninterlineskip nointerlineskip strut halfstrut \
-quarterstrut depthstrut halflinestrut noheightstrut setstrut \
-strutbox strutht strutdp strutwd struthtdp \
-strutgap begstrut endstrut lineheight leftboundary \
-rightboundary signalcharacter aligncontentleft aligncontentmiddle aligncontentright \
-shiftbox vpackbox hpackbox vpackedbox hpackedbox \
-normalreqno startimath stopimath normalstartimath normalstopimath \
-startdmath stopdmath normalstartdmath normalstopdmath normalsuperscript \
-normalsubscript normalnosuperscript normalnosubscript normalprimescript superscript \
-subscript nosuperscript nosubscript primescript superprescript \
-subprescript nosuperprescript nosubsprecript uncramped cramped \
-mathstyletrigger triggermathstyle triggeredmathstyle mathstylefont mathsmallstylefont \
-mathstyleface mathsmallstyleface mathstylecommand mathpalette mathstylehbox \
-mathstylevbox mathstylevcenter mathstylevcenteredhbox mathstylevcenteredvbox mathtext \
-setmathsmalltextbox setmathtextbox pushmathstyle popmathstyle triggerdisplaystyle \
-triggertextstyle triggerscriptstyle triggerscriptscriptstyle triggeruncrampedstyle triggercrampedstyle \
-triggersmallstyle triggeruncrampedsmallstyle triggercrampedsmallstyle triggerbigstyle triggeruncrampedbigstyle \
-triggercrampedbigstyle luaexpr expelsedoif expdoif expdoifnot \
-expdoifelsecommon expdoifcommonelse expdoifelseinset expdoifinsetelse ctxdirectlua \
-ctxlatelua ctxsprint ctxwrite ctxcommand ctxdirectcommand \
-ctxlatecommand ctxreport ctxlua luacode lateluacode \
-directluacode registerctxluafile ctxloadluafile luaversion luamajorversion \
-luaminorversion ctxluacode luaconditional luaexpanded ctxluamatch \
-startluaparameterset stopluaparameterset luaparameterset definenamedlua obeylualines \
-obeyluatokens startluacode stopluacode startlua stoplua \
-startctxfunction stopctxfunction ctxfunction startctxfunctiondefinition stopctxfunctiondefinition \
-installctxfunction installprotectedctxfunction installprotectedctxscanner installctxscanner resetctxscanner \
-cldprocessfile cldloadfile cldloadviafile cldcontext cldcommand \
-carryoverpar freezeparagraphproperties defrostparagraphproperties setparagraphfreezing forgetparagraphfreezing \
-updateparagraphproperties updateparagraphpenalties updateparagraphdemerits updateparagraphshapes updateparagraphlines \
+scratchcounterthree scratchcounterfour scratchcounterfive scratchcountersix scratchfloatone \
+scratchfloattwo scratchfloatthree scratchfloatfour scratchfloatfive scratchfloatsix \
+scratchdimenone scratchdimentwo scratchdimenthree scratchdimenfour scratchdimenfive \
+scratchdimensix scratchskipone scratchskiptwo scratchskipthree scratchskipfour \
+scratchskipfive scratchskipsix scratchmuskipone scratchmuskiptwo scratchmuskipthree \
+scratchmuskipfour scratchmuskipfive scratchmuskipsix scratchtoksone scratchtokstwo \
+scratchtoksthree scratchtoksfour scratchtoksfive scratchtokssix scratchboxone \
+scratchboxtwo scratchboxthree scratchboxfour scratchboxfive scratchboxsix \
+scratchnx scratchny scratchmx scratchmy scratchunicode \
+scratchunicodeone scratchunicodetwo scratchunicodethree scratchmin scratchmax \
+scratchread scratchwrite pfsin pfcos pftan \
+pfasin pfacos pfatan pfsinh pfcosh \
+pftanh pfasinh pfacosh pfatanh pfsqrt \
+pflog pfexp pfceil pffloor pfround \
+pfabs pfrad pfdeg pfatantwo pfpow \
+pfmod pfrem scratchleftskip scratchrightskip scratchtopskip \
+scratchbottomskip doif doifnot doifelse firstinset \
+doifinset doifnotinset doifelseinset doifinsetelse doifelsenextchar \
+doifnextcharelse doifelsenextcharcs doifnextcharcselse doifelsenextoptional doifnextoptionalelse \
+doifelsenextoptionalcs doifnextoptionalcselse doifelsefastoptionalcheck doiffastoptionalcheckelse doifelsefastoptionalcheckcs \
+doiffastoptionalcheckcselse doifelsenextbgroup doifnextbgroupelse doifelsenextbgroupcs doifnextbgroupcselse \
+doifelsenextparenthesis doifnextparenthesiselse doifelseundefined doifundefinedelse doifelsedefined \
+doifdefinedelse doifundefined doifdefined doifelsevalue doifvalue \
+doifnotvalue doifnothing doifsomething doifelsenothing doifnothingelse \
+doifelsesomething doifsomethingelse doifvaluenothing doifvaluesomething doifelsevaluenothing \
+doifvaluenothingelse doifelsedimension doifdimensionelse doifelsenumber doifnumberelse \
+doifnumber doifnotnumber doifelsecommon doifcommonelse doifcommon \
+doifnotcommon doifinstring doifnotinstring doifelseinstring doifinstringelse \
+doifelseassignment doifassignmentelse docheckassignment doifelseassignmentcs doifassignmentelsecs \
+validassignment novalidassignment doiftext doifelsetext doiftextelse \
+doifnottext validtext quitcondition truecondition falsecondition \
+tracingall tracingnone loggingall tracingcatcodes showluatokens \
+aliasmacro removetoks appendtoks prependtoks appendtotoks \
+prependtotoks to endgraf endpar reseteverypar \
+finishpar empty null space quad \
+enspace emspace charspace nbsp crlf \
+obeyspaces obeylines obeytabs obeypages obeyedspace \
+obeyedline obeyedtab obeyedpage normalspace naturalspace \
+controlspace normalspaces ignoretabs ignorelines ignorepages \
+ignoreeofs setcontrolspaces executeifdefined singleexpandafter doubleexpandafter \
+tripleexpandafter dontleavehmode removelastspace removeunwantedspaces keepunwantedspaces \
+removepunctuation ignoreparskip forcestrutdepth onlynonbreakablespace wait \
+writestatus writeline define defineexpandable redefine \
+setmeasure setemeasure setgmeasure setxmeasure definemeasure \
+freezemeasure measure measured directmeasure setquantity \
+setequantity setgquantity setxquantity definequantity freezequantity \
+quantity quantitied directquantity installcorenamespace getvalue \
+getuvalue setvalue setevalue setgvalue setxvalue \
+letvalue letgvalue resetvalue undefinevalue ignorevalue \
+setuvalue setuevalue setugvalue setuxvalue globallet \
+udef ugdef uedef uxdef checked \
+unique getparameters geteparameters getgparameters getxparameters \
+forgetparameters copyparameters getdummyparameters dummyparameter directdummyparameter \
+setdummyparameter letdummyparameter setexpandeddummyparameter resetdummyparameter usedummystyleandcolor \
+usedummystyleparameter usedummycolorparameter processcommalist processcommacommand quitcommalist \
+quitprevcommalist processaction processallactions processfirstactioninset processallactionsinset \
+unexpanded expanded startexpanded stopexpanded protect \
+unprotect firstofoneargument firstoftwoarguments secondoftwoarguments firstofthreearguments \
+secondofthreearguments thirdofthreearguments firstoffourarguments secondoffourarguments thirdoffourarguments \
+fourthoffourarguments firstoffivearguments secondoffivearguments thirdoffivearguments fourthoffivearguments \
+fifthoffivearguments firstofsixarguments secondofsixarguments thirdofsixarguments fourthofsixarguments \
+fifthofsixarguments sixthofsixarguments firstofoneunexpanded firstoftwounexpanded secondoftwounexpanded \
+firstofthreeunexpanded secondofthreeunexpanded thirdofthreeunexpanded gobbleoneargument gobbletwoarguments \
+gobblethreearguments gobblefourarguments gobblefivearguments gobblesixarguments gobblesevenarguments \
+gobbleeightarguments gobbleninearguments gobbletenarguments gobbleoneoptional gobbletwooptionals \
+gobblethreeoptionals gobblefouroptionals gobblefiveoptionals dorecurse doloop \
+exitloop dostepwiserecurse recurselevel recursedepth dofastloopcs \
+fastloopindex fastloopfinal dowith doloopovermatch doloopovermatched \
+doloopoverlist newconstant setnewconstant setconstant setconstantvalue \
+newconditional settrue setfalse settruevalue setfalsevalue \
+setconditional newmacro setnewmacro newfraction newsignal \
+newboundary dosingleempty dodoubleempty dotripleempty doquadrupleempty \
+doquintupleempty dosixtupleempty doseventupleempty dosingleargument dodoubleargument \
+dotripleargument doquadrupleargument doquintupleargument dosixtupleargument doseventupleargument \
+dosinglegroupempty dodoublegroupempty dotriplegroupempty doquadruplegroupempty doquintuplegroupempty \
+permitspacesbetweengroups dontpermitspacesbetweengroups nopdfcompression maximumpdfcompression normalpdfcompression \
+onlypdfobjectcompression nopdfobjectcompression modulonumber dividenumber getfirstcharacter \
+doifelsefirstchar doiffirstcharelse mathclassvalue startnointerference stopnointerference \
+twodigits threedigits leftorright offinterlineskip oninterlineskip \
+nointerlineskip strut halfstrut quarterstrut depthstrut \
+halflinestrut noheightstrut setstrut strutbox strutht \
+strutdp strutwd struthtdp strutgap begstrut \
+endstrut lineheight leftboundary rightboundary signalcharacter \
+ascender descender capheight aligncontentleft aligncontentmiddle \
+aligncontentright shiftbox vpackbox hpackbox vpackedbox \
+hpackedbox normalreqno startimath stopimath normalstartimath \
+normalstopimath startdmath stopdmath normalstartdmath normalstopdmath \
+uncramped cramped mathstyletrigger triggermathstyle triggeredmathstyle \
+mathstylefont mathsmallstylefont mathstyleface mathsmallstyleface mathstylecommand \
+mathpalette mathstylehbox mathstylevbox mathstylevcenter mathstylevcenteredhbox \
+mathstylevcenteredvbox mathtext setmathsmalltextbox setmathtextbox pushmathstyle \
+popmathstyle triggerdisplaystyle triggertextstyle triggerscriptstyle triggerscriptscriptstyle \
+triggeruncrampedstyle triggercrampedstyle triggersmallstyle triggeruncrampedsmallstyle triggercrampedsmallstyle \
+triggerbigstyle triggeruncrampedbigstyle triggercrampedbigstyle luaexpr expelsedoif \
+expdoif expdoifnot expdoifelsecommon expdoifcommonelse expdoifelseinset \
+expdoifinsetelse glyphscaled ctxdirectlua ctxlatelua ctxsprint \
+ctxwrite ctxcommand ctxdirectcommand ctxlatecommand ctxreport \
+ctxlua luacode lateluacode directluacode registerctxluafile \
+ctxloadluafile luaversion luamajorversion luaminorversion ctxluacode \
+luaconditional luaexpanded ctxluamatch ctxluamatchfile startluaparameterset \
+stopluaparameterset luaparameterset definenamedlua obeylualines obeyluatokens \
+startluacode stopluacode startlua stoplua startctxfunction \
+stopctxfunction ctxfunction startctxfunctiondefinition stopctxfunctiondefinition installctxfunction \
+installprotectedctxfunction installprotectedctxscanner installctxscanner resetctxscanner cldprocessfile \
+cldloadfile cldloadviafile cldcontext cldcommand carryoverpar \
+freezeparagraphproperties defrostparagraphproperties setparagraphfreezing forgetparagraphfreezing updateparagraphproperties \
+updateparagraphpenalties updateparagraphdemerits updateparagraphshapes updateparagraphlines updateparagraphpasses \
lastlinewidth assumelongusagecs righttolefthbox lefttorighthbox righttoleftvbox \
lefttorightvbox righttoleftvtop lefttorightvtop rtlhbox ltrhbox \
rtlvbox ltrvbox rtlvtop ltrvtop autodirhbox \
@@ -297,21 +316,33 @@
reversetpack hcontainer vcontainer tcontainer frule \
compoundhyphenpenalty start stop unsupportedcs openout \
closeout write openin closein read \
-readline readfromterminal boxlines boxline setboxline \
-copyboxline boxlinewd boxlineht boxlinedp boxlinenw \
-boxlinenh boxlinend boxlinels boxliners boxlinelh \
-boxlinerh boxlinelp boxlinerp boxlinein boxrangewd \
-boxrangeht boxrangedp bitwiseset bitwiseand bitwiseor \
-bitwisexor bitwisenot bitwisenil ifbitwiseand bitwise \
-bitwiseshift bitwiseflip textdir linedir pardir \
-boxdir prelistbox postlistbox prelistcopy postlistcopy \
-setprelistbox setpostlistbox noligaturing nokerning noexpansion \
-noprotrusion noleftkerning noleftligaturing norightkerning norightligaturing \
-noitaliccorrection futureletnexttoken defbackslashbreak letbackslashbreak pushoverloadmode \
-popoverloadmode pushrunstate poprunstate suggestedalias showboxhere \
-discoptioncodestring flagcodestring frozenparcodestring glyphoptioncodestring groupcodestring \
-hyphenationcodestring mathcontrolcodestring mathflattencodestring normalizecodestring parcontextcodestring \
-newlocalcount newlocaldimen newlocalskip newlocalmuskip newlocaltoks \
-newlocalbox newlocalwrite newlocalread setnewlocalcount setnewlocaldimen \
-setnewlocalskip setnewlocalmuskip setnewlocaltoks setnewlocalbox ifexpression
+readline readlinedirect readfromterminal boxlines boxline \
+setboxline copyboxline boxlinewd boxlineht boxlinedp \
+boxlinenw boxlinenh boxlinend boxlinels boxliners \
+boxlinelh boxlinerh boxlinelp boxlinerp boxlinein \
+boxrangewd boxrangeht boxrangedp bitwiseset bitwiseand \
+bitwiseor bitwisexor bitwisenot bitwisenil ifbitwiseand \
+bitwise bitwiseshift bitwiseflip textdir linedir \
+pardir boxdir prelistbox postlistbox prelistcopy \
+postlistcopy setprelistbox setpostlistbox noligaturing nokerning \
+noexpansion noprotrusion noleftkerning noleftligaturing norightkerning \
+norightligaturing noitaliccorrection futureletnexttoken defbackslashbreak letbackslashbreak \
+pushoverloadmode popoverloadmode pushrunstate poprunstate suggestedalias \
+showboxhere discoptioncodestring flagcodestring frozenparcodestring glyphoptioncodestring \
+groupcodestring hyphenationcodestring mathcontrolcodestring mathflattencodestring normalizecodestring \
+parcontextcodestring newlocalcount newlocaldimen newlocalskip newlocalmuskip \
+newlocaltoks newlocalbox newlocalwrite newlocalread setnewlocalcount \
+setnewlocaldimen setnewlocalskip setnewlocalmuskip setnewlocaltoks setnewlocalbox \
+ifexpression localcontrolledrepeating expandedrepeating unexpandedrepeating lastchkinteger \
+ifchkinteger mathordinary mathoperator mathbinary mathrelation \
+mathpunctuation mathfraction mathradical mathmiddle mathaccent \
+mathfenced mathghost mathvariable mathactive mathvcenter \
+mathimaginary mathdifferential mathexponential mathdigit mathdivision \
+mathfactorial mathwrapped mathconstruct mathdimension mathunary \
+mathchemicalbond mathimplication filebasename filenameonly filedirname \
+filesuffix setmathoption resetmathoption Ustack Umathdict \
+Umathclass Ustyle Uchar Usuperscript Usubscript \
+Unosuperscript Unosubscript Uprimescript Usuperprescript Usubprescript \
+Unosuperprescript Unosubprescript ignorefile boxwidth boxheight \
+boxdepth
Modified: trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-interfaces.properties 2024-02-27 16:48:07 UTC (rev 70189)
@@ -14,93 +14,93 @@
Ccircumflex Cdotaccent Character Characters Chi \
Chook ConTeXt Context ConvertConstantAfter ConvertToConstant \
Cstroke Cup DAYLONG DAYSHORT DZcaronligature \
-DZligature Dafrican Dcaron Dd Ddownarrow \
-Delta Dhook Doteq Downarrow Dstroke \
-Dzcaronligature Dzligature ETEX Eacute Ebreve \
-Ecaron Ecedilla Ecircumflex Ecircumflexacute Ecircumflexdotbelow \
-Ecircumflexgrave Ecircumflexhook Ecircumflextilde Ediaeresis Edotaccent \
-Edotbelow Edoublegrave Egrave Ehook Einvertedbreve \
-Emacron Eogonek Epsilon Eta Eth \
-Etilde Eulerconst EveryLine EveryPar Fhook \
-Finv Gacute Game Gamma Gbreve \
-Gcaron Gcircumflex Gcommaaccent Gdotaccent GetPar \
-Ghook GotoPar Greeknumerals Gstroke Hcaron \
-Hcircumflex Hstroke IJligature INRSTEX Iacute \
-Ibreve Icaron Icircumflex Idiaeresis Idotaccent \
-Idotbelow Idoublegrave Igrave Ihook Iinvertedbreve \
-Im Imacron Iogonek Iota Istroke \
-Itilde Jcircumflex Join Kappa Kcaron \
-Kcommaaccent Khook LAMSTEX LATEX LJligature \
-LUAJITTEX LUAMETATEX LUATEX LaTeX Lacute \
-LamSTeX Lambda Lbar Lcaron Lcommaaccent \
-Ldotmiddle Ldsh Leftarrow Leftrightarrow Ljligature \
-Lleftarrow Longleftarrow Longleftrightarrow Longmapsfrom Longmapsto \
-Longrightarrow Lsh Lstroke Lua LuaMetaTeX \
-LuaTeX LuajitTeX METAFONT METAFUN METAPOST \
-MKII MKIV MKIX MKLX MKVI \
-MKXI MKXL MONTH MONTHLONG MONTHSHORT \
-MPII MPIV MPLX MPVI MPXL \
-MPanchor MPbetex MPc MPcode MPcolor \
-MPcoloronly MPcolumn MPd MPdrawing MPfontsizehskip \
-MPgetmultipars MPgetmultishape MPgetposboxes MPh MPinclusions \
-MPleftskip MPll MPlr MPls MPmenubuttons \
-MPn MPoptions MPoverlayanchor MPp MPpage \
-MPpardata MPplus MPpos MPpositiongraphic MPposset \
-MPr MPrawvar MPregion MPrest MPrightskip \
-MPrs MPstring MPtext MPtransparency MPul \
-MPur MPv MPvar MPvariable MPvv \
-MPw MPwhd MPx MPxy MPxywhd \
-MPy Mapsfrom Mapsto MetaFont MetaFun \
-MetaPost Mu NJligature Nacute Ncaron \
-Ncommaaccent Nearrow Neng Ngrave Njligature \
-NormalizeFontHeight NormalizeFontWidth NormalizeTextHeight NormalizeTextWidth Ntilde \
-Nu Numbers Nwarrow OEligature Oacute \
-Obreve Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow \
-Ocircumflexgrave Ocircumflexhook Ocircumflextilde Odiaeresis Odiaeresismacron \
-Odotaccent Odotaccentmacron Odotbelow Odoublegrave Ograve \
-Ohook Ohorn Ohornacute Ohorndotbelow Ohorngrave \
-Ohornhook Ohorntilde Ohungarumlaut Oinvertedbreve Omacron \
-Omega Omicron Oogonek Oogonekmacron Ostroke \
-Ostrokeacute Otilde Otildemacron P PDFETEX \
-PDFTEX PDFcolor PICTEX PPCHTEX PPCHTeX \
-PRAGMA Phi Phook Pi PiCTeX \
-Plankconst PointsToBigPoints PointsToReal PointsToWholeBigPoints PropertyLine \
-Psi PtToCm Racute Rcaron Rcommaaccent \
-Rdoublegrave Rdsh Re ReadFile Relbar \
-Rho Rightarrow Rinvertedbreve Romannumerals Rrightarrow \
-Rsh S Sacute ScaledPointsToBigPoints ScaledPointsToWholeBigPoints \
-Scaron Scedilla Schwa Scircumflex Scommaaccent \
-Searrow Sigma Smallcapped Subset Supset \
-Swarrow TABLE TEX TaBlE Tau \
-Tcaron Tcedilla Tcommaaccent TeX TheNormalizedFontSize \
-Theta Thook Thorn TransparencyHack Tstroke \
-Uacute Ubreve Ucaron Ucircumflex Udiaeresis \
-Udiaeresisacute Udiaeresiscaron Udiaeresisgrave Udiaeresismacron Udotbelow \
-Udoublegrave Ugrave Uhook Uhorn Uhornacute \
-Uhorndotbelow Uhorngrave Uhornhook Uhorntilde Uhungarumlaut \
-Uinvertedbreve Umacron Uogonek Uparrow Updownarrow \
-Upsilon Uring Utilde Uuparrow VDash \
-Vdash VerboseNumber Vert Vhook Vvdash \
-WEEKDAY WORD WORDS Wcircumflex WidthSpanningText \
-Word Words XETEX XeTeX Xi \
-Yacute Ycircumflex Ydiaeresis Ydotbelow Ygrave \
-Yhook Ymacron Ytilde Zacute Zcaron \
-Zdotaccent Zeta Zhook Zstroke aacute \
-abbreviation abjadnaivenumerals abjadnodotnumerals abjadnumerals about \
-abreve abreveacute abrevedotbelow abrevegrave abrevehook \
-abrevetilde acaron acircumflex acircumflexacute acircumflexdotbelow \
-acircumflexgrave acircumflexhook acircumflextilde activatespacehandler actualday \
-actualmonth actualyear actuarial acute acwopencirclearrow \
-adaptcollector adaptfontfeature adaptlayout adaptpapersize addfeature \
-addtoJSpreamble addtocommalist addvalue adiaeresis adiaeresismacron \
-adotaccent adotaccentmacron adotbelow adoublegrave aeacute \
-aeligature aemacron afghanicurrency aftersplitstring aftertestandsplitstring \
-agrave ahook ainvertedbreve aleph alignbottom \
-aligned alignedbox alignedline alignhere alignmentcharacter \
-allinputpaths alpha alphabeticnumerals alwayscitation alwayscite \
-amacron amalg ampersand anchor angle \
-aogonek appendetoks appendgvalue appendtocommalist appendtoks \
-appendtoksonce appendvalue apply applyalternativestyle applyfunction \
+DZligature Dafrican Dcaron Ddownarrow Delta \
+Dhook Doteq Downarrow Dstroke Dzcaronligature \
+Dzligature ETEX Eacute Ebreve Ecaron \
+Ecedilla Ecircumflex Ecircumflexacute Ecircumflexdotbelow Ecircumflexgrave \
+Ecircumflexhook Ecircumflextilde Ediaeresis Edotaccent Edotbelow \
+Edoublegrave Egrave Ehook Einvertedbreve Emacron \
+Eogonek Epsilon Eta Eth Etilde \
+Eulerconst EveryLine EveryPar Fhook Finv \
+Gacute Game Gamma Gbreve Gcaron \
+Gcircumflex Gcommaaccent Gdotaccent GetPar Ghook \
+GotoPar Greeknumerals Gstroke Hcaron Hcircumflex \
+Hstroke IJligature INRSTEX Iacute Ibreve \
+Icaron Icircumflex Idiaeresis Idotaccent Idotbelow \
+Idoublegrave Igrave Ihook Iinvertedbreve Im \
+Imacron Iogonek Iota Istroke Itilde \
+Jcircumflex Join Kappa Kcaron Kcommaaccent \
+Khook LAMSTEX LATEX LJligature LUAJITTEX \
+LUAMETATEX LUATEX LaTeX Lacute LamSTeX \
+Lambda Lbar Lcaron Lcommaaccent Ldotmiddle \
+Ldsh Leftarrow Leftrightarrow Ljligature Lleftarrow \
+Longleftarrow Longleftrightarrow Longmapsfrom Longmapsto Longrightarrow \
+Lsh Lstroke Lua LuaMetaTeX LuaTeX \
+LuajitTeX METAFONT METAFUN METAPOST MKII \
+MKIV MKIX MKLX MKVI MKXI \
+MKXL MONTH MONTHLONG MONTHSHORT MPII \
+MPIV MPLX MPVI MPXL MPanchor \
+MPbetex MPc MPcode MPcolor MPcoloronly \
+MPcolumn MPd MPdrawing MPfontsizehskip MPgetmultipars \
+MPgetmultishape MPgetposboxes MPh MPinclusions MPleftskip \
+MPll MPlr MPls MPmenubuttons MPn \
+MPoptions MPoverlayanchor MPp MPpage MPpardata \
+MPplus MPpos MPpositiongraphic MPposset MPr \
+MPrawvar MPregion MPrest MPrightskip MPrs \
+MPstring MPtext MPtransparency MPul MPur \
+MPv MPvar MPvariable MPvv MPw \
+MPwhd MPx MPxy MPxywhd MPy \
+Mapsfrom Mapsto MetaFont MetaFun MetaPost \
+Mu NJligature Nacute Ncaron Ncommaaccent \
+Nearrow Neng Ngrave Njligature NormalizeFontHeight \
+NormalizeFontWidth NormalizeTextHeight NormalizeTextWidth Ntilde Nu \
+Numbers Nwarrow OEligature Oacute Obreve \
+Ocaron Ocircumflex Ocircumflexacute Ocircumflexdotbelow Ocircumflexgrave \
+Ocircumflexhook Ocircumflextilde Odiaeresis Odiaeresismacron Odotaccent \
+Odotaccentmacron Odotbelow Odoublegrave Ograve Ohook \
+Ohorn Ohornacute Ohorndotbelow Ohorngrave Ohornhook \
+Ohorntilde Ohungarumlaut Oinvertedbreve Omacron Omega \
+Omicron Oogonek Oogonekmacron Ostroke Ostrokeacute \
+Otilde Otildemacron P PDFETEX PDFTEX \
+PDFcolor PICTEX PPCHTEX PPCHTeX PRAGMA \
+Phi Phook Pi PiCTeX Plankconst \
+PointsToBigPoints PointsToReal PointsToWholeBigPoints Psi PtToCm \
+Racute Rcaron Rcommaaccent Rdoublegrave Rdsh \
+Re ReadFile Relbar Rho Rightarrow \
+Rinvertedbreve Romannumerals Rrightarrow Rsh S \
+Sacute ScaledPointsToBigPoints ScaledPointsToWholeBigPoints Scaron Scedilla \
+Schwa Scircumflex Scommaaccent Searrow Sigma \
+Smallcapped Subset Supset Swarrow TABLE \
+TEX TaBlE Tau Tcaron Tcedilla \
+Tcommaaccent TeX TheNormalizedFontSize Theta Thook \
+Thorn TransparencyHack Tstroke Uacute Ubreve \
+Ucaron Ucircumflex Udiaeresis Udiaeresisacute Udiaeresiscaron \
+Udiaeresisgrave Udiaeresismacron Udotbelow Udoublegrave Ugrave \
+Uhook Uhorn Uhornacute Uhorndotbelow Uhorngrave \
+Uhornhook Uhorntilde Uhungarumlaut Uinvertedbreve Umacron \
+Uogonek Uparrow Updownarrow Upsilon Uring \
+Utilde Uuparrow VDash Vdash VerboseNumber \
+Vert Vhook Vvdash WEEKDAY WORD \
+WORDS Wcircumflex WidthSpanningText Word Words \
+XETEX XeTeX Xi Yacute Ycircumflex \
+Ydiaeresis Ydotbelow Ygrave Yhook Ymacron \
+Ytilde Zacute Zcaron Zdotaccent Zeta \
+Zhook Zstroke aacute abbreviation abjadnaivenumerals \
+abjadnodotnumerals abjadnumerals about abreve abreveacute \
+abrevedotbelow abrevegrave abrevehook abrevetilde acaron \
+acircumflex acircumflexacute acircumflexdotbelow acircumflexgrave acircumflexhook \
+acircumflextilde activatespacehandler actualday actualmonth actualyear \
+actuarial acute acwopencirclearrow adaptcollector adaptfontfeature \
+adaptlayout adaptpapersize addfeature addtoJSpreamble addtocommalist \
+addvalue adiaeresis adiaeresismacron adjointsymbol adotaccent \
+adotaccentmacron adotbelow adoublegrave aeacute aeligature \
+aemacron afghanicurrency aftersplitstring aftertestandsplitstring agrave \
+ahook ainvertedbreve aleph alignbottom aligned \
+alignedbox alignedline alignhere alignmentcharacter allinputpaths \
+alpha alphabeticnumerals alwayscitation alwayscite amacron \
+amalg ampersand anchor angle aogonek \
+appendetoks appendgvalue appendtocommalist appendtoks appendtoksonce \
+appendvalue apply applyalternativestyle applyfunction applyfunctionof \
applyprocessor applytocharacters applytofirstcharacter applytosplitstringchar applytosplitstringcharspaced \
applytosplitstringline applytosplitstringlinespaced applytosplitstringword applytosplitstringwordspaced applytowords \
approx approxEq approxeq approxnEq arabicakbar \
@@ -128,136 +128,136 @@
autodirvtop autoinsertnextspace autointegral automathematics autoorientation \
autopagestaterealpage autopagestaterealpageorder autorule autosetups availablehsize \
averagecharwidth backepsilon background backgroundimage backgroundimagefill \
-backgroundline backprime backsim backslash bar \
-barleftarrow barleftarrowrightarrowbar barovernorthwestarrow barwedge basegrid \
-baselinebottom baselineleftbox baselinemiddlebox baselinerightbox bbordermatrix \
-bbox because beforesplitstring beforetestandsplitstring beta \
-beth between bhook big bigbodyfont \
-bigcap bigcirc bigcircle bigcup bigdiamond \
-bigg bigger biggl biggm biggr \
-bigl bigm bigodot bigoplus bigotimes \
-bigr bigskip bigsqcap bigsqcup bigsquare \
-bigstar bigtimes bigtriangledown bigtriangleup bigudot \
-biguplus bigvee bigwedge binom bitmapimage \
-blacklozenge blackrule blackrules blacksquare blacktriangle \
-blacktriangledown blacktriangleleft blacktriangleright blank blap \
-bleed bleedheight bleedwidth blockligatures blockquote \
-blocksynctexfile blockuservariable bodyfontenvironmentlist bodyfontsize bold \
-boldface bolditalic boldslanted bookmark booleanmodevalue \
-bordermatrix bot bottombox bottomleftbox bottomrightbox \
-bowtie boxcursor boxdot boxmarker boxminus \
-boxofsize boxplus boxreference boxtimes bpos \
-breakablethinspace breakhere breve bstroke btxabbreviatedjournal \
-btxaddjournal btxalwayscitation btxauthorfield btxdetail btxdirect \
-btxdoif btxdoifcombiinlistelse btxdoifelse btxdoifelsecombiinlist btxdoifelsesameasprevious \
-btxdoifelsesameaspreviouschecked btxdoifelseuservariable btxdoifnot btxdoifsameaspreviouscheckedelse btxdoifsameaspreviouselse \
-btxdoifuservariableelse btxexpandedjournal btxfield btxfieldname btxfieldtype \
-btxfirstofrange btxflush btxflushauthor btxflushauthorinverted btxflushauthorinvertedshort \
-btxflushauthorname btxflushauthornormal btxflushauthornormalshort btxflushsuffix btxfoundname \
-btxfoundtype btxhiddencitation btxhybridcite btxlabellanguage btxlabeltext \
-btxlistcitation btxloadjournalist btxoneorrange btxremapauthor btxsavejournalist \
-btxsetup btxsingularorplural btxsingularplural btxtextcitation buildmathaccent \
-buildtextaccent buildtextbottomcomma buildtextbottomdot buildtextcedilla buildtextgrave \
-buildtextmacron buildtextognek bullet button cacute \
-calligraphic camel cap capital carriagereturn \
-catcodetablename cbox ccaron ccedilla ccircumflex \
-ccurl cdot cdotaccent cdotp cdots \
-centeraligned centerbox centerdot centeredbox centeredlastline \
-centerednextbox centerline cfrac chapter character \
-characters chardescription charwidthlanguage check checkcharacteralign \
-checkedblank checkedchar checkedfiller checkedstrippedcsname checkinjector \
-checkmark checknextindentation checknextinjector checkpage checkparameters \
-checkpreviousinjector checksoundtrack checktwopassdata checkvariables chem \
-chemical chemicalbottext chemicalmidtext chemicalsymbol chemicaltext \
-chemicaltoptext chi chineseallnumerals chinesecapnumerals chinesenumerals \
-chook circ circeq circlearrowleft circlearrowright \
-circledR circledS circledast circledcirc circleddash \
-circledequals circleonrightarrow citation cite clap \
-classfont cldcommand cldcontext cldloadfile cldprocessfile \
-cleftarrow clip clippedoverlayimage clonefield clubsuit \
-collect collectedtext collectexpanded colon coloncolonequals \
-colonequals color colorbar colorcomponents colored \
-coloronly colorvalue column columnbreak columnsetspanwidth \
-combinepages commalistelement commalistsentence commalistsize comment \
-comparecolorgroup comparedimension comparedimensioneps comparepalet complement \
-completebtxrendering completecontent completeindex completelist completelistofabbreviations \
-completelistofchemicals completelistoffigures completelistofgraphics completelistofintermezzi completelistoflogos \
-completelistofpublications completelistofsorts completelistofsynonyms completelistoftables completepagenumber \
-completeregister complexes complexorsimple complexorsimpleempty component \
-composedcollector composedlayer compounddiscretionary compresult cong \
-constantdimen constantdimenargument constantemptyargument constantnumber constantnumberargument \
-contentreference continuednumber continueifinputfile convertargument convertcommand \
-convertedcounter converteddimen convertedsubcounter convertmonth convertnumber \
-convertvalue convertvboxtohbox coprod copyboxfromcache copybtxlabeltext \
+backgroundline backsim backslash bar barleftarrow \
+barleftarrowrightarrowbar barovernorthwestarrow barwedge basegrid baselinebottom \
+baselineleftbox baselinemiddlebox baselinerightbox bbordermatrix bbox \
+because beforesplitstring beforetestandsplitstring beta beth \
+between bhook big bigbodyfont bigcap \
+bigcirc bigcircle bigcup bigdiamond bigg \
+bigger biggl biggm biggr bigl \
+bigm bigodot bigoplus bigotimes bigr \
+bigskip bigsqcap bigsqcup bigsquare bigstar \
+bigtimes bigtriangledown bigtriangleup bigudot biguplus \
+bigvee bigwedge binom bitmapimage blacklozenge \
+blackrule blackrules blacksquare blacktriangle blacktriangledown \
+blacktriangleleft blacktriangleright blank blap bleed \
+bleedheight bleedwidth blockligatures blockquote blocksynctexfile \
+blockuservariable bodyfontenvironmentlist bodyfontsize bold boldface \
+bolditalic boldslanted bookmark booleanmodevalue bordermatrix \
+bot bottombox bottomleftbox bottomrightbox bowtie \
+boxcursor boxdot boxmarker boxminus boxofsize \
+boxplus boxreference boxtimes bpos breakablethinspace \
+breakhere breve bstroke btxabbreviatedjournal btxaddjournal \
+btxalwayscitation btxauthorfield btxdetail btxdirect btxdoif \
+btxdoifcombiinlistelse btxdoifelse btxdoifelsecombiinlist btxdoifelsesameasprevious btxdoifelsesameaspreviouschecked \
+btxdoifelseuservariable btxdoifnot btxdoifsameaspreviouscheckedelse btxdoifsameaspreviouselse btxdoifuservariableelse \
+btxexpandedjournal btxfield btxfieldname btxfieldtype btxfirstofrange \
+btxflush btxflushauthor btxflushauthorinverted btxflushauthorinvertedshort btxflushauthorname \
+btxflushauthornormal btxflushauthornormalshort btxflushsuffix btxfoundname btxfoundtype \
+btxhiddencitation btxhybridcite btxlabellanguage btxlabeltext btxlistcitation \
+btxloadjournalist btxoneorrange btxremapauthor btxsavejournalist btxsetup \
+btxsingularorplural btxsingularplural btxtextcitation buildmathaccent buildtextaccent \
+buildtextbottomcomma buildtextbottomdot buildtextcedilla buildtextgrave buildtextmacron \
+buildtextognek bullet button cacute calligraphic \
+camel cap capital carriagereturn catcodetablename \
+cbox ccaron ccedilla ccircumflex ccurl \
+cdot cdotaccent cdotp cdots centeraligned \
+centerbox centerdot centeredbox centeredlastline centerednextbox \
+centerline cfrac chapter character characters \
+chardescription charwidthlanguage check checkcharacteralign checkedblank \
+checkedchar checkedfiller checkedstrippedcsname checkinjector checkmark \
+checknextindentation checknextinjector checkpage checkparameters checkpreviousinjector \
+checksoundtrack checktwopassdata checkvariables chem chemical \
+chemicalbottext chemicalmidtext chemicalsymbol chemicaltext chemicaltoptext \
+chi chineseallnumerals chinesecapnumerals chinesenumerals chook \
+circ circeq circlearrowleft circlearrowright circledR \
+circledS circledast circledcirc circleddash circledequals \
+circleonrightarrow citation cite clap classfont \
+cldcommand cldcontext cldloadfile cldprocessfile cleftarrow \
+clip clippedoverlayimage clonefield clubsuit collect \
+collectedtext collectexpanded colon coloncolonequals colonequals \
+color colorbar colorcomponents colored coloronly \
+colorvalue column columnbreak columnsetspanwidth combinepages \
+commalistelement commalistsentence commalistsize comment comparecolorgroup \
+comparedimension comparedimensioneps comparepalet complement completebtxrendering \
+completecontent completeindex completelist completelistofabbreviations completelistofchemicals \
+completelistoffigures completelistofgraphics completelistofintermezzi completelistoflogos completelistofpublications \
+completelistofsorts completelistofsynonyms completelistoftables completepagenumber completeregister \
+complexes complexorsimple complexorsimpleempty component composedcollector \
+composedlayer compounddiscretionary compresult cong constantdimen \
+constantdimenargument constantemptyargument constantnumber constantnumberargument contentreference \
+continuednumber continueifinputfile convertargument convertcommand convertedcounter \
+converteddimen convertedsubcounter convertmonth convertnumber convertvalue \
+convertvboxtohbox convolve coprod copyboxfromcache copybtxlabeltext \
copyfield copyheadtext copylabeltext copymathlabeltext copyoperatortext \
copypages copyparameters copyposition copyprefixtext copyright \
copysetups copysuffixtext copytaglabeltext copyunittext correctwhitespace \
countersubs counttoken counttokens cramped crampedclap \
crampedllap crampedrlap crightarrow crightoverleftarrow crlf \
-crlfplaceholder cstroke ctop ctxcommand ctxdirectcommand \
-ctxdirectlua ctxfunction ctxlatecommand ctxlatelua ctxloadluafile \
-ctxlua ctxluabuffer ctxluacode ctxreport ctxsprint \
-cup curlyeqprec curlyeqsucc curlyvee curlywedge \
-currentassignmentlistkey currentassignmentlistvalue currentbtxuservariable currentcommalistitem currentcomponent \
-currentdate currentenvironment currentfeaturetest currentheadnumber currentinterface \
-currentlanguage currentlistentrydestinationattribute currentlistentrylimitedtext currentlistentrynumber currentlistentrypagenumber \
-currentlistentryreferenceattribute currentlistentrytitle currentlistentrytitlerendered currentlistsymbol currentmainlanguage \
-currentmessagetext currentmoduleparameter currentoutputstream currentproduct currentproject \
-currentregime currentregisterpageuserdata currentresponses currenttime currentvalue \
-currentxtablecolumn currentxtablerow curvearrowleft curvearrowright cwopencirclearrow \
-cyrillicA cyrillicAE cyrillicAbreve cyrillicAdiaeresis cyrillicB \
-cyrillicBIGYUS cyrillicBIGYUSiotified cyrillicC cyrillicCH cyrillicCHEDC \
-cyrillicCHEDCabkhasian cyrillicCHEabkhasian cyrillicCHEdiaeresis cyrillicCHEkhakassian cyrillicCHEvertstroke \
-cyrillicD cyrillicDASIAPNEUMATA cyrillicDJE cyrillicDZE cyrillicDZEabkhasian \
-cyrillicDZHE cyrillicE cyrillicELtail cyrillicEMtail cyrillicENDC \
-cyrillicENGHE cyrillicENhook cyrillicENtail cyrillicEREV cyrillicERY \
-cyrillicERtick cyrillicEbreve cyrillicEdiaeresis cyrillicEgrave cyrillicEiotified \
-cyrillicF cyrillicFITA cyrillicG cyrillicGHEmidhook cyrillicGHEstroke \
-cyrillicGHEupturn cyrillicGJE cyrillicH cyrillicHA cyrillicHADC \
-cyrillicHRDSN cyrillicI cyrillicIE cyrillicII cyrillicISHRT \
-cyrillicISHRTtail cyrillicIZHITSA cyrillicIZHITSAdoublegrave cyrillicIdiaeresis cyrillicIgrave \
-cyrillicImacron cyrillicJE cyrillicK cyrillicKADC cyrillicKAbashkir \
-cyrillicKAhook cyrillicKAstroke cyrillicKAvertstroke cyrillicKJE cyrillicKOPPA \
-cyrillicKSI cyrillicL cyrillicLITTLEYUS cyrillicLITTLEYUSiotified cyrillicLJE \
-cyrillicM cyrillicN cyrillicNJE cyrillicO cyrillicOMEGA \
-cyrillicOMEGAround cyrillicOMEGAtitlo cyrillicOT cyrillicObarred cyrillicObarreddiaeresis \
-cyrillicOdiaeresis cyrillicP cyrillicPALATALIZATION cyrillicPALOCHKA cyrillicPEmidhook \
-cyrillicPSI cyrillicPSILIPNEUMATA cyrillicR cyrillicS cyrillicSCHWA \
-cyrillicSCHWAdiaeresis cyrillicSDSC cyrillicSEMISOFT cyrillicSFTSN cyrillicSH \
-cyrillicSHCH cyrillicSHHA cyrillicT cyrillicTEDC cyrillicTETSE \
-cyrillicTITLO cyrillicTSHE cyrillicU cyrillicUK cyrillicUSHRT \
-cyrillicUdiaeresis cyrillicUdoubleacute cyrillicUmacron cyrillicV cyrillicYA \
-cyrillicYAT cyrillicYERUdiaeresis cyrillicYI cyrillicYO cyrillicYU \
-cyrillicYstr cyrillicYstrstroke cyrillicZ cyrillicZDSC cyrillicZEdiaeresis \
-cyrillicZH cyrillicZHEbreve cyrillicZHEdescender cyrillicZHEdiaeresis cyrillica \
-cyrillicabreve cyrillicadiaeresis cyrillicae cyrillicb cyrillicbigyus \
-cyrillicbigyusiotified cyrillicc cyrillicch cyrilliccheabkhasian cyrillicchedc \
-cyrillicchedcabkhasian cyrillicchediaeresis cyrillicchekhakassian cyrillicchevertstroke cyrillicd \
-cyrillicdje cyrillicdze cyrillicdzeabkhasian cyrillicdzhe cyrillice \
-cyrillicebreve cyrillicediaeresis cyrillicegrave cyrilliceiotified cyrilliceltail \
-cyrillicemtail cyrillicendc cyrillicenghe cyrillicenhook cyrillicentail \
-cyrillicerev cyrillicertick cyrillicery cyrillicf cyrillicfita \
-cyrillicg cyrillicghemidhook cyrillicghestroke cyrillicgheupturn cyrillicgje \
-cyrillich cyrillicha cyrillichadc cyrillichrdsn cyrillici \
-cyrillicidiaeresis cyrillicie cyrillicigrave cyrillicii cyrillicimacron \
-cyrillicishrt cyrillicishrttail cyrillicizhitsa cyrillicizhitsadoublegrave cyrillicje \
-cyrillick cyrillickabashkir cyrillickadc cyrillickahook cyrillickastroke \
-cyrillickavertstroke cyrillickje cyrillickoppa cyrillicksi cyrillicl \
-cyrilliclittleyus cyrilliclittleyusiotified cyrilliclje cyrillicm cyrillicn \
-cyrillicnje cyrillico cyrillicobarred cyrillicobarreddiaeresis cyrillicodiaeresis \
-cyrillicomega cyrillicomegaround cyrillicomegatitlo cyrillicot cyrillicp \
-cyrillicpemidhook cyrillicpsi cyrillicr cyrillics cyrillicschwa \
-cyrillicschwadiaeresis cyrillicsdsc cyrillicsemisoft cyrillicsftsn cyrillicsh \
-cyrillicshch cyrillicshha cyrillict cyrillictedc cyrillictetse \
-cyrillictshe cyrillicu cyrillicudiaeresis cyrillicudoubleacute cyrillicuk \
-cyrillicumacron cyrillicushrt cyrillicv cyrillicya cyrillicyat \
-cyrillicyerudiaeresis cyrillicyi cyrillicyo cyrillicystr cyrillicystrstroke \
-cyrillicyu cyrillicz cyrilliczdsc cyrilliczediaeresis cyrilliczh \
-cyrilliczhebreve cyrilliczhedescender cyrilliczhediaeresis d dag \
-dagger daleth dasharrow dashedleftarrow dashedrightarrow \
-dashv datasetvariable date daylong dayoftheweek \
-dayshort dayspermonth dbinom dcaron dcurl \
-dd ddag ddagger dddot ddot \
+crlfplaceholder crossproduct cstroke ctop ctxcommand \
+ctxdirectcommand ctxdirectlua ctxfunction ctxlatecommand ctxlatelua \
+ctxloadluafile ctxlua ctxluabuffer ctxluacode ctxreport \
+ctxsprint cup curlyeqprec curlyeqsucc curlyvee \
+curlywedge currentassignmentlistkey currentassignmentlistvalue currentbtxuservariable currentcommalistitem \
+currentcomponent currentdate currentenvironment currentfeaturetest currentheadnumber \
+currentinterface currentlanguage currentlistentrydestinationattribute currentlistentrylimitedtext currentlistentrynumber \
+currentlistentrypagenumber currentlistentryreferenceattribute currentlistentrytitle currentlistentrytitlerendered currentlistsymbol \
+currentmainlanguage currentmessagetext currentmoduleparameter currentoutputstream currentproduct \
+currentproject currentregime currentregisterpageuserdata currentresponses currenttime \
+currentvalue currentxtablecolumn currentxtablerow curvearrowleft curvearrowright \
+cwopencirclearrow cyrillicA cyrillicAE cyrillicAbreve cyrillicAdiaeresis \
+cyrillicB cyrillicBIGYUS cyrillicBIGYUSiotified cyrillicC cyrillicCH \
+cyrillicCHEDC cyrillicCHEDCabkhasian cyrillicCHEabkhasian cyrillicCHEdiaeresis cyrillicCHEkhakassian \
+cyrillicCHEvertstroke cyrillicD cyrillicDASIAPNEUMATA cyrillicDJE cyrillicDZE \
+cyrillicDZEabkhasian cyrillicDZHE cyrillicE cyrillicELtail cyrillicEMtail \
+cyrillicENDC cyrillicENGHE cyrillicENhook cyrillicENtail cyrillicEREV \
+cyrillicERY cyrillicERtick cyrillicEbreve cyrillicEdiaeresis cyrillicEgrave \
+cyrillicEiotified cyrillicF cyrillicFITA cyrillicG cyrillicGHEmidhook \
+cyrillicGHEstroke cyrillicGHEupturn cyrillicGJE cyrillicH cyrillicHA \
+cyrillicHADC cyrillicHRDSN cyrillicI cyrillicIE cyrillicII \
+cyrillicISHRT cyrillicISHRTtail cyrillicIZHITSA cyrillicIZHITSAdoublegrave cyrillicIdiaeresis \
+cyrillicIgrave cyrillicImacron cyrillicJE cyrillicK cyrillicKADC \
+cyrillicKAbashkir cyrillicKAhook cyrillicKAstroke cyrillicKAvertstroke cyrillicKJE \
+cyrillicKOPPA cyrillicKSI cyrillicL cyrillicLITTLEYUS cyrillicLITTLEYUSiotified \
+cyrillicLJE cyrillicM cyrillicN cyrillicNJE cyrillicO \
+cyrillicOMEGA cyrillicOMEGAround cyrillicOMEGAtitlo cyrillicOT cyrillicObarred \
+cyrillicObarreddiaeresis cyrillicOdiaeresis cyrillicP cyrillicPALATALIZATION cyrillicPALOCHKA \
+cyrillicPEmidhook cyrillicPSI cyrillicPSILIPNEUMATA cyrillicR cyrillicS \
+cyrillicSCHWA cyrillicSCHWAdiaeresis cyrillicSDSC cyrillicSEMISOFT cyrillicSFTSN \
+cyrillicSH cyrillicSHCH cyrillicSHHA cyrillicT cyrillicTEDC \
+cyrillicTETSE cyrillicTITLO cyrillicTSHE cyrillicU cyrillicUK \
+cyrillicUSHRT cyrillicUdiaeresis cyrillicUdoubleacute cyrillicUmacron cyrillicV \
+cyrillicYA cyrillicYAT cyrillicYERUdiaeresis cyrillicYI cyrillicYO \
+cyrillicYU cyrillicYstr cyrillicYstrstroke cyrillicZ cyrillicZDSC \
+cyrillicZEdiaeresis cyrillicZH cyrillicZHEbreve cyrillicZHEdescender cyrillicZHEdiaeresis \
+cyrillica cyrillicabreve cyrillicadiaeresis cyrillicae cyrillicb \
+cyrillicbigyus cyrillicbigyusiotified cyrillicc cyrillicch cyrilliccheabkhasian \
+cyrillicchedc cyrillicchedcabkhasian cyrillicchediaeresis cyrillicchekhakassian cyrillicchevertstroke \
+cyrillicd cyrillicdje cyrillicdze cyrillicdzeabkhasian cyrillicdzhe \
+cyrillice cyrillicebreve cyrillicediaeresis cyrillicegrave cyrilliceiotified \
+cyrilliceltail cyrillicemtail cyrillicendc cyrillicenghe cyrillicenhook \
+cyrillicentail cyrillicerev cyrillicertick cyrillicery cyrillicf \
+cyrillicfita cyrillicg cyrillicghemidhook cyrillicghestroke cyrillicgheupturn \
+cyrillicgje cyrillich cyrillicha cyrillichadc cyrillichrdsn \
+cyrillici cyrillicidiaeresis cyrillicie cyrillicigrave cyrillicii \
+cyrillicimacron cyrillicishrt cyrillicishrttail cyrillicizhitsa cyrillicizhitsadoublegrave \
+cyrillicje cyrillick cyrillickabashkir cyrillickadc cyrillickahook \
+cyrillickastroke cyrillickavertstroke cyrillickje cyrillickoppa cyrillicksi \
+cyrillicl cyrilliclittleyus cyrilliclittleyusiotified cyrilliclje cyrillicm \
+cyrillicn cyrillicnje cyrillico cyrillicobarred cyrillicobarreddiaeresis \
+cyrillicodiaeresis cyrillicomega cyrillicomegaround cyrillicomegatitlo cyrillicot \
+cyrillicp cyrillicpemidhook cyrillicpsi cyrillicr cyrillics \
+cyrillicschwa cyrillicschwadiaeresis cyrillicsdsc cyrillicsemisoft cyrillicsftsn \
+cyrillicsh cyrillicshch cyrillicshha cyrillict cyrillictedc \
+cyrillictetse cyrillictshe cyrillicu cyrillicudiaeresis cyrillicudoubleacute \
+cyrillicuk cyrillicumacron cyrillicushrt cyrillicv cyrillicya \
+cyrillicyat cyrillicyerudiaeresis cyrillicyi cyrillicyo cyrillicystr \
+cyrillicystrstroke cyrillicyu cyrillicz cyrilliczdsc cyrilliczediaeresis \
+cyrilliczh cyrilliczhebreve cyrilliczhedescender cyrilliczhediaeresis d \
+dag dagger daleth dasharrow dashedleftarrow \
+dashedrightarrow dashv datasetvariable date daylong \
+dayoftheweek dayshort dayspermonth dbinom dcaron \
+dcurl ddag ddagger dddot ddot \
ddots decrement decrementcounter decrementedcounter decrementpagenumber \
decrementsubpagenumber decrementvalue defaultinterface defaultobjectpage defaultobjectreference \
defcatcodecommand defconvertedargument defconvertedcommand defconvertedvalue define \
@@ -313,964 +313,967 @@
definetyping defineunit defineuserdata defineuserdataalternative defineviewerlayer \
definevspace definevspacing definevspacingamount definextable defrostparagraphproperties \
delimited delimitedtext delta depthofstring depthonlybox \
-depthspanningtext depthstrut determineheadnumber determinelistcharacteristics determinenoflines \
-determineregistercharacteristics devanagarinumerals dfrac dhook diameter \
-diamond diamondsuit differentialD differentiald digamma \
-digits dimensiontocount directboxfromcache directcolor directcolored \
-directconvertedcounter directcopyboxfromcache directdummyparameter directgetboxllx directgetboxlly \
-directhighlight directlocalframed directluacode directparwrapper directselect \
-directsetbar directsetup directsymbol directvspacing dis \
-disabledirectives disableexperiments disablemode disableoutputstream disableparpositions \
-disableregime disabletrackers displaymath displaymathematics displaymessage \
-disposeluatable distributedhsize div dividedsize divideontimes \
-divides doadaptleftskip doadaptrightskip doaddfeature doassign \
-doassignempty doboundtext docheckassignment docheckedpair documentvariable \
-dodoubleargument dodoubleargumentwithset dodoubleempty dodoubleemptywithset dodoublegroupempty \
-doeassign doexpandedrecurse dofastloopcs dogetattribute dogetattributeid \
-dogetcommacommandelement dogobbledoubleempty dogobblesingleempty dohyphens doif \
-doifMPgraphicelse doifallcommon doifallcommonelse doifalldefinedelse doifallmodes \
-doifallmodeselse doifassignmentelse doifassignmentelsecs doifblackelse doifbothsides \
-doifbothsidesoverruled doifboxelse doifbufferelse doifcheckedpagestate doifcolor \
-doifcolorelse doifcommandhandler doifcommandhandlerelse doifcommon doifcommonelse \
-doifcontent doifconversiondefinedelse doifconversionnumberelse doifcounter doifcounterelse \
-doifcurrentfonthasfeatureelse doifdefined doifdefinedcounter doifdefinedcounterelse doifdefinedelse \
-doifdimensionelse doifdimenstringelse doifdocumentargument doifdocumentargumentelse doifdocumentfilename \
-doifdocumentfilenameelse doifdocumentvariable doifdocumentvariableelse doifdrawingblackelse doifelse \
-doifelseMPgraphic doifelseallcommon doifelsealldefined doifelseallmodes doifelseassignment \
-doifelseassignmentcs doifelseblack doifelsebox doifelseboxincache doifelsebuffer \
-doifelsecolor doifelsecommandhandler doifelsecommon doifelseconversiondefined doifelseconversionnumber \
-doifelsecounter doifelsecurrentfonthasfeature doifelsecurrentsortingused doifelsecurrentsynonymshown doifelsecurrentsynonymused \
-doifelsedefined doifelsedefinedcounter doifelsedimension doifelsedimenstring doifelsedocumentargument \
-doifelsedocumentfilename doifelsedocumentvariable doifelsedrawingblack doifelseempty doifelseemptyvalue \
-doifelseemptyvariable doifelseenv doifelsefastoptionalcheck doifelsefastoptionalcheckcs doifelsefieldbody \
-doifelsefieldcategory doifelsefigure doifelsefile doifelsefiledefined doifelsefileexists \
-doifelsefirstchar doifelseflagged doifelsefontchar doifelsefontfeature doifelsefontpresent \
-doifelsefontsynonym doifelseframed doifelsehasspace doifelsehelp doifelseincsname \
-doifelseindented doifelseinelement doifelseinputfile doifelseinsertion doifelseinset \
-doifelseinstring doifelseinsymbolset doifelseintoks doifelseintwopassdata doifelseitalic \
-doifelselanguage doifelselayerdata doifelselayoutdefined doifelselayoutsomeline doifelselayouttextline \
-doifelseleapyear doifelselist doifelselocation doifelselocfile doifelsemainfloatbody \
-doifelsemarkedcontent doifelsemarkedpage doifelsemarking doifelsemeaning doifelsemessage \
-doifelsemode doifelsenextbgroup doifelsenextbgroupcs doifelsenextchar doifelsenextoptional \
-doifelsenextoptionalcs doifelsenextparenthesis doifelsenonzeropositive doifelsenoteonsamepage doifelsenothing \
-doifelsenumber doifelseobjectfound doifelseobjectreferencefound doifelseoddpage doifelseoddpagefloat \
-doifelseoldercontext doifelseolderversion doifelseorientation doifelseoverlapping doifelseoverlay \
-doifelseparallel doifelseparentfile doifelseparwrapper doifelsepath doifelsepathexists \
-doifelsepatterns doifelseposition doifelsepositionaction doifelsepositiononpage doifelsepositionsonsamepage \
-doifelsepositionsonthispage doifelsepositionsused doifelsereferencefound doifelserightpage doifelserightpagefloat \
-doifelserighttoleftinbox doifelsesamelinereference doifelsesamestring doifelsesetups doifelsesomebackground \
-doifelsesomespace doifelsesomething doifelsesometoks doifelsestringinstring doifelsestructurelisthasnumber \
-doifelsestructurelisthaspage doifelsesymboldefined doifelsesymbolset doifelsetext doifelsetextflow \
-doifelsetextflowcollector doifelsetopofpage doifelsetypingfile doifelseundefined doifelseurldefined \
-doifelsevalue doifelsevaluenothing doifelsevariable doifempty doifemptyelse \
-doifemptytoks doifemptyvalue doifemptyvalueelse doifemptyvariable doifemptyvariableelse \
-doifenv doifenvelse doiffastoptionalcheckcselse doiffastoptionalcheckelse doiffieldbodyelse \
-doiffieldcategoryelse doiffigureelse doiffile doiffiledefinedelse doiffileelse \
-doiffileexistselse doiffirstcharelse doifflaggedelse doiffontcharelse doiffontfeatureelse \
-doiffontpresentelse doiffontsynonymelse doifhasspaceelse doifhelpelse doifincsnameelse \
-doifinelementelse doifinputfileelse doifinsertionelse doifinset doifinsetelse \
-doifinstring doifinstringelse doifinsymbolset doifinsymbolsetelse doifintokselse \
-doifintwopassdataelse doifitalicelse doiflanguageelse doiflayerdataelse doiflayoutdefinedelse \
-doiflayoutsomelineelse doiflayouttextlineelse doifleapyearelse doiflistelse doiflocationelse \
-doiflocfileelse doifmainfloatbodyelse doifmarkingelse doifmeaningelse doifmessageelse \
-doifmode doifmodeelse doifnextbgroupcselse doifnextbgroupelse doifnextcharelse \
-doifnextoptionalcselse doifnextoptionalelse doifnextparenthesiselse doifnonzeropositiveelse doifnot \
-doifnotallcommon doifnotallmodes doifnotcommandhandler doifnotcommon doifnotcounter \
-doifnotdocumentargument doifnotdocumentfilename doifnotdocumentvariable doifnotempty doifnotemptyvalue \
-doifnotemptyvariable doifnotenv doifnoteonsamepageelse doifnotescollected doifnotfile \
-doifnotflagged doifnothing doifnothingelse doifnotinset doifnotinsidesplitfloat \
-doifnotinstring doifnotmode doifnotnumber doifnotsamestring doifnotsetups \
-doifnotvalue doifnotvariable doifnumber doifnumberelse doifobjectfoundelse \
-doifobjectreferencefoundelse doifoddpageelse doifoddpagefloatelse doifoldercontextelse doifolderversionelse \
-doifoutervmode doifoverlappingelse doifoverlayelse doifparallelelse doifparentfileelse \
-doifpathelse doifpathexistselse doifpatternselse doifposition doifpositionaction \
-doifpositionactionelse doifpositionelse doifpositiononpageelse doifpositionsonsamepageelse doifpositionsonthispageelse \
-doifpositionsusedelse doifreferencefoundelse doifrightpageelse doifrightpagefloatelse doifrighttoleftinboxelse \
-doifsamelinereferenceelse doifsamestring doifsamestringelse doifsetups doifsetupselse \
-doifsomebackground doifsomebackgroundelse doifsomespaceelse doifsomething doifsomethingelse \
-doifsometoks doifsometokselse doifstringinstringelse doifstructurelisthasnumberelse doifstructurelisthaspageelse \
-doifsymboldefinedelse doifsymbolsetelse doiftext doiftextelse doiftextflowcollectorelse \
-doiftextflowelse doiftopofpageelse doiftypingfileelse doifundefined doifundefinedcounter \
-doifundefinedelse doifunknownfontfeature doifurldefinedelse doifvalue doifvalueelse \
-doifvaluenothing doifvaluenothingelse doifvaluesomething doifvariable doifvariableelse \
-doindentation dollar doloop doloopoverlist donothing \
-dontconvertfont dontleavehmode dontpermitspacesbetweengroups dopositionaction doprocesslocalsetups \
-doquadrupleargument doquadrupleempty doquadruplegroupempty doquintupleargument doquintupleempty \
-doquintuplegroupempty dorechecknextindentation dorecurse dorepeatwithcommand doreplacefeature \
-doresetandafffeature doresetattribute dorotatebox dosetattribute dosetleftskipadaption \
-dosetrightskipadaption dosetupcheckedinterlinespace doseventupleargument doseventupleempty dosingleargument \
-dosingleempty dosinglegroupempty dosixtupleargument dosixtupleempty dosomebreak \
-dostepwiserecurse dosubtractfeature dot doteq doteqdot \
-dotfill dotfskip dotlessI dotlessJ dotlessi \
-dotlessj dotlessjstroke dotminus dotoks dotplus \
-dotripleargument dotripleargumentwithset dotripleempty dotripleemptywithset dotriplegroupempty \
-dots dottedcircle dottedrightarrow doublebar doublebond \
-doublebrace doublebracket doublecap doublecup doubleparent \
-doubleprime doubleverticalbar dowith dowithnextbox dowithnextboxcontent \
-dowithnextboxcontentcs dowithnextboxcs dowithpargument dowithrange dowithwargument \
-downarrow downdasharrow downdownarrows downharpoonleft downharpoonright \
-downuparrows downwhitearrow downzigzagarrow dpofstring dstroke \
-dtail dummydigit dummyparameter dzcaronligature dzligature \
-eTeX eacute ebreve ecaron ecedilla \
-ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave ecircumflexhook \
-ecircumflextilde edefconvertedargument ediaeresis edotaccent edotbelow \
-edoublegrave ee efcmaxheight efcmaxwidth efcminheight \
-efcminwidth efcparameter effect egrave ehook \
-einvertedbreve elapsedseconds elapsedsteptime elapsedtime eleftarrowfill \
-eleftharpoondownfill eleftharpoonupfill eleftrightarrowfill ell em \
-emacron emdash emphasisboldface emphasistypeface emptylines \
-emptyset emquad emspace enableasciimode enabledirectives \
-enableexperiments enablemode enableoutputstream enableparpositions enableregime \
-enabletrackers endash endnote enquad enskip \
-enspace env environment envvar eogonek \
-eoverbarfill eoverbracefill eoverbracketfill eoverparentfill epos \
-epsilon eq eqcirc eqeq eqeqeq \
-eqgtr eqless eqsim eqslantgtr eqslantless \
-equaldigits equalscolon equiv erightarrowfill erightharpoondownfill \
-erightharpoonupfill eta eth ethiopic etilde \
-etwoheadrightarrowfill eunderbarfill eunderbracefill eunderbracketfill eunderparentfill \
-exclamdown executeifdefined exists exitloop exitloopnow \
-expandcheckedcsname expanded expandeddoif expandeddoifelse expandeddoifnot \
-expandfontsynonym expdoif expdoifcommonelse expdoifelse expdoifelsecommon \
-expdoifelseinset expdoifinsetelse expdoifnot exponentiale externalfigure \
-externalfigurecollectionmaxheight externalfigurecollectionmaxwidth externalfigurecollectionminheight externalfigurecollectionminwidth externalfigurecollectionparameter \
-fakebox fallingdotseq fastdecrement fastincrement fastlocalframed \
-fastloopfinal fastloopindex fastscale fastsetup fastsetupwithargument \
-fastsetupwithargumentswapped fastswitchtobodyfont fastsxsy feature fence \
-fenced fetchallmarkings fetchallmarks fetchmark fetchmarking \
-fetchonemark fetchonemarking fetchruntinecommand fetchtwomarkings fetchtwomarks \
-ffiligature ffligature fflligature fhook field \
-fieldbody fieldstack fifthoffivearguments fifthofsixarguments figuredash \
-figurefilename figurefilepath figurefiletype figurefullname figureheight \
-figurenaturalheight figurenaturalwidth figurespace figuresymbol figurewidth \
-filename filigature filledhboxb filledhboxc filledhboxg \
-filledhboxk filledhboxm filledhboxr filledhboxy filler \
-fillinline fillinrules fillintext fillupto filterfromnext \
-filterfromvalue filterpages filterreference findtwopassdata finishregisterentry \
-firstcharacter firstcounter firstcountervalue firstinlist firstoffivearguments \
-firstoffourarguments firstofoneargument firstofoneunexpanded firstofsixarguments firstofthreearguments \
-firstofthreeunexpanded firstoftwoarguments firstoftwounexpanded firstrealpage firstrealpagenumber \
-firstsubcountervalue firstsubpage firstsubpagenumber firstuserpage firstuserpagenumber \
-fitfield fitfieldframed fittopbaselinegrid fiveeighths fivesixths \
-fixedspace fixedspaces flag flat flligature \
-floatuserdataparameter flushbox flushboxregister flushcollector flushedrightlastline \
-flushlayer flushlocalfloats flushnextbox flushnotes flushoutputstream \
-flushshapebox flushtextflow flushtokens flushtoks fontalternative \
-fontbody fontchar fontcharbyindex fontclass fontclassname \
-fontface fontfeaturelist fontsize fontstyle footnote \
-footnotetext forall forcecharacterstripping forcelocalfloats forgeteverypar \
-forgetparagraphfreezing forgetparameters forgetparskip forgetparwrapper forgetragged \
-formula formulanumber foundbox fourfifths fourperemspace \
-fourthoffivearguments fourthoffourarguments fourthofsixarguments frac framed \
-frameddimension framedparameter framedtext freezedimenmacro freezemeasure \
-freezeparagraphproperties frenchspacing from fromlinenote frown \
-frozenhbox frule gacute gamma gbreve \
-gcaron gcircumflex gcommaaccent gdefconvertedargument gdefconvertedcommand \
-gdotaccent ge geq geqq geqslant \
-getMPdrawing getMPlayer getboxfromcache getboxllx getboxlly \
-getbuffer getbufferdata getcommacommandsize getcommalistsize getdatavalue \
-getdayoftheweek getdayspermonth getdefinedbuffer getdocumentargument getdocumentargumentdefault \
-getdocumentfilename getdummyparameters getemptyparameters geteparameters getexpandedparameters \
-getfiguredimensions getfirstcharacter getfirsttwopassdata getfromcommacommand getfromcommalist \
-getfromluatable getfromtwopassdata getglyphdirect getglyphstyled getgparameters \
-getinlineuserdata getlasttwopassdata getlocalfloat getlocalfloats getmarking \
-getmessage getnamedglyphdirect getnamedglyphstyled getnamedtwopassdatalist getnaturaldimensions \
-getnoflines getobject getobjectdimensions getpaletsize getparameters \
-getparwrapper getprivatechar getprivateslot getrandomcount getrandomdimen \
-getrandomfloat getrandomnumber getrandomseed getraweparameters getrawgparameters \
-getrawnoflines getrawparameters getrawxparameters getreference getreferenceentry \
-getroundednoflines gets getsubstring gettokenlist gettwopassdata \
-gettwopassdatalist getuserdata getuvalue getvalue getvariable \
-getvariabledefault getxparameters gg ggg gggtr \
-gimel globaldisablemode globalenablemode globalletempty globalpopbox \
-globalpopmacro globalpreventmode globalprocesscommalist globalpushbox globalpushmacro \
-globalswapcounts globalswapdimens globalswapmacros globalundefine glyphfontfile \
-gnapprox gneqq gnsim gobbledoubleempty gobbleeightarguments \
-gobblefivearguments gobblefiveoptionals gobblefourarguments gobblefouroptionals gobbleninearguments \
-gobbleoneargument gobbleoneoptional gobblesevenarguments gobblesingleempty gobblesixarguments \
-gobblespacetokens gobbletenarguments gobblethreearguments gobblethreeoptionals gobbletwoarguments \
-gobbletwooptionals gobbleuntil gobbleuntilrelax godown goto \
-gotobox gotopage grabbufferdata grabbufferdatadirect grabuntil \
-grave graycolor grayvalue greedysplitstring greekAlpha \
-greekAlphadasia greekAlphadasiaperispomeni greekAlphadasiatonos greekAlphadasiavaria greekAlphaiotasub \
-greekAlphaiotasubdasia greekAlphaiotasubdasiaperispomeni greekAlphaiotasubdasiatonos greekAlphaiotasubdasiavaria greekAlphaiotasubpsili \
-greekAlphaiotasubpsiliperispomeni greekAlphaiotasubpsilitonos greekAlphaiotasubpsilivaria greekAlphamacron greekAlphapsili \
-greekAlphapsiliperispomeni greekAlphapsilitonos greekAlphapsilivaria greekAlphatonos greekAlphavaria \
-greekAlphavrachy greekBeta greekChi greekCoronis greekDelta \
-greekEpsilon greekEpsilondasia greekEpsilondasiatonos greekEpsilondasiavaria greekEpsilonpsili \
-greekEpsilonpsilitonos greekEpsilonpsilivaria greekEpsilontonos greekEpsilonvaria greekEta \
-greekEtadasia greekEtadasiaperispomeni greekEtadasiatonos greekEtadasiavaria greekEtaiotasub \
-greekEtaiotasubdasia greekEtaiotasubdasiaperispomeni greekEtaiotasubdasiatonos greekEtaiotasubdasiavaria greekEtaiotasubpsili \
-greekEtaiotasubpsiliperispomeni greekEtaiotasubpsilitonos greekEtaiotasubpsilivaria greekEtapsili greekEtapsiliperispomeni \
-greekEtapsilitonos greekEtapsilivaria greekEtatonos greekEtavaria greekGamma \
-greekIota greekIotadasia greekIotadasiaperispomeni greekIotadasiatonos greekIotadasiavaria \
-greekIotadialytika greekIotamacron greekIotapsili greekIotapsiliperispomeni greekIotapsilitonos \
-greekIotapsilivaria greekIotatonos greekIotavaria greekIotavrachy greekKappa \
-greekLambda greekMu greekNu greekOmega greekOmegadasia \
-greekOmegadasiaperispomeni greekOmegadasiatonos greekOmegadasiavaria greekOmegaiotasub greekOmegaiotasubdasia \
-greekOmegaiotasubdasiaperispomeni greekOmegaiotasubdasiatonos greekOmegaiotasubdasiavaria greekOmegaiotasubpsili greekOmegaiotasubpsiliperispomeni \
-greekOmegaiotasubpsilitonos greekOmegaiotasubpsilivaria greekOmegapsili greekOmegapsiliperispomeni greekOmegapsilitonos \
-greekOmegapsilivaria greekOmegatonos greekOmegavaria greekOmicron greekOmicrondasia \
-greekOmicrondasiatonos greekOmicrondasiavaria greekOmicronpsili greekOmicronpsilitonos greekOmicronpsilivaria \
-greekOmicrontonos greekOmicronvaria greekPhi greekPi greekPsi \
-greekRho greekRhodasia greekSigma greekSigmalunate greekTau \
-greekTheta greekUpsilon greekUpsilondasia greekUpsilondasiaperispomeni greekUpsilondasiatonos \
-greekUpsilondasiavaria greekUpsilondialytika greekUpsilonmacron greekUpsilontonos greekUpsilonvaria \
-greekUpsilonvrachy greekXi greekZeta greekalpha greekalphadasia \
-greekalphadasiaperispomeni greekalphadasiatonos greekalphadasiavaria greekalphaiotasub greekalphaiotasubdasia \
-greekalphaiotasubdasiaperispomeni greekalphaiotasubdasiatonos greekalphaiotasubdasiavaria greekalphaiotasubperispomeni greekalphaiotasubpsili \
-greekalphaiotasubpsiliperispomeni greekalphaiotasubpsilitonos greekalphaiotasubpsilivaria greekalphaiotasubtonos greekalphaiotasubvaria \
-greekalphamacron greekalphaoxia greekalphaperispomeni greekalphapsili greekalphapsiliperispomeni \
-greekalphapsilitonos greekalphapsilivaria greekalphatonos greekalphavaria greekalphavrachy \
-greekbeta greekbetaalt greekchi greekdasia greekdasiaperispomeni \
-greekdasiavaria greekdelta greekdialytikaperispomeni greekdialytikatonos greekdialytikavaria \
-greekdigamma greekepsilon greekepsilonalt greekepsilondasia greekepsilondasiatonos \
-greekepsilondasiavaria greekepsilonoxia greekepsilonpsili greekepsilonpsilitonos greekepsilonpsilivaria \
-greekepsilontonos greekepsilonvaria greeketa greeketadasia greeketadasiaperispomeni \
-greeketadasiatonos greeketadasiavaria greeketaiotasub greeketaiotasubdasia greeketaiotasubdasiaperispomeni \
-greeketaiotasubdasiatonos greeketaiotasubdasiavaria greeketaiotasubperispomeni greeketaiotasubpsili greeketaiotasubpsiliperispomeni \
-greeketaiotasubpsilitonos greeketaiotasubpsilivaria greeketaiotasubtonos greeketaiotasubvaria greeketaoxia \
-greeketaperispomeni greeketapsili greeketapsiliperispomeni greeketapsilitonos greeketapsilivaria \
-greeketatonos greeketavaria greekfinalsigma greekgamma greekiota \
-greekiotadasia greekiotadasiaperispomeni greekiotadasiatonos greekiotadasiavaria greekiotadialytika \
-greekiotadialytikaperispomeni greekiotadialytikatonos greekiotadialytikavaria greekiotamacron greekiotaoxia \
-greekiotaperispomeni greekiotapsili greekiotapsiliperispomeni greekiotapsilitonos greekiotapsilivaria \
-greekiotatonos greekiotavaria greekiotavrachy greekkappa greekkoppa \
-greeklambda greekmu greeknu greeknumerals greeknumkoppa \
-greekomega greekomegadasia greekomegadasiaperispomeni greekomegadasiatonos greekomegadasiavaria \
-greekomegaiotasub greekomegaiotasubdasia greekomegaiotasubdasiaperispomeni greekomegaiotasubdasiatonos greekomegaiotasubdasiavaria \
-greekomegaiotasubperispomeni greekomegaiotasubpsili greekomegaiotasubpsiliperispomeni greekomegaiotasubpsilitonos greekomegaiotasubpsilivaria \
-greekomegaiotasubtonos greekomegaiotasubvaria greekomegaoxia greekomegaperispomeni greekomegapsili \
-greekomegapsiliperispomeni greekomegapsilitonos greekomegapsilivaria greekomegatonos greekomegavaria \
-greekomicron greekomicrondasia greekomicrondasiatonos greekomicrondasiavaria greekomicronoxia \
-greekomicronpsili greekomicronpsilitonos greekomicronpsilivaria greekomicrontonos greekomicronvaria \
-greekoxia greekperispomeni greekphi greekphialt greekpi \
-greekpialt greekprosgegrammeni greekpsi greekpsili greekpsiliperispomeni \
-greekpsilivaria greekrho greekrhoalt greekrhodasia greekrhopsili \
-greeksampi greeksigma greeksigmalunate greekstigma greektau \
-greektheta greekthetaalt greektonos greekupsilon greekupsilondasia \
-greekupsilondasiaperispomeni greekupsilondasiatonos greekupsilondasiavaria greekupsilondiaeresis greekupsilondialytikaperispomeni \
-greekupsilondialytikatonos greekupsilondialytikavaria greekupsilonmacron greekupsilonoxia greekupsilonperispomeni \
-greekupsilonpsili greekupsilonpsiliperispomeni greekupsilonpsilitonos greekupsilonpsilivaria greekupsilontonos \
-greekupsilonvaria greekupsilonvrachy greekvaria greekxi greekzeta \
-grid groupedcommand gsetboxllx gsetboxlly gstroke \
-gt gtrapprox gtrdot gtreqless gtreqqless \
-gtrless gtrsim guilsingleleft guilsingleright gujaratinumerals \
-gurmurkhinumerals hairline hairspace halflinestrut halfstrut \
-halfwaybox handletokens handwritten hangul hanzi \
-hash hat hbar hboxofvbox hboxreference \
-hcaron hcircumflex hdofstring headhbox headlanguage \
-headnumber headnumbercontent headnumberdistance headnumberwidth headreferenceattributes \
-headsetupspacing headtext headtextcontent headtextdistance headtexts \
-headtextwidth headvbox headwidth heartsuit hebrewAlef \
-hebrewAyin hebrewBet hebrewDalet hebrewGimel hebrewHe \
-hebrewHet hebrewKaf hebrewKaffinal hebrewLamed hebrewMem \
-hebrewMemfinal hebrewNun hebrewNunfinal hebrewPe hebrewPefinal \
-hebrewQof hebrewResh hebrewSamekh hebrewShin hebrewTav \
-hebrewTet hebrewTsadi hebrewTsadifinal hebrewVav hebrewYod \
-hebrewZayin hebrewnumerals heightanddepthofstring heightofstring heightspanningtext \
-helptext hexnumber hexstringtonumber hglue hiddenbar \
-hiddencitation hiddencite hideblocks high highlight \
-highordinalstr hilo himilo hl hookleftarrow \
-hookrightarrow horizontalgrowingbar horizontalpositionbar hpackbox hpackedbox \
-hphantom hpos hsizefraction hslash hsmash \
-hsmashbox hsmashed hspace hstroke htdpofstring \
-htofstring hyphen hyphenatedcoloredword hyphenatedfile hyphenatedfilename \
-hyphenatedhbox hyphenatedpar hyphenatedurl hyphenatedword iacute \
-ibox ibreve icaron icircumflex ideographichalffillspace \
-ideographicspace idiaeresis idotaccent idotbelow idoublegrave \
-idxfromluatable ifassignment iff ifinobject ifinoutputstream \
-ifparameters iftrialtypesetting ignoreimplicitspaces ignoretagsinexport ignorevalue \
-igrave ihook ii iiiint iiiintop \
-iiint iiintop iint iintop iinvertedbreve \
-ijligature imacron imaginaryi imaginaryj imath \
-immediatesavetwopassdata impliedby implies imply in \
-includemenu includesvgbuffer includesvgfile includeversioninfo increment \
-incrementcounter incrementedcounter incrementpagenumber incrementsubpagenumber incrementvalue \
-indentation index infofont infofontbold inframed \
-infty infull inheritparameter inhibitblank ininner \
-ininneredge ininnermargin initializeboxstack inleft inleftedge \
-inleftmargin inline inlinebuffer inlinedbox inlinemath \
-inlinemathematics inlinemessage inlineordisplaymath inlineprettyprintbuffer inlinerange \
-inmargin inmframed innerflushshapebox inother inouter \
-inouteredge inoutermargin input inputfilebarename inputfilename \
-inputfilerealsuffix inputfilesuffix inputgivenfile inright inrightedge \
-inrightmargin insertpages inspectluatable installactionhandler installactivecharacter \
-installanddefineactivecharacter installattributestack installautocommandhandler installautosetuphandler installbasicautosetuphandler \
-installbasicparameterhandler installbottomframerenderer installcommandhandler installcorenamespace installctxfunction \
-installctxscanner installdefinehandler installdefinitionset installdefinitionsetmember installdirectcommandhandler \
-installdirectparameterhandler installdirectparametersethandler installdirectsetuphandler installdirectstyleandcolorhandler installframedautocommandhandler \
-installframedcommandhandler installglobalmacrostack installlanguage installleftframerenderer installmacrostack \
-installnamespace installoutputroutine installpagearrangement installparameterhandler installparameterhashhandler \
-installparametersethandler installparentinjector installprotectedctxfunction installprotectedctxscanner installrightframerenderer \
-installrootparameterhandler installsetuphandler installsetuponlycommandhandler installshipoutmethod installsimplecommandhandler \
-installsimpleframedcommandhandler installstyleandcolorhandler installswitchcommandhandler installswitchsetuphandler installtexdirective \
-installtextracker installtopframerenderer installunitsseparator installunitsspace installversioninfo \
-int intclockwise integerrounding integers interactionbar \
-interactionbuttons interactionmenu intercal intertext interwordspaceafter \
-interwordspacebefore interwordspaces interwordspacesafter interwordspacesbefore intop \
-invisiblecomma invisibleplus invisibletimes invokepagehandler iogonek \
-iota italic italicbold italiccorrection italicface \
-item items itemtag itilde jcaron \
-jcircumflex ji jmath jobfilename jobfilesuffix \
-kap kappa kcaron kcommaaccent keepblocks \
-keeplinestogether keepunwantedspaces kerncharacters khook kkra \
-koreancirclenumerals koreannumerals koreannumeralsc koreannumeralsp koreanparentnumerals \
-lVert labellanguage labeltext labeltexts lacute \
-lambda lambdabar land langle language \
-languageCharacters languagecharacters languagecharwidth laplace lastcounter \
-lastcountervalue lastdigit lastlinewidth lastnaturalboxdp lastnaturalboxht \
-lastnaturalboxwd lastparwrapper lastpredefinedsymbol lastrealpage lastrealpagenumber \
-lastsubcountervalue lastsubpage lastsubpagenumber lasttwodigits lastuserpage \
-lastuserpagenumber lateluacode latin layeredtext layerheight \
-layerwidth lazysavetaggedtwopassdata lazysavetwopassdata lbar lbox \
-lbrace lbracket lcaron lceil lchexnumber \
-lchexnumbers lcommaaccent lcurl ldot ldotmiddle \
-ldotp ldots le leadsto left \
-leftaligned leftarrow leftarrowtail leftarrowtriangle leftbottombox \
-leftbox leftdasharrow leftguillemot leftharpoondown leftharpoonup \
-lefthbox leftheadtext leftlabeltext leftleftarrows leftline \
-leftmathlabeltext leftorrighthbox leftorrightvbox leftorrightvtop leftrightarrow \
-leftrightarrows leftrightarrowtriangle leftrightharpoons leftrightsquigarrow leftskipadaption \
-leftsquigarrow leftsubguillemot leftthreetimes lefttopbox lefttoright \
-lefttorighthbox lefttorightvbox lefttorightvtop leftwavearrow leftwhitearrow \
-leq leqq leqslant lessapprox lessdot \
-lesseqgtr lesseqqgtr lessgtr lesssim letbeundefined \
-letcatcodecommand letcscsname letcsnamecs letcsnamecsname letdummyparameter \
-letempty letgvalue letgvalueempty letgvalurelax letterampersand \
-letterat letterbackslash letterbar letterbgroup letterclosebrace \
-lettercolon letterdollar letterdoublequote letteregroup letterescape \
-letterexclamationmark letterhash letterhat letterleftbrace letterleftbracket \
-letterleftparenthesis letterless lettermore letteropenbrace letterpercent \
-letterquestionmark letterrightbrace letterrightbracket letterrightparenthesis lettersinglequote \
-letterslash letterspacing lettertilde letterunderscore letvalue \
-letvalueempty letvaluerelax lfence lfloor lgroup \
-lhbox lhooknwarrow lhooksearrow limitatefirstline limitatelines \
-limitatetext line linebox linefeed linefillerhbox \
-linefillervbox linefillervtop linenote linespanningtext linethickness \
-linterval listcitation listcite listlength listnamespaces \
-literalmode ljligature ll llangle llap \
-llbracket llcorner lll llless llointerval \
-lmoustache lnapprox lneq lneqq lnot \
-lnsim loadanyfile loadanyfileonce loadbtxdefinitionfile loadbtxreplacementfile \
-loadcldfile loadcldfileonce loadfontgoodies loadluafile loadluafileonce \
-loadspellchecklist loadtexfile loadtexfileonce loadtypescriptfile localframed \
-localframedwithsettings localhsize localpopbox localpopmacro localpushbox \
-localpushmacro localundefine locatedfilepath locatefilepath locfilename \
-logo lohi lointerval lomihi longleftarrow \
-longleftrightarrow longmapsfrom longmapsto longrightarrow longrightsquigarrow \
-looparrowleft looparrowright lor low lowerbox \
-lowercased lowercasestring lowercasing lowerleftdoubleninequote lowerleftsingleninequote \
-lowerrightdoubleninequote lowerrightsingleninequote lozenge lparent lrcorner \
-lrointerval lrtbbox lstroke lt ltimes \
-ltop ltrhbox ltrvbox ltrvtop luaTeX \
-luacode luaconditional luaenvironment luaexpanded luaexpr \
-luafunction luajitTeX luamajorversion luametaTeX luaminorversion \
-luaparameterset luasetup luaversion lvert m \
-mLeftarrow mLeftrightarrow mRightarrow mVert mainlanguage \
-makecharacteractive makerawcommalist makestrutofbox maltese mapfontsize \
+depthspanningtext depthstrut derivativesymbol determineheadnumber determinelistcharacteristics \
+determinenoflines determineregistercharacteristics devanagarinumerals dfrac dhook \
+diameter diamond diamondsuit differentialD differentiald \
+digamma digits dimensiontocount directboxfromcache directcolor \
+directcolored directconvertedcounter directcopyboxfromcache directdummyparameter directgetboxllx \
+directgetboxlly directhighlight directlocalframed directluacode directparwrapper \
+directselect directsetbar directsetup directsymbol directvspacing \
+dis disabledirectives disableexperiments disablemode disableoutputstream \
+disableparpositions disableregime disabletrackers displaymath displaymathematics \
+displaymessage disposeluatable distributedhsize div dividedsize \
+divideontimes divides doadaptleftskip doadaptrightskip doaddfeature \
+doassign doassignempty doboundtext docheckassignment docheckedpair \
+documentvariable dodoubleargument dodoubleargumentwithset dodoubleempty dodoubleemptywithset \
+dodoublegroupempty doeassign doexpandedrecurse dofastloopcs dogetattribute \
+dogetattributeid dogetcommacommandelement dogobbledoubleempty dogobblesingleempty dohyphens \
+doif doifMPgraphicelse doifallcommon doifallcommonelse doifalldefinedelse \
+doifallmodes doifallmodeselse doifassignmentelse doifassignmentelsecs doifblackelse \
+doifbothsides doifbothsidesoverruled doifboxelse doifbufferelse doifcheckedpagestate \
+doifcolor doifcolorelse doifcommandhandler doifcommandhandlerelse doifcommon \
+doifcommonelse doifcontent doifconversiondefinedelse doifconversionnumberelse doifcounter \
+doifcounterelse doifcurrentfonthasfeatureelse doifdefined doifdefinedcounter doifdefinedcounterelse \
+doifdefinedelse doifdimensionelse doifdimenstringelse doifdocumentargument doifdocumentargumentelse \
+doifdocumentfilename doifdocumentfilenameelse doifdocumentvariable doifdocumentvariableelse doifdrawingblackelse \
+doifelse doifelseMPgraphic doifelseallcommon doifelsealldefined doifelseallmodes \
+doifelseassignment doifelseassignmentcs doifelseblack doifelsebox doifelseboxincache \
+doifelsebuffer doifelsecolor doifelsecommandhandler doifelsecommon doifelseconversiondefined \
+doifelseconversionnumber doifelsecounter doifelsecurrentfonthasfeature doifelsecurrentsortingused doifelsecurrentsynonymshown \
+doifelsecurrentsynonymused doifelsedefined doifelsedefinedcounter doifelsedimension doifelsedimenstring \
+doifelsedocumentargument doifelsedocumentfilename doifelsedocumentvariable doifelsedrawingblack doifelseempty \
+doifelseemptyvalue doifelseemptyvariable doifelseenv doifelsefastoptionalcheck doifelsefastoptionalcheckcs \
+doifelsefieldbody doifelsefieldcategory doifelsefigure doifelsefile doifelsefiledefined \
+doifelsefileexists doifelsefirstchar doifelseflagged doifelsefontchar doifelsefontfeature \
+doifelsefontpresent doifelsefontsynonym doifelseframed doifelsehasspace doifelsehelp \
+doifelseincsname doifelseindented doifelseinelement doifelseinputfile doifelseinsertion \
+doifelseinset doifelseinstring doifelseinsymbolset doifelseintoks doifelseintwopassdata \
+doifelseitalic doifelselanguage doifelselayerdata doifelselayoutdefined doifelselayoutsomeline \
+doifelselayouttextline doifelseleapyear doifelselist doifelselocation doifelselocfile \
+doifelsemainfloatbody doifelsemarkedcontent doifelsemarkedpage doifelsemarking doifelsemeaning \
+doifelsemessage doifelsemode doifelsenextbgroup doifelsenextbgroupcs doifelsenextchar \
+doifelsenextoptional doifelsenextoptionalcs doifelsenextparenthesis doifelsenonzeropositive doifelsenoteonsamepage \
+doifelsenothing doifelsenumber doifelseobjectfound doifelseobjectreferencefound doifelseoddpage \
+doifelseoddpagefloat doifelseoldercontext doifelseolderversion doifelseorientation doifelseoverlapping \
+doifelseoverlay doifelseparallel doifelseparentfile doifelseparwrapper doifelsepath \
+doifelsepathexists doifelsepatterns doifelseposition doifelsepositionaction doifelsepositiononpage \
+doifelsepositionsonsamepage doifelsepositionsonthispage doifelsepositionsused doifelsereferencefound doifelserightpage \
+doifelserightpagefloat doifelserighttoleftinbox doifelsesamelinereference doifelsesamestring doifelsesetups \
+doifelsesomebackground doifelsesomespace doifelsesomething doifelsesometoks doifelsestringinstring \
+doifelsestructurelisthasnumber doifelsestructurelisthaspage doifelsesymboldefined doifelsesymbolset doifelsetext \
+doifelsetextflow doifelsetextflowcollector doifelsetopofpage doifelsetypingfile doifelseundefined \
+doifelseurldefined doifelsevalue doifelsevaluenothing doifelsevariable doifempty \
+doifemptyelse doifemptytoks doifemptyvalue doifemptyvalueelse doifemptyvariable \
+doifemptyvariableelse doifenv doifenvelse doiffastoptionalcheckcselse doiffastoptionalcheckelse \
+doiffieldbodyelse doiffieldcategoryelse doiffigureelse doiffile doiffiledefinedelse \
+doiffileelse doiffileexistselse doiffirstcharelse doifflaggedelse doiffontcharelse \
+doiffontfeatureelse doiffontpresentelse doiffontsynonymelse doifhasspaceelse doifhelpelse \
+doifincsnameelse doifinelementelse doifinputfileelse doifinsertionelse doifinset \
+doifinsetelse doifinstring doifinstringelse doifinsymbolset doifinsymbolsetelse \
+doifintokselse doifintwopassdataelse doifitalicelse doiflanguageelse doiflayerdataelse \
+doiflayoutdefinedelse doiflayoutsomelineelse doiflayouttextlineelse doifleapyearelse doiflistelse \
+doiflocationelse doiflocfileelse doifmainfloatbodyelse doifmarkingelse doifmeaningelse \
+doifmessageelse doifmode doifmodeelse doifnextbgroupcselse doifnextbgroupelse \
+doifnextcharelse doifnextoptionalcselse doifnextoptionalelse doifnextparenthesiselse doifnonzeropositiveelse \
+doifnot doifnotallcommon doifnotallmodes doifnotcommandhandler doifnotcommon \
+doifnotcounter doifnotdocumentargument doifnotdocumentfilename doifnotdocumentvariable doifnotempty \
+doifnotemptyvalue doifnotemptyvariable doifnotenv doifnoteonsamepageelse doifnotescollected \
+doifnotfile doifnotflagged doifnothing doifnothingelse doifnotinset \
+doifnotinsidesplitfloat doifnotinstring doifnotmode doifnotnumber doifnotsamestring \
+doifnotsetups doifnotvalue doifnotvariable doifnumber doifnumberelse \
+doifobjectfoundelse doifobjectreferencefoundelse doifoddpageelse doifoddpagefloatelse doifoldercontextelse \
+doifolderversionelse doifoutervmode doifoverlappingelse doifoverlayelse doifparallelelse \
+doifparentfileelse doifpathelse doifpathexistselse doifpatternselse doifposition \
+doifpositionaction doifpositionactionelse doifpositionelse doifpositiononpageelse doifpositionsonsamepageelse \
+doifpositionsonthispageelse doifpositionsusedelse doifreferencefoundelse doifrightpageelse doifrightpagefloatelse \
+doifrighttoleftinboxelse doifsamelinereferenceelse doifsamestring doifsamestringelse doifsetups \
+doifsetupselse doifsomebackground doifsomebackgroundelse doifsomespaceelse doifsomething \
+doifsomethingelse doifsometoks doifsometokselse doifstringinstringelse doifstructurelisthasnumberelse \
+doifstructurelisthaspageelse doifsymboldefinedelse doifsymbolsetelse doiftext doiftextelse \
+doiftextflowcollectorelse doiftextflowelse doiftopofpageelse doiftypingfileelse doifundefined \
+doifundefinedcounter doifundefinedelse doifunknownfontfeature doifurldefinedelse doifvalue \
+doifvalueelse doifvaluenothing doifvaluenothingelse doifvaluesomething doifvariable \
+doifvariableelse doindentation dollar doloop doloopoverlist \
+donothing dontconvertfont dontleavehmode dontpermitspacesbetweengroups dopositionaction \
+doprocesslocalsetups doquadrupleargument doquadrupleempty doquadruplegroupempty doquintupleargument \
+doquintupleempty doquintuplegroupempty dorechecknextindentation dorecurse dorepeatwithcommand \
+doreplacefeature doresetandafffeature doresetattribute dorotatebox dosetattribute \
+dosetleftskipadaption dosetrightskipadaption dosetupcheckedinterlinespace doseventupleargument doseventupleempty \
+dosingleargument dosingleempty dosinglegroupempty dosixtupleargument dosixtupleempty \
+dosomebreak dostepwiserecurse dosubtractfeature dot doteq \
+doteqdot dotfill dotfskip dotlessI dotlessJ \
+dotlessi dotlessj dotlessjstroke dotminus dotoks \
+dotplus dotripleargument dotripleargumentwithset dotripleempty dotripleemptywithset \
+dotriplegroupempty dots dottedcircle dottedrightarrow doublebar \
+doublebond doublebrace doublebracket doublecap doublecup \
+doubleparent doubleprime doubleverticalbar dowith dowithnextbox \
+dowithnextboxcontent dowithnextboxcontentcs dowithnextboxcs dowithpargument dowithrange \
+dowithwargument downarrow downdasharrow downdownarrows downharpoonleft \
+downharpoonright downuparrows downwhitearrow downzigzagarrow dpofstring \
+dstroke dtail dummydigit dummyparameter dzcaronligature \
+dzligature eTeX eacute ebreve ecaron \
+ecedilla ecircumflex ecircumflexacute ecircumflexdotbelow ecircumflexgrave \
+ecircumflexhook ecircumflextilde edefconvertedargument ediaeresis edotaccent \
+edotbelow edoublegrave ee efcmaxheight efcmaxwidth \
+efcminheight efcminwidth efcparameter effect egrave \
+ehook einvertedbreve elapsedseconds elapsedsteptime elapsedtime \
+eleftarrowfill eleftharpoondownfill eleftharpoonupfill eleftrightarrowfill ell \
+em emacron emdash emphasisboldface emphasistypeface \
+emptylines emptyset emquad emspace enableasciimode \
+enabledirectives enableexperiments enablemode enableoutputstream enableparpositions \
+enableregime enabletrackers endash endnote enquad \
+enskip enspace env environment envvar \
+eogonek eoverbarfill eoverbracefill eoverbracketfill eoverparentfill \
+epos epsilon eq eqcirc eqeq \
+eqeqeq eqgtr eqless eqsim eqslantgtr \
+eqslantless equaldigits equalscolon equiv erightarrowfill \
+erightharpoondownfill erightharpoonupfill eta eth ethiopic \
+etilde etwoheadrightarrowfill eunderbarfill eunderbracefill eunderbracketfill \
+eunderparentfill exclamdown executeifdefined exists exitloop \
+exitloopnow expandcheckedcsname expanded expandeddoif expandeddoifelse \
+expandeddoifnot expandfontsynonym expdoif expdoifcommonelse expdoifelse \
+expdoifelsecommon expdoifelseinset expdoifinsetelse expdoifnot exponentiale \
+externalfigure externalfigurecollectionmaxheight externalfigurecollectionmaxwidth externalfigurecollectionminheight externalfigurecollectionminwidth \
+externalfigurecollectionparameter fakebox fallingdotseq fastdecrement fastincrement \
+fastlocalframed fastloopfinal fastloopindex fastscale fastsetup \
+fastsetupwithargument fastsetupwithargumentswapped fastswitchtobodyfont fastsxsy feature \
+fence fenced fetchallmarkings fetchallmarks fetchmark \
+fetchmarking fetchonemark fetchonemarking fetchruntinecommand fetchtwomarkings \
+fetchtwomarks ffiligature ffligature fflligature fhook \
+field fieldbody fieldstack fifthoffivearguments fifthofsixarguments \
+figuredash figurefilename figurefilepath figurefiletype figurefullname \
+figureheight figurenaturalheight figurenaturalwidth figurespace figuresymbol \
+figurewidth filename filigature filledhboxb filledhboxc \
+filledhboxg filledhboxk filledhboxm filledhboxr filledhboxy \
+filler fillinline fillinrules fillintext fillupto \
+filterfromnext filterfromvalue filterpages filterreference findtwopassdata \
+finishregisterentry firstcharacter firstcounter firstcountervalue firstinlist \
+firstoffivearguments firstoffourarguments firstofoneargument firstofoneunexpanded firstofsixarguments \
+firstofthreearguments firstofthreeunexpanded firstoftwoarguments firstoftwounexpanded firstrealpage \
+firstrealpagenumber firstsubcountervalue firstsubpage firstsubpagenumber firstuserpage \
+firstuserpagenumber fitfield fitfieldframed fittopbaselinegrid fiveeighths \
+fivesixths fixedspace fixedspaces flag flat \
+flligature floatuserdataparameter flushbox flushboxregister flushcollector \
+flushedrightlastline flushlayer flushlocalfloats flushnextbox flushnotes \
+flushoutputstream flushshapebox flushtextflow flushtokens flushtoks \
+fontalternative fontbody fontchar fontcharbyindex fontclass \
+fontclassname fontface fontfeaturelist fontsize fontstyle \
+footnote footnotetext forall forcecharacterstripping forcelocalfloats \
+forgeteverypar forgetparagraphfreezing forgetparameters forgetparskip forgetparwrapper \
+forgetragged formula formulanumber foundbox fourfifths \
+fourperemspace fourthderivativesymbol fourthoffivearguments fourthoffourarguments fourthofsixarguments \
+frac framed frameddimension framedparameter framedtext \
+freezedimenmacro freezemeasure freezeparagraphproperties frenchspacing from \
+fromlinenote frown frozenhbox frule gacute \
+gamma gbreve gcaron gcircumflex gcommaaccent \
+gdefconvertedargument gdefconvertedcommand gdotaccent ge geq \
+geqq geqslant getMPdrawing getMPlayer getboxfromcache \
+getboxllx getboxlly getbuffer getbufferdata getcommacommandsize \
+getcommalistsize getdatavalue getdayoftheweek getdayspermonth getdefinedbuffer \
+getdocumentargument getdocumentargumentdefault getdocumentfilename getdummyparameters getemptyparameters \
+geteparameters getexpandedparameters getfiguredimensions getfirstcharacter getfirsttwopassdata \
+getfromcommacommand getfromcommalist getfromluatable getfromtwopassdata getglyphdirect \
+getglyphstyled getgparameters getinlineuserdata getlasttwopassdata getlocalfloat \
+getlocalfloats getmarking getmessage getnamedglyphdirect getnamedglyphstyled \
+getnamedtwopassdatalist getnaturaldimensions getnoflines getobject getobjectdimensions \
+getpaletsize getparameters getparwrapper getprivatechar getprivateslot \
+getrandomcount getrandomdimen getrandomfloat getrandomnumber getrandomseed \
+getraweparameters getrawgparameters getrawnoflines getrawparameters getrawxparameters \
+getreference getreferenceentry getroundednoflines gets getsubstring \
+gettokenlist gettwopassdata gettwopassdatalist getuserdata getuvalue \
+getvalue getvariable getvariabledefault getxparameters gg \
+ggg gggtr gimel globaldisablemode globalenablemode \
+globalletempty globalpopbox globalpopmacro globalpreventmode globalprocesscommalist \
+globalpushbox globalpushmacro globalswapcounts globalswapdimens globalswapmacros \
+globalundefine glyphfontfile gnapprox gneqq gnsim \
+gobbledoubleempty gobbleeightarguments gobblefivearguments gobblefiveoptionals gobblefourarguments \
+gobblefouroptionals gobbleninearguments gobbleoneargument gobbleoneoptional gobblesevenarguments \
+gobblesingleempty gobblesixarguments gobblespacetokens gobbletenarguments gobblethreearguments \
+gobblethreeoptionals gobbletwoarguments gobbletwooptionals gobbleuntil gobbleuntilrelax \
+godown goto gotobox gotopage grabbufferdata \
+grabbufferdatadirect grabuntil gradient grave graycolor \
+grayvalue greedysplitstring greekAlpha greekAlphadasia greekAlphadasiaperispomeni \
+greekAlphadasiatonos greekAlphadasiavaria greekAlphaiotasub greekAlphaiotasubdasia greekAlphaiotasubdasiaperispomeni \
+greekAlphaiotasubdasiatonos greekAlphaiotasubdasiavaria greekAlphaiotasubpsili greekAlphaiotasubpsiliperispomeni greekAlphaiotasubpsilitonos \
+greekAlphaiotasubpsilivaria greekAlphamacron greekAlphapsili greekAlphapsiliperispomeni greekAlphapsilitonos \
+greekAlphapsilivaria greekAlphatonos greekAlphavaria greekAlphavrachy greekBeta \
+greekChi greekCoronis greekDelta greekEpsilon greekEpsilondasia \
+greekEpsilondasiatonos greekEpsilondasiavaria greekEpsilonpsili greekEpsilonpsilitonos greekEpsilonpsilivaria \
+greekEpsilontonos greekEpsilonvaria greekEta greekEtadasia greekEtadasiaperispomeni \
+greekEtadasiatonos greekEtadasiavaria greekEtaiotasub greekEtaiotasubdasia greekEtaiotasubdasiaperispomeni \
+greekEtaiotasubdasiatonos greekEtaiotasubdasiavaria greekEtaiotasubpsili greekEtaiotasubpsiliperispomeni greekEtaiotasubpsilitonos \
+greekEtaiotasubpsilivaria greekEtapsili greekEtapsiliperispomeni greekEtapsilitonos greekEtapsilivaria \
+greekEtatonos greekEtavaria greekGamma greekIota greekIotadasia \
+greekIotadasiaperispomeni greekIotadasiatonos greekIotadasiavaria greekIotadialytika greekIotamacron \
+greekIotapsili greekIotapsiliperispomeni greekIotapsilitonos greekIotapsilivaria greekIotatonos \
+greekIotavaria greekIotavrachy greekKappa greekLambda greekMu \
+greekNu greekOmega greekOmegadasia greekOmegadasiaperispomeni greekOmegadasiatonos \
+greekOmegadasiavaria greekOmegaiotasub greekOmegaiotasubdasia greekOmegaiotasubdasiaperispomeni greekOmegaiotasubdasiatonos \
+greekOmegaiotasubdasiavaria greekOmegaiotasubpsili greekOmegaiotasubpsiliperispomeni greekOmegaiotasubpsilitonos greekOmegaiotasubpsilivaria \
+greekOmegapsili greekOmegapsiliperispomeni greekOmegapsilitonos greekOmegapsilivaria greekOmegatonos \
+greekOmegavaria greekOmicron greekOmicrondasia greekOmicrondasiatonos greekOmicrondasiavaria \
+greekOmicronpsili greekOmicronpsilitonos greekOmicronpsilivaria greekOmicrontonos greekOmicronvaria \
+greekPhi greekPi greekPsi greekRho greekRhodasia \
+greekSigma greekSigmalunate greekTau greekTheta greekUpsilon \
+greekUpsilondasia greekUpsilondasiaperispomeni greekUpsilondasiatonos greekUpsilondasiavaria greekUpsilondialytika \
+greekUpsilonmacron greekUpsilontonos greekUpsilonvaria greekUpsilonvrachy greekXi \
+greekZeta greekalpha greekalphadasia greekalphadasiaperispomeni greekalphadasiatonos \
+greekalphadasiavaria greekalphaiotasub greekalphaiotasubdasia greekalphaiotasubdasiaperispomeni greekalphaiotasubdasiatonos \
+greekalphaiotasubdasiavaria greekalphaiotasubperispomeni greekalphaiotasubpsili greekalphaiotasubpsiliperispomeni greekalphaiotasubpsilitonos \
+greekalphaiotasubpsilivaria greekalphaiotasubtonos greekalphaiotasubvaria greekalphamacron greekalphaoxia \
+greekalphaperispomeni greekalphapsili greekalphapsiliperispomeni greekalphapsilitonos greekalphapsilivaria \
+greekalphatonos greekalphavaria greekalphavrachy greekbeta greekbetaalt \
+greekchi greekdasia greekdasiaperispomeni greekdasiavaria greekdelta \
+greekdialytikaperispomeni greekdialytikatonos greekdialytikavaria greekdigamma greekepsilon \
+greekepsilonalt greekepsilondasia greekepsilondasiatonos greekepsilondasiavaria greekepsilonoxia \
+greekepsilonpsili greekepsilonpsilitonos greekepsilonpsilivaria greekepsilontonos greekepsilonvaria \
+greeketa greeketadasia greeketadasiaperispomeni greeketadasiatonos greeketadasiavaria \
+greeketaiotasub greeketaiotasubdasia greeketaiotasubdasiaperispomeni greeketaiotasubdasiatonos greeketaiotasubdasiavaria \
+greeketaiotasubperispomeni greeketaiotasubpsili greeketaiotasubpsiliperispomeni greeketaiotasubpsilitonos greeketaiotasubpsilivaria \
+greeketaiotasubtonos greeketaiotasubvaria greeketaoxia greeketaperispomeni greeketapsili \
+greeketapsiliperispomeni greeketapsilitonos greeketapsilivaria greeketatonos greeketavaria \
+greekfinalsigma greekgamma greekiota greekiotadasia greekiotadasiaperispomeni \
+greekiotadasiatonos greekiotadasiavaria greekiotadialytika greekiotadialytikaperispomeni greekiotadialytikatonos \
+greekiotadialytikavaria greekiotamacron greekiotaoxia greekiotaperispomeni greekiotapsili \
+greekiotapsiliperispomeni greekiotapsilitonos greekiotapsilivaria greekiotatonos greekiotavaria \
+greekiotavrachy greekkappa greekkoppa greeklambda greekmu \
+greeknu greeknumerals greeknumkoppa greekomega greekomegadasia \
+greekomegadasiaperispomeni greekomegadasiatonos greekomegadasiavaria greekomegaiotasub greekomegaiotasubdasia \
+greekomegaiotasubdasiaperispomeni greekomegaiotasubdasiatonos greekomegaiotasubdasiavaria greekomegaiotasubperispomeni greekomegaiotasubpsili \
+greekomegaiotasubpsiliperispomeni greekomegaiotasubpsilitonos greekomegaiotasubpsilivaria greekomegaiotasubtonos greekomegaiotasubvaria \
+greekomegaoxia greekomegaperispomeni greekomegapsili greekomegapsiliperispomeni greekomegapsilitonos \
+greekomegapsilivaria greekomegatonos greekomegavaria greekomicron greekomicrondasia \
+greekomicrondasiatonos greekomicrondasiavaria greekomicronoxia greekomicronpsili greekomicronpsilitonos \
+greekomicronpsilivaria greekomicrontonos greekomicronvaria greekoxia greekperispomeni \
+greekphi greekphialt greekpi greekpialt greekprosgegrammeni \
+greekpsi greekpsili greekpsiliperispomeni greekpsilivaria greekrho \
+greekrhoalt greekrhodasia greekrhopsili greeksampi greeksigma \
+greeksigmalunate greekstigma greektau greektheta greekthetaalt \
+greektonos greekupsilon greekupsilondasia greekupsilondasiaperispomeni greekupsilondasiatonos \
+greekupsilondasiavaria greekupsilondiaeresis greekupsilondialytikaperispomeni greekupsilondialytikatonos greekupsilondialytikavaria \
+greekupsilonmacron greekupsilonoxia greekupsilonperispomeni greekupsilonpsili greekupsilonpsiliperispomeni \
+greekupsilonpsilitonos greekupsilonpsilivaria greekupsilontonos greekupsilonvaria greekupsilonvrachy \
+greekvaria greekxi greekzeta grid groupedcommand \
+gsetboxllx gsetboxlly gstroke gt gtrapprox \
+gtrdot gtreqless gtreqqless gtrless gtrsim \
+guilsingleleft guilsingleright gujaratinumerals gurmurkhinumerals hairline \
+hairspace halflinestrut halfstrut halfwaybox handletokens \
+handwritten hangul hanzi hash hat \
+hbar hboxofvbox hboxreference hcaron hcircumflex \
+hdofstring headhbox headlanguage headnumber headnumbercontent \
+headnumberdistance headnumberwidth headreferenceattributes headsetupspacing headtext \
+headtextcontent headtextdistance headtexts headtextwidth headvbox \
+headwidth heartsuit hebrewAlef hebrewAyin hebrewBet \
+hebrewDalet hebrewGimel hebrewHe hebrewHet hebrewKaf \
+hebrewKaffinal hebrewLamed hebrewMem hebrewMemfinal hebrewNun \
+hebrewNunfinal hebrewPe hebrewPefinal hebrewQof hebrewResh \
+hebrewSamekh hebrewShin hebrewTav hebrewTet hebrewTsadi \
+hebrewTsadifinal hebrewVav hebrewYod hebrewZayin hebrewnumerals \
+heightanddepthofstring heightofstring heightspanningtext helptext hexnumber \
+hexstringtonumber hglue hiddenbar hiddencitation hiddencite \
+hideblocks high highlight highordinalstr hilo \
+himilo hl hookleftarrow hookrightarrow horizontalgrowingbar \
+horizontalpositionbar hpackbox hpackedbox hphantom hpos \
+hsizefraction hslash hsmash hsmashbox hsmashed \
+hspace hstroke htdpofstring htofstring hyphen \
+hyphenatedcoloredword hyphenatedfile hyphenatedfilename hyphenatedhbox hyphenatedpar \
+hyphenatedurl hyphenatedword iacute ibox ibreve \
+icaron icircumflex ideographichalffillspace ideographicspace idiaeresis \
+idotaccent idotbelow idoublegrave idxfromluatable ifassignment \
+iff ifinobject ifinoutputstream ifparameters iftrialtypesetting \
+ignoreimplicitspaces ignoretagsinexport ignorevalue igrave ihook \
+ii iiiint iiiintop iiint iiintop \
+iint iintop iinvertedbreve ijligature imacron \
+imaginaryi imaginaryj imath immediatesavetwopassdata impliedby \
+implies imply in includemenu includesvgbuffer \
+includesvgfile includeversioninfo increment incrementcounter incrementedcounter \
+incrementpagenumber incrementsubpagenumber incrementvalue indentation index \
+infofont infofontbold inframed infty infull \
+inheritparameter inhibitblank ininner ininneredge ininnermargin \
+initializeboxstack inleft inleftedge inleftmargin inline \
+inlinebuffer inlinedbox inlinemath inlinemathematics inlinemessage \
+inlineordisplaymath inlineprettyprintbuffer inlinerange inmargin inmframed \
+innerflushshapebox inother inouter inouteredge inoutermargin \
+input inputfilebarename inputfilename inputfilerealsuffix inputfilesuffix \
+inputgivenfile inright inrightedge inrightmargin insertpages \
+inspectluatable installactionhandler installactivecharacter installanddefineactivecharacter installattributestack \
+installautocommandhandler installautosetuphandler installbasicautosetuphandler installbasicparameterhandler installbottomframerenderer \
+installcommandhandler installcorenamespace installctxfunction installctxscanner installdefinehandler \
+installdefinitionset installdefinitionsetmember installdirectcommandhandler installdirectparameterhandler installdirectparametersethandler \
+installdirectsetuphandler installdirectstyleandcolorhandler installframedautocommandhandler installframedcommandhandler installglobalmacrostack \
+installlanguage installleftframerenderer installmacrostack installnamespace installoutputroutine \
+installpagearrangement installparameterhandler installparameterhashhandler installparametersethandler installparentinjector \
+installprotectedctxfunction installprotectedctxscanner installrightframerenderer installrootparameterhandler installsetuphandler \
+installsetuponlycommandhandler installshipoutmethod installsimplecommandhandler installsimpleframedcommandhandler installstyleandcolorhandler \
+installswitchcommandhandler installswitchsetuphandler installtexdirective installtextracker installtopframerenderer \
+installunitsseparator installunitsspace installversioninfo int intclockwise \
+integerrounding integers interactionbar interactionbuttons interactionmenu \
+intercal intertext interwordspaceafter interwordspacebefore interwordspaces \
+interwordspacesafter interwordspacesbefore intop invisiblecomma invisibleplus \
+invisibletimes invokepagehandler iogonek iota italic \
+italicbold italiccorrection italicface item items \
+itemtag itilde jcaron jcircumflex ji \
+jmath jobfilename jobfilesuffix kap kappa \
+kcaron kcommaaccent keepblocks keeplinestogether keepunwantedspaces \
+kerncharacters khook kkra koreancirclenumerals koreannumerals \
+koreannumeralsc koreannumeralsp koreanparentnumerals lVert labellanguage \
+labeltext labeltexts lacute lambda lambdabar \
+land langle language languageCharacters languagecharacters \
+languagecharwidth laplace lastcounter lastcountervalue lastdigit \
+lastlinewidth lastnaturalboxdp lastnaturalboxht lastnaturalboxwd lastparwrapper \
+lastpredefinedsymbol lastrealpage lastrealpagenumber lastsubcountervalue lastsubpage \
+lastsubpagenumber lasttwodigits lastuserpage lastuserpagenumber lateluacode \
+latin layeredtext layerheight layerwidth lazysavetaggedtwopassdata \
+lazysavetwopassdata lbar lbox lbrace lbracket \
+lcaron lceil lchexnumber lchexnumbers lcommaaccent \
+lcurl ldot ldotmiddle ldotp ldots \
+le leadsto left leftaligned leftarrow \
+leftarrowtail leftarrowtriangle leftbottombox leftbox leftdasharrow \
+leftguillemot leftharpoondown leftharpoonup lefthbox leftheadtext \
+leftlabeltext leftleftarrows leftline leftmathlabeltext leftorrighthbox \
+leftorrightvbox leftorrightvtop leftrightarrow leftrightarrows leftrightarrowtriangle \
+leftrightharpoons leftrightsquigarrow leftskipadaption leftsquigarrow leftsubguillemot \
+leftthreetimes lefttopbox lefttoright lefttorighthbox lefttorightvbox \
+lefttorightvtop leftwavearrow leftwhitearrow leq leqq \
+leqslant lessapprox lessdot lesseqgtr lesseqqgtr \
+lessgtr lesssim letbeundefined letcatcodecommand letcscsname \
+letcsnamecs letcsnamecsname letdummyparameter letempty letgvalue \
+letgvalueempty letgvalurelax letterampersand letterat letterbackslash \
+letterbar letterbgroup letterclosebrace lettercolon letterdollar \
+letterdoublequote letteregroup letterescape letterexclamationmark letterhash \
+letterhat letterleftbrace letterleftbracket letterleftparenthesis letterless \
+lettermore letteropenbrace letterpercent letterquestionmark letterrightbrace \
+letterrightbracket letterrightparenthesis lettersinglequote letterslash letterspacing \
+lettertilde letterunderscore letvalue letvalueempty letvaluerelax \
+lfence lfloor lgroup lhbox lhooknwarrow \
+lhooksearrow limitatefirstline limitatelines limitatetext line \
+linebox linefeed linefillerhbox linefillervbox linefillervtop \
+linenote linespanningtext linethickness linterval listcitation \
+listcite listlength listnamespaces literalmode ljligature \
+ll llangle llap llbracket llcorner \
+lll llless llointerval lmoustache lnapprox \
+lneq lneqq lnot lnsim loadanyfile \
+loadanyfileonce loadbtxdefinitionfile loadbtxreplacementfile loadcldfile loadcldfileonce \
+loadfontgoodies loadluafile loadluafileonce loadspellchecklist loadtexfile \
+loadtexfileonce loadtypescriptfile localframed localframedwithsettings localhsize \
+localpopbox localpopmacro localpushbox localpushmacro localundefine \
+locatedfilepath locatefilepath locfilename logo lohi \
+lointerval lomihi longleftarrow longleftrightarrow longmapsfrom \
+longmapsto longrightarrow longrightsquigarrow looparrowleft looparrowright \
+lor low lowerbox lowercased lowercasestring \
+lowercasing lowerleftdoubleninequote lowerleftsingleninequote lowerrightdoubleninequote lowerrightsingleninequote \
+lozenge lparent lrcorner lrointerval lrtbbox \
+lstroke lt ltimes ltop ltrhbox \
+ltrvbox ltrvtop luaTeX luacode luaconditional \
+luaenvironment luaexpanded luaexpr luafunction luajitTeX \
+luamajorversion luametaTeX luaminorversion luaparameterset luasetup \
+luaversion lvert m mLeftarrow mLeftrightarrow \
+mRightarrow mVert mainlanguage makecharacteractive makerawcommalist \
+makestrutofbox maltese mapfontsize maps mapsas \
mapsdown mapsfrom mapsto mapsup margindata \
margintext markcontent markedpages marking markinjector \
-markpage markreferencepage mat math mathampersand \
-mathbf mathbi mathblackboard mathbs mathdefault \
-mathdollar mathdouble mathematics mathfraktur mathfunction \
-mathhash mathhyphen mathit mathitalic mathlabellanguage \
-mathlabeltext mathlabeltexts mathop mathover mathpercent \
-mathrm mathscript mathsl mathss mathtext \
-mathtextbf mathtextbi mathtextbs mathtextit mathtextsl \
-mathtexttf mathtf mathtriplet mathtt mathunder \
-mathupright mathword mathwordbf mathwordbi mathwordbs \
-mathwordit mathwordsl mathwordtf maxaligned mbox \
-mcframed measure measured measuredangle measuredeq \
-medskip medspace menubutton mequal message \
-mfence mframed mfunction mfunctionlabeltext mhbox \
-mho mhookleftarrow mhookrightarrow mid midaligned \
-middle middlealigned middlebox midhbox midsubsentence \
-minimalhbox minus minuscolon mirror mixedcaps \
-mkvibuffer mleftarrow mleftharpoondown mleftharpoonup mleftrightarrow \
-mleftrightharpoons mmapsto models moduleparameter molecule \
-mono monobold mononormal month monthlong \
-monthshort mp mprandomnumber mrel mrightarrow \
-mrightharpoondown mrightharpoonup mrightleftharpoons mrightoverleftarrow mtext \
-mtriplerel mtwoheadleftarrow mtwoheadrightarrow mu multimap \
-mvert nHdownarrow nHuparrow nLeftarrow nLeftrightarrow \
-nRightarrow nVDash nVdash nVleftarrow nVleftrightarrow \
-nVrightarrow nabla nacute namedheadnumber namedstructureheadlocation \
-namedstructureuservariable namedstructurevariable namedtaggedlabeltexts napostrophe napprox \
-napproxEq narrownobreakspace nasymp natural naturalhbox \
-naturalhpack naturalnumbers naturaltpack naturalvbox naturalvcenter \
-naturalvpack naturalvtop naturalwd ncaron ncommaaccent \
-ncong ncurl ndivides ne nearrow \
-neg negatecolorbox negated negativesign negemspace \
-negenspace negthinspace neng neq nequiv \
-neswarrow newattribute newcatcodetable newcounter newevery \
-newfrenchspacing newluatable newmode newsignal newsystemmode \
-nexists nextbox nextboxdp nextboxht nextboxhtdp \
-nextboxwd nextcounter nextcountervalue nextdepth nextparagraphs \
-nextrealpage nextrealpagenumber nextsubcountervalue nextsubpage nextsubpagenumber \
-nextuserpage nextuserpagenumber ngeq ngrave ngtr \
-ngtrless ngtrsim ni nihongo nin \
-njligature nleftarrow nleftrightarrow nleq nless \
-nlessgtr nlesssim nmid nni nobar \
-nobreakspace nocap nocharacteralign nocitation nocite \
-nodetostring noffigurepages noflines noflinesinbox noflocalfloats \
-noheaderandfooterlines noheightstrut nohyphens noindentation noitem \
-nonfrenchspacing nonmathematics nonvalidassignment normal normalboldface \
-normalframedwithsettings normalitalicface normalizebodyfontsize normalizedfontsize normalizefontdepth \
-normalizefontheight normalizefontline normalizefontwidth normalizetextdepth normalizetextheight \
-normalizetextline normalizetextwidth normalslantedface normaltypeface nospace \
-not note notesymbol notin notopandbottomlines \
-notragged nowns nparallel nprec npreccurlyeq \
-nrightarrow nsim nsimeq nsqsubseteq nsqsupseteq \
-nsubset nsubseteq nsucc nsucccurlyeq nsupset \
-nsupseteq ntilde ntimes ntriangleleft ntrianglelefteq \
-ntriangleright ntrianglerighteq nu numberofpoints numbers \
-nvDash nvdash nvleftarrow nvleftrightarrow nvrightarrow \
-nwarrow nwsearrow oacute obeydepth objectdepth \
-objectheight objectmargin objectwidth obox obreve \
-ocaron ocircumflex ocircumflexacute ocircumflexdotbelow ocircumflexgrave \
-ocircumflexhook ocircumflextilde octnumber octstringtonumber odiaeresis \
-odiaeresismacron odot odotaccent odotaccentmacron odotbelow \
-odoublegrave oeligature offset offsetbox ograve \
-ohm ohook ohorn ohornacute ohorndotbelow \
-ohorngrave ohornhook ohorntilde ohungarumlaut oiiint \
-oiint oint ointclockwise ointctrclockwise oinvertedbreve \
-omacron omega omicron ominus onedigitrounding \
-oneeighth onefifth onehalf onequarter onesixth \
-onesuperior onethird oogonek oogonekmacron operatorlanguage \
-operatortext oplus ordfeminine ordinaldaynumber ordinalstr \
-ordmasculine ornamenttext oslash ostroke ostrokeacute \
-otilde otildemacron otimes outputfilename outputstreambox \
-outputstreamcopy outputstreamunvbox outputstreamunvcopy over overbar \
-overbars overbartext overbarunderbar overbrace overbracetext \
-overbraceunderbrace overbracket overbrackettext overbracketunderbracket overlaybutton \
-overlaycolor overlaydepth overlayfigure overlayheight overlayimage \
-overlaylinecolor overlaylinewidth overlayoffset overlayrollbutton overlaywidth \
-overleftarrow overleftharpoondown overleftharpoonup overleftrightarrow overloaderror \
-overparent overparenttext overparentunderparent overrightarrow overrightharpoondown \
-overrightharpoonup overset overstrike overstrikes overtwoheadleftarrow \
-overtwoheadrightarrow owns page pagearea pagebreak \
-pagefigure pageinjection pagenumber pagereference pagestaterealpage \
-pagestaterealpageorder paletsize paragraphmark parallel part \
-partial pdfTeX pdfactualtext pdfbackendactualtext pdfbackendcurrentresources \
-pdfbackendsetcatalog pdfbackendsetcolorspace pdfbackendsetextgstate pdfbackendsetinfo pdfbackendsetname \
-pdfbackendsetpageattribute pdfbackendsetpageresource pdfbackendsetpagesattribute pdfbackendsetpattern pdfbackendsetshade \
-pdfcolor pdfeTeX percent percentdimen periodcentered \
-periods permitcaretescape permitcircumflexescape permitspacesbetweengroups perp \
-persiandecimals persiandecimalseparator persiannumerals persianthousandsseparator perthousand \
-phantom phantombox phi phook pi \
-pickupgroupedcommand pitchfork placeattachments placebookmarks placebtxrendering \
-placechemical placecitation placecombinedlist placecomments placecontent \
-placecurrentformulanumber placedbox placefigure placefloat placefloatcaption \
-placefloatwithsetups placefootnotes placeformula placeframed placegraphic \
-placeheadnumber placeheadtext placehelp placeholder placeindex \
-placeinitial placeintermezzo placelayer placelayeredtext placelegend \
-placelist placelistofabbreviations placelistofchemicals placelistoffigures placelistofgraphics \
-placelistofintermezzi placelistoflogos placelistofpublications placelistofsorts placelistofsynonyms \
-placelistoftables placelocalfootnotes placelocalnotes placement placenamedfloat \
-placenamedformula placenotes placeongrid placeontopofeachother placepagenumber \
-placepairedbox placeparallel placerawheaddata placerawheadnumber placerawheadtext \
-placerawlist placeregister placerenderingwindow placesidebyside placesubformula \
-placetable pm popattribute popmacro popmode \
-popsystemmode position positionoverlay positionregionoverlay positivesign \
-postponenotes prec precapprox preccurlyeq preceq \
-preceqq precnapprox precneq precneqq precnsim \
-precsim predefinedfont predefinefont predefinesymbol prefixedpagenumber \
-prefixlanguage prefixtext prependetoks prependgvalue prependtocommalist \
-prependtoks prependtoksonce prependvalue prerollblank presetbtxlabeltext \
-presetdocument presetfieldsymbols presetheadtext presetlabeltext presetmathlabeltext \
-presetoperatortext presetprefixtext presetsuffixtext presettaglabeltext presetunittext \
-pretocommalist prettyprintbuffer prevcounter prevcountervalue preventmode \
-prevrealpage prevrealpagenumber prevsubcountervalue prevsubpage prevsubpagenumber \
-prevuserpage prevuserpagenumber prime primes procent \
-processMPbuffer processMPfigurefile processaction processallactionsinset processassignlist \
-processassignmentcommand processassignmentlist processbetween processblocks processbodyfontenvironmentlist \
-processcolorcomponents processcommacommand processcommalist processcommalistwithparameters processcontent \
-processfile processfilemany processfilenone processfileonce processfirstactioninset \
-processisolatedchars processisolatedwords processlinetablebuffer processlinetablefile processlist \
-processmonth processranges processseparatedlist processtexbuffer processtokens \
-processuntil processxtablebuffer processyear prod product \
-profiledbox profilegivenbox program project propto \
-pseudoMixedCapped pseudoSmallCapped pseudoSmallcapped pseudosmallcapped psi \
-punctuationspace purenumber pushattribute pushbutton pushmacro \
-pushmode pushoutputstream pushsystemmode putboxincache putnextboxincache \
-qquad quad quadrupleprime quads quarterstrut \
-questiondown questionedeq quitcommalist quitprevcommalist quittypescriptscanning \
-quotation quote quotedbl quotedblbase quotedblleft \
-quotedblright quoteleft quoteright quotesingle quotesinglebase \
-rVert racute raggedbottom raggedcenter raggedleft \
-raggedright raggedwidecenter raisebox randomizetext randomnumber \
-rangle rationals rawcounter rawcountervalue rawdate \
-rawdoifelseinset rawdoifinset rawdoifinsetelse rawgetparameters rawprocessaction \
-rawprocesscommacommand rawprocesscommalist rawstructurelistuservariable rawsubcountervalue rbox \
-rbrace rbracket rcaron rceil rcommaaccent \
-rdoublegrave readfile readfixfile readjobfile readlocfile \
-readsetfile readsysfile readtexfile readxmlfile realSmallCapped \
-realSmallcapped realpagenumber reals realsmallcapped recursedepth \
-recurselevel recursestring redoconvertfont ref reference \
-referencecolumnnumber referencepagedetail referencepagestate referenceprefix referencerealpage \
-referencesymbol referring registerattachment registerctxluafile registered \
-registerexternalfigure registerfontclass registerhyphenationexception registerhyphenationpattern registermenubuttons \
-registerparwrapper registerparwrapperreverse registersort registersynonym registerunit \
-regular relatemarking relateparameterhandlers relaxvalueifundefined relbar \
-remainingcharacters remark removebottomthings removedepth removefromcommalist \
-removelastskip removelastspace removemarkedcontent removepunctuation removesubstring \
-removetoks removeunwantedspaces repeathead replacefeature replaceincommalist \
-replaceword rescan rescanwithsetup resetMPdrawing resetMPenvironment \
-resetMPinstance resetallattributes resetandaddfeature resetbar resetboxesincache \
-resetbreakpoints resetbuffer resetcharacteralign resetcharacterkerning resetcharacterspacing \
-resetcharacterstripping resetcollector resetcounter resetctxscanner resetdigitsmanipulation \
-resetdirection resetfeature resetflag resetfontcolorsheme resetfontfallback \
-resetfontsolution resethyphenationfeatures resetinjector resetinteractionmenu resetitaliccorrection \
-resetlayer resetlocalfloats resetmarker resetmarking resetmode \
-resetpagenumber resetparallel resetpath resetpenalties resetperiodkerning \
-resetprofile resetrecurselevel resetreference resetreplacements resetscript \
-resetsetups resetshownsynonyms resetsubpagenumber resetsymbolset resetsystemmode \
-resettimer resettokenlist resettrackers resettrialtypesetting resetusedsortings \
-resetusedsynonyms resetuserpagenumber resetvalue resetvisualizers reshapebox \
-resolvedglyphdirect resolvedglyphstyled restartcounter restorebox restorecatcodes \
-restorecounter restorecurrentattributes restoreendofline restoreglobalbodyfont restriction \
-retestfeature reusableMPgraphic reuseMPgraphic reuserandomseed reverseddoubleprime \
-reversedprime reversedtripleprime reversehbox reversehpack reversetpack \
-reversevbox reversevboxcontent reversevpack reversevtop revivefeature \
-rfence rfloor rgroup rhbox rho \
-rhooknearrow rhookswarrow right rightaligned rightangle \
-rightarrow rightarrowbar rightarrowtail rightarrowtriangle rightbottombox \
-rightbox rightdasharrow rightguillemot rightharpoondown rightharpoonup \
-righthbox rightheadtext rightlabeltext rightleftarrows rightleftharpoons \
-rightline rightmathlabeltext rightorleftpageaction rightpageorder rightrightarrows \
-rightskipadaption rightsquigarrow rightsubguillemot rightthreearrows rightthreetimes \
-righttoleft righttolefthbox righttoleftvbox righttoleftvtop righttopbox \
-rightwavearrow rightwhitearrow ring rinterval rinvertedbreve \
-risingdotseq rlap rlointerval rmoustache rneq \
-robustaddtocommalist robustdoifelseinset robustdoifinsetelse robustpretocommalist rointerval \
-rollbutton roman romanC romanD romanI \
-romanII romanIII romanIV romanIX romanL \
-romanM romanV romanVI romanVII romanVIII \
-romanX romanXI romanXII romanc romand \
-romani romanii romaniii romaniv romanix \
-romanl romanm romannumerals romanv romanvi \
-romanvii romanviii romanx romanxi romanxii \
-rootradical rotate rparent rrangle rrbracket \
-rrointerval rtimes rtlhbox rtlvbox rtlvtop \
-rtop ruby ruledhbox ruledhpack ruledmbox \
-ruledtopv ruledtpack ruledvbox ruledvpack ruledvtop \
-runMPbuffer runninghbox russianNumerals russiannumerals rvert \
-sacute safechar samplefile sans sansbold \
-sansnormal sansserif savebox savebtxdataset savebuffer \
-savecounter savecurrentattributes savenormalmeaning savetaggedtwopassdata savetwopassdata \
-sbox scale scaron scedilla schwa \
+markpage markreferencepage mat math mathDitalicshape \
+mathDuprightshape mathampersand mathbf mathbi mathblackboard \
+mathbs mathdefault mathditalicshape mathdollar mathdouble \
+mathduprightshape mathematics mathfraktur mathfunction mathhash \
+mathhyphen mathit mathitalic mathlabellanguage mathlabeltext \
+mathlabeltexts mathop mathover mathpercent mathrm \
+mathscript mathsl mathss mathtext mathtextbf \
+mathtextbi mathtextbs mathtextit mathtextsl mathtexttf \
+mathtf mathtriplet mathtt mathunder mathupright \
+mathword mathwordbf mathwordbi mathwordbs mathwordit \
+mathwordsl mathwordtf maxaligned mbox mcframed \
+measure measured measuredangle measuredeq medskip \
+medspace menubutton mequal message mfence \
+mframed mfunction mfunctionlabeltext mhbox mho \
+mhookleftarrow mhookrightarrow mid midaligned middle \
+middlealigned middlebox midhbox midsubsentence minimalhbox \
+minus minuscolon mirror mixedcaps mkvibuffer \
+mleftarrow mleftharpoondown mleftharpoonup mleftrightarrow mleftrightharpoons \
+mmapsto models moduleparameter molecule mono \
+monobold mononormal month monthlong monthshort \
+mp mprandomnumber mrel mrightarrow mrightharpoondown \
+mrightharpoonup mrightleftharpoons mrightoverleftarrow mtext mtriplerel \
+mtwoheadleftarrow mtwoheadrightarrow mu multimap mvert \
+nHdownarrow nHuparrow nLeftarrow nLeftrightarrow nRightarrow \
+nVDash nVdash nVleftarrow nVleftrightarrow nVrightarrow \
+nabla nacute namedheadnumber namedstructureheadlocation namedstructureuservariable \
+namedstructurevariable namedtaggedlabeltexts napostrophe napprox napproxEq \
+narrownobreakspace nasymp natural naturalhbox naturalhpack \
+naturalnumbers naturaltpack naturalvbox naturalvcenter naturalvpack \
+naturalvtop naturalwd ncaron ncommaaccent ncong \
+ncurl ndivides ne nearrow negatecolorbox \
+negated negativesign negemspace negenspace negthinspace \
+neng neq nequiv neswarrow newattribute \
+newcatcodetable newcounter newevery newfrenchspacing newluatable \
+newmode newsignal newsystemmode nexists nextbox \
+nextboxdp nextboxht nextboxhtdp nextboxwd nextcounter \
+nextcountervalue nextdepth nextparagraphs nextrealpage nextrealpagenumber \
+nextsubcountervalue nextsubpage nextsubpagenumber nextuserpage nextuserpagenumber \
+ngeq ngrave ngtr ngtrless ngtrsim \
+ni nihongo nin njligature nleftarrow \
+nleftrightarrow nleq nless nlessgtr nlesssim \
+nmid nni nobar nobreakspace nocap \
+nocharacteralign nocitation nocite nodetostring noffigurepages \
+noflines noflinesinbox noflocalfloats noheaderandfooterlines noheightstrut \
+nohyphens noindentation noitem nonfrenchspacing nonmathematics \
+nonvalidassignment normal normalboldface normalframedwithsettings normalitalicface \
+normalizebodyfontsize normalizedfontsize normalizefontdepth normalizefontheight normalizefontline \
+normalizefontwidth normalizetextdepth normalizetextheight normalizetextline normalizetextwidth \
+normalslantedface normaltypeface nospace not note \
+notesymbol notimes notin notopandbottomlines notragged \
+nowns nparallel nprec npreccurlyeq nrightarrow \
+nsim nsimeq nsqsubseteq nsqsupseteq nsubset \
+nsubseteq nsucc nsucccurlyeq nsupset nsupseteq \
+ntilde ntimes ntriangleleft ntrianglelefteq ntriangleright \
+ntrianglerighteq nu numberofpoints numbers nvDash \
+nvdash nvleftarrow nvleftrightarrow nvrightarrow nwarrow \
+nwsearrow oacute obeydepth objectdepth objectheight \
+objectmargin objectwidth obox obreve ocaron \
+ocircumflex ocircumflexacute ocircumflexdotbelow ocircumflexgrave ocircumflexhook \
+ocircumflextilde octnumber octstringtonumber odiaeresis odiaeresismacron \
+odot odotaccent odotaccentmacron odotbelow odoublegrave \
+oeligature offset offsetbox ograve ohm \
+ohook ohorn ohornacute ohorndotbelow ohorngrave \
+ohornhook ohorntilde ohungarumlaut oiiint oiint \
+oint ointclockwise ointctrclockwise oinvertedbreve omacron \
+omega omicron ominus onedigitrounding oneeighth \
+onefifth onehalf onequarter onesixth onesuperior \
+onethird oogonek oogonekmacron operatorlanguage operatortext \
+oplus ordfeminine ordinaldaynumber ordinalstr ordmasculine \
+ornamenttext oslash ostroke ostrokeacute otilde \
+otildemacron otimes outputfilename outputstreambox outputstreamcopy \
+outputstreamunvbox outputstreamunvcopy over overbar overbars \
+overbartext overbarunderbar overbrace overbracetext overbraceunderbrace \
+overbracket overbrackettext overbracketunderbracket overlaybutton overlaycolor \
+overlaydepth overlayfigure overlayheight overlayimage overlaylinecolor \
+overlaylinewidth overlayoffset overlayrollbutton overlaywidth overleftarrow \
+overleftharpoondown overleftharpoonup overleftrightarrow overloaderror overparent \
+overparenttext overparentunderparent overrightarrow overrightharpoondown overrightharpoonup \
+overset overstrike overstrikes overtwoheadleftarrow overtwoheadrightarrow \
+owns page pagearea pagebreak pagefigure \
+pageinjection pagenumber pagereference pagestaterealpage pagestaterealpageorder \
+paletsize paragraphmark parallel part partial \
+pdfTeX pdfactualtext pdfbackendactualtext pdfbackendcurrentresources pdfbackendsetcatalog \
+pdfbackendsetcolorspace pdfbackendsetextgstate pdfbackendsetinfo pdfbackendsetname pdfbackendsetpageattribute \
+pdfbackendsetpageresource pdfbackendsetpagesattribute pdfbackendsetpattern pdfbackendsetshade pdfcolor \
+pdfeTeX percent percentdimen periodcentered periods \
+permitcaretescape permitcircumflexescape permitspacesbetweengroups perp persiandecimals \
+persiandecimalseparator persiannumerals persianthousandsseparator perthousand phantom \
+phantombox phi phook pi pickupgroupedcommand \
+pitchfork placeattachments placebookmarks placebtxrendering placechemical \
+placecitation placecombinedlist placecomments placecontent placecurrentformulanumber \
+placedbox placefigure placefloat placefloatcaption placefloatwithsetups \
+placefootnotes placeformula placeframed placegraphic placeheadnumber \
+placeheadtext placehelp placeholder placeindex placeinitial \
+placeintermezzo placelayer placelayeredtext placelegend placelist \
+placelistofabbreviations placelistofchemicals placelistoffigures placelistofgraphics placelistofintermezzi \
+placelistoflogos placelistofpublications placelistofsorts placelistofsynonyms placelistoftables \
+placelocalfootnotes placelocalnotes placement placenamedfloat placenamedformula \
+placenotes placeongrid placeontopofeachother placepagenumber placepairedbox \
+placeparallel placerawheaddata placerawheadnumber placerawheadtext placerawlist \
+placeregister placerenderingwindow placesidebyside placesubformula placetable \
+pm popattribute popmacro popmode popsystemmode \
+position positionoverlay positionregionoverlay positivesign postponenotes \
+prec precapprox preccurlyeq preceq preceqq \
+precnapprox precneq precneqq precnsim precsim \
+predefinedfont predefinefont predefinesymbol prefixedpagenumber prefixlanguage \
+prefixtext prependetoks prependgvalue prependtocommalist prependtoks \
+prependtoksonce prependvalue prerollblank presetbtxlabeltext presetdocument \
+presetfieldsymbols presetheadtext presetlabeltext presetmathlabeltext presetoperatortext \
+presetprefixtext presetsuffixtext presettaglabeltext presetunittext pretocommalist \
+prettyprintbuffer prevcounter prevcountervalue preventmode prevrealpage \
+prevrealpagenumber prevsubcountervalue prevsubpage prevsubpagenumber prevuserpage \
+prevuserpagenumber prime primes procent processMPbuffer \
+processMPfigurefile processaction processallactionsinset processassignlist processassignmentcommand \
+processassignmentlist processbetween processblocks processbodyfontenvironmentlist processcolorcomponents \
+processcommacommand processcommalist processcommalistwithparameters processcontent processfile \
+processfilemany processfilenone processfileonce processfirstactioninset processisolatedchars \
+processisolatedwords processlinetablebuffer processlinetablefile processlist processmonth \
+processranges processseparatedlist processtexbuffer processtokens processuntil \
+processxtablebuffer processyear prod product profiledbox \
+profilegivenbox program project propto pseudoMixedCapped \
+pseudoSmallCapped pseudoSmallcapped pseudosmallcapped psi punctuationspace \
+purenumber pushattribute pushbutton pushmacro pushmode \
+pushoutputstream pushsystemmode putboxincache putnextboxincache qquad \
+quad quadrupleprime quads quarterstrut questiondown \
+questionedeq quitcommalist quitprevcommalist quittypescriptscanning quotation \
+quote quotedbl quotedblbase quotedblleft quotedblright \
+quoteleft quoteright quotesingle quotesinglebase rVert \
+racute raggedbottom raggedcenter raggedleft raggedright \
+raggedwidecenter raisebox randomizetext randomnumber rangle \
+rationals rawcounter rawcountervalue rawdate rawdoifelseinset \
+rawdoifinset rawdoifinsetelse rawgetparameters rawprocessaction rawprocesscommacommand \
+rawprocesscommalist rawstructurelistuservariable rawsubcountervalue rbox rbrace \
+rbracket rcaron rceil rcommaaccent rdoublegrave \
+readfile readfixfile readjobfile readlocfile readsetfile \
+readsysfile readtexfile readxmlfile realSmallCapped realSmallcapped \
+realpagenumber reals realsmallcapped recursedepth recurselevel \
+recursestring redoconvertfont ref reference referencecolumnnumber \
+referencepagedetail referencepagestate referenceprefix referencerealpage referencesymbol \
+referring registerattachment registerctxluafile registered registerexternalfigure \
+registerfontclass registerhyphenationexception registerhyphenationpattern registermenubuttons registerparwrapper \
+registerparwrapperreverse registersort registersynonym registerunit regular \
+relatemarking relateparameterhandlers relaxvalueifundefined relbar remainingcharacters \
+remark removebottomthings removedepth removefromcommalist removelastskip \
+removelastspace removemarkedcontent removepunctuation removesubstring removetoks \
+removeunwantedspaces repeathead replacefeature replaceincommalist replaceword \
+rescan rescanwithsetup resetMPdrawing resetMPenvironment resetMPinstance \
+resetallattributes resetandaddfeature resetbar resetboxesincache resetbreakpoints \
+resetbuffer resetcharacteralign resetcharacterkerning resetcharacterspacing resetcharacterstripping \
+resetcollector resetcounter resetctxscanner resetdigitsmanipulation resetdirection \
+resetfeature resetflag resetfontcolorsheme resetfontfallback resetfontsolution \
+resethyphenationfeatures resetinjector resetinteractionmenu resetitaliccorrection resetlayer \
+resetlocalfloats resetmarker resetmarking resetmode resetpagenumber \
+resetparallel resetpath resetpenalties resetperiodkerning resetprofile \
+resetrecurselevel resetreference resetreplacements resetscript resetsetups \
+resetshownsynonyms resetsubpagenumber resetsymbolset resetsystemmode resettimer \
+resettokenlist resettrackers resettrialtypesetting resetusedsortings resetusedsynonyms \
+resetuserpagenumber resetvalue resetvisualizers reshapebox resolvedglyphdirect \
+resolvedglyphstyled restartcounter restorebox restorecatcodes restorecounter \
+restorecurrentattributes restoreendofline restoreglobalbodyfont restriction retestfeature \
+reusableMPgraphic reuseMPgraphic reuserandomseed reverseddoubleprime reversedprime \
+reversedtripleprime reversehbox reversehpack reversetpack reversevbox \
+reversevboxcontent reversevpack reversevtop revivefeature rfence \
+rfloor rgroup rhbox rho rhooknearrow \
+rhookswarrow right rightaligned rightangle rightarrow \
+rightarrowbar rightarrowtail rightarrowtriangle rightbottombox rightbox \
+rightdasharrow rightguillemot rightharpoondown rightharpoonup righthbox \
+rightheadtext rightlabeltext rightleftarrows rightleftharpoons rightline \
+rightmathlabeltext rightorleftpageaction rightpageorder rightrightarrows rightskipadaption \
+rightsquigarrow rightsubguillemot rightthreearrows rightthreetimes righttoleft \
+righttolefthbox righttoleftvbox righttoleftvtop righttopbox rightwavearrow \
+rightwhitearrow ring rinterval rinvertedbreve risingdotseq \
+rlap rlointerval rmoustache rneq robustaddtocommalist \
+robustdoifelseinset robustdoifinsetelse robustpretocommalist rointerval rollbutton \
+roman romanC romanD romanI romanII \
+romanIII romanIV romanIX romanL romanM \
+romanV romanVI romanVII romanVIII romanX \
+romanXI romanXII romanc romand romani \
+romanii romaniii romaniv romanix romanl \
+romanm romannumerals romanv romanvi romanvii \
+romanviii romanx romanxi romanxii rootradical \
+rotate rparent rrangle rrbracket rrointerval \
+rtimes rtlhbox rtlvbox rtlvtop rtop \
+ruby ruledhbox ruledhpack ruledmbox ruledtopv \
+ruledtpack ruledvbox ruledvpack ruledvtop runMPbuffer \
+runninghbox russianNumerals russiannumerals rvert sacute \
+safechar samplefile sans sansbold sansnormal \
+sansserif savebox savebtxdataset savebuffer savecounter \
+savecurrentattributes savenormalmeaning savetaggedtwopassdata savetwopassdata sbox \
+scalarproduct scale scaron scedilla schwa \
schwahook scircumflex scommaaccent screen searrow \
-secondoffivearguments secondoffourarguments secondofsixarguments secondofthreearguments secondofthreeunexpanded \
-secondoftwoarguments secondoftwounexpanded section sectionmark seeindex \
-select selectblocks serializecommalist serializedcommalist serif \
-serifbold serifnormal setJSpreamble setMPlayer setMPpositiongraphic \
-setMPpositiongraphicrange setMPtext setMPvariable setMPvariables setautopagestaterealpageno \
-setbar setbigbodyfont setboxllx setboxlly setbreakpoints \
-setcapstrut setcatcodetable setcharacteralign setcharacteraligndetail setcharactercasing \
-setcharactercleaning setcharacterkerning setcharacterspacing setcharacterstripping setcharstrut \
-setcollector setcolormodell setcounter setcounterown setctxluafunction \
-setcurrentfontclass setdataset setdatavalue setdefaultpenalties setdigitsmanipulation \
-setdirection setdocumentargument setdocumentargumentdefault setdocumentfilename setdummyparameter \
-setelementexporttag setemeasure setevalue setevariable setevariables \
-setexpansion setfirstline setfirstpasscharacteralign setflag setfont \
-setfontcolorsheme setfontfeature setfontsolution setfontstrut setfractions \
-setglobalscript setgmeasure setgvalue setgvariable setgvariables \
-sethboxregister sethyphenatedurlafter sethyphenatedurlbefore sethyphenatedurlnormal sethyphenationfeatures \
-setinitial setinjector setinteraction setinterfacecommand setinterfaceconstant \
-setinterfaceelement setinterfacemessage setinterfacevariable setinternalrendering setitaliccorrection \
-setlayer setlayerframed setlayertext setlinefiller setlocalhsize \
-setlocalscript setluatable setmainbodyfont setmainparbuilder setmarker \
-setmarking setmathstyle setmeasure setmessagetext setminus \
-setmode setnostrut setnote setnotetext setobject \
-setoldstyle setpagereference setpagestate setpagestaterealpageno setparagraphfreezing \
-setpenalties setpercentdimen setperiodkerning setposition setpositionbox \
-setpositiondata setpositiondataplus setpositiononly setpositionplus setpositionstrut \
-setprofile setrandomseed setreference setreferencedobject setregisterentry \
-setreplacements setrigidcolumnbalance setrigidcolumnhsize setscript setsecondpasscharacteralign \
-setsectionblock setsimplecolumnshsize setsmallbodyfont setsmallcaps setstackbox \
-setstructurepageregister setstrut setsuperiors setsystemmode settabular \
-settaggedmetadata settestcrlf settextcontent settightobject settightreferencedobject \
-settightstrut settightunreferencedobject settokenlist settrialtypesetting setuevalue \
-setugvalue setunreferencedobject setup setupMPgraphics setupMPinstance \
-setupMPpage setupMPvariables setupTABLE setupTEXpage setupalign \
-setupalternativestyles setuparranging setupattachment setupattachments setupbackend \
-setupbackground setupbackgrounds setupbar setupbars setupblackrules \
-setupblank setupbleeding setupblock setupbodyfont setupbodyfontenvironment \
-setupbookmark setupbottom setupbottomtexts setupbtx setupbtxdataset \
-setupbtxlabeltext setupbtxlist setupbtxregister setupbtxrendering setupbuffer \
-setupbutton setupcapitals setupcaption setupcaptions setupcharacteralign \
-setupcharacterkerning setupcharacterspacing setupchemical setupchemicalframed setupclipping \
-setupcollector setupcolor setupcolors setupcolumns setupcolumnset \
-setupcolumnsetarea setupcolumnsetareatext setupcolumnsetlines setupcolumnsetspan setupcolumnsetstart \
-setupcombination setupcombinedlist setupcomment setupcontent setupcounter \
-setupdataset setupdelimitedtext setupdescription setupdescriptions setupdirections \
-setupdocument setupeffect setupenumeration setupenumerations setupenv \
-setupexpansion setupexport setupexternalfigure setupexternalfigures setupexternalsoundtracks \
-setupfacingfloat setupfield setupfieldbody setupfieldcategory setupfieldcontentframed \
-setupfieldlabelframed setupfields setupfieldtotalframed setupfiller setupfillinlines \
-setupfillinrules setupfirstline setupfittingpage setupfloat setupfloatframed \
-setupfloats setupfloatsplitting setupfontexpansion setupfontprotrusion setupfonts \
-setupfontsolution setupfooter setupfootertexts setupfootnotes setupforms \
-setupformula setupformulae setupformulaframed setupframed setupframedcontent \
-setupframedtable setupframedtablecolumn setupframedtablerow setupframedtext setupframedtexts \
-setupglobalreferenceprefix setuphead setupheadalternative setupheader setupheadertexts \
-setupheadnumber setupheads setupheadtext setuphelp setuphigh \
-setuphighlight setuphyphenation setuphyphenmark setupindentedtext setupindenting \
-setupindex setupinitial setupinsertion setupinteraction setupinteractionbar \
-setupinteractionmenu setupinteractionscreen setupinterlinespace setupitaliccorrection setupitemgroup \
-setupitemizations setupitemize setupitems setuplabel setuplabeltext \
-setuplanguage setuplayer setuplayeredtext setuplayout setuplayouttext \
-setuplegend setuplinefiller setuplinefillers setuplinenote setuplinenumbering \
-setuplines setuplinetable setuplinewidth setuplist setuplistalternative \
-setuplistextra setuplocalfloats setuplocalinterlinespace setuplow setuplowhigh \
-setuplowmidhigh setupmakeup setupmarginblock setupmargindata setupmarginframed \
-setupmarginrule setupmarginrules setupmarking setupmathalignment setupmathcases \
-setupmathematics setupmathfence setupmathfraction setupmathfractions setupmathframed \
-setupmathlabeltext setupmathmatrix setupmathornament setupmathradical setupmathstackers \
-setupmathstyle setupmixedcolumns setupmodule setupmulticolumns setupnarrower \
-setupnotation setupnotations setupnote setupnotes setupoffset \
-setupoffsetbox setupoperatortext setupoppositeplacing setuporientation setupoutput \
-setupoutputroutine setuppagechecker setuppagecolumns setuppagecomment setuppageinjection \
-setuppageinjectionalternative setuppagenumber setuppagenumbering setuppageshift setuppagestate \
-setuppagetransitions setuppairedbox setuppalet setuppaper setuppapersize \
-setupparagraph setupparagraphintro setupparagraphnumbering setupparagraphs setupparallel \
-setupperiodkerning setupperiods setupplaceholder setupplacement setuppositionbar \
-setuppositioning setupprefixtext setupprocessor setupprofile setupprograms \
-setupquotation setupquote setuprealpagenumber setupreferenceformat setupreferenceprefix \
-setupreferencestructureprefix setupreferencing setupregister setupregisters setuprenderingwindow \
-setuprotate setupruby setups setupscale setupscript \
-setupscripts setupsectionblock setupselector setupshift setupsidebar \
-setupsorting setupspacing setupspellchecking setupstartstop setupstretched \
-setupstrut setupstyle setupsubformula setupsubformulas setupsubpagenumber \
-setupsuffixtext setupsymbols setupsymbolset setupsynctex setupsynonyms \
-setupsystem setuptables setuptabulate setuptagging setuptaglabeltext \
-setuptext setuptextbackground setuptextflow setuptextnote setuptextrules \
-setuptexttexts setupthinrules setuptolerance setuptooltip setuptop \
-setuptoptexts setuptype setuptyping setupunit setupunittext \
-setupurl setupuserdata setupuserdataalternative setupuserpagenumber setupversion \
-setupviewerlayer setupvspacing setupwhitespace setupwithargument setupwithargumentswapped \
-setupxml setupxtable setuvalue setuxvalue setvalue \
-setvariable setvariables setvboxregister setvisualizerfont setvtopregister \
-setwidthof setxmeasure setxvalue setxvariable setxvariables \
-seveneighths sfrac shapedhbox sharp shiftbox \
-shiftdown shiftup showallmakeup showattributes showbodyfont \
-showbodyfontenvironment showboxes showbtxdatasetauthors showbtxdatasetcompleteness showbtxdatasetfields \
-showbtxfields showbtxhashedauthors showbtxtables showchardata showcharratio \
-showcolor showcolorbar showcolorcomponents showcolorgroup showcolorset \
-showcolorstruts showcounter showdirectives showdirsinmargin showedebuginfo \
-showexperiments showfont showfontdata showfontexpansion showfontitalics \
-showfontkerns showfontparameters showfontstrip showfontstyle showframe \
-showglyphdata showglyphs showgrid showgridsnapping showhelp \
-showhyphenationtrace showhyphens showinjector showjustification showkerning \
-showlayout showlayoutcomponents showligature showligatures showlogcategories \
-showluatables showmakeup showmargins showmessage showminimalbaseline \
-shownextbox showotfcomposition showpalet showparentchain showparwrapperstate \
-showprint showsetups showsetupsdefinition showstruts showsymbolset \
-showtimer showtokens showtrackers showvalue showvariable \
-showwarning sigma signalrightpage sim simeq \
-simplealignedbox simplealignedboxplus simplealignedspreadbox simplegroupedcommand simplereversealignedbox \
-simplereversealignedboxplus singalcharacteralign singlebond singleverticalbar sixperemspace \
-sixthofsixarguments slanted slantedbold slantedface slash \
-slicepages slong slovenianNumerals sloveniannumerals small \
-smallbodyfont smallbold smallbolditalic smallboldslanted smallcappedcharacters \
-smallcappedromannumerals smallcaps smaller smallitalicbold smallnormal \
-smallskip smallslanted smallslantedbold smalltype smash \
-smashbox smashboxed smashedhbox smashedvbox smile \
-snaptogrid softhyphen solidus someheadnumber somekindoftab \
-someline somelocalfloat somenamedheadnumber someplace somewhere \
-space spaceddigits spaceddigitsmethod spaceddigitsseparator spaceddigitssymbol \
-spadesuit spanishNumerals spanishnumerals speech sphericalangle \
-splitatasterisk splitatcolon splitatcolons splitatcomma splitatperiod \
-splitdfrac splitfilename splitfloat splitfrac splitoffbase \
-splitofffull splitoffkind splitoffname splitoffpath splitoffroot \
-splitofftokens splitofftype splitstring spreadhbox sqcap \
-sqcup sqrt sqsubset sqsubseteq sqsubsetneq \
-sqsupset sqsupseteq sqsupsetneq square squaredots \
-ssharp stackrel stackscripts star stareq \
-startJScode startJSpreamble startLUA startMP startMPclip \
-startMPcode startMPdefinitions startMPdrawing startMPenvironment startMPextensions \
-startMPinclusions startMPinitializations startMPpage startMPpositiongraphic startMPpositionmethod \
-startMPrun startPARSEDXML startTABLE startTABLEbody startTABLEfoot \
-startTABLEhead startTABLEnested startTABLEnext startTC startTD \
-startTDs startTEX startTEXpage startTH startTN \
-startTR startTRs startTX startTY startXML \
-startalign startalignment startallmodes startappendices startarrangedpages \
-startasciimode startaside startattachment startbackground startbackmatter \
-startbar startbbordermatrix startbitmapimage startblockquote startbodymatter \
-startbordermatrix startboxedcolumns startbtxlabeltext startbtxrenderingdefinitions startbuffer \
-startcases startcatcodetable startcenteraligned startchapter startcharacteralign \
-startcheckedfences startchemical startchemicaltext startcollect startcollecting \
-startcolor startcolorintent startcoloronly startcolorset startcolumns \
-startcolumnset startcolumnsetspan startcombination startcomment startcomponent \
-startcontextcode startcontextdefinitioncode startctxfunction startctxfunctiondefinition startcurrentcolor \
-startcurrentlistentrywrapper startdelimited startdelimitedtext startdisplaymath startdmath \
-startdocument starteffect startelement startembeddedxtable startendnote \
-startendofline startenvironment startexceptions startexpanded startexpandedcollect \
-startextendedcatcodetable startexternalfigurecollection startfacingfloat startfact startfigure \
-startfiguretext startfittingpage startfixed startfloatcombination startfont \
-startfontclass startfontsolution startfootnote startformula startformulas \
-startframed startframedcell startframedcontent startframedrow startframedtable \
-startframedtext startfrontmatter startgoto startgraphictext startgridsnapping \
-starthanging starthbox starthboxestohbox starthboxregister starthead \
-startheadtext starthelptext starthiding starthighlight starthyphenation \
-startimath startindentation startindentedtext startinteraction startinteractionmenu \
-startinterface startintermezzotext startintertext startitem startitemgroup \
-startitemgroupcolumns startitemize startknockout startlabeltext startlanguage \
-startlayout startleftaligned startlegend startline startlinealignment \
-startlinecorrection startlinefiller startlinenote startlinenumbering startlines \
-startlinetable startlinetablebody startlinetablecell startlinetablehead startlocalfootnotes \
-startlocalheadsetup startlocallinecorrection startlocalnotes startlocalsetups startlua \
-startluacode startluaparameterset startluasetups startmakeup startmarginblock \
-startmarginrule startmarkedcontent startmarkpages startmathalignment startmathcases \
-startmathlabeltext startmathmatrix startmathmode startmathstyle startmatrices \
-startmatrix startmaxaligned startmdformula startmidaligned startmiddlealigned \
-startmiddlemakeup startmixedcolumns startmode startmodeset startmodule \
-startmoduletestsection startmpformula startmulticolumns startnamedsection startnamedsubformulas \
-startnarrow startnarrower startnegative startnicelyfilledbox startnointerference \
-startnotallmodes startnotext startnotmode startoperatortext startopposite \
-startoutputstream startoverlay startoverprint startpacked startpagecolumns \
-startpagecomment startpagefigure startpagelayout startpagemakeup startpar \
-startparagraph startparagraphs startparagraphscell startparbuilder startpart \
-startpath startplacechemical startplacefigure startplacefloat startplaceformula \
-startplacegraphic startplaceintermezzo startplacelegend startplacepairedbox startplacetable \
-startpositioning startpositionoverlay startpositive startpostponing startpostponingnotes \
-startprefixtext startprocessassignmentcommand startprocessassignmentlist startprocesscommacommand startprocesscommalist \
-startproduct startproject startprotect startprotectedcolors startpublication \
-startpunctuation startquotation startquote startrandomized startrandomseed \
-startrawsetups startreadingfile startreferenceprefix startregime startregister \
-startreusableMPgraphic startrightaligned startruby startscript startsdformula \
-startsection startsectionblock startsectionblockenvironment startsectionlevel startsetups \
-startshapebox startshift startsidebar startsimplecolumns startspecialitem \
-startspeech startspformula startsplitformula startsplittext startspread \
-startstandardmakeup startstaticMPfigure startstaticMPgraphic startstrictinspectnextcharacter startstructurepageregister \
-startstrut startstyle startsubformulas startsubject startsubjectlevel \
-startsubsection startsubsentence startsubstack startsubsubject startsubsubsection \
-startsubsubsubject startsubsubsubsection startsubsubsubsubject startsubsubsubsubsection startsubsubsubsubsubject \
-startsuffixtext startsymbolset starttable starttablehead starttables \
-starttabletail starttabletext starttabulate starttabulatehead starttabulatetail \
-starttagged starttaglabeltext starttexcode starttexdefinition starttext \
-starttextbackground starttextbackgroundmanual starttextcolor starttextcolorintent starttextflow \
-starttextmakeup starttextrule startthematrix starttitle starttokenlist \
-starttokens starttransparent starttypescript starttypescriptcollection starttyping \
-startuniqueMPgraphic startuniqueMPpagegraphic startunittext startunpacked startusableMPgraphic \
-startuseMPgraphic startusemathstyleparameter startuserdata startusingbtxspecification startvbox \
-startvboxregister startvboxtohbox startvboxtohboxseparator startviewerlayer startvtop \
-startvtopregister startxcell startxcellgroup startxcolumn startxgroup \
-startxmldisplayverbatim startxmlinlineverbatim startxmlraw startxmlsetups startxrow \
-startxrowgroup startxtable startxtablebody startxtablefoot startxtablehead \
-startxtablenext stligature stopJScode stopJSpreamble stopLUA \
-stopMP stopMPclip stopMPcode stopMPdefinitions stopMPdrawing \
-stopMPenvironment stopMPextensions stopMPinclusions stopMPinitializations stopMPpage \
-stopMPpositiongraphic stopMPpositionmethod stopMPrun stopPARSEDXML stopTABLE \
-stopTABLEbody stopTABLEfoot stopTABLEhead stopTABLEnested stopTABLEnext \
-stopTC stopTD stopTDs stopTEX stopTEXpage \
-stopTH stopTN stopTR stopTRs stopTX \
-stopTY stopXML stopalign stopalignment stopallmodes \
-stopappendices stoparrangedpages stopasciimode stopaside stopattachment \
-stopbackground stopbackmatter stopbar stopbbordermatrix stopbitmapimage \
-stopblockquote stopbodymatter stopbordermatrix stopboxedcolumns stopbtxlabeltext \
-stopbtxrenderingdefinitions stopbuffer stopcases stopcatcodetable stopcenteraligned \
-stopchapter stopcharacteralign stopcheckedfences stopchemical stopchemicaltext \
-stopcollect stopcollecting stopcolor stopcolorintent stopcoloronly \
-stopcolorset stopcolumns stopcolumnset stopcolumnsetspan stopcombination \
-stopcomment stopcomponent stopcontextcode stopcontextdefinitioncode stopctxfunction \
-stopctxfunctiondefinition stopcurrentcolor stopcurrentlistentrywrapper stopdelimited stopdelimitedtext \
-stopdisplaymath stopdmath stopdocument stopeffect stopelement \
-stopembeddedxtable stopendnote stopendofline stopenvironment stopexceptions \
-stopexpanded stopexpandedcollect stopextendedcatcodetable stopexternalfigurecollection stopfacingfloat \
-stopfact stopfigure stopfiguretext stopfittingpage stopfixed \
-stopfloatcombination stopfont stopfontclass stopfontsolution stopfootnote \
-stopformula stopformulas stopframed stopframedcell stopframedcontent \
-stopframedrow stopframedtable stopframedtext stopfrontmatter stopgoto \
-stopgraphictext stopgridsnapping stophanging stophbox stophboxestohbox \
-stophboxregister stophead stopheadtext stophelptext stophiding \
-stophighlight stophyphenation stopimath stopindentation stopindentedtext \
-stopinteraction stopinteractionmenu stopinterface stopintermezzotext stopintertext \
-stopitem stopitemgroup stopitemgroupcolumns stopitemize stopknockout \
-stoplabeltext stoplanguage stoplayout stopleftaligned stoplegend \
-stopline stoplinealignment stoplinecorrection stoplinefiller stoplinenote \
-stoplinenumbering stoplines stoplinetable stoplinetablebody stoplinetablecell \
-stoplinetablehead stoplocalfootnotes stoplocalheadsetup stoplocallinecorrection stoplocalnotes \
-stoplocalsetups stoplua stopluacode stopluaparameterset stopluasetups \
-stopmakeup stopmarginblock stopmarginrule stopmarkedcontent stopmarkpages \
-stopmathalignment stopmathcases stopmathlabeltext stopmathmatrix stopmathmode \
-stopmathstyle stopmatrices stopmatrix stopmaxaligned stopmdformula \
-stopmidaligned stopmiddlealigned stopmiddlemakeup stopmixedcolumns stopmode \
-stopmodeset stopmodule stopmoduletestsection stopmpformula stopmulticolumns \
-stopnamedsection stopnamedsubformulas stopnarrow stopnarrower stopnegative \
-stopnicelyfilledbox stopnointerference stopnotallmodes stopnotext stopnotmode \
-stopoperatortext stopopposite stopoutputstream stopoverlay stopoverprint \
-stoppacked stoppagecolumns stoppagecomment stoppagefigure stoppagelayout \
-stoppagemakeup stoppar stopparagraph stopparagraphs stopparagraphscell \
-stopparbuilder stoppart stoppath stopplacechemical stopplacefigure \
-stopplacefloat stopplaceformula stopplacegraphic stopplaceintermezzo stopplacelegend \
-stopplacepairedbox stopplacetable stoppositioning stoppositionoverlay stoppositive \
-stoppostponing stoppostponingnotes stopprefixtext stopprocessassignmentcommand stopprocessassignmentlist \
-stopprocesscommacommand stopprocesscommalist stopproduct stopproject stopprotect \
-stopprotectedcolors stoppublication stoppunctuation stopquotation stopquote \
-stoprandomized stoprandomseed stoprawsetups stopreadingfile stopreferenceprefix \
-stopregime stopreusableMPgraphic stoprightaligned stopruby stopscript \
-stopsdformula stopsection stopsectionblock stopsectionblockenvironment stopsectionlevel \
-stopsetups stopshapebox stopshift stopsidebar stopsimplecolumns \
-stopspecialitem stopspeech stopspformula stopsplitformula stopsplittext \
-stopspread stopstandardmakeup stopstaticMPfigure stopstaticMPgraphic stopstrictinspectnextcharacter \
-stopstrut stopstyle stopsubformulas stopsubject stopsubjectlevel \
-stopsubsection stopsubsentence stopsubstack stopsubsubject stopsubsubsection \
-stopsubsubsubject stopsubsubsubsection stopsubsubsubsubject stopsubsubsubsubsection stopsubsubsubsubsubject \
-stopsuffixtext stopsymbolset stoptable stoptablehead stoptables \
-stoptabletail stoptabletext stoptabulate stoptabulatehead stoptabulatetail \
-stoptagged stoptaglabeltext stoptexcode stoptexdefinition stoptext \
-stoptextbackground stoptextbackgroundmanual stoptextcolor stoptextcolorintent stoptextflow \
-stoptextmakeup stoptextrule stopthematrix stoptitle stoptokenlist \
-stoptokens stoptransparent stoptypescript stoptypescriptcollection stoptyping \
-stopuniqueMPgraphic stopuniqueMPpagegraphic stopunittext stopunpacked stopusableMPgraphic \
-stopuseMPgraphic stopusemathstyleparameter stopuserdata stopusingbtxspecification stopvbox \
-stopvboxregister stopvboxtohbox stopvboxtohboxseparator stopviewerlayer stopvtop \
-stopvtopregister stopxcell stopxcellgroup stopxcolumn stopxgroup \
-stopxmldisplayverbatim stopxmlinlineverbatim stopxmlraw stopxmlsetups stopxrow \
-stopxrowgroup stopxtable stopxtablebody stopxtablefoot stopxtablehead \
-stopxtablenext stretched strictdoifelsenextoptional strictdoifnextoptionalelse stripcharacter \
-strippedcsname stripspaces structurelistuservariable structurenumber structuretitle \
-structureuservariable structurevariable strut strutdp strutgap \
-strutht struthtdp struttedbox strutwd style \
-styleinstance subject subpagenumber subsection subsentence \
-subset subseteq subseteqq subsetneq subsetneqq \
-substituteincommalist subsubject subsubsection subsubsubject subsubsubsection \
-subsubsubsubject subsubsubsubsection subsubsubsubsubject subtractfeature succ \
-succapprox succcurlyeq succeq succeqq succnapprox \
-succneq succneqq succnsim succsim suffixlanguage \
-suffixtext sum supset supseteq supseteqq \
-supsetneq supsetneqq surd surdradical swapcounts \
-swapdimens swapface swapmacros swaptypeface swarrow \
-switchstyleonly switchtobodyfont switchtocolor switchtointerlinespace symbol \
-symbolreference synchronizeblank synchronizeindenting synchronizemarking synchronizeoutputstreams \
-synchronizestrut synchronizewhitespace synctexblockfilename synctexresetfilename synctexsetfilename \
-systemlog systemlogfirst systemloglast systemsetups tLeftarrow \
-tLeftrightarrow tRightarrow tabulateautoline tabulateautorule tabulateline \
-tabulaterule taggedctxcommand taggedlabeltexts taglabellanguage taglabeltext \
-tau tbinom tbox tcaron tcedilla \
-tcommaaccent tcurl tequal test testandsplitstring \
-testcolumn testfeature testfeatureonce testpage testpageonly \
-testpagesync testtokens tex texdefinition texsetup \
-textAngstrom textacute textampersand textasciicircum textasciitilde \
-textat textbackslash textbar textbottomcomma textbottomdot \
-textbraceleft textbraceright textbreve textbrokenbar textbullet \
-textcaron textcedilla textcelsius textcent textcircledP \
-textcircumflex textcitation textcite textcomma textcontrolspace \
-textcurrency textdag textddag textdegree textdiaeresis \
-textdiv textdollar textdong textdotaccent textellipsis \
-texteuro textflowcollector textfraction textgrave texthash \
-texthorizontalbar texthungarumlaut texthyphen textkelvin textlognot \
-textmacron textmath textmho textminus textmp \
-textmu textmultiply textnumero textogonek textohm \
-textormathchar textormathchars textounce textpercent textperiod \
-textplus textpm textreference textring textrule \
-textslash textsterling texttilde textunderscore textvisiblespace \
-textyen thai thainumerals thedatavalue thefirstcharacter \
-thematrix thenormalizedbodyfontsize theorientation therefore theremainingcharacters \
-theta thickspace thinrule thinrules thinspace \
-thirdoffivearguments thirdoffourarguments thirdofsixarguments thirdofthreearguments thirdofthreeunexpanded \
-thook thookleftarrow thookrightarrow thorn threedigitrounding \
-threeeighths threefifths threeperemspace threequarter threesuperior \
-tibetannumerals tightlayer tilde times tinyfont \
-title tlap tleftarrow tleftharpoondown tleftharpoonup \
-tleftrightarrow tleftrightharpoons tmapsto to tochar \
-tolinenote tooltip top topbox topleftbox \
-toplinebox toprightbox topskippedbox tracecatcodetables tracedfontname \
-tracedpagestate traceoutputroutines tracepositions trademark translate \
-transparencycomponents transparent trel triangle triangledown \
-triangleleft triangleq triangleright trightarrow trightharpoondown \
-trightharpoonup trightleftharpoons trightoverleftarrow triplebond tripleprime \
-tripleverticalbar truefilename truefontname tstroke ttraggedright \
-ttriplerel ttwoheadleftarrow ttwoheadrightarrow turnediota twodigitrounding \
-twofifths twoheaddownarrow twoheadleftarrow twoheadrightarrow twoheadrightarrowtail \
-twoheaduparrow twosuperior twothirds tx txx \
-typ type typebuffer typedefinedbuffer typeface \
-typefile typeinlinebuffer typescriptone typescriptprefix typescriptthree \
-typescripttwo typesetbuffer typesetbufferonly typesetfile uacute \
-ubreve ucaron uchexnumber uchexnumbers ucircumflex \
-uconvertnumber udiaeresis udiaeresisacute udiaeresiscaron udiaeresisgrave \
-udiaeresismacron udotbelow udots udoublegrave uedcatcodecommand \
-ugrave uhook uhorn uhornacute uhorndotbelow \
-uhorngrave uhornhook uhorntilde uhungarumlaut uinvertedbreve \
-ulcorner umacron undefinevalue undepthed underbar \
-underbars underbartext underbrace underbracetext underbracket \
-underbrackettext underdash underdashes underdot underdots \
-underleftarrow underleftharpoondown underleftharpoonup underleftrightarrow underparent \
-underparenttext underrandom underrandoms underrightarrow underrightharpoondown \
-underrightharpoonup underset understrike understrikes undertwoheadleftarrow \
-undertwoheadrightarrow undoassign unexpandeddocumentvariable unframed unhhbox \
-unihex uniqueMPgraphic uniqueMPpagegraphic unit unitlanguage \
-unitshigh unitslow unittext unknown unprotected \
-unregisterhyphenationpattern unregisterparwrapper unspaceafter unspaceargument unspaced \
-unspacestring unstackscripts untexargument untexcommand uogonek \
-upand uparrow updasharrow updateparagraphdemerits updateparagraphpenalties \
-updateparagraphproperties updateparagraphshapes updownarrow updownarrowbar updownarrows \
-upharpoonleft upharpoonright uplus uppercased uppercasestring \
-uppercasing upperleftdoubleninequote upperleftdoublesixquote upperleftsingleninequote upperleftsinglesixquote \
-upperrightdoubleninequote upperrightdoublesixquote upperrightsingleninequote upperrightsinglesixquote upsilon \
-upuparrows upwhitearrow urcorner uring url \
-useJSscripts useMPenvironmentbuffer useMPgraphic useMPlibrary useMPrun \
-useMPvariables useURL usealignparameter useblankparameter useblocks \
-usebodyfont usebodyfontparameter usebtxdataset usebtxdefinitions usecitation \
-usecolors usecomponent usedirectory usedummycolorparameter usedummystyleandcolor \
-usedummystyleparameter useenvironment useexternaldocument useexternalfigure useexternalrendering \
-useexternalsoundtrack usefigurebase usefile usefontpath usegridparameter \
-usehyphensparameter useindentingparameter useindentnextparameter useinterlinespaceparameter uselanguageparameter \
-useluamodule useluatable usemathstyleparameter usemodule useproduct \
-useprofileparameter useproject usereferenceparameter userpagenumber usesetupsparameter \
-usestaticMPfigure usesubpath usesymbols usetexmodule usetypescript \
-usetypescriptfile useurl usezipfile utfchar utflower \
-utfupper utilde utilityregisterlength vDash validassignment \
-varTheta varepsilon varkappa varnothing varphi \
-varpi varrho varsigma vartheta vboxreference \
-vdash vdots vec vee veebar \
-veeeq verbatim verbatimstring verbosenumber version \
-vert verticalgrowingbar verticalpositionbar veryraggedcenter veryraggedleft \
-veryraggedright vglue viewerlayer vl vpackbox \
-vpackedbox vphantom vpos vsmash vsmashbox \
-vsmashed vspace vspacing wcircumflex wdofstring \
-wedge wedgeeq weekday whitearrowupfrombar wideacute \
-widebar widebreve widecheck wideddot widedot \
-widegrave widehat widering widetilde widthofstring \
-widthspanningtext withoutpt word wordright words \
-wordtonumber wp wr writebetweenlist writedatatolist \
-writestatus writetolist xLeftarrow xLeftrightarrow xRightarrow \
-xdefconvertedargument xequal xfrac xhookleftarrow xhookrightarrow \
-xi xleftarrow xleftharpoondown xleftharpoonup xleftrightarrow \
-xleftrightharpoons xmapsto xmladdindex xmlafterdocumentsetup xmlaftersetup \
-xmlall xmlappenddocumentsetup xmlappendsetup xmlapplyselectors xmlatt \
-xmlattdef xmlattribute xmlattributedef xmlbadinclusions xmlbeforedocumentsetup \
-xmlbeforesetup xmlchainatt xmlchainattdef xmlchecknamespace xmlcommand \
-xmlconcat xmlconcatrange xmlcontext xmlcount xmldefaulttotext \
-xmldepth xmldirectives xmldirectivesafter xmldirectivesbefore xmldisplayverbatim \
-xmldoif xmldoifatt xmldoifelse xmldoifelseatt xmldoifelseempty \
-xmldoifelseselfempty xmldoifelsetext xmldoifelsevalue xmldoifnot xmldoifnotatt \
-xmldoifnotselfempty xmldoifnottext xmldoifselfempty xmldoiftext xmlelement \
-xmlfilter xmlfirst xmlflush xmlflushcontext xmlflushdocumentsetups \
-xmlflushlinewise xmlflushpure xmlflushspacewise xmlflushtext xmlinclude \
-xmlinclusion xmlinclusions xmlinfo xmlinjector xmlinlineprettyprint \
-xmlinlineprettyprinttext xmlinlineverbatim xmlinstalldirective xmllast xmllastatt \
-xmllastmatch xmllastpar xmlloadbuffer xmlloaddata xmlloaddirectives \
-xmlloadfile xmlloadonly xmlmain xmlmapvalue xmlname \
-xmlnamespace xmlnonspace xmlpar xmlparam xmlpath \
-xmlpos xmlposition xmlprependdocumentsetup xmlprependsetup xmlprettyprint \
-xmlprettyprinttext xmlprocessbuffer xmlprocessdata xmlprocessfile xmlpure \
-xmlraw xmlrefatt xmlregistereddocumentsetups xmlregisteredsetups xmlregisterns \
-xmlremapname xmlremapnamespace xmlremovedocumentsetup xmlremovesetup xmlresetdocumentsetups \
-xmlresetinjectors xmlresetsetups xmlsave xmlsetatt xmlsetattribute \
-xmlsetentity xmlsetfunction xmlsetinjectors xmlsetpar xmlsetparam \
-xmlsetsetup xmlsetup xmlshow xmlsnippet xmlstrip \
-xmlstripnolines xmlstripped xmlstrippednolines xmltag xmltexentity \
-xmltext xmltobuffer xmltobufferverbose xmltofile xmlvalue \
-xmlverbatim xrel xrightarrow xrightharpoondown xrightharpoonup \
-xrightleftharpoons xrightoverleftarrow xsplitstring xtriplerel xtwoheadleftarrow \
-xtwoheadrightarrow xxfrac xypos yacute ycircumflex \
-ydiaeresis ydotbelow yen ygrave yhook \
-yiddishnumerals ymacron ytilde zacute zcaron \
-zdotaccent zeronumberconversion zerowidthnobreakspace zerowidthspace zeta \
-zhook zstroke zwj zwnj
+secondderivativesymbol secondoffivearguments secondoffourarguments secondofsixarguments secondofthreearguments \
+secondofthreeunexpanded secondoftwoarguments secondoftwounexpanded section sectionmark \
+seeindex select selectblocks serializecommalist serializedcommalist \
+serif serifbold serifnormal setJSpreamble setMPlayer \
+setMPpositiongraphic setMPpositiongraphicrange setMPtext setMPvariable setMPvariables \
+setautopagestaterealpageno setbar setbigbodyfont setboxllx setboxlly \
+setbreakpoints setcapstrut setcatcodetable setcharacteralign setcharacteraligndetail \
+setcharactercasing setcharactercleaning setcharacterkerning setcharacterspacing setcharacterstripping \
+setcharstrut setcollector setcolormodell setcounter setcounterown \
+setctxluafunction setcurrentfontclass setdataset setdatavalue setdefaultpenalties \
+setdigitsmanipulation setdirection setdocumentargument setdocumentargumentdefault setdocumentfilename \
+setdummyparameter setelementexporttag setemeasure setevalue setevariable \
+setevariables setexpansion setfirstline setfirstpasscharacteralign setflag \
+setfont setfontcolorsheme setfontfeature setfontsolution setfontstrut \
+setfractions setglobalscript setgmeasure setgvalue setgvariable \
+setgvariables sethboxregister sethyphenatedurlafter sethyphenatedurlbefore sethyphenatedurlnormal \
+sethyphenationfeatures setinitial setinjector setinteraction setinterfacecommand \
+setinterfaceconstant setinterfaceelement setinterfacemessage setinterfacevariable setinternalrendering \
+setitaliccorrection setlayer setlayerframed setlayertext setlinefiller \
+setlocalhsize setlocalscript setluatable setmainbodyfont setmainparbuilder \
+setmarker setmarking setmathstyle setmeasure setmessagetext \
+setminus setmode setnostrut setnote setnotetext \
+setobject setoldstyle setpagereference setpagestate setpagestaterealpageno \
+setparagraphfreezing setpenalties setpercentdimen setperiodkerning setposition \
+setpositionbox setpositiondata setpositiondataplus setpositiononly setpositionplus \
+setpositionstrut setprofile setrandomseed setreference setreferencedobject \
+setregisterentry setreplacements setrigidcolumnbalance setrigidcolumnhsize setscript \
+setsecondpasscharacteralign setsectionblock setsimplecolumnshsize setsmallbodyfont setsmallcaps \
+setstackbox setstructurepageregister setstrut setsuperiors setsystemmode \
+settabular settaggedmetadata settestcrlf settextcontent settightobject \
+settightreferencedobject settightstrut settightunreferencedobject settokenlist settrialtypesetting \
+setuevalue setugvalue setunreferencedobject setup setupMPgraphics \
+setupMPinstance setupMPpage setupMPvariables setupTABLE setupTEXpage \
+setupalign setupalternativestyles setuparranging setupattachment setupattachments \
+setupbackend setupbackground setupbackgrounds setupbar setupbars \
+setupblackrules setupblank setupbleeding setupblock setupbodyfont \
+setupbodyfontenvironment setupbookmark setupbottom setupbottomtexts setupbtx \
+setupbtxdataset setupbtxlabeltext setupbtxlist setupbtxregister setupbtxrendering \
+setupbuffer setupbutton setupcapitals setupcaption setupcaptions \
+setupcharacteralign setupcharacterkerning setupcharacterspacing setupchemical setupchemicalframed \
+setupclipping setupcollector setupcolor setupcolors setupcolumns \
+setupcolumnset setupcolumnsetarea setupcolumnsetareatext setupcolumnsetlines setupcolumnsetspan \
+setupcolumnsetstart setupcombination setupcombinedlist setupcomment setupcontent \
+setupcounter setupdataset setupdelimitedtext setupdescription setupdescriptions \
+setupdirections setupdocument setupeffect setupenumeration setupenumerations \
+setupenv setupexpansion setupexport setupexternalfigure setupexternalfigures \
+setupexternalsoundtracks setupfacingfloat setupfield setupfieldbody setupfieldcategory \
+setupfieldcontentframed setupfieldlabelframed setupfields setupfieldtotalframed setupfiller \
+setupfillinlines setupfillinrules setupfirstline setupfittingpage setupfloat \
+setupfloatframed setupfloats setupfloatsplitting setupfontexpansion setupfontprotrusion \
+setupfonts setupfontsolution setupfooter setupfootertexts setupfootnotes \
+setupforms setupformula setupformulae setupformulaframed setupframed \
+setupframedcontent setupframedtable setupframedtablecolumn setupframedtablerow setupframedtext \
+setupframedtexts setupglobalreferenceprefix setuphead setupheadalternative setupheader \
+setupheadertexts setupheadnumber setupheads setupheadtext setuphelp \
+setuphigh setuphighlight setuphyphenation setuphyphenmark setupindentedtext \
+setupindenting setupindex setupinitial setupinsertion setupinteraction \
+setupinteractionbar setupinteractionmenu setupinteractionscreen setupinterlinespace setupitaliccorrection \
+setupitemgroup setupitemizations setupitemize setupitems setuplabel \
+setuplabeltext setuplanguage setuplayer setuplayeredtext setuplayout \
+setuplayouttext setuplegend setuplinefiller setuplinefillers setuplinenote \
+setuplinenumbering setuplines setuplinetable setuplinewidth setuplist \
+setuplistalternative setuplistextra setuplocalfloats setuplocalinterlinespace setuplow \
+setuplowhigh setuplowmidhigh setupmakeup setupmarginblock setupmargindata \
+setupmarginframed setupmarginrule setupmarginrules setupmarking setupmathalignment \
+setupmathcases setupmathematics setupmathfence setupmathfraction setupmathfractions \
+setupmathframed setupmathlabeltext setupmathmatrix setupmathornament setupmathradical \
+setupmathstackers setupmathstyle setupmixedcolumns setupmodule setupmulticolumns \
+setupnarrower setupnotation setupnotations setupnote setupnotes \
+setupoffset setupoffsetbox setupoperatortext setupoppositeplacing setuporientation \
+setupoutput setupoutputroutine setuppagechecker setuppagecolumns setuppagecomment \
+setuppageinjection setuppageinjectionalternative setuppagenumber setuppagenumbering setuppageshift \
+setuppagestate setuppagetransitions setuppairedbox setuppalet setuppaper \
+setuppapersize setupparagraph setupparagraphintro setupparagraphnumbering setupparagraphs \
+setupparallel setupperiodkerning setupperiods setupplaceholder setupplacement \
+setuppositionbar setuppositioning setupprefixtext setupprocessor setupprofile \
+setupprograms setupquotation setupquote setuprealpagenumber setupreferenceformat \
+setupreferenceprefix setupreferencestructureprefix setupreferencing setupregister setupregisters \
+setuprenderingwindow setuprotate setupruby setups setupscale \
+setupscript setupscripts setupsectionblock setupselector setupshift \
+setupsidebar setupsorting setupspacing setupspellchecking setupstartstop \
+setupstretched setupstrut setupstyle setupsubformula setupsubformulas \
+setupsubpagenumber setupsuffixtext setupsymbols setupsymbolset setupsynctex \
+setupsynonyms setupsystem setuptables setuptabulate setuptagging \
+setuptaglabeltext setuptext setuptextbackground setuptextflow setuptextnote \
+setuptextrules setuptexttexts setupthinrules setuptolerance setuptooltip \
+setuptop setuptoptexts setuptype setuptyping setupunit \
+setupunittext setupurl setupuserdata setupuserdataalternative setupuserpagenumber \
+setupversion setupviewerlayer setupvspacing setupwhitespace setupwithargument \
+setupwithargumentswapped setupxml setupxtable setuvalue setuxvalue \
+setvalue setvariable setvariables setvboxregister setvisualizerfont \
+setvtopregister setwidthof setxmeasure setxvalue setxvariable \
+setxvariables seveneighths sfrac shapedhbox sharp \
+shiftbox shiftdown shiftup showallmakeup showattributes \
+showbodyfont showbodyfontenvironment showboxes showbtxdatasetauthors showbtxdatasetcompleteness \
+showbtxdatasetfields showbtxfields showbtxhashedauthors showbtxtables showchardata \
+showcharratio showcolor showcolorbar showcolorcomponents showcolorgroup \
+showcolorset showcolorstruts showcounter showdirectives showdirsinmargin \
+showedebuginfo showexperiments showfont showfontdata showfontexpansion \
+showfontitalics showfontkerns showfontparameters showfontstrip showfontstyle \
+showframe showglyphdata showglyphs showgrid showgridsnapping \
+showhelp showhyphenationtrace showhyphens showinjector showjustification \
+showkerning showlayout showlayoutcomponents showligature showligatures \
+showlogcategories showluatables showmakeup showmargins showmessage \
+showminimalbaseline shownextbox showotfcomposition showpalet showparentchain \
+showparwrapperstate showprint showsetups showsetupsdefinition showstruts \
+showsymbolset showtimer showtokens showtrackers showvalue \
+showvariable showwarning sigma signalrightpage sim \
+simeq simplealignedbox simplealignedboxplus simplealignedspreadbox simplegroupedcommand \
+simplereversealignedbox simplereversealignedboxplus singalcharacteralign singlebond singleverticalbar \
+sixperemspace sixthofsixarguments slanted slantedbold slantedface \
+slash slicepages slong slovenianNumerals sloveniannumerals \
+small smallbodyfont smallbold smallbolditalic smallboldslanted \
+smallcappedcharacters smallcappedromannumerals smallcaps smaller smallitalicbold \
+smallnormal smallskip smallslanted smallslantedbold smalltype \
+smash smashbox smashboxed smashedhbox smashedvbox \
+smile snaptogrid softhyphen solidus someheadnumber \
+somekindoftab someline somelocalfloat somenamedheadnumber someplace \
+somewhere space spaceddigits spaceddigitsmethod spaceddigitsseparator \
+spaceddigitssymbol spadesuit spanishNumerals spanishnumerals speech \
+sphericalangle splitatasterisk splitatcolon splitatcolons splitatcomma \
+splitatperiod splitdfrac splitfilename splitfloat splitfrac \
+splitoffbase splitofffull splitoffkind splitoffname splitoffpath \
+splitoffroot splitofftokens splitofftype splitstring spreadhbox \
+sqcap sqcup sqrt sqsubset sqsubseteq \
+sqsubsetneq sqsupset sqsupseteq sqsupsetneq square \
+squaredots ssharp stackrel stackscripts star \
+stareq startJScode startJSpreamble startLUA startMP \
+startMPclip startMPcode startMPdefinitions startMPdrawing startMPenvironment \
+startMPextensions startMPinclusions startMPinitializations startMPpage startMPpositiongraphic \
+startMPpositionmethod startMPrun startPARSEDXML startTABLE startTABLEbody \
+startTABLEfoot startTABLEhead startTABLEnested startTABLEnext startTC \
+startTD startTDs startTEX startTEXpage startTH \
+startTN startTR startTRs startTX startTY \
+startXML startalign startalignment startallmodes startappendices \
+startarrangedpages startasciimode startaside startattachment startbackground \
+startbackmatter startbar startbbordermatrix startbitmapimage startblockquote \
+startbodymatter startbordermatrix startboxedcolumns startbtxlabeltext startbtxrenderingdefinitions \
+startbuffer startcases startcatcodetable startcenteraligned startchapter \
+startcharacteralign startcheckedfences startchemical startchemicaltext startcollect \
+startcollecting startcolor startcolorintent startcoloronly startcolorset \
+startcolumns startcolumnset startcolumnsetspan startcombination startcomment \
+startcomponent startcontextcode startcontextdefinitioncode startctxfunction startctxfunctiondefinition \
+startcurrentcolor startcurrentlistentrywrapper startdelimited startdelimitedtext startdisplaymath \
+startdmath startdocument starteffect startelement startembeddedxtable \
+startendnote startendofline startenvironment startexceptions startexpanded \
+startexpandedcollect startextendedcatcodetable startexternalfigurecollection startfacingfloat startfact \
+startfigure startfiguretext startfittingpage startfixed startfloatcombination \
+startfont startfontclass startfontsolution startfootnote startformula \
+startformulas startframed startframedcell startframedcontent startframedrow \
+startframedtable startframedtext startfrontmatter startgoto startgraphictext \
+startgridsnapping starthanging starthbox starthboxestohbox starthboxregister \
+starthead startheadtext starthelptext starthiding starthighlight \
+starthyphenation startimath startindentation startindentedtext startinteraction \
+startinteractionmenu startinterface startintermezzotext startintertext startitem \
+startitemgroup startitemgroupcolumns startitemize startknockout startlabeltext \
+startlanguage startlayout startleftaligned startlegend startline \
+startlinealignment startlinecorrection startlinefiller startlinenote startlinenumbering \
+startlines startlinetable startlinetablebody startlinetablecell startlinetablehead \
+startlocalfootnotes startlocalheadsetup startlocallinecorrection startlocalnotes startlocalsetups \
+startlua startluacode startluaparameterset startluasetups startmakeup \
+startmarginblock startmarginrule startmarkedcontent startmarkpages startmathalignment \
+startmathcases startmathlabeltext startmathmatrix startmathmode startmathstyle \
+startmatrices startmatrix startmaxaligned startmdformula startmidaligned \
+startmiddlealigned startmiddlemakeup startmixedcolumns startmode startmodeset \
+startmodule startmoduletestsection startmpformula startmulticolumns startnamedsection \
+startnamedsubformulas startnarrow startnarrower startnegative startnicelyfilledbox \
+startnointerference startnotallmodes startnotext startnotmode startoperatortext \
+startopposite startoutputstream startoverlay startoverprint startpacked \
+startpagecolumns startpagecomment startpagefigure startpagelayout startpagemakeup \
+startpar startparagraph startparagraphs startparagraphscell startparbuilder \
+startpart startpath startplacechemical startplacefigure startplacefloat \
+startplaceformula startplacegraphic startplaceintermezzo startplacelegend startplacepairedbox \
+startplacetable startpositioning startpositionoverlay startpositive startpostponing \
+startpostponingnotes startprefixtext startprocessassignmentcommand startprocessassignmentlist startprocesscommacommand \
+startprocesscommalist startproduct startproject startprotect startprotectedcolors \
+startpublication startpunctuation startquotation startquote startrandomized \
+startrandomseed startrawsetups startreadingfile startreferenceprefix startregime \
+startregister startreusableMPgraphic startrightaligned startruby startscript \
+startsdformula startsection startsectionblock startsectionblockenvironment startsectionlevel \
+startsetups startshapebox startshift startsidebar startsimplecolumns \
+startspecialitem startspeech startspformula startsplitformula startsplittext \
+startspread startstandardmakeup startstaticMPfigure startstaticMPgraphic startstrictinspectnextcharacter \
+startstructurepageregister startstrut startstyle startsubformulas startsubject \
+startsubjectlevel startsubsection startsubsentence startsubstack startsubsubject \
+startsubsubsection startsubsubsubject startsubsubsubsection startsubsubsubsubject startsubsubsubsubsection \
+startsubsubsubsubsubject startsuffixtext startsymbolset starttable starttablehead \
+starttables starttabletail starttabletext starttabulate starttabulatehead \
+starttabulatetail starttagged starttaglabeltext starttexcode starttexdefinition \
+starttext starttextbackground starttextbackgroundmanual starttextcolor starttextcolorintent \
+starttextflow starttextmakeup starttextrule startthematrix starttitle \
+starttokenlist starttokens starttransparent starttypescript starttypescriptcollection \
+starttyping startuniqueMPgraphic startuniqueMPpagegraphic startunittext startunpacked \
+startusableMPgraphic startuseMPgraphic startusemathstyleparameter startuserdata startusingbtxspecification \
+startvbox startvboxregister startvboxtohbox startvboxtohboxseparator startviewerlayer \
+startvtop startvtopregister startxcell startxcellgroup startxcolumn \
+startxgroup startxmldisplayverbatim startxmlinlineverbatim startxmlraw startxmlsetups \
+startxrow startxrowgroup startxtable startxtablebody startxtablefoot \
+startxtablehead startxtablenext stligature stopJScode stopJSpreamble \
+stopLUA stopMP stopMPclip stopMPcode stopMPdefinitions \
+stopMPdrawing stopMPenvironment stopMPextensions stopMPinclusions stopMPinitializations \
+stopMPpage stopMPpositiongraphic stopMPpositionmethod stopMPrun stopPARSEDXML \
+stopTABLE stopTABLEbody stopTABLEfoot stopTABLEhead stopTABLEnested \
+stopTABLEnext stopTC stopTD stopTDs stopTEX \
+stopTEXpage stopTH stopTN stopTR stopTRs \
+stopTX stopTY stopXML stopalign stopalignment \
+stopallmodes stopappendices stoparrangedpages stopasciimode stopaside \
+stopattachment stopbackground stopbackmatter stopbar stopbbordermatrix \
+stopbitmapimage stopblockquote stopbodymatter stopbordermatrix stopboxedcolumns \
+stopbtxlabeltext stopbtxrenderingdefinitions stopbuffer stopcases stopcatcodetable \
+stopcenteraligned stopchapter stopcharacteralign stopcheckedfences stopchemical \
+stopchemicaltext stopcollect stopcollecting stopcolor stopcolorintent \
+stopcoloronly stopcolorset stopcolumns stopcolumnset stopcolumnsetspan \
+stopcombination stopcomment stopcomponent stopcontextcode stopcontextdefinitioncode \
+stopctxfunction stopctxfunctiondefinition stopcurrentcolor stopcurrentlistentrywrapper stopdelimited \
+stopdelimitedtext stopdisplaymath stopdmath stopdocument stopeffect \
+stopelement stopembeddedxtable stopendnote stopendofline stopenvironment \
+stopexceptions stopexpanded stopexpandedcollect stopextendedcatcodetable stopexternalfigurecollection \
+stopfacingfloat stopfact stopfigure stopfiguretext stopfittingpage \
+stopfixed stopfloatcombination stopfont stopfontclass stopfontsolution \
+stopfootnote stopformula stopformulas stopframed stopframedcell \
+stopframedcontent stopframedrow stopframedtable stopframedtext stopfrontmatter \
+stopgoto stopgraphictext stopgridsnapping stophanging stophbox \
+stophboxestohbox stophboxregister stophead stopheadtext stophelptext \
+stophiding stophighlight stophyphenation stopimath stopindentation \
+stopindentedtext stopinteraction stopinteractionmenu stopinterface stopintermezzotext \
+stopintertext stopitem stopitemgroup stopitemgroupcolumns stopitemize \
+stopknockout stoplabeltext stoplanguage stoplayout stopleftaligned \
+stoplegend stopline stoplinealignment stoplinecorrection stoplinefiller \
+stoplinenote stoplinenumbering stoplines stoplinetable stoplinetablebody \
+stoplinetablecell stoplinetablehead stoplocalfootnotes stoplocalheadsetup stoplocallinecorrection \
+stoplocalnotes stoplocalsetups stoplua stopluacode stopluaparameterset \
+stopluasetups stopmakeup stopmarginblock stopmarginrule stopmarkedcontent \
+stopmarkpages stopmathalignment stopmathcases stopmathlabeltext stopmathmatrix \
+stopmathmode stopmathstyle stopmatrices stopmatrix stopmaxaligned \
+stopmdformula stopmidaligned stopmiddlealigned stopmiddlemakeup stopmixedcolumns \
+stopmode stopmodeset stopmodule stopmoduletestsection stopmpformula \
+stopmulticolumns stopnamedsection stopnamedsubformulas stopnarrow stopnarrower \
+stopnegative stopnicelyfilledbox stopnointerference stopnotallmodes stopnotext \
+stopnotmode stopoperatortext stopopposite stopoutputstream stopoverlay \
+stopoverprint stoppacked stoppagecolumns stoppagecomment stoppagefigure \
+stoppagelayout stoppagemakeup stoppar stopparagraph stopparagraphs \
+stopparagraphscell stopparbuilder stoppart stoppath stopplacechemical \
+stopplacefigure stopplacefloat stopplaceformula stopplacegraphic stopplaceintermezzo \
+stopplacelegend stopplacepairedbox stopplacetable stoppositioning stoppositionoverlay \
+stoppositive stoppostponing stoppostponingnotes stopprefixtext stopprocessassignmentcommand \
+stopprocessassignmentlist stopprocesscommacommand stopprocesscommalist stopproduct stopproject \
+stopprotect stopprotectedcolors stoppublication stoppunctuation stopquotation \
+stopquote stoprandomized stoprandomseed stoprawsetups stopreadingfile \
+stopreferenceprefix stopregime stopreusableMPgraphic stoprightaligned stopruby \
+stopscript stopsdformula stopsection stopsectionblock stopsectionblockenvironment \
+stopsectionlevel stopsetups stopshapebox stopshift stopsidebar \
+stopsimplecolumns stopspecialitem stopspeech stopspformula stopsplitformula \
+stopsplittext stopspread stopstandardmakeup stopstaticMPfigure stopstaticMPgraphic \
+stopstrictinspectnextcharacter stopstrut stopstyle stopsubformulas stopsubject \
+stopsubjectlevel stopsubsection stopsubsentence stopsubstack stopsubsubject \
+stopsubsubsection stopsubsubsubject stopsubsubsubsection stopsubsubsubsubject stopsubsubsubsubsection \
+stopsubsubsubsubsubject stopsuffixtext stopsymbolset stoptable stoptablehead \
+stoptables stoptabletail stoptabletext stoptabulate stoptabulatehead \
+stoptabulatetail stoptagged stoptaglabeltext stoptexcode stoptexdefinition \
+stoptext stoptextbackground stoptextbackgroundmanual stoptextcolor stoptextcolorintent \
+stoptextflow stoptextmakeup stoptextrule stopthematrix stoptitle \
+stoptokenlist stoptokens stoptransparent stoptypescript stoptypescriptcollection \
+stoptyping stopuniqueMPgraphic stopuniqueMPpagegraphic stopunittext stopunpacked \
+stopusableMPgraphic stopuseMPgraphic stopusemathstyleparameter stopuserdata stopusingbtxspecification \
+stopvbox stopvboxregister stopvboxtohbox stopvboxtohboxseparator stopviewerlayer \
+stopvtop stopvtopregister stopxcell stopxcellgroup stopxcolumn \
+stopxgroup stopxmldisplayverbatim stopxmlinlineverbatim stopxmlraw stopxmlsetups \
+stopxrow stopxrowgroup stopxtable stopxtablebody stopxtablefoot \
+stopxtablehead stopxtablenext stretched strictdoifelsenextoptional strictdoifnextoptionalelse \
+stripcharacter strippedcsname stripspaces structurelistuservariable structurenumber \
+structuretitle structureuservariable structurevariable strut strutdp \
+strutgap strutht struthtdp struttedbox strutwd \
+style styleinstance subject subpagenumber subsection \
+subsentence subset subseteq subseteqq subsetneq \
+subsetneqq substituteincommalist subsubject subsubsection subsubsubject \
+subsubsubsection subsubsubsubject subsubsubsubsection subsubsubsubsubject subtractfeature \
+succ succapprox succcurlyeq succeq succeqq \
+succnapprox succneq succneqq succnsim succsim \
+suffixlanguage suffixtext sum supset supseteq \
+supseteqq supsetneq supsetneqq surd surdradical \
+swapcounts swapdimens swapface swapmacros swaptypeface \
+swarrow switchstyleonly switchtobodyfont switchtocolor switchtointerlinespace \
+symbol symbolreference synchronizeblank synchronizeindenting synchronizemarking \
+synchronizeoutputstreams synchronizestrut synchronizewhitespace synctexblockfilename synctexresetfilename \
+synctexsetfilename systemlog systemlogfirst systemloglast systemsetups \
+tLeftarrow tLeftrightarrow tRightarrow tabulateautoline tabulateautorule \
+tabulateline tabulaterule taggedctxcommand taggedlabeltexts taglabellanguage \
+taglabeltext tau tbinom tbox tcaron \
+tcedilla tcommaaccent tcurl tendsto tequal \
+test testandsplitstring testcolumn testfeature testfeatureonce \
+testpage testpageonly testpagesync testtokens tex \
+texdefinition texsetup textAngstrom textacute textampersand \
+textasciicircum textasciitilde textat textbackslash textbar \
+textbottomcomma textbottomdot textbraceleft textbraceright textbreve \
+textbrokenbar textbullet textcaron textcedilla textcelsius \
+textcent textcircledP textcircumflex textcitation textcite \
+textcomma textcontrolspace textcurrency textdag textddag \
+textdegree textdiaeresis textdiv textdollar textdong \
+textdotaccent textellipsis texteuro textflowcollector textfraction \
+textgrave texthash texthorizontalbar texthungarumlaut texthyphen \
+textkelvin textlognot textmacron textmath textmho \
+textminus textmp textmu textmultiply textnumero \
+textogonek textohm textormathchar textormathchars textounce \
+textpercent textperiod textplus textpm textreference \
+textring textrule textslash textsterling texttilde \
+textunderscore textvisiblespace textyen thai thainumerals \
+thedatavalue thefirstcharacter thematrix thenormalizedbodyfontsize theorientation \
+therefore theremainingcharacters theta thickspace thinrule \
+thinrules thinspace thirdderivativesymbol thirdoffivearguments thirdoffourarguments \
+thirdofsixarguments thirdofthreearguments thirdofthreeunexpanded thook thookleftarrow \
+thookrightarrow thorn threedigitrounding threeeighths threefifths \
+threeperemspace threequarter threesuperior tibetannumerals tightlayer \
+tilde times tinyfont title tlap \
+tleftarrow tleftharpoondown tleftharpoonup tleftrightarrow tleftrightharpoons \
+tmapsto to tochar tolinenote tooltip \
+top topbox topleftbox toplinebox toprightbox \
+topskippedbox tracecatcodetables tracedfontname tracedpagestate traceoutputroutines \
+tracepositions trademark translate transparencycomponents transparent \
+transposesymbol trel triangle triangledown triangleleft \
+triangleq triangleright trightarrow trightharpoondown trightharpoonup \
+trightleftharpoons trightoverleftarrow triplebond tripleprime tripleverticalbar \
+truefilename truefontname tstroke ttraggedright ttriplerel \
+ttwoheadleftarrow ttwoheadrightarrow turnediota twodigitrounding twofifths \
+twoheaddownarrow twoheadleftarrow twoheadrightarrow twoheadrightarrowtail twoheaduparrow \
+twosuperior twothirds tx txx typ \
+type typebuffer typedefinedbuffer typeface typefile \
+typeinlinebuffer typescriptone typescriptprefix typescriptthree typescripttwo \
+typesetbuffer typesetbufferonly typesetfile uacute ubreve \
+ucaron uchexnumber uchexnumbers ucircumflex uconvertnumber \
+udiaeresis udiaeresisacute udiaeresiscaron udiaeresisgrave udiaeresismacron \
+udotbelow udots udoublegrave uedcatcodecommand ugrave \
+uhook uhorn uhornacute uhorndotbelow uhorngrave \
+uhornhook uhorntilde uhungarumlaut uinvertedbreve ulcorner \
+umacron undefinevalue undepthed underbar underbars \
+underbartext underbrace underbracetext underbracket underbrackettext \
+underdash underdashes underdot underdots underleftarrow \
+underleftharpoondown underleftharpoonup underleftrightarrow underparent underparenttext \
+underrandom underrandoms underrightarrow underrightharpoondown underrightharpoonup \
+underset understrike understrikes undertwoheadleftarrow undertwoheadrightarrow \
+undoassign unexpandeddocumentvariable unframed unhhbox unihex \
+uniqueMPgraphic uniqueMPpagegraphic unit unitlanguage unitshigh \
+unitslow unittext unknown unprotected unregisterhyphenationpattern \
+unregisterparwrapper unspaceafter unspaceargument unspaced unspacestring \
+unstackscripts untexargument untexcommand uogonek upand \
+uparrow updasharrow updateparagraphdemerits updateparagraphpenalties updateparagraphproperties \
+updateparagraphshapes updownarrow updownarrowbar updownarrows upharpoonleft \
+upharpoonright uplus uppercased uppercasestring uppercasing \
+upperleftdoubleninequote upperleftdoublesixquote upperleftsingleninequote upperleftsinglesixquote upperrightdoubleninequote \
+upperrightdoublesixquote upperrightsingleninequote upperrightsinglesixquote upsilon upuparrows \
+upwhitearrow urcorner uring url useJSscripts \
+useMPenvironmentbuffer useMPgraphic useMPlibrary useMPrun useMPvariables \
+useURL usealignparameter useblankparameter useblocks usebodyfont \
+usebodyfontparameter usebtxdataset usebtxdefinitions usecitation usecolors \
+usecomponent usedirectory usedummycolorparameter usedummystyleandcolor usedummystyleparameter \
+useenvironment useexternaldocument useexternalfigure useexternalrendering useexternalsoundtrack \
+usefigurebase usefile usefontpath usegridparameter usehyphensparameter \
+useindentingparameter useindentnextparameter useinterlinespaceparameter uselanguageparameter useluamodule \
+useluatable usemathstyleparameter usemodule useproduct useprofileparameter \
+useproject usereferenceparameter userpagenumber usesetupsparameter usestaticMPfigure \
+usesubpath usesymbols usetexmodule usetypescript usetypescriptfile \
+useurl usezipfile utfchar utflower utfupper \
+utilde utilityregisterlength vDash validassignment varTheta \
+varepsilon varkappa varnothing varphi varpi \
+varrho varsigma vartheta vboxreference vdash \
+vdots vec vee veebar veeeq \
+verbatim verbatimstring verbosenumber version vert \
+verticalgrowingbar verticalpositionbar veryraggedcenter veryraggedleft veryraggedright \
+vglue viewerlayer vl vpackbox vpackedbox \
+vphantom vpos vsmash vsmashbox vsmashed \
+vspace vspacing wcircumflex wdofstring wedge \
+wedgeeq weekday whitearrowupfrombar wideacute widebar \
+widebreve widecheck wideddot widedot widegrave \
+widehat widering widetilde widthofstring widthspanningtext \
+withoutpt word wordright words wordtonumber \
+wp wr writebetweenlist writedatatolist writestatus \
+writetolist xLeftarrow xLeftrightarrow xRightarrow xdefconvertedargument \
+xequal xfrac xhookleftarrow xhookrightarrow xi \
+xleftarrow xleftharpoondown xleftharpoonup xleftrightarrow xleftrightharpoons \
+xmapsto xmladdindex xmlafterdocumentsetup xmlaftersetup xmlall \
+xmlappenddocumentsetup xmlappendsetup xmlapplyselectors xmlatt xmlattdef \
+xmlattribute xmlattributedef xmlbadinclusions xmlbeforedocumentsetup xmlbeforesetup \
+xmlchainatt xmlchainattdef xmlchecknamespace xmlcommand xmlconcat \
+xmlconcatrange xmlcontext xmlcount xmldefaulttotext xmldepth \
+xmldirectives xmldirectivesafter xmldirectivesbefore xmldisplayverbatim xmldoif \
+xmldoifatt xmldoifelse xmldoifelseatt xmldoifelseempty xmldoifelseselfempty \
+xmldoifelsetext xmldoifelsevalue xmldoifnot xmldoifnotatt xmldoifnotselfempty \
+xmldoifnottext xmldoifselfempty xmldoiftext xmlelement xmlfilter \
+xmlfirst xmlflush xmlflushcontext xmlflushdocumentsetups xmlflushlinewise \
+xmlflushpure xmlflushspacewise xmlflushtext xmlinclude xmlinclusion \
+xmlinclusions xmlinfo xmlinjector xmlinlineprettyprint xmlinlineprettyprinttext \
+xmlinlineverbatim xmlinstalldirective xmllast xmllastatt xmllastmatch \
+xmllastpar xmlloadbuffer xmlloaddata xmlloaddirectives xmlloadfile \
+xmlloadonly xmlmain xmlmapvalue xmlname xmlnamespace \
+xmlnonspace xmlpar xmlparam xmlpath xmlpos \
+xmlposition xmlprependdocumentsetup xmlprependsetup xmlprettyprint xmlprettyprinttext \
+xmlprocessbuffer xmlprocessdata xmlprocessfile xmlpure xmlraw \
+xmlrefatt xmlregistereddocumentsetups xmlregisteredsetups xmlregisterns xmlremapname \
+xmlremapnamespace xmlremovedocumentsetup xmlremovesetup xmlresetdocumentsetups xmlresetinjectors \
+xmlresetsetups xmlsave xmlsetatt xmlsetattribute xmlsetentity \
+xmlsetfunction xmlsetinjectors xmlsetpar xmlsetparam xmlsetsetup \
+xmlsetup xmlshow xmlsnippet xmlstrip xmlstripnolines \
+xmlstripped xmlstrippednolines xmltag xmltexentity xmltext \
+xmltobuffer xmltobufferverbose xmltofile xmlvalue xmlverbatim \
+xrel xrightarrow xrightharpoondown xrightharpoonup xrightleftharpoons \
+xrightoverleftarrow xsplitstring xtriplerel xtwoheadleftarrow xtwoheadrightarrow \
+xxfrac xypos yacute ycircumflex ydiaeresis \
+ydotbelow yen ygrave yhook yiddishnumerals \
+ymacron ytilde zacute zcaron zdotaccent \
+zeronumberconversion zerowidthnobreakspace zerowidthspace zeta zhook \
+zstroke zwj zwnj
keywordclass.context.en=\
Modified: trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metafun.properties 2024-02-27 16:48:07 UTC (rev 70189)
@@ -92,7 +92,8 @@
withtolerance hatched withdashes processpath pencilled \
sortedintersectiontimes intersectionpath firstintersectionpath secondintersectionpath intersectionsfound \
cutbeforefirst cutafterfirst cutbeforelast cutafterlast xnormalized \
-ynormalized xynormalized phantom scrutinized
+ynormalized xynormalized phantom scrutinized xshifted \
+yshifted
keywordclass.metafun.internals=\
nocolormodel greycolormodel graycolormodel rgbcolormodel \
@@ -111,5 +112,5 @@
anchory anchorht anchordp anchorul anchorll \
anchorlr anchorur localanchorbox localanchorcell localanchorspan \
anchorbox anchorcell anchorspan matrixbox matrixcell \
-matrixspan pensilcolor pensilstep
+matrixspan pensilcolor pensilstep uu
Modified: trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-metapost.properties 2024-02-27 16:48:07 UTC (rev 70189)
@@ -70,69 +70,61 @@
unitpixel vppp vround xoffset yoffset
keywordclass.metapost.primitives=\
-charcode day linecap linejoin \
-miterlimit stacking month pausing prologues \
-showstopping time tracingcapsules tracingchoices mpprocset \
-tracingcommands tracingequations tracinglostchars tracingmacros tracingonline \
-tracingoutput tracingrestores tracingspecs tracingstats tracingtitles \
-truecorners warningcheck year false nullpicture \
-pencircle penspec true and angle \
-arclength arctime ASCII boolean bot \
-char color cosd cycle decimal \
-directiontime floor fontsize hex infont \
-intersectiontimes known void length llcorner \
-lrcorner makepath makepen mexp mlog \
-normaldeviate not numeric oct odd \
-or path pair pen penoffset \
-picture point postcontrol precontrol reverse \
-rotated scaled shifted sind slanted \
-sqrt str string subpath substring \
-transform transformed ulcorner uniformdeviate unknown \
-urcorner xpart xscaled xxpart xypart \
-ypart yscaled yxpart yypart zscaled \
-addto clip input interim let \
-newinternal save setbounds setgroup shipout \
-show showdependencies showtoken showvariable special \
-begingroup endgroup of curl tension \
-and controls def vardef enddef \
-expr suffix text primary secondary \
-tertiary primarydef secondarydef tertiarydef randomseed \
-also contour doublepath withcolor withcmykcolor \
-withpen withstacking dashed envelope if \
-else elseif fi for endfor \
-forever exitif within forsuffixes step \
-until charlist extensible fontdimen headerbyte \
-kern ligtable boundarychar chardp charext \
-charht charic charwd designsize fontmaking \
-charexists cullit currenttransform gfcorners grayfont \
-hround imagerules lowres_fix nodisplays notransforms \
-openit displaying currentwindow screen_rows screen_cols \
-pixels_per_inch cull display openwindow numspecial \
-totalweight autorounding fillin proofing tracingpens \
-xoffset chardx granularity smoothing turningcheck \
-yoffset chardy hppp tracingedges vppp \
-extra_beginfig extra_endfig mpxbreak endinput message \
-delimiters turningnumber errmessage scantokens end \
-outer inner write to readfrom \
-closefrom withprescript withpostscript redpart greenpart \
-bluepart cyanpart magentapart yellowpart blackpart \
-prescriptpart postscriptpart rgbcolor cmykcolor colormodel \
-graypart greypart greycolor graycolor dashpart \
-penpart stackingpart stroked filled textual \
-clipped bounded pathpart expandafter minute \
-hour outputformat outputtemplate filenametemplate fontmapfile \
-fontmapline fontpart fontsize glyph restoreclipcolor \
-troffmode runscript maketext numbersystem overloadmode \
-setproperty intersectiontimeslist arcpoint arcpointlist subarclength \
-maxknotpool nocycle pathpoint pathprecontrol pathpostcontrol \
-pathdirection deltapoint deltaprecontrol deltapostcontrol deltadirection \
-corner xrange yrange convexed uncontrolled \
-nep makenep withmiterlimit withlinejoin withlinecap \
-centerof centerofmass
+tracingtitles tracingequations tracingcapsules tracingchoices \
+tracingspecs tracingcommands tracingrestores tracingmacros tracingoutput \
+tracingstats tracingonline year month day \
+time hour minute charcode charwd \
+charht chardp charic pausing showstopping \
+texscriptmode overloadmode linejoin linecap stacking \
+miterlimit warningcheck truecorners defaultcolormodel restoreclipcolor \
+numbersystem numberprecision jobname addto atleast \
+begingroup controls curl delimiters endgroup \
+everyjob exitif expandafter interim let \
+newinternal of randomseed maxknotpool save \
+scantokens runscript maketext shipout step \
+str void tension to until \
+within write btex verbatimtex etex \
+def vardef primarydef secondarydef tertiarydef \
+enddef for forsuffixes forever endfor \
+quote expr suffix text primary \
+secondary tertiary input endinput if \
+fi else elseif true false \
+nullpicture nullpen readstring pencircle normaldeviate \
+readfrom closefrom odd known unknown \
+not decimal reverse uncycle makepath \
+makepen makenep convexed uncontrolled oct \
+hex ASCII char length turningnumber \
+xpart ypart xxpart xypart yxpart \
+yypart redpart greenpart bluepart cyanpart \
+magentapart yellowpart blackpart greypart colormodel \
+prescriptpart postscriptpart stackingpart pathpart penpart \
+dashpart sqrt mexp mlog sind \
+cosd floor uniformdeviate llcorner lrcorner \
+ulcorner urcorner centerof centerofmass corners \
+xrange yrange deltapoint deltaprecontrol deltapostcontrol \
+deltadirection arclength angle cycle nocycle \
+stroked filled clipped grouped bounded \
+or and substring subpath directiontime \
+point precontrol postcontrol direction pathpoint \
+pathprecontrol pathpostcontrol pathdirection penoffset arctime \
+arcpoint arcpointlist subarclength mpversion rotated \
+slanted scaled shifted transformed xscaled \
+yscaled zscaled intersectiontimes intersectiontimeslist envelope \
+boundingpath numeric string boolean path \
+pen nep picture transform color \
+rgbcolor cmykcolor pair end dump \
+batchmode nonstopmode scrollmode errorstopmode silentmode \
+inner outer setproperty showtoken showstats \
+show showvariable showdependencies doublepath contour \
+also withpen dashed withprescript withpostscript \
+withstacking withlinecap withlinejoin withmiterlimit withoutcolor \
+withgreyscale withcolor withrgbcolor withcmykcolor clip \
+setgroup setbounds message errmessage errhelp \
+graypart
keywordclass.metapost.shortcuts=\
.. ... -- --- \
-& && \
+& && &&& &&&& \
keywordclass.metapost.tex=\
btex etex verbatimtex
Modified: trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties
===================================================================
--- trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/context/data/scite/context/scite-context-data-tex.properties 2024-02-27 16:48:07 UTC (rev 70189)
@@ -3,146 +3,168 @@
keywordclass.tex.etex=\
botmarks clubpenalties currentgrouplevel currentgrouptype \
-currentifbranch currentiflevel currentiftype detokenize dimexpr \
-displaywidowpenalties everyeof firstmarks fontchardp fontcharht \
-fontcharic fontcharwd glueexpr glueshrink glueshrinkorder \
-gluestretch gluestretchorder gluetomu ifcsname ifdefined \
-iffontchar interactionmode interlinepenalties lastlinefit lastnodetype \
-marks muexpr mutoglue numexpr pagediscards \
-parshapedimen parshapeindent parshapelength predisplaydirection protected \
-savinghyphcodes savingvdiscards scantokens showgroups showifs \
-showtokens splitbotmarks splitdiscards splitfirstmarks topmarks \
-tracingassigns tracinggroups tracingifs tracingnesting unexpanded \
-unless widowpenalties
+currentifbranch currentiflevel currentiftype currentstacksize detokenize \
+dimexpr displaywidowpenalties everyeof firstmarks fontchardp \
+fontcharht fontcharic fontcharwd glueexpr glueshrink \
+glueshrinkorder gluestretch gluestretchorder gluetomu ifcsname \
+ifdefined iffontchar interactionmode interlinepenalties lastlinefit \
+lastnodetype marks muexpr mutoglue numexpr \
+pagediscards parshapedimen parshapeindent parshapelength predisplaydirection \
+protected savinghyphcodes savingvdiscards scantokens showgroups \
+showifs showtokens splitbotmarks splitdiscards splitfirstmarks \
+topmarks tracingassigns tracinggroups tracingifs tracingnesting \
+unexpanded unless widowpenalties
keywordclass.tex.luatex=\
Uabove Uabovewithdelims Uatop Uatopwithdelims \
-Uchar Udelcode Udelimited Udelimiter Udelimiterover \
-Udelimiterunder Uhextensible Uleft Umathaccent Umathaccentbasedepth \
-Umathaccentbaseheight Umathaccentbottomovershoot Umathaccentbottomshiftdown Umathaccentextendmargin Umathaccentsuperscriptdrop \
-Umathaccentsuperscriptpercent Umathaccenttopovershoot Umathaccenttopshiftup Umathaccentvariant Umathadapttoleft \
-Umathadapttoright Umathaxis Umathbottomaccentvariant Umathchar Umathcharclass \
-Umathchardef Umathcharfam Umathcharslot Umathclass Umathcode \
+Udelcode Udelimited Udelimiter Udelimiterover Udelimiterunder \
+Uhextensible Uleft Umathaccent Umathaccentbasedepth Umathaccentbaseheight \
+Umathaccentbottomovershoot Umathaccentbottomshiftdown Umathaccentextendmargin Umathaccentsuperscriptdrop Umathaccentsuperscriptpercent \
+Umathaccenttopovershoot Umathaccenttopshiftup Umathaccentvariant Umathadapttoleft Umathadapttoright \
+Umathaxis Umathbottomaccentvariant Umathchar Umathchardef Umathcode \
Umathconnectoroverlapmin Umathdegreevariant Umathdelimiterextendmargin Umathdelimiterovervariant Umathdelimiterpercent \
-Umathdelimitershortfall Umathdelimiterundervariant Umathdenominatorvariant Umathdict Umathdictdef \
-Umathdiscretionary Umathextrasubpreshift Umathextrasubprespace Umathextrasubshift Umathextrasubspace \
-Umathextrasuppreshift Umathextrasupprespace Umathextrasupshift Umathextrasupspace Umathflattenedaccentbasedepth \
-Umathflattenedaccentbaseheight Umathflattenedaccentbottomshiftdown Umathflattenedaccenttopshiftup Umathfractiondelsize Umathfractiondenomdown \
-Umathfractiondenomvgap Umathfractionnumup Umathfractionnumvgap Umathfractionrule Umathfractionvariant \
-Umathhextensiblevariant Umathlimitabovebgap Umathlimitabovekern Umathlimitabovevgap Umathlimitbelowbgap \
-Umathlimitbelowkern Umathlimitbelowvgap Umathlimits Umathnoaxis Umathnolimits \
-Umathnolimitsubfactor Umathnolimitsupfactor Umathnumeratorvariant Umathopenupdepth Umathopenupheight \
-Umathoperatorsize Umathoverbarkern Umathoverbarrule Umathoverbarvgap Umathoverdelimiterbgap \
-Umathoverdelimitervariant Umathoverdelimitervgap Umathoverlayaccentvariant Umathoverlinevariant Umathphantom \
-Umathpresubshiftdistance Umathpresupshiftdistance Umathprimeraise Umathprimeraisecomposed Umathprimeshiftdrop \
-Umathprimeshiftup Umathprimespaceafter Umathprimevariant Umathprimewidth Umathquad \
-Umathradicaldegreeafter Umathradicaldegreebefore Umathradicaldegreeraise Umathradicalextensibleafter Umathradicalextensiblebefore \
-Umathradicalkern Umathradicalrule Umathradicalvariant Umathradicalvgap Umathruledepth \
-Umathruleheight Umathskeweddelimitertolerance Umathskewedfractionhgap Umathskewedfractionvgap Umathsource \
-Umathspaceafterscript Umathspacebeforescript Umathstackdenomdown Umathstacknumup Umathstackvariant \
-Umathstackvgap Umathsubscriptvariant Umathsubshiftdistance Umathsubshiftdown Umathsubshiftdrop \
-Umathsubsupshiftdown Umathsubsupvgap Umathsubtopmax Umathsupbottommin Umathsuperscriptvariant \
-Umathsupshiftdistance Umathsupshiftdrop Umathsupshiftup Umathsupsubbottommax Umathtopaccentvariant \
-Umathunderbarkern Umathunderbarrule Umathunderbarvgap Umathunderdelimiterbgap Umathunderdelimitervariant \
-Umathunderdelimitervgap Umathunderlinevariant Umathuseaxis Umathvextensiblevariant Umathvoid \
-Umathxscale Umathyscale Umiddle Unosubprescript Unosubscript \
-Unosuperprescript Unosuperscript Uoperator Uover Uoverdelimiter \
-Uoverwithdelims Uprimescript Uradical Uright Uroot \
-Urooted Ushiftedsubprescript Ushiftedsubscript Ushiftedsuperprescript Ushiftedsuperscript \
-Uskewed Uskewedwithdelims Ustack Ustartdisplaymath Ustartmath \
-Ustartmathmode Ustopdisplaymath Ustopmath Ustopmathmode Ustretched \
-Ustretchedwithdelims Ustyle Usubprescript Usubscript Usuperprescript \
-Usuperscript Uunderdelimiter Uvextensible adjustspacing adjustspacingshrink \
-adjustspacingstep adjustspacingstretch afterassigned aftergrouped aliased \
-aligncontent alignmark alignmentcellsource alignmentwrapsource aligntab \
-allcrampedstyles alldisplaystyles allmainstyles allmathstyles allscriptscriptstyles \
-allscriptstyles allsplitstyles alltextstyles alluncrampedstyles allunsplitstyles \
-amcode atendofgroup atendofgrouped attribute attributedef \
-automaticdiscretionary automatichyphenpenalty automigrationmode autoparagraphmode begincsname \
-beginlocalcontrol beginmathgroup beginsimplegroup boundary boxadapt \
-boxanchor boxanchors boxattribute boxdirection boxfreeze \
-boxgeometry boxorientation boxrepack boxshift boxsource \
-boxtarget boxtotal boxvadjust boxxmove boxxoffset \
-boxymove boxyoffset catcodetable cdef cdefcsname \
-cfcode clearmarks constant copymathatomrule copymathparent \
-copymathspacing crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle \
-csactive csstring currentloopiterator currentloopnesting currentmarks \
-dbox defcsname deferred detokenized dimensiondef \
-dimexpression directlua dpack dsplit edefcsname \
-efcode endlocalcontrol endmathgroup endsimplegroup enforced \
-etoks etoksapp etokspre eufactor everybeforepar \
-everymathatom everytab exceptionpenalty expand expandactive \
-expandafterpars expandafterspaces expandcstoken expanded expandedafter \
-expandedloop expandtoken explicitdiscretionary explicithyphenpenalty firstvalidlanguage \
+Umathdelimitershortfall Umathdelimiterundervariant Umathdenominatorvariant Umathdictdef Umathexheight \
+Umathextrasubpreshift Umathextrasubprespace Umathextrasubshift Umathextrasubspace Umathextrasuppreshift \
+Umathextrasupprespace Umathextrasupshift Umathextrasupspace Umathflattenedaccentbasedepth Umathflattenedaccentbaseheight \
+Umathflattenedaccentbottomshiftdown Umathflattenedaccenttopshiftup Umathfractiondelsize Umathfractiondenomdown Umathfractiondenomvgap \
+Umathfractionnumup Umathfractionnumvgap Umathfractionrule Umathfractionvariant Umathhextensiblevariant \
+Umathlimitabovebgap Umathlimitabovekern Umathlimitabovevgap Umathlimitbelowbgap Umathlimitbelowkern \
+Umathlimitbelowvgap Umathlimits Umathnoaxis Umathnolimits Umathnolimitsubfactor \
+Umathnolimitsupfactor Umathnumeratorvariant Umathopenupdepth Umathopenupheight Umathoperatorsize \
+Umathoverbarkern Umathoverbarrule Umathoverbarvgap Umathoverdelimiterbgap Umathoverdelimitervariant \
+Umathoverdelimitervgap Umathoverlayaccentvariant Umathoverlinevariant Umathphantom Umathpresubshiftdistance \
+Umathpresupshiftdistance Umathprimeraise Umathprimeraisecomposed Umathprimeshiftdrop Umathprimeshiftup \
+Umathprimespaceafter Umathprimevariant Umathprimewidth Umathquad Umathradicaldegreeafter \
+Umathradicaldegreebefore Umathradicaldegreeraise Umathradicalextensibleafter Umathradicalextensiblebefore Umathradicalkern \
+Umathradicalrule Umathradicalvariant Umathradicalvgap Umathruledepth Umathruleheight \
+Umathskeweddelimitertolerance Umathskewedfractionhgap Umathskewedfractionvgap Umathsource Umathspaceafterscript \
+Umathspacebeforescript Umathspacebetweenscript Umathstackdenomdown Umathstacknumup Umathstackvariant \
+Umathstackvgap Umathsubscriptsnap Umathsubscriptvariant Umathsubshiftdistance Umathsubshiftdown \
+Umathsubshiftdrop Umathsubsupshiftdown Umathsubsupvgap Umathsubtopmax Umathsupbottommin \
+Umathsuperscriptsnap Umathsuperscriptvariant Umathsupshiftdistance Umathsupshiftdrop Umathsupshiftup \
+Umathsupsubbottommax Umathtopaccentvariant Umathunderbarkern Umathunderbarrule Umathunderbarvgap \
+Umathunderdelimiterbgap Umathunderdelimitervariant Umathunderdelimitervgap Umathunderlinevariant Umathuseaxis \
+Umathvextensiblevariant Umathvoid Umathxscale Umathyscale Umiddle \
+Uoperator Uover Uoverdelimiter Uoverwithdelims Uradical \
+Uright Uroot Urooted Uskewed Uskewedwithdelims \
+Ustartdisplaymath Ustartmath Ustartmathmode Ustopdisplaymath Ustopmath \
+Ustopmathmode Ustretched Ustretchedwithdelims Uunderdelimiter Uvextensible \
+additionalpageskip adjustspacing adjustspacingshrink adjustspacingstep adjustspacingstretch \
+advanceby afterassigned aftergrouped aliased aligncontent \
+alignmark alignmentcellsource alignmentwrapsource aligntab allcrampedstyles \
+alldisplaystyles allmainstyles allmathstyles allscriptscriptstyles allscriptstyles \
+allsplitstyles alltextstyles alluncrampedstyles allunsplitstyles amcode \
+associateunit atendoffile atendoffiled atendofgroup atendofgrouped \
+attribute attributedef automaticdiscretionary automatichyphenpenalty automigrationmode \
+autoparagraphmode begincsname beginlocalcontrol beginmathgroup beginsimplegroup \
+boundary boxadapt boxanchor boxanchors boxattribute \
+boxdirection boxfinalize boxfreeze boxgeometry boxlimit \
+boxlimitate boxlimitmode boxorientation boxrepack boxshift \
+boxshrink boxsource boxstretch boxtarget boxtotal \
+boxvadjust boxxmove boxxoffset boxymove boxyoffset \
+catcodetable cdef cdefcsname cfcode clearmarks \
+constant constrained copymathatomrule copymathparent copymathspacing \
+crampeddisplaystyle crampedscriptscriptstyle crampedscriptstyle crampedtextstyle csactive \
+csstring currentloopiterator currentloopnesting currentlysetmathstyle currentmarks \
+dbox defcsname deferred detokened detokenized \
+dimensiondef dimexpression directlua discretionaryoptions divideby \
+doubleadjdemerits dpack dsplit edefcsname edivide \
+edivideby efcode emergencyleftskip emergencyrightskip endlocalcontrol \
+endmathgroup endsimplegroup enforced etoks etoksapp \
+etokspre eufactor everybeforepar everymathatom everytab \
+exceptionpenalty expand expandactive expandafterpars expandafterspaces \
+expandcstoken expanded expandedafter expandeddetokenize expandedendless \
+expandedloop expandedrepeat expandparameter expandtoken expandtoks \
+explicitdiscretionary explicithyphenpenalty explicititaliccorrection explicitspace firstvalidlanguage \
float floatdef floatexpr flushmarks fontcharba \
fontcharta fontid fontmathcontrol fontspecdef fontspecid \
-fontspecifiedname fontspecifiedsize fontspecscale fontspecxscale fontspecyscale \
-fonttextcontrol formatname frozen futurecsname futuredef \
-futureexpand futureexpandis futureexpandisap gdefcsname gleaders \
+fontspecifiedname fontspecifiedsize fontspecscale fontspecslant fontspecweight \
+fontspecxscale fontspecyscale fonttextcontrol forcedleftcorrection forcedrightcorrection \
+formatname frozen futurecsname futuredef futureexpand \
+futureexpandis futureexpandisap gdefcsname givenmathstyle gleaders \
glet gletcsname glettonothing gluespecdef glyph \
glyphdatafield glyphoptions glyphscale glyphscriptfield glyphscriptscale \
-glyphscriptscriptscale glyphstatefield glyphtextscale glyphxoffset glyphxscale \
-glyphxscaled glyphyoffset glyphyscale glyphyscaled gtoksapp \
-gtokspre hccode hjcode hmcode holdingmigrations \
-hpack hyphenationmin hyphenationmode ifabsdim ifabsfloat \
-ifabsnum ifarguments ifboolean ifchkdim ifchkdimension \
-ifchknum ifchknumber ifcmpdim ifcmpnum ifcondition \
-ifcstok ifdimexpression ifdimval ifempty ifflags \
-iffloat ifhaschar ifhastok ifhastoks ifhasxtoks \
-ifincsname ifinsert ifmathparameter ifmathstyle ifnumexpression \
-ifnumval ifparameter ifparameters ifrelax iftok \
-ifzerodim ifzerofloat ifzeronum ignorearguments ignoredepthcriterium \
-ignorepars immediate immutable indexofcharacter indexofregister \
-inherited initcatcodetable insertbox insertcopy insertdepth \
-insertdistance insertheight insertheights insertlimit insertmaxdepth \
-insertmode insertmultiplier insertpenalty insertprogress insertstorage \
-insertstoring insertunbox insertuncopy insertwidth instance \
-integerdef lastarguments lastatomclass lastboundary lastchkdim \
-lastchknum lastleftclass lastloopiterator lastnamedcs lastnodesubtype \
-lastpageextra lastparcontext lastrightclass leftmarginkern letcharcode \
+glyphscriptscriptscale glyphslant glyphstatefield glyphtextscale glyphweight \
+glyphxoffset glyphxscale glyphxscaled glyphyoffset glyphyscale \
+glyphyscaled gtoksapp gtokspre hccode hjcode \
+hmcode holdingmigrations hpack hpenalty hyphenationmin \
+hyphenationmode ifabsdim ifabsfloat ifabsnum ifarguments \
+ifboolean ifchkdim ifchkdimension ifchknum ifchknumber \
+ifcmpdim ifcmpnum ifcondition ifcramped ifcstok \
+ifdimexpression ifdimval ifempty ifflags iffloat \
+ifhaschar ifhastok ifhastoks ifhasxtoks ifinalignment \
+ifincsname ifinsert ifintervaldim ifintervalfloat ifintervalnum \
+iflastnamedcs ifmathparameter ifmathstyle ifnumexpression ifnumval \
+ifparameter ifparameters ifrelax iftok ifzerodim \
+ifzerofloat ifzeronum ignorearguments ignoredepthcriterion ignorenestedupto \
+ignorepars ignorerest ignoreupto immediate immutable \
+indexofcharacter indexofregister inherited initcatcodetable initialpageskip \
+initialtopskip insertbox insertcopy insertdepth insertdistance \
+insertheight insertheights insertlimit insertmaxdepth insertmode \
+insertmultiplier insertpenalty insertprogress insertstorage insertstoring \
+insertunbox insertuncopy insertwidth instance integerdef \
+lastarguments lastatomclass lastboundary lastchkdimension lastchknumber \
+lastleftclass lastloopiterator lastnamedcs lastnodesubtype lastpageextra \
+lastparcontext lastpartrigger lastrightclass leftmarginkern letcharcode \
letcsname letfrozen letmathatomrule letmathparent letmathspacing \
-letprotected lettonothing linebreakcriterium linedirection localbrokenpenalty \
-localcontrol localcontrolled localcontrolledloop localinterlinepenalty localleftbox \
-localleftboxbox localmiddlebox localmiddleboxbox localrightbox localrightboxbox \
-lpcode luabytecode luabytecodecall luacopyinputnodes luadef \
-luaescapestring luafunction luafunctioncall luatexbanner luatexrevision \
-luatexversion mathaccent mathatom mathatomglue mathatomskip \
-mathbackwardpenalties mathbeginclass mathbinary mathcheckfencesmode mathclose \
-mathdictgroup mathdictproperties mathdirection mathdisplaymode mathdisplayskipmode \
-mathdoublescriptmode mathendclass matheqnogapstep mathfenced mathfontcontrol \
-mathforwardpenalties mathfraction mathghost mathgluemode mathgroupingmode \
-mathinner mathleftclass mathlimitsmode mathmainstyle mathmiddle \
-mathnolimitsmode mathopen mathoperator mathordinary mathoverline \
-mathpenaltiesmode mathpunctuation mathradical mathrelation mathrightclass \
-mathrulesfam mathrulesmode mathscale mathscriptsmode mathslackmode \
-mathspacingmode mathstackstyle mathstyle mathstylefontid mathsurroundmode \
-mathsurroundskip maththreshold mathunderline meaningasis meaningful \
-meaningfull meaningles meaningless mugluespecdef mutable \
-noaligned noatomruling noboundary nohrule norelax \
-normalizelinemode normalizeparmode nospaces novrule numericscale \
-numexpression orelse orphanpenalties orphanpenalty orunless \
-outputbox overloaded overloadmode overshoot pageboundary \
-pageextragoal pagevsize parametercount parametermark parattribute \
-pardirection permanent pettymuskip positdef postexhyphenchar \
-posthyphenchar postinlinepenalty prebinoppenalty predisplaygapfactor preexhyphenchar \
-prehyphenchar preinlinepenalty prerelpenalty protrudechars protrusionboundary \
-pxdimen quitloop quitvmode resetmathspacing retokenized \
-rightmarginkern rpcode savecatcodetable scaledemwidth scaledexheight \
-scaledextraspace scaledfontdimen scaledinterwordshrink scaledinterwordspace scaledinterwordstretch \
-scaledmathstyle scaledslantperpoint scantextokens semiexpand semiexpanded \
-semiprotected setdefaultmathcodes setfontid setmathatomrule setmathdisplaypostpenalty \
-setmathdisplayprepenalty setmathignore setmathoptions setmathpostpenalty setmathprepenalty \
-setmathspacing shapingpenaltiesmode shapingpenalty snapshotpar srule \
-supmarkmode swapcsvalues tabsize textdirection thewithoutunit \
-tinymuskip todimension tohexadecimal tointeger tokenized \
+letprotected lettolastnamedcs lettonothing linebreakcriterion linebreakoptional \
+linebreakpasses linedirection localbrokenpenalty localcontrol localcontrolled \
+localcontrolledendless localcontrolledloop localcontrolledrepeat localinterlinepenalty localleftbox \
+localleftboxbox localmiddlebox localmiddleboxbox localpretolerance localrightbox \
+localrightboxbox localtolerance lpcode luabytecode luabytecodecall \
+luacopyinputnodes luadef luaescapestring luafunction luafunctioncall \
+luatexbanner luatexrevision luatexversion mathatom mathatomglue \
+mathatomskip mathbackwardpenalties mathbeginclass mathboundary mathcharclass \
+mathcharfam mathcharslot mathcheckfencesmode mathclass mathdictgroup \
+mathdictionary mathdictproperties mathdirection mathdiscretionary mathdisplaymode \
+mathdisplaypenaltyfactor mathdisplayskipmode mathdoublescriptmode mathendclass matheqnogapstep \
+mathfontcontrol mathforwardpenalties mathgluemode mathgroupingmode mathinlinepenaltyfactor \
+mathleftclass mathlimitsmode mathmainstyle mathnolimitsmode mathparentstyle \
+mathpenaltiesmode mathpretolerance mathrightclass mathrulesfam mathrulesmode \
+mathscale mathscriptsmode mathslackmode mathspacingmode mathstack \
+mathstackstyle mathstyle mathstylefontid mathsurroundmode mathsurroundskip \
+maththreshold mathtolerance meaningasis meaningful meaningfull \
+meaningles meaningless mugluespecdef multiplyby mutable \
+nestedloopiterator noaligned noatomruling noboundary nohrule \
+nomathchar norelax normalizelinemode normalizeparmode noscript \
+nospaces nosubprescript nosubscript nosuperprescript nosuperscript \
+novrule numericscale numericscaled numexpression optionalboundary \
+orelse orphanpenalties orphanpenalty orunless outputbox \
+overloaded overloadmode overshoot pageboundary pagedepth \
+pageexcess pageextragoal pagefistretch pagelastdepth pagelastfilllstretch \
+pagelastfillstretch pagelastfilstretch pagelastfistretch pagelastheight pagelastshrink \
+pagelaststretch pagevsize parametercount parameterdef parameterindex \
+parametermark parametermode parattribute pardirection parfillleftskip \
+parfillrightskip parinitleftskip parinitrightskip parpasses parshapewidth \
+permanent pettymuskip positdef postexhyphenchar posthyphenchar \
+postinlinepenalty postshortinlinepenalty prebinoppenalty predisplaygapfactor preexhyphenchar \
+prehyphenchar preinlinepenalty prerelpenalty preshortinlinepenalty previousloopiterator \
+primescript protecteddetokenize protectedexpandeddetokenize protrudechars protrusionboundary \
+pxdimen quitloop quitloopnow quitvmode rdivide \
+rdivideby realign resetmathspacing restorecatcodetable retained \
+retokenized rightmarginkern rpcode savecatcodetable scaledemwidth \
+scaledexheight scaledextraspace scaledfontcharba scaledfontchardp scaledfontcharht \
+scaledfontcharic scaledfontcharta scaledfontcharwd scaledfontdimen scaledinterwordshrink \
+scaledinterwordspace scaledinterwordstretch scaledmathaxis scaledmathemwidth scaledmathexheight \
+scaledmathstyle scaledslantperpoint scantextokens scriptspaceafterfactor scriptspacebeforefactor \
+scriptspacebetweenfactor semiexpand semiexpanded semiprotected setdefaultmathcodes \
+setfontid setmathatomrule setmathdisplaypostpenalty setmathdisplayprepenalty setmathignore \
+setmathoptions setmathpostpenalty setmathprepenalty setmathspacing shapingpenaltiesmode \
+shapingpenalty shiftedsubprescript shiftedsubscript shiftedsuperprescript shiftedsuperscript \
+shortinlinemaththreshold shortinlineorphanpenalty showcodestack showstack singlelinepenalty \
+snapshotpar spacefactormode spacefactorshrinklimit spacefactorstretchlimit srule \
+subprescript subscript superprescript superscript supmarkmode \
+swapcsvalues tabsize textdirection thewithoutunit tinymuskip \
+tocharacter todimension tohexadecimal tointeger tokenized \
toksapp tokspre tolerant tomathstyle toscaled \
tosparsedimension tosparsescaled tpack tracingadjusts tracingalignments \
-tracingexpressions tracingfonts tracingfullboxes tracinghyphenation tracinginserts \
-tracinglevels tracinglists tracingmarks tracingmath tracingnodes \
-tracingpenalties tsplit uleaders undent unexpandedloop \
-unhpack unletfrozen unletprotected untraced unvpack \
-variablefam virtualhrule virtualvrule vpack wordboundary \
-wrapuppar xdefcsname xtoks xtoksapp xtokspre
+tracingexpressions tracingfullboxes tracinghyphenation tracinginserts tracinglevels \
+tracinglists tracingmarks tracingmath tracingnodes tracingpasses \
+tracingpenalties tsplit uleaders undent unexpandedendless \
+unexpandedloop unexpandedrepeat unhpack unletfrozen unletprotected \
+untraced unvpack variablefam virtualhrule virtualvrule \
+vpack vpenalty wordboundary wrapuppar xdefcsname \
+xtoks xtoksapp xtokspre
keywordclass.tex.omega=\
Omegaminorversion Omegarevision Omegaversion
@@ -175,18 +197,18 @@
keywordclass.tex.tex=\
- / above \
abovedisplayshortskip abovedisplayskip abovewithdelims accent adjdemerits \
-advance advanceby afterassignment aftergroup atop \
-atopwithdelims badness baselineskip batchmode begingroup \
-belowdisplayshortskip belowdisplayskip binoppenalty botmark box \
-boxmaxdepth brokenpenalty catcode char chardef \
-cleaders clubpenalty copy count countdef \
-cr crcr csname day deadcycles \
-def defaulthyphenchar defaultskewchar delcode delimiter \
-delimiterfactor delimitershortfall dimen dimendef discretionary \
-displayindent displaylimits displaystyle displaywidowpenalty displaywidth \
-divide divideby doublehyphendemerits dp dump \
-edef else emergencystretch end endcsname \
-endgroup endinput endlinechar eqno errhelp \
+advance afterassignment aftergroup atop atopwithdelims \
+badness baselineskip batchmode begingroup belowdisplayshortskip \
+belowdisplayskip binoppenalty botmark box boxmaxdepth \
+brokenpenalty catcode char chardef cleaders \
+clubpenalty copy count countdef cr \
+crcr csname day deadcycles def \
+defaulthyphenchar defaultskewchar delcode delimiter delimiterfactor \
+delimitershortfall dimen dimendef discretionary displayindent \
+displaylimits displaystyle displaywidowpenalty displaywidth divide \
+doublehyphendemerits dp dump edef else \
+emergencyextrastretch emergencystretch end endcsname endgroup \
+endinput endlinechar eofinput eqno errhelp \
errmessage errorcontextlines errorstopmode escapechar everycr \
everydisplay everyhbox everyjob everymath everypar \
everyvbox exhyphenchar exhyphenpenalty expandafter fam \
@@ -194,29 +216,29 @@
fontdimen fontname futurelet gdef global \
globaldefs halign hangafter hangindent hbadness \
hbox hfil hfill hfilneg hfuzz \
-holdinginserts hrule hsize hskip hss \
-ht hyphenation hyphenchar hyphenpenalty if \
-ifcase ifcat ifdim iffalse ifhbox \
-ifhmode ifinner ifmmode ifnum ifodd \
-iftrue ifvbox ifvmode ifvoid ifx \
-ignorespaces indent input inputlineno insert \
-insertpenalties interlinepenalty jobname kern language \
-lastbox lastkern lastpenalty lastskip lccode \
-leaders left lefthyphenmin leftskip leqno \
-let limits linepenalty lineskip lineskiplimit \
-long looseness lower lowercase mark \
-mathbin mathchar mathchardef mathchoice mathcode \
-mathop mathord mathpunct mathrel mathsurround \
+hkern holdinginserts hrule hsize hskip \
+hss ht hyphenation hyphenchar hyphenpenalty \
+if ifcase ifcat ifdim iffalse \
+ifhbox ifhmode ifinner ifmmode ifnum \
+ifodd iftrue ifvbox ifvmode ifvoid \
+ifx ignorespaces indent input inputlineno \
+insert insertpenalties interlinepenalty jobname kern \
+language lastbox lastkern lastpenalty lastskip \
+lccode leaders left lefthyphenmin leftskip \
+leqno let limits linepenalty lineskip \
+lineskiplimit long looseness lower lowercase \
+mark mathaccent mathbin mathchar mathchardef \
+mathchoice mathclose mathcode mathinner mathop \
+mathopen mathord mathpunct mathrel mathsurround \
maxdeadcycles maxdepth meaning medmuskip message \
middle mkern month moveleft moveright \
-mskip multiply multiplyby muskip muskipdef \
-newlinechar noalign noexpand noindent nolimits \
-nonscript nonstopmode nulldelimiterspace nullfont number \
-omit or outer output outputpenalty \
-over overfullrule overline overwithdelims pagedepth \
-pagefilllstretch pagefillstretch pagefilstretch pagegoal pageshrink \
-pagestretch pagetotal par parfillleftskip parfillskip \
-parindent parinitleftskip parinitrightskip parshape parskip \
+mskip multiply muskip muskipdef newlinechar \
+noalign noexpand noindent nolimits nonscript \
+nonstopmode nulldelimiterspace nullfont number omit \
+or outer output outputpenalty over \
+overfullrule overline overwithdelims pagefilllstretch pagefillstretch \
+pagefilstretch pagegoal pageshrink pagestretch pagetotal \
+par parfillskip parindent parshape parskip \
patterns pausing penalty postdisplaypenalty predisplaypenalty \
predisplaysize pretolerance prevdepth prevgraf radical \
raise relax relpenalty right righthyphenmin \
@@ -234,9 +256,9 @@
unhbox unhcopy unkern unpenalty unskip \
unvbox unvcopy uppercase vadjust valign \
vbadness vbox vcenter vfil vfill \
-vfilneg vfuzz vrule vsize vskip \
-vsplit vss vtop wd widowpenalty \
-xdef xleaders xspaceskip year
+vfilneg vfuzz vkern vrule vsize \
+vskip vsplit vss vtop wd \
+widowpenalty xdef xleaders xspaceskip year
keywordclass.tex.xetex=\
XeTeXversion
Deleted: trunk/Master/texmf-dist/doc/context/README.adoc
===================================================================
--- trunk/Master/texmf-dist/doc/context/README.adoc 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/README.adoc 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,18 +0,0 @@
-== ConTeXt source code
-
-This repository hosts ConTeXt, a TeX macro package. There are three versions:
-
-MkII:: the frozen version meant for pdfTeX
-MkIV:: the mostly frozen version meant for LuaTeX
-MkXL:: the latest version running on LuaMetaTeX
-
-Here we collect all the file needed to run ConTeXt, including the sources of
-LuaMetaTeX. More information can be found on the wiki:
-
-* https://wiki.contextgarden.net
-
-For support there is a mailing list available ntg-context at ntg.nl
-
-* https://www.ntg.nl/mailman/listinfo/ntg-context
-
-Hans Hagen
Added: trunk/Master/texmf-dist/doc/context/context-readme.txt
===================================================================
--- trunk/Master/texmf-dist/doc/context/context-readme.txt (rev 0)
+++ trunk/Master/texmf-dist/doc/context/context-readme.txt 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,74 @@
+Welcome to context,
+
+The standalone context distribution has the following structure. Installations
+like texlive use a different organization.
+
+ tex/texmf-context : the files in this tree (zip)
+ tex/texmf-<platform>/bin : the tex binaries and runners
+ tex/texmf-modules : optional user installed modules
+ tex/texmf-project : user project files
+ tex/texmf-fonts/data/<collection> : user installed fonts
+
+There is only one binary: luametatex, two if you also have luatex, so the amount
+of binary code is rather small. The mtxrun and context runners (stubs) are links
+but when that doesn't work you can make copies luametatex (which is not that
+large anyway). Because luametatex is also its own runner, there are no
+dependencies on other binaries.
+
+ luametatex[.exe] : the main tex binary, also runner [around 3MB]
+
+ mtxrun[.exe] : a (sym)link to luametatex
+ context[.exe] : a (sym)link to luametatex
+
+ mtxrun.lua : the main runner code
+ context.lua : the context runner code
+
+ luatex[.exe] : optional
+
+The lua files have to be alongside its runner. Wrapping a runner in some launcher
+makes no sense and is not supported. The whole idea is to have one single
+independent framework that is the same on all main platforms (windows, linux,
+osx). The mtxrun runner also handles the other mtx-* scripts that are in the
+context tree, which is why we have only a few files in the binary path. It also
+reduces the risk for clashes in binary names.
+
+Once the bin path is added to the PATH environment variable the commands:
+
+ context
+ mtxrun
+
+will manage your tex runs. For example:
+
+ mtxrun --generate
+ mtxrun --script fonts --reload
+
+ context --make
+ context --make pdftex
+ context --make luatex
+
+ context foo.tex
+ context --pdftex foo.tex
+ context --luatex foo.tex
+
+When mkii (with pdftex or xetex) is used the texexec ruby script is launched. By
+using the runners the likelyhood of a clash with other program in a tex
+distriubution is minimized. Other ways of running context and its related scripts
+is not officially supported by the:
+
+An installation can be done using the installer but also by unzipping the archive
+or fetching from github (contextgarden). You can, if needed, compile the binary
+yourself from the includes source code.
+
+All tex resources (macros, styles, fonts, patterns, etc.) are located relative
+to the binary path so you only need to make sure that the binary is in the path.
+
+The project and font trees can be shared (using links) and are untouched by the
+installers. By keeping fonts in the tree you retain stability, By using the
+project tree you can make sure that your styles are found when you process files
+outside the tex tree.
+
+After installing you need to run 'mtxrun --generate' so that a successive
+'context' run can find the files it needs.
+
+You can get help and more information on the context garden, mailing lists and user
+forums cq. platforms.
Property changes on: trunk/Master/texmf-dist/doc/context/context-readme.txt
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/cld-mkiv.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/colors-mkiv.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-accuracy.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-accuracy.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-accuracy.pdf 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-accuracy.pdf 2024-02-27 16:48:07 UTC (rev 70189)
Property changes on: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-accuracy.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-alignments.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-grouping.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-lines.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-lines.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-lines.pdf 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-lines.pdf 2024-02-27 16:48:07 UTC (rev 70189)
Property changes on: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-lines.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-loops.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-macros.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-paragraphs.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/lowlevel-registers.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/luametatex.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/musings.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/ontarget.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/context/documents/general/manuals/pdfmerge.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/context/documents/general/manuals/pdfmerge.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/context/documents/general/manuals/pdfmerge.pdf 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/documents/general/manuals/pdfmerge.pdf 2024-02-27 16:48:07 UTC (rev 70189)
Property changes on: trunk/Master/texmf-dist/doc/context/documents/general/manuals/pdfmerge.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/primitives.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/manuals/sql-mkiv.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/presentations/context/2017/context-2017-features-spacetest.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/presentations/context/2017/context-2017-features-spacetest.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/presentations/context/2017/context-2017-features-spacetest.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -27,7 +27,7 @@
\starttext
-\enabledirectives[fonts.injections.useitalics] % use italic kerns for tracing
+\enabledirectives[fonts.injections.usespacefontkerns]
\definecolor[tgray][s=.5,t=.5,a=1] \showfontkerns \showfontitalics \showglyphs
Modified: trunk/Master/texmf-dist/doc/context/presentations/examples/present-steps-001.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.html 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -14,7 +14,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
- <title>ConTeXt Process Management 1.04</title>
+ <title>ConTeXt Process Management 1.06</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
@@ -24,7 +24,7 @@
</head>
<body>
<div id="top"> <div id="top-one">
- <div id="top-two">ConTeXt Process Management 1.04 </div>
+ <div id="top-two">ConTeXt Process Management 1.06 </div>
</div>
</div>
<div id="bottom"> <div id="bottom-one">
@@ -60,7 +60,7 @@
<tr><th>--result</th><td>name</td><td>rename the resulting output to the given name</td></tr>
<tr><th>--trackers</th><td>list</td><td>set tracker variables (show list with --showtrackers)</td></tr>
<tr><th>--directives</th><td>list</td><td>set directive variables (show list with --showdirectives)</td></tr>
- <tr><th>--silent</th><td>list</td><td>disable logcatgories (show list with --showlogcategories)</td></tr>
+ <tr><th>--silent</th><td>list</td><td>disable logcategories (show list with --showlogcategories)</td></tr>
<tr><th>--strip</th><td></td><td>strip Lua code (only meant for production where no errors are expected)</td></tr>
<tr><th>--errors</th><td>list</td><td>show errors at the end of a run, quit when in list (also when --silent)</td></tr>
<tr><th>--htmlerrorpage</th><td></td><td>generate html error page instead (optional: =scite)</td></tr>
@@ -67,6 +67,7 @@
<tr><th>--noconsole</th><td></td><td>disable logging to the console (logfile only)</td></tr>
<tr><th>--nodummy</th><td></td><td>don't create a dummy file (can confuse pdf viewers that keep file in view)</td></tr>
<tr><th>--purgeresult</th><td></td><td>purge result file before run</td></tr>
+ <tr><th>--find</th><td>string</td><td>search for the given pattern in the documentation sources</td></tr>
<tr><th/><td/><td/></tr>
<tr><th>--forcexml</th><td></td><td>force xml stub</td></tr>
<tr><th>--forcecld</th><td></td><td>force cld (context lua document) stub</td></tr>
@@ -101,6 +102,9 @@
<tr><th/><td/><td/></tr>
<tr><th>--global</th><td></td><td>assume given file present elsewhere</td></tr>
<tr><th>--nofile</th><td></td><td>use dummy file as jobname</td></tr>
+ <tr><th>--forceinput</th><td></td><td>use this file as input file instead of the given one</td></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--expert</th><td></td><td>show some more options</td></tr>
<tr><th colspan="3">expert</th></tr>
<tr><th/><td/><td/></tr>
<tr><th>--touch</th><td></td><td>update context version number (also provide --expert, optionally provide --basepath)</td></tr>
@@ -110,6 +114,7 @@
<tr><th>--keeptuc</th><td></td><td>keep previous tuc files (jobname-tuc-[run].tmp)</td></tr>
<tr><th>--keeppdf</th><td></td><td>keep previous pdf files (jobname-pdf-keep.tmp)</td></tr>
<tr><th>--keeplog</th><td></td><td>keep previous log files (jobname-log-[run].tmp)</td></tr>
+ <tr><th>--notuc</th><td></td><td>don't write a tuc file</td></tr>
<tr><th>--lmtx</th><td></td><td>force lmtx mode (when available)</td></tr>
<tr><th>--overloadmode=error|warning|0--6|255</th><td></td><td>enable csname overload checking</td></tr>
<tr><th/><td/><td/></tr>
@@ -127,6 +132,9 @@
<tr><th/><td/><td/></tr>
<tr><th>--pipe</th><td></td><td>do not check for file and enter scroll mode (--dummyfile=whatever.tmp)</td></tr>
<tr><th/><td/><td/></tr>
+ <tr><th>--parallel</th><td></td><td>process multiple files at the same time (you can specify a number of processes, default: 8)</td></tr>
+ <tr><th>--parallellist</th><td></td><td>process commands in this file (lines that start with 'context')</td></tr>
+ <tr><th/><td/><td/></tr>
<tr><th>--sandbox</th><td></td><td>process file in a limited environment</td></tr>
<tr><th/><td/><td/></tr>
<tr><th>--addbinarypath</th><td></td><td>prepend the (found) binarypath to runners</td></tr>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-context" "1" "01-01-2023" "version 1.04" "ConTeXt Process Management"
+.TH "mtx-context" "1" "01-01-2024" "version 1.05" "ConTeXt Process Management"
.SH NAME
mtx-context - ConTeXt Process Management
.SH SYNOPSIS
@@ -63,7 +63,7 @@
set directive variables (show list with --showdirectives)
.TP
.B --silent=list
-disable logcatgories (show list with --showlogcategories)
+disable logcategories (show list with --showlogcategories)
.TP
.B --strip
strip Lua code (only meant for production where no errors are expected)
@@ -83,6 +83,9 @@
.B --purgeresult
purge result file before run
.TP
+.B --find=string
+search for the given pattern in the documentation sources
+.TP
.B --forcexml
force xml stub
.TP
@@ -154,6 +157,12 @@
.TP
.B --nofile
use dummy file as jobname
+.TP
+.B --forceinput
+use this file as input file instead of the given one
+.TP
+.B --expert
+show some more options
.SH OPTIONS: EXPERT
.TP
.B --touch
@@ -177,6 +186,9 @@
.B --keeplog
keep previous log files (jobname-log-[run].tmp)
.TP
+.B --notuc
+don't write a tuc file
+.TP
.B --lmtx
force lmtx mode (when available)
.TP
@@ -211,6 +223,12 @@
.B --pipe
do not check for file and enter scroll mode (--dummyfile=whatever.tmp)
.TP
+.B --parallel
+process multiple files at the same time (you can specify a number of processes, default: 8)
+.TP
+.B --parallellist
+process commands in this file (lines that start with 'context')
+.TP
.B --sandbox
process file in a limited environment
.TP
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.xml 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/context.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -4,7 +4,7 @@
<metadata>
<entry name="name">mtx-context</entry>
<entry name="detail">ConTeXt Process Management</entry>
- <entry name="version">1.04</entry>
+ <entry name="version">1.05</entry>
<entry name="comment">external helpinfo file</entry>
</metadata>
<flags>
@@ -68,7 +68,7 @@
<short>set directive variables (show list with <ref name="showdirectives"/>)</short>
</flag>
<flag name="silent" value="list">
- <short>disable logcatgories (show list with <ref name="showlogcategories"/>)</short>
+ <short>disable logcategories (show list with <ref name="showlogcategories"/>)</short>
</flag>
<flag name="strip">
<short>strip Lua code (only meant for production where no errors are expected)</short>
@@ -88,6 +88,9 @@
<flag name="purgeresult">
<short>purge result file before run</short>
</flag>
+ <flag name="find" value="string">
+ <short>search for the given pattern in the documentation sources</short>
+ </flag>
</subcategory>
<subcategory>
<flag name="forcexml">
@@ -177,10 +180,18 @@
<flag name="global">
<short>assume given file present elsewhere</short>
</flag>
- <flag name="nofile">
+ <flag name="nofile">
<short>use dummy file as jobname</short>
</flag>
+ <flag name="forceinput">
+ <short>use this file as input file instead of the given one</short>
+ </flag>
</subcategory>
+ <subcategory>
+ <flag name="expert">
+ <short>show some more options</short>
+ </flag>
+ </subcategory>
</category>
<category name="expert">
<subcategory>
@@ -208,6 +219,9 @@
<flag name="keeplog">
<short>keep previous log files (jobname-log-[run].tmp)</short>
</flag>
+ <flag name="notuc">
+ <short>don't write a tuc file</short>
+ </flag>
<flag name="lmtx">
<short>force lmtx mode (when available)</short>
</flag>
@@ -253,6 +267,14 @@
</flag>
</subcategory>
<subcategory>
+ <flag name="parallel">
+ <short>process multiple files at the same time (you can specify a number of processes, default: 8)</short>
+ </flag>
+ <flag name="parallellist">
+ <short>process commands in this file (lines that start with 'context')</short>
+ </flag>
+ </subcategory>
+ <subcategory>
<flag name="sandbox">
<short>process file in a limited environment</short>
</flag>
Deleted: trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.html 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<!-- compare with lmx framework variant -->
-
-<!--
- filename : context-base.xml
- comment : companion to mtx-server-ctx-startup.tex
- author : Hans Hagen, PRAGMA-ADE, Hasselt NL
- copyright: PRAGMA ADE / ConTeXt Development Team
- license : see context related readme files
--->
-
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
- <head>
- <title>luatools 1.35</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <style type="text/css">
- body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
- </style>
- <style type="text/css">
- </style>
- </head>
- <body>
- <div id="top"> <div id="top-one">
- <div id="top-two">luatools 1.35 </div>
- </div>
- </div>
- <div id="bottom"> <div id="bottom-one">
- <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
- </div>
- </div>
- <div id="left"></div>
- <div id="right"></div>
- <div id="main">
- <div id='main-settings'>
- <h1>Command line options</h1>
-<table>
- <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
- <tr><th/><td/><td/></tr>
- <tr><th>--generate</th><td></td><td>generate file database</td></tr>
- <tr><th>--variables</th><td></td><td>show configuration variables</td></tr>
- <tr><th>--configurations</th><td></td><td>show configuration order</td></tr>
- <tr><th>--expand-braces</th><td></td><td>expand complex variable</td></tr>
- <tr><th>--expand-path</th><td></td><td>expand variable (resolve paths)</td></tr>
- <tr><th>--expand-var</th><td></td><td>expand variable (resolve references)</td></tr>
- <tr><th>--show-path</th><td></td><td>show path expansion of ...</td></tr>
- <tr><th>--var-value</th><td></td><td>report value of variable</td></tr>
- <tr><th>--find-file</th><td></td><td>report file location</td></tr>
- <tr><th>--find-path</th><td></td><td>report path of file</td></tr>
- <tr><th>--make</th><td></td><td>[or --ini] make luatex format</td></tr>
- <tr><th>--run</th><td></td><td>[or --fmt] run luatex format</td></tr>
- <tr><th>--compile</th><td></td><td>assemble and compile lua inifile</td></tr>
- <tr><th>--verbose</th><td></td><td>give a bit more info</td></tr>
- <tr><th>--all</th><td></td><td>show all found files</td></tr>
- <tr><th>--format</th><td>str</td><td>filter cf format specification (default 'tex', use 'any' for any match)</td></tr>
- <tr><th>--pattern</th><td>str</td><td>filter variables</td></tr>
- <tr><th>--trackers</th><td>list</td><td>enable given trackers</td></tr>
- </table>
-<br/>
- </div>
- </div>
- </body>
-</html>
Deleted: trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,78 +0,0 @@
-.TH "luatools" "1" "01-01-2023" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)"
-.SH NAME
- luatools - ConTeXt TDS Management Tool (aka luatools)
-.SH SYNOPSIS
-.B luatools [
-.I OPTIONS ...
-.B ] [
-.I FILENAMES
-.B ]
-.SH DESCRIPTION
-.B ConTeXt TDS Management Tool (aka luatools)
-.SH OPTIONS
-.TP
-.B --generate
-generate file database
-.TP
-.B --variables
-show configuration variables
-.TP
-.B --configurations
-show configuration order
-.TP
-.B --expand-braces
-expand complex variable
-.TP
-.B --expand-path
-expand variable (resolve paths)
-.TP
-.B --expand-var
-expand variable (resolve references)
-.TP
-.B --show-path
-show path expansion of ...
-.TP
-.B --var-value
-report value of variable
-.TP
-.B --find-file
-report file location
-.TP
-.B --find-path
-report path of file
-.TP
-.B --make
-[or --ini] make luatex format
-.TP
-.B --run
-[or --fmt] run luatex format
-.TP
-.B --compile
-assemble and compile lua inifile
-.TP
-.B --verbose
-give a bit more info
-.TP
-.B --all
-show all found files
-.TP
-.B --format=str
-filter cf format specification (default 'tex', use 'any' for any match)
-.TP
-.B --pattern=str
-filter variables
-.TP
-.B --trackers=list
-enable given trackers
-.SH AUTHOR
-More information about ConTeXt and the tools that come with it can be found at:
-
-
-.B "maillist:"
-ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
-
-.B "webpage:"
-http://www.pragma-ade.nl / http://tex.aanhet.net
-
-.B "wiki:"
-http://contextgarden.net
Deleted: trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.xml 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/luatools.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,31 +0,0 @@
-<?xml version="1.0"?><application>
- <metadata>
- <entry name="name">luatools</entry>
- <entry name="detail">ConTeXt TDS Management Tool (aka luatools)</entry>
- <entry name="version">1.35</entry>
- </metadata>
- <flags>
- <category name="basic">
- <subcategory>
- <flag name="generate"><short>generate file database</short></flag>
- <flag name="variables"><short>show configuration variables</short></flag>
- <flag name="configurations"><short>show configuration order</short></flag>
- <flag name="expand-braces"><short>expand complex variable</short></flag>
- <flag name="expand-path"><short>expand variable (resolve paths)</short></flag>
- <flag name="expand-var"><short>expand variable (resolve references)</short></flag>
- <flag name="show-path"><short>show path expansion of ...</short></flag>
- <flag name="var-value"><short>report value of variable</short></flag>
- <flag name="find-file"><short>report file location</short></flag>
- <flag name="find-path"><short>report path of file</short></flag>
- <flag name="make"><short>[or <ref name="ini"/>] make luatex format</short></flag>
- <flag name="run"><short>[or <ref name="fmt"/>] run luatex format</short></flag>
- <flag name="compile"><short>assemble and compile lua inifile</short></flag>
- <flag name="verbose"><short>give a bit more info</short></flag>
- <flag name="all"><short>show all found files</short></flag>
- <flag name="format" value="str"><short>filter cf format specification (default 'tex', use 'any' for any match)</short></flag>
- <flag name="pattern" value="str"><short>filter variables</short></flag>
- <flag name="trackers" value="list"><short>enable given trackers</short></flag>
- </subcategory>
- </category>
- </flags>
-</application>
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-babel.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-babel.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-babel.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-babel" "1" "01-01-2023" "version 1.20" "Babel Input To UTF Conversion"
+.TH "mtx-babel" "1" "01-01-2024" "version 1.20" "Babel Input To UTF Conversion"
.SH NAME
mtx-babel - Babel Input To UTF Conversion
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-base.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-base.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-base.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-base" "1" "01-01-2023" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)"
+.TH "mtx-base" "1" "01-01-2024" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)"
.SH NAME
mtx-base - ConTeXt TDS Management Tool (aka luatools)
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-bibtex.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-bibtex" "1" "01-01-2023" "version 1.00" "bibtex helpers"
+.TH "mtx-bibtex" "1" "01-01-2024" "version 1.00" "bibtex helpers"
.SH NAME
mtx-bibtex - bibtex helpers
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-cache.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-cache" "1" "01-01-2023" "version 1.01" "ConTeXt & MetaTeX Cache Management"
+.TH "mtx-cache" "1" "01-01-2024" "version 1.01" "ConTeXt & MetaTeX Cache Management"
.SH NAME
mtx-cache - ConTeXt & MetaTeX Cache Management
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-chars.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-chars" "1" "01-01-2023" "version 0.10" "MkII Character Table Generators"
+.TH "mtx-chars" "1" "01-01-2024" "version 0.10" "MkII Character Table Generators"
.SH NAME
mtx-chars - MkII Character Table Generators
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-check.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-check" "1" "01-01-2023" "version 0.10" "Basic ConTeXt Syntax Checking"
+.TH "mtx-check" "1" "01-01-2024" "version 0.10" "Basic ConTeXt Syntax Checking"
.SH NAME
mtx-check - Basic ConTeXt Syntax Checking
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-colors.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-colors" "1" "01-01-2023" "version 0.10" "ConTeXt Color Management"
+.TH "mtx-colors" "1" "01-01-2024" "version 0.10" "ConTeXt Color Management"
.SH NAME
mtx-colors - ConTeXt Color Management
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -14,7 +14,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
- <title>ConTeXt Process Management 1.04</title>
+ <title>ConTeXt Process Management 1.06</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
@@ -24,7 +24,7 @@
</head>
<body>
<div id="top"> <div id="top-one">
- <div id="top-two">ConTeXt Process Management 1.04 </div>
+ <div id="top-two">ConTeXt Process Management 1.06 </div>
</div>
</div>
<div id="bottom"> <div id="bottom-one">
@@ -60,7 +60,7 @@
<tr><th>--result</th><td>name</td><td>rename the resulting output to the given name</td></tr>
<tr><th>--trackers</th><td>list</td><td>set tracker variables (show list with --showtrackers)</td></tr>
<tr><th>--directives</th><td>list</td><td>set directive variables (show list with --showdirectives)</td></tr>
- <tr><th>--silent</th><td>list</td><td>disable logcatgories (show list with --showlogcategories)</td></tr>
+ <tr><th>--silent</th><td>list</td><td>disable logcategories (show list with --showlogcategories)</td></tr>
<tr><th>--strip</th><td></td><td>strip Lua code (only meant for production where no errors are expected)</td></tr>
<tr><th>--errors</th><td>list</td><td>show errors at the end of a run, quit when in list (also when --silent)</td></tr>
<tr><th>--htmlerrorpage</th><td></td><td>generate html error page instead (optional: =scite)</td></tr>
@@ -67,6 +67,7 @@
<tr><th>--noconsole</th><td></td><td>disable logging to the console (logfile only)</td></tr>
<tr><th>--nodummy</th><td></td><td>don't create a dummy file (can confuse pdf viewers that keep file in view)</td></tr>
<tr><th>--purgeresult</th><td></td><td>purge result file before run</td></tr>
+ <tr><th>--find</th><td>string</td><td>search for the given pattern in the documentation sources</td></tr>
<tr><th/><td/><td/></tr>
<tr><th>--forcexml</th><td></td><td>force xml stub</td></tr>
<tr><th>--forcecld</th><td></td><td>force cld (context lua document) stub</td></tr>
@@ -101,6 +102,9 @@
<tr><th/><td/><td/></tr>
<tr><th>--global</th><td></td><td>assume given file present elsewhere</td></tr>
<tr><th>--nofile</th><td></td><td>use dummy file as jobname</td></tr>
+ <tr><th>--forceinput</th><td></td><td>use this file as input file instead of the given one</td></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--expert</th><td></td><td>show some more options</td></tr>
<tr><th colspan="3">expert</th></tr>
<tr><th/><td/><td/></tr>
<tr><th>--touch</th><td></td><td>update context version number (also provide --expert, optionally provide --basepath)</td></tr>
@@ -110,6 +114,7 @@
<tr><th>--keeptuc</th><td></td><td>keep previous tuc files (jobname-tuc-[run].tmp)</td></tr>
<tr><th>--keeppdf</th><td></td><td>keep previous pdf files (jobname-pdf-keep.tmp)</td></tr>
<tr><th>--keeplog</th><td></td><td>keep previous log files (jobname-log-[run].tmp)</td></tr>
+ <tr><th>--notuc</th><td></td><td>don't write a tuc file</td></tr>
<tr><th>--lmtx</th><td></td><td>force lmtx mode (when available)</td></tr>
<tr><th>--overloadmode=error|warning|0--6|255</th><td></td><td>enable csname overload checking</td></tr>
<tr><th/><td/><td/></tr>
@@ -127,6 +132,9 @@
<tr><th/><td/><td/></tr>
<tr><th>--pipe</th><td></td><td>do not check for file and enter scroll mode (--dummyfile=whatever.tmp)</td></tr>
<tr><th/><td/><td/></tr>
+ <tr><th>--parallel</th><td></td><td>process multiple files at the same time (you can specify a number of processes, default: 8)</td></tr>
+ <tr><th>--parallellist</th><td></td><td>process commands in this file (lines that start with 'context')</td></tr>
+ <tr><th/><td/><td/></tr>
<tr><th>--sandbox</th><td></td><td>process file in a limited environment</td></tr>
<tr><th/><td/><td/></tr>
<tr><th>--addbinarypath</th><td></td><td>prepend the (found) binarypath to runners</td></tr>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-context" "1" "01-01-2023" "version 1.04" "ConTeXt Process Management"
+.TH "mtx-context" "1" "01-01-2024" "version 1.05" "ConTeXt Process Management"
.SH NAME
mtx-context - ConTeXt Process Management
.SH SYNOPSIS
@@ -63,7 +63,7 @@
set directive variables (show list with --showdirectives)
.TP
.B --silent=list
-disable logcatgories (show list with --showlogcategories)
+disable logcategories (show list with --showlogcategories)
.TP
.B --strip
strip Lua code (only meant for production where no errors are expected)
@@ -83,6 +83,9 @@
.B --purgeresult
purge result file before run
.TP
+.B --find=string
+search for the given pattern in the documentation sources
+.TP
.B --forcexml
force xml stub
.TP
@@ -154,6 +157,12 @@
.TP
.B --nofile
use dummy file as jobname
+.TP
+.B --forceinput
+use this file as input file instead of the given one
+.TP
+.B --expert
+show some more options
.SH OPTIONS: EXPERT
.TP
.B --touch
@@ -177,6 +186,9 @@
.B --keeplog
keep previous log files (jobname-log-[run].tmp)
.TP
+.B --notuc
+don't write a tuc file
+.TP
.B --lmtx
force lmtx mode (when available)
.TP
@@ -211,6 +223,12 @@
.B --pipe
do not check for file and enter scroll mode (--dummyfile=whatever.tmp)
.TP
+.B --parallel
+process multiple files at the same time (you can specify a number of processes, default: 8)
+.TP
+.B --parallellist
+process commands in this file (lines that start with 'context')
+.TP
.B --sandbox
process file in a limited environment
.TP
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.xml 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-context.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -4,7 +4,7 @@
<metadata>
<entry name="name">mtx-context</entry>
<entry name="detail">ConTeXt Process Management</entry>
- <entry name="version">1.04</entry>
+ <entry name="version">1.05</entry>
<entry name="comment">external helpinfo file</entry>
</metadata>
<flags>
@@ -68,7 +68,7 @@
<short>set directive variables (show list with <ref name="showdirectives"/>)</short>
</flag>
<flag name="silent" value="list">
- <short>disable logcatgories (show list with <ref name="showlogcategories"/>)</short>
+ <short>disable logcategories (show list with <ref name="showlogcategories"/>)</short>
</flag>
<flag name="strip">
<short>strip Lua code (only meant for production where no errors are expected)</short>
@@ -88,6 +88,9 @@
<flag name="purgeresult">
<short>purge result file before run</short>
</flag>
+ <flag name="find" value="string">
+ <short>search for the given pattern in the documentation sources</short>
+ </flag>
</subcategory>
<subcategory>
<flag name="forcexml">
@@ -177,10 +180,18 @@
<flag name="global">
<short>assume given file present elsewhere</short>
</flag>
- <flag name="nofile">
+ <flag name="nofile">
<short>use dummy file as jobname</short>
</flag>
+ <flag name="forceinput">
+ <short>use this file as input file instead of the given one</short>
+ </flag>
</subcategory>
+ <subcategory>
+ <flag name="expert">
+ <short>show some more options</short>
+ </flag>
+ </subcategory>
</category>
<category name="expert">
<subcategory>
@@ -208,6 +219,9 @@
<flag name="keeplog">
<short>keep previous log files (jobname-log-[run].tmp)</short>
</flag>
+ <flag name="notuc">
+ <short>don't write a tuc file</short>
+ </flag>
<flag name="lmtx">
<short>force lmtx mode (when available)</short>
</flag>
@@ -253,6 +267,14 @@
</flag>
</subcategory>
<subcategory>
+ <flag name="parallel">
+ <short>process multiple files at the same time (you can specify a number of processes, default: 8)</short>
+ </flag>
+ <flag name="parallellist">
+ <short>process commands in this file (lines that start with 'context')</short>
+ </flag>
+ </subcategory>
+ <subcategory>
<flag name="sandbox">
<short>process file in a limited environment</short>
</flag>
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>ConTeXT Graphic Conversion Helpers 0.10</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">ConTeXT Graphic Conversion Helpers 0.10 </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--convertall</th><td></td><td>convert all graphics on path</td></tr>
+ <tr><th>--inputpath</th><td>string</td><td>original graphics path</td></tr>
+ <tr><th>--outputpath</th><td>string</td><td>converted graphics path</td></tr>
+ <tr><th>--watch</th><td></td><td>watch folders</td></tr>
+ <tr><th>--force</th><td></td><td>force conversion (even if older)</td></tr>
+ <tr><th>--delay</th><td></td><td>time between sweeps</td></tr>
+ </table>
+<br/>
+ </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,42 @@
+.TH "mtx-convert" "1" "01-01-2024" "version 0.10" "ConTeXT Graphic Conversion Helpers"
+.SH NAME
+ mtx-convert - ConTeXT Graphic Conversion Helpers
+.SH SYNOPSIS
+.B mtxrun --script convert [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B ConTeXT Graphic Conversion Helpers
+.SH OPTIONS
+.TP
+.B --convertall
+convert all graphics on path
+.TP
+.B --inputpath=string
+original graphics path
+.TP
+.B --outputpath=string
+converted graphics path
+.TP
+.B --watch
+watch folders
+.TP
+.B --force
+force conversion (even if older)
+.TP
+.B --delay
+time between sweeps
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-convert.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-convert</entry>
+ <entry name="detail">ConTeXT Graphic Conversion Helpers</entry>
+ <entry name="version">0.10</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="convertall"><short>convert all graphics on path</short></flag>
+ <flag name="inputpath" value="string"><short>original graphics path</short></flag>
+ <flag name="outputpath" value="string"><short>converted graphics path</short></flag>
+ <flag name="watch"><short>watch folders</short></flag>
+ <flag name="force"><short>force conversion (even if older)</short></flag>
+ <flag name="delay"><short>time between sweeps</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+</application>
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>Dealing with CTAN</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">Dealing with CTAN </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--packages</th><td></td><td>list available packages [--field=key|name|caption]</td></tr>
+ <tr><th>--topics</th><td></td><td>list available topics [--field=key|name|details]</td></tr>
+ <tr><th>--details</th><td></td><td>show details about package</td></tr>
+ <tr><th>--pattern</th><td>string</td><td>use this pattern, otherwise first argument</td></tr>
+ </table>
+<br/>
+ </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,36 @@
+.TH "mtx-ctan" "1" "01-01-2024" "version 1.00" "Dealing with CTAN"
+.SH NAME
+ mtx-ctan - Dealing with CTAN
+.SH SYNOPSIS
+.B mtxrun --script ctan [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B Dealing with CTAN
+.SH OPTIONS
+.TP
+.B --packages
+list available packages [--field=key|name|caption]
+.TP
+.B --topics
+list available topics [--field=key|name|details]
+.TP
+.B --details
+show details about package
+.TP
+.B --pattern=string
+use this pattern, otherwise first argument
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-ctan.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-ctan</entry>
+ <entry name="detail">Dealing with CTAN</entry>
+ <entry name="version">1.00</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="packages"><short>list available packages [--field=key|name|caption]</short></flag>
+ <flag name="topics"><short>list available topics [--field=key|name|details]</short></flag>
+ <flag name="details"><short>show details about package</short></flag>
+ <flag name="pattern" value="string"><short>use this pattern, otherwise first argument</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+</application>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-dvi.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-dvi.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-dvi.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-dvi" "1" "01-01-2023" "version 0.01" "ConTeXt DVI Helpers"
+.TH "mtx-dvi" "1" "01-01-2024" "version 0.01" "ConTeXt DVI Helpers"
.SH NAME
mtx-dvi - ConTeXt DVI Helpers
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-epub.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-epub.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-epub.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-epub" "1" "01-01-2023" "version 1.10" "ConTeXt EPUB Helpers"
+.TH "mtx-epub" "1" "01-01-2024" "version 1.10" "ConTeXt EPUB Helpers"
.SH NAME
mtx-epub - ConTeXt EPUB Helpers
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-evohome.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-evohome.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-evohome.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-evohome" "1" "01-01-2023" "version 1.00" "Evohome Fetcher"
+.TH "mtx-evohome" "1" "01-01-2024" "version 1.00" "Evohome Fetcher"
.SH NAME
mtx-evohome - Evohome Fetcher
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fcd.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fcd.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fcd.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-fcd" "1" "01-01-2023" "version 1.00" "Fast Directory Change"
+.TH "mtx-fcd" "1" "01-01-2024" "version 1.00" "Fast Directory Change"
.SH NAME
mtx-fcd - Fast Directory Change
.SH SYNOPSIS
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>Making PDF files more compliant</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">Making PDF files more compliant </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--uncompress</th><td></td><td>uncompress using qpdf</td></tr>
+ <tr><th>--validate</th><td></td><td>validate using verapdf</td></tr>
+ <tr><th>--check</th><td></td><td>check verification result </td></tr>
+ <tr><th>--convert</th><td></td><td>convert using context</td></tr>
+ <tr><th>--compare</th><td></td><td>compare result with original</td></tr>
+ <tr><th>--compactor</th><td></td><td>use given compactor</td></tr>
+ <tr><th>--standard</th><td></td><td>use given standard</td></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--pattern</th><td></td><td>processs files according to pattern</td></tr>
+ <tr><th>--silent</th><td></td><td>suppress messages</td></tr>
+ <tr><th>--once</th><td></td><td>run only once</td></tr>
+ <tr><th>--resolution</th><td></td><td>use this resolution when comparing</td></tr>
+ </table>
+<br/>
+ </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,57 @@
+.TH "mtx-tools" "1" "01-01-2024" "version 1.01" "Some File Related Goodies"
+.SH NAME
+ mtx-tools - Some File Related Goodies
+.SH SYNOPSIS
+.B mtxrun --script tools [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B Some File Related Goodies
+.SH OPTIONS
+.TP
+.B --uncompress
+uncompress using qpdf
+.TP
+.B --validate
+validate using verapdf
+.TP
+.B --check
+check verification result
+.TP
+.B --convert
+convert using context
+.TP
+.B --compare
+compare result with original
+.TP
+.B --compactor
+use given compactor
+.TP
+.B --standard
+use given standard
+.TP
+.B --pattern
+processs files according to pattern
+.TP
+.B --silent
+suppress messages
+.TP
+.B --once
+run only once
+.TP
+.B --resolution
+use this resolution when comparing
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fixpdf.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-tools</entry>
+ <entry name="detail">Some File Related Goodies</entry>
+ <entry name="version">1.01</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="uncompress"><short>uncompress using qpdf</short></flag>
+ <flag name="validate"><short>validate using verapdf</short></flag>
+ <flag name="check"><short>check verification result </short></flag>
+ <flag name="convert"><short>convert using context</short></flag>
+ <flag name="compare"><short>compare result with original</short></flag>
+ <flag name="compactor"><short>use given compactor</short></flag>
+ <flag name="standard"><short>use given standard</short></flag>
+ </subcategory>
+ <subcategory>
+ <flag name="pattern"><short>processs files according to pattern</short></flag>
+ <flag name="silent"><short>suppress messages</short></flag>
+ <flag name="once"><short>run only once</short></flag>
+ <flag name="resolution"><short>use this resolution when comparing</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+</application>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-flac.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-flac.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-flac.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-flac" "1" "01-01-2023" "version 0.10" "ConTeXt Flac Helpers"
+.TH "mtx-flac" "1" "01-01-2024" "version 0.10" "ConTeXt Flac Helpers"
.SH NAME
mtx-flac - ConTeXt Flac Helpers
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fonts.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fonts.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-fonts.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-fonts" "1" "01-01-2023" "version 1.00" "ConTeXt Font Database Management"
+.TH "mtx-fonts" "1" "01-01-2024" "version 1.00" "ConTeXt Font Database Management"
.SH NAME
mtx-fonts - ConTeXt Font Database Management
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.html 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -42,6 +42,7 @@
<tr><th>--pattern</th><td></td><td>search for pattern (optional)</td></tr>
<tr><th>--count</th><td></td><td>count matches only</td></tr>
<tr><th>--nocomment</th><td></td><td>skip lines that start with %% or #</td></tr>
+ <tr><th>--noattic</th><td></td><td>skip files that hh considers irrelevant</td></tr>
<tr><th>--n</th><td></td><td>show at most n matches</td></tr>
<tr><th>--first</th><td></td><td>only show first match</td></tr>
<tr><th>--match</th><td></td><td>return the match (if it is one)</td></tr>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-grep" "1" "01-01-2023" "version 0.10" "Simple Grepper"
+.TH "mtx-grep" "1" "01-01-2024" "version 0.10" "Simple Grepper"
.SH NAME
mtx-grep - Simple Grepper
.SH SYNOPSIS
@@ -20,6 +20,9 @@
.B --nocomment
skip lines that start with %% or #
.TP
+.B --noattic
+skip files that hh considers irrelevant
+.TP
.B --n
show at most n matches
.TP
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.xml 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-grep.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -11,6 +11,7 @@
<flag name="pattern"><short>search for pattern (optional)</short></flag>
<flag name="count"><short>count matches only</short></flag>
<flag name="nocomment"><short>skip lines that start with %% or #</short></flag>
+ <flag name="noattic"><short>skip files that hh considers irrelevant</short></flag>
<flag name="n"><short>show at most n matches</short></flag>
<flag name="first"><short>only show first match</short></flag>
<flag name="match"><short>return the match (if it is one)</short></flag>
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>ConTeXt Module Installer 1.00</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">ConTeXt Module Installer 1.00 </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--list</th><td></td><td>list modules</td></tr>
+ <tr><th>--installed</th><td></td><td>list installed modules</td></tr>
+ <tr><th>--install</th><td></td><td>install modules</td></tr>
+ <tr><th>--uninstall</th><td></td><td>uninstall modules</td></tr>
+ <tr><th>--module</th><td></td><td>install (zip) file(s)</td></tr>
+ </table>
+<br/>
+<h1>Examples</h1>
+<tt>mtxrun --script install-modules --list</tt>
+<br/><br/><tt>mtxrun --script install-modules --install filter letter</tt>
+<br/><tt>mtxrun --script install-modules --install tikz</tt>
+<br/><tt>mtxrun --script install-modules --install --all</tt>
+<br/><br/><tt>mtxrun --script install-modules --install --module t-letter.zip</tt>
+<br/><tt>mtxrun --script install-modules --uninstall --module t-letter.zip</tt>
+<br/><br/><tt>mtxrun --script install-modules --installed</tt>
+<br/><br/> </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,39 @@
+.TH "mtx-install" "1" "01-01-2024" "version 2.01" "ConTeXt Installer"
+.SH NAME
+ mtx-install - ConTeXt Installer
+.SH SYNOPSIS
+.B mtxrun --script install [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B ConTeXt Installer
+.SH OPTIONS
+.TP
+.B --list
+list modules
+.TP
+.B --installed
+list installed modules
+.TP
+.B --install
+install modules
+.TP
+.B --uninstall
+uninstall modules
+.TP
+.B --module
+install (zip) file(s)
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install-modules.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-install</entry>
+ <entry name="detail">ConTeXt Installer</entry>
+ <entry name="version">2.01</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="list"><short>list modules</short></flag>
+ <flag name="installed"><short>list installed modules</short></flag>
+ <flag name="install"><short>install modules</short></flag>
+ <flag name="uninstall"><short>uninstall modules</short></flag>
+ <flag name="module"><short>install (zip) file(s)</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+ <examples>
+ <category>
+ <title>Examples</title>
+ <subcategory>
+ <example><command>mtxrun --script install-modules --list</command></example>
+ </subcategory>
+ <subcategory>
+ <example><command>mtxrun --script install-modules --install filter letter</command></example>
+ <example><command>mtxrun --script install-modules --install tikz</command></example>
+ <example><command>mtxrun --script install-modules --install --all</command></example>
+ </subcategory>
+ <subcategory>
+ <example><command>mtxrun --script install-modules --install --module t-letter.zip</command></example>
+ <example><command>mtxrun --script install-modules --uninstall --module t-letter.zip</command></example>
+ </subcategory>
+ <subcategory>
+ <example><command>mtxrun --script install-modules --installed</command></example>
+ </subcategory>
+ </category>
+ </examples>
+</application>
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>ConTeXt Installer 2.01</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">ConTeXt Installer 2.01 </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--platform</th><td>string</td><td>platform</td></tr>
+ <tr><th>--server</th><td>string</td><td>repository url (rsync://contextgarden.net)</td></tr>
+ <tr><th>--modules</th><td>string</td><td>extra modules (can be list or 'all')</td></tr>
+ <tr><th>--fonts</th><td>string</td><td>additional fonts (can be list or 'all')</td></tr>
+ <tr><th>--goodies</th><td>string</td><td>extra binaries (like scite and texworks)</td></tr>
+ <tr><th>--install</th><td></td><td>install context</td></tr>
+ <tr><th>--update</th><td></td><td>update context</td></tr>
+ <tr><th>--erase</th><td></td><td>wipe the cache</td></tr>
+ <tr><th>--identify</th><td></td><td>create list of files</td></tr>
+ <tr><th>--secure</th><td></td><td>use curl for https</td></tr>
+ </table>
+<br/>
+ </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,54 @@
+.TH "mtx-install" "1" "01-01-2024" "version 2.01" "ConTeXt Installer"
+.SH NAME
+ mtx-install - ConTeXt Installer
+.SH SYNOPSIS
+.B mtxrun --script install [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B ConTeXt Installer
+.SH OPTIONS
+.TP
+.B --platform=string
+platform
+.TP
+.B --server=string
+repository url (rsync://contextgarden.net)
+.TP
+.B --modules=string
+extra modules (can be list or 'all')
+.TP
+.B --fonts=string
+additional fonts (can be list or 'all')
+.TP
+.B --goodies=string
+extra binaries (like scite and texworks)
+.TP
+.B --install
+install context
+.TP
+.B --update
+update context
+.TP
+.B --erase
+wipe the cache
+.TP
+.B --identify
+create list of files
+.TP
+.B --secure
+use curl for https
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-install.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-install</entry>
+ <entry name="detail">ConTeXt Installer</entry>
+ <entry name="version">2.01</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="platform" value="string"><short>platform</short></flag>
+ <flag name="server" value="string"><short>repository url (rsync://contextgarden.net)</short></flag>
+ <flag name="modules" value="string"><short>extra modules (can be list or 'all')</short></flag>
+ <flag name="fonts" value="string"><short>additional fonts (can be list or 'all')</short></flag>
+ <flag name="goodies" value="string"><short>extra binaries (like scite and texworks)</short></flag>
+ <flag name="install"><short>install context</short></flag>
+ <flag name="update"><short>update context</short></flag>
+ <flag name="erase"><short>wipe the cache</short></flag>
+ <flag name="identify"><short>create list of files</short></flag>
+ <flag name="secure"><short>use curl for https</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+</application>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-interface.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-interface.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-interface.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-interface" "1" "01-01-2023" "version 0.13" "ConTeXt Interface Related Goodies"
+.TH "mtx-interface" "1" "01-01-2024" "version 0.13" "ConTeXt Interface Related Goodies"
.SH NAME
mtx-interface - ConTeXt Interface Related Goodies
.SH SYNOPSIS
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>ConTeXt KPSE checking utility</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">ConTeXt KPSE checking utility </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th colspan="3">basic</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--progname</th><td></td><td>mandate, set the program name (e.g. pdftex)</td></tr>
+ <tr><th>--findfile</th><td></td><td>report the fully qualified path of the given file</td></tr>
+ <tr><th>--findfiles</th><td></td><td>report a list of all full names of the given file</td></tr>
+ <tr><th>--expandpath</th><td></td><td>expand the given path variable</td></tr>
+ <tr><th>--expandvar</th><td></td><td>expand a variable</td></tr>
+ <tr><th>--expandbraces</th><td></td><td>expand a complex variable specification</td></tr>
+ <tr><th>--varvalue</th><td></td><td>show the value of a variable</td></tr>
+ <tr><th>--readablefile</th><td></td><td>report if a file is readable</td></tr>
+ <tr><th>--filetypes</th><td></td><td>list all supported formats</td></tr>
+ <tr><th colspan="3">additional</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--format</th><td></td><td>format type</td></tr>
+ <tr><th>--path</th><td></td><td>path variable</td></tr>
+ <tr><th>--split</th><td></td><td>split result in lines</td></tr>
+ </table>
+<br/>
+<h1>Examples</h1>
+<tt>mtxrun --script kpse --progname=pdftex --findfile context.mkii</tt>
+<br/><tt>mtxrun --script kpse --progname=pdftex --findfile context.mkii --format=tex</tt>
+<br/><tt>mtxrun --script kpse --progname=pdftex --findfiles context.mkii --path=$TEXINPUTS</tt>
+<br/><br/><tt>mtxrun --script kpse --progname=pdftex --expandpath $TEXMFVAR</tt>
+<br/><tt>mtxrun --script kpse --progname=pdftex --expandpath $TEXINPUTS -- split</tt>
+<br/><br/> </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,61 @@
+.TH "mtx-kpse" "1" "01-01-2024" "version 1.00" "ConTeXt KPSE checking utility"
+.SH NAME
+ mtx-kpse - ConTeXt KPSE checking utility
+.SH SYNOPSIS
+.B mtxrun --script kpse [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B ConTeXt KPSE checking utility
+.SH OPTIONS: BASIC
+.TP
+.B --progname
+mandate, set the program name (e.g. pdftex)
+.TP
+.B --findfile
+report the fully qualified path of the given file
+.TP
+.B --findfiles
+report a list of all full names of the given file
+.TP
+.B --expandpath
+expand the given path variable
+.TP
+.B --expandvar
+expand a variable
+.TP
+.B --expandbraces
+expand a complex variable specification
+.TP
+.B --varvalue
+show the value of a variable
+.TP
+.B --readablefile
+report if a file is readable
+.TP
+.B --filetypes
+list all supported formats
+.SH OPTIONS: ADDITIONAL
+.TP
+.B --format
+format type
+.TP
+.B --path
+path variable
+.TP
+.B --split
+split result in lines
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-kpse.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-kpse</entry>
+ <entry name="detail">ConTeXt KPSE checking utility</entry>
+ <entry name="version">1.00</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="progname"><short>mandate, set the program name (e.g. pdftex)</short></flag>
+ <flag name="findfile"><short>report the fully qualified path of the given file</short></flag>
+ <flag name="findfiles"><short>report a list of all full names of the given file</short></flag>
+ <flag name="expandpath"><short>expand the given path variable</short></flag>
+ <flag name="expandvar"><short>expand a variable</short></flag>
+ <flag name="expandbraces"><short>expand a complex variable specification</short></flag>
+ <flag name="varvalue"><short>show the value of a variable</short></flag>
+ <flag name="readablefile"><short>report if a file is readable</short></flag>
+ <flag name="filetypes"><short>list all supported formats</short></flag>
+ </subcategory>
+ </category>
+ <category name="additional">
+ <subcategory>
+ <flag name="format"><short>format type</short></flag>
+ <flag name="path"><short>path variable</short></flag>
+ <flag name="split"><short>split result in lines</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+ <examples>
+ <category>
+ <title>Examples</title>
+ <subcategory>
+ <example><command>mtxrun --script kpse --progname=pdftex --findfile context.mkii</command></example>
+ <example><command>mtxrun --script kpse --progname=pdftex --findfile context.mkii --format=tex</command></example>
+ <example><command>mtxrun --script kpse --progname=pdftex --findfiles context.mkii --path=$TEXINPUTS</command></example>
+ </subcategory>
+ <subcategory>
+ <example><command>mtxrun --script kpse --progname=pdftex --expandpath $TEXMFVAR</command></example>
+ <example><command>mtxrun --script kpse --progname=pdftex --expandpath $TEXINPUTS -- split</command></example>
+ </subcategory>
+ </category>
+ </examples>
+</application>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-metapost.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-metapost.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-metapost.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-metapost" "1" "01-01-2023" "version 0.10" "MetaPost to PDF processor"
+.TH "mtx-metapost" "1" "01-01-2024" "version 0.10" "MetaPost to PDF processor"
.SH NAME
mtx-metapost - MetaPost to PDF processor
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-modules.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-modules.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-modules.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-modules" "1" "01-01-2023" "version 1.00" "ConTeXt Module Documentation Generators"
+.TH "mtx-modules" "1" "01-01-2024" "version 1.00" "ConTeXt Module Documentation Generators"
.SH NAME
mtx-modules - ConTeXt Module Documentation Generators
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-package.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-package.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-package.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-package" "1" "01-01-2023" "version 0.10" "Distribution Related Goodies"
+.TH "mtx-package" "1" "01-01-2024" "version 0.10" "Distribution Related Goodies"
.SH NAME
mtx-package - Distribution Related Goodies
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-patterns.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-patterns.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-patterns.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-patterns" "1" "01-01-2023" "version 0.20" "ConTeXt Pattern File Management"
+.TH "mtx-patterns" "1" "01-01-2024" "version 0.20" "ConTeXt Pattern File Management"
.SH NAME
mtx-patterns - ConTeXt Pattern File Management
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.html 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -41,10 +41,14 @@
<tr><th/><td/><td/></tr>
<tr><th>--info</th><td></td><td>show some info about the given file</td></tr>
<tr><th>--metadata</th><td></td><td>show metadata xml blob</td></tr>
+ <tr><th>--formdata</th><td></td><td>show formdata</td></tr>
<tr><th>--pretty</th><td></td><td>replace newlines in metadata</td></tr>
<tr><th>--fonts</th><td></td><td>show used fonts (--detail)</td></tr>
- <tr><th>--object</th><td></td><td>show object"/></td></tr>
- <tr><th>--links</th><td></td><td>show links"/></td></tr>
+ <tr><th>--object</th><td></td><td>show object</td></tr>
+ <tr><th>--links</th><td></td><td>show links</td></tr>
+ <tr><th>--sign</th><td></td><td>sign document (assumes signature template)</td></tr>
+ <tr><th>--verify</th><td></td><td>verify document</td></tr>
+ <tr><th>--detail</th><td></td><td>print detail to the console</td></tr>
<tr><th/><td/><td/></tr>
</table>
<br/>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-pdf" "1" "01-01-2023" "version 0.10" "ConTeXt PDF Helpers"
+.TH "mtx-pdf" "1" "01-01-2024" "version 0.10" "ConTeXt PDF Helpers"
.SH NAME
mtx-pdf - ConTeXt PDF Helpers
.SH SYNOPSIS
@@ -17,6 +17,9 @@
.B --metadata
show metadata xml blob
.TP
+.B --formdata
+show formdata
+.TP
.B --pretty
replace newlines in metadata
.TP
@@ -24,10 +27,19 @@
show used fonts (--detail)
.TP
.B --object
-show object"/>
+show object
.TP
.B --links
-show links"/>
+show links
+.TP
+.B --sign
+sign document (assumes signature template)
+.TP
+.B --verify
+verify document
+.TP
+.B --detail
+print detail to the console
.SH AUTHOR
More information about ConTeXt and the tools that come with it can be found at:
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.xml 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-pdf.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -10,10 +10,14 @@
<subcategory>
<flag name="info"><short>show some info about the given file</short></flag>
<flag name="metadata"><short>show metadata xml blob</short></flag>
+ <flag name="formdata"><short>show formdata</short></flag>
<flag name="pretty"><short>replace newlines in metadata</short></flag>
- <flag name="fonts"><short>show used fonts (<ref name="detail)"/></short></flag>
- <flag name="object"><short>show object"/></short></flag>
- <flag name="links"><short>show links"/></short></flag>
+ <flag name="fonts"><short>show used fonts (<ref name="detail"/>)</short></flag>
+ <flag name="object"><short>show object</short></flag>
+ <flag name="links"><short>show links</short></flag>
+ <flag name="sign"><short>sign document (assumes signature template)</short></flag>
+ <flag name="verify"><short>verify document</short></flag>
+ <flag name="detail"><short>print detail to the console</short></flag>
</subcategory>
<subcategory>
<example><command>mtxrun --script pdf --info foo.pdf</command></example>
@@ -20,6 +24,9 @@
<example><command>mtxrun --script pdf --metadata foo.pdf</command></example>
<example><command>mtxrun --script pdf --metadata --pretty foo.pdf</command></example>
<example><command>mtxrun --script pdf --stream=4 foo.pdf</command></example>
+ <example><command>mtxrun --script pdf --sign --certificate=somesign.pem --password=test --uselibrary somefile</command></example>
+ <example><command>mtxrun --script pdf --verify --certificate=somesign.pem --password=test --uselibrary somefile</command></example>
+ <example><command>mtxrun --script pdf --detail=nofpages somefile</command></example>
</subcategory>
</category>
</flags>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-plain.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-plain.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-plain.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-plain" "1" "01-01-2023" "version 1.00" "Plain TeX Runner"
+.TH "mtx-plain" "1" "01-01-2024" "version 1.00" "Plain TeX Runner"
.SH NAME
mtx-plain - Plain TeX Runner
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-profile.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-profile.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-profile.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-profile" "1" "01-01-2023" "version 1.00" "ConTeXt MkIV LuaTeX Profiler"
+.TH "mtx-profile" "1" "01-01-2024" "version 1.00" "ConTeXt MkIV LuaTeX Profiler"
.SH NAME
mtx-profile - ConTeXt MkIV LuaTeX Profiler
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-rsync.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-rsync.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-rsync.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-rsync" "1" "01-01-2023" "version 0.10" "Rsync Helpers"
+.TH "mtx-rsync" "1" "01-01-2024" "version 0.10" "Rsync Helpers"
.SH NAME
mtx-rsync - Rsync Helpers
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-scite.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-scite.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-scite.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-scite" "1" "01-01-2023" "version 1.00" "Scite Helper Script"
+.TH "mtx-scite" "1" "01-01-2024" "version 1.00" "Scite Helper Script"
.SH NAME
mtx-scite - Scite Helper Script
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-server.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-server.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-server.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-server" "1" "01-01-2023" "version 0.10" "Simple Webserver For Helpers"
+.TH "mtx-server" "1" "01-01-2024" "version 0.10" "Simple Webserver For Helpers"
.SH NAME
mtx-server - Simple Webserver For Helpers
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-spell.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-spell.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-spell.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-spell" "1" "01-01-2023" "version 0.10" "ConTeXt Word Filtering"
+.TH "mtx-spell" "1" "01-01-2024" "version 0.10" "ConTeXt Word Filtering"
.SH NAME
mtx-spell - ConTeXt Word Filtering
.SH SYNOPSIS
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.html (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- compare with lmx framework variant -->
+
+<!--
+ filename : context-base.xml
+ comment : companion to mtx-server-ctx-startup.tex
+ author : Hans Hagen, PRAGMA-ADE, Hasselt NL
+ copyright: PRAGMA ADE / ConTeXt Development Team
+ license : see context related readme files
+-->
+
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+ <title>ConTeXt SyncTeX Checker 1.01</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <style type="text/css">
+ body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
+ </style>
+ <style type="text/css">
+ </style>
+ </head>
+ <body>
+ <div id="top"> <div id="top-one">
+ <div id="top-two">ConTeXt SyncTeX Checker 1.01 </div>
+ </div>
+ </div>
+ <div id="bottom"> <div id="bottom-one">
+ <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
+ </div>
+ </div>
+ <div id="left"></div>
+ <div id="right"></div>
+ <div id="main">
+ <div id='main-settings'>
+ <h1>Command line options</h1>
+<table>
+ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
+ <tr><th/><td/><td/></tr>
+ <tr><th>--edit</th><td></td><td>open file at line: --line=.. --editor=.. sourcefile</td></tr>
+ <tr><th>--list</th><td></td><td>show all areas: synctexfile</td></tr>
+ <tr><th>--goto</th><td></td><td>open file at position: --page=.. --x=.. --y=.. [--tolerance=] --editor=.. synctexfile</td></tr>
+ <tr><th>--report</th><td></td><td>show (tex) file and line: [--direct] --page=.. --x=.. --y=.. [--tolerance=] --console synctexfile</td></tr>
+ <tr><th>--find</th><td></td><td>find (pdf) page and box: [--direct] --file=.. --line=.. synctexfile</td></tr>
+ </table>
+<br/>
+ </div>
+ </div>
+ </body>
+</html>
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.html
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.man (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,39 @@
+.TH "mtx-synctex" "1" "01-01-2024" "version 1.01" "SyncTeX Checker"
+.SH NAME
+ mtx-synctex - SyncTeX Checker
+.SH SYNOPSIS
+.B mtxrun --script synctex [
+.I OPTIONS ...
+.B ] [
+.I FILENAMES
+.B ]
+.SH DESCRIPTION
+.B SyncTeX Checker
+.SH OPTIONS
+.TP
+.B --edit
+open file at line: --line=.. --editor=.. sourcefile
+.TP
+.B --list
+show all areas: synctexfile
+.TP
+.B --goto
+open file at position: --page=.. --x=.. --y=.. [--tolerance=] --editor=.. synctexfile
+.TP
+.B --report
+show (tex) file and line: [--direct] --page=.. --x=.. --y=.. [--tolerance=] --console synctexfile
+.TP
+.B --find
+find (pdf) page and box: [--direct] --file=.. --line=.. synctexfile
+.SH AUTHOR
+More information about ConTeXt and the tools that come with it can be found at:
+
+
+.B "maillist:"
+ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
+
+.B "webpage:"
+http://www.pragma-ade.nl / http://tex.aanhet.net
+
+.B "wiki:"
+http://contextgarden.net
Property changes on: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.man
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.xml (rev 0)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-synctex.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<application>
+ <metadata>
+ <entry name="name">mtx-synctex</entry>
+ <entry name="detail">SyncTeX Checker</entry>
+ <entry name="version">1.01</entry>
+ </metadata>
+ <flags>
+ <category name="basic">
+ <subcategory>
+ <flag name="edit"><short>open file at line: --line=.. --editor=.. sourcefile</short></flag>
+ <flag name="list"><short>show all areas: synctexfile</short></flag>
+ <flag name="goto"><short>open file at position: --page=.. --x=.. --y=.. [--tolerance=] --editor=.. synctexfile</short></flag>
+ <flag name="report"><short>show (tex) file and line: [--direct] --page=.. --x=.. --y=.. [--tolerance=] --console synctexfile</short></flag>
+ <flag name="find"><short>find (pdf) page and box: [--direct] --file=.. --line=.. synctexfile</short></flag>
+ </subcategory>
+ </category>
+ </flags>
+</application>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-texworks.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-texworks.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-texworks.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-texworks" "1" "01-01-2023" "version 1.00" "TeXworks Startup Script"
+.TH "mtx-texworks" "1" "01-01-2024" "version 1.00" "TeXworks Startup Script"
.SH NAME
mtx-texworks - TeXworks Startup Script
.SH SYNOPSIS
Deleted: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.html
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.html 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.html 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
-<!-- compare with lmx framework variant -->
-
-<!--
- filename : context-base.xml
- comment : companion to mtx-server-ctx-startup.tex
- author : Hans Hagen, PRAGMA-ADE, Hasselt NL
- copyright: PRAGMA ADE / ConTeXt Development Team
- license : see context related readme files
--->
-
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
- <head>
- <title>ConTeXt Timing Tools 0.10</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
- <style type="text/css">
- body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } .invisible { visibility: hidden; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90!
%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; }
- </style>
- <style type="text/css">
- </style>
- </head>
- <body>
- <div id="top"> <div id="top-one">
- <div id="top-two">ConTeXt Timing Tools 0.10 </div>
- </div>
- </div>
- <div id="bottom"> <div id="bottom-one">
- <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context at ntg.nl | website: http://www.pragma-ade.nl</div>
- </div>
- </div>
- <div id="left"></div>
- <div id="right"></div>
- <div id="main">
- <div id='main-settings'>
- <h1>Command line options</h1>
-<table>
- <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr>
- <tr><th/><td/><td/></tr>
- <tr><th>--xhtml</th><td></td><td>make xhtml file</td></tr>
- <tr><th>--launch</th><td></td><td>launch after conversion</td></tr>
- <tr><th>--remove</th><td></td><td>remove after launching</td></tr>
- </table>
-<br/>
- </div>
- </div>
- </body>
-</html>
Deleted: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,33 +0,0 @@
-.TH "mtx-timing" "1" "01-01-2023" "version 0.10" "ConTeXt Timing Tools"
-.SH NAME
- mtx-timing - ConTeXt Timing Tools
-.SH SYNOPSIS
-.B mtxrun --script timing [
-.I OPTIONS ...
-.B ] [
-.I FILENAMES
-.B ]
-.SH DESCRIPTION
-.B ConTeXt Timing Tools
-.SH OPTIONS
-.TP
-.B --xhtml
-make xhtml file
-.TP
-.B --launch
-launch after conversion
-.TP
-.B --remove
-remove after launching
-.SH AUTHOR
-More information about ConTeXt and the tools that come with it can be found at:
-
-
-.B "maillist:"
-ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
-
-.B "webpage:"
-http://www.pragma-ade.nl / http://tex.aanhet.net
-
-.B "wiki:"
-http://contextgarden.net
Deleted: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.xml
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.xml 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-timing.xml 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<application>
- <metadata>
- <entry name="name">mtx-timing</entry>
- <entry name="detail">ConTeXt Timing Tools</entry>
- <entry name="version">0.10</entry>
- </metadata>
- <flags>
- <category name="basic">
- <subcategory>
- <flag name="xhtml"><short>make xhtml file</short></flag>
- <flag name="launch"><short>launch after conversion</short></flag>
- <flag name="remove"><short>remove after launching</short></flag>
- </subcategory>
- </category>
- </flags>
-</application>
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-tools.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-tools.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-tools.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-tools" "1" "01-01-2023" "version 1.01" "Some File Related Goodies"
+.TH "mtx-tools" "1" "01-01-2024" "version 1.01" "Some File Related Goodies"
.SH NAME
mtx-tools - Some File Related Goodies
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unicode.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unicode.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unicode.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-unicode" "1" "01-01-2023" "version 1.02" "Checker for char-dat.lua"
+.TH "mtx-unicode" "1" "01-01-2024" "version 1.02" "Checker for char-dat.lua"
.SH NAME
mtx-unicode - Checker for char-dat.lua
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unzip.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unzip.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-unzip.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-unzip" "1" "01-01-2023" "version 0.10" "Simple Unzipper"
+.TH "mtx-unzip" "1" "01-01-2024" "version 0.10" "Simple Unzipper"
.SH NAME
mtx-unzip - Simple Unzipper
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-update.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-update.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-update.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-update" "1" "01-01-2023" "version 1.03" "ConTeXt Minimals Updater"
+.TH "mtx-update" "1" "01-01-2024" "version 1.03" "ConTeXt Minimals Updater"
.SH NAME
mtx-update - ConTeXt Minimals Updater
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-vscode.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-vscode.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-vscode.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-vscode" "1" "01-01-2023" "version 1.00" "vscode extension generator"
+.TH "mtx-vscode" "1" "01-01-2024" "version 1.00" "vscode extension generator"
.SH NAME
mtx-vscode - vscode extension generator
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-watch.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-watch.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-watch.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-watch" "1" "01-01-2023" "version 1.00" "ConTeXt Request Watchdog"
+.TH "mtx-watch" "1" "01-01-2024" "version 1.00" "ConTeXt Request Watchdog"
.SH NAME
mtx-watch - ConTeXt Request Watchdog
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-youless.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-youless.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtx-youless.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtx-youless" "1" "01-01-2023" "version 1.100" "youless Fetcher"
+.TH "mtx-youless" "1" "01-01-2024" "version 1.100" "youless Fetcher"
.SH NAME
mtx-youless - youless Fetcher
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtxrun.man
===================================================================
--- trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtxrun.man 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/scripts/mkiv/mtxrun.man 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,4 +1,4 @@
-.TH "mtxrun" "1" "01-01-2023" "version 1.33" "ConTeXt TDS Runner Tool"
+.TH "mtxrun" "1" "01-01-2024" "version 1.33" "ConTeXt TDS Runner Tool"
.SH NAME
mtxrun - ConTeXt TDS Runner Tool
.SH SYNOPSIS
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-afewdetails.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-afewdetails.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-afewdetails.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -187,7 +187,7 @@
but this works as well:
\startbuffer
-context(node.copy_list(tex.box[0]))
+context(node.copylist(tex.box[0]))
\stopbuffer
\typebuffer
@@ -226,7 +226,7 @@
if enabled then
local color = "mynesting:" .. (count % 3)
-- for n in node.traverse(head) do
- for n in node.traverse_id(nodes.nodecodes.glyph,head) do
+ for n in node.traverseid(nodes.nodecodes.glyph,head) do
setcolor(n,color)
end
count = count + 1
@@ -297,7 +297,7 @@
function userdata.processmystuff(head)
count = count + 1
local color = "mynesting:" .. (count % 3)
- for n in node.traverse_id(nodes.nodecodes.glyph,head) do
+ for n in node.traverseid(nodes.nodecodes.glyph,head) do
setcolor(n,color)
end
return head, true
@@ -340,13 +340,13 @@
\startbuffer
\startluacode
-local setcolor = nodes.tracers.colors.setlist
-local getmarker = nodes.markers.get
-local hlist_code = nodes.nodecodes.hlist
-local traverse_id = node.traverse_id
+local setcolor = nodes.tracers.colors.setlist
+local getmarker = nodes.markers.get
+local hlist_code = nodes.nodecodes.hlist
+local traverseid = node.traverseid
function userdata.processmystuff(head)
- for n in traverse_id(hlist_code,head) do
+ for n in traverseid(hlist_code,head) do
local m = getmarker(n,"mymarker")
if m then
setcolor(n.list,"mymarker:" .. m)
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -105,7 +105,7 @@
So we end up with:
\starttyping
-local b = node.copy_list(tex.getbox(0))
+local b = node.copylist(tex.getbox(0))
-- mess around with b
tex.setbox(0,b)
\stoptyping
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/colors/colors-graphics.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/colors/colors-graphics.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/colors/colors-graphics.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,3 +1,4 @@
+
% language=us runpath=texruns:manuals/colors
\startcomponent colors-basics
@@ -229,6 +230,185 @@
\stopsection
+\startsection[title=Masks]
+
+A \PNG\ bitmap image can have a mask that permits a background to shine through
+but you can also apply that effect to a regular \PNG\ image. The next examples
+use two (pre)defined masks:
+
+\startbuffer
+\registerfiguremask [mymask1] {
+ {
+ { 0, 100, 0x00 },
+ { 101, 200, 0x7F },
+ { 201, 255, 0xFF },
+ }
+}
+
+\registerfiguremask [mymask2] {
+ 210
+}
+\stopbuffer
+
+% demomask = {
+% { 0, 63, 0 },
+% { 64, 127, 127 },
+% { 128, 195, 195 },
+% { 196, 255, 255 },
+% }
+
+% \registerfiguremask [mymask1] {
+% function()
+% return {
+% { 0, 100, 0x00 },
+% { 101, 200, 0x7F },
+% { 201, 255, 0xFF },
+% }
+% end
+% }
+
+\typebuffer
+
+The first mask maps the (grayscale) image values onto a mask value by range while
+the second just passes a criterium. The argument to \type {\registerfiguremask}
+is a number, table or string in \LUA\ speak
+
+\getbuffer
+
+For the examples we define two colors:
+
+\startbuffer
+\definecolor[mymaskcolor1][darkred]
+\definecolor[mymaskcolor2][.75(darkblue,white)]
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\startbuffer[zero]
+\externalfigure
+ [2019-sneaky-bw-lowres.png]
+ [width=\measure{combination}]
+\stopbuffer
+
+\startbuffer[one]
+\externalfigure
+ [2019-sneaky-bw-lowres.png]
+ [background=color,
+ backgroundcolor=mymaskcolor1,
+ mask=mymask1,
+ width=\measure{combination}]
+\stopbuffer
+
+\startbuffer[two]
+\externalfigure
+ [2019-sneaky-bw-lowres.png]
+ [background=color,
+ backgroundcolor=mymaskcolor2,
+ mask=mymask2,
+ width=\measure{combination}]
+\stopbuffer
+
+\startbuffer[three]
+\externalfigure
+ [2019-sneaky-bw-lowres.png]
+ [background=color,
+ backgroundcolor=mymaskcolor2,
+ mask=demomask,
+ width=\measure{combination}]
+\stopbuffer
+
+We now include two images:
+
+\typebuffer[one]
+
+and
+
+\typebuffer[two]
+
+The result is shown in \in {figure} [fig:masks:one] and shows that one has
+probably experiment a bit with the values. The first shows the original and the
+last the predefined \quote {demomask} that uses a table with four ranges.
+
+\startplacefigure[title=Masks,reference=fig:masks:one]
+ \startcombination[4*1]
+ {\inlinebuffer[zero]} {original}
+ {\inlinebuffer[one]} {table}
+ {\inlinebuffer[two]} {number}
+ {\inlinebuffer[three]}{demomask}
+ \stopcombination
+\stopplacefigure
+
+We can also use an image as mask. Take these three definitions:
+
+\startbuffer[one]
+\externalfigure
+ [mill.png]
+ [height=5cm]
+\stopbuffer
+
+\startbuffer[two]
+\externalfigure
+ [2019-sneaky-bw-lowres.png]
+ [height=5cm]
+\stopbuffer
+
+\startbuffer[three]
+\externalfigure
+ [mill.png]
+ [mask=2019-sneaky-bw-lowres.png,height=5cm]
+\stopbuffer
+
+\typebuffer[one,two,three]
+
+In \in {figure} [fig:masks:two] the third example has both images stacked.
+
+\startplacefigure[title=Masks,reference=fig:masks:two]
+ \startcombination[3*1]
+ {\inlinebuffer[one]} {}
+ {\inlinebuffer[two]} {}
+ {\inlinebuffer[three]}{}
+ \stopcombination
+\stopplacefigure
+
+Next we show how to make an image lighter or darker. For this we use the \type
+{range} key. It can be assigned a number (fraction) or a name that serves as
+lookup in a registry. As with masks these are \LUA\ definitions. AN example of a
+range definition is:
+
+\startbuffer
+\registerfigurerange [myrange] {
+ { 0.2, 1.2 }
+}
+\stopbuffer
+
+For an \RGB\ you can provide two or six values. In \in {figure} [fig:ranges:gray]
+we show a lighter, normal, darker and limited example. In \in {figure}
+[fig:ranges:color] we apply them to a \JPEG\ image.
+
+\typebuffer \getbuffer
+
+\startplacefigure[title=Ranges,reference=fig:ranges:gray]
+ \startcombination[4*1]
+ {\externalfigure[mill.png][width=\measure{combination},range=0.80]} {\type{range=0.80}}
+ {\externalfigure[mill.png][width=\measure{combination}]} {default}
+ {\externalfigure[mill.png][width=\measure{combination},range=1.20]} {\type{range=1.20}}
+ {\externalfigure[mill.png][width=\measure{combination},range=myrange]} {\type{range=myrange}}
+ \stopcombination
+\stopplacefigure
+
+\startplacefigure[title=Ranges,reference=fig:ranges:color]
+ \startcombination[4*1]
+ {\externalfigure[hacker.jpg][width=\measure{combination},range=0.80]} {\type{range=0.80}}
+ {\externalfigure[hacker.jpg][width=\measure{combination}]} {default}
+ {\externalfigure[hacker.jpg][width=\measure{combination},range=1.20]} {\type{range=1.20}}
+ {\externalfigure[hacker.jpg][width=\measure{combination},range=myrange]} {\type{range=myrange}}
+ \stopcombination
+\stopplacefigure
+
+\stopsection
+
\stopchapter
\stopcomponent
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-compact.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-compact.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-compact.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,517 @@
+
+% language=us runpath=texruns:manuals/fonts
+
+\continuewhenlmtxmode
+
+\startcomponent fonts-compact
+
+\environment fonts-environment
+
+\definetypeface
+ [narrowtt] [tt]
+ [mono] [modern-condensed] [default] [features=none]
+
+\startchapter[title=Compact][color=darkgray]
+
+\startsection[title=Introduction]
+
+The title of this chapter is somewhat misleading but in the end a lot boils down
+to efficient but flexible usage as offered in \CONTEXT\ \LMTX\ and \LUAMETATEX.
+This also means that what is discussed here does not apply to \MKIV.
+
+\stopsection
+
+\startsection[title=Compact mode]
+
+\startsubsection[title=What \TEX\ needs]
+
+A traditional \TEX\ approach to fonts is that you explicitly load a font
+that then gets an identifier which is used to trigger its usage. In plain \TEX\
+you find these lines:
+
+\startcolumns[n=3]
+\starttyping
+\font\tenrm cmr10
+\font\preloaded cmr9
+\font\preloaded cmr8
+\font\sevenrm cmr7
+\font\preloaded cmr6
+\font\fiverm cmr5
+
+\font\teni cmmi10
+\font\preloaded cmmi9
+\font\preloaded cmmi8
+\font\seveni cmmi7
+\font\preloaded cmmi6
+\font\fivei cmmi5
+
+\font\tensy cmsy10
+\font\preloaded cmsy9
+\font\preloaded cmsy8
+\font\sevensy cmsy7
+\font\preloaded cmsy6
+\font\fivesy cmsy5
+
+\font\tenex cmex10
+
+\font\preloaded cmss10
+\font\preloaded cmssq8
+
+\font\preloaded cmssi10
+\font\preloaded cmssqi8
+
+\font\tenbf cmbx10
+\font\preloaded cmbx9
+\font\preloaded cmbx8
+\font\sevenbf cmbx7
+\font\preloaded cmbx6
+\font\fivebf cmbx5
+
+\font\tentt cmtt10
+\font\preloaded cmtt9
+\font\preloaded cmtt8
+
+\font\preloaded cmsltt10
+
+\font\tensl cmsl10
+\font\preloaded cmsl9
+\font\preloaded cmsl8
+
+\font\tenit cmti10
+\font\preloaded cmti9
+\font\preloaded cmti8
+\font\preloaded cmti7
+\stoptyping
+\stopcolumns
+
+There are a few more later on in that file. Although users seldom see such low
+level definitions it shows a few interesting aspects. First of all, we see that
+there are different fonts for different sizes. These can be triggered with
+commands like \type {\tenbf}. We also see that some fonts get the name \type
+{\preloaded} but because later one we have:
+
+\starttyping
+\let\preloaded\undefined
+\stoptyping
+
+that command is no longer meaningful. The fonts are loaded but not accessible.
+However, when you define it again, the already loaded variant will be used which
+might save some runtime. Back to the sizes: all is centered around a ten point
+body font. The smaller sizes are for math and footnotes, the larger ones for
+section titles and such. The different sizes are optimized for that size and
+expected to be printed at that size. Of course looking at a document on a phone,
+epub device, high resolution monitor or beamer image, spoils that concept:
+instead of being optimized for some size it then becomes a variant with different
+properties. A seven point glyph at indeed seven point in a math superscript makes
+sense but when blown up to 16 point there is less need for a different shape
+unless one wants (for instance) to run the scripts narrower. The danger of ink
+filling shapes at small sizes is not present when we scale up.
+
+Anyway, the engine loads a font and when triggered it will use the dimensions
+that it provides: character properties like widths, heights, depths, italic
+corrections, kerns, ligatures, math variants and extensibles as well as font
+properties like spacing. If you load a ten point font at fifteen point the
+original gets scaled and a copy is used with these new properties. If you use
+400 sizes, you get 400 copies.
+
+\stopsubsection
+
+\startsubsection[title=How \LUATEX\ works]
+
+Because \LUATEX\ is a wide engine loading a font not only takes more time but
+using one also consumes more memory. In principle there should be no real
+difference in the amount of fonts loaded unless the macro package does a poor
+job. In what we call base mode, there is no difference with the traditional
+approach: \TEX\ needs the usual properties so, assuming that callbacks are used
+for font management, only these have to be passed to the engine. In what we call
+node mode in \CONTEXT\ rendering is delegated to \LUA. The engine is not involved
+in for instance ligature building and kerning.
+
+Where in a traditional engine small caps and old style variants are bound to
+specific fonts, using them involves loading a new instance. However, in \CONTEXT\
+we can avoid that by using dynamic features. This dynamic mechanism is part of
+node mode and is a convenient way to deal with small caps and oldstyle shapes. So
+here we can actually save some memory due to less instances but of course at the
+cost of some more complexity. But we still have dedicated instances for say eight
+point and ten point.
+
+\stopsubsection
+
+\startsubsection[title=What \LUAMETATEX\ can do]
+
+In this engine we can do scaling of glyphs on demand. This makes it possible to
+only define a ten point instance and scale for instance an eight point size from
+that instance. This can come at the cost of more runtime due to more calculations
+but in the end experiments demonstrated that runtime can become less. Memory
+consumption of course is less anyway.
+
+This scaling feature has quite some impact on the front|-|end because dimensions
+that relate to the current font might have to be scaled too. It is definitely
+something to take into account at the \LUA\ end. In addition to scaling we also
+have some other manipulations. Although these are taken into account in the
+frontend, it is the backend that eventually has to take care of it.
+
+\starttabulate
+\NC \type {\glyphscale } \NC scales the glyphs in two directions \NC \NR
+\NC \type {\glyphxscale} \NC scales the glyphs horizontally, aka extending \NC \NR
+\NC \type {\glyphyscale} \NC scales the glyphs vertically, aka squeezing \NC \NR
+\NC \type {\glyphslant } \NC transforms the glyphs such that it becomes oblique\NC \NR
+\NC \type {\glyphweight} \NC boldens the glyphs \NC \NR
+\stoptabulate
+
+Apart from slanting all these primitives result in different metrics. The weight is
+somewhat tricky because here we need some guesswork.
+
+When we use compact font mode in \CONTEXT\ \LMTX, the same font is loaded once
+and scaled on demand using the above control options. Of course this need some
+management, for instance because when setting the scale an already active scale
+might effectively get rescaled.
+
+% \unprotect
+% \meaning\font_scale_defined_x
+% \protect
+% \glyphscale\dimexpr\xtextface*\plushundred/\onepoint\relax
+% \gyphrescale\xtextface\relax
+
+\stopsubsection
+
+\stopsection
+
+\startsection[title=Design sizes]
+
+\startsubsection[title=Introduction]
+
+The first \TEX\ distributions had an important characteristic: the fonts that
+came with them were tuned for a certain size and we could speak of them having
+\quote {design sizes}. There were good reasons for this.
+
+\startitemize
+
+\startitem
+ The typeset result was supposed to be printed and we were not talking desktop
+ printers here, but printing presses. A book normally came in a ten point
+ design; after all, how many type does a typesetter has available in lead or
+ film.
+\stopitem
+
+\startitem
+ When math is involved there are two levels of script which means that there
+ are seven and five point sizes used too. At these smaller sizes some details of a
+ glyph have to be exaggerated and other bits and pieces have to become more
+ open in order not to become a blob of black ink.
+\stopitem
+
+\startitem
+ A section header or maybe a bit larger chapter title got its own size, often a
+ bit heavier and maybe running somewhat wider.
+\stopitem
+
+\startitem
+ Combined, this kind of usage results in a predictable way of presenting the
+ result to the user. Unless the reader uses a magnifying glass, what you see is
+ what you got.
+\stopitem
+
+\stopitemize
+
+Compare this to todays rendering and presentation. What is a ten point on a
+mobile phone, 1920x1080 14 inch laptop screen, a 27 inch 4K desktop monitor, or
+beamed on the wall presentation with a 3 meter diameter? And let's not bring
+these low res epub devices into the discussion. It is of course also a matter of
+taste but it is not uncommon to hear \TEX ies claim virtues of fonts and the
+rendering with \TEX\ (take expansion) while at the same time observing that they
+ignore aspects of typesetting that would really make their documents look nice.
+
+Where in the good old \TEX\ approach, rooted in traditional typesetting and
+printing, the concept of \quote {design size} made sense, I personally think that
+in today's rendering and usage it has no real meaning. A basic ten point font can
+show up in any size and is not adapted on-the-fly which in turn would demand
+on-the-fly typesetting with definitely a different look and feel due to different
+line breaks, and we don't even consider how scaling (bitmap or vector) images fit
+into such adaptations. It might work in browsers but not on more traditional
+designed and optimized published content.
+
+There is a sort of tradition that a font comes in \quote {normal}, \quote {bold},
+\quote {italic} and \quote {bolditalic} shapes. It can make sense to come up with
+a bit lighter and more heavy variant, but some designers can't make up their mind
+and come with a whole range, so we see \quote {thin}, \quote {demi-bold}, \quote
+{medium} and \quote {medium-bold}, and whatever fits the repertoire. The choice
+of what looks best is delegated to the user. In the past there definitely was a
+commercial aspect to this, after all each set has to be bought, and when it's not
+clear what to use you end up with dozens of fonts, of which most are never used.
+Today the drive probably comes from the possibilities that font design programs
+offer. And when variable fonts showed up we suddenly saw fonts come in many
+weights, again putting the burden of what looks best on users instead of what is
+intended on designers. As a side effect, the distinction between designs becomes
+vague and there is a danger that in the end users no longer really care what font
+they use because they can make it look like any other anyway.
+
+I like to argue that these \quote {new} fonts that come in what some call design
+sizes has little to do with design sizes in the traditional sense. The variants
+more reflect usage, like \quote {display} or \quote {heading}. As mentioned
+above, one can indeed consider them to be designed for (say) larger than default
+sizes, but then the word \quote {size} no longer hold.
+
+Say that in a traditional \TEX\ document one has the running text in ten point. A
+section header can use the twelve point and a chapter heading fourteen (\TEX\ has
+these 14.4pt, 17.3pt sizes). In print they really are like that but but when
+watched on a device the ten point can effectively be a eight point (epub) or
+twenty point (monitor) so there size has become meaningless because the font is
+not seen at the size it was designed for. When we choose a different one (say
+\quote {display}) we do so because of other properties than size. This means that
+instead of \quote {design size} we can better talk of \quote {usage}.
+
+The advantage of talking \quote {usage} is that we don't need to think size. In a
+traditional \TEX\ setup using design sizes you end up with (difficult) choices.
+If the document is in eleven point, do we scale down the twelve point or scale up
+the ten point, assuming that we have ten and twelve point designs optimized for
+the running text. And how about math when we go down to eight point in footnotes,
+do we really use five point script and three point script script or do we go for
+six point and five or maybe four point. Nowadays we can decide to just scale
+relative, and sticking to what was common in the days of lead typesetters with
+fixed sizes is not needed. Maybe a gradual evolution meant that we stuck to
+concepts a bit too much. So in todays \TEX\ setup we can decide to just define a
+basic setup (no design sizes at all) and do that multiple times depending on
+usage: kicking in a different set of shapes for \quote {display} and \quote
+{heading} when available. There is no reason to use a shape meant for display for
+a sixteen point running text because we scale the ten point and then use the
+display font at (say) twenty four point: it is usage and not scale that matters
+here. And an occasional ten point display font used at ten point in a ten point
+running text can have some use, but we make sure to trigger it with the right
+denomination: we mix a \quote {display} design into a \quote {regular} stream at
+the same size.
+
+It is of course also a matter of perception and taste but as with font expansion
+(aka hz) it could be annoying to see two different two's in $2^2$, something at
+10 points might look better at small sizes but worse as larger. In {figures}
+[fig:designsizes:1] \in {and} [fig:designsizes:2] you can see how it looks when
+we scale a design size beyond its intended size. Especially the second stylistic
+variant (meant for script script) can stand out.
+
+\def\SampleOne#1#2{\switchtobodyfont[#1]\scale[scale=#2000]{\im{2^{2^2}}}}
+
+\startbuffer
+\startcombination[6*3]
+ {\SampleOne{lucida} {1}} {}
+ {\SampleOne{lucida} {2}} {}
+ {\SampleOne{lucida} {3}} {}
+ {\SampleOne{lucida} {4}} {}
+ {\SampleOne{lucida} {5}} {}
+ {\SampleOne{lucida} {6}} {}
+ {\SampleOne{pagella}{1}} {}
+ {\SampleOne{pagella}{2}} {}
+ {\SampleOne{pagella}{3}} {}
+ {\SampleOne{pagella}{4}} {}
+ {\SampleOne{pagella}{5}} {}
+ {\SampleOne{pagella}{6}} {}
+ {\SampleOne{modern} {1}} {}
+ {\SampleOne{modern} {2}} {}
+ {\SampleOne{modern} {3}} {}
+ {\SampleOne{modern} {4}} {}
+ {\SampleOne{modern} {5}} {}
+ {\SampleOne{modern} {6}} {}
+\stopcombination
+\stopbuffer
+
+\startplacefigure[title={Design sizes beyond their design size (1).},reference=fig:designsizes:1]
+ \getbuffer
+\stopplacefigure
+
+\def\SampleOne#1#2{\switchtobodyfont[#1]\scale[scale=#2000]{\im{2\char\getmathcharone`2 \char\getmathchartwo`2}}}
+
+\startplacefigure[title={Design sizes beyond their design size (2).},reference=fig:designsizes:2]
+ \getbuffer
+\stopplacefigure
+
+With arbitrary scaling \quote {design size} no longer is a meaningful concept but
+(intended) usage might be; we could just drop the \quote {sizes} and stick to
+\quote {design} or maybe go for \quote {design variants} or simply \quote
+{usage}. So, that is what in \CONTEXT\ we will carry on. That still leaves the
+user the horrible task of figuring out all these weights, because in the worst
+case all the usage sets (3-5) combined with weights (3-8) will give us (9-40)
+setups to come up with and then choose from. Of course we can decide that the
+regular shape is what the designer came up with and that the rest is just
+marketing and bit of technical show-off. And if it's all too much work for a
+user, the regular shapes a good choice anyway. I wonder if readers really care
+that much, especially when they read on devices instead of proper high resolution
+print.
+
+\stopsubsection
+
+\startsubsection[title=A system]
+
+Mainly because, as shown above, \TEX\ shipped with Computer Modern in several
+design sizes the low level font system is designed to deal with that. This means
+that setups for \MKII\ look more complex than those for \MKIV\ and \LMTX,
+although deep down the same mechanism is active.
+
+Most fonts come with normal, bold, italic and bolditalic variants and for such a
+basic set of four, defining a typescript is relatively easy. If we don't need to
+access the specific fonts by name (like \typ {MyFontSerif}) we can just map
+(file)names onto \type {Serif} directly. If the \quote {select font} mechanism is
+used (\typ {\definefontfamily}) one doesn't even make typescripts but that
+assumes that we can reliably resolve fontnames.
+
+So how, in the perspective of the mentioned (usage specific) font variants does
+one set up a system. I will use Iwona as an example because that font comes in
+different variants. For that font we have the following choices:
+
+\startlines
+iwona iwona-light iwona-medium iwona-heavy
+iwona-cond iwona-light-cond iwona-medium-cond iwona-heavy-cond
+\stoplines
+
+\startbuffer[iwona-use]
+\usebodyfont[iwona]
+\usebodyfont[iwona-heavy]
+\usebodyfont[iwona-cond]
+\stopbuffer
+
+Say that we know that we use, we can instruct \CONTEXT\ to preload these so that
+we don't get local definitions and loading when we use one of them grouped, as in
+a section title.
+
+\typebuffer[iwona-use]
+
+These names are a bit too bound to the fontname so we introduce some abstraction:
+
+\startbuffer[iwona-abstract]
+\aliasbodyfont[mainfont] [iwona]
+\aliasbodyfont[titlefont][iwona-heavy]
+\aliasbodyfont[notefont] [iwona-cond]
+\stopbuffer
+
+\typebuffer[iwona-abstract]
+
+\startbuffer[iwona-demo]
+\setupbodyfont[mainfont]
+\setuphead[chapter][style=\switchtobodyfont[titlefont]\tfd]
+\setuphead[section][style=\switchtobodyfont[titlefont]\tfc]
+\setupnotes[bodyfont={notefont,small}]
+
+\starttext
+
+\startchapter[title=Demo]
+\startsection[title=Demo]
+\samplefile {tufte} \footnote{\samplefile{tufte}}
+\stopsection
+\stopchapter
+
+\stoptext
+\stopbuffer
+
+\typebuffer[iwona-demo]
+
+We see the result in \in {figure} [fig:iwona:demo] and when that example is
+processed the log tells that quite some fonts got loaded: 18. The majority is
+traditional math fonts that get assembled into a pseudo \OPENTYPE\ font.
+
+\startplacefigure[default=page,title={An example font setup},reference=fig:iwona:demo]
+ \scale[width=\textwidth]{\typesetbuffer[iwona-use,iwona-abstract,iwona-demo]}
+\stopplacefigure
+
+The log also mentions: {\tt 28 instances, 24 shared in backend, 2 common vectors,
+22 common hashes, load time 0.615 seconds}. When we start the document with:
+
+\starttyping
+\enableexperiments[fonts.compact]
+\stoptyping
+
+We can see that less instances are loaded: {\tt 6 instances, 2 shared in backend,
+2 common vectors, 0 common hashes, load time 0.154 seconds}. We also save half a
+second. All this is because we now enabled scaling on-the-fly.
+
+\stopsubsection
+
+\startsubsection[title=Relations]
+
+There is a lot of history behind the font system. We started out with design
+sizes and features distributed over fonts. So, at the lowest level we had to
+handle for instance small caps and oldstyle via specific definitions. A tenpoint
+definition looked similar to a twelvepoint but with different font names. On top
+of that there were more general (and abstract) definitions as well as size
+specific mappings to larger or smaller variants of the fonts used at that size.
+
+With a single design size a setup is much simpler but it still uses that granular
+low level mechanism. In all of this, typescripts play an important role: they are
+recipes that relate symbolic names to files, and use these symbolic names in
+assemblies of fonts. Eventually a combination of serif, sans, mono and math is
+defined, even if most fonts don't have these four available. In that case we
+combine different designs.
+
+We could come up with a new system and it could even be a bit faster but we also
+need to keep compatibility in mind. It is not trivial to come up with something
+better (read: more \LMTX-ish) that is backward compatible. The default setup for
+a bodyfont is a rather safe one but not always the best for every body font.
+Without complicatign the existing mechanisms too much some extensions in for
+instance the bodyfont environment system were possible, for instance:
+
+% \setupbodyfontenvironment
+% [metric]
+% [
+% small=0.7,
+% interlinespace=1.4,
+% ]
+
+\starttyping
+\definebodyfontenvironment[iwona] [default][metric]
+\definebodyfontenvironment[iwona-heavy][default][metric]
+\definebodyfontenvironment[iwona-cond] [default][metric]
+\stoptyping
+
+where \type {metric} is a predefined setup and \type {default} indicates that all
+unset sizes use that one. You can define your own or adapt the predefined ones.
+
+\starttyping
+\setupbodyfontenvironment
+ [metric]
+ [small=0.7]
+\stoptyping
+
+or
+
+\starttyping
+\setupbodyfontenvironment
+ [metric]
+ [interlinespace=1.4]
+\stoptyping
+
+for a line height relative to the bodyfont size. Although this seldom happens
+you can be even mor granular. Say that you have
+
+\starttyping
+\definetypeface [DejavuA] [rm] [serif] [dejavu] [default]
+\definetypeface [DejavuA] [ss] [sans] [dejavu] [default]
+\definetypeface [DejavuA] [tt] [mono] [dejavu] [default]
+\definetypeface [DejavuA] [mm] [math] [dejavu] [default]
+\stoptyping
+
+We can now make the sans a bit smaller:
+
+\starttyping
+\definebodyfontenvironment
+ [DejavuA] [ss] [default]
+ [text=0.95, ...]
+\stoptyping
+
+and a specific bodyfont size even more:
+
+\starttyping
+\definebodyfontenvironment
+ [DejavuA] [ss] [8pt]
+ [text=0.85, ...]
+\stoptyping
+
+Of course this kind of setups can best be achieved with an isolated, stepwise
+written environment file because testing it on a huge and versatile document
+source is not much fun.
+
+\stopsubsection
+
+% TODO: set tx to be some other bodyfont but with same interlinespace
+
+\stopsection
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-compact.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-introduction.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-introduction.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-introduction.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -93,3 +93,22 @@
\stopchapter
\stopcomponent
+
+% When visiting one of our small town supermarkets I often observe how well suited
+% these are for kids to explore their abilities due to the partime jobs they offer:
+% human interaction, problem solving, calculus, working together, taking
+% initiatives come to mind. It is therefore in my opinion one these cases where
+% further automation (like self scan counters) is going to backfire on society.
+% These micro societies with various tasks to perform are perfect low risk learning
+% environments.
+
+% In a similar fashion one can observe the way fonts are used in documents. It is
+% all about making choices, setting up a consistent system, suitability to the task
+% and kind of document, not going overboard in features, sizes, variants and more.
+% One might need to improvise and compromise. It is a good learning environment.
+% One can argue that the more we automate the less opportunity there is for users
+% to explore.
+
+% That said, a \TEX\ ecosystem has to provide some tools to make it possible to set
+% up fonts, and can best hide some nasty (and messy) details, but at the same time
+% has to provide enough flexibility to explore and educate.
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-math.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-math.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-math.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -276,6 +276,8 @@
math fonts do have kerning information, most of the math spacing is controlled
by properties of characters and not by the font.
+\startmkivmode
+
\unexpanded\def\SampleLine#1%
{\NC
\type{$a #1{+} b$}
@@ -299,6 +301,8 @@
{\mathlimop}, \type {\mathnolop} and \type {mathbox} but these are used
differently.}
+\stopmkivmode
+
With \TEX\ being the oldest and still dominant math renderer it is no surprise
that \MICROSOFT\ modelled its math renderer after \TEX\ and Cambria quite well
suits the concept. In retrospect it is somewhat unfortunate that we're still
@@ -776,12 +780,12 @@
\definemathfence
[fancybracket] [bracket]
[color=darkblue]
-\definemathfence
+\definemathfence % mkiv: command, mkxl: define
[smallbracket] [bracket]
- [command=yes,color=darkgreen,mathstyle=small]
-\definemathfence
+ [command=yes,define=yes,color=darkgreen,mathstyle=small]
+\definemathfence % mkiv: command, mkxl: define
[normalbracket] [bracket]
- [command=yes,color=darkred]
+ [command=yes,define=yes,color=darkred]
\stopbuffer
\typebuffer \getbuffer
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-mkiv.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-mkiv.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/fonts/fonts-mkiv.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -67,6 +67,7 @@
\component fonts-extensions
\component fonts-hooks
\component fonts-tricks
+ \component fonts-compact
\stopbodymatter
\startappendices
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/graphics/graphics.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/graphics/graphics.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/graphics/graphics.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -52,8 +52,8 @@
-- kind of self-explaining:
- local xsize = 210
- local ysize = 297
+ local xsize = 255
+ local ysize = 255
local colordepth = 1
local usemask = true
local colorspace = "rgb"
@@ -73,7 +73,7 @@
local d = data[i]
local m = mask[i]
for j=1,xsize do
- d[j] = { i, max(i,j), j, min(i,j) }
+ d[j] = { i, max(i,j), min(i,j) }
m[j] = random(minmask,maxmask)
end
end
@@ -147,8 +147,8 @@
couple of more items. But, when doing the job, \TEX\ is only interested in
dimensions.
-In traditional \TEX\ an image inclusion happens via the extension primitive
-\type {\special}, so you can think of something:
+In traditional \TEX\ an image inclusion happens via the extension primitive \type
+{\special}, so you can think of something:
\starttyping
\vbox to 10cm {%
@@ -389,10 +389,10 @@
% point but for now you need to enable that explicitly:
%
% \starttyping[option=TEX]
-% \enabledirectrive[graphics.pdf.uselua]
-% \enabledirectrive[graphics.jpg.uselua]
-% \enabledirectrive[graphics.jp2.uselua]
-% \enabledirectrive[graphics.png.uselua]
+% \enabledirective[graphics.pdf.uselua]
+% \enabledirective[graphics.jpg.uselua]
+% \enabledirective[graphics.jp2.uselua]
+% \enabledirective[graphics.png.uselua]
% \stoptyping
%
% All four can be enabled with:
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-accuracy.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-accuracy.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-accuracy.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,335 @@
+% language=us runpath=texruns:manuals/lowlevel
+
+\environment lowlevel-style
+
+\startdocument
+ [title=accuracy,
+ color=darkgray]
+
+\startsectionlevel[title=Introduction]
+
+When you look at \TEX\ and \METAPOST\ output the accuracy of the rendering stands
+out, unless of course you do a sloppy job on design and interfere badly with the
+system. Much has to do with the fact that calculations are very precise,
+especially given the time when \TEX\ was written. Because \TEX\ doesn't rely on
+(at that time non|-|portable) floating point calculations, it does all with 32
+bit integers, except in the backend where glue calculations are used for
+finalizing the glue values. It all changed a bit when we added \LUA\ because
+there we mix integers and doubles but in practice it works out okay.
+
+When looking at floating point (and posits) one can end up in discussions about
+which one is better, what the flaws fo each are, etc. Here we're only interested
+in the fact that posits are more accurate in the ranges where \TEX\ and
+\METAPOST\ operate, as well as the fact that we only have 32 bits for floats in
+\TEX, unless we patch more heavily. So, it is also very much about storage.
+
+When you work with dimensions like points, they get converted to an integer
+number (the \type {sp} unit) and from that it's just integer calculations. The
+maximum dimension is \the\maxdimen, which already shows a rounding issue. Of
+course when one goes precise for sure there is some loss, but on the average
+we're okay. So, in the next example the two last rows are equivalent:
+
+\starttabulate[|Tr|r|r|]
+\NC .1pt \NC \the\dimexpr.1pt \relax \NC \number\dimexpr.1pt \relax sp \NC \NR
+\NC .2pt \NC \the\dimexpr.2pt \relax \NC \number\dimexpr.2pt \relax sp \NC \NR
+\NC .3pt \NC \the\dimexpr.3pt \relax \NC \number\dimexpr.3pt \relax sp \NC \NR
+\NC .1pt + .2pt \NC \the\dimexpr.1pt+.2pt\relax \NC \number\dimexpr.1pt+.2pt\relax sp \NC \NR
+\stoptabulate
+
+When we're at the \LUA\ end things are different, there numbers are mapped onto
+64 bit floating point variables (doubles) and not all numbers map well. This is
+what we get when we work with doubles in \LUA:
+
+\starttabulate[|Tr|r|]
+\NC .1 \NC \luaexpr{.1 } \NC \NR
+\NC .2 \NC \luaexpr{.2 } \NC \NR
+\NC .3 \NC \luaexpr{.3 } \NC \NR
+\NC .1 + .2 \NC \luaexpr{.1+.2} \NC \NR
+\stoptabulate
+
+The serialization looks as if all is okay but when we test for equality there
+is a problem:
+
+\starttabulate[|Tr|l|]
+\NC .3 == .3 \NC \luaexpr{tostring( .3 == .3)} \NC \NR
+\NC .1 + .2 == .3 \NC \luaexpr{tostring(.1 + .2 == .3)} \NC \NR
+\stoptabulate
+
+This means that a test like this can give false positives or negatives unless one
+tests the difference against the accuracy (in \METAPOST\ we have the {eps}
+variable for that). In \TEX\ clipping of the decimal fraction influences equality.
+
+\starttabulate[|Tr|l|]
+\NC \type{\iflua { .3 == .3 } Y\else N\fi} \NC \iflua{ .3 == .3} equal\else different\fi \NC \NR
+\NC \type{\iflua { .1 + .2 == .3 } Y\else N\fi} \NC \iflua{.1 + .2 == .3} equal\else different\fi \NC \NR
+\stoptabulate
+
+The serialization above misguides us because the number of digits displayed is
+limited. Actually, when we would compare serialized strings the equality holds,
+definitely within the accuracy of \TEX. But here is reality:
+
+\startluacode
+ local a = 0.1
+ local b = 0.2
+ local c = 0.3
+ local d = a + b
+ local NC, NR = context.NC, context.NR
+ local function show(f)
+ context.NC() context(context.escaped(f))
+ context.NC() context(f,c)
+ context.NC() context(f,d)
+ context.NC() context.NR()
+ end
+ context.starttabulate { "|T|l|l|" }
+ context.NC()
+ context.NC() context(".3")
+ context.NC() context(".1 + .2")
+ context.NC() context.NR()
+ -- show("%0.05g",c)
+ show("%0.10g",c)
+ show("%0.17g",c)
+ show("%0.20g",c)
+ show("%0.25g",c)
+ context.stoptabulate()
+\stopluacode
+
+The above examples use $0.1$, $0.2$ and $0.3$ and on a 32 bit float that actually
+works out okay, but \LUAMETATEX\ is 64 bit. Is this really important in practice?
+There are indeed cases where we are bitten by this. At the \LUA\ end we seldom
+test for equality on calculated values but it might impact check for less or
+greater then. At the \TEX\ end there are a few cases where we have issues but
+these also relate to the limited precision. It is not uncommon to loose a few
+scaled points so that has to be taken into account then. So how can we deal with
+this? In the next section(s) an alternative approach is discussed. It is not so
+much the solution for all problems but who knows.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Posits]
+
+% TODO: don't check for sign (1+2)
+
+The next table shows the same as what we started with but with a different
+serialization.
+
+\starttabulate[|Tr|r|]
+\NC .1 \NC \positunum{.1 } \NC \NR
+\NC .2 \NC \positunum{.2 } \NC \NR
+\NC .3 \NC \positunum{.3 } \NC \NR
+\NC .1 + .2 \NC \positunum{.1 + .2} \NC \NR
+\stoptabulate
+
+And here we get equality in both cases:
+
+\starttabulate[|Tr|l|]
+\NC .3 == .3 \NC \positunum{ .3 == .3} \NC \NR
+\NC .1 + .2 == .3 \NC \positunum{.1 + .2 == .3} \NC \NR
+\stoptabulate
+
+The next table shows what we actually are dealing with. The \type {\if}|-|test is
+not a primitive but provided by \CONTEXT.
+
+\starttabulate[|Tr|l|]
+\NC \type{\ifpositunum { .3 == .3 } Y\else N\fi} \NC \ifpositunum{ .3 == .3} equal\else different\fi \NC \NR
+\NC \type{\ifpositunum { .1 + .2 == .3 } Y\else N\fi} \NC \ifpositunum{.1 + .2 == .3} equal\else different\fi \NC \NR
+\stoptabulate
+
+And what happens when we do more complex calculations:
+
+\starttabulate[|Tr|l|]
+\NC \type {math .sin(0.1 + 0.2) == math .sin(0.3)} \NC \luaexpr{tostring(math.sin(0.1 + 0.2) == math.sin(0.3))} \NC \NR
+\NC \type {posit.sin(0.1 + 0.2) == posit.sin(0.3)} \NC \positunum{sin(0.1 + 0.2) == sin(0.3)} \NC \NR
+\stoptabulate
+
+Of course other numbers might work out differently! I just took the simple tests
+that came to mind.
+
+So what are these posits? Here it's enough to know that they are a different way
+to store numbers with fractions. They still can loose precision but a bit less on
+smaller values and often we have relative small values in \TEX. Here are some links:
+
+\starttyping
+https://www.johngustafson.net/pdfs/BeatingFloatingPoint.pdf
+https://posithub.org/conga/2019/docs/14/1130-FlorentDeDinechin.pdf
+\stoptyping
+
+There are better explanations out there than I can provide (if at all). When I
+first read about these unums (a review of the 2015 book \quotation {The End of
+Error Unum Computing}) I was intrigued and when in 2023 I read something about it
+in relation to RISCV I decided to just add this playground for the users. After
+all we also have decimal support. And interval based solutions might actually be
+good for \METAPOST, so that is why we have it as extra number model. There we
+need to keep in mind that \METAPOST\ in non scaled models also apply some of the
+range checking and clipping that happens in scaled (these magick 4096 tricks).
+
+For now it is enough to know that it's an alternative for floats that {\em could}
+work better in some cases but not all. The presentation mentioned above gives
+some examples of physics constants where 32 posits are not good enough for
+encoding the extremely large or small constants, but for $\pi$ it's all fine.
+\footnote {Are 64 bit posits actually being worked on in softposit? There are
+some commented sections. We also need to patch some unions to make it compile as
+C.} In double mode we actually have quite good precision compared to 32 bit
+posits but with 32 bit floats we gain some. Very small numbers and very large
+numbers are less precise, but around 1 we gain: the next value after 1 is
+1.0000001 for a float and 1.000000008 for a posit (both 32 bit). So, currently
+for \METAPOST\ there is no real gain but if we'd add posits to \TEX\ we could
+gain some because there a halfword (used for storing data) is 32 bit.
+
+But how about \TEX ? Per April 2023 the \LUAMETATEX\ engine has native support
+for floats (this in addition to \LUA\ based floats that we already had in
+\CONTEXT). How that works can be demonstrated with some examples. The float
+related commands are similar to those for numbers and dimensions: \typ
+{\floatdef}, \typ {\float}, \typ {\floatexpr}, \typ {\iffloat}, \typ
+{\ifzerofloat} and \typ {\ifintervalfloat}. That means that we also have them as
+registers. The \typ {\positdef} primitive is similar to \typ {\dimensiondef}.
+When a float (posit) is seen in a dimension context it will be interpreted as
+points, and in an integer context it will be a rounded number. As with other
+registers we have a \typ {\newfloat} macro. The \typ {\advance}, \typ
+{\multiply} and \typ {\divide} primitives accept floats.
+
+\startbuffer[reset]
+\scratchdimen=1.23456pt
+\scratchfloat=1.23456
+\stopbuffer
+
+\typebuffer[reset] \getbuffer[reset]
+
+We now use these two variables in an example:
+
+\startbuffer[dimensions]
+\setbox0\hbox to \scratchdimen {x}\the\wd0
+\scratchdimen \dimexpr \scratchdimen * 2\relax
+\setbox0\hbox to \scratchdimen {x}\the\wd0
+\advance \scratchdimen \scratchdimen
+\setbox0\hbox to \scratchdimen {x}\the\wd0
+\multiply\scratchdimen by 2
+\setbox0\hbox to \scratchdimen {x}\the\wd0
+\stopbuffer
+
+\typebuffer[dimensions] \startlines\darkblue\tttf\getbuffer[reset,dimensions]\stoplines
+
+When we use floats we get this:
+
+\startbuffer[floats]
+\setbox0\hbox to \scratchfloat {x}\the\wd0
+\scratchfloat \floatexpr \scratchfloat * 2\relax
+\setbox0\hbox to \scratchfloat {x}\the\wd0
+\advance \scratchfloat \scratchfloat
+\setbox0\hbox to \scratchfloat {x}\the\wd0
+\multiply\scratchfloat by 2
+\setbox0\hbox to \scratchfloat {x}\the\wd0
+\stopbuffer
+
+\typebuffer[floats] \startlines\darkblue\tttf\getbuffer[reset,floats]\stoplines
+
+So which approach is more accurate? At first sight you might think that the
+dimensions are better because in the last two lines they indeed duplicate.
+However, the next example shows that with dimensions we lost some between steps.
+
+\startbuffer[noboxes]
+ \the\scratchfloat
+\scratchfloat \floatexpr \scratchfloat * 2\relax \the\scratchfloat
+\advance \scratchfloat \scratchfloat \the\scratchfloat
+\multiply\scratchfloat by 2 \the\scratchfloat
+\stopbuffer
+
+\typebuffer[noboxes] \startlines\darkblue\tttf\getbuffer[reset,noboxes]\stoplines
+
+One problem with accuracy is that it can build up. So when one eventually does
+some comparison the expectations can be wrong.
+
+\startbuffer
+\dimen0=1.2345pt
+\dimen2=1.2345pt
+
+\ifdim \dimen0=\dimen2 S\else D\fi \space +0sp: [dim]
+\ifintervaldim0sp\dimen0 \dimen2 O\else D\fi \space +0sp: [0sp]
+
+\advance\dimen2 1sp
+
+\ifdim \dimen0=\dimen2 S\else D\fi \space +1sp: [dim]
+\ifintervaldim 1sp \dimen0 \dimen2 O\else D\fi \space +1sp: [1sp]
+\ifintervaldim 1sp \dimen2 \dimen0 O\else D\fi \space +1sp: [1sp]
+\ifintervaldim 2sp \dimen0 \dimen2 O\else D\fi \space +1sp: [2sp]
+\ifintervaldim 2sp \dimen2 \dimen0 O\else D\fi \space +1sp: [2sp]
+
+\advance\dimen2 1sp
+
+\ifintervaldim 1sp \dimen0\dimen2 O\else D\fi \space +2sp: [1sp]
+\ifintervaldim 1sp \dimen2\dimen0 O\else D\fi \space +2sp: [1sp]
+\ifintervaldim 5sp \dimen0\dimen2 O\else D\fi \space +2sp: [5sp]
+\ifintervaldim 5sp \dimen2\dimen0 O\else D\fi \space +2sp: [5sp]
+\stopbuffer
+
+\typebuffer
+
+Here we show a test for overlap in values, the same can be done with integer
+numbers (counts) and floats. This interval checking is an experiment and we'll
+see it if gets used.
+
+\startpacked\darkblue \tttf \getbuffer \stoppacked
+
+There are also \typ {\ifintervalfloat} and \typ{\ifintervalnum}. Because I have
+worked around these few scaled point rounding issues for decades, it might
+actually take some time before we see the interval tests being used in \CONTEXT.
+After all, there is no reason to touch somewhat tricky mechanism without reason
+(read: users complaining).
+
+To come back to posits, just to be clear, we use 32 bit posits and not 32 bit
+floats, which we could have but that way we gain some accuracy because less bits
+are used by default for the exponential.
+
+In \CONTEXT\ we also provide a bunch of pseudo primitives. These take one float:
+\type {\pfsin}, \type {\pfcos}, \type {\pftan}, \type {\pfasin}, \type {\pfacos},
+\type {\pfatan}, \type {\pfsinh}, \type {\pfcosh}, \type {\pftanh}, \type
+{\pfasinh}, \type {\pfacosh}, \type {\pfatanh}, \type {\pfsqrt}, \type {\pflog},
+\type {\pfexp}, \type {\pfceil}, \type {\pffloor}, \type {\pfround}, \type
+{\pfabs}, \type {\pfrad} and \type {\pfdeg}, whiel these expect two floats: \type
+{\pfatantwo}, \type {\pfpow}, \type {\pfmod} and \type {\pfrem}.
+
+% \pageextragoal = 5sp
+
+\stopsectionlevel
+
+\startsectionlevel[title=\METAPOST]
+
+In addition to the instances \typ {metafun} (double in \LMTX), \typ {scaledfun},
+\typ {doublefun}, \typ {decimalfun} we now also have \typ {positfun}. Because we
+currently use 32 bit posits in the new number system there is no real gain over
+the already present 64 bit doubles. When 64 bit posits show up we might move on
+to that.
+
+\stopsectionlevel
+
+\startsectionlevel[title=\LUA]
+
+We support posits in \LUA\ too. Here we need to create a posit user data
+object. The usual metatable magick kicks in:
+
+\starttyping
+local p = posit.new(123.456)
+local q = posit.new(789.123)
+local r = p + q
+\stoptyping
+
+Here we just mention what is currently interface. The management functions are:
+\typ {new}, \type {copy}, \typ {tostring}, \typ {tonumber}, \typ {integer}, \typ
+{rounded}, \typ {toposit} and \typ {fromposit}. The usual operators are also
+supported: \type{+}, \type{-}, \type{*}, \type{/}, \type{^}, as well as the
+binary \type {|}. \type {&}, \type {~}, \type {<<} and \type {>>}. We can compare
+with \type {==}, \type {>=}, \type {<=} and \type {~=}. The more verbose \type
+{bor}, \type {bxor}, \type {band}, \type {shift}, \type {rotate} are there too.
+
+There is a subset of math provided: \type {min}, \type {max}, \type {abs}, \type
+{conj}, \type {modf}, \type {acos}, \type {asin}, \type {atan}, \type {ceil},
+\type {cos}, \type {exp}, \type {exp2}, \type {floor}, \type {log}, \type
+{log10}, \type {log1p}, \type {log2}, \type {logb}, \type {pow}, \type {round},
+\type {sin}, \type {sqrt} and \type {tan}. Somewhat special are \type {NaN} and
+\type {NaR}.
+
+Currently integer division (\type {//}) and modulo (\type {%}) are not available,
+but that might happen at some time.
+
+\stopsectionlevel
+
+\stopdocument
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-accuracy.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-alignments.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-alignments.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-alignments.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -624,10 +624,11 @@
{\showboxes\getbuffer[blownup-2]}
-When you define an alignment inside a macro, you need to duplicate the \type {\alignmark}
-signals. This is similar to embedded macro definitions. But in \LUAMETATEX\ we can get
-around that by using \type {\aligncontent}. Keep in mind that when the preamble is scanned there
-is no doesn't expand with the exception of the token after \type {\span}.
+When you define an alignment inside a macro, you need to duplicate the \type
+{\alignmark} signals. This is similar to embedded macro definitions. But in
+\LUAMETATEX\ we can get around that by using \type {\aligncontent}. Keep in mind
+that when the preamble is scanned there is no doesn't expand with the exception
+of the token after \type {\span}.
\startbuffer
\halign \bgroup
@@ -792,6 +793,163 @@
\stopsectionlevel
+\startsectionlevel[title=Templates]
+
+The \type {\omit} command signals that the template should not be applied. But
+what if we actually want something at the left and right of the content? Here is
+how it's done:
+
+\startbuffer
+\tabskip10pt \showboxes
+\halign\bgroup
+ [\hss\aligncontent\hss]\aligntab
+ [\hss\aligncontent\hss]\aligntab
+ [\hss\aligncontent\hss]\cr
+ x\aligntab x\aligntab x\cr
+ xx\aligntab xx\aligntab xx\cr
+ xxx\aligntab xxx\aligntab xxx\cr
+ \omit oo\aligntab\omit oo\aligntab\omit oo\cr
+ xx\aligntab\realign{\hss(}{)\hss}xx\aligntab xx\cr
+ \realign{\hss(}{)\hss}xx\aligntab xx\aligntab xx\cr
+\egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+The \type {\realign} command is like an \type {omit} but it expects two token
+lists that will for this cell be used instead of the ones from the preamble.
+While \type {\omit} also skips insertion of \type {\everytab}, here it is
+inserted, just like with normal preambles.
+
+\start \blank \getbuffer \blank \stop
+
+It will probably take a while before I'll apply this in \CONTEXT\ because changing
+existing (stable) table environment is not something done lightly.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Pitfalls]
+
+Alignment have a few properties that can catch you off|-|guard. One is the use of
+\type {\everycr}. The next example demonstrates that it is also injected after the
+preamble definition.
+
+\startbuffer
+\everycr{\noalign{\hrule}}
+\halign\bgroup \hsize 5cm \strut \alignmark\cr one\cr two\cr\egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+This makes sense because it is one way to make sure that for instance a rule gets
+the width of the cell.
+
+\startpacked
+\showboxes \getbuffer
+\stoppacked
+
+The sam eis of course true for a vertical align:
+
+\startbuffer
+\everycr{\noalign{\vrule}}
+\valign\bgroup \hsize 4cm \strut \aligncontent\cr one\cr two\cr\egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+We set the width because otherwise the current text width is used.
+
+\startpacked
+\showboxes \getbuffer
+\stoppacked
+
+Something similar happens with a \type {\tabskip}: the value set before the
+alignment is used left of the first cell.
+
+\startbuffer
+\tabskip10pt
+\halign\bgroup \tabskip20pt\relax\aligncontent\cr x\cr x\cr \egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+\startpacked
+\showboxes \getbuffer
+\stoppacked
+
+The \type {\tabskip} outside the alignment is an internal glue register so you
+can for instance use the prefix \type {\global}. However, in a preamble it is
+more a directive: the given value is stored with the cell. This means that the
+next code is invalid:
+
+\starttyping
+\tabskip10pt
+\halign\bgroup \global\tabskip20pt\relax\aligncontent\cr x\cr x\cr \egroup
+\stoptyping
+
+The parser looks at tokens in the preamble, sees the \type {\global} and appends
+it to the current pre|-|part of the cell's template. Then it sees a \type
+{\tabskip} and assigns the value after it to the cell's skip. The token and its
+value just disappear, they are not appended to the template. Now, when the
+template is injected (and interpreted) this \type {\global} expects a variable
+next and in our case the \type {x} doesn't qualify. The next snippet however works
+okay:
+
+\startbuffer
+\scratchcounter0
+\halign\bgroup
+ \global\tabskip40pt\relax\advance\scratchcounter\plusone\aligncontent\cr
+ x:\the\scratchcounter\cr
+ x:\the\scratchcounter\cr
+ x:\the\scratchcounter\cr
+\egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+Here the \type {\global} is applied to the \type {advance} because the skip
+definition is {\em not} in the preamble.
+
+\start \blank \getbuffer \blank \stop
+
+Here is a variant:
+
+\startbuffer
+\scratchcounter0
+\halign\bgroup
+ \global\tabskip10pt\relax\aligncontent\cr
+ \advance\scratchcounter\plusone x:\the\scratchcounter\cr
+ \advance\scratchcounter\plusone x:\the\scratchcounter\cr
+ \advance\scratchcounter\plusone x:\the\scratchcounter\cr
+\egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+Again the \type {\global} stays and this time if ends up before the content which
+starts with an \type {\advance}.
+
+\start \getbuffer \stop
+
+Normally you will not need the next trickery but it shows that cells are grouped:
+
+\startbuffer
+\halign\bgroup\aligncontent\cr
+ 1\atendofgrouped{A}\atendofgrouped{B}\cr
+ 2\aftergrouped {A}\aftergrouped {B}\cr
+ 3 \cr
+\egroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+Maybe at some point I'll add something a bit more tuned for dealing with cells,
+but here is what you get with the above:
+
+\getbuffer
+
+\stopsectionlevel
+
\startsectionlevel[title=Remark]
It can be that the way alignments are interfaced with respect to attributes is a bit
@@ -828,3 +986,14 @@
% \omit\span \hss ccc\hss\cr
% \egroup \egroup
% \egroup
+
+% \protected\def\oof#1{[#1]}
+% \def\foo{\aligncontent}
+% \def\foo{\oof{\aligncontent}}
+
+% \halign\bgroup
+% \hss\span\foo\hss\cr
+% x\cr
+% \omit xx\cr
+% xxx\cr
+% \egroup
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-boxes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-boxes.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-boxes.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -177,7 +177,6 @@
invisible quantity (consider it a black box) that enforces consistent line
dimensions: height and depth.
-
\startlinecorrection
{\dontcomplain\hbox{\showstruts\showboxes\getbuffer}}
\stoplinecorrection
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-grouping.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-grouping.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-grouping.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -12,7 +12,7 @@
other topics at the 2019 \CONTEXT\ meeting where there was a question about
grouping.
-\stopsectionlevel
+% \stopsectionlevel
\startsectionlevel[title=\PASCAL]
@@ -36,7 +36,7 @@
In \TEX\ macros (or source code) the following can occur:
-\starttyping
+\starttyping[option=TEX]
\begingroup
...
\endgroup
@@ -44,7 +44,7 @@
as well as:
-\starttyping
+\starttyping[option=TEX]
\bgroup
...
\egroup
@@ -54,7 +54,7 @@
are forgotten afterwards. All assignments are local to the group unless they are
explicitly done global:
-\starttyping
+\starttyping[option=TEX]
\scratchcounter=1
\def\foo{foo}
\begingroup
@@ -70,7 +70,7 @@
Although you can use both sets of commands to group, you cannot mix them, so this
will trigger an error:
-\starttyping
+\starttyping[option=TEX]
\bgroup
\endgroup
\stoptyping
@@ -86,19 +86,19 @@
The \METAPOST\ language also has a concept of grouping but in this case it's more like a
programming language.
-\starttyping
+\starttyping[option=MP]
begingroup ;
n := 123 ;
-engroup ;
+endgroup ;
\stoptyping
In this case the value of \type {n} is 123 after the group is left, unless you do
this (for numerics there is actually no need to declare them):
-\starttyping
+\starttyping[option=MP]
begingroup ;
save n ; numeric n ; n := 123 ;
-engroup ;
+endgroup ;
\stoptyping
Given the use of \METAPOST\ (read: \METAFONT) this makes a lot of sense: often
@@ -116,7 +116,7 @@
In \LUA\ all assignments are global unless a variable is defines local:
-\starttyping
+\starttyping[option=LUA]
local x = 1
local y = 1
for i = 1, 10 do
@@ -153,4 +153,305 @@
\stopsectionlevel
+\stopsectionlevel
+
+\startsectionlevel[title=Kinds of grouping]
+
+Explicit grouping is accomplished by the two grouping primitives:
+
+\starttyping[option=TEX]
+\begingroup
+ \sl render slanted here
+\endgroup
+\stoptyping
+
+However, often you will find this being used:
+
+\starttyping[option=TEX]
+{\sl render slanted here}
+\stoptyping
+
+This is not only more compact but also avoids the \type {\endgroup} gobbling
+following spaces when used inline. The next code is equivalent but also suffers
+from the gobbling:
+
+\starttyping[option=TEX]
+\bgroup
+ \sl render slanted here
+\egroup
+\stoptyping
+
+The \type {\bgroup} and \type {\egroup} commands are not primitives but aliases
+(made by \type {\let}) to the left and right curly brace. These two characters
+have so called category codes that signal that they can be used for grouping. The
+{\em can be} here suggest that there are other purposes and indeed there are, for
+instance in:
+
+\starttyping[option=TEX]
+\toks 0 = {abs}
+\hbox {def}
+\stoptyping
+
+In the case of a token list assignment the curly braces fence the assignment, so scanning
+stops when a matching right brace is found. The following are all valid:
+
+\starttyping[option=TEX]
+\toks 0 = {a{b}s}
+\toks 0 = \bgroup a{b}s}
+\toks 0 = {a{\bgroup b}s}
+\toks 0 = {a{\egroup b}s}
+\toks 0 = \bgroup a{\bgroup b}s}
+\toks 0 = \bgroup a{\egroup b}s}
+\stoptyping
+
+They have in common that the final fence has to be a right brace. That the first
+one can be a an alias is due to the fact that the scanner searches for a brace
+equivalent when it looks for the value. Because the equal is optional, there is
+some lookahead involved which involves expansion and possibly push back while
+once scanning for the content starts just tokens are collected, with a fast
+check for nested and final braces.
+
+In the case of the box, all these specifications are valid:
+
+\starttyping[option=TEX]
+\hbox {def}
+\hbox \bgroup def\egroup
+\hbox \bgroup def}
+\hbox \bgroup d{e\egroup f}
+\hbox {def\egroup
+\stoptyping
+
+This is because now the braces and equivalent act as grouping symbols so as long
+as they match we're fine. There is a pitfall here: you cannot mix and match
+different grouping, so the next issues an error:
+
+\starttyping[option=TEX]
+\bgroup xxx\endgroup % error
+\begingroup xxx\egroup % error
+\stoptyping
+
+This can make it somewhat hard to write generic grouping macros without trickery
+that is not always obvious to the user. Fortunately it can be hidden in macros
+like the helper \typ {\groupedcommand}. In \LUAMETATEX\ we have a clean way out
+of this dilemma:
+
+\starttyping[option=TEX]
+\beginsimplegroup xxx\endsimplegroup
+\beginsimplegroup xxx\endgroup
+\beginsimplegroup xxx\egroup
+\stoptyping
+
+When you start a group with \typ {\beginsimplegroup} you can end it in the three
+ways shows above. This means that the user (or calling macro) doesn't take into
+account what kind of grouping was used to start with.
+
+When we are in math mode things are different. First of all, grouping with \typ
+{\begingroup} and \typ {\endgroup} in some cases works as expected, but because
+the math input is converted in a list that gets processed later some settings can
+become persistent, like changes in style or family. You can bet better use \typ
+{\beginmathgroup} and \typ {\endmathgroup} as they restore some properties. We
+also just mention the \type {\frozen} prefix that can be used to freeze
+assignments to some math specific parameters inside a group.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Hooks]
+
+In addition to the original \type {\aftergroup} primitive we have some more
+hooks. They can best be demonstrated with an example:
+
+\startbuffer
+\begingroup \bf
+ %
+ \aftergroup A \aftergroup 1
+ \atendofgroup B \atendofgroup 1
+ %
+ \aftergrouped {A2}
+ \atendofgrouped {B2}
+ %
+ test
+\endgroup
+\stopbuffer
+
+\typebuffer[option=TEX]
+
+These collectors are accumulative. Watch how the bold is applied to what we
+inject before the group ends.
+
+\getbuffer
+
+\stopsectionlevel
+
+\startsectionlevel[title=Local versus global]
+
+When \TEX\ enters a group and an assignment is made the current value is stored
+on the save stack, and at the end of the group the original value is restored. In
+\LUAMETATEX\ this mechanism is made a bit more efficient by avoiding redundant
+stack entries. This is also why the next feature can give unexpected results when
+not used wisely.
+
+Now consider the following example:
+
+\startbuffer
+\newdimension\MyDimension
+
+\starttabulate[||||]
+ \NC \MyDimension10pt \the\MyDimension
+ \NC \advance\MyDimension10pt \the\MyDimension
+ \NC \advance\MyDimension10pt \the\MyDimension \NC \NR
+ \NC \MyDimension10pt \the\MyDimension
+ \NC \advance\MyDimension10pt \the\MyDimension
+ \NC \advance\MyDimension10pt \the\MyDimension \NC \NR
+\stoptabulate
+\stopbuffer
+
+\typebuffer[option=TEX] \getbuffer
+
+The reason why we get the same values is that cells are a group and therefore the
+value gets restored as we move on. We can use the \type {\global} prefix to get
+around this
+
+\startbuffer
+\starttabulate[||||]
+ \NC \global \MyDimension10pt \the\MyDimension
+ \NC \global\advance\MyDimension10pt \the\MyDimension
+ \NC \global\advance\MyDimension10pt \the\MyDimension \NC \NR
+ \NC \global \MyDimension10pt \the\MyDimension
+ \NC \global\advance\MyDimension10pt \the\MyDimension
+ \NC \global\advance\MyDimension10pt \the\MyDimension \NC \NR
+\stoptabulate
+\stopbuffer
+
+\typebuffer[option=TEX] \getbuffer
+
+Instead of using a global assignment and increment we can also use the following
+
+\startbuffer
+\constrained\MyDimension\zeropoint
+\starttabulate[||||]
+ \NC \retained \MyDimension10pt \the\MyDimension
+ \NC \retained\advance\MyDimension10pt \the\MyDimension
+ \NC \retained\advance\MyDimension10pt \the\MyDimension \NC \NR
+ \NC \retained \MyDimension10pt \the\MyDimension
+ \NC \retained\advance\MyDimension10pt \the\MyDimension
+ \NC \retained\advance\MyDimension10pt \the\MyDimension \NC \NR
+\stoptabulate
+\stopbuffer
+
+\typebuffer[option=TEX] \getbuffer
+
+So what is the difference with the global approach? Say we have these two buffers:
+
+\startbuffer
+\startbuffer[one]
+ \global\MyDimension\zeropoint
+ \framed {
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ }
+ \framed {
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ }
+\stopbuffer
+
+\startbuffer[two]
+ \global\MyDimension\zeropoint
+ \framed {
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ \getbuffer[one]
+ }
+ \framed {
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ \framed {\global\advance\MyDimension10pt \the\MyDimension}
+ \getbuffer[one]
+ }
+\stopbuffer
+\stopbuffer
+
+\typebuffer[option=TEX] \getbuffer
+
+Typesetting the second buffer gives us:
+
+\startlinecorrection
+\getbuffer[two]
+\stoplinecorrection
+
+When we want to have these entities independent and not use different variables,
+the global settings bleeding from one into the other entity is messy. Therefore
+we can use this:
+
+\startbuffer
+\startbuffer[one]
+ \constrained\MyDimension\zeropoint
+ \framed {
+ \framed {\retained \MyDimension10pt \the\MyDimension}
+ \framed {\retained\advance\MyDimension10pt \the\MyDimension}
+ }
+ \framed {
+ \framed {\retained \MyDimension10pt \the\MyDimension}
+ \framed {\retained\advance\MyDimension10pt \the\MyDimension}
+ }
+\stopbuffer
+
+\startbuffer[two]
+ \constrained\MyDimension\zeropoint
+ \framed {
+ \framed {\retained\advance\MyDimension10pt \the\MyDimension}
+ \framed {\retained\advance\MyDimension10pt \the\MyDimension}
+ \getbuffer[one]
+ }
+ \framed {
+ \framed {\retained\advance\MyDimension10pt \the\MyDimension}
+ \framed {\retained\advance\MyDimension10pt \the\MyDimension}
+ \getbuffer[one]
+ }
+\stopbuffer
+\stopbuffer
+
+\typebuffer[option=TEX] \getbuffer
+
+Now we get this:
+
+\startlinecorrection
+\getbuffer[two]
+\stoplinecorrection
+
+The \type {\constrained} prefix makes sure that we have a stack entry, without
+being clever with respect to the current value. Then the \type {\retained} prefix
+can do its work reliably and avoid pushing the old value on the stack. Without
+the constrain it gets a bit unpredictable because then it all depends on where
+further up the chain the value was put on the stack. Of course one can argue that
+we should not have the \quotation {save stack redundant entries optimization} but
+that's not going to be removed.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Files]
+
+Although it doesn't really fit in this chapter, here are some hooks into processing
+files:
+
+\starttyping[option=TEX]
+Hello World!\atendoffiled {\writestatus{FILE}{ATEOF B #1}}\par
+Hello World!\atendoffiled {\writestatus{FILE}{ATEOF A #1}}\par
+Hello World!\atendoffiled reverse {\writestatus{FILE}{ATEOF C #1}}\par
+Hello World!\begingroup\sl \atendoffiled {\endgroup}\par
+\stoptyping
+
+Inside a file you can register tokens that will be expanded when the file ends.
+You can also do that beforehand using a variant of the \type {\input} primitive:
+
+\starttyping[option=TEX]
+\eofinput {\writestatus{FILE}{DONE}} {thatfile.tex}
+\stoptyping
+
+This feature is mostly there for consistency with the hooks into groups and
+paragraphs but also because \type {\everyeof} is kind of useless given that one
+never knows beforehand if a file loads another file. The hooks mentioned above
+are bound to the current file.
+
+\stopsectionlevel
+
\stopdocument
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-lines.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-lines.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-lines.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,1178 @@
+% language=us runpath=texruns:manuals/lowlevel
+
+\environment lowlevel-style
+
+\startdocument
+ [title=lines,
+ coauthor=Mikael Sundqvist,
+ color=middleorange]
+
+\startsectionlevel[title=Introduction]
+
+There is no doubt that \TEX\ does an amazing job of \quotation {breaking
+paragraphs into lines} where a paragraph is a sequence of words in the input
+separated by spaces or its equivalents (single line endings turned space). The
+best descriptions of how that is done can be found in Don Knuths \quotation {The
+\TEX\ Book}, \quotation {\TEX\ The Program} and \quotation {Digital Typography}.
+Reading and rereading the relevant portions of those texts is a good exercise in
+humility.
+
+That said, whatever follows here builds upon what Knuth gave us and in no way we
+pretend to do better than that. It started out as a side track of improving
+rendering math in combination with more control over breaking inline math. It
+pretty much about having fun with the par builder but in the end can also help
+make your results look better. This is especially true for proze.
+
+Trying to describe the inner working of the par builder makes no sense. Not only
+is it kind of complex, riddled with magic constants and heuristics, but there is
+a good chance for us to talk nonsense thanks to misunderstanding. However, some
+curious aspects will be brought up. Consider what follows a somewhat naive
+approach and whatever goes wrong, blame the authors, not \TEX.
+
+If you're one of those reader who love to complain about the bad manuals, you can
+stop reading here. There is plenty said in the mentioned books but you can also
+consult Viktor Eijkhouts excellent \quotation {\TEX\ by Topic} (just search the
+web for how the get these books). If you're curious and in for some adventure,
+keep reading.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Warning]
+
+This is a first version. What is described here will stay but is still
+experimental and how it evolves also depends on what demands we get from the
+users. We have defined some experimental setups in \CONTEXT. We wil try to
+improve the explanations in ways that (we hope) makes clear what happens deep
+down but that takes time. These might change depending on feedback. We assume
+that we're in granular mode:
+
+\starttyping
+\setupalign[granular]
+\stoptyping
+
+We will explain below what that means, but let us already now make clear that
+this will likely become the default! As far as we can see, due to the larger
+solution space, the inter-word spacing is more even but that also means that some
+paragraphs can become one line less or more.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Constructing paragraphs]
+
+There are several concepts at work when \TEX\ breaks a paragraph into lines. Here
+we assume that we talk about text: words separated by spaces. We also assume that
+the text starts at the left edge and nicely runs till the right edge, with the
+exception of the last line.
+
+\startitemize
+\startitem
+ The spaces between words can stretch or shrink. We don't want that to be too
+ inconsistent (visible) between two lines. This is where the terms loose and
+ tight come into play.
+\stopitem
+\startitem
+ Words can be hyphenated but we don't want that to happen too often. We also
+ discourage neighboring lines to have hyphens. Hyphenating the (pre) final line
+ is also sort of bad.
+\stopitem
+\startitem
+ We definitely don't want words to stick out in the margin. If we have to choose,
+ stretching is preferred over shrinking. If spaces become too small words,
+ start to blur.
+\stopitem
+\startitem
+ If needed glyphs can stretch or shrink a little in order to get rid of
+ excessive spacing. But we really want to keep it minimal, and avoid it when
+ possible. Usually we permit more stretch than shrink. Not all scripts (and
+ fonts for that matter) might work well with this feature.
+\stopitem
+\startitem
+ As a last resort we can stretch spaces so that we get rid of any still
+ sticking out word. When \TEX\ reports an overfull box (often a line) you have
+ to pay attention!
+\stopitem
+\stopitemize
+
+When \TEX\ decides where to break and when to finish doing so it uses a system of
+penalties and demerits and at some point makes decisions with regards to how bad
+a breakpoint (and eventually a paragraph) is. The penalties are normally
+relatively small unless we really want to penalize. When \TEX\ is in the process
+of breaking a paragraph it calculates badness values for each line. This can be
+seen as a measure on how bad looking a line is; a badness of zero is good, but
+the larger the badness becomes, the worse the line is.
+
+Here we shortly summarize the parameters that play a role in calculating what
+\TEX\ calls the costs of breaking a line at some point: it's a combination of
+weighting penalties as well as over- or undershooting the line with, where the
+amount (dimension) and kind of (fillers) stretch and shrink determien the final
+verdict.
+
+\startbuffer
+\ruledhbox to 20 ts{left \hss right}
+\ruledhbox to 40 ts{left \hss right}
+\ruledhbox to 5 ts{left \hss right}
+\ruledhbox to 5 ts{left right}
+\ruledhbox to 5 es{%
+ left
+ \hskip 1ts plus 0.5ts\relax
+ middle
+ \hskip 1ts plus 1.5ts\relax
+ right%
+}
+\stopbuffer
+
+\typebuffer
+
+These boxes show a bit what happens with spacing that can stretch of shrink. The
+first three cases are not bad because it's what we ask for with the wildcard
+\type {\hss}. \footnote {We use this opportunity to promote the new \type {ts} and
+\type {es} units.}
+
+\startlines \getbuffer \stoplines
+
+\TEX\ will run over each paragraph at most three times. On each such run, it will
+choose different breakpoints, calculate badness of each possible line, combine
+that with eventual penalties, and calculate a certain demerit value for each
+possible paragraph. It creats a set of solutions as it progresses, discards the
+worse cases so far and eventually ends of what it thinks is best.
+
+The process is primarily controlled by these parameters:
+
+\startitemize
+\startitem
+ \type {\pretolerance}: This number determines the success of the first, not
+ hyphenated pass. Often the value is set to the plain \TEX\ value of 100.
+ If \TEX\ finds a possible division of a paragraph such that no line has
+ a badness higher than \type {\pretolerance}, the algorithm quits here and
+ that line is chosen.
+\stopitem
+\startitem
+ \type {\tolerance}: This number determines the success of the second,
+ hyphenated pass. Often the value is set to the plain \TEX\ value of 200.
+\stopitem
+\startitem
+ \type {\emergencystretch}: This dimension kicks in when the second pass is
+ not successful. In \CONTEXT\ we often set it to \type {2\bodyfontsize}.
+\stopitem
+\stopitemize
+
+When we are (in \CONTEXT\ speak) \type {tolerant}, we have a value of 3000, while
+\type {verytolerant} bumps it to 4500. These are pretty large values compared to
+the default 100 and 200 that seem to cover most cases well, especially when we
+have short words, a reasonable width and lots of opportunities for hyphenation.
+Keep in mind that a macro package has to default to values that make sense for
+the average case.
+
+We now come to the other relevant parameters. You need to keep in mind that the
+demerits are made from penalty values that get squared which is why parameters
+with demerits in their name have high values: a penalty of $50$ squared has to
+relate to a demerit of $5000$, so we might have $2500 + 5000$ at some point.
+
+The formula (most often) used to calculate the demerits \im{d} is
+
+\startformula
+ d = (l + b + p)^2 + e
+\stopformula
+
+Here \im {l} is the \type {\linepenalty}, set to \im {10} in plain, \im {b} is the
+badness of the line, and \im {p} is the penalty of the current break (for example,
+added by hyphenation, or by breaking an inline formula). The \im {e} stands for
+extra non-local demerits, that do not depend on only the current line, like
+the \type {\doublehyphendemerits} that is added if two lines in a row are
+hyphenated.
+
+The badness reflects how the natural linewidth relates to the target width and
+uses a cubic function. A badness of zero is of course optimal, but a badness of
+99 is pretty bad. A magic threshold is 12 (around that value a line is considered
+decent). If you look at the formula above you can now understand why the line
+penalty defaults to the low value of 10.
+
+\startitemize
+\startitem
+ \type {\hyphenpenalty}: When a breakpoint occurs at a discretionary this one
+ gets added. In \LUAMETATEX\ we store penalties in the discretionary nodes but
+ user defined \typ {\discretionary}'s can carry dedicated penalties. This
+ value is set to 50, which is not that much. Large values reduce the solution
+ space so best keep this one reasonable.
+\stopitem
+\startitem
+ \type {\linepenalty}: Normally this is set to 10 and it is the baseline for a
+ breakpoint. This is again a small value compared to for instance the
+ penalties that you find in inline math. There we need some breakpoints and
+ after binary and relation symbols such an opportunity is created. The
+ specific penalties are normally 500 and 700. One has to keep in mind, as
+ shown in the formula above, that the penalties are not acting on a linear
+ scale when the demerits are calculated. Math spacing and penalty control is
+ discussed in the (upcoming) math manual.
+\stopitem
+\startitem
+ \type {\doublehyphendemerits}: Because it is considered bad to have two
+ hyphens in a row this is often set pretty high, many thousands. These are
+ treated as demerits (so outside of the squared part of the above formula).
+\stopitem
+\startitem
+ \type {\finalhyphendemerits}: The final (pre last) line having a hyphen is
+ also considered bad. The last line is handled differently anyway, just
+ because it gets normally flushed left.
+\stopitem
+\startitem
+ \type {\adjdemerits}: lines get rated in terms of being loose, decent, tight,
+ etc. When two lines have a different rating we bump the total demerits.
+\stopitem
+\startitem
+ \type {\looseness}: it is possible to force less or more lines but to what
+ extend this request is honored depends on for instance the possible
+ (emergency) stretch in the spaces (or any glue for that matter). `
+ % Needs an explanation
+\stopitem
+\stopitemize
+
+It is worth noticing that you can set \typ {\lastlinefit} such that the spaces in
+the last line will be comparable to those in the preceding line. This is a
+feature that \ETEX\ brought us. Anyways, keep in mind normally penalties are
+either small, or when we want to be tough, pretty high. Demerits are often
+relatively large.
+
+The next one is a flag that triggers expansion (or compression) of glyphs to kick
+in. Those get added to the available stretch and/or shrink of a line:
+
+\startitemize[continue]
+\startitem
+ \type {\adjustspacing}: Its value determines if expansion kicks in: glyphs
+ basically get a stretch and shrink value, something that helps filling our
+ lines. We only have zero, two and three (and not the \PDFTEX\ value of two):
+ three means \quote {only glyphs} and two means \quote {font kerns and
+ glyphs}.
+\stopitem
+\stopitemize
+
+In \LUAMETATEX\ we also have:
+
+\startitemize
+\startitem
+ \typ {\linebreakcriterion}: The normal distinction between loose, decent and
+ tight in \TEX\ uses 12 for 0.5 and 99 for about 1.0, but because we have more
+ granularity (.25) we can set four values instead. The default of zero (\type
+ {"0C0C0C63}) then becomes \type {"020C2A63}. When set that way the default
+ \typ {\adjdemerits} has to be halved 5000 so that we compare the more
+ granular distances. Don't worry if you \quote {don't get it}, hardly any user
+ will change these values. One can think of the 100 squared becomes a 10000
+ (at least this helps relating these numbers) and 10000 is pretty bad in \TEX s
+ perception.
+\stopitem
+\startitem
+ \type {\adjustspacingstep}: When set this one is are used instead of the font
+ bound value which permits local control without defining a new font instance.
+\stopitem
+\startitem
+ \type {\adjustspacingstretch}: idem.
+\stopitem
+\startitem
+ \type {\adjustspacingshrink}: idem.
+\stopitem
+% \startitem
+% \type {\extrahyphenpenalty}:
+% \stopitem
+\startitem
+ \type {\orphanpenalty}: This penalty will be injected before the last word of a paragraph.
+\stopitem
+\startitem
+ \type {\orphanpenalties}: Alternatively a series of penalties can be defined.
+ This primitive expects a count followed by that number of penalties. These
+ will be injected starting from the end.
+\stopitem
+\stopitemize
+
+The shape of a paragraph is determined by \typ {\hangindent}, \type {\hangafter},
+\typ {\parshape} and \typ {\parindent}. The width is controlled by \typ {\hsize},
+\typ {\leftskip}, \typ {\rightskip}. In addition there are \typ
+{\parinitleftskip}, \typ {\parinitrightskip}, \typ {\parfillleftskip} and \typ
+{\parfillrightskip} that control first and last lines.
+
+We also have these:
+
+\startitemize
+\startitem
+ \type {\linebreakpasses}: When set to one, the currently set \type {\parpasses}
+ will be applied.
+\stopitem
+\startitem
+ \type {\parpasses}: This primitive defined a set of sub passes that kick in
+ when the second pass is finished. This basically opens up the par builder. It
+ is still experimental and will be improved based upon user feedback. Although
+ it is a side effect of improving the breaking of extensive mixes of math and
+ text, it is also quite useful for text only (think novels).
+\stopitem
+\stopitemize
+
+In the next sections we will explain how these can improve the look and feel of
+what you typeset.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Subpasses]
+
+In \LUATEX\ and therefore also in \LUAMETATEX\ a paragraph is constructed in steps:
+
+\startitemize
+\startitem
+ The list of nodes that makes the paragraph is hyphenated: words become a
+ mixture of glyphs and discretionaries.
+\stopitem
+\startitem
+ That list is processed by a font handler that can remove, add or change glyphs
+ depending on how glyphs interact. This depends on the language and scripts used.
+\stopitem
+\startitem
+ The result is fed into the parbuilder that applies upto three passes as mentioned
+ before.
+\stopitem
+\stopitemize
+
+In traditional \TEX\ these three actions are combined into one and the overhead
+is shared. In the split case the processing time gets distributed and in practice
+the last action is not the one that takes most time. This is why the mechanism
+that we discuss next has little impact on the run: calling the par builder a few
+times more seldom results in more runtime. This is why in we support so called
+sub passes between the second and third one.
+
+Here is an example of a setup. We set a low tolerance for the first pass and second
+pass. We can do that because we don't need to play safe nor need to compromise.
+
+\starttyping
+\pretolerance 75
+\tolerance 150
+\parpasses 3
+ threshold 0.025pt
+ classes \indecentparpassclasses
+ tolerance 150
+ next
+ threshold 0.025pt
+ classes \indecentparpassclasses
+ tolerance 200
+ emergencystretch .25\bodyfontsize
+ next
+ threshold 0.025pt
+ classes \indecentparpassclasses
+ tolerance 200
+ optional 1
+ emergencystretch .5\bodyfontsize
+\relax
+\linebreakpasses 1
+\stoptyping
+
+Because we want to retain performance we need to test efficiently if we really
+need the (here upto three) additional passes, so let's see how it is done. When a
+pass list is defined, and line break passes are enabled, the engine will check {\em after}
+the second pass if some more work is needed. For that it will do a quick analysis and
+calculate four values:
+
+\startitemize[packed]
+\startitem overflow : the maximum value found, this is something really bad. \stopitem
+\startitem underflow : the maximum value found, this is something we can live with. \stopitem
+\startitem verdict : what is the worst badness of lines in this paragraph. \stopitem
+\startitem classified : what classes are assigned to lines, think looseness, decent and tight. \stopitem
+\stopitemize
+
+There are two cases where the engine will continue with the applying passes:
+there is an overflow or there is a verdict (max badness) larger than zero. When we
+tested this on some large documents we noticed that this is nearly always true,
+but by checking we save a few unnecessary passes.
+
+Next we test if a pass is really needed, and if not we check the next pass. When
+a pass is done, we pick up where we left, but we test for the overflow or badness
+every sub pass. The next checks make us run a pass:
+
+\startitemize[packed]
+\startitem overfull exceeds threshold \stopitem
+\startitem verdict exceeds badness \stopitem
+\startitem classified overlaps classes \stopitem
+\stopitemize
+
+Here \typ {threshold}, \typ {badness} and \typ {classes} are options in a pass
+section. Which test makes sense depends a bit on how \TEX\ sees the result.
+Internally \TEX\ uses numbers for its classification (0..5) but we map that onto
+a bitset because we want an overview:
+
+\starttabulate[|r|l|c|c|c|c|]
+\NC \NC \BC indecent \BC almostdecent \BC loose \BC tight \NC \NR
+\NC 1 \BC veryloose \NC + \NC + \NC + \NC \NC \NR
+\NC 2 \BC loose \NC + \NC + \NC + \NC \NC \NR
+\NC 4 \BC semiloose \NC + \NC \NC + \NC \NC \NR
+\NC 8 \BC decent \NC \NC \NC \NC \NC \NR
+\NC 16 \BC semitight \NC + \NC \NC \NC + \NC \NR
+\NC 32 \BC tight \NC + \NC + \NC \NC + \NC \NR
+\stoptabulate
+
+The semiloose and semitight values are something \LUAMETATEX. In \CONTEXT\ we
+have these four variants predefined as \typ {\indecentparpassclasses} and such.
+
+The sections in a par pass setup are separated by \type {next}. For testing
+purposes you can add \type {skip} and \type {quit}. The \type {threshold} tests
+against the overfull value, the \type {badness} against the verdict and \type
+{classes} checks for overlap with encountered classes, the classification.
+
+You can specify an \typ {identifier} in the first segment that then will be used
+in tracing but it is also passed to callbacks that relate to this feature.
+Discussing these callback is outside the scope fo this wrapup.
+
+You need to keep in mind that parameters are not reset to their original values
+between two subpasses of a paragraph.
+We have \typ {tolerance} and \typ {emergencystretch} which are handy for simple
+setups. When we start with a small tolerance we often need to bump that one. The
+stretch is likely a last resort. The usual demerits can be set too: \typ
+{doublehyphendemerits}, \typ {finalhyphendemerits} and \typ {adjdemerits}. We
+have \typ {extrahyphenpenalty} that gets added to the penalty in a discretionary.
+You can also set \typ {linepenalty} to a different value than it normally gets.
+
+The \typ {looseness} can be set but keep in mind that this only makes sense in
+very special cases. It's hard to be loose when there is not much stretch or shrink
+available. The \typ {linebreakcriterion} parameter can best be left untouched and is
+mostly there for testing purposes.
+
+The \LUAMETATEX\ specific \typ {orphanpenalty} gets injected before the last word
+in a paragraph. High values can lead to overfull boxes but when used in text that
+hyphenate well or with languages that have short words it might work out well.
+
+The next four parameters are related to expansion: \typ {adjustspacing}, \typ
+{adjustspacingstep}, \typ {adjustspacingshrink} and \typ {adjustspacingstretch}.
+Here we have several scenarios.
+
+\startitemize
+\startitem
+ Fonts are set up for expansion (in \CONTEXT\ for instance with the quality
+ specifier). When \type {hz} is then enabled it will always kick in.
+\stopitem
+\startitem
+ When we don't enable it, the par pass can do it by setting \typ {adjustspacing} (to 3).
+\stopitem
+\startitem
+ When the other parameters are set these will overload the ones in the font,
+ but used with the factors in there, so different characters get scaled
+ differently. You can set the step to one to get more granular results.
+\stopitem
+\startitem
+ When expansion is {\em not} set on the font, setting the options in a pass will activate
+ expansion but with the factors set to 1000. This means all characters are treated equal,
+ which is less subtle.
+\stopitem
+\stopitemize
+
+When a font is not set up to use expansion, you can do something like this:
+
+\starttyping
+\parpasses 6
+ classes \indecentparpassclasses
+ threshold 0.025pt
+ tolerance 250
+ extrahyphenpenalty 50
+ orphanpenalty 5000
+ % font driven
+ next ifadjustspacing
+ threshold 0.025pt
+ classes \tightparpassclasses
+ tolerance 300
+ adjustspacing 3
+ orphanpenalty 5000
+ next ifadjustspacing
+ threshold 0.025pt
+ tolerance 350
+ adjustspacing 3
+ adjustspacingstep 1
+ adjustspacingshrink 20
+ adjustspacingstretch 40
+ orphanpenalty 5000
+ emergencystretch .25\bodyfontsize
+ % otherwise, factors 1000
+ next
+ threshold 0.025pt
+ classes \tightparpassclasses
+ tolerance 300
+ adjustspacing 3
+ adjustspacingstep 1
+ adjustspacingshrink 10
+ adjustspacingstretch 15
+ orphanpenalty 5000
+ next
+ threshold 0.025pt
+ tolerance 350
+ adjustspacing 3
+ adjustspacingstep 1
+ adjustspacingshrink 20
+ adjustspacingstretch 40
+ orphanpenalty 5000
+ emergencystretch .25\bodyfontsize
+ % whatever
+ next
+ threshold 0.025pt
+ tolerance 3000
+ orphanpenalty 5000
+ emergencystretch .25\bodyfontsize
+\relax
+\stoptyping
+
+With \typ {ifadjustspacing} you ignore steps that expect the font to be setup, so
+you don't waste time if that is not the case.
+
+There is also a \typ {callback} parameter but that one is experimental and used
+for special purposes and testing. We don't expect users to mess with that.
+
+A really special feature is optional content. Here we use as example a quote from
+Digital Typography:
+
+\starttyping[paragraph=yes,align=flushleft]
+Many readers will skim over formulas on their first reading
+of your exposition. Therefore, your sentences should flow
+smoothly when all but the simplest formulas are replaced by
+\quotation {blah} or some other \optionalword {1} {grunting }noise.
+\stoptyping
+
+Here the \type {grunting} (with embedded space) is considered optional. When you
+set \typ {\linebreakoptional} to~1 this word will be typeset. However, when you
+set the pass parameter \typ {linebreakoptional} to~0 it will be skipped. There
+can be multiple optional words with different numbers. The numbers are actually
+bits in a bit set so plenty is possible. However, normally these two values are
+enough, if used at all.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Definitions]
+
+The description above is rather low level and in practice users will use a bit
+higher level interface. Also, in practice only a subset of the parameters makes
+sense in general usage. It is not that easy to decide on what parameter subset
+will work out well but it can be fun to play with variants. After all, this is
+also what \TEX\ is about: look, feel and fun.
+
+Some users praise the ability of recent \TEX\ engines to provide expansion and
+protrusion. This feature is a bit demanding because not only does it add to
+runtime (although in \LUAMETATEX\ that normally can be neglected), it also makes
+the output files larger. Some find it hard to admit, but it even can result in
+bad looking documents when applied with extremes.
+
+The traditional (\MKIV) way to set up expansion is to add this to the top of the
+document, or at least before fonts get loaded.
+
+\startbuffer[pass-a]
+\definefontfeature
+ [default]
+ [default]
+ [expansion=quality,protrusion=quality]
+\stopbuffer
+
+\typebuffer[a]
+
+and later on to enable it with:
+
+\starttyping
+\setupalign[hz]
+\stoptyping
+
+However, par passes make it possible to be more selective. Take the following two
+definitions:
+
+\startbuffer[pass-b]
+\startsetups align:pass:quality:1
+ \pretolerance 50
+ \tolerance 150
+ \parpasses 6
+ identifier \parpassidentifier{quality:1}
+ threshold 0.025pt
+ tolerance 175
+ next
+ threshold 0.025pt
+ tolerance 200
+ next
+ threshold 0.025pt
+ tolerance 250
+ next
+ classes \almostdecentparpassclasses
+ tolerance 300
+ emergencystretch .25\bodyfontsize
+ next ifadjustspacing
+ classes \indecentparpassclasses
+ tolerance 300
+ adjustspacing 3
+ emergencystretch .25\bodyfontsize
+ next
+ threshold 0.025pt
+ tolerance 3000
+ emergencystretch 2\bodyfontsize
+ \relax
+\stopsetups
+
+\startsetups align:pass:quality:2
+ \pretolerance 50
+ \tolerance 150
+ \parpasses 5
+ identifier \parpassidentifier{quality:2}
+ threshold 0.025pt
+ tolerance 175
+ next
+ threshold 0.025pt
+ tolerance 200
+ next
+ threshold 0.025pt
+ tolerance 250
+ next ifadjustspacing
+ classes \indecentparpassclasses
+ tolerance 300
+ adjustspacing 3
+ emergencystretch .25\bodyfontsize
+ next
+ threshold 0.025pt
+ tolerance 3000
+ emergencystretch 2\bodyfontsize
+ \relax
+\stopsetups
+\stopbuffer
+
+\typebuffer[pass-b]
+
+You can now enable one of these:
+
+\starttyping
+\setupalignpass[quality:1]
+\stoptyping
+
+\startbuffer[pass-c]
+\starttext
+ \showmakeup[expansion,space]
+ \startTEXpage[offset=1ts]
+ \startcombination[3*3]
+ {\vtop{\hsize 8cm\setupalignpass[none] \samplefile{tufte}}} {none}
+ {\vtop{\hsize 9cm\setupalignpass[none] \samplefile{tufte}}} {none}
+ {\vtop{\hsize12cm\setupalignpass[none] \samplefile{tufte}}} {none}
+ {\vtop{\hsize 8cm\setupalignpass[quality:1]\samplefile{tufte}}} {quality:1}
+ {\vtop{\hsize 9cm\setupalignpass[quality:1]\samplefile{tufte}}} {quality:1}
+ {\vtop{\hsize12cm\setupalignpass[quality:1]\samplefile{tufte}}} {quality:1}
+ {\vtop{\hsize 8cm\setupalignpass[quality:2]\samplefile{tufte}}} {quality:2}
+ {\vtop{\hsize 9cm\setupalignpass[quality:2]\samplefile{tufte}}} {quality:2}
+ {\vtop{\hsize12cm\setupalignpass[quality:2]\samplefile{tufte}}} {quality:2}
+ \stopcombination
+ \stopTEXpage
+\stoptext
+\stopbuffer
+
+The result is shown in \in {figure} [fig:passes:expansion] where you can see that
+expansion is applied selectively; you have to zoom in to see where.
+
+\startplacefigure[location=page,reference=fig:passes:expansion,title={Two different passes applied to \type {tufte.tex}.}]
+ \typesetbuffer[pass-a,pass-b,pass-c][width=\textwidth]
+\stopplacefigure
+
+\stopsectionlevel
+
+\startsectionlevel[title=Tracing]
+
+There are several ways to see what goes on. The engine has a tracing option that
+is set with \type {\tracingpasses}. Setting it to \type {1} reports the passes on
+the console, and a value of \type {2} also gives some details.
+
+There is a also a tracker, \type {paragraphs.passes} that can be enabled. This gives
+a bit more information:
+
+\starttyping
+\enabletrackers[paragraphs.passes]
+\enabletrackers[paragraphs.passes=summary]
+\enabletrackers[paragraphs.passes=details]
+\stoptyping
+
+If you want to see where expansion kicks in, you can use:
+
+\starttyping
+\showmakeup[expansion]
+\stoptyping
+
+This is just one of the options, \type {spaces}, \type {penalties}, \type {glue}
+are are useful when you play with passes, but if you are really into the low level
+details, this is what you want:
+
+\startbuffer
+\startnarrower[5*right]
+\startshowbreakpoints[option=margin,offset=\dimexpr{.5\emwidth-\rightskip}]
+\samplefile{tufte}
+\stopshowbreakpoints
+\stopnarrower
+\stopbuffer
+
+\typebuffer \getbuffer
+
+You can see the chosen solutions with
+
+\startbuffer
+\showbreakpoints[n=1]
+\stopbuffer
+
+\typebuffer \getbuffer
+
+When we started playing with the par builder in the perspective of
+math, we side tracked and ended up with a feature that can ge used
+in controlled situations. Currently we only have a low level
+\CONTEXT\ interface for this (see \in {figure} [fig:passes:lousiness]).
+
+\startbuffer[lousiness]
+ \startTEXpage[offset=1ts]
+ \startcombination[3*1]
+ \bgroup \vtop\bgroup
+ \hsize8cm
+ \setupalign[verytolerant]
+ \tracinglousiness 1
+ \lousiness 0
+ \samplefile{ward}
+ \egroup \egroup
+ {\type {\tracinglousiness 1}
+ \type {\lousiness 0}}
+ \bgroup \vtop\bgroup
+ \hsize8cm
+ \setupalign[verytolerant]
+ \lousiness 1 11 0
+ \samplefile{ward}
+ \egroup \egroup
+ {\type {\lousiness 1 11 0}}
+ \bgroup \vtop\bgroup
+ \hsize8cm
+ \setupalign[verytolerant]
+ \silliness 11
+ \samplefile{ward}
+ \egroup \egroup
+ {\type {\silliness 11}}
+ \stopcombination
+\stopTEXpage
+\stopbuffer
+
+\startplacefigure[location=here,reference=fig:passes:lousiness,title={Influencing the way \TEX\ breaks lines applied to \type {ward.tex}.}]
+ \typesetbuffer[lousiness][width=\textwidth]
+\stopplacefigure
+
+\stopsectionlevel
+
+\startsectionlevel[title=Criterion]
+
+The \type {granular} alignment option will configure the linebreakcriterion to
+work with $0.25$ steps instead of $0.50$ steps which means that successive lines
+can become a bit closer in spacing. There is no real impact on performance
+because testing happens anyway. In \in {figure}[fig:criterion] you see some
+examples, where in some it indeed makes a difference.
+
+\startbuffer[criterion]
+\starttext
+\definecolor[ttest][a=1,t=.5]
+\definecolor[rtest][a=1,t=.5,r=1]
+\dostepwiserecurse{80}{120}{1}{
+ \startTEXpage[offset=1ts]
+ \startcombination[3*1]
+ {\startoverlay
+ {\vtop{\showmakeup[space]\hsize #1mm\ttest \samplefile{tufte}}}
+ {\vtop{\showmakeup[space]\hsize #1mm\rtest \setupalign[granular]\samplefile{tufte}}}
+ \stopoverlay} {}
+ {\vtop{\showmakeup[space]\hsize #1mm\ttest \samplefile{tufte}}} {}
+ {\vtop{\showmakeup[space]\hsize #1mm\rtest \setupalign[granular]\samplefile{tufte}}} {}
+ \stopcombination
+ \stopTEXpage
+}
+\stoptext
+\stopbuffer
+
+\startplacefigure[location=here,reference=fig:criterion,title={More granular interline criteria.}]
+ \startcombination[1*4]
+ {\typesetbuffer[criterion][width=\textwidth,page=35]} {}
+ {\typesetbuffer[criterion][width=\textwidth,page=36]} {}
+ {\typesetbuffer[criterion][width=\textwidth,page=37]} {}
+ {\typesetbuffer[criterion][width=\textwidth,page=38]} {}
+ \stopcombination
+\stopplacefigure
+
+\stopsectionlevel
+
+\startsectionlevel[title=Examples]
+
+\start \em
+
+ The \CONTEXT\ distribution comes with a few test setups: \typ
+ {spac-imp-tests.mkxl}. Once we have found a suitable set of values and sample
+ texts we might discuss them here.
+
+ Currently we provide the following predefined passes that you can enable with
+ \typ {\setupalignpass}: \type {decent}, \type {quality}, \type {test1}, \type
+ {test2}, \type {test3}, \type {test4}, \type {test5}. We hope that users are
+ willing to test these.
+
+\stop
+
+\stopsectionlevel
+
+\startsectionlevel[title=Pages]
+
+While the par builder does multiple passes, the page builder is a single pass
+progressive routine. Every time something gets added to the (so called) main
+vertical list the page state gets updated and when the page overflows what has
+been collected gets passed to the output routine. It is to a large extend driven
+by glue (with stretch and shrink) and penalties and when content (boxes) is added
+the process is somewhat complicated by inserts as these needs to be taken into
+account too.
+
+You can get pages that run from top to bottom by adding stretch between lines but
+by default in \CONTEXT\ we prefer to fill up the bottom with white space.
+
+It can be hard to make decisions at the \TEX\ end around a potential page break
+because in order to get an idea how much space is left, one needs to trigger the
+page builder which can have side effects.
+
+Penalties play an important role and because these are used to control for
+instance widows and clubs high values can lead to underfull pages so if we want
+to influence that we need to cheat. For this we have three experimental
+mechanisms:
+
+\startitemize[packed]
+\startitem tweaking the page goal: \type {\pageextragoal} \stopitem
+\startitem initializing the state quantities: \type {\initialpageskip} \stopitem
+\startitem adapting the state quantities as we go: \type {\additionalpageskip} \stopitem
+\stopitemize
+
+The first tweak is for me to play with, and when a widow or club is seen the
+extra amount can kick in. This feature is likely to be replaced by a more
+configurable one.
+
+The second tweak lets the empty page start out with some given height, stretch
+and shrink. This variable is persistent over pages. This is not true for the
+third tweak: it kicks in when the page gets initialized {\em or} as we go, but
+after it has been applied the value is reset. That makes it a feature like \type
+{\looseness}. We could combine these into one (because one can set up a
+persistent one in the macro package at well defined spots) but having an initial
+one also nicely can compensate the usual topskip glue hackery with a more natural
+control option.
+
+\startbuffer[pagelooseness-1]
+\starttext
+ \showframe[text]
+ \setuplayout[width=middle,headerdistance=5mm]
+ \setupalign[vertical,height]
+ \dorecurse{10}{
+ \samplefile{tufte}\par
+ \setpagelooseness[lines=2]%
+ \dorecurse{5}{
+ {\red \samplefile{knuth}}\par
+ {\green \samplefile {ward}}\par
+ {\blue \samplefile{davis}}\par
+ }
+ \page
+ }
+\stoptext
+\stopbuffer
+
+\startbuffer[pagelooseness-2]
+\starttext
+ \showframe[text]
+ \setuplayout[width=middle,headerdistance=5mm]
+ \setupalign[vertical,height]
+ \dorecurse{10}{
+ \samplefile{tufte}\par
+ \setpagelooseness[-3]%
+ \dorecurse{5}{
+ {\red \samplefile{knuth}}\par
+ {\green \samplefile {ward}}\par
+ {\blue \samplefile{davis}}\par
+ }
+ \page
+ }
+\stoptext
+\stopbuffer
+
+Adapting the layout (within the regular text area) is done with \typ
+{\setpagelooseness} an demonstrated in \in {figure} [fig:pagelooseness-1] and \in
+{figure} [fig:pagelooseness-2]. Possible parameters are \type {lines}, \type
+{height}, \type {stretch} and \type {shrink}. You can also directly specify the
+number of lines. The other two features are not (yet) interfaced.
+
+\startplacefigure[location=here,reference=fig:pagelooseness-1,title={Cheating with page dimensions: \type {[lines=2]}.}]
+ \startcombination[4*1]
+ {\typesetbuffer[pagelooseness-1][width=\combinationwidth,page=1,frame=on]} {}
+ {\typesetbuffer[pagelooseness-1][width=\combinationwidth,page=2,frame=on]} {}
+ {\typesetbuffer[pagelooseness-1][width=\combinationwidth,page=3,frame=on]} {}
+ {\typesetbuffer[pagelooseness-1][width=\combinationwidth,page=4,frame=on]} {}
+ \stopcombination
+\stopplacefigure
+
+\startplacefigure[location=here,reference=fig:pagelooseness-2,title={Cheating with page dimensions: \type {[-3]}.}]
+ \startcombination[4*1]
+ {\typesetbuffer[pagelooseness-2][width=\combinationwidth,page=1,frame=on]} {}
+ {\typesetbuffer[pagelooseness-2][width=\combinationwidth,page=2,frame=on]} {}
+ {\typesetbuffer[pagelooseness-2][width=\combinationwidth,page=3,frame=on]} {}
+ {\typesetbuffer[pagelooseness-2][width=\combinationwidth,page=4,frame=on]} {}
+ \stopcombination
+\stopplacefigure
+
+It is not that trivial to fulfill the wide range of user demands but over time
+the \typ {\setupalign} commands has gotten plenty of features. Getting for
+instance windows and clubs right in the kind of mixed usage that is common in
+\CONTEXT\ is not always easy. One can experiment with scenarios (also to get some
+understanding of matters) but none is probably perfect (unless one does something
+close to manual tweaking). There is also the butterfly effect: a change here
+might trigger na issue there.
+
+The examples in \in {figure} [fig:vz-1], \in [fig:vz-2] and \in [fig:vz-3] scale
+vertically in order ti fill up the text area; the \type {vz} parameter is set
+with \typ {setuplayout}. In the example the widow and club penalties are set to
+$10000$. In these examples we have enabled the \typ {layout.vz} trackers that
+shows a small black rule indicating the amount of stretch.
+
+\startbuffer[vz-1]
+\starttext
+ \showframe[text]
+ \enabletrackers[layout.vz]
+ \setuplayout[width=middle,headerdistance=5mm,vz=no]
+ \clubpenalty 10000
+ \widowpenalty 10000
+ \dostepwiserecurse{0}{30}{1}{
+ \dorecurse{#1}{\strut dummy line ##1\par}
+ \dorecurse{4}{\samplefile{tufte}\par}
+ }
+\stoptext
+\stopbuffer
+
+\startbuffer[vz-2]
+\starttext
+ \showframe[text]
+ \enabletrackers[layout.vz]
+ \setuplayout[width=middle,headerdistance=5mm,vz=yes]
+ \clubpenalty 10000
+ \widowpenalty 10000
+ \dostepwiserecurse{0}{30}{1}{
+ \dorecurse{#1}{\strut dummy line ##1\par}
+ \dorecurse{4}{\samplefile{tufte}\par}
+ }
+\stoptext
+\stopbuffer
+
+\startbuffer[vz-3]
+\starttext
+ \showframe[text]
+ \enabletrackers[layout.vz]
+ \setuplayout[width=middle,headerdistance=5mm,vz=2]
+ \clubpenalty 10000
+ \widowpenalty 10000
+ \dostepwiserecurse{0}{30}{1}{
+ \dorecurse{#1}{\strut dummy line ##1\par}
+ \dorecurse{4}{\samplefile{tufte}\par}
+ }
+\stoptext
+\stopbuffer
+
+\startplacefigure[location=here,reference=fig:vz-1,title={Cheating with vertical expansion: \type {[vz=no]}.}]
+ \startcombination[4*1]
+ {\typesetbuffer[vz-1][width=\combinationwidth,page=1,frame=on]} {}
+ {\typesetbuffer[vz-1][width=\combinationwidth,page=2,frame=on]} {}
+ {\typesetbuffer[vz-1][width=\combinationwidth,page=3,frame=on]} {}
+ {\typesetbuffer[vz-1][width=\combinationwidth,page=4,frame=on]} {}
+ \stopcombination
+\stopplacefigure
+
+\startplacefigure[location=here,reference=fig:vz-2,title={Cheating with vertical expansion: \type {[vz=yes]}.}]
+ \startcombination[4*1]
+ {\typesetbuffer[vz-2][width=\combinationwidth,page=1,frame=on]} {}
+ {\typesetbuffer[vz-2][width=\combinationwidth,page=2,frame=on]} {}
+ {\typesetbuffer[vz-2][width=\combinationwidth,page=3,frame=on]} {}
+ {\typesetbuffer[vz-2][width=\combinationwidth,page=4,frame=on]} {}
+ \stopcombination
+\stopplacefigure
+
+\startplacefigure[location=here,reference=fig:vz-3,title={Cheating with vertical expansion: \type {[vz=2]}.}]
+ \startcombination[4*1]
+ {\typesetbuffer[vz-3][width=\combinationwidth,page=1,frame=on]} {}
+ {\typesetbuffer[vz-3][width=\combinationwidth,page=2,frame=on]} {}
+ {\typesetbuffer[vz-3][width=\combinationwidth,page=3,frame=on]} {}
+ {\typesetbuffer[vz-3][width=\combinationwidth,page=4,frame=on]} {}
+ \stopcombination
+\stopplacefigure
+
+There are a few other tweaks but these one can wonder about these. We can add
+stretch and shrink to the baseline skip, something that can also be triggered
+with the \quote {spread} option to \typ {\setupalign}, assuming that also \typ
+{height} is given). An alternative is to permit an extra line and accept a visual
+overflow, assuming that the layout is set up to make sure that the footer line
+doesn't overlap. None of this guarantees that a whole document with plenty of
+graphics and special constructs will come out well, but for text only it might
+work okay. \in {Figures} [fig:extra-1], \in [fig:extra-2] and \in [fig:extra-3]
+show some of this.
+
+\startbuffer[extra-1]
+\starttext
+ \showframe[text]
+ \setuplayout[width=middle,headerdistance=15mm,vz=no]
+ \setupalign[height]
+ \clubpenalty 10000
+ \widowpenalty 10000
+ \dorecurse{10}{
+ \samplefile{tufte}\par
+ \samplefile{knuth}\par
+ \samplefile{ward}\par
+ \samplefile{davis}\par
+ }
+\stoptext
+\stopbuffer
+
+\startbuffer[extra-2]
+\starttext
+ \showframe[text]
+ \setuplayout[width=middle,headerdistance=15mm,vz=no]
+ \setupalign[height]
+ \clubpenalty 10000
+ \widowpenalty 10000
+ \baselineskip 1\baselineskip plus 1pt minus .1pt
+ \dorecurse{10}{
+ \samplefile{tufte}\par
+ \samplefile{knuth}\par
+ \samplefile{ward}\par
+ \samplefile{davis}\par
+ }
+\stoptext
+\stopbuffer
+
+\startbuffer[extra-3]
+\starttext
+ \showframe[text]
+ \setuplayout[width=middle,headerdistance=15mm,vz=no]
+ \setupalign[height]
+ \clubpenalty 10000
+ \widowpenalty 10000
+ \pageextragoal1\lineheight
+ \dorecurse{10}{
+ \samplefile{tufte}\par
+ \samplefile{knuth}\par
+ \samplefile{ward}\par
+ \samplefile{davis}\par
+ }
+\stoptext
+\stopbuffer
+
+\page
+
+\startplacefigure[location=here,reference=fig:extra-1,title={Cheating: just high penalties.}]
+ \startcombination[4*2]
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=1,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=2,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=3,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=4,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=5,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=6,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=7,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-1][width=\combinationwidth,page=8,frame=on]}} {}
+ \stopcombination
+\stopplacefigure
+
+\startplacefigure[location=here,reference=fig:extra-2,title={Cheating: \typ {\baselineskip 1\baselineskip plus 1pt minus .1pt}.}]
+ \startcombination[4*2]
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=1,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=2,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=3,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=4,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=5,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=6,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=7,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-2][width=\combinationwidth,page=8,frame=on]}} {}
+ \stopcombination
+\stopplacefigure
+
+\startplacefigure[location=here,reference=fig:extra-3,title={Cheating: \typ {\pageextragoal \lineheight}.}]
+ \startcombination[4*2]
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=1,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=2,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=3,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=4,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=5,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=6,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=7,frame=on]}} {}
+ {\clip[ny=12,sy=1,y=10]{\typesetbuffer[extra-3][width=\combinationwidth,page=8,frame=on]}} {}
+ \stopcombination
+\stopplacefigure
+
+\stopsectionlevel
+
+\startsectionlevel[title=Profiles]
+
+You can have a paragraph with lines that exceed the maximum height and/or depth
+or where spaces end up in a way that create so called rivers. Rivers are more a
+curiosity than an annoyance because any attempt to avoid them is likely to result
+in a worse looking result. The unequal line distances can be annoying too but
+these can be avoided when bringing lines closer together doesn't lead to clashes.
+This can be done without reformatting the paragraph by passing the \type
+{profile} option to \typ {\setupalign}. It comes at the cost of a little more
+runtime and (as far as we observed) it kicks in seldom, for instance when inline
+math is used that has super- or subscripts, radicals, fractions or other slightly
+higher constructs.
+
+\stopsectionlevel
+
+\page % colofon after flushed page float
+
+\stopdocument
+
+% \showmakeup[glue]
+
+% \startsetups align:pass:whatever
+% \pretolerance 75
+% \tolerance 150
+% \parpasses 3
+% threshold 0.025pt
+% classes \indecentparpassclasses
+% tolerance 150
+% next
+% threshold 0.025pt
+% classes \indecentparpassclasses
+% tolerance 200
+% emergencystretch .25\bodyfontsize
+% next
+% threshold 0.025pt
+% classes \indecentparpassclasses
+% tolerance 200
+% optional 1
+% emergencystretch .5\bodyfontsize
+% \relax
+% \linebreakpasses\plusone
+% \stopsetups
+
+
+% \dostepwiserecurse{80}{120}{2} {
+% \start
+% \hsize#1mm \getbuffer \getbuffer \blank
+% \hsize#1mm \setupalignpass[whatever] \getbuffer \getbuffer \page
+% \stop
+% }
+
+% discuss the disc options options pre, post orphaned, penalties (or maybe in a new
+% lowlevel-discretionaries)
+
+% \starttext
+% \showmakeup[line]
+% % \discretionaryoptions\zerocount
+% % \discretionaryoptions\prefernobreakdiscoptioncode
+% \hsize\widthofstring{sciencefiction}
+% science\discretionary{\red fict-}{\green ion}{\blue fiction}\par
+% science\discretionary{\red f\kern0ptiction}{}{\blue fiction}\par
+% science\-fiction\par
+% science\discretionary{-}{}{\blue fiction}\par
+% \hyphenation{science-fiction}
+% sciencefiction\par
+% \stoptext
+
+% optional content example (todo: show break and nobreak keywords):
+
+% \start
+% \tttf
+% \hsize\widthofstring{short}
+% --:\par
+% \discretionaryoptions\zerocount
+% \discretionary{before}{after}{short}\par
+% \discretionary{before}{}{short}\blank
+% nb:\par
+% \discretionaryoptions\prefernobreakdiscoptioncode
+% \discretionary{before}{after}{short}\par
+% \discretionary{before}{}{short}\blank
+% br:\par
+% \discretionaryoptions\preferbreakdiscoptioncode
+% \discretionary{before}{after}{short}\par
+% \discretionary{before}{}{short}\blank
+% \stop
+
+
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-lines.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-loops.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-loops.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-loops.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -324,4 +324,95 @@
\stopsectionlevel
+\startsectionlevel[title=About quitting]
+
+You can quit a local and expanded loop at the next iteration using \typ
+{\quitloop}. With \typ {\quitloopnow} you immediately leave the loop but you
+need to beware of side effects, like not ending a condition properly. Keep in
+mind that a macro language like \TEX\ is not that friendly towards loops so the
+implementation is a bit hairy.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Simple repeaters]
+
+For simple iterations we have \typ {\localcontrolledrepeat}, \typ
+{\expandedrepeat}, \typ {\unexpandedrepeat}. These take one integer instead of
+three: the final iterator value.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Endless loops]
+
+There are three endless loop primitives: \typ {\localcontrolledendless}, \typ
+{\expandedendless}, \typ {\unexpandedendless}. These will keep running till you
+quit them. The loop counter can overflow the maximum integer value and will then
+start again at 1.
+
+\stopsectionlevel
+
+
+\startsectionlevel[title=Loop variables]
+
+The following example shows how we can access the current, parent and grand parent
+loop iterator values using a parameter like syntax:
+
+\startbuffer
+\localcontrolledloop 1 4 1 {%
+ \localcontrolledloop 1 3 1 {%
+ \localcontrolledloop 1 2 1 {%
+ \edef\foo{[#G,#P,#I]}\foo
+ \def \oof{<#G,#P,#I>}\oof
+ (#G,#P,#I)\space
+ }
+ \par
+ }
+}
+\stopbuffer
+
+\typebuffer \startpacked\getbuffer\stoppacked
+
+Another way to access a(ny) parent is:
+
+\starttyping
+\localcontrolledloop 1 4 1 {%
+ \localcontrolledloop 1 3 1 {%
+ \localcontrolledloop 1 2 1 {%
+ (\the\previousloopiterator2,%
+ \the\previousloopiterator1,%
+ \the\currentloopiterator)
+ }
+ \par
+ }
+}
+\stoptyping
+
+These methods make that one doesn't have to store the outer loop variables for
+usage inside the inner loop. Watch out with the \type {\edef}:
+
+\startbuffer
+\edef\foo{[#G,#P,#I]}
+\def \oof{<#G,#P,#I>}
+
+\localcontrolledloop 1 4 1 {%
+ \localcontrolledloop 1 3 1 {%
+ \localcontrolledloop 1 2 1 {%
+ %
+ % I iterator \currentloopiterator
+ % P parent \previousloopiterator1
+ % G grandparent \previousloopiterator2
+ %
+ \edef\ofo{[#G,#P,#I]}%
+ \foo\oof\ofo(#G,#P,#I)\space
+ %
+ }
+ \par
+ }
+}
+\stopbuffer
+
+\typebuffer \startpacked\getbuffer\stoppacked
+
+\stopsectionlevel
+
\stopdocument
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-macros.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-macros.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-macros.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -11,10 +11,10 @@
% released \quotation {Versions of the Truth} which again a magnificent drumming by
% Gavin Harrison.
-
% \permanent\tolerant\protected\def\xx[#1]#*#;[#2]#:#3% loops .. todo
\usemodule[system-tokens]
+\usemodule[system-syntax]
\environment lowlevel-style
@@ -991,6 +991,522 @@
\stopsectionlevel
+\startsectionlevel[title=Passing parameters]
+
+When you define a macro, the \type {#1} and more parameters are embedded as a
+reference to a parameter that is passed. When we have four parameters, the
+parameter stack has four entries and when an entry is eventually accessed a new
+input level is pushed and tokens are fetched from that list. This has some side
+effects when we check a parameter. This can happen multiple times, depending on
+how often we access a parameter. Take the following:
+
+\startbuffer
+\def\oof#1{#1}
+
+\tolerant\def\foo[#1]#*[#2]%
+ {1:\ifparameter#1\or Y\else N\fi\quad
+ 2:\ifparameter#2\or Y\else N\fi\quad
+ \oof{3:\ifparameter #1\or Y\else N\fi\quad
+ 4:\ifparameter #2\or Y\else N\fi\quad}%
+ \par}
+
+\foo \foo[] \foo[][] \foo[A] \foo[A][B]
+\stopbuffer
+
+\typebuffer
+
+This gives:
+
+\startpacked \tttf
+\inlinebuffer
+\stoppacked
+
+as you probably expect. However the first two checks are different from the
+embedded checks because they can check against the parameter reference. When we
+expand \type {\oof} its argument gets passed to the macro as a list and when the
+scanner collects the next token it will then push the parameter content on the
+input stack. So, then, instead of a reference we get the referenced parameter
+list. Internally that means that in 3 and 4 we check for a token and not for the
+length of the list (as in case 1 & 2). This means that
+
+\starttyping
+\iftok{#1}\emptytoks Y\else N\fi
+\ifparameter#1\or Y\else N\fi
+\stoptyping
+
+are different. In the first case we have a proper token list and nested
+conditionals in that list are okay. In the second case we just look ahead to see
+if there is an \type {\or}, \type {\else} or other condition related command and
+if so we decide that there is no parameter. So, if \type {\ifparameter} is a
+suitable check for empty depends on the need for expansion.
+
+When you define macros that themselves call macros that should operate on the
+arguments of its parent you can easily pass these:
+
+\startbuffer[test-1]
+\def\foo#1#2%
+ {\oof{#1}{#2}{P}%
+ \oof{#1}{#2}{Q}%
+ \oof{#1}{#2}{R}}
+
+\def\oof#1#2#3%
+ {[#1][#1]%
+ #3%
+ [#2][#2]}
+\stopbuffer
+
+\typebuffer[test-1]
+
+Here the nested call to \type {\oof} involved three passed parameters. You can
+avoid that as follows:
+
+\startbuffer[test-2]
+\def\foo#1#2%
+ {\def\MyIndexOne{#1}%
+ \def\MyIndexTwo{#2}%
+ \oof{P}\oof{Q}\oof{R}}
+
+\def\oof#1%
+ {(\MyIndexOne)(\MyIndexOne)%
+ #1%
+ (\MyIndexTwo)(\MyIndexTwo)}
+\stopbuffer
+
+\typebuffer[test-2]
+
+You can also do this:
+
+\startbuffer[test-3]
+\def\foo#1#2%
+ {\def\oof##1%
+ {/#1/#2/%
+ ##1%
+ /#1//#2/}%
+ \oof{P}\oof{Q}\oof{R}}
+\stopbuffer
+
+\typebuffer[test-3]
+
+These parameters indicated by \type {#} in the macro body are in fact references.
+When we call for instance \type {\foo {1}{2}} the two parameters get pushed on a
+parameter stack and the embodied references point to these stack entries. By the
+time that body gets expanded \TEX\ bumps the input level and pushes the parameter
+list onto the input stack. It then continues expansion. The parameter is not
+copied, because it can't be changed anyway. The only penalty in terms of
+performance and memory usage is the pushing and popping of the input. So how does
+that work out for these three cases?
+
+When in the first case the \type {\oof{#1}{#2}{P}} is seen, \TEX\ starts expanding
+the \type {\oof} macro. That one expects three arguments. The \type {#1} reference is
+seen and in this case a copy of that parameter is passed. The same is true for the
+other two. Then, inside \type {\oof} expansion happens on the parameters on the stack
+and no copies have to be made there.
+
+The second case defines two macros so again two copies are made that make the bodies
+of these macros. This comes at the cost of some runtime and memory. However, this
+time with \type {\oof{P}} only one argument gets passed and instead expansion of the
+macros happen in there.
+
+Normally macro arguments are not that large but there can be situations where we
+really want to avoid useless copying. This not only saves memory but also can give a
+bit better performance. In the examples above the second variant is some 10\percent
+faster than the first one. We can gain another 10\percent with the following trick:
+
+\startbuffer[test-4]
+\def\foo#1#2%
+ {\parameterdef\MyIndexOne\plusone % 1
+ \parameterdef\MyIndexTwo\plustwo % 2
+ \oof{P}\oof{Q}\oof{R}\norelax}
+
+\def\oof#1%
+ {<\MyIndexOne><\MyIndexOne>%
+ #1%
+ <\MyIndexTwo><\MyIndexTwo>}
+\stopbuffer
+
+\typebuffer[test-4]
+
+Here we define an explicit parameter reference that we access later on. There is
+the overhead of a definition but it can be neglected. We use that reference
+(abstraction) in \type {\oof}. Actually you can use that reference in any call
+down the chain.
+
+When applied to \type {\foo{1}{2}} the four variants above give us:
+
+\startpacked
+\startlines \tt
+\getbuffer[test-1]\foo{1}{2}
+\getbuffer[test-2]\foo{1}{2}
+\getbuffer[test-3]\foo{1}{2}
+\getbuffer[test-4]\foo{1}{2}
+\stoplines
+\stoppacked
+
+Before we had \type {parameterdef} we had this:
+
+\startbuffer[test-5]
+\def\foo#1#2%
+ {\integerdef\MyIndexOne\parameterindex\plusone % 1
+ \integerdef\MyIndexTwo\parameterindex\plustwo % 2
+ \oof{P}\oof{Q}\oof{R}\norelax}
+
+\def\oof#1%
+ {<\expandparameter\MyIndexOne><\expandparameter\MyIndexOne>%
+ #1%
+ <\expandparameter\MyIndexTwo><\expandparameter\MyIndexTwo>}
+\stopbuffer
+
+\typebuffer[test-5]
+
+It involves more tokens, is a bit less abstract, but as it is a cheap extension
+we kept it. It actually demonstrates that one can access parameters in the stack
+by index, but it one then needs to keep track of where access takes place. In
+principle one can debug the call chain this way.
+
+To come back to performance and memory usage, when the arguments become larger
+the fourth variant with the \type {\parameterdef} quickly gains over the others.
+But it only shows in exceptional usage. This mechanism is more about abstraction:
+it permits us to efficiently turn arguments into local variables without the
+overhead involved in creating macros.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Nesting]
+
+We also have a few preamble features that relate to nesting. Although we can do
+without (as shown for years in \LMTX) they do have some benefits. They are
+discussed as group here and because they are only useful for low level
+programming we stick to simple examples. The \type {#L} and \type {#R} use the
+following token as delimiters. Here we use \type {[} and \type {]} but they can
+be a \type {\cs} as well. Nested delimiters are handled well.
+
+The \type {#S} grabs the argument till the next final square bracket \type {]}
+but in the process will grab nested with it sees a \type {[}. The \type {#P} does
+the same for parentheses and \type {#X} for angle brackets. In the next examples
+the \type {#*} just gobbles optional spaces but we've seen that one already.
+
+The \type {#G} argument just registers the next token as delimiter but it will
+grab multiple of them. The \type {#M} gobbles more: in addition to the delimiter
+spaces are gobbled.
+
+\startbuffer
+\tolerant\def\fooA [#1]{(#1)}
+\tolerant\def\fooB [#L[#R]#1{(#1)}
+\tolerant\def\fooC #S#1{(#1)}
+\tolerant\def\fooE #S#1,{(#1)}
+\tolerant\def\fooF #S#1#*#S#2{(#1/#2)}
+\tolerant\def\fooG [#1]#S[#2]#*#S[#3]{(#1/#2/#3)}
+\tolerant\def\fooH [#1][#S#2]#*[#S#3]{(#1/#2/#3)}
+\tolerant\def\fooI #1=#2#G,{(#1=#2)}
+\tolerant\def\fooJ #1=#2#M,{(#1=#2)}
+\stopbuffer
+
+\typebuffer
+
+\getbuffer
+
+\starttabulate[|T|T|T||]
+\NC \type{\fooA [x]} \NC \fooA [x] \NC (x) \NC \NR
+\NC \type{\fooB [x]} \NC \fooB [x] \NC (x) \NC \NR
+\NC \type{\fooC [1[2]3[4]5]} \NC \fooC [1[2]3[4]5] \NC (1[2]3[4]5) \NC \NR
+\NC \type{\fooE X[,]X,} \NC \fooE X[,]X, \NC (X[,]X) \NC \NR
+\NC \type{\fooF [A] [B]} \NC \fooF [A] [B] \NC (A/B) \NC \NR
+\NC \type{\fooF [] []} \NC \fooF [] [] \NC (/) \NC \NR
+\NC \type{\fooG [a][b][c]} \NC \fooG [a][b][c] \NC (a/b/c) \NC \NR
+\NC \type{\fooG [a][b]} \NC \fooG [a][b] \NC (a/b/) \NC \NR
+\NC \type{\fooG [a]} \NC \fooG [a] \NC (a//) \NC \NR
+\NC \type{\fooG [a][x[x]x][c]} \NC \fooG [a][x[x]x][c] \NC (a/x[x]x/c) \NC \NR
+\NC \type{\fooH [a][x[x]x][c]} \NC \fooH [a][x[x]x][c] \NC (a/x[x]x/c) \NC \NR
+\NC \type{\fooI X=X,,,} \NC \fooI X=X,,, \NC (X=X) \NC \NR
+\NC \type{\fooJ X=X, , ,} \NC \fooJ X=X, , , \NC (X=X) \NC \NR
+\stoptabulate
+
+These features make it possible to support nested setups more efficiently and
+also makes it possible to accept values that contain balanced brackets in setup
+commands without additional overhead. Although it has never been an issue to let
+users specify:
+
+\starttyping
+\defineoverlay[whatever][{some \command[withparameters] here}]
+
+\setupfoo[before={\blank[big]}]
+\stoptyping
+
+it might be less confusing to permit:
+
+\starttyping
+\defineoverlay[whatever][some \command[withparameters] here]
+
+\setupfoo[before=\blank[big]]
+\stoptyping
+
+as well, if only because occasionally users get hit by this.
+
+\stopsectionlevel
+
+\startsectionlevel[title=Duplicate hashes]
+
+In \TEX\ every character has a so called category code. Most characters are
+classified as \quote {letter} (they make up words) or as \quote {other}. In
+\UNICODE\ we distinguish symbols, punctuation, and more, but in \TEX\ these are
+all of category \quote {other}. In math however we can classify them differently
+but in this perspective we ignore that. The backslash has category \quote
+{escape} and it starts a control sequence. The curly braces are (internally) of
+category \quote {left brace} and \quote {right brace} aka \quote {begin group}
+and \quote {end group} but, no matter what they are called, they begin and end
+something: a group, argument, token list, box, etc. Any character can have those
+categories. Although it would loook strange to a \TEX\ user, this can be made
+valid:
+
+\startbuffer
+!protected !gdef !weird¶1
+B
+ something: ¶1
+E
+!weird BhereE
+\stopbuffer
+
+\typebuffer
+
+In such a setup spaces can be of category \quote {invisible}. The paragraph
+symbol takes the place of the hash as parameter identifier. The next code shows
+how this is done. Here we wrap all in a macro so that we don't get catcode
+interference in the document source.
+
+\startbuffer[demo]
+\def\NotSoTeX
+ {\begingroup
+ \catcode `B \begingroupcatcode
+ \catcode `E \endgroupcatcode
+ \catcode `¶ \parametercatcode
+ \catcode `! \escapecatcode
+ \catcode 32 \ignorecatcode
+ \catcode 13 \ignorecatcode
+ % this buffer has a definition:
+ \getbuffer
+ % which is now known globally
+ \endgroup}
+\NotSoTeX
+\weird{there}
+\stopbuffer
+
+\typebuffer[demo]
+
+This results in:
+
+\startlines
+\getbuffer [demo]
+\stoplines
+
+In the first line the \type {!}, \type {B} and \type {E} are used as escape and
+argument delimiters, in the second one we use the normal characters. When we show
+the \type {\meaningasis} we get:
+
+\startlines \tt
+\meaningasis\weird
+\stoplines
+
+or in more detail:
+
+\start \tt
+\luatokentable\weird
+\stop
+
+So, no matter how we set up the system, in the end we get some generic
+representation. When we see \type {#1} in \quote {print} it can be either two
+tokens, \type {#} (catcode parameter) followed by \type {1} with catcode other,
+or one token referring to parameter \type {1} where the character \type {1} is
+the opcode of an internal \quote {reference command}. In order to distinguish a
+reference from the two token case, parameter hash tokens get shown as doubles.
+
+\start
+
+\catcode `¶=\parametercatcode
+\catcode `§=\parametercatcode
+
+\startbuffer
+\def\test #1{x#1x##1x####1x}
+\def\tset ¶1{x¶1x¶¶1x¶¶¶¶1x}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+And with \type {\meaning} we get, consistent with the input:
+
+\startlines \tt
+\meaning\test
+\meaning\tset
+\stoplines
+
+These are equivalent, apart from the parameter character in the body of the
+definition:
+
+\startlines \tt
+\luatokentable\test
+\luatokentable\tset
+\stoplines
+
+\stop
+
+Watch how every \quote {parameter} is just a character with the \UNICODE\ index
+of the used input character as property. Let us summarize the process. When a
+single parameter character is seen in the input, the next characer determines how
+it will be interpreted. If there is a digit then it becomes a reference to a
+parameter in the preamble, and when followed by another parameter character it
+will be appended to the body of the macro and that second one is dropped. So, two
+parameter characters become one, and four become two. One parameter character
+becomes a reference and from that you can guess what three in a row become.
+However, when \TEX\ is showing the macro definition (using \type {meaning}) the
+hashes get duplicated in order to distinguish parameter references from parameter
+characters that were kept (e.g.\ for nested definitions). One can make an
+argument for \type {\parameterchar} as we also have \type {\escapechar} but by
+now this convention is settled and it doesn't look that bad anyway.
+
+We now come to the more tricky part with respect to the doubling of hashes. When
+\TEX\ was written its application landscape looked a bit different. For instance,
+fonts were limited and therefore it was natural to access special characters by
+name. Using \type {\#} to get a hash in the text was not that problematic, if one
+needed that character at all. The same can be said for the braces, backslash and
+even the dollar (after all \TEX\ is free software).
+
+But what if we have more visualization and|/|or serialization than meanings and
+tracing? When we opened op the internals in \LUATEX\ and even more in
+\LUAMETATEX\ the duplicating of hashes became a bit of a problem. There we don't
+need to distinguish between a parameter reference and a parameter character
+because by that time these references are resolved. All hashes that we encounter
+are just that: hashes. And this is why in \LUAMETATEX\ we disable the duplication
+for those cases where it serves no purpose.
+
+When the engine scans a macro definition it starts with pickin g up the name of
+the macro. Then it starts scanning the preamble upto the left brace. In the
+preamble of a macro the scanner converts hashes followed by another token into
+single match token. Then when the macro body is scanned single hashes followed by
+a number become a reference, while double hashes become one hash and get
+interpreted at expansion time (possibly triggering an error when not followed by
+a valid specifier like a number). In traditional \TEX\ we basically had this:
+
+\starttyping
+\def\test#1{#1}
+\def\test#1{##}
+\def\test#1{#X}
+\def\test#1{##1}
+\stoptyping
+
+There can be a traling \type {#} in the preamble for special purposes but we
+forget about that now. The first definition is valid, the second definition is
+invalid when the macro is expanded and the third definition triggers an error at
+definition time. The last definition will again trigger an error at expansion
+time.
+
+However, in \LUAMETATEX\ we have an extended preamble where the following
+preamble parameters are handled (some only in tolerant mode):
+
+\starttabulate[|c|||]
+\NC \type{#n} \NC parameter \NC index \type{1} upto \type{E} \NC \NR
+\TB
+\NC \type{#0} \NC throw away parameter \NC increment index \NC \NR
+\NC \type{#-} \NC ignore parameter \NC keep index \NC \NR
+\TB
+\NC \type{#*} \NC gobble white space \NC \NC \NR
+\NC \type{#+} \NC keep (honor) the braces \NC \NC \NR
+\NC \type{#.} \NC ignore pars and spaces \NC \NC \NR
+\NC \type{#,} \NC push back space when no match \NC \NC \NR
+\NC \type{#/} \NC remove leading and trailing spaces and pars \NC \NC \NR
+\NC \type{#=} \NC braces are mandate \NC \NC \NR
+\NC \type{#^} \NC keep leading spaces \NC \NC \NR
+\NC \type{#_} \NC braces are mandate and kept (obey) \NC \NC \NR
+\TB
+\NC \type{#@} \NC par delimiter \NC only for internal usage \NC \NR
+\TB
+\NC \type{#:} \NC pick up scanning here \NC \NC \NR
+\NC \type{#;} \NC quit scanning \NC \NC \NR
+\TB
+\NC \type{#L} \NC left delimiter token \NC followed by token \NC \NR
+\NC \type{#R} \NC right delimiter token \NC followed by token \NC \NR
+\TB
+\NC \type{#G} \NC gobble token \NC followed by token \NC \NR
+\NC \type{#M} \NC gobble token and spaces \NC followed by token \NC \NR
+\TB
+\NC \type{#S} \NC nest square brackets \NC only inner pairs \NC \NR
+\NC \type{#X} \NC nest angle brackets \NC only inner pairs \NC \NR
+\NC \type{#P} \NC nest parentheses \NC only inner pairs \NC \NR
+\stoptabulate
+
+As mentioned these will become so called match tokens and only when we show the
+meaning the hash will show up again.
+
+\startbuffer
+\def\test[#1]#*[*S#2]{.#1.#2.}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\startlines \tt
+\luatokentable\test
+\stoplines
+
+This means that in the body of a macro you will not see \type {#*} show up. It is
+just a directive that tells the macro parser that spaces are to be skipped. The
+\type {#S} directive makes the parser for the second parameter handle nested
+square bracket. The only hash that we can see end up in the body is the one that
+we entered as double hash (then turned single) followed by (in traditional terms)
+a number that when all gets parsed with then become a reference: the sequence
+\type {##1} internally is \type {#1} and becomes \quote {reference to parameter
+1} assuming that we define a macro in that body. If no number is there, an error
+is issued. This opens up the possibility to add more variants because it will
+only break compatibility with respect to what is seen as error. As with the
+preamble extensions, old documents that have them would have crashed before they
+became available.
+
+So, this means that in the body, and actually anywhere in the document apart from
+preambles, we now support the following general parameter specifiers. Keep in
+mind that they expand in an expansion context which can be tricky when they
+overlap with preamble entries, like for instance \type {#R} in such an expansion.
+Future extensions can add more so {\em any} hashed shortcut is sensitive for
+that.
+
+\starttabulate[|l|||]
+\NC \type{#I} \NC current iterator \NC \type {\currentloopiterator} \NC \NR
+\NC \type{#P} \NC parent iterator \NC \type {\previousloopiterator 1} \NC \NR
+\NC \type{#G} \NC grandparent iterator \NC \type {\previousloopiterator 2} \NC \NR
+\TB
+\NC \type{#H} \NC hash escape \NC \type {#} \NC \NR
+\NC \type{#S} \NC space escape \NC \ruledhbox to \interwordspace{\novrule height .8\strutht} \NC \NR
+\NC \type{#T} \NC tab escape \NC \type {\t} \NC \NR
+\NC \type{#L} \NC newline escape \NC \type {\n} \NC \NR
+\NC \type{#R} \NC return escape \NC \type {\r} \NC \NR
+\NC \type{#X} \NC backslash escape \NC \tex {} \NC \NR
+\TB
+\NC \type{#N} \NC nbsp \NC \type {U+00A0} (under consideration) \NC \NR
+\NC \type{#Z} \NC zws \NC \type {U+200B} (under consideration) \NC \NR
+%NC \type{#-} \NC zwnj \NC \type {U+200C} (under consideration) \NC \NR
+%NC \type{#+} \NC zwj \NC \type {U+200D} (under consideration) \NC \NR
+%NC \type{#>} \NC l2r \NC \type {U+200E} (under consideration) \NC \NR
+%NC \type{#<} \NC r2l \NC \type {U+200F} (under consideration) \NC \NR
+\stoptabulate
+
+Some will now argue that we already have \type {^^} escapes in \TEX\ and \type
+{^^^^} and \type {^^^^^^} in \LUATEX\ and that is true. However, these can be
+disabled, and in \CONTEXT\ they are, where we instead enable the prescript,
+postscript, and index features in mathmode and there type {^} and \type {_} are
+used. Even more: in \CONTEXT\ we just let \type {^}, \type {_} and \type {&} be
+what they are. Occasionally I consider \type {$} to be just that but as I don't
+have dollars I will happily leave that for inline math. When users are not
+defining macros or are using the alternative definitions we can consider making
+the \type {#} a hash. An excellent discussion of how \TEX\ reads it's input and
+changes state accordingly can be found in Victor Eijkhouts \quotation {\TEX\ By
+Topic}, section 2.6: when \type {^^} is followed by a character with $v < 128$
+the interpreter will inject a character with code $v - 64$. When followed by two
+(!) lowercase hexadecimal characters, the corresponding character will be
+injected. Anyway, it not only looks kind of ugly, it also is somewhat weird
+because what follows is interpreted mixed way. The substitution happens early on
+(which is okay). But, how about the output? Traditional \TEX\ serializes special
+characters with a similar syntax but that has become optional when eight bit mode
+was added to the engines, it is configurable in \LUATEX\ and has been dropped in
+\LUAMETATEX: we operate in a \UTF\ universum.
+
+\stopsectionlevel
+
\stopdocument
% freezing pitfalls:
@@ -1010,3 +1526,15 @@
% \defcsname
% \edefcsname
% \letcsname
+
+% {
+% \scratchdimenone 10pt \the\currentstacksize\par
+% \scratchdimentwo 10pt \the\currentstacksize\par
+% \scratchdimenone 20pt \the\currentstacksize\par
+% \scratchdimentwo 20pt \the\currentstacksize\par
+% \scratchdimenone 10pt \the\currentstacksize\par
+% {
+% \scratchdimenone 10pt \the\currentstacksize\par
+% \scratchdimentwo 20pt \the\currentstacksize\par
+% }
+% }
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1247,7 +1247,7 @@
depth on a vertical list is registered in the \type {\prevdepth} variable. This
is basically a reference into the current list. In order to illustrate some
interesting side effects of setting this \type {\prevdepth} and especially when
-we set it to -1000pt. In order to illustrate this this special value can be set
+we set it to $\tf -1000pt$. In order to illustrate this this special value can be set
to a different value in \LUAMETATEX. However, as dealing with the property is
somewhat special in the engine you should not set it unless you know that the
macro package is ware of it.
@@ -1307,21 +1307,23 @@
\egroup
\stopbuffer
-In this example we set \type {\ignoredepthcriterium} to $\tf-50.0pt$ instead of the
+\typebuffer[example][option=TEX]
+
+In this example we set \type {\ignoredepthcriterium} to $\tf -50.0pt$ instead of the
normal $\tf -1000pt$. The helper is defined as:
-\typebuffer[option=TEX][definitions-1]
+\typebuffer[definition-1][option=TEX]
or
-\typebuffer[option=TEX][definitions-2]
+\typebuffer[definition-2][option=TEX]
-The result of the following example is shown in \in {figures} [fig:prevdepth-1]
-\in {and} [fig:prevdepth-2]. The first case is what we normally have in text and
-we haven't set \type {prevdepth} explicitly between lines so \TEX\ will just look
-at the depth of the lines. In the second case the depth is ignored when less than
-the criterium which is why, when we set the depth of the box to a negative value
-we get somewhat interesting skips.
+The result is shown in \in {figures} [fig:prevdepth-1] \in {and}
+[fig:prevdepth-2]. The first case is what we normally have in text and we haven't
+set \type {prevdepth} explicitly between lines so \TEX\ will just look at the
+depth of the lines. In the second case the depth is ignored when less than the
+criterium which is why, when we set the depth of the box to a negative value we
+get somewhat interesting skips.
\startplacefigure[reference=fig:prevdepth-1]
\showmakeup[line]
@@ -1355,6 +1357,8 @@
\egroup
\stopbuffer
+\typebuffer[example][option=TEX]
+
\startplacefigure[reference=fig:prevdepth-3]
\showmakeup[line]
\ignoredepthcriterium50pt
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-registers.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-registers.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-registers.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -282,5 +282,211 @@
\stopsectionlevel
+\startsectionlevel[title=Units]
+
+The \LUAMETATEX\ engine supports the following units. The first batch is constant
+with hard coded fine tuned values. The second set is related to the current font.
+The last group is kind of special, the \type {es} is a replacement for the \type
+{in} and has a little sister in \type {ts}. The \type {dk} is dedicated to the
+master and makes a nice offset for so called \TEX\ pages that we use for demos.
+
+\starttabulate[|Tl|Tr|l|]
+\FL
+\NC pt \NC \thewithoutunit\dimexpr1pt \NC point \NC \NR
+\NC bp \NC \thewithoutunit\dimexpr1bp \NC big point (aka postscript point) \NC \NR
+\NC in \NC \thewithoutunit\dimexpr1in \NC inch \NC \NR
+\NC cm \NC \thewithoutunit\dimexpr1cm \NC centimeter \NC \NR
+\NC mm \NC \thewithoutunit\dimexpr1mm \NC milimeter \NC \NR
+\NC dd \NC \thewithoutunit\dimexpr1dd \NC didot \NC \NR
+\NC cc \NC \thewithoutunit\dimexpr1cc \NC cicero \NC \NR
+\NC pc \NC \thewithoutunit\dimexpr1pc \NC pica \NC \NR
+\NC sp \NC \thewithoutunit\dimexpr1sp \NC scaled points \NC \NR
+\NC px \NC \thewithoutunit\dimexpr1sp \NC pixel \NC \NR
+\ML
+\NC ex \NC \thewithoutunit\dimexpr1ex \NC ex height \NC \NR
+\NC em \NC \thewithoutunit\dimexpr1em \NC em width \NC \NR
+\NC mu \NC $\tt\thewithoutunit\onemuskip$ \NC math unit \NC \NR
+\ML
+\NC ts \NC \thewithoutunit\dimexpr1ts \NC tove \NC \NR
+\NC es \NC \thewithoutunit\dimexpr1es \NC edith \NC \NR
+\NC eu \NC \thewithoutunit\dimexpr1eu \NC european unit \NC \NR
+\NC dk \NC \thewithoutunit\dimexpr1dk \NC knuth \NC \NR
+\LL
+\stoptabulate
+
+The \type {fi[lll]} unit is not really a unit but a multiplier for infinite
+stretch and shrink; original \TEX\ doesn't have the simple \type {fi}.
+
+In addition to these we can have many more. In principle a user can define
+additional ones but there's always a danger of clashing. For users we reserve the
+units starting with an \type{u}. Here is how you define your own, we show three
+variants:
+
+\startbuffer
+\newdimension \FooA \FooA 1.23pt
+\newdimen \FooB \FooB 12.3pt
+\protected\def\FooC {\the\dimexpr\FooA +\FooB\relax}
+
+\pushoverloadmode % just in case
+ \newuserunit\FooA ua
+ \newuserunit\FooB ub
+ \newuserunit\FooC uc
+\popoverloadmode
+\stopbuffer
+
+\typebuffer[option=TEX] \getbuffer
+
+And this is how they show up:
+
+\startbuffer
+\the\dimexpr 2 ua \relax\quad
+\the\dimexpr 2 ub \relax\quad
+\the\dimexpr 2 uc \relax
+\stopbuffer
+
+\getbuffer
+
+with
+
+\typebuffer[option=TEX]
+
+The following additional units are predefined (reserved). The values are in
+points and some depend on the current layout and document font.
+
+\starttabulate[|T|Tr|l|]
+\NC pi \NC \thewithoutunit\dimexpr 1pi \NC {\tt\pi} for Mikael \NC \NR
+\NC ft \NC \thewithoutunit\dimexpr 1ft \NC \type {foot} for Alan \NC \NR
+\NC fs \NC \thewithoutunit\dimexpr 1fs \NC (global body) font size \NC \NR
+\NC tw \NC \thewithoutunit\dimexpr 1tw \NC (layout) text width \NC \NR
+\NC th \NC \thewithoutunit\dimexpr 1th \NC (layout) text height \NC \NR
+\NC hs \NC \thewithoutunit\dimexpr 1hs \NC (current) hsize \NC \NR
+\NC vs \NC \thewithoutunit\dimexpr 1vs \NC (current) vsize \NC \NR
+\NC cd \NC \thewithoutunit\dimexpr 1cd \NC (when set) column distance \NC \NR % todo
+\NC cw \NC \thewithoutunit\dimexpr 1cw \NC (when set) column width \NC \NR % todo
+\NC cx \NC \thewithoutunit\dimexpr 1cx \NC combination cell width \NC \NR
+\NC uu \NC \thewithoutunit\dimexpr 1uu \NC user unit (\METAFUN) \NC \NR
+\NC fw \NC \thewithoutunit\dimexpr 1fw \NC framed width \NC \NR
+\NC fh \NC \thewithoutunit\dimexpr 1fh \NC framed height \NC \NR
+\NC fo \NC \thewithoutunit\dimexpr 1fo \NC framed offset \NC \NR
+\NC lw \NC \thewithoutunit\dimexpr 1lw \NC line width \NC \NR
+\NC sh \NC \thewithoutunit\dimexpr 1sh \NC strut height \NC \NR
+\NC sd \NC \thewithoutunit\dimexpr 1sd \NC strut depth \NC \NR
+\NC st \NC \thewithoutunit\dimexpr 1st \NC strut total \NC \NR
+\NC ch \NC \thewithoutunit\dimexpr 1ch \NC width of zero (css) \NC \NR
+\NC fa \NC \thewithoutunit\dimexpr 1fa \NC font ascender \NC \NR
+\NC fd \NC \thewithoutunit\dimexpr 1fd \NC font descender \NC \NR
+\NC fc \NC \thewithoutunit\dimexpr 1fc \NC font cap height \NC \NR
+\stoptabulate
+
+Here is an example of usage:
+
+\startbuffer
+\startcombination[nx=4,ny=1]
+ {\ruledhbox to 1cx{\strut one}} {1}
+ {\ruledhbox to 1cx{\strut two}} {2}
+ {\ruledhbox to 1cx{\strut three}} {3}
+ {\ruledhbox to 1cx{\strut four}} {4}
+\stopcombination
+\stopbuffer
+
+\usemodule[system-units]
+
+\startplacefigure[title=A map of available units,reference=fig:unitsmap]
+ \framed[offset=1ex]{\showunitsmap}
+\stopplacefigure
+
+\typebuffer[option=TEX]
+
+\startlinecorrection
+\getbuffer
+\stoplinecorrection
+
+The \type {uu} can be set by users using the \type {\uunit} dimension variable.
+The default valu sis 1cm. Its current value is also known at the \METAPOST\ end,
+as demonstrated in \in {figure} [fig:userunits].
+
+\startbuffer
+\startcombination[nx=2,ny=1]
+ \startcontent
+ \uunit=1cm
+ \framed[offset=1uu]
+ \bgroup
+ \startMPcode
+ fill fullcircle scaled 3uu withcolor "darkred" ;
+ fill fullcircle scaled 2cm withcolor "darkgreen" ;
+ \stopMPcode
+ \egroup
+ \stopcontent
+ \startcaption
+ \type {\uunit = 1cm}
+ \stopcaption
+ \startcontent
+ \uunit=1cx
+ \framed[offset=.1uu]
+ \bgroup
+ \startMPcode
+ fill fullcircle scaled .5uu withcolor "darkblue" ;
+ fill fullcircle scaled 2cm withcolor "darkyellow" ;
+ \stopMPcode
+ \egroup
+ \stopcontent
+ \startcaption
+ \type {\uunit = 1cx}
+ \stopcaption
+\stopcombination
+\stopbuffer
+
+% \framed[offset=1uu]
+% \bgroup
+% \startMPcode
+% save uu ; numeric uu ; uu := 1cm ;
+% fill fullcircle scaled 3uu withcolor "darkcyan" ;
+% fill fullcircle scaled 2cm withcolor "darkmagenta" ;
+% \stopMPcode
+% \egroup
+
+\typebuffer[option=TEX]
+
+There is one catch here. If you use your own \type {uu} as numeric, you might
+need this:
+
+\starttyping[option=MP]
+save uu ; numeric uu ; uu := 1cm ;
+\stoptyping
+
+That is: make sure the meaning is restored afterwards and explicitly declare the
+variable. But this is good practice anyway when you generate multiple graphics
+using the same \METAPOST\ instance.
+
+\startplacefigure[reference=fig:userunits,title={Shared user units in \TEX\ and \METAFUN.}]
+ \getbuffer
+\stopplacefigure
+
+There a few units not mentioned yet and those concern math, where we need to adapt to
+the current style.
+
+\protected\def\ShowMathUnits#1%
+ {\im{#1x\mathord{+
+ {\darkgray \vrule width 1pt depth 0pt height 1ex \relax}%
+ {\darkred \vrule width 1pt depth 0pt height 1ma \relax}%
+ {\darkgreen\vrule width 1pt depth 0pt height 1mx \relax}%
+ {\darkblue \vrule width 1pt depth 0pt height 1mq \relax}%
+ x}}}
+
+\startlinecorrection
+\startcombination[nx=3,ny=1]
+ {\scale[scale=6000]{\ShowMathUnits\textstyle}} {text style}
+ {\scale[scale=6000]{\ShowMathUnits\scriptstyle}} {script style}
+ {\scale[scale=6000]{\ShowMathUnits\scriptscriptstyle}} {script script style}
+\stopcombination
+\stoplinecorrection
+
+The bars show \type {1ex}, \type {1ma} (axis), \type {1mx} (ex|-|height) and
+\type {1mq} (em|-|width or quad). The last three adapt themselves to the style.
+Often the \type {mx} makes more sense than \type {ex}.
+
+\stopsectionlevel
+
+\page
+
\stopdocument
-
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-style.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-style.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/lowlevel/lowlevel-style.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -14,6 +14,7 @@
[document]
[title=No Title,
author=No Author,
+ coauthor=,
color=NoColor]
\setupbodyfont
@@ -124,7 +125,9 @@
\startsectionlevel[title=Colofon,number=no,saveinlist=no]
\starttabulate
- \NC Author \NC Hans Hagen \NC \NR
+ \NC Author \NC Hans Hagen
+ \doifdocumentvariable{coauthor}{ & \documentvariable{coauthor}}
+ \NC \NR
\NC \CONTEXT \NC \contextversion \NC \NR
\NC \LUAMETATEX \NC \texengineversion \NC \NR
\NC Support \NC www.pragma-ade.com \NC \NR
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-building.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-building.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-building.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -393,7 +393,7 @@
slightly different. When \TEX\ scans a keyword it will (case insensitive) scan
for a whole keyword. So, it scans for \type {height} and when it doesn't find it
it will scan for \type {depth} etc. When it does find a keyword in this case it
-expects a dimension next. When that criterium is not met it will issue an error
+expects a dimension next. When that criterion is not met it will issue an error
message.
In order to avoid look ahead failures like that it is recommended to end the
@@ -457,10 +457,10 @@
\hbox to 3cm {x\leaders\hrule\hfil x}
\hbox{x \vrule width 4cm \relax x}
\hbox{x \srule width 4cm \relax x}
-\hbox{x \vrule font \font char `( width 4cm \relax x}
\hbox{x \srule font \font char `( width 4cm \relax x}
\hbox{$x \srule fam \fam char `( width 4cm \relax x$}
-\hbox{$x \vrule fam \fam char `( width 4cm \relax x$}
+% \hbox{x \vrule font \font char `( width 4cm \relax x}
+% \hbox{$x \vrule fam \fam char `( width 4cm \relax x$}
\stopbuffer
\typebuffer
@@ -885,7 +885,7 @@
asked what looks best contradictions mix with expectations and being triggered by
events that one related to \TEX, like successive hyphenated lines.
-The \prm {linebreakcriterium} parameter can be set to a value made from four bytes. We're
+The \prm {linebreakcriterion} parameter can be set to a value made from four bytes. We're
not going to explain the magic numbers because they come from and are discussed in original
\TEX. It is enough to know that we have four criteria:
@@ -908,9 +908,9 @@
\starttyping
function loose(badness)
- if badness > loose_criterium then
+ if badness > loose_criterion then
return very_loose_fit
- elseif badness > decent_criterium then
+ elseif badness > decent_criterion then
return loose_fit
else {
return decent_fit
@@ -918,7 +918,7 @@
end
function tight(badness)
- if badness > decent_criterium then
+ if badness > decent_criterion then
return tight_fit
else {
return decent_fit
@@ -957,7 +957,7 @@
after many decades there is no real need to change something. Consider it a
playground.
-The parameter \prm {ignoredepthcriterium} is set to -1000pt at startup and is a
+The parameter \prm {ignoredepthcriterion} is set to -1000pt at startup and is a
special signal for \prm {prevdepth}. You can change the value locally for
educational purposes but best not mess with this standard value in production
code unless you want special effects.
@@ -1181,7 +1181,7 @@
Traditional \TEX\ has the \prm {parfillskip} parameter that determines the way
the last line is filled. In \LUAMETATEX\ we also have \prm {parfillleftskip}. The
counterparts for the first line are \prm {parinitleftskip} and \prm
-{parinitrightskip}.
+{parinitrightskip}. We also have \prm {parfillrightskip} as consistency alias.
\startbuffer
\leftskip 2em
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-callbacks.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -223,7 +223,7 @@
\stopsubsection
-\startsubsection[title={\cbk {build_page_insert}}]
+\startsubsection[title={\cbk {insert_distance}}]
\topicindex{callbacks+inserts}
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -270,11 +270,11 @@
\stopsubsection
-\startsubsection[title={\prm {Uchar}}]
+\startsubsection[title={\prm {tocharacter}}]
\topicindex{\UNICODE}
-The expandable command \prm {Uchar} reads a number between~0 and $1{,}114{,}111$
+The expandable command \prm {tocharacter} reads a number between~0 and $1{,}114{,}111$
and expands to the associated \UNICODE\ character.
\stopsubsection
@@ -1258,15 +1258,15 @@
variants. The extra comparison options are:
\starttabulate[|l|c|c|l|]
-\DB character \BC \BC \BC operation \NC \NR
+\DB character \BC \BC \BC operation \NC \NR
\TB
-\NC \type {0x2208} \NC $\Uchar"2208$ \NC \NC element of \NC \NR
-\NC \type {0x2209} \NC $\Uchar"2209$ \NC \NC not element of \NC \NR
-\NC \type {0x2260} \NC $\Uchar"2260$ \NC \type {!=} \NC not equal \NC \NR
-\NC \type {0x2264} \NC $\Uchar"2264$ \NC \type {!>} \NC less equal \NC \NR
-\NC \type {0x2265} \NC $\Uchar"2265$ \NC \type {!<} \NC greater equal \NC \NR
-\NC \type {0x2270} \NC $\Uchar"2270$ \NC \NC not less equal \NC \NR
-\NC \type {0x2271} \NC $\Uchar"2271$ \NC \NC not greater equal \NC \NR
+\NC \type {0x2208} \NC $\tocharacter"2208$ \NC \NC element of \NC \NR
+\NC \type {0x2209} \NC $\tocharacter"2209$ \NC \NC not element of \NC \NR
+\NC \type {0x2260} \NC $\tocharacter"2260$ \NC \type {!=} \NC not equal \NC \NR
+\NC \type {0x2264} \NC $\tocharacter"2264$ \NC \type {!>} \NC less equal \NC \NR
+\NC \type {0x2265} \NC $\tocharacter"2265$ \NC \type {!<} \NC greater equal \NC \NR
+\NC \type {0x2270} \NC $\tocharacter"2270$ \NC \NC not less equal \NC \NR
+\NC \type {0x2271} \NC $\tocharacter"2271$ \NC \NC not greater equal \NC \NR
\LL
\stoptabulate
@@ -1767,6 +1767,30 @@
\stopsection
+\startsection[title=Kerns and penalties]
+
+\startsubsection[title=\prm {hkern} and \prm {vkern}]
+
+\topicindex {kerns}
+
+These two primitives complement \prm {hskip} and \prm {vskip} and force the right
+mode when issued. Contrary to the skips, internally we still have a common kern
+command code but that is not something the user has to worry about.
+
+\stopsubsection
+
+\startsubsection[title=\prm {hpenalty} and \prm {vpenalty}]
+
+\topicindex {penalties}
+
+As the kern and skip related primitives mentioned in the in the previous section
+these two primitives are there fort consistency: they force the right (related)
+mode. (Sometimes being a bit more explicit is cleaner.)
+
+\stopsubsection
+
+\stopsection
+
\startsection[title=Scanning]
\startsubsection[title=Keywords]
@@ -2488,6 +2512,38 @@
\stopsection
+\startsection[title=Registers]
+
+
+\startsubsection[title={32 bit floats}]
+
+The engine has native float registers which means that we have a similar set of
+primitives as for dimensions and integers: \prm {float}, \prm {floatdef}, \prm
+{floatexpr} and \prm {iffloat}. In the context if an integer a rounded value is
+used, in the context of a dimensions the floating point number is interpreted as
+points. Internally floats are stored as so called posits, which gives more accuracy
+for smaller values.
+
+\stopsubsection
+
+\startsubsection[title={32 bit posits}]
+
+{\em This is a playground. It will stay but might evolve.}
+
+\stopsubsection
+
+\startsubsection[title={Extra features}]
+
+There are \prm {ifabsnum}, \prm {ifabsdim} and \prm {ifabsfloat} that compare
+absolute values of quantities. The primitives \prm{ifzeronum}, \prm{ifzerodim},
+\prm{ifzerofloat} do a fast test for zero. The \prm {ifintervalnum}, \prm
+{ifintervaldim} and \prm {ifintervalfloat} primitives take a delta and two values
+and check if these values overlap within the ranges dedicated by the delta.
+
+\stopsubsection
+
+\stopsection
+
\startsection[title=Expressions]
\startsubsection[title={Rounding and scaling}]
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-fonts.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1011,27 +1011,27 @@
\stopsubsection
-\startsubsection[title={Tracing}]
+% \startsubsection[title={Tracing}]
+%
+% The \prm {tracingfonts} primitive that has been inherited from \PDFTEX\ has
+% been adapted to support variants in reporting the font. The reason for this
+% extension is that a csname not always makes sense. The zero case is the default.
+%
+% \starttabulate[|l|l|]
+% \DB value \BC reported \NC \NR
+% \TB
+% \NC \type{0} \NC \type{\foo xyz} \NC \NR
+% \NC \type{1} \NC \type{\foo (bar)} \NC \NR
+% \NC \type{2} \NC \type{<bar> xyz} \NC \NR
+% \NC \type{3} \NC \type{<bar @ ..pt> xyz} \NC \NR
+% \NC \type{4} \NC \type{<id>} \NC \NR
+% \NC \type{5} \NC \type{<id: bar>} \NC \NR
+% \NC \type{6} \NC \type{<id: bar @ ..pt> xyz} \NC \NR
+% \LL
+% \stoptabulate
+%
+% \stopsubsection
-The \prm {tracingfonts} primitive that has been inherited from \PDFTEX\ has
-been adapted to support variants in reporting the font. The reason for this
-extension is that a csname not always makes sense. The zero case is the default.
-
-\starttabulate[|l|l|]
-\DB value \BC reported \NC \NR
-\TB
-\NC \type{0} \NC \type{\foo xyz} \NC \NR
-\NC \type{1} \NC \type{\foo (bar)} \NC \NR
-\NC \type{2} \NC \type{<bar> xyz} \NC \NR
-\NC \type{3} \NC \type{<bar @ ..pt> xyz} \NC \NR
-\NC \type{4} \NC \type{<id>} \NC \NR
-\NC \type{5} \NC \type{<id: bar>} \NC \NR
-\NC \type{6} \NC \type{<id: bar @ ..pt> xyz} \NC \NR
-\LL
-\stoptabulate
-
-\stopsubsection
-
\stopsection
\stopchapter
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-introduction.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -116,6 +116,17 @@
manual (the official \METAPOST\ manual is maintained elsewhere and should not
discuss features that are not in the \LUATEX\ version).
+This manual is not a tutorial. It is also not a replacement for {\em The \TEX\
+Book}. It just collects (as we go) what is available in \LUAMETATEX, and
+therefore it always is a bit behind; actually the \TEX\ sources of the manuals
+might be ahead of the file you read right now. For new functionality you can look
+at documents (or source files or test files) that come with \CONTEXT\ where it is
+put into perspective. Some new primitives might speak for themselves, especially
+when you are familiar with \TEX. Some might not give a clue at all even with a
+bit of explanation: if so, just forget about them. You can always ask on the
+\CONTEXT\ list for the how, when and why of new features. It all comes for free,
+so keep that in mind when you are going to complain.
+
\blank[big]
Hans Hagen
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-math.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-math.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-math.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -68,14 +68,13 @@
be added. Eventually one (normally) gets a mix of glyphs, font kerns from
a sequence of glyphs
-In math mode \type {abc} results in three simple ordinary noads and \type {a
-b c} is equivalent to that: three noads. But \type {a bc} results in two
-ordinary noads where the second one has a sublist of two ordinary noads.
-Because characters have class properties, \type {( a + b = c )} results in a
-simple open noad, a simple ordinary, a simple binary, a simple ordinary, a
-simple relation, a simple ordinary and simple close noad. The next samples show a
-bit of this; in order to see th effects spacing between ordinary atoms set
-to \type {9mu}.
+In math mode \type {abc} results in three simple ordinary noads and \type {a b c}
+is equivalent to that: three noads. But \type {a bc} results in two ordinary
+noads where the second one has a sublist of two ordinary noads. Because
+characters have class properties, \type {( a + b = c )} results in a simple open
+noad, a simple ordinary, a simple binary, a simple ordinary, a simple relation, a
+simple ordinary and simple close noad. The next samples show a bit of this; in
+order to see the effects of spacing between ordinary atoms set it to \type {9mu}.
\startbuffer
\typebuffer[sample]
@@ -635,7 +634,7 @@
\startsection[title={Math styles}]
-\startsubsection[title={\prm {mathstyle}, \prm {mathstackstyle} and \prm {Ustyle}}]
+\startsubsection[title={\prm {mathstyle}, \prm {mathstackstyle} and \prm {givenmathstyle}}]
\topicindex {math+styles}
@@ -756,12 +755,12 @@
why we also have a more efficient alternative that you can use in macros:
\starttyping
-\normalexpand{ ... \Ustyle\the\mathstyle ...}
-\normalexpand{ ... \Ustyle\the\mathstackstyle ...}
+\normalexpand{ ... \givenmathstyle\the\mathstyle ...}
+\normalexpand{ ... \givenmathstyle\the\mathstackstyle ...}
\stoptyping
-This new primitive \prm {Ustyle} accepts a numeric value. The \prm
-{mathstackstyle} primitive is just a bonus (it complements \prm {Ustack}).
+This new primitive \prm {givenmathstyle} accepts a numeric value. The \prm
+{mathstackstyle} primitive is just a bonus (it complements \prm {mathstack}).
The styles that the different math components and their subcomponents start out
with are no longer hard coded but can be set at runtime:
@@ -815,7 +814,7 @@
\stopsubsection
-\startsubsection[title={\prm {Ustack}}]
+\startsubsection[title={\prm {mathstack}}]
\topicindex {math+stacks}
@@ -823,13 +822,13 @@
known straight from the start. These commands (\prm {over}, \prm {atop},
\prm {overwithdelims}, \prm {atopwithdelims}) would therefore normally return
wrong values for \prm {mathstyle}. To fix this, \LUATEX\ introduces a special
-prefix command: \prm {Ustack}:
+prefix command: \prm {mathstack}:
\starttyping
-$\Ustack {a \over b}$
+$\mathstack {a \over b}$
\stoptyping
-The \prm {Ustack} command will scan the next brace and start a new math group
+The \prm {mathstack} command will scan the next brace and start a new math group
with the correct (numerator) math style. The \prm {mathstackstyle} primitive
relates to this feature.
@@ -1526,16 +1525,16 @@
\startbuffer
$
- x \Usubscript {-}
- \frozen\Umathsubshiftdown\textstyle 0pt x \Usubscript {0}
- {\frozen\Umathsubshiftdown\textstyle 5pt x \Usubscript {5}}
- x \Usubscript {0}
- {\frozen\Umathsubshiftdown\textstyle 15pt x \Usubscript {15}}
- x \Usubscript {0}
- {\frozen\Umathsubshiftdown\textstyle 20pt x \Usubscript {20}}
- x \Usubscript {0}
- \frozen\Umathsubshiftdown\textstyle 10pt x \Usubscript {10}
- x \Usubscript {0}
+ x \subscript {-}
+ \frozen\Umathsubshiftdown\textstyle 0pt x \subscript {0}
+ {\frozen\Umathsubshiftdown\textstyle 5pt x \subscript {5}}
+ x \subscript {0}
+ {\frozen\Umathsubshiftdown\textstyle 15pt x \subscript {15}}
+ x \subscript {0}
+ {\frozen\Umathsubshiftdown\textstyle 20pt x \subscript {20}}
+ x \subscript {0}
+ \frozen\Umathsubshiftdown\textstyle 10pt x \subscript {10}
+ x \subscript {0}
$
\stopbuffer
@@ -1555,17 +1554,17 @@
\startsubsection[title={Arbitrary atoms with \prm {mathatom} etc.}]
-The original \TEX\ engine has primitives like \prm {mathord} and a limited set of
-possible atoms. In \LUAMETATEX\ we have many more built in and you can add more.
-It will take a while before we have documented all the new math features and more
-details can be found in the manuals that come with \CONTEXT\ for which all this
-was implemented. In addition to \prm {mathordinary} (aka \prm {mathord}), \prm
-{mathoperator} (aka \prm {mathop}), \prm {mathbinary} (aka \prm {mathbin}), \prm
-{mathrelation} (aka \prm {mathrel}), \prm {mathopen}, \prm {mathclose}, \prm
-{mathpunctuation} (aka {mathpunct}) and \prm {mathinner} we have \prm
-{mathfraction}, \prm {mathradical}, \prm {mathmiddle}, \prm {mathaccent}, \prm
-{mathfenced}, \prm {mathghost} and the existing \prm {mathunderline} (aka \prm
-{underline}) and \prm {mathoverline} (aka \prm {overline}) class driven atoms.
+% The original \TEX\ engine has primitives like \prm {mathord} and a limited set of
+% possible atoms. In \LUAMETATEX\ we have many more built in and you can add more.
+% It will take a while before we have documented all the new math features and more
+% details can be found in the manuals that come with \CONTEXT\ for which all this
+% was implemented. In addition to \prm {mathordinary} (aka \prm {mathord}), \prm
+% {mathoperator} (aka \prm {mathop}), \prm {mathbinary} (aka \prm {mathbin}), \prm
+% {mathrelation} (aka \prm {mathrel}), \prm {mathopen}, \prm {mathclose}, \prm
+% {mathpunctuation} (aka {mathpunct}) and \prm {mathinner} we have \prm
+% {mathfraction}, \prm {mathradical}, \prm {mathmiddle}, \prm {mathaccent}, \prm
+% {mathfenced}, \prm {mathghost} and the existing \prm {mathunderline} (aka \prm
+% {underline}) and \prm {mathoverline} (aka \prm {overline}) class driven atoms.
The \prm {mathatom} primitive is the generic one and it accepts a couple of
keywords:
@@ -2115,12 +2114,12 @@
\stopsubsection
-\startsubsection[title={Math styles: \prm {Ustyle}}]
+\startsubsection[title={Math styles: \prm {givenmathstyle}}]
This primitive accepts a style identifier:
\starttyping
-\Ustyle \displaystyle
+\givenmathstyle \displaystyle
\stoptyping
This in itself is not spectacular because it is equivalent to
@@ -2135,9 +2134,12 @@
next few lines give identical results:
\startbuffer
-$\Ustyle0 \number\mathstyle \Ustyle7 \number\mathstyle$
-$\Ustyle\displaystyle \number\mathstyle \Ustyle\crampedscriptscriptstyle \number\mathstyle$
-$ \displaystyle \number\mathstyle \crampedscriptscriptstyle \number\mathstyle$
+$\givenmathstyle0 \number\mathstyle
+ \givenmathstyle7 \number\mathstyle$
+$\givenmathstyle\displaystyle \number\mathstyle
+ \givenmathstyle\crampedscriptscriptstyle \number\mathstyle$
+$\displaystyle \number\mathstyle
+ \crampedscriptscriptstyle \number\mathstyle$
\stopbuffer
Like: \inlinebuffer . Values outside the valid range are ignored.
@@ -2194,8 +2196,8 @@
\startsection[title={Extracting values}]
-\startsubsection[title={Codes and using \prm {Umathcode}, \prm {Umathcharclass}, \prm
-{Umathcharfam} and \prm {Umathcharslot}}]
+\startsubsection[title={Codes and using \prm {Umathcode}, \prm {mathcharclass}, \prm
+{mathcharfam} and \prm {mathcharslot}}]
\topicindex {math+codes}
@@ -2210,7 +2212,7 @@
then
\starttyping
-[\Umathcharclass\Umathcode1] [\Umathcharfam\Umathcode1] [\Umathcharslot\Umathcode1]
+[\mathcharclass\Umathcode1] [\Umathcharfam\Umathcode1] [\Umathcharslot\Umathcode1]
\stoptyping
which will return:
@@ -2227,7 +2229,7 @@
could do the following:
\starttyping
-\def\Umathcharclass{\numexpr
+\def\mathcharclass{\numexpr
\directlua{tex.print(tex.getmathcode(token.scan_int())[1])}
\relax}
\def\Umathcharfam{\numexpr
@@ -2279,8 +2281,8 @@
\stopsubsection
-\startsubsection[title={Verbose versions of single|-|character math commands like \prm {Usuperscript}
-and \prm {Usubscript}}]
+\startsubsection[title={Verbose versions of single|-|character math commands like \prm {superscript}
+and \prm {subscript}}]
\topicindex {math+styles}
@@ -2290,8 +2292,8 @@
\starttabulate[|l|l|]
\DB primitive \BC explanation \NC \NR
\TB
-\NC \prm {Usuperscript} \NC duplicates the functionality of \type {^} \NC \NR
-\NC \prm {Usubscript} \NC duplicates the functionality of \type {_} \NC \NR
+\NC \prm {superscript} \NC duplicates the functionality of \type {^} \NC \NR
+\NC \prm {subscript} \NC duplicates the functionality of \type {_} \NC \NR
\NC \prm {Ustartmath} \NC duplicates the functionality of \type {$}, % $
when used in non-math mode. \NC \NR
\NC \prm {Ustopmath} \NC duplicates the functionality of \type {$}, % $
@@ -2309,7 +2311,7 @@
\stopsubsection
-\startsubsection[title={Script commands \prm {Unosuperscript}, \prm {Unosubscript}, \prm {Unosuperprescript} and \prm {Unosubprescript}}]
+\startsubsection[title={Script commands \prm {nosuperscript}, \prm {nosubscript}, \prm {nosuperprescript} and \prm {nosubprescript}}]
\topicindex {math+styles}
\topicindex {math+scripts}
@@ -2319,10 +2321,10 @@
\startbuffer[script]
$
- x\Usuperscript {1}\Usubscript {2} =
- x\Unosuperscript{1}\Unosubscript{2} =
- x\Usuperscript {1}\Unosubscript{2} =
- x\Unosuperscript{1}\Usubscript {2}
+ x\superscript {1}\subscript {2} =
+ x\nosuperscript{1}\nosubscript{2} =
+ x\superscript {1}\nosubscript{2} =
+ x\nosuperscript{1}\subscript {2}
$
\stopbuffer
@@ -2332,7 +2334,7 @@
\stopsubsection
-\startsubsection[title={Script commands \prm {Ushiftedsuperscript}, \prm {Ushiftedsubscript}, \prm {Ushiftedsuperprescript} and \prm {Ushiftedsubprescript}}]
+\startsubsection[title={Script commands \prm {shiftedsuperscript}, \prm {shiftedsubscript}, \prm {shiftedsuperprescript} and \prm {shiftedsubprescript}}]
\topicindex {math+styles}
\topicindex {math+scripts}
@@ -2344,10 +2346,10 @@
\startbuffer[script]
$
- x\Usuperscript {1}\Usubscript {2} =
- x\Ushiftedsuperscript{1}\Ushiftedsubscript{2} =
- x\Usuperscript {1}\Ushiftedsubscript{2} =
- x\Ushiftedsuperscript{1}\Usubscript {2}
+ x\superscript {1}\subscript {2} =
+ x\shiftedsuperscript{1}\shiftedsubscript{2} =
+ x\superscript {1}\shiftedsubscript{2} =
+ x\shiftedsuperscript{1}\subscript {2}
$
\stopbuffer
@@ -2357,7 +2359,7 @@
\stopsubsection
-\startsubsection[title={Injecting primes with \prm {Uprimescript}}]
+\startsubsection[title={Injecting primes with \prm {primescript}}]
This one is a bit special. In \LUAMETATEX\ a prime is a native element of a
nucleus, alongside the two prescript and two postscripts. The most confusing
@@ -2367,9 +2369,9 @@
\startbuffer[script]
$
- a \Uprimescript{1} \Usuperscript{2} \Usubscript {3} +
- b \Usubscript {3} \Uprimescript{1} +
- c \Uprimescript{1} \Usubscript {3} = d
+ a \primescript{1} \superscript{2} \subscript {3} +
+ b \subscript {3} \primescript{1} +
+ c \primescript{1} \subscript {3} = d
$
\stopbuffer
@@ -2380,16 +2382,16 @@
\stopsubsection
-\startsubsection[title={Prescripts with \prm {Usuperprescript} and \prm {Usubprescript}}]
+\startsubsection[title={Prescripts with \prm {superprescript} and \prm {subprescript}}]
\startbuffer
\hbox{$
- {\tf X}^1_2^^3__4 \quad
- {\tf X}^1 ^^3 \quad
- {\tf X} _1 __4 \quad
- {\tf X} ^^3 \quad
- {\tf X} __4 \quad
- {\tf X}^^3 __4
+ {\tf X}^1_2^^^3___4 \quad
+ {\tf X}^1 ^^^3 \quad
+ {\tf X} _1 ___4 \quad
+ {\tf X} ^^^3 \quad
+ {\tf X} ___4 \quad
+ {\tf X}^^^3 ___4
$}
\stopbuffer
@@ -2409,15 +2411,15 @@
\startbuffer
\hbox{$
-{\tf X}\Usuperscript{1} \quad
-{\tf X} \Usubscript{2} \quad
-{\tf X}\Usuperscript{1}\Usubscript{2} \quad
-{\tf X}\Usuperscript{1} \Usuperprescript{3} \quad
-{\tf X} \Usubscript{2} \Usubprescript{4}\quad
-{\tf X}\Usuperscript{1}\Usubscript{2}\Usuperprescript{3}\Usubprescript{4}\quad
-{\tf X} \Usuperprescript{3} \quad
-{\tf X} \Usubprescript{4}\quad
-{\tf X} \Usuperprescript{3}\Usubprescript{4}
+{\tf X}\superscript{1} \quad
+{\tf X} \subscript{2} \quad
+{\tf X}\superscript{1}\subscript{2} \quad
+{\tf X}\superscript{1} \superprescript{3} \quad
+{\tf X} \subscript{2} \subprescript{4}\quad
+{\tf X}\superscript{1}\subscript{2}\superprescript{3}\subprescript{4}\quad
+{\tf X} \superprescript{3} \quad
+{\tf X} \subprescript{4}\quad
+{\tf X} \superprescript{3}\subprescript{4}
$}
\stopbuffer
@@ -2521,16 +2523,16 @@
\startsection[title={Classes}]
-\startsubsection[title={Forcing classes with \prm {Umathclass}}]
+\startsubsection[title={Forcing classes with \prm {mathclass}}]
You can change the class of a math character on the fly:
\startbuffer
-$x\mathopen {!}+123+\mathclose {!}x$
-$x\Umathclass4 `! +123+\Umathclass5 `! x$
-$x ! +123+ ! x$
-$x\mathclose {!}+123+\mathopen {!}x$
-$x\Umathclass5 `! +123+\Umathclass4 `! x$
+$x\mathopen {!}+123+\mathclose {!}x$
+$x\mathclass4 `! +123+\mathclass5 `! x$
+$x ! +123+ ! x$
+$x\mathclose {!}+123+\mathopen {!}x$
+$x\mathclass5 `! +123+\mathclass4 `! x$
\stopbuffer
\typebuffer
@@ -2655,17 +2657,21 @@
\starttabulate[|c|c|c|c|]
\NC \type {^} \NC \NC super \NC post \NC \NR
\NC \type {_} \NC \NC sub \NC post \NC \NR
-\NC \type {^^} \NC \NC super \NC pre \NC \NR
-\NC \type {__} \NC \NC sub \NC pre \NC \NR
-\NC \type {^^^} \NC shifted \NC super \NC post \NC \NR
-\NC \type {___} \NC shifted \NC sub \NC post \NC \NR
+\NC \type {^^} \NC \NC super \NC post \NC \NR
+\NC \type {__} \NC \NC sub \NC post \NC \NR
+\NC \type {^^^} \NC shifted \NC super \NC pre \NC \NR
+\NC \type {___} \NC shifted \NC sub \NC pre \NC \NR
\NC \type {^^^^} \NC shifted \NC super \NC pre \NC \NR
\NC \type {____} \NC shifted \NC sub \NC pre \NC \NR
\stoptabulate
-The shifted variants force a script to be an index and thereby make the other
-script move. This multiple character features used to be optional but is now always
-active.
+The shifted variants force a script to be marked as index. In versions upto 2.10
+a subscript was moved to after the superscript but when we introduced continued
+scripts that feature was disabled (we might bring it back as configurable
+option). The shifted variants now behave the same but at the \LUA\ end one can
+check if they carry this flag. Since 2.11 the one and two character are for post
+while three and four handle prescripts (indices are more common than prescripts).
+The \prm {noscript} command signals that we're up for a new continuation.
Related to this is the issue of double scripts. The regular \TEX\ is to issue
an error message, inject an ordinary node and carry on when asked to. Here we have
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-modifications.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -906,6 +906,29 @@
\CONTEXT\ distribution that explain them. But the \TEX\ kernel is of course
omnipresent.
+\startbuffer[luatex]
+
+The following primitives are available in \LUATEX\ but not in \LUAMETATEX. Some
+of these are emulated in \CONTEXT. Some of these primitives that deal with math
+and start with an \type {U} have been renamed to names not having this prefix.
+
+\stopbuffer
+
+\startbuffer[luametatex]
+
+The following primitives are available in \LUAMETATEX\ only. In the meantime the
+\LUAMETATEX\ code base is so different from \LUATEX\ that porting back is no
+longer reasonable. The primitives can roughly be divided in those that relate to
+programming and those that deal with typesetting. In this manual we don't go into
+details about most of these. More information (and examples) of the first
+category can be found in the \quote {primitives} manual that ships with \CONTEXT,
+and the second category is spread over (for instance) the \quote {lowlevel}
+manuals. After all, it is easier to present usage in a known environment. Because
+development of \LUATEX\ and \LUAMETATEX\ is related to \CONTEXT\ development, you
+can also expect to find more examples of usage there.
+
+\stopbuffer
+
\startluacode
local luametatex = tex.primitives()
@@ -921,7 +944,6 @@
luatex = table.load("luatex-primitives.lua")
end
-
if luatex and luametatex then
local match = string.match
@@ -945,10 +967,7 @@
luametatex = table.tohash(luametatex)
-- context.page()
-
- context("The following primitives are available in \\LUATEX\\ but not in \\LUAMETATEX. ")
- context("Some of these are emulated in \\CONTEXT.")
-
+ context.getbuffer { "luatex"}
context.blank()
context.startcolumns { n = 2 }
for k, v in table.sortedhash(luatex) do
@@ -964,11 +983,7 @@
context.blank()
-- context.page()
-
- context("The following primitives are available in \\LUAMETATEX\\ only. In the meantime ")
- context("the \\LUAMETATEX\\ code base is so different from \\LUATEX\\ that backporting ")
- context("is no longer reasonable.")
-
+ context.getbuffer { "luametatex"}
context.blank()
context.startcolumns { n = 2 }
for k, v in table.sortedhash(luametatex) do
@@ -988,6 +1003,9 @@
\stopluacode
+When in the preceding list a primitive has \type {[todo]} in front it is sort of
+experimental and it will be discussed later on when it's stable.
+
\stopsubsection
\startsubsection[title=Changed function names]
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-nodes.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -69,7 +69,7 @@
\ShowTeXValues{normalizepar}
\ShowTeXValues{packtype}
\ShowTeXValues{pagecontext}
-\ShowTeXValues{parbegin}
+\ShowTeXValues{partrigger}
\ShowTeXValues{parcontext}
\ShowTeXValues{parmode}
% \ShowTeXValues{runstate}
@@ -1774,19 +1774,22 @@
\startsubsection[title={Glyph handling}][library=node]
-\startsubsubsection[title={\type {firstglyph}}]
+\startsubsubsection[title={\type {firstglyphnode}, \type {firstchar}, \type {firstglyph}}]
+\libindex {firstglyphnode}
+\libindex {firstchar}
\libindex {firstglyph}
\startfunctioncall
-<node> n = node.firstglyph(<node> n)
-<node> n = node.firstglyph(<node> n, <node> m)
+<node> n = node.firstglyphnode(<node> n)
+<node> n = node.firstglyphnode(<node> n, <node> m)
\stopfunctioncall
Returns the first node in the list starting at \type {n} that is a glyph node
with a subtype indicating it is a glyph, or \type {nil}. If \type {m} is given,
processing stops at (but including) that node, otherwise processing stops at the
-end of the list.
+end of the list. The \type {char} and \type {glyph} variants check for the
+protected field being (yet) unset or (already) set.
\stopsubsubsection
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-style.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-style.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex-style.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -39,7 +39,7 @@
[each]
[packed]
-\definesymbol[1][\Uchar"2023]
+\definesymbol[1][\tocharacter"2023]
\definesymbol[2][\endash]
\definesymbol[3][\wait] % we want to catch it
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luametatex/luametatex.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1,5 +1,16 @@
% language=us runpath=texruns:manuals/luametatex
+% \definefontfeature
+% [default]
+% [default]
+% [expansion=quality]
+
+% % \setupalignpass[none]
+% \setupalignpass[decent]
+% % \setupalignpass[quality]
+
+% \pushoverloadmode \let\cdef\edef \let\cdefcsname\edefcsname \popoverloadmode
+
% \enabledirectives[backend.pdf.inmemory]
% \setupalign[profile]
@@ -108,17 +119,35 @@
% End Feburari 2023 I observed 8.2 seconds for 360 pages and making a format needed
% 1.9 seconds instead if the usual 2.1 but that can be a side effect of the terminal
% because the amount of output which is sensitive for refresh delays set. The new
-% target is nwo 50 pages per second for this manual but on this laptop that is
+% target is now 50 pages per second for this manual but on this laptop that is
% unlikely to happen any time soon. With tabulateusesize and tabulatesparseskips
-% experiments enabled we needed 8.1 second and 44.3 pps.
+% experiments enabled we needed 8.1 second and 44.3 pps.% 368 pages may/june 2023:
+%
+% no constant definitions : 8.55
+% constant \*!whatever : 8.47
+% also constant \current* : 8.36
% \enableexperiments [tabulateusesize]
% \enableexperiments [tabulatesparseskips]
-\ifdefined\linebuffering \linebuffering \fi
+% 2023-07-10: context --make > temp.log (after a few times so with cached files)
+%
+% 1.90 sec including mtxrun
+% 1.65 sec tex only
+% 1.45 sec without saving format
+% 20230714 : 368 pages
+%
+% mingw : 8.4 (we gained more that for the amd ... more cache and faster mem)
+% rpi 64 : (hdd, not overclocked)
+% amd 10 fitlet : 30.9 12pps (we gained over 25% compared to the 268 page manual)
+
+% \ifdefined\linebuffering \linebuffering \fi
+
+% \linebuffering
+
\enableexperiments[fonts.compact]
-%disableexperiments[fonts.accurate]
+% \enableexperiments[fonts.accurate]
% \enabledirectives[fonts.injections.method=advance] % tricky ... not all xoffsets are advance robust
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-lua.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-lua.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex-lua.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -68,41 +68,44 @@
consequence. The following command|-|line options are understood:
\starttabulate[|l|p|]
-\DB commandline argument \BC explanation \NC \NR
+\DB commandline argument \BC explanation \NC \NR
\TB
-\NC \type{--credits} \NC display credits and exit \NC \NR
-\NC \type{--debug-format} \NC enable format debugging \NC \NR
-\NC \type{--draftmode} \NC switch on draft mode i.e.\ generate no output in \PDF\ mode \NC \NR
-\NC \type{--[no-]file-line-error} \NC disable/enable \type {file:line:error} style messages \NC \NR
-\NC \type{--[no-]file-line-error-style} \NC aliases of \type {--[no-]file-line-error} \NC \NR
-\NC \type{--fmt=FORMAT} \NC load the format file \type {FORMAT} \NC\NR
-\NC \type{--halt-on-error} \NC stop processing at the first error\NC \NR
-\NC \type{--help} \NC display help and exit \NC\NR
-\NC \type{--ini} \NC be \type {iniluatex}, for dumping formats \NC\NR
-\NC \type{--interaction=STRING} \NC set interaction mode: \type {batchmode}, \type {nonstopmode},
- \type {scrollmode} or \type {errorstopmode} \NC \NR
-\NC \type{--jobname=STRING} \NC set the job name to \type {STRING} \NC \NR
-\NC \type{--kpathsea-debug=NUMBER} \NC set path searching debugging flags according to the bits of
- \type {NUMBER} \NC \NR
-\NC \type{--lua=FILE} \NC load and execute a \LUA\ initialization script \NC\NR
-\NC \type{--[no-]mktex=FMT} \NC disable/enable \type {mktexFMT} generation with \type {FMT} is
- \type {tex} or \type {tfm} \NC \NR
-\NC \type{--nosocket} or \type{--no-socket} \NC disable the \LUA\ socket library \NC\NR
-\NC \type{--socket} \NC enable the \LUA\ socket library \NC\NR
-\NC \type{--output-comment=STRING} \NC use \type {STRING} for \DVI\ file comment instead of date (no
- effect for \PDF) \NC \NR
-\NC \type{--output-directory=DIR} \NC use \type {DIR} as the directory to write files to \NC \NR
-\NC \type{--output-format=FORMAT} \NC use \type {FORMAT} for job output; \type {FORMAT} is \type {dvi}
- or \type {pdf} \NC \NR
-\NC \type{--progname=STRING} \NC set the program name to \type {STRING} \NC \NR
-\NC \type{--recorder} \NC enable filename recorder \NC \NR
-\NC \type{--safer} \NC disable easily exploitable \LUA\ commands \NC\NR
-\NC \type{--[no-]shell-escape} \NC disable/enable system calls \NC \NR
-\NC \type{--shell-restricted} \NC restrict system calls to a list of commands given in \type
- {texmf.cnf} \NC \NR
-\NC \type{--synctex=NUMBER} \NC enable \type {synctex} \NC \NR
-\NC \type{--utc} \NC use utc times when applicable \NC \NR
-\NC \type{--version} \NC display version and exit \NC \NR
+\NC \type{--credits} \NC display credits and exit \NC \NR
+\NC \type{--debug-format} \NC enable format debugging \NC \NR
+\NC \type{--draftmode} \NC switch on draft mode i.e.\ generate no output in \PDF\ mode \NC \NR
+\NC \type{--[no-]check-dvi-total-pages} \NC exit when DVI exceeds 65535 pages (default: check) \NC \NR
+\NC \type{--[no-]file-line-error} \NC disable/enable \type {file:line:error} style messages \NC \NR
+\NC \type{--[no-]file-line-error-style} \NC aliases of \type {--[no-]file-line-error} \NC \NR
+\NC \type{--fmt=FORMAT} \NC load the format file \type {FORMAT} \NC\NR
+\NC \type{--halt-on-error} \NC stop processing at the first error\NC \NR
+\NC \type{--help} \NC display help and exit \NC\NR
+\NC \type{--ini} \NC be \type {iniluatex}, for dumping formats \NC\NR
+\NC \type{--interaction=STRING} \NC set interaction mode: \type {batchmode}, \type {nonstopmode},
+ \type {scrollmode} or \type {errorstopmode} \NC \NR
+\NC \type{--jobname=STRING} \NC set the job name to \type {STRING} \NC \NR
+\NC \type{--kpathsea-debug=NUMBER} \NC set path searching debugging flags according to the bits of
+ \type {NUMBER} \NC \NR
+\NC \type{--lua=FILE} \NC load and execute a \LUA\ initialization script \NC\NR
+\NC \type{--luadebug} \NC enable the \type{debug} library\NC\NR
+\NC \type{--[no-]mktex=FMT} \NC disable/enable \type {mktexFMT} generation with \type {FMT} is
+ \type {tex} or \type {tfm} \NC \NR
+\NC \type{--nosocket} \NC disable the \LUA\ socket library \NC\NR
+\NC \type{--no-socket} \NC disable the \LUA\ socket library \NC\NR
+\NC \type{--socket} \NC enable the \LUA\ socket library \NC\NR
+\NC \type{--output-comment=STRING} \NC use \type {STRING} for \DVI\ file comment instead of date (no
+ effect for \PDF) \NC \NR
+\NC \type{--output-directory=DIR} \NC use \type {DIR} as the directory to write files to \NC \NR
+\NC \type{--output-format=FORMAT} \NC use \type {FORMAT} for job output; \type {FORMAT} is \type {dvi}
+ or \type {pdf} \NC \NR
+\NC \type{--progname=STRING} \NC set the program name to \type {STRING} \NC \NR
+\NC \type{--recorder} \NC enable filename recorder \NC \NR
+\NC \type{--safer} \NC disable easily exploitable \LUA\ commands \NC\NR
+\NC \type{--[no-]shell-escape} \NC disable/enable system calls \NC \NR
+\NC \type{--shell-restricted} \NC restrict system calls to a list of commands given in \type
+ {texmf.cnf} \NC \NR
+\NC \type{--synctex=NUMBER} \NC enable \type {synctex} \NC \NR
+\NC \type{--utc} \NC use utc times when applicable \NC \NR
+\NC \type{--version} \NC display version and exit \NC \NR
\LL
\stoptabulate
@@ -135,7 +138,11 @@
attaching the proper extension (\type {log}, \type {pdf}, etc.) to the found
\prm {jobname}. These files are created in the directory pointed to by \type
{--output-directory}, or in the current directory, if that switch is not present.
+If \type{--output-directory} is not empty, its value it's copied to the
+\type{TEXMF_OUTPUT_DIRECTORY} env. variable; if it's empty, the value of
+\type{TEXMF_OUTPUT_DIRECTORY} is the value of the output directory.
+
Without the \type {--lua} option, command line processing works like it does in
any other \WEBC|-|based typesetting engine, except that \LUATEX\ has a few extra
switches and lacks some others. Also, if the \type {--lua} option is present,
@@ -147,10 +154,11 @@
\startitem
First, it will parse the command line as usual, but it will only interpret a
- small subset of the options immediately: \type {--safer}, \type {--nosocket}
- (\type {--no-socket}), \type {--socket}, \type {--[no-]shell-escape}, \type
- {--enable-write18}, \type {--disable-write18}, \type {--shell-restricted},
- \type {--help}, \type {--version}, and \type {--credits}.
+ small subset of the options immediately: \type {--safer}, \type {--nosocket},
+ \type {--no-socket},
+ \type {--socket}, \type {--[no-]shell-escape}, \type {--enable-write18}, \type
+ {--disable-write18}, \type {--shell-restricted}, \type {--help}, \type
+ {--version}, and \type {--credits}.
\stopitem
\startitem
@@ -162,8 +170,8 @@
\startitem
Then it checks the various safety switches. You can use those to disable some
- \LUA\ commands that can easily be abused by a malicious document. At the
- moment, \type {--safer} \type {nil}s the following functions:
+ \LUA\ commands that can easily be abused by a malicious document. Currently
+ \type {--safer} nils the following functions:
\blank
@@ -174,8 +182,8 @@
\type {spawn} \type {setenv}
\type {rename} \type {remove} \type {tmpdir} \NC \NR
\NC \type {io} \NC \type {popen} \type {output} \type {tmpfile} \NC \NR
- \NC \type {lfs} \NC \type {rmdir} \type {mkdir} \type {chdir} \type {lock}
- \type {touch} \NC \NR
+ \NC \type {lfs} \NC \type {rmdir} \type {mkdir} \type {mkdirp} \type {chdir}
+ \type {lock} \type {touch} \NC \NR
\LL
\stoptabulate
@@ -186,11 +194,27 @@
Finally, it disables the \type {socket} library unconditionally (but not the
\type {mime} library which is always available).
+
+ From version 1.18.0 and if \KPATHSEA\ is used, with the exception of \type{debug.traceback}
+ the \type{debug} library is not enabled by default; it can be enabled with the \type
+ {--luadebug} switch. The \type{debug} library is always enabled in shell-escape mode.
+
+ Also from version 1.18.0 and if \KPATHSEA\ is used, the functions
+ \type{os.rename},\type{os.remove}, \type{lfs.attributes}, \type{lfs.chdir},
+ \type{lfs.lock_dir}, \type{lfs.dir}, \type{lfs.link}, \type{lfs.mkdir}, \type{lfs.mkdirp},
+ \type{lfs.rmdir}, \type{lfs.symlinkattributes}, \type{lfs.touch}
+ return \type{true} if both \type{kpse.in_name_ok_silent_extended} and
+ \type{kpse.out_name_ok_silent_extended} validate the pathname;
+ \type{lfs.attributes}, \type{lfs.dir} and \type{lfs.symlinkattributes} are validated
+ only against \type{kpse.in_name_ok_silent_extended}.
+
+
+
\stopitem
\startitem
When \LUATEX\ starts it sets the \type {locale} to a neutral value. If for
- some reason you use \type {os.locale}, you need to make sure you \type {nil}
+ some reason you use \type {os.setlocale}, you need to make sure you \type {nil}
it afterwards because otherwise it can interfere with code that for instance
generates dates. You can ignore the \type {locale} with:
@@ -198,19 +222,19 @@
os.setlocale(nil,nil)
\stoptyping
- The \type {--nosocket} (\type {--no-socket}) option makes the socket library
- unavailable, so that \LUA\ cannot use networking; the \type {--socket} option
+ The \type {--nosocket} or \type {--no-socket} option makes the socket library
+ unavailable, so that \LUA\ cannot use networking. The \type {--socket} option
makes the socket library available.
- The switches \type {--[no-]shell-escape}, \type {--[enable|disable]-write18},
- and \type {--shell-restricted} have the same effects as in \PDFTEX, and
- additionally make \type {io.popen()}, \type {os.execute}, \type {os.exec},
- \type {os.kpsepopen} and \type {os.spawn} adhere to the requested option.
+ The switches \type {--[no-]shell-escape}, \type {--[enable|disable]-write18}, and
+ \type {--shell-restricted} have the same effects as in \PDFTEX, and additionally
+ make \type {io.popen()}, \type {os.execute}, \type {os.exec}, \type {os.kpsepopen}
+ and \type {os.spawn} adhere to the requested option.
- By default the socket library is not enabled: one can enable it with with
- \type {--socket} or with \type {--shell-escape} (but without \type
- {--shell-restricted}) and disable it with \type {--nosocket} (\type
- {--no-socket}) or unconditionally with \type {--safer}.
+ By default the socket library is not enabled: one can enable it with with \type
+ {--socket} or with \type {--shell-escape} (but without \type {--shell-restricted})
+ and disable it with \type {--nosocket} (or \type {--no-socket}) or unconditionally
+ with \type {--safer}.
In case of conflictual options, the most restrictive wins.
@@ -260,6 +284,12 @@
check \type {--progname}, or \type {--ini} and \type {--fmt}, if \type
{--progname} is missing.
+From version 1.17.1, in \DVI\ mode the new commandline switch \type {--check-dvi-total-pages},
+enabled by default, checks that the total number of pages does not exceeds 65535,
+and in case the run abort. This breaks the compatibility with \PDFTEX\ where, as in \TEX,
+when the total number of pages is greater than 65535 the file will lie. The previous behaviour
+can be restored with \type {--[no-]check-dvi-total-pages}.
+
\stopsubsection
\stopsection
@@ -353,11 +383,12 @@
{lfs.isdir} and \type {lfs.isfile} were speedy and better variants of what could
be done with \type {lfs.attributes}. The additional function \type
{lfs.shortname} takes a file name and returns its short name on \type {win32}
-platforms. Finally, for non|-|\type {win32} platforms only, we provided \type
-{lfs.readlink} that takes an existing symbolic link as argument and returns its
-name. However, the \type {lfs} library evolved so we have dropped these in favour of
-pure \LUA\ variants. The \type {shortname} helper is obsolete and now just
-returns the name.
+platforms; \type{lfs.mkdirp} is like \type{lfs.mkdir} but make parent directories
+as needed (it is a \LUA\ wrapper function). Finally, for non|-|\type {win32}
+platforms only, we provided \type {lfs.readlink} that takes an existing symbolic
+link as argument and returns its name. However, the \type {lfs} library evolved so
+we have dropped these in favour of pure \LUA\ variants. The \type {shortname}
+helper is obsolete and now just returns the name.
\stopsubsection
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/luatex/luatex.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -73,7 +73,7 @@
\startdocument
[manual=Lua\TeX,
status=stable,
- version=1.16]
+ version=1.18]
\startnotmode[*export]
\component luatex-titlepage
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/math/math-tweaks.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/math/math-tweaks.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/math/math-tweaks.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1595,7 +1595,7 @@
\starttexdefinition ActuarianTest #1
\NC #1
\NC \switchtobodyfont[#1]
- $\bar{A}^1_{x:\rannuity{n}}^^{2}__{\rannuity{m}}$
+ $\bar{A}^1_{x:\rannuity{n}}^^^{2}___{\rannuity{m}}$
\NC \NR
\stoptexdefinition
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/mathml/envexamp.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/mathml/envexamp.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/mathml/envexamp.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -11,14 +11,9 @@
columns=2,
title=MathML in \ConTeXt]
-\startmode[atpragma]
- \setupbodyfont[lucidanova]
-\stopmode
+\setupbodyfont
+ [palatino]
-\startnotmode[atpragma]
- \setupbodyfont[palatino]
-\stopnotmode
-
\setupbodyfont
[10pt]
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png 2024-02-27 16:48:07 UTC (rev 70189)
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-assumptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-assumptions.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-assumptions.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,141 @@
+% language=us runpath=texruns:manuals/musings
+
+\startcomponent musings-assumptions
+
+\environment musings-style
+
+\startchapter[title={Strange assumptions}]
+
+% \startsection[title={Introduction}]
+% \stopsection
+
+Below I will collect some of the questions and remarks|-|turned|-|questions that
+keep popping up and start annoying me, especially when they come from people who
+should know better (being involved in development themselves). I'm always puzzled
+why these things come up, especially by people who are no user and should not
+waste time on commenting on \CONTEXT.
+
+\startsubsubject[title={All these versions, \CONTEXT\ keep changing, so what's next?}]
+
+Sure, we're now at the third version, \MKII, \MKIV\ and \LMTX, but there is is
+some progression in this. The first version evolved from \TEX\ to \ETEX\ to
+\PDFTEX\ (but also could handle \XETEX\ and \ALEPH). But in order to get things
+done better we moved on to \LUATEX\ and because that is a \CONTEXT\ related
+project it made sense to split the code base which made us end up with a frozen
+stable \MKII\ and an evolving|-|with|-|\LUATEX\ \MKIV. Then there was a demand
+for a stable \LUATEX\ for usage otherwise which in turn lead to the \LUAMETATEX\
+project and its related \CONTEXT\ evolution \LMTX. So, yes, this macro package
+keeps changing. And it this bad? Don't other macro packages evolve? And why do
+users of other packages bother anyway? I never heard a \CONTEXT\ user complain
+either. By the way, how do other macro packages actually count and distinguish
+versions?
+
+\stopsubject
+
+\startsubsubject[title={Why is \CONTEXT\ so slow?}]
+
+Because I seldom hear complaints from users about performance, why do users of
+other macro packages find reason to even bother. In \MKII\ we immediately started
+with a high level keyword driven interface so that came with a price. But quite
+some effort was put into making it as fast and efficient as possible. Fortunately
+for \CONTEXT\ users the \MKIV\ version became faster over time, in spite of it
+using a 32 bit engine (which comes at a price). Even better is that \LMTX\ with
+\LUAMETATEX\ has gained a lot over \MKIV. But then, I guess, other macro packages
+that use \LUATEX\ are also fast, so maybe the claims that \CONTEXT\ is much
+slower than other macro packages still hold. I'm not going to check it, and I bet
+\CONTEXT\ users don't care.
+
+\stopsubject
+
+\startsubsubject[title={Why does \CONTEXT\ (even) needs a runner.}]
+
+Indeed, because we don't want users to be bothered with managing runs right from
+the start it came with a program (\MODULA2) and later a script (\PERL\ followed
+up by \RUBY) that checks if an additional run is needed because of some change in
+the table of contents, references, the index, abbreviations, positioning, etc.
+Index sorting was done too so there was no further dependency. We though that
+was actually a good thing. With \LUATEX\ and \LUAMETATEX\ all that became even
+more integrated because \LUA\ was used. The runner(s) also made it possible to
+ship additional scripts without the need for potentially clashing applications in
+the ever growing \TEX\ ecosystem. Interesting is that ridiculing \CONTEXT\ for
+script dependency was never complemented by ridiculing other macro packages that
+nowadays seem to depend on scripts (with some even using \LUATEX\ which
+originates in the \CONTEXT\ domain).
+
+\stopsubject
+
+\startsubsubject[title={Why does \CONTEXT\ organizes files that way?}]
+
+\CONTEXT\ sticks quite well to the \TEX\ Directory Structure, so what is the
+problem here?. Yes, we needed some granularity (e.g.\ for \METAPOST) but later
+that just became normal. And indeed we optionally let users use a flat directory
+structure for fonts but that's normally in the users own local tree. Oh, and in
+\MKIV\ and \LMTX\ we use our own file database (actually also in \MKII\ at some
+point), just because (definitely at that time) it was way faster and we needed
+more features. The same is true for the font database, \UTF\ encoded hyphenation
+patterns, and so on. Can it be that we're often just ahead of the pack?
+
+Let's nor forget to complain about the fact that \MKIV\ and \LMTX\ use a cache
+but so do lots or programs: just think browsers of some scripting language
+ecosystems. And that was introduced right after we started with \MKIV\ and hasn't
+changed much at all. Users expect no less. And other macro packages are free not to
+use the cache (for e.g.\ fonts).
+
+\stopsubject
+
+\startsubsubject[title={The authors of \CONTEXT\ don't care about compatibility, do they?}]
+
+You're joking, right? Surely some features became sort of obsolete when we moved
+to \MKIV, like encodings. But if users like to stick to them, they can. Do you
+really think that user like us to drop compatibility? Maybe it fits some
+narrative to spread that story. Of course, we make things better if we can, and
+the interfaces have always permitted upgrades and extensions. There are
+definitely cases when (maybe due to user demand) something new gets added that
+then evolves towards a stable state, so yes, there can be code in flux. But that
+is natural. Should we just assume that other macro packages don't evolve, never
+have bugs, don't break anything, never fix broken things immediately? Maybe. And
+complaining about \CONTEXT\ evolving is none of its non|-|users business anyway.
+
+\stopsubject
+
+\startsubsubject[title={Is \CONTEXT\ commercial?}]
+
+This is one of the strangest questions (or remarks). We use \CONTEXT\ ourself and
+using it in a job is by definition commercial use. Are all other \TEX ies only
+using \TEX\ macro packages in the free time, as hobby? I'm pretty sure that more
+money is made by competing package users and I'm also sure that most of the time
+involved in creating \CONTEXT\ (and \LUAMETATEX\ for that matter) is not covered
+by income. Using the fact that \CONTEXT\ is developed by a (small) company excuse
+for lack of development elsewhere is about as lame as it can get. Much
+development is done without us needed it, but because we like doing it, because
+of the challenge.
+
+\stopsubject
+
+\startsubsubject[title={Should I use \CONTEXT\ for math?}]
+
+Of course, because that's what \TEX\ is good at. It you are forced to use a
+specific macro package for its math abilities, just do so. If you want to move on
+or want consistent interfaces, maybe \CONTEXT\ is for you. We don't care. Trust
+your eyes more than assumed standards or ways of doing math typesetting.
+
+\stopsubject
+
+\startsubsubject[title={Why is the format file so much larger than for other packages?}]
+
+The answer is simple: we have an integrated system, so we have plenty macros and
+with each token taking 8 bytes (data and link) that adds up. And for \MKIV\ and
+\LMTX\ there also \LUA\ code involved as well as a rather large character
+database. In \LUATEX\ the format file is compressed (and also zipped) and in
+\LUAMETATEX\ is it is a bit more compressed but now zipped; still the \LMTX\
+format file is smaller than the \MKIV\ one. We let those who complain wonder why
+that is. We also let users of other macro packages wonder if loading a ton of
+stuff later on doesn't accumulate to a similar or larger memory footprint. And, as
+with many critics: make sure to check every few years if that other macro package
+hasn't catched up and can be criticized the same way.
+
+\stopsubject
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-assumptions.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-deserved.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-deserved.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-deserved.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,356 @@
+% language=us runpath=texruns:manuals/musings
+
+% \enableexperiments[fonts.compact]
+
+\startcomponent musings-deserved
+
+\environment musings-style
+
+\startchapter[title={We deserved it}]
+
+\startsection[title={Introduction}]
+
+Among the first macros we cooked up are the ones that we used to typeset
+chemistry. They come under the \PPCHTEX, and it was mostly done by Hans, Ton and
+Tobias. Over time rendering structures by \PICTEX\ got replaced by \PSTRICKS\ and
+later \METAPOST. When we moved to \MKIV\ all that got reimplemented, this time by
+Hans and Alan and we stuck to \METAPOST. We actually also updated the syntax and,
+because old documents were supposed to be rendered by \MKII\ we took the liberty
+to sacrifice some compatibility for a more complete and consistent feature set.
+However we never came to updating the existing manual and the new one became work
+in progress. We didn't really needed the code and Alan, who did need it, knew
+what was there anyway.
+
+Then Mikael had some questions and it pushed me into manual mode: upgrade the old
+one and combine it with the pending new one. That also made me wonder if we could
+now benefit from some new features in the math engine, which in turn could
+simplify the code base. This is typically something that takes weeks instead of
+hours so better do it right from the start. And, while at it, one then of course
+ends up in looking (again) at arrows (or more specifically: stackers) and from
+that to \UNICODE, which in turn is good for some introspection.
+
+\stopsection
+
+\startsection[title={Implementation}]
+
+Among the (old) complications in dealing with chemistry are the following:
+
+\startitemize[packed]
+\startitem
+ Simple inline chemical formulas (snippets) of the kind \ic { U ___92 ^^^ 238
+ ^ +} where scripts need to be properly vertically aligned and an upright font
+ is used.
+\stopitem
+\startitem
+ In running text one wants to use \ic {A + B -> C} but also \ic {A + B <-> C}
+ or \ic {A + B <=> C}.
+\stopitem
+\startitem
+ Even more symbolic representations might be on the wish list, think of
+ \ic {A - B -- C --- D}.
+\stopitem
+\stopitemize
+
+There is more but these examples demonstrate a few features: we need prescripts,
+proper spacing, line breaks at preferred spots, and some symbols.
+
+\start
+
+\setupalign[profile]
+% \showglyphs \showmakeup[boxes] \showstruts
+\setupmathstackers[reverse][strut=no]
+
+\startitemize[packed]
+\startitem
+ And of course one also wants to annotate like \ic {A + B ->{here} C} but also
+ \ic {A + B <->{}{there} C} or \ic {A + B <=>{where}{every} C} where the
+ arrows stretch with the text.
+\stopitem
+\startitem
+ It would be nice if we can also use the advanced alignment options that are
+ available in math but discussing this is beyond this musing.
+\stopitem
+\stopitemize
+
+\stop
+
+\stopsection
+
+\startsection[title=Unicode]
+
+Implementing the above has never been that hard but just became a little easier
+in \LMTX. However, when doing that I wondered if there were more than the already
+present symbols to be taken care of. And so I did a search on the internet for
+\quotation {unicode and chemistry}. One of the first hits was \quotation {Five
+symbols used in chemistry L2/23-193}, a request for some more arrows. One can
+search the web for it and see if it is still around. When staring at I wondered a
+bit about the descriptions:
+
+\starttyping
+BALANCED EQUILIBRIUM ARROW
+EQUILIBRIUM ARROW LYING TOWARD THE RIGHT
+EQUILIBRIUM ARROW LYING TOWARD THE LEFT
+REACTION DOES NOT PROCEED
+STANDARD STATE SYMBOL
+\stoptyping
+
+When later I discussed this with Mikael we came to the conclusion that \quote
+{LYING} probably means \quote {LEANING} but we're not chemists so we can be
+wrong. The proposed rendering of the first three boils down to arrows with half a
+tip, also known as harpoons: long left and right pointing ones stacked for the
+first and long over short ones for the other two.
+
+\startlinecorrection
+\setupmathstackers[mathematics][strut=no]
+\startcombination[nx=3,ny=1]
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 2cm{$\mrightharpoonup {\hskip2cm}{}$}
+ \ruledhbox to 2cm{$\mleftharpoondown{\hskip1cm}{}\hss$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 2cm{$\mrightharpoonup {\hskip2cm}{}$}
+ \ruledhbox to 2cm{$\mleftharpoondown{\hskip2cm}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 2cm{$\mleftharpoonup{\hskip2cm}{}$}
+ \ruledhbox to 2cm{\hss$\mrightharpoondown{\hskip1cm}{}$}
+ }} {}
+\stopcombination
+\stoplinecorrection
+
+There are several observation to make here. First of all, there is a whole bunch
+of arrows (stacked and single) that bare descriptions mentioning them being
+arrows. There is no meaning in them. One can even wonder why some are there. So,
+in order to be in sync with that it makes more sense to add a few more harpoons.
+Cooking up names like this serves no purpose.
+
+If we look at the proposed shapes (which are actually different from those used
+in \TEX\ packages that are references) one can actually wonder about the way
+these are supposed to stretch. The short variant is not different from existing
+double harpoons in which case the meaning is lost. Then when we go longer we get
+this empty space and then we should wonder how the extensible should kick in: how
+do the left- and rightmost fixed glyphs and the one or two middle repeated ones
+behave?
+
+\startlinecorrection
+\setupmathstackers[mathematics][strut=no]
+\startcombination[nx=3,ny=1]
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 1cm{$\mrightharpoonup {\hskip1cm}{}$}
+ \ruledhbox to 1cm{$\mleftharpoondown{\hskip1cm}{}\hss$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 1cm{$\mrightharpoonup {\hskip1cm}{}$}
+ \ruledhbox to 1cm{$\mleftharpoondown{\hskip1cm}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 1cm{$\mleftharpoonup{\hskip1cm}{}$}
+ \ruledhbox to 1cm{\hss$\mrightharpoondown{\hskip1cm}{}$}
+ }} {}
+\stopcombination
+\stoplinecorrection
+
+Why don't we just use the next three? After all, as with math, how we interpret
+symbols depends on how we define them to be read. Sometimes Mikael and I get a
+good laugh over some of the shapes bound to math code points and we're sure that
+some legend is needed when using them.
+
+\startlinecorrection
+\setupmathstackers[mathematics][strut=no]
+\startcombination[nx=3,ny=1]
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 2cm{$\mleftrightharpoons{\hskip2cm}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 2cm{$\mrightharpoonup {\hskip2cm}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox to 2cm{$\mleftharpoondown{\hskip2cm}{}\hss$}
+ }} {}
+\stopcombination
+\stoplinecorrection
+
+Of course there are and can be conventions but getting some agreement is not
+trivial. We only have to look at \UNICODE\ math to see some issues, like:
+
+\startitemize[packed]
+\startitem
+ The repertoire of symbols is large but to a large extent somewhat arbitrary:
+ what was known (or assumed) to be used got in there. There is a difference
+ between a left, right and even middle bar, just like there is a left and
+ right brace.
+\stopitem
+\startitem
+ There are alphabets but they come with holes. We're not supposed to
+ distinguish between a Plank constant \quote {h} and variable \quote {h}. We
+ can distinguish the greek uppercase \type {A} from a latin \type {A} so
+ mathematicians are less convincing.
+\stopitem
+\startitem
+ One can define extensible fences with components but not all of them. There
+ are no constructors for arrows. Some likely come from old encodings but
+ why add these and not be consistent.
+\stopitem
+\stopitemize
+
+Plugging a hole in an alphabet is doable. Adding some missing snippets for fences
+is also no big deal, just because we have a limited set. Making bars consistent
+also is not hard. But I don't see it happen soon. After all, we're decades along
+the road and no one bothered much about it till now, and above all, it will never
+be complete. I wonder if there ever has been a good analysis, extensive
+description and a watertight arguing from the \TEX\ community about what should
+go in \UNICODE\ and fonts. It was easy to point to existing fonts and the names
+used in macro packages and that shows.
+
+To the above we can add:
+
+\startitemize[packed]
+\startitem
+ There are some combinations of arrows and e.g.rules missing that could have
+ made adding composed constructs easier when there is demand for that. After
+ all, this is what existing characters are also used for. And these chemistry
+ ones fit into this.
+\stopitem
+\stopitemize
+
+Our solution is to just accept that the \TEX\ community got what it deserved: a
+bit of chaos, unreliable cur'n'paste support, symbols but no meaning, imperfect
+\UNICODE\ coverage and therefore imperfect coverage in fonts. The good news is
+that we can adapt. But we have to be honest: it is not perfect.
+
+\stopsection
+
+\startsection[title=How about]
+
+As mentioned we have a problem with base glyphs versus extensibles and these
+combined hooked things are bad for that. In the chemistry macros the first four
+are the ones that we always had and the last two are examples of how we can
+render the two leaning extras.
+
+\starttabulate[|c||c||]
+\NC \type {<->} \NC \ic {A + B <-> C}\NC \type {<-->} \NC \ic {A + B <--> C} \NC \NR
+\NC \type {->} \NC \ic {A + B -> C}\NC \type {-->} \NC \ic {A + B --> C} \NC \NR
+\NC \type {<-} \NC \ic {A + B <- C}\NC \type {<--} \NC \ic {A + B <-- C} \NC \NR
+\NC \type {<=>} \NC \ic {A + B <=> C}\NC \type {<==>} \NC \ic {A + B <==> C} \NC \NR
+\ML
+\NC \type {=>} \NC \ic {A + B => C}\NC \type {==>} \NC \ic {A + B ==> C} \NC \NR
+\NC \type {<=} \NC \ic {A + B <= C}\NC \type {<==} \NC \ic {A + B <== C} \NC \NR
+\stoptabulate
+
+Watch the longer should arrow. Not al fonts have it as extensible, which
+indicates that not that much thought has been put in usage patterns. That said,
+more interesting would be to use something like this, where we fake a character
+from two existing arrows:
+
+\startlinecorrection
+\switchtobodyfont[cambria]
+\definemathextensible [mathematics] [mleftarrowdashed] ["21E0]
+\definemathextensible [mathematics] [mrightarrowdashed] ["21E2]
+\setupmathstackers[mathematics][strut=no]
+\startcombination[nx=4,ny=1]
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox{$\mrightarrow {}{}$}
+ \ruledhbox{$\mleftarrowdashed{}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox{$\mrightarrow{}{}$}
+ \ruledhbox{$\mleftarrow {}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox{$\mrightarrowdashed{}{}$}
+ \ruledhbox{$\mleftarrow {}{}$}
+ }} {}
+ {\vbox{\offinterlineskip\glyphscale2000
+ \ruledhbox{$\mrightarrowdashed{}{}$}
+ \ruledhbox{$\mleftarrowdashed {}{}$}
+ }} {}
+% {\vbox{\offinterlineskip\glyphscale2000
+% \ruledhbox to 2cm{$\mrightarrow {\hskip2cm}{}$}
+% \ruledhbox to 2cm{$\mleftarrowdashed{\hskip2cm}{}$}
+% }} {}
+% {\vbox{\offinterlineskip\glyphscale2000
+% \ruledhbox to 2cm{$\mrightarrow{\hskip2cm}{}$}
+% \ruledhbox to 2cm{$\mleftarrow {\hskip2cm}{}$}
+% }} {}
+% {\vbox{\offinterlineskip\glyphscale2000
+% \ruledhbox to 2cm{$\mrightarrowdashed{\hskip2cm}{}$}
+% \ruledhbox to 2cm{$\mleftarrow {\hskip2cm}{}$}
+% }} {}
+% {\vbox{\offinterlineskip\glyphscale2000
+% \ruledhbox to 2cm{$\mrightarrowdashed{\hskip2cm}{}$}
+% \ruledhbox to 2cm{$\mleftarrowdashed {\hskip2cm}{}$}
+% }} {}
+\stopcombination
+\stoplinecorrection
+
+However, not all math fonts provide these dashed arrows and therefore here we
+have to use Cambria (here). And even if it has such dashed hashes, they don't
+come with an extensible. I just want to point out that by looking at what we
+already have, it might make more sense to extend some (combinations) of those.
+
+It is good to notice that these arrows come with qualifications like \quotation
+{code for undetermined script}, so one can wonder how much they relate to math.
+Actually the fact that we have these holes in alphabets already indicates that
+math is not really seen as script. Occasionally (old) scripts get added and they
+get lots of code points, while one can argue for sharing there too, but maybe
+their status is higher than the status of math. In \OPENTYPE\ fonts math is seen
+as script but that's because it is basically a selector. One can actually argue
+for chemistry as a math language in fonts.
+
+The main point I want to make here is that adding some new symbol that is
+somewhere used but never made it in \UNICODE\ in the first place needs some
+thought. Especially when used in a setting of formulas, where size matters.
+
+\stopsection
+
+\startsection[title=Also]
+
+In \CONTEXT\ we have stackers: text above and|/|or below an extensible, or
+extensibles above and|/|or below text. The mentioned arrows are using this
+mechanism. However, when playing with \type {\iff}, \typ {\implies} and \typ
+{impliedby} in math mode, we noticed some spacing side effects. Originally these
+double arrows got skips around them but that interfered with our alignment
+mechanism. However, that could be solved without much hassle by letting the
+commands check the nature (class) of the previous atom (an indication of being at
+the start of a next alignment line). In the end that we decided that an extra
+\quote {implication} class was more flexible than adding glue. More interesting
+was the observation that in Latin Modern and some other math fonts these arrows
+have different dimensions, which leads to yet another alignment issue.
+
+Again that could be solved by taking the usage into account but one can wonder
+why the opportunity was lost to make the glyphs consistent with each other, read:
+come up with a proper analysis of requirements based on decades of \TEX\ usage.
+At least there could have been recommended alternates. But wait, aren't
+alternates kind of bad as they demand user intervention (choices)? Sure, but
+there are more examples of alternates, take the \quote {\dotlessi} (dotless i).
+It has a textual code point but is not in the math alphabets, so one needs
+alternates as way out (and yes, fonts then have a blackboard and fraktur dotless
+i).
+
+One can argue that these are visual aspects, but with arrows as well as symbols,
+we have ended up in a somewhat curious inconsistent situation: there are no
+established command names for the single arrows, so there we speak \type
+{\..arrow..} while for some there are names, like \type {\iff}. The same is true
+for characters like the dotless i and j. Some mathematicians use these in the
+same way as some hard- and software vendors put an \quote {i} in front of a
+product name, but in order to get it one has to communicate in terms of \type
+{\dotless.} or somthing with an \type {i} in the macro name.
+
+\stopsection
+
+\startsection[title=Conclusion]
+
+To come back to updating chemistry. It makes no sense to add much more.
+Implementing the left- and right leaning is easy with existing hooks so this is
+what we will do. Proper math fonts have these and how likely is it that existing
+math fonts get new ones? If it ever comes to more chemistry in \UNICODE\ a
+handful of them will not help much. It is probably not that hard to find an
+existing symbol that can act as standard state symbol. In fact, some code points
+have several additional descriptions so we could just add some to existing one.
+It's not like we have gone over the top with doing that for math yet.
+
+\stopsection
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-deserved.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-dontusetex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-dontusetex.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-dontusetex.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,201 @@
+% language=us runpath=texruns:manuals/musings
+
+\startcomponent musings-dontusetex
+
+\environment musings-style
+
+\setupquotation[style=italic]
+
+\startchapter[title={Don't use \TEX !}]
+
+Occasionally I run into a web post that involves \LUATEX\ and it is sometimes
+surprising what nonsense one can read. Now, I normally don't care that much but
+there are cases where I feel that a comment is justified. Partly because I'm one
+of the developers, but also because I'm involved in user groups.
+
+In this particular case the title of a (small) blog post was \quotation {Why I do
+not like luaTeX!} and the website announced itself ambitiously as \quote {DIGITAL
+TYPOGRAPHY NEWS}. Normally I assume that in such a case it is a general site
+about typesetting and that the author has not much experience or insight in the
+already ancient \TEX\ typesetting system. However, the \URL\ is:
+
+\starttyping
+eutypon.gr/e-blog/index.php/2021/02/13/why-i-do-not-like-luatex/
+\stoptyping
+
+which happens to be the Greek User Groups portal. So why do I feel the need to
+reflect on this? Why do I even care? The answer is simple: because user groups
+should inform their (potential) users correctly. Another reason is that I'm
+involved in the program that is disliked, and yet another one is that there is a
+suggestion that language support is bad in \LUATEX, while actually hyphenation
+patterns are very well maintained by Mojca and Arthur who are also actively
+involved in the community around the mentioned engine.
+
+\startplacefigure[location=page,number=no,title={\type {eutypon.gr/e-blog/index.php/2021/02/13/why-i-do-not-like-luatex/}}]
+ \externalfigure
+ [eutypon-gr-e-blog-21-02-13-why-i-do-not-like-luatex.png]
+ [width=\textwidth]
+\stopplacefigure
+
+Let's start with the title. For sure one might not like a specific program, but
+when it involves one of the mainstream \TEX\ engines, it should at least be clear
+that it's a personal opinion. Because no name is mentioned, we can assume that
+this is the opinion of the Greek user group as a whole. The text starts with
+\quotation {Most people speak with good words about luaTeX.} and the \quote {most}
+in that sentence sort of puts the author in a small group, which should trigger
+using a bit more careful title. Now I know a couple of users who use \LUATEX\
+(with \CONTEXT) for typesetting Greek, and we can assume that they are among the
+people who speak those good words: typesetting Greek just works.
+
+More good news is that \quotation {They seem to like things it can do that no
+other TeX derived systrem can do.} This might invite potential users to take a
+closer look at the system, especially because we already know that most people
+are positive. In 2021 one should keep in mind that, although the \LUATEX\ engine
+is around for more than a decade, the level of support can differ per macro
+package which is why \PDFTEX\ is still the most widespread used \TEX\ variant:
+much \TEX\ usage relates to writing (scientific articles) in English so one
+doesn't really need an \UNICODE\ engine. I always say: don't change a good
+working workflow if you have no reason; use what makes you feel comfortable. Only
+use \LUATEX\ if you have a reason. There is plenty of good and positive advice to
+be given.
+
+With \quotation {Personally, I do not care about these features but yesterday a
+friend told me that he wanted to write something in Greek with luaLaTeX.} the
+author steps over his or her personal rejection of the engine and enters the
+help|-|a|-|friend mode. \quotation {And what’s the catch, one may ask. The
+problem is that luaLaTeX does not load any hyphenation patterns but the default
+ones. So one needs to load them.} I'm not sure why this is a catch. It actually
+is a feature. One drawback of the traditional \TEX\ engines is that one needs to
+preload the hyphenation patterns. Before memory was bumped, that often meant
+creating format files for a subset of languages, and when memory became plenty it
+meant preloading dozens of patterns by default. The good news is that in all
+these cases the macro package takes care of that. In the case of \LUATEX\ no
+patterns need to be preloaded so it might even be that \LATEX\ doesn't have any
+preloaded but, not being a user, I didn't check that.
+
+This all makes the next sentence puzzling: \quotation {In TeX one uses a command
+like the follolwing one : \type {\language\l at monogreek}, where \type
+{\l at monogreek} is numerical value assigned to each language contained in the
+format.} Now, I'm no expert on \LATEX\ but I'm pretty sure that the \type {@}
+sign is not a letter by default. I'm also pretty sure that there is some high
+level interface to enable a language, and in the case of \LUATEX\ being used that
+mechanism will load the patterns runtime. I bet it will also deal with making
+sure other language specific properties are set. Therefore the \quotation {This
+is well documented in the TeXbook.} is somewhat weird: original \TEX\ only had
+one language and later versions could deal with more, but plain \TEX\ has no
+\type {\l at monogreek} command. It doesn't sound like the best advice to me.
+
+Just to be sure, I unpacked all the archives in the most recent \TEXLIVE\ \DVD\
+and grepped for that command in \type {tex} and \type {sty} files and surprise:
+in the \LATEX\ specific style file \typ {/tex/xelatex/xgreek/xgreek.sty} there is
+a line \typ {\language \l at monogreek \else \HyphenRules{monogreek}\fi} which to me
+looks way to low level for common users to figure out, let alone that it's a file
+for \XETEX\ so bound to a specific engine. Further grepping for \type {{greek}}
+gave hits for \LATEX's babel an there are Greek files under the \type
+{polyglossia} directory so I bet that Arthur (who once told me he was reponsible
+for languages) deals with Greek there. Even I, as a \CONTEXT\ user who never use
+\LATEX\ and only know some things by rumor (like the fact that there is something
+like polyglossia at all) could help a new user with some suggestions of where to
+look, just by googling for a solution. But explicitly using the \type {\language}
+primitive is not one of them. Okay, in \CONTEXT\ the \type {\language [greek]}
+command does something useful, but we're not talking about that package here, if
+only because it relates to \LUATEX\ development, which as we will see later is a
+kind of inner circle.
+
+So, picking up on the blog post, in an attempt to get Greek working in \LATEX\
+the author got online but \quotation {Now despite the fact that I spent a few
+hours searching for information on how to load specific hyphenation patterns, I
+could not find anything!} It might have helped to search for \type {lualatex
+greek} because that gives plenty of hits. And maybe there are even manuals out
+there that explain which of the packages in the \TEX\ tree to load in order to get
+it working. Maybe searching \CTAN\ or \TEXLIVE\ helps too. Maybe other user
+groups have experts who can help out. No matter what you run into, I don't think
+that the average user expects to find a recipe for installing and invoking
+patterns. Just for the record, the \LUATEX\ manual has a whole chapter on
+language support, but again, users can safely assume that the macro package that
+they use hides those details. Actually, if users were supposed to load patterns
+using a unique id, they are likely to end up in the modern Greek versus ancient
+Greek, as well as Greek mixed with English or other languages situations. That
+demands some more in depth knowledge to deal with, in any macro package and with
+any engine. You can add a bit of \UNICODE\ and \UTF-8\ or encodings in the mix
+too. Suggesting to consult the \TEX book is even a bit dangerous because one then
+also ends up in an eight bit universe where font encodings play a role, while
+\LUATEX\ is an \UNICODE\ engine that expects \UTF\ and uses \OPENTYPE\ fonts.
+And, while languages seem to be a problem for the author and his|/|her friend,
+fonts seem to be an easy deal. In my experience it's more likely that a user runs
+into font issues because modern fonts operate on multiple axis: script, language
+and features.
+
+Maybe the confusion (or at that time accumulated frustration) is best summarized
+by \quotation {Moreover, I could not find any information on how one loads a lua
+package (i.e., some external lua package that is available in the TeX
+installation).} Well, again I'm sure that one can find some information on
+\LATEX\ support sites but as I already said: language support is so basic in a
+macro package that users can use some simple command to enable their favorite
+one. So, when \quotation {People know that they can load a LaTeX package with the
+\type {\usepackage} command but I have no information on how to load lua code.}
+the first part is what matters: \LUA\ files are often part of a package and
+thereby they get loaded by the package, also because often stand|-|alone usage
+makes not much sense.
+
+It is absolutely no problem if someone doesn't like (or maybe even hates)
+\LUATEX, but it's a different matter when we end up in disinformation, and even
+worse in comments that smell like conspiracy: there is an inner circle of
+\LUATEX\ developers and \quotation {Practically, this means that if one is not
+part of the inner circle of luaTeX developers, then she cannot really know what
+is really going on.} Really? Is this how user groups educate their users? There
+are manuals written, plenty of articles published, active mailing lists,
+presentations given, and there is support on platforms like Stack Exchange. And
+most of that (the development of \LUATEX\ included) is done by volunteers in
+their spare time, for free. Of course the groups of core developers are small but
+that is true for any development. History (in the \TEX\ community) has
+demonstrated that this is the only way to make progress at all, simply because
+there are too many different views on matters, and also because the time of
+volunteers is limited. It is the end result what counts and when that is properly
+embedded in the community all is fine. So we have some different engines like
+\TEX, \PDFTEX, \LUATEX, etc., different macro packages, specialized engines like
+those dealing with large \CJK\ fonts, all serving a different audience from the
+same ecosystem. Are these all secretive inner circles with bad intentions to
+confuse users?
+
+The blog post ends with \quotation {And this is exactly the reason why I do not
+like luaTeX.} to which I can only comment that I already long ago decided not to
+waste any time on users who in their comments sound like they were forced to use
+a \TEX\ system (and seem to dislike it, so probably are better off with Microsoft
+Word, but nevertheless like to bark against some specific \TEX\ tree), who
+complain about manuals not realizing that their own contributions might be rather
+minimalistic, maybe even counter productive, or possibly of not much use to
+potential users anyway. I also ignore those who love to brag about the many bugs,
+any small number suits that criterium, without ever mentioning how bugged their
+own stuff is, etc. If your ego grows by disregarding something you don't even
+use, it's fine for me.
+
+So why do I bother writing this? Because I think it is a very bad move and signal
+of a user group to mix personal dislike, whatever the reason is, with informing
+and educating users. If a group is that frustrated with developments, it should
+resolve itself. On the other hand, it fits well in how todays communication
+works: everyone is a specialist, which get confirmed by the fact that many
+publish (also on topics they should stay away from) on the web without fact
+checking, and where likes and page hits are interpreted as a confirmation of
+one's expertise. Even for the \TEX\ community there seems to be no escaping from
+this.
+
+The objectives of \TEX\ user groups shift, simply because users can find
+information and help online instead of at meetings and in journals. The physical
+\TEX\ distributions get replaced by fast downloads but they are definitely under
+control of able packagers. Maybe a new task of user groups is to act as guardian
+against disinformation. Of course one then has to run into these nonsense blogs
+(or comments on forums) and such but that can partly be solved by a mechanism
+where readers can report this. A user group can then try to make its own
+information better. However, we have a problem when user groups themselves are
+the source of disinformation. I see no easy way out of this. We can only hope
+that such a port drowns in the ocean of information that is already out there to
+confuse users. In the end a good and able \TEX\ friend is all you need to get
+going, right? The blog post leaves it open if the Greek text ever got typeset
+well. If not, there's always \CONTEXT\ to consider, but then one eventually ends
+up with \LUAMETATEX\ which might work on the author as another \quotation {\nl
+rode lap op een stier} as we say in Dutch.
+
+\stopchapter
+
+\stoptext
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-dontusetex.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-history.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-history.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-history.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,294 @@
+% language=us runpath=texruns:manuals/musings
+
+\startcomponent musings-history
+
+\environment musings-style
+
+\startchapter[title={All those \TEX's}]
+
+\startlines \setupalign[flushright]
+Hans Hagen
+Hasselt NL
+February 2020
+\stoplines
+
+% \startsection[title=Introduction]
+% \stopsection
+
+This is about \TEX, the program that is used as part of the large suite of
+resources that make up what we call a \quote {\TEX\ distribution}, which is used
+to typeset documents. There are many flavors of this program and all end with
+\type {tex}. But not everything in a distribution that ends with these three
+characters is a typesetting program. For instance, \type {latex} launches the a
+macro package \LATEX, code that feeds the program \type {tex} to do something
+useful. Other formats are Plain (no \type {tex} appended) or \CONTEXT\ (\type
+{tex} in the middle. Just take a look at the binary path of the \TEX\
+distribution to get an idea. When you see \type {pdftex} it is the program, when
+you see \type {pdflatex} it is the macro package \LATEX\ using the \PDFTEX\
+program. You won't find this for \CONTEXT\ as we don't use that model of mixing
+program names and macro package names.
+
+Here I will discuss the programs, not the macro packages that use them. When you
+look at a complete \TEXLIVE\ installation, you will see many \TEX\ binaries. (I
+will use the verbatim names to indicate that we're talking of programs). Of
+course there is the original \type {tex}. Then there is its also official
+extended version \type {etex}, which is mostly known for adding some more
+primitives and more registers. There can be \type {aleph}, which is a stable
+variant of \type {omega} meant for handling more complex scripts. When \PDF\
+became popular the \type {pdftex} program popped up: this was the first \TEX\
+engine that has a backend built in. Before that you always had to run an
+additional program to convert the native \DVI\ output of \TEX\ into for instance
+\POSTSCRIPT. Much later, \type {xetex} showed up, that, like \OMEGA, dealt with
+more complex scripts, but using recent font technologies. Eventually we saw \type
+{luatex} enter the landscape, an engine that opened up the internals with the
+\LUA\ script subsystem; it was basically a follow up on \type {pdftex} and \type
+{aleph}.
+
+The previous paragraph mentions a lot of variants and there are plenty more. For
+\CJK\ and especially Japanese there are \type {ptex}, \type {eptex}, \type
+{uptex}, \type {euptex}. Parallel to \type {luatex} we have \type {luajittex} and
+\type {luahbtex}. As a follow up on the (presumed stable) \type {luatex} the
+\CONTEXT\ community now develops \type {luametatex}. A not yet mentioned side
+track is \NTS\ (New \TEX\ system), a rewrite of good old \TEX\ in \JAVA, which in
+the end didn't take off and was never really used.
+
+There are even more \TEX's and they came and went. There was \type {enctex} which
+added encoding support, there were \type {emtex} and \type {hugeemtex} that
+didn't add functionality but made more possible by removing some limits on memory
+and such; these were quite important. Then there were vendors of \TEX\ systems
+that came up with variants (some had extra capabilities), like \type {microtex},
+\type {pctex}, \type {yandytex} and \type {vtex} but they never became part of
+the public effort.
+
+For sure there are more, and I know this because not so long ago, when I cleaned
+up some of my archives, I found \type {eetex} (extended \ETEX), and suddenly
+remembered that Taco Hoekwater and I indeed had experimented with some extensions
+that we had in mind but that never made it into \ETEX. I had completely forgotten
+about it, probably because we moved on to \LUATEX. It is the reason why I wrap
+this up here.
+
+In parallel there have been some developments in the graphic counterparts. Knuts
+\type {metafont} program got a \LUA\ enhanced cousin \type {mflua} while \type
+{metapost} (aka \type {mpost} or \type {mp}) became a library that is embedded in
+\LUATEX\ (and gets a follow up in \LUAMETATEX). I will not discuss these here.
+
+If we look back at all this, we need to keep in mind that originally \TEX\ was
+made by Don Knuth for typesetting his books. These are in English (although over
+time due to references he needed to handle different scripts than Latin, be it
+just snippets and not whole paragraphs). Much development of successors was the
+result of demands with respect to scripts other than Latin and languages other
+than English. Given the fact that (at least in my country) English seems to
+become more dominant (kids use it, universities switch to it) one can wonder if
+at some point the traditional engine can just serve us as well.
+
+The original \type {tex} program was actually extended once: support for mixed
+usage of multiple languages became possible. But apart from that, the standard
+program has been pretty stable in terms of functionality. Of course, the parts
+that made the extension interface have seen changes but that was foreseeable. For
+instance, the file system hooks into the \KPSE\ library and one can execute
+programs via the \type {\write} command. Virtual font technology was also an
+extension but that didn't require a change in the program but involved
+postprocessing the \DVI\ files.
+
+The first major \quote {upgrade} was \ETEX. For quite a while extensions were
+discussed but at some point the first version became available. For me, once
+\PDFTEX\ incorporated these extensions, it became the default. So what did it
+bring? First of all we got more than 256 registers (counters, dimensions, etc.).
+Then there are some extra primitives, for instance \type {\protected} that
+permits the definition of unexpandable macros (although before that one could
+simulate it at the cost of some overhead) and convenient ways to test the
+existence of a macro with \type {\ifdefined} and \type {\ifcsname}. Although not
+strictly needed, one could use \type {\dimexpr} for expressions. A probably
+seldom used extension was the (paragraph bound) right to left typesetting. That
+actually is a less large extension than one might imagine: we just signal where
+the direction changes and the backend deals with the reverse flushing. It was
+mostly about convenience.
+
+The \OMEGA\ project (later followed up by \ALEPH) didn't provide the additional
+programming related primitives but made the use of wide fonts possible. It did
+extend the number of registers, just by bumping the limits. As a consequence it
+was much more demanding with respect to memory. The first time I heard of \ETEX\
+and \OMEGA\ was at the 1995 euro\TEX\ meeting organized by the \NTG\ and I was
+sort of surprised by the sometimes emotional clash between the supporters of
+these two variants. Actually it was the first time I became aware of \TEX\
+politics in general, but that is another story. It was also the time that I
+realized that practical discussions could be obscured by nitpicking about
+speaking the right terminology (token, node, primitive, expansion, gut, stomach,
+etc.) and that one could best keep silent about some issues.
+
+The \PDFTEX\ follow up had quite some impact: as mentioned it had a backend built
+in, but it also permitted hyperlinks and such by means of additional primitives.
+It added a couple more, for instance for generating random numbers. But it
+actually was a research project: the frontend was extended with so called
+character protrusion (which lets glyphs hang into the margin) and expansion (a
+way to make the output look better by scaling shapes horizontally). Both these
+extensions were integrated in the paragraph builder and are thereby extending
+core code. Adding some primitives to the macro processor is one thing, adapting a
+very fundamental property of the typesetting machinery is something else. Users
+could get excited: \TEX\ renders a text even better (of course hardly anyone
+notices this, even \TEX\ users, as experiments proved).
+
+In the end \OMEGA\ never took off, probably because there was never a really
+stable version and because at some time \XETEX\ showed up. This variant was first
+only available on Apple computers because it depends on third party libraries.
+Later, ports to other systems showed up. Using libraries is not specific for
+\XETEX. For instance \PDFTEX\ uses them for embedding images. But, as that is
+actually a (backend) extension it is not critical. Using libraries in the
+frontend is more tricky as it adds a dependency and the whole idea about \TEX\
+was that is is independent. The fact that after a while \XETEX\ switched
+libraries is an indication of this dependency. But, if a user can live with that,
+it's okay. The same is true for (possibly changing) fonts provided by the
+operating system. Not all users care too strongly about long term compatibility.
+In fact, most users work on a document, and once finished store some \PDF\ copy
+some place and then move on and forget about it.
+
+It must be noted that where \ETEX\ has some limited right to left support,
+\OMEGA\ supports more. That has some more impact on all kinds of calculations in
+the machinery because when one goes vertical the width is swapped with the
+height|/|depth and therefore the progression is calculated differently.
+
+Naturally, in order to deal with scripts other than Latin, \XETEX\ did add some
+primitives. I must admit that I never looked into those, as \CONTEXT\ only added
+support for wide fonts. Maybe these extensions were natural for \LATEX, but I
+never saw a reason to adapt the \CONTEXT\ machinery to it, also because some
+\PDFTEX\ features were lacking in \XETEX\ that \CONTEXT\ assumed to be present
+(for the kind of usage it is meant for). But we can safely say that the impact of
+\XETEX\ was that the \TEX\ community became aware that there were new font
+technologies that were taking over the existing ones used till now. One thing
+that is worth noticing is that \XETEX\ is still pretty much a traditional \TEX\
+engine: it does for instance \OPENTYPE\ math in a traditional \TEX\ way. This is
+understandable as one realizes that the \OPENTYPE\ math standard was kind of
+fuzzy for quite a while. A consequence is that for instance the \OPENTYPE\ math
+fonts produced by the \GUST\ foundation are a kind of hybrid. Later versions
+adopted some more \PDFTEX\ features like expansion and protrusion.
+
+I skip the Japanese \TEX\ engines because they serve a very specific audience and
+provide features for scripts that don't hyphenate but use specific spacing and
+line breaks by injecting glues and penalties. One should keep in mind that before
+\UNICODE\ all kinds of encodings were used for these scripts and the 256
+limitations of traditional \TEX\ were not suited for that. Add to that demands
+for vertical typesetting and it will be clear that a specialized engine makes
+sense. It actually fits perfectly in the original idea that one could extend
+\TEX\ for any purpose. It is a typical example of where one can argue that users
+should switch to for instance \XETEX\ or \LUATEX\ but these were not available
+and therefore there is no reason to ditch a good working system just because some
+new (yet unproven) alternative shows up a while later.
+
+We now arrive at \LUATEX. It started as an experiment in 2005 where a \LUA\
+interpreter was added to \PDFTEX. One could pipe data into the \TEX\ machinery
+and query some properties, like the values of registers. At some point the
+project sped up because Idris Hamid got involved. He was one of the few \CONTEXT\
+users who used \OMEGA\ (which it actually did support to some extent) but he was
+not satisfied with the results. His oriental \TEX\ project helped pushing the
+\LUATEX\ project forward. The idea was that by opening up the internals of \TEX\
+we could do things with fonts and paragraph building that were not possible
+before. The alternative, \XETEX\ was not suitable for him as it was too bound to
+what the libraries provides (rendering then depends on what library gets used and
+what is possible at what time). But, dealing with scripts and fonts is just one
+aspect of \LUATEX. For instance more primitives were added and the math machinery
+got an additional \OPENTYPE\ code path. Memory constraints were lifted and all
+became \UNICODE\ internally. Each stage in the typesetting process can be
+intercepted, overloaded, extended.
+
+Where the \ETEX\ and \OMEGA\ extensions were the result of many years of
+discussion, the \PDFTEX, \XETEX\ and \LUATEX\ originate in practical demands.
+Very small development teams that made fast decisions made that possible.
+
+Let's give some more examples of extensions in \LUATEX. Because \PDFTEX\ is the
+starting point there is protrusion and expansion, but these mechanisms have been
+promoted to core functionality. The same is true for embedding images and content
+reuse: these are now core features. This makes it possible to implement them more
+naturally and efficiently. All the backend related functionality (literal \PDF,
+hyperlinks, etc) is now collected in a few extension primitives and the code is
+better isolated. This took a bit of effort but is in my opinion better. Support
+for directions comes from \OMEGA\ and after consulting with its authors it was
+decided that only four made sense. Here we also promoted the directionality to
+core features instead of extensions. Because we wanted to serve \OMEGA\ users too
+extended \TFM\ fonts can be read, not that there are many of them, which fits
+nicely into the whole machinery going 32~instead of 8~bits. Instead of the \ETEX\
+register model, where register numbers larger than 255 were implemented
+differently, we adopted the \OMEGA\ model of just bumping 256 to 65536 (and of
+course, 16K would have been sufficient too but the additional memory it uses can
+be neglected compared to what other programs use and|/|or what resources users
+carry on their machines).
+
+The modus operandi for extending \TEX\ is to take the original literate \WEB\
+sources and define change files. The \PDFTEX\ program already deviated from that
+by using a monolithic source. But still \PASCAL\ is used for the body of core
+code. It gets translated to \CCODE\ before being compiled. In the \LUATEX\
+project Taco Hoekwater took that converted code and laid the foundation for what
+became the original \LUATEX\ code base.
+
+Some extensions relate to the fact that we have \LUA\ and have access to \TEX's
+internal node lists for manipulations. An example is the concept of attributes.
+By setting an attribute to a value, the current nodes (glyphs, kerns, glue,
+penalties, boxes, etc) get these as properties and one can query them at the
+\LUA\ end. This basically permits variables to travel with nodes and act
+accordingly. One can for instance implement color support this way. Instead of
+injecting literal or special nodes that themselves can interfere we now can have
+information that does not interfere at all (apart from maybe some performance
+hit). I think that conceptually this is pretty nice.
+
+At the \LUA\ one has access to the \TEX\ internals but one can also use specific
+token scanners to fetch information from the input streams. In principle one can
+create new primitives this way. It is always a chicken|-|egg question what works
+better but the possibility is there. There are many such conceptual additions
+in \LUATEX, which for sure makes it the most \quote {aggressive} extension of
+\TEX\ so far. One reason for these experiments and extensions is that \LUA\
+is such a nice and suitable language for this purpose.
+
+Of course a fundamental part of \LUATEX\ is the embedded \METAPOST\ library. For
+sure the fact that \CONTEXT\ integrates \METAPOST\ has been the main reason for
+that.
+
+The \CONTEXT\ macro package is well adapted to \LUATEX\ and the fact that its
+users are always willing to update made the development of \LUATEX\ possible.
+However, we are now in a stage that other macro packages use it so \LUATEX\ has
+entered a state where nothing more gets added. The \LATEX\ macro package now
+also supports \LUATEX, although it uses a variant that falls back on a library to
+deal with fonts (like \XETEX\ does).
+
+With \LUATEX\ being frozen (of course bugs will be fixed), further exploration
+and development is now moved to \LUAMETATEX, again in the perspective of
+\CONTEXT. I will not go into details apart from saying that is is a lightweight
+version of \LUATEX. More is delegated to \LUA, which already happened in
+\CONTEXT\ anyway, but also some extra primitives were added, mostly to enable
+writing nicer looking code. However, a major aspect is that this program uses a
+lean and mean code base, is supposed to compile out of the box, and that sources
+will be an integral part of the \CONTEXT\ code base, so that users are always in
+sync.
+
+So, to summarize: we started with \type {tex} and moved on to \type {etex} and
+\type {pdftex}. At some point \type {omega} and \type {xetex} filled the
+\UNICODE\ and script gaps, but it now looks like \type {luatex} is becoming
+popular. Although \type {luatex} is the reference implementation, \LATEX\
+exclusively uses \type {luahbtex}, while \CONTEXT\ has a version that targets at
+\type {luametatex}. In parallel, the \type {[e][u][p]tex} engines fill the
+specific needs for Japanese users. In most cases, good old \type {tex} and less
+old \type {etex} are just shortcuts to \type {pdftex} which is compatible but has
+the \PDF\ backend on board. That 8 bit engine is not only faster than the more
+recent engines, but also suits quite well for a large audience, simply because
+for articles, thesis, etc. (written in a Latin script, most often English) it
+fits the bill well.
+
+I deliberately didn't mention names and years as well as detailed pros and cons.
+A user should have the freedom to choose what suits best. I'm not sure how well
+\TEX\ would have evolved or will evolve in these days of polarized views on
+operating systems, changing popularity of languages, many (also open source)
+projects being set up to eventually be monetized. We live in a time where so
+called influencers play a role, where experience and age often matters less than
+being fancy or able to target audiences. Where something called a standard today
+is replaced quickly by a new one tomorrow. Where stability and long term usage of
+a program is only a valid argument for a few. Where one can read claims that one
+should use this or that because it is todays fashion instead of the older thing
+that was the actually the only way to achieve something at all a while ago. Where
+a presence on facebook, twitter, instagram, whatsapp, stack exchange is also an
+indication of being around at all. Where hits, likes, badges, bounties all play a
+role in competing and self promotion. Where today's standards are tomorrow's
+drawbacks. Where even in the \TEX\ community politics seem to creep in. Maybe you
+can best not tell what is your favorite \TEX\ engine because what is hip today
+makes you look out of place tomorrow.
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-history.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-introduction.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-introduction.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-introduction.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -19,13 +19,21 @@
{Stability}.
Many of the thoughts in these articles are influenced by discussions with my
-colleagues Ton Otten and Kees van Marle. Operating in a similar arena, they
-provide me the reflection needed to sort out my thoughts on these matters.
+colleagues Ton Otten and Kees van Marle, users and developers. Operating in a
+similar arena, they provide me the reflection needed to sort out my thoughts on
+these matters.
+The order in this document is not chronological. In the meantime we also put some
+development related stories in this collection, just because they have to fit in
+somewhere.
+
+Not all musings are checked and copy|-|edited so let me know if there are errors
+and typos in them.
+
\startlines
Hans Hagen
Hasselt NL
-2017\endash 1028
+2017\endash 2023+
\stoplines
\stopchapter
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-manuals.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-manuals.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-manuals.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,236 @@
+% language=us runpath=texruns:manuals/musings
+
+% \showfontkerns
+
+% \setupalign[granular]
+
+\startcomponent musings-manuals
+
+\environment musings-style
+
+\startchapter[title={About manuals}]
+
+\startsection[title={Introduction}]
+
+I'm always puzzled when I read that someone wonders if \CONTEXT\ is still up to
+date or maintained because some manual has a timestamp of a decade ago. I'm also
+puzzled by some rants you can run into when searching the web. In the next few
+paragraphs I'll comment on this.
+
+\stopsection
+
+\startsection[title={Stability}]
+
+Say that you're an enthusiastic user of console commands like \type {ls} (\type
+{dir}), \type {cp} (\type {copy}) or maybe \type {ssh}, \type {rsync}, \type
+{curl}. How often do you consult a manual on how they evolve? And say that you,
+for some reason, do consult a manual, there is a good change that it is
+pretty old. Does that mean that the commands are obsolete? The binaries probably
+get fixed for bugs but the interface stays the same, which is what you expect.
+Every time we generate a zip for the \CONTEXT\ distribution, the related website
+also gets generated, using a bunch of \XML\ files that get transformed to \HTML\
+using \XSLT\ and a pretty ancient version of \type {xsltproc} (why should I
+update). I never check for a new manual as it keeps doing the job. And additional
+manuals and reports get added.
+
+So, once some functionality is stable, and a lot of macro code in \CONTEXT\ is
+just that, there is no need to update a manual! Putting a new time stamp on it is
+basically fake updating. And often the more introductionary kind of manuals don't
+need to be updated at all, apart from maybe cultural changes that demand a
+(political correct) update. Them being a bit old and not being updated is
+actually a good thing as it signals stability.
+
+It is worth mentioning that the \CONTEXT\ distribution is not the only source of
+information. There are manuals written by others and there is the Wiki. All is
+the work of volunteers and updating all that depends on how much time one can
+allocate.
+
+\stopsection
+
+\startsection[title={Excuses}]
+
+It is a fact that \CONTEXT\ evolves. New functionality gets added and some
+mechanism get extended. Often these are described in dedicated manuals or
+articles that end up in collections, and there are plenty of them in the
+distribution. For some reason those complaining about a beginners manual with an
+old time stamp don't check if there is more, and there is quite some more! Don't
+only look at the \CONTEXT\ garden (the wiki) but also keep an eye on what gets
+distributed. Some users are very good in track of what gets added, because
+sometimes I get fixes for typos send within a few hours after uploading a zip.
+
+We appreciate that other users point out that writing manuals takes time and that
+indeed our time is not without limits. If I could sit down and write manuals
+whole day, and it would get paid, I might do it. But it is a fact that
+development of \CONTEXT\ is not paid for at all. I can work on it in company time
+but much happens in spare time. Most development is a gamble on future use or
+done because we want to be complete or because code can be improved. So, writing
+a manual then closely relates to what we like doing: it determines the topics and
+priorities. If something gets explored and ends up in new functionality then that
+gets documented in the process. It is the fun factor that drives it. The same is
+true for \LUATEX\ development.
+
+So, we have as valid excuse that new manuals relate to (new) functionality and
+old ones stay as they are. Don Knuth remarks somewhere that writing a manual as
+part of the development is a good thing. We fully agree with that.
+
+\stopsection
+
+\startsection[title={Cutting edge}]
+
+Does an old manual indicate that nothing happens? Definitely not. Over a decade
+of \LUATEX\ development is closely related to \CONTEXT\ and there is plenty of
+reporting about that. Does that mean that we need to rewrite manuals? No,
+existing functionality remains. And of course users are free to come up with
+more detailed manuals (which they seldom do). Some developments get published
+in user group journals but we don't publish much about specific \CONTEXT\ features
+and usage because it's hard to do that for a diverse audience.
+
+Currently we have what is called \CONTEXT\ \MKXL\ (aka \LMTX), but we also have
+the prelude to that, \MKIV, and the frozen predecessor \MKII. Apart from changes in
+technology (most noticeably fonts and encodings) the functionality is accumulative:
+most old manuals (unless they are specialized into old school fonts for instance)
+apply to the latest greatest version.
+
+It is a misunderstanding that the development of \CONTEXT, \LUATEX\ and
+\LUAMETATEX\ is somehow funded by projects that we do. This is not true. We can
+apply both in projects but as we charge by the hour (or day) no customer ever
+sees development on the bill. Of course during a project we can gain on
+efficiency (so then development pays back) and because we know the system style
+writing is efficient too. In fact, in most cases our customers don't know or care
+what tool we use because tools are expected to be part of the deal. Most projects
+we can (and could) only do because we can use \CONTEXT\ and that is a side effect
+of the fact that we do develop beforehand. We're often the only technically
+and|/|or affordable way out. It's a chicken|-|egg issue: we have a tool and
+therefore get a project. We never get a projects where we can develop a tool. No
+one pays for \TEX\ development or at least no one ever came to us with specific
+\TEX\ related demands. It looks like the world takes it for granted that \TEX\ is
+just there. \footnote {There are a few subcomponents of \CONTEXT\ that were
+partially sponsored by users and we do have some support contracts that permit
+experiments and development.}
+
+The reason for \CONTEXT\ being cutting edge (in terms of \TEX) is that we like
+challenges, that users demand features that are interesting to explore and that
+we've been part of the \TEX\ scenery for a while now. We just like that.
+
+It's good to know that \CONTEXT\ was and is developed as a toolkit. We started
+long ago because we needed a way to quickly create and update reports of meetings
+that we chaired. Next we needed a way to efficiently produce high quality
+education materials (of various kind) and support maintenance of sets of related
+(quality assurance) manuals. We could have used wordstar, wordperfect or msword
+but liked the \TEX\ way much more. As said, most customers didn't even know or
+care what tool was used because the (often highly interactive \PDF) outcome
+mattered most. In fact, we would not be interested in this kind of work if we
+were forced to use clumsy tools, but for sure a lot can be done with those as
+well.
+
+\stopsection
+
+\startsection[title={Continuity}]
+
+Most development happens at \PRAGMA\ by me (Hans) with help from my two
+colleagues (Ton and Kees) and the community (Aditya, Alan, Mikael, Mojca, Luigi,
+Hraban, Taco, Thomas, Tomas, Willi, Wolfgang, and others). \footnote {More names
+could be here as I write this in 2022.} I won't mention those on the mailing list
+who contribute with ideas, testing and support, but they can't be missed. The
+biggest danger for continuity is a polluted code base where everyone just pushed
+code into a repository. So this is closely guarded. A user patch might work well
+for that user but can break something else.
+
+With \TEX\ you need to keep in mind that once a solution works there is no need
+to update code or manuals. As long as there is a working \LUATEX\ (\LUAMETATEX)
+binary you're fine. Maybe if some specific fonts are used, a filename might need
+to be adapted.
+
+An example. When we added a new \XML\ subsystem to \CONTEXT\ \MKIV\ we knew that
+some day we could use it. We now uses it in a few projects and I'm pretty sure
+that we would not do these projects otherwise as it would demand writing quite
+complex \XSLT\ style sheets that then would have to be applied to thousands of
+files per run. To some extend what is available in \CONTEXT\ sort of drives the
+kind of work you look for. That said: if you consider using \CONTEXT\ for simple
+or complex documents, either of not in a collection, either or not using \TEX\ or
+\XML\ input you can be assured that this will work (and might even get better)
+because we use it ourselves.
+
+If you want to get an idea about development, just look at the (five) documents
+that describe the development of \LUATEX\ (\LUAMETATEX). Locating them in the
+distribution is a good opportunity to explore the documents. They will show you
+what happened the last decade(s) and give you some trust in \CONTEXT. Or come to
+a \CONTEXT\ meeting and meet those involved.
+
+\stopsection
+
+% \startsection[title={Stay away}]
+%
+% There are reasons why you won't find us (me) on some social media. First of all
+% we like using the mailing list. It puts some time between what one thinks or
+% wants to ask and actually getting it out in the open. After all, one might regret
+% a too spontaneous complain or even rant, so it sort of protects subscribers.
+%
+% It is not that hard to search the web (say Reddit) and find someone complaining
+% about something \TEX\ (or \CONTEXT) related, including \type {f**ck} kind of
+% wording. If you're in that category, please stay away from \CONTEXT\ or try to
+% constrain yourself. It won't trigger help. Why on earth does one rant about a
+% system that one doesn't like unless maybe one is enforced to use it. We prefer 10
+% out of 10000 \TEX\ users using \CONTEXT\ over 1000 of which 990 are unhappy: use
+% another macro package and be part of the possible unhappy crowd there. We're not
+% selling a product, we're sharing a potential useful tool! Also keep in mind that
+% (as I know a bit about \TEX\ and its ecosystem) it would be very easy for me to
+% counter you if I really wanted that; it might make you look ridiculous.
+%
+% That said, we see no benefit in being on Facebook. I never look for something
+% there myself I'm too unfamiliar with it, I have nothing to share and and don't
+% look forward to keeping something up to date. There is no need for an instant
+% news channel on Whatsapp, Instagram, Telegram, Tiktok or other media that are
+% driven by advertisements and filtering user data. We could post tutorials on
+% YouTube but don't. It is already bad enough that I have to endure advertisements
+% myself, let alone that users get bombarded by unrelated crap. We could have a
+% fancy website and try to sell \CONTEXT\ \quote {professional} or present some
+% \quote {plans}, but we like to keep it simple: the site is generated when we push
+% an update and has been for decades so little work is involved in that. We don't
+% keep statistics, let alone have trackers. I see no benefit in it and I don't
+% like to waste time on that either.
+%
+% We are not on Stack Exchange but other \CONTEXT\ developers post very nice
+% \CONTEXT\ answers there. Personally I just don't like a system with likes, votes,
+% counters and somewhat persistent old (sometimes confusing) stuff. But I'm
+% thankful for others who can deal with it.
+%
+% We could have a Patreon account but that's not how we work here and from seeing
+% how it is used it would make me feel uncomfortable anyway. In a similar fashion
+% we don't see benefits in commercializing the Github repository. Those who need
+% support or and want to support development can find us if they want to.
+%
+% We have always participated in \TEX\ meetings and publish in use group journals
+% about developments and such. We also have always been pretty active in the
+% community and like it there. Just stay away from it when ranting is all you can
+% contribute.
+%
+% \stopsection
+
+\startsection[title={Closing remark}]
+
+So next time someone asks if \CONTEXT\ is maintained because some old manual
+stays around, return the question if frequently updated manuals are a sign of
+stability. Also ask if someone looked a bit in the documentation tree. The oldest
+manual in the \TEX\ world is the \TEX book that describes the oldest stable set
+of macros: plain \TEX. There are happy users out there who love that stability.
+If it were not for the wonderful personality of Don Knuth this program would
+already been forgotten. I think that long term stability and unchanged code and
+manuals are something that we need to cherish and get accustomed to, which is not
+easy in a time when a phone and its operating system are outdated as soon as you
+unbox it. It's also not easy in a time of instant communication, more and more
+confused by what is called artificial intelligent mumbling, but that's for
+another wrapup.
+
+\stopsection
+
+\startlines
+Hans Hagen
+Hasselt NL
+
+(uncorrected so there's something left to complain)
+\stoplines
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-manuals.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-perfection.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-perfection.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-perfection.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,124 @@
+% language=us runpath=texruns:manuals/musings
+
+\startcomponent musings-perfection
+
+\environment musings-style
+
+\startchapter[title={Do we need perfection ?}]
+
+\startsection[title={Introduction}]
+
+It doesn't take much imagination to think of a future were jobs become less
+interesting. Automation and especially machine learning will dominate more and
+more. At least in the Netherlands there is a tendency to talk in terms of jobs
+that assume \quotation {highly educated} folk, but often that is just a way to
+boost one's self esteem, of worse, to suggest that a job is very interesting. In
+this perspective the term {\em bs job} comes up. I like working with computers
+but I'm not sure if I'd choose to work with them when I were young: the
+perspective often for instance {\em scrumming through the workload} doesn't
+really attract me. Add to that the fact that todays employer tomorrow has a
+different owner and changed objectives and it becomes even less attractive.
+
+I often get the impression that the more constructive jobs are also the more
+interesting ones but alas they are not that advocated (or popular). On the
+Internet you can find plenty videos of the amazing things that humans can do.
+Incredible mechanical solutions: buildings, ships, planes, gears, waterworks,
+chips, and when you go a bit back in time you'll notice that often what we
+consider advanced today was inspired by the past (hint: search for lunar module
+computer and colossus if you're interested in the origins of computing as we know
+it today).
+
+When you read about old school typography it is clear that we are dealing with a
+craft. At some point extensive manual labor got assistance from tools: chisels,
+lead letter forms, the printing press, semi|-|automated mechanical devices like
+Monotype and Linotype but it was still craftmanship that was in demand. These
+tools made it possible to scale up.
+
+When computers came around the landscape changed. The things that could not be
+automated still demanded manual intervention but soon (at least that is what we
+noticed) the demands simply changed. When the computer cannot hyphenate well,
+just forget about it and there's always an argument to come up with. And yes,
+much of today's typesetting is not really new but comes from the (near) past. The
+Monotype 4|-|line system for math looks quite interesting and advanced. If you
+think that our emoji are hip and modern, just look at what the Aztec did.
+
+The \TEX\ system has always been a bit different because it demands some manual
+work to get things right. Of course one can use some precooked style but then
+we're not talking craftmanship. The focus is then on the content and if it looks
+kind of right all is good. It either gets retypeset \quotation {far far away} or
+when it is just pushed on the web no one bothers (it has best fit on a phone).
+
+It is really puzzling to see how little attention is paid to digitizing documents
+It is not too hard to find 150 dpi scans where the pages were scanned in an angle
+of relatively recent documents \typ
+{https://www.tug.org/docs/liang/liang-thesis.pdf}. When I finally decided to buy
+the original \CCODE\ book, a wondered why I had to pay some 60 dollar for what
+looks like either a bad scan or some low quality digital print and after a first
+glance I decided that I'll probably throw it in the paper bin some day soon
+because I can as well use some bad scan from Internet. One of my first buys with
+respect to typesetting was \quotation {Digital Typography: An Introduction to
+Type and Composition for Computer System Design} by Richard Rubinstein. That one
+was done on a Mac with MSWord in 1988 and looks better than the average document
+done by \TEX\ that students get from their teachers who were (probably) educated
+around that time. It's more about paying attention than about the tools.
+
+The idea behind \CONTEXT\ macro package is (and will be) that users themselves
+have some influence on what it does. There is no way that it can compete in the
+\TEX\ domain with precooked styles simply because the standard has been set very
+early to \LATEX\ (and \AMS\ math) and most marketing in the community targets to
+such usage. One|-|time and one|-|shot users, of whom I bet some {\em have to} use
+\TEX, but would gladly use something else, are not the audience for \CONTEXT. So
+that brings us to questions like \quotation {What are the objectives of a macro
+package like \CONTEXT ?}, \quotation {Do we need to provide perfect solutions.},
+\quotation {What do users want?}. Being forced to use (a) \TEX\ (macro package)
+is not much different from being forced to use an operating system, editor or
+programming language. In the end there has to be a \quote {click} and when it's
+there long term happy usage will often also lead to mastery and satisfaction.
+
+Another set of questions relate to how eager we should be to keep up with all
+demands. Do we really need to listen to publishers, especially when there is no
+real indication of interest in typesetting but more in growth, profit, periodical
+selling oneself. Demands change and standards come and go. A good example of a
+currently popular demand is tagging documents, but when you look at that from
+that with \TEX\ glasses on it is kind of weird. A \TEX\ based system can pretty
+well render any variant of a document and target specific needs: paper, screen,
+dedicated devices, different fonts, colors etc.\ is all pretty trivial. If a
+house is not well accessible you adapt it. If clothing doesn't fit, you shop for
+a different make. If you have an allergy you get different food. When it comes to
+documents we can distribute variants and even the source. Not doing that when
+there is demand is just laziness, unwillingness or going cheap. So, should we
+adapt, or should we be more creative with designs and target alternative (and
+multiple) media? If we don't, at least we should come up with good reasons.
+
+To go back to what I started with: how do we keep working with documents, coming
+up with solutions, playing with layout, interesting? It might as well be that in
+the future when the ratio employment versus free time also gives more room for
+figuring things out. The interaction between coming with the content and somehow
+present it using tools like \CONTEXT\ can have a positive result on the final
+product. Isn't is a nice challenge to serve a broad audience with well tuned
+documents?
+
+My impression is that the more extensive \CONTEXT\ users have enough freedom to
+use a system like that. They are probably not working at large companies or in
+large organizations that impress tools and methods. So a valid question is: how
+does a system have to look like in order to draw those users into the game and
+how does it keep them in a position that they can keep using it. We don't need
+perfect, all automated, human replacement tools, do we? We're more talking
+\quote {toolkit}, aren't we?
+
+I'd like users to come up with additional sections here. How do they use
+\CONTEXT ? What do they expect from a system like that? How should it evolve?
+Where should it stop? What challenges should it leave to the user? What can go
+and what (kind of control) should be added?
+
+\stopsection
+
+\startsection[title={Your turn}]
+
+{\em user contributions}
+
+\stopsection
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-perfection.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-performance.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-performance.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-performance.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,382 @@
+% language=us runpath=texruns:manuals/musings
+
+% \usemodule[abbreviations-smallcaps]
+
+\startcomponent musings-performance
+
+\environment musings-style
+
+\startchapter[title={Performance again}]
+
+\startlines \setupalign[flushright]
+Hans Hagen
+Hasselt NL
+Februari 2020 (public 2023)
+\stoplines
+
+\startsection[title=Introduction]
+
+In a \MAPS\ article of 2019 I tried to answer the question \quote {Is \TEX\
+really slow?}. A while after it was published on the Dutch \TEX\ mailing list a
+user posted a comment stating that in his experience the \LUATEX\ engine in
+combination with \LATEX\ was terribly slow: one page per second for a Japanese
+text. It was also slower than \PDFTEX\ with English, but for Japanese it was
+close to unusable. The alternative, using a Japanese \TEX\ engine was no option
+due to lack of support for certain images.
+
+In order to check this claim I ran a test in \CONTEXT. Even on my 8 year old
+laptop I could get 45 pages per second for full page Japanese texts (6 paragraphs
+with each 300 characters per page): 167 pages took just less than 4 seconds.
+Typesetting Japanese involves specific spacing and line break handling. So,
+naturally the question arises: why the difference. Frans Goddijn wondered if I
+could explain a bit more about that, so here we go.
+
+In the mentioned article I already have explained what factors play a role and
+the macro package is one of them. It is hard to say to what extent inefficient
+macros or a complex layout influence the runtime, but my experience is that it is
+pretty hard to get speeds as low as 1 page per second. On an average complex
+document like the \LUATEX\ manual (lots of verbatim and tables, but nothing else
+demanding apart from color being used and a unique \METAPOST\ graphic per page) I
+get at least a comfortable 20 pages per second.
+
+I can imagine that for a \TEX\ user who sees other programs on a computer do
+complex things fast, the performance of \TEX\ is puzzling. But, where for
+instance rendering videos can benefit from specific features of (video)
+processors, multiple cores, or just aggressive optimization by compilers of
+(nested) loops and manipulation of arrays of bytes, this is not the case for
+\TEX. This program processes all in sequence, there is not much repetition that
+can be optimized, it cannot exploit the processor in special ways and the
+compiler can not do that many optimizations.
+
+I can't answer why a \LATEX\ run is slower than a \CONTEXT\ run. Actually, one
+persistent story has always been that \CONTEXT\ was slow in comparison. But maybe
+it helps to know a bit what happens deep down in \TEX\ and how macro code can
+play a role in performance. When doing that I will simplify things a bit.
+
+\stopsection
+
+\startsection[title=Text and nodes]
+
+The \TEX\ machinery takes input and turns that into some representation that can
+be turned into a visual representation ending up as \PDF. So say that we have
+this:
+
+\starttyping
+hello
+\stoptyping
+
+In a regular programming language this is a string with five characters. When the
+string is manipulated it is basically still a sequence of bytes in memory. In
+\TEX, if this is meant as text, at some point the internal representation is a so
+called node list:
+
+\starttyping
+[h] -> [e] -> [l] -> [l] -> [o]
+\stoptyping
+
+In traditional \TEX\ these are actually character nodes. They have a few properties,
+like what font the character is from and what the character code is (0 up to 255).
+At some point \TEX\ will turn that list into a glyph list. Say that we have this:
+
+\starttyping
+efficient
+\stoptyping
+
+This will eventually become seven nodes:
+
+\starttyping
+[e] -> [ffi] -> [c] -> [i] -> [e] -> [n] -> [t]
+\stoptyping
+
+The ffi ligature is a glyph node which actually also keeps information about this
+one character being made from three.
+
+In \LUATEX\ it is different, and this is one of the reasons for it being slower. We
+stick to the first example:
+
+\starttyping
+[h] <-> [e] <-> [l] <-> [l] <-> [o]
+\stoptyping
+
+So, instead of pointing to the next node, we also point back to the previous: we
+have a double linked list. This means that all over the program we need to
+maintain these extra links too. They are not used by \TEX\ itself, but handy at
+the \LUA\ end. But, instead of only having the font as property there is much
+more. The \TEX\ program can deal with multiple languages at the same time and
+this relates to hyphenation. In traditional \TEX\ there are language nodes that
+indicate a switch to another language. But in \LUATEX\ that property is kept with
+each glyph node. Actually, even specific language properties like the hyphen min,
+hyphen max and the choice if uppercase should be hyphenated are kept with these
+nodes. Spaces are turned into glue nodes, and these nodes are also larger than in
+regular \TEX\ engines.
+
+So, in \LUATEX, when a character goes from the input into a node, a more complex
+data structure has to be set up and the larger data structure also takes more
+memory. That in turn means that caching (close to the \CPU) gets influenced. Add
+to that the fact that we operate on 32 bit character values, which also comes
+with higher memory demands.
+
+We mentioned that a traditional engine goes from one state of node list into
+another (the ligature building). Actually this is an integrated process: a lot
+happens on the fly. If something is put into a \type {\hbox} no hyphenation takes
+place, only ligature building and kerning. When a paragraph is typeset,
+hyphenation happens on demand, in places where it makes sense.
+
+In \LUATEX\ these stages are split. A node list is {\em always} hyphenated. This
+step as well as ligature building and kerning are {\em three} separate steps. So,
+there's always more hyphenation going on than in a traditional \TEX\ engine: we
+get more discretionary nodes and again these take more memory than before; also
+the more nodes we have, the more it will impact performance down the line. The
+reason for this is that each step can be intercepted and replaced by a \LUA\
+driven one. In practice, with modern \OPENTYPE\ fonts that is what happens: these
+are dealt with (or at least managed in) \LUA. For Japanese for sure the
+built|-|in ligature and kerning doesn't apply: the work is delegated and this
+comes at a price. Japanese needs no hyphenation but instead characters are
+treated with respect to their neighbors and glue nodes are injected when needed.
+This is something that \LUA\ code is used for so here performance is determined
+by how well the plugged in code behaves. It can be inefficient but it can also be
+so clever that it just takes a bit of time to complete.
+
+I didn't mention another property of nodes: attributes. Each node that has some
+meaning in the node list (glyphs, kerns, glue, penalties, discretionary,
+\unknown, these terms should ring bells for a \TEX\ user) have a pointer to an
+attribute list. Often these are the same for neighboring nodes, but they can be
+different. If a macro package sets 10 attributes, then there will be lists of ten
+attributes nodes (plus some overhead) active. When values change, copies are made
+with the change applied. Grouping even complicates this a little more. This has
+an impact on performance. Not only need these lists be managed, when they are
+consulted at the \LUA\ end (as they are meant as communication with that bit of
+the engine) these lists are interpreted. It all adds up to more runtime. There is
+nothing like that in traditional \TEX, but there some more macro juggling to
+achieve the same effects can cause a performance hit.
+
+\stopsection
+
+\startsection[title=Macros and tokens]
+
+When you define a macro like this:
+
+\starttyping
+\def\MyMacro#1{\hbox{here: #1!}}
+\stoptyping
+
+the \TEX\ engine will parse this as follows (we keep it simple):
+
+\starttabulate[|Tc|l|]
+\NC \string\def \NC primitive token \NC \NR
+\NC \string\MyMacro \NC user macro pointing to: \NC \NR
+\NC \char\hashasciicode 1 \NC argument list of length 1 and no delimiters \NC \NR
+\NC \char\leftbraceasciicode \NC openbrace token \NC \NR
+\NC \string\hbox \NC hbox primitive token \NC \NR
+\NC h \NC letter token h \NC \NR
+\NC e \NC letter token e \NC \NR
+\NC r \NC letter token r \NC \NR
+\NC e \NC letter token e \NC \NR
+\NC : \NC other token : \NC \NR
+\NC \NC space token \NC \NR
+\NC \char\hashasciicode 1 \NC reference to argument \NC \NR
+\NC ! \NC other token ! \NC \NR
+\NC \char\rightbraceasciicode \NC close brace token \NC \NR
+\stoptabulate
+
+The \type {\def} is eventually lost, and the meaning of the macro is stored as a
+linked list of tokens that get bound to the user macro \type {\MyMacro}. The details
+about how this list is stored internally can differ a bit per engine but the idea
+remains. If you compare tokens of a traditional \TEX\ engine with \LUATEX, the main
+difference is in the size: those in \LUATEX\ take more memory and again that impacts
+performance.
+
+\stopsection
+
+\startsection[title=Processing]
+
+Now, for a moment we step aside and look at a regular programming language, like
+\PASCAL, the language \TEX\ is written in, or \CCODE\ that is used for \LUATEX.
+The high level definitions, using the syntax of the language, gets compiled into
+low level machine code: a sequence of instructions for the \CPU. When doing so
+the compiler can try to optimize the code. When the program is executed all the
+\CPU\ has to do is fetch the instructions, and execute them, which in turn can
+lead to fetching data from memory. Successive versions of \CPU's have become more
+clever in handling this, predicting what might happen, (pre) fetching data from
+memory etc.
+
+When you look at scripting languages, again a high level syntax is used but after
+interpretation it becomes compact so called bytecode: a sequence of instructions
+for a virtual machine that itself is a compiled program. The virtual machine
+fetches the bytes and acts upon them. It also deals with managing memory and
+variables. There is not much optimization going on there, certainly not when the
+language permits dynamically changing function calls and such. Here performance
+is not only influenced by the virtual machine but also by the quality of the
+original code (the scripts). In \LUATEX\ we're talking \LUA\ here, a scripting
+language that is actually considered to be pretty fast.
+
+Sometimes bytecode can be compiled Just In Time into low level machine code but
+for \LUATEX\ that doesn't work out well. Much \LUA\ code is executed only once or
+a few times so it simply doesn't pay off. Apart from that there are other
+limitations with this (in itself impressive) technology so I will not go into
+more detail.
+
+So how does \TEX\ work? It is important to realize that we have a mix of input
+and macros. The engine interprets that on the fly. A character enters the input
+and \TEX\ has to look at it in the perspective of what it what it expects. It is
+just a character? Is it part of a control sequence that started (normally) with a
+backslash? Does it have a special meaning, like triggering math mode? When a
+macro is defined, it gets stored as a linked list of tokens and when it gets
+called the engine has to expand that meaning. In the process some actions
+themselves kind of generate input. When that happens a new level of input is
+entered and further expansion takes place. Sometimes \TEX\ looks ahead and when
+not satisfied, pushes something back into the input which again introduces a new
+level. A lot can happen when a macro gets expanded. If you want to see this, just
+add \type {\tracingall} at the top of your file: you will be surprised! You will
+not see how often tokens get pushed and popped but you can see how much got
+expanded and how often local changes get restored. By the way, here is something
+to think about:
+
+\starttyping
+\count4=123
+\advance \count4 by 123
+\stoptyping
+
+If this is in your running text, the scanner sees \type {\count} and then
+triggers the code that handles it. That code expects a register number, here that
+is the \type {4}. Then it checks if there is an optional \type {=} which means
+that it has to look ahead. In the second line it checks for the optional keyword
+\type {by}. This optional scanning has a side effect: when the next token is {\em
+not} an equal or keyword, it has to push back what it just read (we enter a new
+input level) and go forward. It then scans a number. That number ends with a
+space or \type {\relax} or something not being a number. Again, some push back
+onto the input can happen. In fact, say that instead of \type {4} we have a macro
+indicating the register number, intermediate expansion takes place. So, even
+these simple lines already involve a lot of action! Now, say that we have this
+
+\starttyping
+% \newcounter \scratchcounter % done once
+\scratchcounter 123
+\scratchcounter =123
+\advance\scratchcounter by 123
+\advance\scratchcounter 123
+\stoptyping
+
+Can you predict what is more efficient? If this operation doesn't happen
+frequently, performance wise there is no real difference between the variants
+with and without \type {=} and with and without \type {b}. This is because \TEX\
+is pretty fast in tokenizing its input and interpreting its already stored token
+lists that have these commands. But given what we said before, when you talk of
+millions of such assignments, adding the equal sign and \type {by} {\em could}
+actually be faster because there is no pushing back onto the input stack
+involved. It probably makes no sense to take this into account when writing
+macros but just keep in mind that performance is in the details.
+
+% written in 2020, the next added in Januari 2023
+
+Actually, contrary to what you might expect, \type {\scratchcounter} is not even a
+counter in \CONTEXT, and in \LUAMETATEX we can also do this:
+
+\starttyping
+% \newinteger\scratchcounter % done once
+\scratchcounter 123
+\scratchcounter =123
+\advanceby\scratchcounter 123
+\stoptyping
+
+Which means that because this counter is defined as so called \quotation
+{constant integer} it avoids some indirectness (to a counter register) and
+because \type {\advanceby} doesn't scan for a keyword the code above runs faster
+anyway.
+
+This model of expansion is very different from compiled code or bytecode. To some
+extent you can consider a list of tokens that make up a macro to be bytecode, but
+instead of a sequence of bytes it is a linked list. That itself has a penalty in
+performance. Depending on how macros expand, the engine can be hopping all over
+the token memory following that list. That means that quite likely the data that
+gets accessed is not in your \CPU\ cache and as a result performance cannot
+benefit from it apart of course from the expanding machinery itself, but that one
+is not a simple loop messing around with variables: it accesses code all over the
+place! Text gets hyphenated, fonts get applied, material gets boxed, paragraphs
+constructed, pages built. We're not moving a blob of bits around (as in a video)
+but we're constantly manipulating small amounts of memory scattered around memory
+space.
+
+Now, where a traditional \TEX\ engine works on 8 bit characters and smaller
+tokens, the 32 bit \LUATEX\ works on larger chunks. Although macro names are
+stored as single symbolic units, there are moments when its real (serialized to
+characters) name is used, for instance when with \type {\csname}. When that
+happens, the singular token becomes a list, so for instance the (stored) token
+\type {\foo} becomes a temporary three token list (actually four if you also
+count the initial reference token). Those tree tokens become three characters in
+a string that then is used in the hash lookup. There are plenty cases where such
+temporary string variables are allocated and filled. Compare:
+
+\starttyping
+\def\foo{\hello}
+\stoptyping
+
+Here the macro \type {\foo} has just a one token reference to \type {\hello}
+because that's how a macro reference gets stored. But in
+
+\starttyping
+\def\foo{\csname hello\endcsname}
+\stoptyping
+
+we have two plus five tokens to access what effectively is \type {\hello}. Each
+character token has to be converted to a byte into the assembled string. Now it
+must be said that in practice this is still pretty fast but when we have longer
+names and especially when we have \UTF8 characters in there it can come at a
+price. It really depends on how your macro package works and sometimes you just
+pay the price of progress. Buying a faster machine is then the solution because
+often we're not talking of extreme performance loss here. And modern \CPU's can
+juggle bytes quite efficiently. Actually, when we go to 64 bit architectures,
+\LUATEX's data structures fit quite well to that. As a side note: when you run a
+32 bit binary on a 64 bit architecture there can even be a price being paid for
+that when you use \LUATEX. Just move on!
+
+\stopsection
+
+\startsection[title=Management]
+
+Before we can even reach the point that some content becomes typeset, much can
+happen: the engine has to start up. It is quite common that a macro package uses
+a memory dump so that macros are not to be parsed each run. In traditional
+engines hyphenation patterns are stored in the memory dump as well. And some
+macro packages can put fonts in it. All kind of details, like upper- and
+lowercase codes can get stored too. In \LUATEX\ fonts and patterns are normally
+kept out of the dump. That dump itself is much larger already because we have 32
+bit characters instead of 8 bit so more memory is used. There are also new
+concepts, like catcode tables that take space. Math is 32 bit too, so more codes
+related to math are stored. Actually the format is so much larger that \LUATEX\
+compresses it. Anyway, it has an impact on startup time. It is not that much, but
+when you measure differences on a one page document the overhead in getting
+\LUATEX\ up and running will definitely impact the measurement.
+
+The same is true for the backend. A traditional engine uses (normally) \TYPEONE\
+fonts and \LUATEX\ relies on \OPENTYPE. So, the backend has to do more work. The
+impact is normally only visible when the document is finalized. There can be a
+slightly larger hickup after the last page. So, when you measure one page
+performance, it again pollutes the page per second performance.
+
+\stopsection
+
+\startsection[title=Summary]
+
+So, to come back to the observation that \LUATEX\ is slower than \PDFTEX. At
+least for \CONTEXT\ we can safely conclude that indeed \PDFTEX\ is faster when we
+talk about a standard English document, with \TEX\ \ASCII\ input, where we can do
+with traditional small fonts, with only some kerning and simple ligatures. But as
+soon as we deal with for instance \XML, have different languages and scripts,
+have more demanding layouts, use color and images, and maybe even features that
+we were not aware of and therefore didn't require in former times the \LUATEX\
+engine (and for \CONTEXT\ it's \LUAMETATEX\ follow up) performs way better than
+\PDFTEX. And how about support for hyper links, protrusion and expansion, tagging
+for the sake of accessibility, new layers of abstraction, etc. The impact on
+performance can differ a lot per engine (and probably also per macro package).
+So, there is no simple answer and explanation for the fact that the observed slow
+\LATEX\ run on Japanese text, apart from that we can say: look at the whole
+picture: we have more complex tokens, nodes, scripts and languages, fonts,
+macros, demands on the machinery, etc. Maybe it is just the price you are paying
+for that.
+
+\stopsection
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-performance.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-plain.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-plain.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-plain.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -6,7 +6,9 @@
\environment musings-style
-\definetyping[narrowtyping][style=\ttx]
+\ifdefined\startnarrowtyping \else
+ \definetyping[narrowtyping][style=\ttx]
+\fi
\startchapter[title={About what \CONTEXT\ isn't}]
@@ -546,6 +548,13 @@
in assessing \CONTEXT. Just let users find out themselves what suits best (and
for some that actually might be plain \TEX).
+Let me make on thing clear. If you look at the documents that describe the
+development of \TEX, \METAFONT\ and the related fonts, you can only awe at what
+was done on hardware that doesn't come close to what we hold now in the palm of
+our hand. And it was done in a relative short time span. The fact that plain
+\TEX\ ran on it the way it did is amazing. Anyone who considers criticizing \TEX\
+and plain \TEX\ should think (more than) twice.
+
\stopsection
\stopchapter
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-style.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-style.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-style.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -2,7 +2,7 @@
\startenvironment musings-style
-\usemodule[abr-04]
+\usemodule[abbreviations-logos]
\setupbodyfont
[pagella]
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-treasures.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-treasures.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-treasures.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,201 @@
+% language=us runpath=texruns:manuals/musings
+
+\startcomponent musings-treasures
+
+\environment musings-style
+
+\startchapter[title={Hidden treasures}]
+
+\startlines \setupalign[flushright]
+Hans Hagen
+Hasselt 2020
+February 2020
+\stoplines
+
+At \CONTEXT\ meetings we always find our moments to reflect on the interesting
+things that relate to \TEX\ that we have run into. Among those we discussed were
+some of the historic treasures one can run into when one looks at source files. I
+will show examples from several domains in the ecosystem and we hereby invite the
+reader to come up with other interesting observations, not so much in order to
+criticize the fantastic open source efforts related to \TEX, but just to indicate
+how decades of development and usage are reflected in the code base and usage, if
+only to make it part of the history of computing.
+
+I start with the plain \TEX\ format. At the top of that file we run into this:
+
+\starttyping[style=\ttx]
+% The following changes define internal codes as recommended
+% in Appendix C of The TeXbook:
+
+\mathcode`\^^@="2201 % \cdot
+\mathcode`\^^A="3223 % \downarrow
+\mathcode`\^^B="010B % \alpha
+\mathcode`\^^C="010C % \beta
+\mathcode`\^^D="225E % \land
+\mathcode`\^^E="023A % \lnot
+\mathcode`\^^F="3232 % \in
+...
+\mathcode`\^^Y="3221 % \rightarrow
+\mathcode`\^^Z="8000 % \ne
+\mathcode`\^^[="2205 % \diamond
+\mathcode`\^^\="3214 % \le
+\mathcode`\^^]="3215 % \ge
+\mathcode`\^^^="3211 % \equiv
+\mathcode`\^^_="225F % \lor
+\stoptyping
+
+This means that when you manage to key in one of these recommended character
+codes that in \ASCII\ sits below the space slot, you will get some math symbol,
+given that you are in math mode. Now, if you also consider that the plain \TEX\
+format is pretty compact and that no bytes are wasted,\footnote {Such definitions
+don't take additional space in the format file.} you might wonder what these
+lines do there. The answer is simple: there were keyboards out there that had
+these symbols. But, by the time \TEX\ became popular, the dominance of the \IBM\
+keyboard let those memories fade away. This is just Don's personal touch I guess.
+Of course the question remains if the sources of TAOCP contain these characters.
+
+There is another interesting hack in the plain \TEX\ file, one that actually,
+when I first looked at the file, didn't immediately made sense to me.
+
+\starttyping[style=\ttx]
+\font\preloaded=cmti9
+\font\preloaded=cmti8
+\font\preloaded=cmti7
+
+\let\preloaded=\undefined
+\stoptyping
+
+What happens here is that a bunch of fonts get defined and they all use the same
+name. Then eventually that name gets nilled. The reason that these definitions
+are there is that when \TEX\ dumps a format file, the information that comes from
+those fonts is embedded to (dimensions, ligatures, kerns, parameters and math
+related) data. It is an indication that in those days it was more efficient to
+have them preloaded (that is why they use that name) than loading them at
+runtime. The fonts are loaded but you can only access them when you define them
+again! Of course nowadays that makes less sense, especially because storage is
+fast and operating systems do a nice job at caching files in memory so that
+successive runs have font files available already.
+
+Talking of fonts, one of the things a new \TEX\ user will notice and also one of
+the things users love to brag about is ligatures. If you run the \type {tftopl}
+program on a file like \type {cmr10.tfm} you will get a verbose representation of
+the font. Here are some lines:
+
+\starttyping[style=\ttx]
+(LABEL C f) (LIG C i O 14) (LIG C f O 13) (LIG C l O 15)
+(LABEL O 13) (LIG C i O 16) (LIG C l O 17)
+(LABEL C `) (LIG C ` C \)
+(LABEL C ') (LIG C ' C ")
+(LABEL C -) (LIG C - C {)
+(LABEL C {) (LIG C - C |)
+(LABEL C !) (LIG C ` C <)
+(LABEL C ?) (LIG C ` C >)
+\stoptyping
+
+The \type {C} is followed by an \ASCII\ representation and the \type {)} by the
+position in the font \type {O} (a number) or \type {C} (a character). So,
+consider the first two lines to be a puzzle: they define the fi, ff, fl ligatures
+as well as the ffi and ffl ones. Do you see how ligatures are chained?
+
+But anyway, what do these other lines do there? It looks like \type {``} becomes
+the character in the backslash slot and \type {''} the one in the double quote.
+Keep in mind that \TEX\ treats the backslash special and when you want it, it
+will be taken from elsewhere. But still, these two ligatures look familiar: they
+point to slots that have the left and right double quotes.\footnote {\CONTEXT\
+never assumed this and encourages users to use the quotation macros. Those \type
+{``quotes''} look horrible in a source anyway.} They are not really ligatures but
+abuse the ligature mechanism to achieve a similar effect. The last four lines are
+the most interesting: these are ligatures that (probably) no \TEX\ user ever uses
+or encounters. They are again something from the past. Also, changes are low that
+you mistakenly enter these sequences and the follow up Latin Modern fonts don't
+have them anyway.
+
+Actually, if you look at the \METAFONT and \METAPOST\ sources you can find
+lines like these (here we took from \type {mp.w} in the \LUATEX\ repository):
+
+\starttyping[style=\ttx]
+@ @<Put each...@>=
+mp_primitive (mp, "=:", mp_lig_kern_token, 0);
+@:=:_}{\.{=:} primitive@>;
+mp_primitive (mp, "=:|", mp_lig_kern_token, 1);
+@:=:/_}{\.{=:\char'174} primitive@>;
+mp_primitive (mp, "=:|>", mp_lig_kern_token, 5);
+@:=:/>_}{\.{=:\char'174>} primitive@>;
+mp_primitive (mp, "|=:", mp_lig_kern_token, 2);
+@:=:/_}{\.{\char'174=:} primitive@>;
+mp_primitive (mp, "|=:>", mp_lig_kern_token, 6);
+@:=:/>_}{\.{\char'174=:>} primitive@>;
+mp_primitive (mp, "|=:|", mp_lig_kern_token, 3);
+@:=:/_}{\.{\char'174=:\char'174} primitive@>;
+mp_primitive (mp, "|=:|>", mp_lig_kern_token, 7);
+@:=:/>_}{\.{\char'174=:\char'174>} primitive@>;
+mp_primitive (mp, "|=:|>>", mp_lig_kern_token, 11);
+@:=:/>_}{\.{\char'174=:\char'174>>} primitive@>;
+\stoptyping
+
+I won't explain what happens there (as I would have to reread the relevant
+sections of \TEX\ The Program) but the magic is in the special sequences: \typ
+{=: =:| =:|> |=: |=:> |=:| |=:|> |=:|>>}. Similar sequences are used in some font
+related files. I bet that most \METAPOST\ users never entered these as they
+relate to defining ligatures for fonts. Most users know that combining a \type
+{f} and \type {i} gives a \type {fi} but there are other ways to combine too. One
+can praise today's capabilities of \OPENTYPE\ ligature building but \TEX\ was not
+stupid either! But these options were never really used and this treasure will
+stay hidden. Actually, to come back to a previous remark about abusing the
+ligature mechanism: \OPENTYPE\ fonts are just as sloppy as \TEX\ with the quotes:
+there a ligature is just a name for a multiple|-|to|-|one mapping which is not
+always the same as a ligature.
+
+But there are even more surprises with fonts. When Alan Braslau and I redid the
+bibliography subsystem of \CONTEXT\ with help from \LUA, I wrote a converter in
+that language. I actually did that the way I normally do: look at a file (in this
+case a \BIBTEX\ file) and write a parser from scratch. However, at some point we
+wondered how exactly strings got concatenated so I decided to locate the source
+and look at it there. When I scrolled down I noticed a peculiar section:
+
+\starttyping[style=\ttx]
+@^character set dependencies@>
+@^system dependencies@>
+Now we initialize the system-dependent |char_width| array, for which
+|space| is the only |white_space| character given a nonzero printing
+width. The widths here are taken from Stanford's June~'87
+$cmr10$~font and represent hundredths of a point (rounded), but since
+they're used only for relative comparisons, the units have no meaning.
+
+ at d ss_width = 500 {character |@'31|'s width in the $cmr10$ font}
+ at d ae_width = 722 {character |@'32|'s width in the $cmr10$ font}
+ at d oe_width = 778 {character |@'33|'s width in the $cmr10$ font}
+ at d upper_ae_width = 903 {character |@'35|'s width in the $cmr10$ font}
+ at d upper_oe_width = 1014 {character |@'36|'s width in the $cmr10$ font}
+
+@<Set initial values of key variables@>=
+for i:=0 to @'177 do char_width[i] := 0;
+@#
+char_width[@'40] := 278;
+char_width[@'41] := 278;
+char_width[@'42] := 500;
+char_width[@'43] := 833;
+char_width[@'44] := 500;
+char_width[@'45] := 833;
+\stoptyping
+
+Do you see what happens here? There are hard coded font metrics in there! As far
+as I can tell, these are used in order to guess the width of the margin for
+references. Of course that won't work well in practice, simply because fonts
+differ. But given that the majority of documents that need references are using
+Computer Modern fonts, it actually might work well, especially with Plain \TEX\
+because that is also hardwired for 10pt fonts. Personally I'd go for a multipass
+analysis (or maybe would have had \BIBTEX\ produce a list of those labels for the
+purpose of analysis but for sure at that time any extra pass was costly in terms
+of performance). That code stays around of course. It makes for some nice
+deduction by historians in the future.
+
+I bet that one can also find weird or unexpected code in \CONTEXT, and definitely
+on the machines of \TEX\ users all around the world. For instance, now that most
+people use \UTF8\ all those encoding related hacks have become history. On the
+other hand, as history tends to cycle, bitmap symbolic fonts suddenly can look
+modern in a time when emoji are often bitmaps. We should guard our treasures.
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-treasures.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-unicode.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-unicode.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings-unicode.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1550,20 +1550,32 @@
same. I don't claim that \CONTEXT\ is doing better but I do hope that its users
keep going for the best outcome.
+One final note. In \CONTEXT\ we always tried to keep up with developments and
+\UNICODE\ input as well as using \OPENTYPE\ math fonts are part of that. However,
+because we're not part of the \quote {gremia of \TEX\ math and related coding} it
+hardly matters what our opinions are with respect to these issues. The best we
+can do is adapt to whatever shows up, it being bad or good. It is however kind of
+funny to see (by now rusty) problems that have been noticed already long ago
+being presented as kind of new. Hopefully staying ahead and|/|or adapting with
+specific solutions doesn't'backfire to hard on the \CONTEXT\ users. If so, we're
+sorry for that. As long as they can render their documents well, it doesn't
+matter that much anyway. After all, we can always just blame \quote {the others
+involved}.
+
\stopsection
\startsection[title=Resources]
\starttyping
-[1] https://en.wikipedia.org/wiki/Slash_(punctuation)
-[2] http://www.unicode.org/reports/tr25
-[3] https://www.w3.org/TR/MathML3
-[4] https://www.unicode.org/Public/math/revision-15/MathClass-15.txt
-[5] https://en.wikipedia.org/wiki/Vertical_bar
-[6] https://en.wikipedia.org/wiki/Dash
-[7] https://en.wikipedia.org/wiki/Commercial_minus_sign
-[8] https://en.wikipedia.org/wiki/Division_sign
-[9] https://en.wikipedia.org/wiki/Bullet_(typography)
+[1] en.wikipedia.org/wiki/Slash_(punctuation)
+[2] www.unicode.org/reports/tr25
+[3] www.w3.org/TR/MathML3
+[4] www.unicode.org/Public/math/revision-15/MathClass-15.txt
+[5] en.wikipedia.org/wiki/Vertical_bar
+[6] en.wikipedia.org/wiki/Dash
+[7] en.wikipedia.org/wiki/Commercial_minus_sign
+[8] en.wikipedia.org/wiki/Division_sign
+[9] en.wikipedia.org/wiki/Bullet_(typography)
\stoptyping
\stopsection
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/musings/musings.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -21,15 +21,27 @@
\component musings-names
\component musings-plain
\component musings-toocomplex
- % \component musings-manuals
+ \component musings-manuals
\component musings-performance
- % \component musings-history
- % \component musings-treasures
- % \component musings-whytex-again
+ \component musings-history
+ \component musings-treasures
+ % \component musings-whytex-again % maybe
\component musings-dontusetex
\component musings-speed
+ \component musings-unicode
\component musings-texlive
\component musings-hownotto
+ % \component musings-security % maybe
+ % \component musings-usage % maybe
+ % \component musings-sideeffects % article
+ % \component musings-perfection % source included as teaser
+ \component musings-assumptions
+ % \component musings-green % unfinished
+ % \component musings-cheats
+ % \component musings-units % article
+ % \component musings-kerns % probably article
+ \component musings-deserved % probably article
\stopbodymatter
\stopproduct
+
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-accuracy.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-accuracy.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-accuracy.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,198 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-accuracy
+
+\environment ontarget-style
+
+\startchapter[title={Accuracy}]
+
+One of the virtues of \TEX\ is that it can produce the same output over a long
+period. The original engine only uses integers and although dimensions have
+fractions but these are just a way to present then to the user because internally
+they are scaled points.
+
+\starttabulate[|l|l|]
+\FL
+\NC \type{\dimexpr .4999pt : 2 \relax} \NC
+ \the\dimexpr .4999pt : 2 \relax
+\NC \NR
+\NC \type{\dimexpr .4999pt / 2 \relax} \NC
+ \the\dimexpr .4999pt / 2 \relax
+\NC \NR
+\ML
+\NC \type{\scratchdimen.4999pt \divide \scratchdimen 2 \the\scratchdimen} \NC
+ \scratchdimen.4999pt \divide \scratchdimen 2 \the\scratchdimen
+\NC \NR
+\NC \type{\scratchdimen.4999pt \edivide\scratchdimen 2 \the\scratchdimen} \NC
+ \scratchdimen.4999pt \edivide\scratchdimen 2 \the\scratchdimen
+\NC \NR
+\ML
+\NC \type{\scratchdimen4999pt \divide\scratchdimen 2 \the\scratchdimen} \NC
+ \scratchdimen4999pt \divide\scratchdimen 2 \the\scratchdimen
+\NC \NR
+\NC \type{\scratchdimen4999pt \edivide\scratchdimen 2 \the\scratchdimen} \NC
+ \scratchdimen4999pt \edivide\scratchdimen 2 \the\scratchdimen
+\NC \NR
+\NC \type{\scratchdimen4999pt \rdivide\scratchdimen 2 \the\scratchdimen} \NC
+ \scratchdimen4999pt \rdivide\scratchdimen 2 \the\scratchdimen
+\NC \NR
+\ML
+\NC \type{\numexpr 1001 : 2 \relax} \NC
+ \the\numexpr 1001 : 2 \relax
+\NC \NR
+\NC \type{\numexpr 1001 / 2 \relax} \NC
+ \the\numexpr 1001 / 2 \relax
+\NC \NR
+\ML
+\NC \type{\scratchcounter1001 \divide \scratchcounter 2 \the\scratchcounter} \NC
+ \scratchcounter1001 \divide \scratchcounter 2 \the\scratchcounter
+\NC \NR
+\NC \type{\scratchcounter1001 \edivide\scratchcounter 2 \the\scratchcounter} \NC
+ \scratchcounter1001 \edivide\scratchcounter 2 \the\scratchcounter
+\NC \NR
+\LL
+\stoptabulate
+
+The above table shows what happens when we divide an odd integer or for that
+matter odd fraction. Note the incompatibility between \type {\numexpr} and \type
+{\dimexpr} on the one hand and \type {\divide} on the other. This is why in
+\LUAMETATEX\ we have the \type {:} variant that does the same integer divide (no
+rounding) as \type {\divide} does, and why we have \type {\edivide} that divides
+like an expression using the \type {/}. The \type {\rdivide} only makes sense for
+dimensions and rounds the result.
+
+As soon as one start calculating or comparing accumulated values one can run into
+the values being a few scaled points off. This means that when one tests against
+a criterium it might be that some range comparison is better. The most likely
+place for that to happen is in the output routine and when special constructs
+like floats, tables and images come into play. Just like not every number can be
+represented in a float (double), we saw that dividing an odd integer can give
+some unexpected rounding as part of the integer is considered a fraction. So, in
+practice, even when the calculations are the same, there is a certain
+unpredictable outcome from the user perspective: \quotation {Why does it fit here
+and not there?} Well, we can be a few scaled points off due to some not entirely
+round|-|trip calculation.
+
+When \TEX\ showed up it came with fonts and in those times once a font was
+released it was unlikely to change. But today fonts do change. And changes means
+that a document can render differently after an update. Of course this is an
+argument for keeping a font in the \TEX\ tree but even then updating is kind of
+normal. Take math: the fact that fonts often have issues makes that we need to
+tweak them and some tweaks only get added when we run into some issue. If that
+issue has been there for a while we are incompatible.
+
+Hyphenation patterns are another source of breaking compatibility but normally
+they change little. And here one can also assume that the user want words to be
+hyphenated properly. Even with such fundamental changes as a syllable being able
+to move to the next line, it is often unlikely that the paragraphs gets less or
+more lines. I bet that users are more worried about the impact on vertical
+rendering that has consequences for page breaks that for lines coming out
+differently (hopefully better).
+
+So, what are other potential areas in addition to slight differences due to
+division, fonts and patterns? We now enter the world of \LUAMETATEX\ and
+\CONTEXT. As soon as one starts to use \LUA\ code, doubles show up. It means that
+we can do calculation with little loss because a double can safely hold the
+maximum dimension (in scaled point). However, mixing 64 bit doubles at the \LUA\
+end with 32 bit integers in the engine can have side effects. As soon as set some
+property at the \TEX\ end using \LUA\ rounding takes place. Of course we can do
+all calculations like \TEX\ does, but that would have too much of an impact on
+performance.
+
+So, going back and forth between \TEX\ and \LUA\ can introduce some inaccuracies
+creeping in but as long as it is consistent, there is no real issue. It mostly
+involves fonts and especially the dimensions of characters: the width, height and
+depth but when one uses the xheight as relative measure there is also some
+influence on for instance interline spacing, offsets and such.
+
+So how can fonts make a difference? In \CONTEXT\ there are two ways to use fonts:
+normal mode and compact mode. In normal mode every size is an instance, where the
+dimension properties of characters are scaled. In compact mode we use one size
+and delegate scaling to the engine which means that we end up with the (usual)
+1000 being scale 1 kind of calculations. In the end a font with design size of
+10bp (most fonts) scaled to 12pt normal is not behaving the same as a 10pt setup
+where a 12pt size is scaled on demand. First there is the scaling from 10bp
+loaded font to the 10pt used font that gets passed to \TEX. Here we have to deal
+with history: defining a font in pt points is quite normal. Then applying a 1200
+scale (later divided by 1000) in the engine again involves some rounding to
+integers because that is what is used internally. I will come back to this later.
+
+The main conclusion to draw is that normal mode and compact mode come close but
+give different results. We can come closer when we a more accurate normal mode.
+In order to limit the number of font instances we normally limit the number of
+digits (also in compact mode but there accuracy comes a little cost). There is a
+pitfall here: While \TEX\ can happily work with any resolution, the backend has
+to make sure that embedded fonts get scaled right and that (in the case of \PDF)
+we compensate for drift in the page stream, because there character widths
+determine the advance and these are in (often rounded) bp (big postscript
+points). Especially when we enable font expansion drift prevention comes with a
+price as there we are dealing with real small difference in dimensions.
+
+As an experiment I played with clipping measures in the engine which boils down
+to rounding the last digit but that didn't work out well. For simple text we can
+get normal and compact mode identical but kick in some math (many parameters
+involved), font expansion and|/|or protrusion, additional inter|-|character
+kerning and so on, and one never get the same output. Keep in mind that we are
+not talking visual differences here, although there can be cases. More think of
+due to a slightly different vertical spacing triggering a different page break,
+for instance when footnotes are involved. In \CONTEXT\ the line height (and
+therefore derived parameters) is defined in terms of the xheight so even a few
+scaled points off makes a difference.
+
+At the user level, currently compact mode is enabled with:
+
+\starttyping
+\enableexperiments[fonts.compact]
+\stoptyping
+
+It works quite okay already for years (writing end 2023) in most scenarios but
+there might be cases where existing code still needs to be adapted, which is no
+big deal. The additional overhead is compensated by loading less font instances
+and a smaller output file. In some cases documents actually process faster and it
+definitely pays of for large fonts (\CJK) and demanding mix size feature
+processing.
+
+A more accurate normal mode is set by:
+
+\starttyping
+\enableexperiments[fonts.accurate]
+\stoptyping
+
+but it doesn't bring much. It was introduced in order for Mikael Sundqvist and me
+to compare and check math tweaks, especially those that depend on precise
+combinations of glyphs. We temporary had some additional control in the engine
+but after experiments and comparing variants the decision was made to remove that
+feature.
+
+We ran experiments with large documents where different versions were overlaid
+and depending on scenarios indeed there can be differences, but when there are
+chapters starting on new pages and when vertical spacing has stretch, there are
+not that many differences. When you compare the so called \type {tuc} files you
+might notice small difference is position tracking but these values are seldom
+used in a way that influences the rendering of text, line and page breaks.
+
+\def\RatioBpPt{( \number \dimexpr 10bp \relax / \number \dimexpr 10pt \relax ) }
+
+To come back to the bp vs pt issue. Among the options considered are moving the
+character and font properties from integers to doubles, but that would impact the
+memory footprint quite a bit. Another idea is that compact mode goes 10bp instead
+of 10pt but that would not help. One bp is \number \dimexpr 10bp \relax \space
+scaled points and one pt is \number \dimexpr 10pt \relax \space sp. The ratio
+between them is \cldcontext { \RatioBpPt }, so a \TEX\ scale 1200 effectively
+becomes \formatted { "\letterpercent .3N", 1200 * \RatioBpPt }, and assuming
+rounding to an integer we then get \cldcontext { math.round ( 1200 * \RatioBpPt
+) }. So in the end we get a less fortunate number instead of 1200 and it's not
+even accurate. Therefore this option was also rejected. For the record: an
+intermediate approach would have been to cheat: use an internal multiplier (the
+shown ratio) and although it is not hard to support, it also means that at the
+\LUA\ end we always need to take this into account, so again a no|-|go.
+
+In the end the only outcome of this bit of \quote {research} has been that we can
+have accurate normal font handling (which is not that useful) and have two
+additional divide related primitives that might be useful and add some
+consistency (and these might actually get used).
+
+\stopchapter
+
+\stopcomponent
+
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-accuracy.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-active.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-active.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-active.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,252 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-active
+
+\environment ontarget-style
+
+\usemodule[system-tokens]
+
+\startchapter[title={Active characters}]
+
+Each character in \TEX\ has a so called category code. Most are of category
+\quote {letter} or \quote {other character} but some have a special meaning, like
+\quote {superscript} or \quote {subscript} or \quote {math shift}. Of course the
+backslash is special too and it has the \quote {escape} category.
+
+A single character can also be a command in which case it has category \quote
+{active}. In \CONTEXT\ the \type {|} is an example of that. It grabs an argument
+delimited by yet another such (active) bar and handles that argument as compound
+character.
+
+From the perspective of \CONTEXT\ we have a couple of challenges with respect to
+active characters.
+
+\startitemize
+\startitem
+ We want to limit the number of special symbols so we only really have to deal with the
+ active bar and tilde. Both have a history starting with \MKII.
+\stopitem
+\startitem
+ There are cases where we don't want them to be not active, most noticeably in
+ math and verbatim. This means that we either have to make a sure that they
+ are not active bit in nested exceptions, for instance when we flush a page
+ halfway verbatim, made active again.
+\stopitem
+\startitem
+ In text we always hade catcode regimes to deal with this (which is actually
+ why in \LUATEX\ efficient catcode tables were one of the first native
+ features to implement. This involves some namespace management.
+\stopitem
+\startitem
+ In math we have to fall back on a different meaning which adds another
+ (meaning) axis alongside catcode regimes: in math we use the same catcode
+ regime as in text so we have a mode dependent meaning on top of the catcode
+ regime specific one.
+\stopitem
+\startitem
+ In math we have this special active class|/|character definition value \type
+ {"8000} that makes characters active in math only. We use(d) that for permitting
+ regular hat and underscore characters in text mode but let them act as
+ superscript and subscript triggers in math mode.
+\stopitem
+\startitem
+ Active characters travel in a special way trough the system: they are
+ actually stored as macro calls in token lists en macro bodies. This normally
+ goes unnoticed (and is not that different from other catcodes being frozen in
+ macros).
+\stopitem
+\stopitemize
+
+So far we could always comfortably implement whatever we wanted but sometimes the
+code was not that pretty. Because part of the \LUAMETATEX\ project is to make
+code cleaner, I started wondering if we could come up with a better mechanism for
+dealing with active characters especially in math. Among the other reasons were:
+less tracing clutter, a bit more natural approach, and less intercepts for
+special cases. Of course we have to be compatible. Some first experiments were
+promising but as usual it took a while to identify all the cases we have to deal
+with. At moments I wondered if I should go forward but as I stepwise adapted the
+\CONTEXT\ code to the experiment there was no way back. I did however reject
+experiments that out active characters in the catcode table namespaces.
+
+In \LUATEX\ (and its predecessors) internally active characters are stored as a
+reference to a control sequence, although a \type {\show} or trace will report
+the character as \quote {name}. For example:
+
+\startbuffer
+\catcode `!=\activecatcode
+\def !{whatever} % we also have \letcharcode
+\def\foo{x!x}
+\stopbuffer
+
+\typebuffer
+
+is stored as (cs, cmd, chr):
+
+\start
+\getbuffer
+\luatokentable\foo
+\stop
+
+However, when we want some more hybrid approach, a text versus math mix, we need
+to postpone resolving into a control sequence. Examples are macro bodies and
+token registers. When we flag a character (with \type {amcode}) as being of a
+different catcode than active in math mode, we get the following:
+
+\startbuffer
+\amcode`! \othercatcode
+\catcode `!=\activecatcode
+\def !{whatever}
+\def\foo{x!x}
+\stopbuffer
+\typebuffer
+
+\start
+\getbuffer
+\luatokentable\foo
+\stop
+
+The difference is that here we get the active character in the body of the macro.
+Interesting is that this is not something that parser is prepared for so the main
+loop has now to catch active characters. This is no big deal but also not
+something to neglect. The same is true for serialization of tokens.
+
+Other situations when we need to be clever is for instance when we try to enter
+math mode. In math mode we want the (in text) active character as math character
+and a convenient test is checking the mode. However, when we see \type {$} we are
+not yet in math mode and as \TEX\ looks for a potential next \type {$} we grab a
+active character it should not resolve in a reference to an command. The reason
+for that is that when \TEX\ pushes back the token (because it doesn't see a \type
+{$}) we need it to be an active character and not a control sequence. If it were
+a control sequence we would see it as such in math mode which is not what we
+intended. It is one of these cases where \TEX\ is not roundtrip. Similar cases
+occur when \TEX\ looks ahead for (what makes a) number and doesn't see one which
+then results in a push back. Actually, there are many look ahead and push back
+moments in the source.
+
+\startbuffer
+text: \def\foo{x|!|x}
+
+\meaningasis\foo
+
+\luatokentable\foo
+
+$x\foo x$ \foo
+\stopbuffer
+
+\typebuffer \start\getbuffer\stop
+
+\startbuffer
+math: $\gdef\oof{x|!|x}$
+
+\meaningasis\oof
+
+\luatokentable\oof
+
+$x\oof x$ \oof
+\stopbuffer
+
+\typebuffer \start\getbuffer\stop
+
+\startbuffer
+toks: \scratchtoks{x|!|x}
+
+\detokenize\expandafter{\the\scratchtoks}
+
+\luatokentable\scratchtoks
+
+$x\the\scratchtoks x$ \the\scratchtoks
+\stopbuffer
+
+\typebuffer \start\getbuffer\stop
+
+A good test case for \CONTEXT\ is:
+
+\startbuffer
+\def\foo{x|!|x||x}
+
+ x|!|x||x + \foo
+$x|!|x||x + \foo$
+\stopbuffer
+
+\typebuffer
+
+Here we expect bars in math mode but the compound mechanism applied in text mode:
+
+\startlines\getbuffer\stoplines
+
+So the bottom line is this:
+
+\startitemize
+\startitem
+ Active characters should behave as expected, which means that they get
+ replaced by references to commands.
+\stopitem
+\startitem
+ When the \type {\amcode} is set, this signal the engine to delay that
+ replacement and retain the active character.
+\stopitem
+\startitem
+ When the moment is there the engine either expands it as command (text mode)
+ or injects the alternative meaning based on the catcode. There we support
+ letters, other characters, super- and subscripts and alignment codes. The
+ rest we simply ignore (for now).
+\stopitem
+\stopitemize
+
+Of course you can abuse this mechanism and also retain the character's active
+property in text mode by simply setting the \type {\amcode}. We'll see how that
+works out. Actually this mechanism was provided in the first place to get around
+the \type {"8000} limitations! So here is another cheat:
+
+\starttyping
+\catcode `^ \othercatcode % so a ^ is just that
+\amcode `^ \superscriptcatcode % but a ^ in math signals a superscript
+\stoptyping
+
+So, the \type {a} in \type {\amcode} stands for both \quote {active} and \quote
+{alternative}. As mentioned, because we distinguish between math and text mode we
+no longer need to adapt the meaning of active commands: think of using \type
+{\mathtext} in a formula where we leave math mode and then need to use the text
+meaning of the bar, just as outside the formula.
+
+In the end, because we only have a few active characters and no user ever
+demanded name spaces that mechanism was declared obsolete. There is no need to
+keep code around that is not really used any more.
+
+% Although this mechanism works okay, there is a pitfall. When you define a macro, and
+% \type {\amcode} is set, the active character is stored as such. That means that doing
+% something like this is likely to fail:
+%
+% \starttyping
+% \def\whatever{\let~\space}
+% \stoptyping
+%
+% when the tilde is active as well as has a \type {\amcode} set. However,
+%
+% \starttyping
+% \def\whatever{\letcharcode\tildeasciicode\space}
+% \stoptyping
+%
+% will work just fine.
+
+Internally an active character is stored in the hash that also stores regular
+control sequences. The character becomes an \UTF\ string prefixed by the \UTF\
+value of \type {0xFFFF} which doesn't exist in \UNICODE. The \type {\csactive}
+primitive is a variant on \type {\csstring} that returns this hash. Its companion
+\type {\expandactive} (a variant on \type {\expand}) can be used to inject the
+related control sequence. If \type {\csactive} is not followed by an active
+character it expands to just the prefix, as does \type {\Uchar"FFFF} but a bit of
+abstraction makes sense.
+
+% control sequence: xxxx
+% 271731 13 126 active char
+% control sequence: xxxx
+% 271732 135 0 protected call ~
+% control sequence: xxxx
+% 271734 12 65535 other char \xEF\xBF\xBF (U+0FFFF)
+% 408124 135 0 protected call ~
+
+\stopchapter
+
+\stopcomponent
+
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-active.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-bars.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-bars.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-bars.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,204 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-bars
+
+\usebodyfont[modern]
+\usebodyfont[modern-nt]
+
+\environment ontarget-style
+
+\startchapter[title={Between bars}]
+
+\startsubject[title=Inconsistencies]
+
+The bar in math can a real pain. There are several reasons for this, for instance
+there is no proper left, middle and right bar in \UNICODE\ and as a result there
+is more work involved in getting them spaced well. Another possible issue can be
+to make them fit well with other fences. You expect the bars in \im {\left(x
+\middle| y\right)} and \im {\left|x \middle| y\right|} to look similar.
+
+\start \glyphscale2000 \startformula
+ \mathaxisbelow \dorecurse {\nofmathvariants \barasciicode} {
+ \char \getmathvariant #1 \leftbracketasciicode
+ \char \getmathvariant #1 \barasciicode
+ \char \getmathvariant #1 \rightparentasciicode
+ \quad
+ }
+\stopformula \stop
+
+However, math fonts have their surprises:
+
+\start \switchtobodyfont[modern-nt] \glyphscale2000 \startformula
+ \mathaxisbelow \dorecurse {\nofmathvariants \barasciicode} {
+ \char \getmathvariant #1 \leftbracketasciicode
+ \char \getmathvariant #1 \barasciicode
+ \char \getmathvariant #1 \rightparentasciicode
+ \quad
+ }
+\stopformula \stop
+
+In Latin Modern only the first variant is tuned to work together but for larger
+sizes the bars stick out. This is a problem when we want fences to adapt. The
+fact that such side effects probably get unnoticed comes from the fact that macro
+packages assume \type {\bigg} and friends to be used but in \CONTEXT, and
+especially \LMTX, we have various mechanisms for this. One method is based on
+selecting specific variants, in the case of Latin Modern 1, 4, 6 and 7, where in
+in fact 7 is the last one before we switch to extensible fences. One can try to
+use a different selection for brackets and bars when there is no nice match but
+there are no equal height matches.
+
+\startbuffer
+\im {\left| x \right|}
+\im {\left| x^2 \right|}
+\im {\left| x^{1/n} \right|}
+\stopbuffer
+
+\typebuffer
+
+These example formulas can trigger a larger fence:
+
+\startlinecorrection \showglyphs
+\ruledhbox{\scale[width=1tw]{\getbuffer}}
+\stoplinecorrection
+
+In untweaked Latin Modern we get this:
+
+\startlinecorrection \switchtobodyfont[modern-nt] \showglyphs
+\ruledhbox{\scale[width=1tw]{\getbuffer}}
+\stoplinecorrection
+
+The slash in this font is rather high and therefore triggers the larger fence.
+One can configure this with the \typ {\delimiterfactor} and \typ
+{\delimitershortfall} but as you can see values have to relate to the font. In
+\LMTX\ we set them to 1000 and 0pt and use the \LUAMETATEX\ equivalent font
+variables instead, so we can indeed fine tune per font.
+
+To come back to the mismatch in fences, this is dealt with in a tweak: we scale
+the single, double and triple bars to match the brackets:
+
+\start \switchtobodyfont[modern] \startformula
+ \mathaxisbelow \dorecurse {\nofmathvariants \barasciicode} {
+ \char \getmathvariant #1 \leftbracketasciicode
+ \char \getmathvariant #1 \barasciicode
+ \char \getmathvariant #1 \rightparentasciicode
+ \quad
+ }
+\stopformula \stop
+
+Combined with proper settings for the factor (or percentage in \OPENTYPE\ math
+speak) and shortfall, we now get:
+
+\startlinecorrection \switchtobodyfont[modern] \showglyphs
+\ruledhbox{\scale[width=1tw]{\getbuffer}}
+\stoplinecorrection
+
+When we let the upgraded math subsystem evolve we make many examples.
+Unfortunately there is always an exception. For instance, we test a specific
+font, notice something, deal with it, even test all fonts in inline and display
+math and then after months the exception shows up. In this case it was the \im
+{1/n} in a superscript that (only?) in Latin Modern goes over the top. Actually
+we had noticed that bars are often inconsistent so we had a \type {fixbars}
+tweak, However, for Latin Modern we found that the inconsistency between bars and
+other fences needed something more drastic. Of course fixing the font is best but
+we're beyond that stage now: the fonts are basically frozen.
+
+A close inspection of the too large fence which itself results from it being
+larger than expected by design (which we noticed by adding parentheses) itself
+was the result from deciding to configure additional inter|-|atom spacing for
+open and close fences (see below) which then brings us back to the fact that one
+bar serves three purposes. We might actually introduce these three (left, middle
+and right) at some point.
+
+\startbuffer
+\dm {\left| \frac{n^3 - 2n + 1}{n^5 - 3} - 0 \right| < \frac{4}{n^2} }
+\stopbuffer
+
+\startlinecorrection
+\switchtobodyfont[modern]
+\hbox{\scale[width=.45tw]{\getbuffer}\hskip .1tw
+\inherited\setmathspacing\mathordinarycode\mathclosecode\allmathstyles\zeromuskip
+\scale[width=.45tw]{\getbuffer}}
+\stoplinecorrection
+
+\stopsubject
+
+\startsubject[title=Missing shapes]
+
+The tweak discusses in the previous section is a brute force one: we put an
+extensible on the base glyph. Among the arguments for doing this is that we want
+to be able to add consistent double and triple bars. Without mentioning fonts
+explicitly (as some might get fixed after we files bug reports) this is what
+we observed:
+
+\startitemize[packed]
+\startitem
+ There are single bars, double bars and triple bars and each has variants and
+ extensibles. This is okay.
+\stopitem
+\startitem
+ Most are there but the triple bar has no variants and extensibles
+\stopitem
+\startitem
+ We have all three base characters but no variants. The extensible has a
+ different width.
+\stopitem
+\startitem
+ Single, double and triple bars are inconsistent with each other.
+\stopitem
+\startitem
+ Everything is there but widths differ per variant; some match the parenthesis,
+ brackets and braces but not consistently.
+\stopitem
+\startitem
+ The different variant sizes are out of sync with the sizes of parenthesis
+ etc.\ and this makes for inconsistent matches, especially when also the width
+ and positioning differs.
+\stopitem
+\startitem
+ Spacing between and around double and triple bars isn't always consistent.
+\stopitem
+\stopitemize
+
+These observations lead us to the conclusion that there is no single tweak that
+can fix this. Adapting the \quote {addbars} tweak to deal with all this made for
+too many alternatives in checks and fixes to feel comfortable with. This is why
+we decided to come up with companion fonts that provide the missing double and
+triple variants and extensibles consistent with the single ones, fix spacing in
+double and triple ones, fix inconsistent widths of bars, etc. Minor details like
+bad positioning are already handled well do we can keep the \quote {design} as it
+is.
+
+\usebodyfont[pagella]
+
+\start
+\switchtobodyfont[pagella,15pt]
+\dm{
+ \dorecurse {\nofmathvariants "28} {
+ \char \getmathvariant #1 "5B
+ \char \getmathvariant #1 "7B
+ \char \getmathvariant #1 "28
+ \char \getmathvariant #1 "7C
+ \char \getmathvariant #1 "29
+ \char \getmathvariant #1 "7D
+ \char \getmathvariant #1 "5D \quad }
+}
+
+\dm{
+ \dorecurse {\nofmathvariants "7C} {
+ \char \getmathvariant #1 "7C \enspace
+ \char \getmathvariant #1 "2016 \enspace
+ \char \getmathvariant #1 "2980 \quad }
+}
+\stop
+
+\stopsubject
+
+\startsubject[title=Different sizes]
+
+middle
+
+\stopsubject
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-bars.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-constants.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-constants.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-constants.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,220 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-constants
+
+\environment ontarget-style
+
+\usemodule[system-tokens]
+
+\startchapter[title={Constants}]
+
+Strings don't really fit into the concept of \TEX. There everything we input and
+store is tokens and nodes, so when you define a macro like
+
+\startbuffer
+\def\foo{foo}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+you don't store a string but a tokenlist with three tokens:
+
+\luatokentable\foo
+
+We have three single byte characters but end up with 32 bytes memory used because
+we have a linked list with a housekeeping initial token; such a token has a value
+(operator & operand) as well as a pointer to a next token. This is quite ok
+because whenever we need that macro the body has to be interpreted and it already
+being tokenized is what makes \TEX\ fly.
+
+There are occasions where the expansion of a list that itself can contain
+references to macros produces a new list in which case copies are being made.
+Take this:
+
+\startbuffer
+\def\oof{foo}
+\def\foo{foo \oof}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\luatokentable\foo
+
+When \type {\foo} is expanded, the macro body is pushed onto the input stack and
+traversed and when \type {\oof} is seen, that one gets pushed and processed. No
+copy is needed. Now take this:
+
+\startbuffer
+\def\oof{foo}
+\edef\foo{foo \oof}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\luatokentable\foo
+
+Here \type {\foo} gets the expanded result but again \type {\oof} got pushed onto
+the stack. This doesn't involved copying either but there is still the pushing
+and popping input overhead. So when does copying occur? Here is an example:
+
+\startbuffer
+\def\oof{oof}
+\def\ofo{ofo}
+\def\foo{\begincsname \oof:\ofo\endcsname}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+\luatokentable\foo
+
+When a csname is checked, the engine needs to construct a string in order to access the
+hash table. Here is what happens:
+
+\startitemize[packed]
+\startitem
+ everything upto the \type {\endcsname} is collected
+\stopitem
+\startitem
+ in the process macros are expanded (with pushing and popping input) and the
+ expanded tokens are appended to the result
+\stopitem
+\startitem
+ when we're okay that list get converted to a string
+\stopitem
+\startitem
+ that string is used as lookup into the hash
+\stopitem
+\stopitemize
+
+Normally we're okay but when there is some unexpected unexpandable token (an
+assignment, node generator, protected macro, etc.) the collection stops and the
+list so far is recycled. This process is quite efficient, as is everything \TEX,
+but given that going from token list to string involved some \UTF8 juggling too
+there definitely is some overhead.
+
+In \CONTEXT\ we use csname checking and usage quite a lot. The first line is the
+traditional way. It has the disadvantage that it creates an hash entry with alias
+\type {\relax} if there is no such name. That is why \ETEX\ came up with the test
+as in the second line. In \LUATEX\ we introduced \type {\lastnamedcs} so that we
+don't have to construct the mentioned) token list again which saves time. The
+fourth line is similar to the first line but doesn't create a new command.
+
+\starttyping
+\csname \namespace\key\endcsname ...
+\ifcsname \namespace\key\endcsname \csname \namespace\key\endcsname ... \fi
+\ifcsname \namespace\key\endcsname \lastnamedcs ... \fi
+\begincsname \namespace\key\endcsname
+\stoptyping
+
+One of the things all versions of \CONTEXT\ have in common (right from the start)
+is that we use this namespace model consistently. In \MKIV\ we changed the
+subsystem that deals with this: it's more flexible and uses less memory but it
+also has way more overhead. But on the average performance is about the same so
+users didn't notice that.
+
+There is however a trick to speed this up a bit. In the 360 page \LUAMETATEX\
+manual we expand macros like \type {\namespace} and \type {\key} 4.3 million
+times (beginning of June 2023). Because Mikael Sundqvist and I are in the middle
+of some math magic, we also checked his 300 page math book, and that also does it
+4.2 million times (the gain was about 0.5 seconds). The upcoming math manual has
+some 1.2 million. How come that we have so many expansions? First of all we use
+abstraction when possible and that means that there's plenty of checking of
+options and some constructs fall back on parent classes (sometimes more that two
+times up the parent chain). Also, we often have three macros to expand:
+
+\starttyping
+\ifcsname\namespace\currentinstance\key\endcsname
+\stoptyping
+
+But these have an important property: their body is basically a string. Nothing
+in there needs expansion and if it does, it's an indication of rubish that
+doesn't contribute for a valid csname anyway. Once we know that we can improve
+performance:
+
+\startbuffer
+\cdef\oof{oof}
+\cdef\ofo{ofo}
+\def\foo{\begincsname \oof:\ofo\endcsname}
+\stopbuffer
+
+\typebuffer \getbuffer
+
+So, \type {\cdef} (or \type {\constant \edef} flags the macro as being a constant
+that doesn't require expansion. For the record, when you define that macro having
+arguments it just becomes an \type {\edef}.
+
+\luatokentable\foo
+
+Here we define the two macros as constant ones which in practice means that they
+are just macros but also indicates that in some scenarios we can directly use
+their body. Now when in this csname construction we do this instead:
+
+\startitemize[packed]
+\startitem
+ everything upto the \type {\endcsname} is collected
+\stopitem
+\startitem
+ in the process macros are expanded (with pushing and popping input) but when
+ we have a constant we add reference token when there is more than one body
+ token, otherwise the expanded tokens are appended to the result
+\stopitem
+\startitem
+ when we're okay that list get converted to a string and in that stage we just
+ convert the referenced body of the constant
+\stopitem
+\startitem
+ that string is used as lookup into the hash
+\stopitem
+\stopitemize
+
+So, instead of immediately injecting an expanded body of a macro that needs no
+expansion we inject a reference and use that later on for the conversion into
+characters. On the 4242938 times in \LUAMETATEX\ (at the time of writing this) this
+trick gives the following results.
+
+\starttyping
+\edef\foo{xxxx} \begincsname\foo\endcsname 0.37
+\cdef\foo{xxxx} \begincsname\foo\endcsname 0.28
+\edef\foo{xxxx} \ifcsname\foo\endcsname\fi 0.53
+\cdef\foo{xxxx} \ifcsname\foo\endcsname\fi 0.35
+\stoptyping
+
+And here for an existing command (\type {\relax}):
+
+\starttyping
+\edef\foo{relax} \begincsname\foo\endcsname 0.55
+\cdef\foo{relax} \begincsname\foo\endcsname 0.36
+\edef\foo{relax} \ifcsname\foo\endcsname\fi 0.62
+\cdef\foo{relax} \ifcsname\foo\endcsname\fi 0.36
+\stoptyping
+
+When I used that trick in for instance some font switching macros it also had
+some gain. For instance 200000 times \type {\it} went from 0.60 down to 0.54
+seconds but it is unlikely that in a document one does that many font switches.
+\footnote {There are a few more places where constants can gain a little but
+those don't add up much.}
+
+In practice other operations play a role, so here we might also benefit from the
+data being in the \CPU\ cache but on the manual I gained a decent .2 seconds. One
+can question if on a 8.5 second run this is worth the trouble. However, in this
+particular manual we spend 3.5 seconds on font processing, some 1.5 seconds on
+the backend and have a unique \METAPOST\ graphics on every page. We spend more
+time in \LUA\ than in \TEX ! On 4 seconds \TEX, these .2 seconds is some 2.5
+gain, and it might actually be even more percent wise.
+
+In case one wonders why I spend time on this, one reason is that the last decade
+I was not that impressed by performance gains of a single core and \TEX\ is a
+single core process. I also can't afford the latest greatest laptops and
+definitely don't want to contribute more e-waste. Also, with \TEX\ and friends
+running on virtual machines and competing for resources (memory, \CPU\ and disk
+or network drives) any gain is good gain. Of course it is also fun to improve
+\LUAMETATEX\ and this string-like property has always bothered me. \footnote {I
+did some experiment with a native string register but that made no sense because
+then tokenization in other places takes a toll. With the mentioned constants we
+don't pay that price.}
+
+\stopchapter
+
+\stopcomponent
+
+% timestamp: Peter Gabriel Live 2023 Amsterdam
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-constants.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-envelopes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-envelopes.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-envelopes.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,914 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-envelopes
+
+\environment ontarget-style
+
+\startchapter[title={Pushing the envelope}]
+
+Here I describe the results of some exploration and experiments by Mikael
+Sundqvist and me. We got sidetracked from intersections, arcs and drawing
+functions when we noticed some artifacts with envelopes. But what are envelopes
+actually? Let us start with a simple path:
+
+\startbuffer[testpath]
+\startMPinclusions
+ path TestPath ; TestPath := fullcircle xyscaled (10cm,1cm)
+\stopMPinclusions
+\stopbuffer
+
+\startbuffer[a]
+\startMPcode
+ draw TestPath withpen pencircle scaled 2mm withcolor darkred ;
+\stopMPcode
+\stopbuffer
+
+\startbuffer[b]
+\startMPcode
+ fill TestPath withpen pencircle scaled 2mm withcolor darkred ;
+\stopMPcode
+\stopbuffer
+
+\startbuffer[c]
+\startMPcode
+ draw TestPath withpen pensquare scaled 2mm withcolor darkblue ;
+\stopMPcode
+\stopbuffer
+
+\startbuffer[d]
+\startMPcode
+ fill TestPath withpen pensquare scaled 2mm withcolor darkblue ;
+\stopMPcode
+\stopbuffer
+
+\startbuffer[e]
+\startMPcode
+ fill TestPath withpen pensquare scaled 2mm withcolor darkgreen
+ withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[testpath]
+
+When we draw this with a circular pen we get this:
+
+\typebuffer[a] \startlinecorrection \getbuffer[testpath,a] \stoplinecorrection
+
+Filling gives:
+
+\typebuffer[b] \startlinecorrection \getbuffer[testpath,b] \stoplinecorrection
+
+When a \type {pencircle} is used \METAPOST\ delegates the work to the backend
+because \POSTSCRIPT\ has a circular pen, otherwise it has to calculate the
+to|-|be|-|filled shape itself. The backend has to do some path juggling in the
+case of \PDF\ because there a pen transform is different from \POSTSCRIPT.
+
+\typebuffer[c] \startlinecorrection \getbuffer[testpath,c] \stoplinecorrection
+
+Here we draw the shape with a square pen while filling gives:
+
+\typebuffer[d] \startlinecorrection \getbuffer[testpath,d] \stoplinecorrection
+
+In most cases this works out well but there are some hidden issues. These get
+exposed when we use a transparency:
+
+\typebuffer[e] \startlinecorrection \getbuffer[testpath,e] \stoplinecorrection
+
+It are these artifacts that we will explore a little. For that we will render
+quite some graphics. We could show numerous more examples but when you are a
+\CONTEXT\ user you will be able to make plenty yourself by looking at these
+examples.
+
+\startbuffer[e]
+\startMPcode
+ fill fullcircle xyscaled (.8TextWidth,2cm)
+ withpen pensquare scaled 8mm
+ withcolor darkgreen
+ withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e] \startlinecorrection \getbuffer[testpath,e] \stoplinecorrection
+
+When we were playing with the \type {envelope} primitive we noticed these
+artifacts and we spent quite some time looking at the code to see where it comes
+from and if we could prevent this. It was then that we realized that the fill
+actually also uses these envelopes but that it gets delayed till the shapes are
+flushed to the backend. That meant that we could use fills with transparencies
+as simple test cases.
+
+The first thing to get rid of is the weird blob at the right end of the fill in
+this example. Not really understanding all what went on, we explored all kind of
+shapes and temporarily disabled some of the code in the \METAPOST\ library to see
+where it crept in. We decided that touching the code to get rid of for instance
+rounding issues or potential direction related side effects made no sense. In the
+end the solution was simple:
+
+\startbuffer[e]
+\startMPcode
+ pen p ; p := makepen(unitsquare rotated eps) ;
+ fill fullcircle xyscaled (.8TextWidth,2cm)
+ withpen p scaled 8mm
+ withcolor darkgreen
+ withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e] \startlinecorrection \getbuffer[testpath,e] \stoplinecorrection
+
+We show what the \type {envelope} primitive gives us:
+
+\startbuffer[e]
+\startMPcode
+ pen p ; p := makepen(unitsquare rotated eps) ;
+ path e ; e :=
+ envelope (p scaled 8mm)
+ of
+ (fullcircle xyscaled (.8TextWidth,2cm))
+ ;
+ draw e
+ withpen pencircle scaled 2mm
+ withcolor darkgreen
+ withtransparency (1,.5) ;
+ drawpoints e ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e] \startlinecorrection \getbuffer[testpath,e] \stoplinecorrection
+
+This looks okay compared to previous the examples but we have only a simple path
+here, while the fill actually has two:
+
+\startbuffer[e]
+\startMPcode
+ pen p ; p := makepen(unitsquare rotated eps) ;
+ enfill fullcircle xyscaled (.8TextWidth,2cm)
+ withpen p scaled 8mm
+ withcolor darkgreen
+ withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e] \startlinecorrection \getbuffer[testpath,e] \stoplinecorrection
+
+So how do we get that inner shape? Once you know what a fill actually outputs to
+the backend it is easy! There are two envelopes: the normal one and one made from
+the reverse path (or in internal \METAPOST\ speak: htap). In the previous example
+the \type {enfill} treats the path as a fill but will draw the envelopes instead.
+As with \type {eofill}, \type {eoclip} and path accumulators this is a \METAFUN\
+backend related feature but we introduced \type {enfill} as a new one.
+
+\startbuffer[e]
+\startMPcode
+ pen p ; p := makepen(unitsquare rotated eps) ;
+ draw
+ envelope (p scaled 8mm) of
+ (fullcircle xyscaled (.8TextWidth,2cm))
+ withpen pencircle scaled 2mm
+ withcolor darkgreen
+ withtransparency (1,.5) ;
+ draw
+ envelope (p scaled 8mm) of
+ reverse (fullcircle xyscaled (.8TextWidth,2cm))
+ withpen pencircle scaled 2mm
+ withcolor darkblue
+ withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e] \startlinecorrection \getbuffer[testpath,e] \stoplinecorrection
+
+We're now ready for the real deal but keep in mind that what we show here is the
+result of stepwise growing insight combined with adding some features to the
+engine that not only makes it possible to illustrate this but also might prove to
+be useful. The used primitives will be explained later, for now we just stick
+to the results.
+
+\startMPextensions
+ def pentest (expr pth, psh, convex, enhance, width) =
+ image (
+ save p, s, w, pp, somepen ;
+ numeric s ; s := width ;
+ numeric w ; w := (15/100)*s ;
+
+ path p, e, pp, somepen ;
+
+ p := pth scaled s ;
+
+ % gets rid of bad end condition (rectangle) (introduced close points)
+
+ pp := psh rotated eps ;
+
+ if convex :
+ pen somepen ; somepen := makepen (pp) ;
+ else :
+ nep somepen ; somepen := makenep (pp) ;
+ fi ;
+
+ if cycle p : fill else : draw fi p
+ withcolor blue
+ withpen somepen scaled w
+ withtransparency (1,.5)
+ ;
+ drawarrow p ;
+ drawpoints p ;
+
+ path ppp ; ppp := pp scaled w;
+ path qqq ; qqq := convexed ppp;
+
+ for i within p :
+ drawarrow qqq shifted pathpoint withcolor yellow dashed evenly withpen pencircle scaled 1;
+ drawarrow ppp shifted pathpoint withcolor white;
+ drawpoints ppp shifted pathpoint withcolor white ;
+ endfor ;
+
+ % for i within arcpointlist 50 of p :
+ % draw ppp shifted pathpoint withcolor white ;
+ % endfor ;
+
+ defaultscale := .4 ;
+ e := envelope somepen scaled w of p ;
+ % e := e scrutinized 0.01 ;
+ draw e withcolor darkgreen withpen pencircle scaled 1mm;
+ drawpoints e ;
+ % drawpointlabels e withcolor green ;
+ e := envelope somepen scaled w of reverse p ;
+ % e := e scrutinized 0.01 ;
+ draw e withcolor yellow withpen pencircle scaled 1mm;
+ drawpoints e ;
+ % drawpointlabels e withcolor yellow ;
+
+ if enhance :
+ e := e scrutinized 0.01 ;
+ draw convexed e withcolor darkmagenta withpen pencircle scaled 2mm ;
+ fi ;
+
+ )
+ enddef ;
+\stopMPextensions
+
+\startMPextensions
+ def TestShapesA(expr pth, convex, enhance, dy) =
+ draw pentest (pth, fullcircle, convex, enhance, .4TextWidth) shifted ( 0, 0) ;
+ draw pentest (pth, fulldiamond, convex, enhance, .4TextWidth) shifted (.5TextWidth, 0) ;
+ draw pentest (pth, fulltriangle, convex, enhance, .4TextWidth) shifted ( 0,dy*TextWidth) ;
+ draw pentest (pth, fullsquare, convex, enhance, .4TextWidth) shifted (.5TextWidth,dy*TextWidth) ;
+ enddef ;
+
+ def TestShapesB(expr pth, convex, enhance, dy) =
+ draw pentest (pth, starring(-1/3), convex, enhance, .35TextWidth) shifted ( 0, 0) ;
+ draw pentest (pth, starring(-1/2), convex, enhance, .35TextWidth) shifted (.5TextWidth, 0) ;
+ draw pentest (pth, starring(-eps), convex, enhance, .35TextWidth) shifted ( 0,dy*TextWidth) ;
+ draw pentest (pth, starring(-1/2), convex, enhance, .35TextWidth) shifted (.5TextWidth,dy*TextWidth) ;
+ enddef ;
+\stopMPextensions
+
+\startplacefigure[reference=fig:A:T:F:1,title={Using four different relatively large pens on a circle.}]
+ \startMPcode
+ TestShapesA(fullcircle, true, false, .5) ;
+ \stopMPcode
+\stopplacefigure
+
+\in {Figure} [fig:A:T:F:1] shows a circle filled (or enveloped) with pens made from
+\type {fullcircle}, \type {fulldiamond}, \type {fulltriangle} and \type
+{fullsquare}. The paths that we use for the pens are also shown. The outcome can
+be puzzling but after going over the code (in the engine) and trying to reason
+the logic it becomes clear that the unexpected is mostly due to the fact that
+there is no other way to draw the path (read: meet the criteria).
+
+When looking closely at the results (adding labels to the points and zooming in)
+one will notice more side effects. Because we rotate over \type {eps} to get rid
+of the weird end situation we can end up with more points than we like and these
+are so close to each other that one doesn't notice them. For this we can apply
+the scrutinizer:
+
+\starttyping
+e := e scrutinized 0.01 ;
+\stoptyping
+
+When that is done we can wonder if a simplified (inner) path is possible. I tried
+a few solutions using the \LUA\ interface while Mikael (as mathematician)
+followed the more scientific approach but the results largely depend on the pens
+and shapes.
+
+\startplacefigure[reference=fig:B:T:F:1]
+ \startMPcode
+ TestShapesB(fullcircle, true, false, .5) ;
+ \stopMPcode
+\stopplacefigure
+
+Actually when doing all that we used a more complex pen in several variants. This
+is shown in \in {figure} [fig:B:T:F:1]. Notice the dashed lines here. When a pen
+is defined there is some checking going on. One is that circular pens get no
+treatment at all and just pass through the system. Basically any single point
+cycle is considered as elliptical anyway. Then the path turned into a so called
+\quote {convex} path. It also showed us the real pen being used. When out of
+curiosity I commented that bit of code I noticed that we could achieve
+interesting results. The result is that we now have a \type {convexed} primitive.
+After all the code was there so it took only a few lines to add this primitive.
+In \in {figure} [fig:B:F:F:1] you can see the result of a unconvexed pen.
+
+\startplacefigure[reference=fig:B:F:F:1]
+ \startMPcode
+ TestShapesB(fullcircle, false, false, .5) ;
+ \stopMPcode
+\stopplacefigure
+
+We can also calculate envelopes of non|-|cyclic paths which is demonstrated in
+\in {figure} [fig:B:T:F:2] and \in {figure} [fig:B:F:F:2]. There is however some
+trickery involved. Just to make this easier the \METAFUN\ macro package has a
+type {starring} macro that makes such a star:
+
+\starttyping
+path p ; p := starring(-1/2) rotated eps ;
+\stoptyping
+
+This star can become a pen:
+
+\starttyping
+pen somepen ; somepen := makepen (pp) ;
+\stoptyping
+
+And as mentioned pens get convexed by default. Even worse, whenever we transform
+a pen it gets convexed again. When we fill a shape the pen gets attached to that shape
+and the backend will do the enveloping. The easiest way to consistently avoid
+convexing was to introduce a new pen type.
+
+\starttyping
+nep somepen ; somepen := makenep (pp) ;
+\stoptyping
+
+The somewhat weird short \type {nep} perfectly fits the bill as in Dutch it means
+fake. A pen defined this way stays unconvexed. Actually there is another property
+where pens differ from regular paths: they are double linked. In original
+\METAPOST\ that back (prev) link uses a field in a knot record that is not used
+by pen paths. The path that gets pencilled also abuses one of knot fields for
+keeping track of the offset that a point has relative to the current point in the
+pen. It was good moment to also make regular paths double linked lists. That
+comes at the cost of an extra pointer in the knot record but we could also save
+some space by using smaller slots for other fields. Memory is not our biggest
+worry anyway. \footnote {Of course adding code is but when looking in more detail
+at the code involved it was actually possible to simplify the code a bit so there
+we gained}. Double linking meant that there was no need for doing that when
+making pens. \footnote {It makes it possible to get points relative to the
+current point in iterators over paths that we introduced a while ago, which makes
+for high performance path manipulators.}
+
+\startplacefigure[reference=fig:B:T:F:2]
+ \startMPcode
+ TestShapesB((0,0) -- (1/2,1/2) -- (2/2,0), true, false, .35) ;
+ \stopMPcode
+\stopplacefigure
+
+\startplacefigure[reference=fig:B:F:F:2]
+ \startMPcode
+ TestShapesB((0,0) -- (1/2,1/2) -- (2/2,0), false, false, .35) ;
+ \stopMPcode
+\stopplacefigure
+
+We can apply the \type {convexed} primitive to the inner envelope which is demonstrated
+in \in {figure} [fig:B:T:T:3] and \in {figure} [fig:B:F:T:3]. Of course it is debatable
+how useful this is but as with all these \METAPOST\ shapes, it has some charm.
+
+\startplacefigure[reference=fig:B:T:T:3]
+ \startMPcode
+ TestShapesB(fullcircle, true, true, .5) ;
+ \stopMPcode
+\stopplacefigure
+
+\startplacefigure[reference=fig:B:F:T:3]
+ \startMPcode
+ TestShapesB(fullcircle, false, true, .5) ;
+ \stopMPcode
+\stopplacefigure
+
+% \startplacefigure[reference=fig:B:T:F:2]
+% \startMPcode
+% TestShapesB((0,0) -- (1/2,1/2) -- (2/2,0) -- cycle, true, false) ;
+% \stopMPcode
+% \stopplacefigure
+
+% \startplacefigure[reference=fig:B:F:F:2]
+% \startMPcode
+% TestShapesB((0,0) -- (1/2,1/2) -- (2/2,0) -- cycle, false, false) ;
+% \stopMPcode
+% \stopplacefigure
+
+% \startMPpage[offset=1dk]
+% enfill fullcircle scaled 2cm withpen makepen(fullsquare) scaled 1pt withcolor darkred ;
+% enfill fullcircle scaled 3cm withpen makepen(fullsquare) scaled 1pt withcolor darkblue ;
+% enfill reverse fullcircle scaled 1cm withpen makepen(fullsquare) scaled 1pt withcolor darkgreen ;
+% \stopMPpage
+
+% \startMPpage[offset=1dk]
+% draw envelope makepen(fullsquare) of ( fullcircle scaled 2cm) withpen pencircle scaled 1pt withcolor darkred ;
+% draw envelope makepen(fullsquare) of (reverse fullcircle scaled 3cm) withpen pencircle scaled 1pt withcolor darkblue ;
+% draw envelope makepen(reverse fullsquare) of ( fullcircle scaled 1cm) withpen pencircle scaled 1pt withcolor darkgreen ;
+% \stopMPpage
+
+\page
+
+To what extend does all this influence the output? As long as we don't use
+transparencies we're quite okay unless we use a pen size that introduces the more
+extreme overshoots. If you think these phenomena only relate to \METAPOST\
+output, you're wrong. Over the past decades I've seen various fonts that exhibit
+the same small spikes and other artifacts btu as we often see the shapes at small
+sizes it goes unnoticed. A particular sensitive areas is variable fonts where,
+when the ranges on which the various dimensions operate are too liberal, you can
+also get these effects. After all, glyphs are filled shapes. To that you can also
+add the fact that they are single (connected) paths drawn with \type {eofill}.
+
+The final format a graphics ends up in can be \PDF. Take the following three
+shapes and watch the subtle side effect of rotating either the to be drawn shape
+or the pen.
+
+\startbuffer[e]
+\startMPcode
+ fill fullcircle xyscaled (5cm,3cm)
+ withpen makepen(fullsquare) scaled 2mm
+ withcolor darkred
+ withtransparency (1,.5) ;
+ fill fullcircle xyscaled (5cm,3cm)
+ shifted (6cm,0)
+ withpen makepen(fullsquare rotated eps) scaled 2mm
+ withcolor darkblue
+ withtransparency (1,.5) ;
+ fill fullcircle rotated eps xyscaled (5cm,3cm)
+ shifted (12cm,0)
+ withpen makepen(fullsquare) scaled 2mm
+ withcolor darkgreen
+ withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e] \startlinecorrection \getbuffer[e] \stoplinecorrection
+
+This produces four filled paths in the \PDF\ file, a normal and a reverse path
+per shape. I show the whole output because you can see how some points of the
+\quote {inside} curve are sort of duplicated: they have the same coordinates but
+can have different control points.
+
+\starttabulate[|lT|lT|lT|]
+\BC \BC inner \BC outer \NC \NR
+\BC left \NC 25=26 31=32 35=36 39=40 43=25 \NC \NC \NR
+\BC middle \NC \NC 49=50=51 54=55 58=59 62=63 \NC \NR
+\BC right \NC 107=108=109 112=113 116=117 120=121 \NC 89=105 \NC \NR
+\stoptabulate
+
+Here is the output. Each combination is between bound by the transparency
+operators \type {/Tr1} and \type {/Tr0} and has different colors.
+
+\startlinenumbering
+\starttyping
+% mps graphic 1: begin
+q
+/Tr1 gs
+0.625 0 0 rg 0.625 0 0 RG
+10 M
+1 j
+ 45.354315 2.83464 m
+ 45.354315 14.111559 40.874577 24.926605 32.900591 32.900591 c
+ 24.926605 40.874577 14.111559 45.354315 2.83464 45.354315 c
+ 2.83464 45.354315 -2.83464 45.354315 -2.83464 45.354315 c
+ -2.83464 45.354315 l
+-14.111559 45.354315 -24.926605 40.874577 -32.900591 32.900591 c
+-40.874577 24.926605 -45.354315 14.111559 -45.354315 2.83464 c
+-45.354315 2.83464 -45.354315 -2.83464 -45.354315 -2.83464 c
+-45.354315 -2.83464 l
+-45.354315 -14.111559 -40.874577 -24.926605 -32.900591 -32.900591 c
+-24.926605 -40.874577 -14.111559 -45.354315 -2.83464 -45.354315 c
+-2.83464 -45.354315 2.83464 -45.354315 2.83464 -45.354315 c
+2.83464 -45.354315 l
+14.111559 -45.354315 24.926605 -40.874577 32.900591 -32.900591 c
+40.874577 -24.926605 45.354315 -14.111559 45.354315 -2.83464 c
+45.354315 -2.83464 45.354315 2.83464 45.354315 2.83464 c
+45.354315 2.83464 l
+h f
+39.685035 -2.83464 m
+39.685035 -2.83464 45.354315 -2.83464 45.354315 -2.83464 c
+45.354315 -2.83464 45.354315 2.83464 45.354315 2.83464 c
+45.354315 2.83464 39.685035 2.83464 39.685035 2.83464 c
+39.685035 -8.442279 35.205297 -19.257325 27.231311 -27.231311 c
+19.257325 -35.205297 8.442279 -39.685035 -2.83464 -39.685035 c
+-2.83464 -39.685035 l
+-2.83464 -39.685035 2.83464 -39.685035 2.83464 -39.685035 c
+-8.442279 -39.685035 -19.257325 -35.205297 -27.231311 -27.231311 c
+-35.205297 -19.257325 -39.685035 -8.442279 -39.685035 2.83464 c
+-39.685035 2.83464 l
+-39.685035 2.83464 -39.685035 -2.83464 -39.685035 -2.83464 c
+-39.685035 8.442279 -35.205297 19.257325 -27.231311 27.231311 c
+-19.257325 35.205297 -8.442279 39.685035 2.83464 39.685035 c
+2.83464 39.685035 l
+2.83464 39.685035 -2.83464 39.685035 -2.83464 39.685035 c
+8.442279 39.685035 19.257325 35.205297 27.231311 27.231311 c
+35.205297 19.257325 39.685035 8.442279 39.685035 -2.83464 c
+39.685035 -2.83464 l
+h f
+/Tr0 gs
+0 g 0 G
+/Tr1 gs
+0 0 0.625 rg 0 0 0.625 RG
+158.740139 -2.834616 m
+158.740139 -2.834252 l
+158.740139 -2.834252 158.740091 2.835028 158.740091 2.835028 c
+158.739994 14.111816 154.260267 24.926715 146.286366 32.900615 c
+138.31238 40.874601 127.497335 45.354339 116.220416 45.354339 c
+116.220052 45.354339 l
+116.220052 45.354339 110.550772 45.354291 110.550772 45.354291 c
+99.273984 45.354194 88.459085 40.874467 80.485185 32.900566 c
+72.511199 24.92658 68.031461 14.111535 68.031461 2.834616 c
+68.031461 2.834252 l
+68.031461 2.834252 68.031509 -2.835028 68.031509 -2.835028 c
+68.031606 -14.111816 72.511333 -24.926715 80.485234 -32.900615 c
+88.45922 -40.874601 99.274265 -45.354339 110.551184 -45.354339 c
+110.551548 -45.354339 l
+110.551548 -45.354339 116.220828 -45.354291 116.220828 -45.354291 c
+127.497616 -45.354194 138.312515 -40.874467 146.286415 -32.900566 c
+154.260401 -24.92658 158.740139 -14.111535 158.740139 -2.834616 c
+h f
+153.070811 2.834616 m
+153.070811 -8.442303 148.591072 -19.257349 140.617086 -27.231335 c
+132.643186 -35.205235 121.828288 -39.684963 110.5515 -39.685059 c
+110.5515 -39.685059 116.22078 -39.685011 116.22078 -39.685011 c
+116.220416 -39.685011 l
+104.943497 -39.685011 94.128451 -35.205272 86.154465 -27.231286 c
+78.180565 -19.257386 73.700837 -8.442488 73.700741 2.8343 c
+73.700741 2.8343 73.700789 -2.83498 73.700789 -2.83498 c
+73.700789 -2.834616 l
+73.700789 8.442303 78.180528 19.257349 86.154514 27.231335 c
+94.128414 35.205235 104.943312 39.684963 116.2201 39.685059 c
+116.2201 39.685059 110.55082 39.685011 110.55082 39.685011 c
+110.551184 39.685011 l
+121.828103 39.685011 132.643149 35.205272 140.617135 27.231286 c
+148.591035 19.257386 153.070763 8.442488 153.070859 -2.8343 c
+153.070859 -2.8343 153.070811 2.83498 153.070811 2.83498 c
+153.070811 2.834616 l
+h f
+/Tr0 gs
+0 g 0 G
+/Tr1 gs
+0 0.625 0 rg 0 0.625 0 RG
+272.125915 2.835004 m
+272.125819 14.111923 267.645988 24.92693 259.671934 32.900848 c
+251.697965 40.87468 240.883028 45.354315 229.606241 45.354315 c
+229.606241 45.354315 223.936961 45.354315 223.936961 45.354315 c
+223.936596 45.354315 l
+212.659677 45.354219 201.84467 40.874388 193.870752 32.900334 c
+185.89692 24.926365 181.417285 14.111428 181.417285 2.834641 c
+181.417285 2.834641 181.417285 -2.834639 181.417285 -2.834639 c
+181.417285 -2.835004 l
+181.417381 -14.111923 185.897212 -24.92693 193.871266 -32.900848 c
+201.845235 -40.87468 212.660172 -45.354315 223.936959 -45.354315 c
+223.936959 -45.354315 229.606239 -45.354315 229.606239 -45.354315 c
+229.606604 -45.354315 l
+240.883523 -45.354219 251.69853 -40.874388 259.672448 -32.900334 c
+267.64628 -24.926365 272.125915 -14.111428 272.125915 -2.834641 c
+272.125915 -2.834641 272.125915 2.834639 272.125915 2.834639 c
+272.125915 2.835004 l
+h f
+266.456635 -2.834276 m
+266.456635 -2.834641 l
+266.456635 -2.834641 266.456635 2.834639 266.456635 2.834639 c
+266.456635 -8.442148 261.977 -19.257085 254.003168 -27.231054 c
+246.02925 -35.205108 235.214243 -39.684939 223.937324 -39.685035 c
+223.936959 -39.685035 l
+223.936959 -39.685035 229.606239 -39.685035 229.606239 -39.685035 c
+218.329452 -39.685035 207.514515 -35.2054 199.540546 -27.231568 c
+191.566492 -19.25765 187.086661 -8.442643 187.086565 2.834276 c
+187.086565 2.834641 l
+187.086565 2.834641 187.086565 -2.834639 187.086565 -2.834639 c
+187.086565 8.442148 191.5662 19.257085 199.540032 27.231054 c
+207.51395 35.205108 218.328957 39.684939 229.605876 39.685035 c
+229.606241 39.685035 l
+229.606241 39.685035 223.936961 39.685035 223.936961 39.685035 c
+235.213748 39.685035 246.028685 35.2054 254.002654 27.231568 c
+261.976708 19.25765 266.456539 8.442643 266.456635 -2.834276 c
+h f
+/Tr0 gs
+0 g 0 G
+Q
+% mps graphic 1: end
+\stoptyping
+\stoplinenumbering
+
+The duplicates differ per variant and as they are effective \type {lineto}
+combine with \type {curveto} we can consider removing the \type {lineto}'s. This
+can either be done in the backend or we can decide to do that in the \METAPOST\
+library during the export. \footnote {In the end I settled on introducing a move
+tolerance in addition to the bend tolerance that we already have in the export.
+The default value of \cldcontext {"\letterpercent .6N", metapost .
+getmovetolerance ()} removes 14 lines from the above \PDF\ code.}
+
+The \type {tracingspecs} flag can help us to see what happens deep down when
+
+envelopes are made. It will show the intermediate path on the console.
+
+\starttyping
+tracingspecs := 1;
+path e ; e := envelope (makepen(fullsquare) scaled 2mm) of (fullcircle scaled 3cm) ;
+show(e);
+\stoptyping
+
+The intermediate path is reported as:
+
+\starttyping
+ % beginning with offset ( 2.83464, 2.83464)
+ ( 42.51968, 0 ) .. controls ( 42.51968, 11.27742) and ( 38.03908, 22.09160)
+.. ( 30.06534, 30.06534) .. controls ( 22.09160, 38.03908) and ( 11.27742, 42.51968)
+ % counterclockwise to offset (-2.83464, 2.83464)
+.. ( 0, 42.51968) .. controls ( 0, 42.51968) and ( 0, 42.51968)
+.. ( 0, 42.51968) .. controls (-11.27742, 42.51968) and (-22.09160, 38.03908)
+.. (-30.06534, 30.06534) ..controls (-38.03908, 22.09160) and (-42.51968, 11.27742)
+ % counterclockwise to offset (-2.83464,-2.83464)
+.. (-42.51968, 0 ) .. controls (-42.51968, 0 ) and (-42.51968, 0 )
+.. (-42.51968, 0 ) .. controls (-42.51968,-11.27742) and (-38.03908,-22.09160)
+.. (-30.06534,-30.06534) .. controls (-22.0916, -38.03908) and (-11.27742,-42.51968)
+ % counterclockwise to offset ( 2.83464,-2.83464)
+.. ( 0, -42.51968) .. controls ( 0, -42.51968) and ( 0, -42.51968)
+.. ( 0, -42.51968) .. controls ( 11.27742,-42.51968) and ( 22.0916, -38.03908)
+.. ( 30.06534,-30.06534) .. controls ( 38.03908,-22.09160) and ( 42.51968,-11.27742)
+ % counterclockwise to offset ( 2.83464, 2.83464)
+.. ( 42.51968, 0 ) .. controls ( 42.51968, 0 ) and ( 42.51968, 0 )
+.. ( 42.51968, 0 )
+& cycle
+\stoptyping
+
+The result becomes:
+
+\starttyping
+ ( 45.35432, 2.83464) .. controls ( 45.35432, 14.11206) and ( 40.87372, 24.92624)
+.. ( 32.89998, 32.89998) .. controls ( 24.92624, 40.87372) and ( 14.11206, 45.35432)
+.. ( 2.83464, 45.35432) .. controls ( 2.83464, 45.35432) and ( -2.83464, 45.35432)
+.. ( -2.83464, 45.35432) .. controls ( -2.83464, 45.35432) and ( -2.83464, 45.35432)
+.. ( -2.83464, 45.35432) .. controls (-14.11206, 45.35432) and (-24.92624, 40.87372)
+.. (-32.89998, 32.89998) .. controls (-40.87372, 24.92624) and (-45.35432, 14.11206)
+.. (-45.35432, 2.83464) .. controls (-45.35432, 2.83464) and (-45.35432, -2.83464)
+.. (-45.35432, -2.83464) .. controls (-45.35432, -2.83464) and (-45.35432, -2.83464)
+.. (-45.35432, -2.83464) .. controls (-45.35432,-14.11206) and (-40.87372,-24.92624)
+.. (-32.89998,-32.89998) .. controls (-24.92624,-40.87372) and (-14.11206,-45.35432)
+.. ( -2.83464,-45.35432) .. controls ( -2.83464,-45.35432) and ( 2.83464,-45.35432)
+.. ( 2.83464,-45.35432) .. controls ( 2.83464,-45.35432) and ( 2.83464,-45.35432)
+.. ( 2.83464,-45.35432) .. controls ( 14.11206,-45.35432) and ( 24.92624,-40.87372)
+.. ( 32.89998,-32.89998) .. controls ( 40.87372,-24.92624) and ( 45.35432,-14.11206)
+.. ( 45.35432, -2.83464) .. controls ( 45.35432, -2.83464) and ( 45.35432, 2.83464)
+.. ( 45.35432, 2.83464) .. controls ( 45.35432, 2.83464) and ( 45.35432, 2.83464)
+.. cycle
+\stoptyping
+
+Numerous experiments by Mikael and me lead to the conclusion that both stages can
+introduce the duplicate points and that any messing with that during envelop
+generation time has negative side effects. However, when we export the path we
+can definitely get rid of them. They are harmless but we're talking quality
+control here and \TEX\ and \METAPOST\ is all about quality!
+
+As usual, playing with mechanisms like this gets one wondering about similar cases,
+for instance variants of dashing.
+
+\startbuffer[e]
+\startMPcode
+vardef dashing (expr pth, shp, stp) =
+ for i within arcpointlist stp of pth :
+ shp
+ rotated angle(pathdirection)
+ shifted pathpoint
+ &&
+ endfor nocycle
+enddef ;
+
+path parrA ; parrA :=
+ (0,0) -- (0,-1) -- (2,-1) -- (2,-2) -- (4,0) -- (2,2) -- (2,1) -- (0,1) -- (0,0)
+;
+path parrB ; parrB :=
+ parrA -- (0,-1) -- (2,-1) -- (2,-2) -- (4,0)
+;
+path p ; p := fullcircle scaled 2cm ;
+
+fill (dashing (p, parrA, 25) && cycle) withtransparency (1,.5) ;
+draw (dashing (p, parrA, 25) && cycle) withtransparency (1,.5) ;
+fill (dashing (p, parrB, 25) && cycle) shifted (3cm,0) withtransparency (1,.5) ;
+draw (dashing (p, parrB, 25) && cycle) shifted (3cm,0) withtransparency (1,.5) ;
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e]
+
+In \in {figure} [fig:DASHING:1] we see the result. Of course how well if comes out
+depends on the definition but what is special here is that we use the double
+ampersand operator. That one will connect the paths without complaining about the
+end and being point not colliding. I suppose there was a good reason for making
+that a condition in the case of fonts, after all \METAFONT\ is what it came from,
+but there is no real reason for it. It is a cheap extension anyway. At the same
+time I decided to add a native \quote {direction} operator. The number of extra
+bytes in the binary is probably less than what is needed in memory to store the
+macro and the advantage is that we save an extra run over the path to reach the
+point we're consulting. \footnote {In case you wonder, \ this is how the macro
+definition looks like: \typ {vardef direction expr t of p = postcontrol t of p -
+precontrol t of p enddef ;}. Because points are searched from from the start
+there are two lookups needed. Normally this is no problem but Mikael and I are
+playing with really large paths, like those that come from drawing functions.}
+
+\startplacefigure[reference=fig:DASHING:1,title=A somewhat related rendering.]
+ \scale[width=\textwidth]{\getbuffer[e]}
+\stopplacefigure
+
+In case you wonder why we need this feature, here is an argument:
+
+\startbuffer[e]
+\startMPcode
+ path s ; s := fullcircle scaled 4cm ; pickup pencircle scaled 5mm ;
+
+ draw (s shifted (0cm,0) && s shifted (3cm,0) && s shifted (6cm,0))
+ withcolor "darkred" withtransparency (1,.5) ;
+
+ currentpicture := currentpicture shifted (-8cm,0) ;
+
+ draw s shifted (0cm,0)
+ withcolor "darkblue" withtransparency (1,.5) ;
+ draw s shifted (3cm,0)
+ withcolor "darkblue" withtransparency (1,.5) ;
+ draw s shifted (6cm,0)
+ withcolor "darkblue" withtransparency (1,.5) ;
+
+ currentpicture := currentpicture shifted (-8cm,0) ;
+
+ nodraw s shifted (0cm,0) ;
+ nodraw s shifted (3cm,0) ;
+ nodraw s shifted (6cm,0) ;
+ dodraw origin withcolor "darkgreen" withtransparency (1,.5) ;
+
+\stopMPcode
+\stopbuffer
+
+\typebuffer[e]
+
+The results are shown in \in {figure} [fig:DASHING:2]. Which if the alternatives
+you prefer also depends on how you generate the shape. The \type {nodraw} variant
+for instance can be mixed with calculations without the need to revert to \type
+{hide}.
+
+\startplacefigure[reference=fig:DASHING:1,title=Do you see the difference?]
+ \scale[width=\textwidth]{\getbuffer[e]}
+\stopplacefigure
+
+\startbuffer[e]
+\startMPcode
+vardef dashing (expr pth, shp, stp) =
+ for i within arcpointlist stp of pth :
+ shp
+ rotated angle(pathdirection)
+ shifted pathpoint
+ &&
+ endfor nocycle
+enddef ;
+
+path e, p ; numeric n ;
+e := (0,0) -- (0,-1) -- (2,-1) -- (2,-2) -- (4,0) -- (2,2) -- (2,1) -- (0,1) -- (0,0) ;
+n := 10 * bbwidth(e) ;
+p := function(1,"x","x/4 + sin(x)",epsed(0.1),epsed(4*pi),0.01) scaled 2cm ;
+
+fill (dashing (p, e scaled 2.5, n) && cycle) withcolor .6white ;
+draw (dashing (p, e scaled 2.5, n) && cycle) withcolor darkgreen ;
+
+currentpicture := currentpicture shifted (0,-2cm) ;
+
+n := 20 * bbwidth(e) ;
+fill (dashing (p, e, n) && cycle) withcolor .6white ;
+draw (dashing (p, e, n) && cycle) withcolor darkblue ;
+\stopMPcode
+\stopbuffer
+
+\in {Figure} [fig:DASHING:3] demonstrates how far we've come. Mikaels fancy
+arrows nicely follow the shape of the function. Of course you need to make sure
+that these arrows are reasonably scaled. The definition of \type {dashing}
+demonstrates a few primitives that permits efficient iteration over a path and
+\type {arcpointlist} is sort of a path.
+
+\startplacefigure[reference=fig:DASHING:3,title=Advanced pseudo dashing.]
+ \scale[width=\textwidth]{\getbuffer[e]}
+\stopplacefigure
+
+\typebuffer[e]
+
+\stopchapter
+
+\stopcomponent
+
+% \startMPpage[offset=1dk]
+% path theta, xaxis, yaxis;
+%
+% xaxis := (-4, 0) -- (5, 0) ;
+% yaxis := ( 0,-2) -- (0, 2) ;
+% theta := (-3, 0) -- (0, 0) &&
+% ( 0, 1) -- (3, 1) &&
+% ( 3,-1) -- (5,-1) ;
+%
+% draw theta scaled 2cm
+% withpen pencircle scaled 2
+% withcolor darkred ;
+%
+% drawarrow xaxis scaled 2cm ;
+% drawarrow yaxis scaled 2cm ;
+% \stopMPpage
+
+% \startMPpage[offset=1dk]
+% vardef dashing (expr pth, shp, stp) =
+% for i within arcpointlist stp of pth :
+% shp
+% rotated angle(pathdirection)
+% shifted pathpoint
+% &&
+% endfor nocycle
+% enddef ;
+%
+% path e, p ; numeric n ;
+% e := (0,0) -- (0,-1) -- (2,-1) -- (2,-2) -- (4,0) -- (2,2) -- (2,1) -- (0,1) -- (0,0) ;
+% n := 30 * bbwidth(e) ; % 80 ;
+% p := function(1,"x","x/4 + sin(x)",epsed(0.1),epsed(4*pi),0.01) scaled 2cm ;
+
+% % draw p withpen pencircle scaled .1mm withcolor darkblue ;
+
+% eofill (dashing (p, e, n) && cycle) withcolor .6white ; % withtransparency (1,.5) ;
+% draw (dashing (p, e, n) && cycle) withcolor darkgreen ; % withtransparency (1,.5) ;
+% \stopMPpage
+
+% \startMPpage[offset=1dk]
+% path theta, xaxis, yaxis;
+%
+% xaxis := (-4,0) -- (4,0) ;
+% yaxis := (0,-1/4) -- (0,3/2) ;
+% theta := (-3,0) -- (0,0) && (0,1) -- (3,1) ;
+%
+% pickup pencircle scaled 1mm;
+%
+% drawarrow xaxis scaled 2cm ;
+% drawarrow yaxis scaled 2cm ;
+% draw theta scaled 2cm withcolor darkred ;
+%
+% currentpicture := currentpicture shifted (0,5cm) ;
+%
+% drawarrow xaxis scaled 2cm ;
+% drawarrow yaxis scaled 2cm ;
+%
+% draw (theta && cycle) scaled 2cm withcolor darkyellow ;
+% drawpoints (theta && cycle) scaled 2cm withcolor darkyellow ;
+% drawpointlabels (theta && cycle) scaled 2cm withcolor darkyellow ;
+% fill (theta && cycle) scaled 2cm withcolor "orange" withpen pencircle scaled .5mm;
+%
+% show(theta );
+% show(theta && cycle);
+%
+% \stopMPpage
+
+% \startMPpage[offset=1dk]
+% path theta, xaxis, yaxis, thetaA, thetaB ;
+%
+% xaxis := (-4,0) -- (4,0) ;
+% yaxis := (0,-1/4) -- (0,3/2) ;
+%
+% thetaA := (-3,0) -- (0,0) -- (-2,1) -- cycle ;
+% thetaB := ( 0,1) -- (3,1) -- ( 2,0) -- cycle ;
+% theta := thetaA && thetaB ;
+%
+% pickup pencircle scaled 1mm;
+%
+% drawarrow xaxis scaled 2cm ;
+% drawarrow yaxis scaled 2cm ;
+% draw theta scaled 2cm withcolor darkred ;
+%
+% currentpicture := currentpicture shifted (0,5cm) ;
+%
+% drawarrow xaxis scaled 2cm ;
+% drawarrow yaxis scaled 2cm ;
+%
+% draw (theta && cycle) scaled 2cm withcolor darkyellow ;
+% fill (theta && cycle) scaled 2cm withcolor "orange" withpen pencircle scaled .5mm;
+% \stopMPpage
+
+% \startMPpage
+% picture q ; q := lmt_outline [ text = "\TEX", kind = "path" ] ;
+% path qq ; qq := for i within q :
+% if picture i : for j within i : if stroked j :
+% pathpart j &&
+% fi endfor fi
+% endfor nocycle ;
+%
+% path e, p ; numeric n ;
+% e := qq shifted - center qq xsized 1mm ;
+% n := 30 * bbwidth(e) ;
+% p := function(1,"x","x/4 + sin(x)",epsed(0.1),epsed(4*pi),0.01) scaled 2cm ;
+%
+% draw (dashing (p, e scaled 2.5, n) && cycle)
+% withpen pencircle scaled .1
+% withcolor darkgreen
+% ;
+%
+% path e, p ; numeric n ;
+% e := qq shifted - center qq xsized .1mm ;
+% n := 2000 * bbwidth(e) ;
+% p := function(1,"x","x/4 + sin(x)",epsed(0.1),epsed(4*pi),0.01) scaled 2cm ;
+
+% draw (dashing (p, e scaled 2.5, n) && cycle)
+% withpen pencircle scaled .01
+% withcolor darkgreen
+% ;
+% \stopMPpage
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-envelopes.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-gettingridof.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-gettingridof.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-gettingridof.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -118,7 +118,7 @@
font mode (a \CONTEXT\ feature).
\bgroup
-\definefontfeature[mathextra][mathxitsarabic=yes]
+\definefontfeature[mathextra][xitsarabic=yes]
\switchtobodyfont[bonum]
\setupmathematics[bidi=yes,align=righttoleft]\par
\setupalign[righttoleft] %
@@ -182,7 +182,7 @@
\startformula
\scale[s=2]{\dm{
-\widebar{A}__{\myannuity{m}}^^{2}_{x:\annuity{n}}^{1}
+\widebar{A}__{\myannuity{m}}^^^{2}_{x:\annuity{n}}^{1}
}}
\stopformula
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-green.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-green.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-green.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,204 @@
+% language=us runpath=texruns:manuals/ontarget
+
+\startcomponent ontarget-green
+
+\environment ontarget-style
+
+\startchapter[title={Running green}]
+
+There are a few contradicting developments going on: energy prices sky|-|rocket
+and Intel and AMD are competing for the fastest \CPU's where saving energy seems
+mostly related to making sure that the many cores running at the same time don't
+burn the machine. However, \TEX\ is a single core consumer so throwing lots of
+cores into the game is not helping much. You're better served with one very fast
+core than many slower ones that accumulate to much horsepower. The later makes
+sense when you process video or play games, but that's not what \TEX\ is about,
+although it is fun to play with. Of course often multiple cores come in handy,
+for instance in the build farm that is used to compile \LUAMETATEX\ and
+intermediate \TEXLIVE\ releases: when that gets compiled and we also trigger a
+\LUAMETATEX\ build, two times 10 \LINUX\ virtual machines are compiling and one
+windows machine that runs four compile jobs at the same time.
+
+The server that runs the farm is Dell 710 server with dual 5630 Xeon processors,
+6 SAS drives each 2GB in (hardware) raid 10, 72 GB memory, redundant power
+supplies and 6 network ports. It sits idle for most of the time and consumes
+between 250 and 400W. It is part of a redundant setup: dual switches, dual
+routers, multiple UPS's, air conditioning, two backup QNAP NAS's, a few low power
+machines for distributed continuous incremental backups, etc. The server itself
+is a refurbished one, so not the most expensive, but with the Dutch energy prices
+of 2022 bound to gas prices, we quickly realized that there was no way we could
+keep it up and running. Because we have three such servers (one is turned off and
+used as fallback) we started wondering if we could go for a different solution.
+
+As we recently upgraded the 2013 laptops to refurbished 2018 ones (the latest
+models that could use the docking stations that we have), we decided to buy a few
+more and test these as replacements for the servers. Of course one has to pimp
+these machines a bit: a professional 2TB nvme SSD plus a proper 2.5in SSD as
+backup one, 64 GB of memory, a few extra USB3 network cards. The \CPU's are fast
+mobile Xeons. We use proxmox as virtual host and that runs fine in such a
+configuration.
+
+Surprisingly, after moving the farm to that setup, which basically boils down to
+moving virtual machines, we found that running those parallel compilations
+performance wise was quite okay. And the nice thing was that these machines idle
+much lower, some 20--30W. The saving is therefore quite noticeable and we decided
+to check some more; after all it would be nice if we could bring down the average
+power consumption of 1750W down to at least half so that it would match the
+output of a few solar panels. Of course it means that one has to ditch perfectly
+well working machines which itself is not that environmental friendly but there
+is not much to choose here.
+
+The second machine to be replaced was the one that runs quite some virtual
+machines too: the main file server, the mail server, an ftp server, the website, an
+rsync host, the squeezebox server that also serves as update test, and various
+project related rendering services. All run in their own (OpenSuse) virtual
+machine. After installing a similar laptop those were also moved.
+
+As a side effect, the two backup NAS's were replaced by a single laptop (my 2013
+Dell precision workhorse) running one backup file server, and for an extra
+incremental backup (rsnaphot running hourly, daily, weekly and monthly backups is
+our friend) a 2013 macbook was turned into a \LINUX\ machine (15W idle with an
+internal reused SSD\footnote {For a change that apple machine was easy to update,
+and we could even get a new clone battery replacement.} and an external 4GB
+disk), two managed switches became one (after all we had less network cables due
+to lost redundancy), only one backup power supply (that will be replaced by an
+nicer alternative when it breaks down; after all, by using laptops we get power
+backup for free). The total consumption went down with at least 1000W. Of course
+there is an investment involved and we need to reconfigure the server rack, but
+the expectation is that by investing now we get less troubles later (less
+gambling on energy). \footnote {We hope to save some 9000 kWh which means that
+save at least some 2500\euro\ per year and more when the government will
+reinstate its energy tax policy and or prices go further up, which seems to be
+the case. Even before the crisis in the Netherlands 5ct/Kwh became fives times
+that amount effectively when connection, transportation, energy tax and value
+added tax gets added.}
+
+But, there is still the pending question of what the impact is on the services
+that we run. The most demanding ones are the Math4all and Math4mbo: these produce
+large files, need many resources (\XML\ and images), and we didn't want to burn
+ourselves too much. Now, here is an interesting observation: this service runs
+twice as fast on the new infrastructure. But it is hard to explain why. The file
+server is on a different machine (so no fast internal network), the \CPU\ is a
+bit faster but not that much, the virtual machine is on \SSD, but files are saved
+on the file server, which is a two disk \USB3 enclosure connected directly to a
+virtual machine that does software raid. The most important difference is that
+main memory is much faster and \TEX\ is a memory intense process. From when we
+started with \LUATEX\ we do know that memory bandwidth and \CPU\ caches makes a
+difference. Maybe the faster floating point handling fo the more modern Xeon also
+helps here.
+
+And that brings me to the following: how do we actually benchmark \TEX ? When you
+go on the internet and compare \CPU's most tests are not that comparable to a
+\TEX\ run on a single core. One can think of a set of test files, but the problem
+there is that when the engine evolves and details in the macro package coding
+changes, one looses the comparison with older tests. This is why, when we do such
+tests, we always run the same test on the different platforms. Although this
+often shows that the gain on newer hardware is seldom what one expects from the
+more general benchmarks, one can still be surprised. When we moved to five year
+newer laptops the gain was some 30\% for me and 50\% for my colleague. The
+difference between his laptop and the slightly more beefed up virtual machine can
+be neglected.
+
+We monitor the power consumption with a youless device connected to the power
+meter. When I process the \LUAMETATEX\ manual I see the phase that the machine
+sits on go up 20W for a run that takes some 9 seconds. Let's say that we use
+180Ws or 0.0006kWh (20.000 runs per kWh). So, compared to the idle power usage of
+a server, a single \TEX\ run can be neglected, simply because it is so fast. So,
+what is actually the most efficient hardware for a \TEX\ service? I get the
+feeling that a decent Intel Atom C3955 16-Core driven machine is quite okay for
+that, but I don't have that at hand and last time I checked one could not order
+anything anyway. And with prices of hardware going up it's also not something you
+try for fun. As comparison to what we have now, testing \TEX\ on an Intel
+NUC11ATKC2 could also be interesting (it has an N4505 \CPU). There was a time
+when I considered a bunch of raspberry pi's but they no longer are that cheap,
+given that you can get them, and adding a case and proper disc enclosure also
+adds up. When wrapped in a nice package the pi will probably a couple of times
+slower but it then probably also uses less power. These fitlets are also
+interesting but again, one can't get them.
+
+It is kind of fun to play with optimizations that don't really impact the clarity
+of the code. One can argue that spending a day on something that saves 0.005
+seconds on a specific run is a waste of time, but of course one has to multiply
+that number by a number of runs. Personally I will never gain from it but
+nevertheless it can save some energy: imagine a batch of 15000 documents every
+day. We then save $15000 * 0.005 * 365 = 27375$ seconds or about 8 hours runtime.
+This can still be neglected but what if this is not the only optimization?
+
+An example of such an optimization is this:
+
+\starttyping
+\advance\somecounter \plusone
+\advance\somecounter by \plusone
+\stoptyping
+
+The second one runs faster because there is no push back involved as side effect of
+the lack of a keyword, so how about adding this to the engine?
+
+\starttyping
+\advanceby \somecounter \plusone
+\advancebyone\somecounter
+\stoptyping
+
+Given the way \LUAMETATEX\ is coded, it only needs a few lines! In this case it
+extends the repertoire of primitives so it is visible but we have many other
+(similarly small) optimizations that contribute. Again, the average user will not
+notice a drop in runtime from 1.5 seconds to 1.45 but when 8 hours become 80
+hours or 800 hours it does become interesting. In energy sensitive 2022 these 800
+hours not only save some \texteuro 400 but also contribute to a lower carbon
+footprint! And now imagine how much could be saved on these extensive runs when
+we make sure that the style used is optimal? Of course, when we need two runs per
+document it starts adding up more.
+
+Some experiments with a demanding file showed one percent gain (on a 2.7 seconds
+run) using the alternative integers, dimensions and advance primitives. However,
+using \CONTEXT's compact font mode brought down runtime to 2.0 seconds! So, in
+the end it's all very relative. It is worth noticing that the .7 seconds saved on
+fonts is sort of constant, which means that accumulated gains elsewhere makes
+that .7 seconds more significant as we progress.
+
+\stopchapter
+
+% 4 * 7520 precision with Xeons
+% 1 * 7600 precision with extreme i7
+% 1 * 2200W dell ups
+% 2 * 4K monitor (+ 3 monitors turned off)
+% 1 * imac server room xubuntu (turned off)
+% 2 * pfsense router (6 port 8 core atom appliances)
+% 1 * dell 48 port switch (1 turned off, 1 24 port switch reserve)
+% 3 * 720 dell server (turned off)
+% 2 * dell 16 port switch
+% 2 * dell 8 port switch (1 turned off)
+% 1 * raspberry pi farm
+% 2 * office printer
+% 4 * standby automatic lights
+% 2 * tv + cable box (+ 1 turned off) (on ups)
+% 2 * hue hub
+% 1 * evohome + pump heating system
+% 1 * airconditioner (idle blow, 28 degrees threshold)
+% 1 * fitlet (serves hue and heating)
+% 1 * fritzbox (7590) + 3 repeaters
+% 1 * cable modem
+% 3 * small UPS
+% 3 * distributed backup (old macbook, hp laptop, hp micro server)
+% - - some standby things (squeeze boxes etc)
+% 32 hue light bulbs
+% 6 * cordless phones
+% 1 * alarm panel
+% 2 * warm water boiler (standby + upping)
+% 1 * coffee machine (standby + upping)
+% 1 * freezer (standby + upping)
+% 1 * refrigerator (standby + upping)
+%
+% 800-1000W (from 1750-2000)
+%
+% (upcoming new monitors will save 100W)
+%
+% aim: 750 during the day, 500 after midnight
+%
+% 4 solar panels on shed
+
+% not mentioned: washing machine, dryer, dish washer, several audio sets,
+% battery loaders (ebike etc),
+
+\stopcomponent
+
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-green.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-introduction.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -87,9 +87,13 @@
\LUAMETATEX\ and the follow up on \MPLIB. And once you start along that road
small steps become large steps and one can as well be try to be as complete as
possible. We've come a long way but eventually arrived at the destination.
-Personally I think we got there by not being in a hurry.
+Personally I think we got there by not being in a hurry. Even targets that are
+(nearly) reached can eventually move,
-But even targets that are reached can eventually move,
+I want to use this opportunity to thank Karl Berry. When making some of the
+stories presented here ready for \TUGBOAT, he not only turns bad English into
+good, but also checks and feeds back on what we write. We really appreciate that
+and it also motivates us to keep wrapping up.
\blank[2*big]
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-jmn.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-jmn.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-jmn.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,245 @@
+% language=us runpath=texruns:manuals/ontarget
+
+% \profilemacro\scaledfontdimen
+
+\usebodyfont[antykwa]
+\usebodyfont[iwona]
+\usebodyfont[kurier]
+
+\startcomponent ontarget-jmn
+
+\environment ontarget-style
+
+\startchapter[title={Supporting math in the JMN collection}]
+
+\startlines
+Hans Hagen, Hasselt NL
+Mikael Sundqvist, Lund SV
+\stoplines
+
+\startsubject[title=Introduction]
+
+In 2022 we overhauled math font support in \CONTEXT, using new functionality in
+the \LUAMETATEX\ engine. By that time it had become clear that the \OPENTYPE\
+math font landscape had more or less settled. The Latin Modern fonts as well as
+the \TEX gyre fonts don't evolve, so we consider them being frozen. It is also
+unlikely that the reference Cambria font will change or become more complete.
+More recent math font are modelled as a mixture of Cambria and Latin Modern.
+
+When we started with \LUATEX\ in \CONTEXT\ we immediately started using \UNICODE\
+math but the lack of proper \UNICODE\ fonts, with the exception of Cambria,
+resulted in creating virtual \UNICODE\ math fonts on the fly using the virtual
+font features of the \LUATEX. But when the \OPENTYPE\ math fonts came available
+that kind of trickery was no longer needed (or at least less preferred).
+
+That is why we considered dropping the virtual math font mechanism from \LMTX. We
+had already dropped \type {tx} (we can use Termes) and \type {px} (better use
+Pagella) fonts as well as \TYPEONE\ based Latin Modern. Dropping the commercial
+Math Times was a logical next step, also because it has never been tested. The
+mixtures of Pagella and Euler were already replaced by using the upgraded tweak
+mechanism.
+
+That left us with Antykwa, Iwona and Kurier, the fonts that the late Janusz
+Nowacky vectorized and that came with plenty \OPENTYPE\ text fonts but also with
+\TYPEONE\ math companions. And, as we like these fonts, it meant that we had to
+come up with a solution. One option was to create proper \OPENTYPE\ math fonts, but
+another was to strip down the virtual math font mechanism to just support these
+fonts. There is some charm in keeping the \TYPEONE\ fonts, also because it is a
+test case for (by now sort of obsolete) \TFM\ metric, \PFB\ outline, encoding and
+map files, for which we have code embedded so having a proper test case makes
+sense.
+
+In the end we opted for the second solution so this is what the next sections are
+about: supporting \OPENTYPE\ math using \TYPEONE\ fonts. We admit that it took
+way more time than a conversion to \OPENTYPE\ math fonts would have, but that is
+partly due to the fact that these fonts, and especially Antykwa, have some
+characteristic features that we wanted to use. So, in a sense it was also an
+esthetics challenge. It also helped that the font was used in realistic and
+moderately complex math rendering. We also note that rendering in \LMTX\ is
+different (and hopefully better) than in \MKIV\ because we try to benefit from
+the upgraded math engine in \LUAMETATEX.
+
+This exploration is dedicated to Janusz who was one of the characteristic
+presenters of fonts at Bacho\TEX\ meetings, who contributed these fonts, and
+who in some sense was thereby kick starting the Polish \TEX\ related font
+projects.
+
+\stopsubject
+
+\startsubject[title=Virtual math]
+
+We keep this expose simple and only tell what we did, you can look at the \type
+{lfg} files and source code to see what magick is done. For the standard Antykwa
+we load \typ {LatinModern-Math} first, so we cover all symbols that matter. Next
+we stepwise load \typ {rm-anttr.tfm}, \typ {mi-anttri.tfm}, \typ {mi-anttbi.tfm},
+\typ {rm-anttb.tfm}, \typ {sy-anttrz.tfm}, \typ {ex-anttr.tfm}. For each we
+specify an encoding vector. Some are loaded multiple times with different
+vectors. Because we don't like the slanted curly braces we even load \typ
+{AntykwaTorunska-Regular} in order to get the upright ones. This method is not that
+different from what we do in \MKIV.
+
+The specification of a loaded font also can contain a list of (named) characters
+that should be ignored, That was one of the new features in the virtual
+constructor. We take the math parameters from the fonts where these are
+specified, here in the symbols and extension fonts.
+
+The fonts contain extra snippets of extensibles that one can use to construct
+some of these vertical and horizontal stretched symbols on the fly in addition to
+what the font metrics already define. Unfortunately some snippets are missing,
+like the six pieces that could make up horizontal and vertical bars, for which we
+now need to cheat. We considered making a companion font but for now we are in
+\quote {as good as we can} emulation mode.
+
+\stopsubject
+
+\startsubject[title=The fonts]
+
+We start out with a skeleton font and in the past we used the \OPENTYPE\ text
+font for that. On top of that we overlay a bunch of \TYPEONE\ fonts, and as was
+common in those days, the \AMS\ math symbol fonts \type {msa} and \type {msb}
+were overlayed last in order to fill in remaining gaps. However, now that we have
+a Latin Modern \OPENTYPE\ math font it made more sense to use that as starting
+point because it already has all these symbols.
+
+If we forget about the additional weights and condensed variants, the JMN math
+collection has actually not that many fonts. One reason for that is that the
+upright roman font, the ones that have an \type {r} near the end of the file
+name, in traditional \TEX\ speak \type {rm}, have way more than 255 characters:
+it not only has all kind of composed characters, it also has all the extensible
+shapes. All is (as usual with \TYPEONE\ fonts) driven by encoding and mapping
+files. Fortunately the glyphs names (that we use for filtering) are the same for
+the three fonts but there are some more in Antykwa.
+
+\stopsubject
+
+\startsubject[title=Challenges]
+
+The real challenge was Antykwa. This is because it has a distinctive curvature at
+the end of sticky parts (like rules and such). The \TEX\ machinery as well as
+\OPENTYPE\ math assume rules being used in for instance radicals, fractions,
+overbars, underbars and vertical bar fences.
+
+\startlinecorrection
+\scale[width=\textwidth]{\switchtobodyfont[antykwa]\im {
+ \showglyphs
+ \mathbin{-}
+ \mathbin{+}
+ \mathbin{=}
+ \mathbin{<}
+ \mathbin{>}
+}}
+\stoplinecorrection
+
+The last three come in not only sizes (aka variants) but also can stretch (aka
+extensible). And, them being just rules it is assumes that the \TEX\ engine deals
+with that, and as it cannot really do that without characters, the traditional
+approach is to use commands that use \TEX\ rules. However, in \CONTEXT\ (\MKIV\
+and \LMTX) we can provide the proper variants and extensible using virtual
+shapes, and in \LMTX\ we can even scale as last resort.
+
+The first two are special. We already could support fractions using dedicated
+characters because we played with the fraction builder using for instance arrows
+as separator and these are not rules but characters. It was not that much work to
+also make that possible for the rule in a radical. The main adaptation was that
+we need to center the numerator and denominator of a fraction and the body of a
+radical when the character used is wider than requested.
+
+\startlinecorrection
+\scale[height=2cm]{\switchtobodyfont[antykwa]\im {
+ \showglyphs
+ \sqrt{x+1} -
+ \fenced[bar]{
+ \frac{1}{x+1}
+ }
+}}
+\stoplinecorrection
+
+Because we have two font models in \CONTEXT, normal and compact, we had to be careful
+in defining the virtual shapes and extensibles so that they work in both models. This
+has to do with scaling and sharing.
+
+\stopsubject
+
+\startsubject[title=Implementation]
+
+The original virtual math font mechanism worked closely with the math fall back
+features, but these have been replaced by tweaks, which means that we lost some
+of that. Also, heuristics worked fine on the average but for Antykwa we wanted
+more. Therefore some of the built in logic has been moved to the goodie file that
+controls the composition. After all, we don't want to hard code specific
+solutions in the core.
+
+Another addition was the use of so called setups bound to a font class so that we
+can set up some math machinery features for e.g.\ Antykwa in the goodie file. We
+need to bind to a class because we mix a dozen math fonts in one test file and
+therefore we need to separate these setups.
+
+As in regular \OPENTYPE\ math support we ignore the italic correction and translate
+it in combinations of proper width and specific kerning. That way we avoid all kind
+of issues that we otherwise need to compensate for.
+
+Because we need to hook extensible characters into the machine for Antykwa its
+font typescript file also defines a font class specific setup (of a few lines) to
+be applied. This might evolve into a more granular mechanism but for now it works
+fine and adds little overhead.
+
+\stopsubject
+
+\startsubject[title=Examples]
+
+We end by showing a few \quotation{real} examples.
+
+\bgroup\switchtobodyfont[antykwa]
+\startformula
+\binom{n}{k} = \frac{n!}{k!(n-k)!}\mtp{,} 0 \leq k \leq n\mtp{.}
+\stopformula
+\egroup
+
+The parentheses are unchanged, and we believe that using rotation symmetry
+instead of mirror symmetry is a brave but interesting choice, and the new
+fraction bar fits well with it. The fraction bar also fits well with the equal
+sign.
+
+\bgroup
+\switchtobodyfont[antykwa]
+\startformula
+1 + x + x^2 + \ldots + x^n = \frac{1 - x^{n+1}}{1 - x}
+\stopformula
+\egroup
+
+The new vertical bars go well with the brackets, the integral and the solidus.
+
+\bgroup
+\switchtobodyfont[antykwa]
+\startformula
+\fenced[doublebar]{f}_p = \F3\left[ \int_0^1 \fenced[bar]{f(x)}^p \dd x \right]^{1/p}
+\stopformula
+\egroup
+
+The fancy fraction bar and the radical bar have made the arithmetic|-|geometric
+mean inequality look more appealing than ever, hasn't it?
+
+\bgroup
+\switchtobodyfont[antykwa]
+\startformula
+ \frac{a_1 + a_2 + \ldots + a_n}{n} \geq \root[n=n]{a_1 a_2 \ldots a_n}
+\stopformula
+\egroup
+
+Primes are usually a bit of a challenge:
+
+\bgroup
+\switchtobodyfont[antykwa]
+\startformula
+f(k+1)-f(k) \alignhere = f'(k)+f''(k)\frac{1}{2}+f'''(\xi_k)\frac{1}{6}
+ \breakhere = k^p+\frac{p}{2}k^{p-1}+\frac{p(p-1)}{6}\xi_k^{p-2}
+\stopformula
+\egroup
+
+And, as expected, multi|-|line formulas also look fine.
+
+\stopsubject
+
+\stopchapter
+
+\stopcomponent
Property changes on: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-jmn.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-math.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-math.tex 2024-02-27 16:39:22 UTC (rev 70188)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-math.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -1089,9 +1089,9 @@
\egroup}
\startcombination[nx=3]
- {\showglyphs\TestSlack{$f^2 > $}} {}
- {\showglyphs\TestSlack{$ > f^^2$}} {}
- {\showglyphs\TestSlack{$f^2 > f^^2$}} {}
+ {\showglyphs\TestSlack{$f^2 > $}} {}
+ {\showglyphs\TestSlack{$ > f^^^2$}} {}
+ {\showglyphs\TestSlack{$f^2 > f^^^2$}} {}
\stopcombination
\stopbuffer
@@ -1127,9 +1127,9 @@
\egroup}
\startcombination[nx=3]
- {\showglyphs\TestSlack{$f^2 > $}} {}
- {\showglyphs\TestSlack{$ > f^^2$}} {}
- {\showglyphs\TestSlack{$f^2 > f^^2$}} {}
+ {\showglyphs\TestSlack{$f^2 > $}} {}
+ {\showglyphs\TestSlack{$ > f^^^2$}} {}
+ {\showglyphs\TestSlack{$f^2 > f^^^2$}} {}
\stopcombination
\stopbuffer
@@ -1992,7 +1992,7 @@
\setmathspacing \mathexperimentalcode \mathexperimentalcode \allmathstyles 20mu
\setmathspacing \mathordinarycode \mathexperimentalcode \allmathstyles 20mu
-$x^1_2^3_4^^5__6^^7__8$
+$x^1_2^3_4^^^5___6^^^7___8$
\stopbuffer
\typebuffer
@@ -2102,11 +2102,11 @@
% example:
%
-% $ \left( x + 1 \right )^1_2^^3__4 $
+% $ \left( x + 1 \right )^1_2^^^3___4 $
% \blank
-% $ ( x + 1 )^1_2^^3__4 $
+% $ ( x + 1 )^1_2^^^3___4 $
% \blank
-% $ (^^3__4 x + 1 )^1_2 $
+% $ (^^^3___4 x + 1 )^1_2 $
% example:
%
Added: trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-mathfonts.tex
===================================================================
--- trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-mathfonts.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/context/sources/general/manuals/ontarget/ontarget-mathfonts.tex 2024-02-27 16:48:07 UTC (rev 70189)
@@ -0,0 +1,1247 @@
+% language=us runpath=texruns:manuals/ontarget
+
+% musical timestamp: 2022/07/01 while listening to Hania Rani @ https://www.youtube.com/watch?v=sp3B97N67Cw
+
+% todo apply withprescripts -> to all components
+
+\usemodule[math-tweaks]
+
+\startcomponent ontarget-mathfonts
+
+\environment ontarget-style
+
+\startchapter[title={Dealing with math fonts}]
+
+\startsubject[title=Introduction]
+
+Here we will explain some of the tricks that we apply to math fonts so that they
+not only work better with the \LUAMETATEX\ math engine but also look better, at
+least in our opinion. We will not show specific fonts because after all, who can
+complain about something that comes for free, but you can see whatever we do to
+make it work in action in \CONTEXT\ where we setup these fonts. This is also a
+summary of what Mikael Sundqvist and I have been doing for a while now: improve
+the rendering of math, a rather enjoyable experience, also because we ran into
+humorous effects with and properties of fonts. Because we consider ourselves free
+from any conventions we could happily explore solution.
+
+\stopsubject
+
+\startsubject[title=Fences]
+
+\startMPdefinitions
+path My_left_fence ; My_left_fence := (1,1) -- (0,1) -- (0,-1) -- (1,-1) ;
+path My_right_fence ; My_right_fence := (0,1) -- (1,1) -- (1,-1) -- (0,-1) ;
+path My_middle_fence ; My_middle_fence := (0,1) -- (0,-1) ;
+
+path My_right_fence_x ; My_right_fence_x := (0,1) -- (1, 1/2) -- (1,-1/2) -- (0,-1) ;
+
+path My_left_top ; My_left_top := (1, 1 ) -- (0, 1 ) -- (0, 1/2) ;
+path My_left_middle ; My_left_middle := (0, 1/2) -- (0,-1/2) ;
+path My_left_bottom ; My_left_bottom := (0,-1/2) -- (0,-1 ) -- (1,-1 ) ;
+
+path My_right_top ; My_right_top := (0, 1 ) -- (1, 1 ) -- (1, 1/2) ;
+path My_right_middle ; My_right_middle := (1, 1/2) -- (1,-1/2) ;
+path My_right_bottom ; My_right_bottom := (1,-1/2) -- (1,-1 ) -- (0,-1 ) ;
+
+path My_right_top_x ; My_right_top_x := (0, 1 ) -- (1, 1/2) ;
+path My_right_middle_x ; My_right_middle_x := (1, 1/2) -- (1,-1/2) ;
+path My_right_bottom_x ; My_right_bottom_x := (1,-1/2) -- (0,-1 ) ;
+
+path My_middle_top ; My_middle_top := (0, 1 ) -- (0, 1/2) ;
+path My_middle_middle ; My_middle_middle := (0, 1/2) -- (0,-1/2) ;
+path My_middle_bottom ; My_middle_bottom := (0,-1/2) -- (0,-1 ) ;
+
+path My_content ; My_content := fullcircle ;
+
+vardef My_Fenced (expr left, middle, right, size) =
+ image (
+ draw My_left_fence xyscaled (1,left ) shifted (0,0) withcolor darkgray ;
+ draw My_content xyscaled (2,size ) shifted (3,0) withcolor darkblue ;
+ draw My_middle_fence xyscaled (1,middle) shifted (5,0) withcolor darkgray ;
+ draw My_content xyscaled (2,size ) shifted (7,0) withcolor darkblue ;
+ if left <> right :
+ draw My_right_fence_x xyscaled (1,right ) shifted (9,0) withcolor darkgray ;
+ else :
+ draw My_right_fence xyscaled (1,right ) shifted (9,0) withcolor darkgray ;
+ fi ;
+ )
+enddef ;
+
+vardef My_Extensibled (expr left, middle, right, size) =
+ image (
+ draw My_left_top xyscaled (1,left ) shifted (0,0) withcolor darkgray ;
+ draw My_left_middle xyscaled (1,left ) shifted (0,0) withcolor darkgreen ;
+ draw My_left_bottom xyscaled (1,left ) shifted (0,0) withcolor darkgray ;
+ drawpoints My_left_middle xyscaled (1,left ) shifted (0,0) withpen pencircle scaled .4 withcolor white ;
+ drawpoints My_left_top xyscaled (1,left ) shifted (0,0) withpen pencircle scaled .2 withcolor red ;
+ drawpoints My_left_bottom xyscaled (1,left ) shifted (0,0) withpen pencircle scaled .2 withcolor red ;
+ draw My_content xyscaled (2,size ) shifted (3,0) withcolor darkblue ;
+ draw My_middle_top xyscaled (1,middle) shifted (5,0) withcolor darkgray ;
+ draw My_middle_middle xyscaled (1,middle) shifted (5,0) withcolor darkgreen ;
+ draw My_middle_bottom xyscaled (1,middle) shifted (5,0) withcolor darkgray ;
+ drawpoints My_middle_middle xyscaled (1,middle) shifted (5,0) withpen pencircle scaled .4 withcolor white ;
+ drawpoints My_middle_top xyscaled (1,middle) shifted (5,0) withpen pencircle scaled .2 withcolor red ;
+ drawpoints My_middle_bottom xyscaled (1,middle) shifted (5,0) withpen pencircle scaled .2 withcolor red ;
+ draw My_content xyscaled (2,size ) shifted (7,0) withcolor darkblue ;
+ if left <> right :
+ draw My_right_top xyscaled (1,right ) shifted (9,0) withcolor darkgray ;
+ draw My_right_middle xyscaled (1,right ) shifted (9,0) withcolor darkgreen ;
+ draw My_right_bottom xyscaled (1,right ) shifted (9,0) withcolor darkgray ;
+ drawpoints My_right_middle xyscaled (1,right ) shifted (9,0) withpen pencircle scaled .4 withcolor white ;
+ drawpoints My_right_top xyscaled (1,right ) shifted (9,0) withpen pencircle scaled .2 withcolor red ;
+ drawpoints My_right_bottom xyscaled (1,right ) shifted (9,0) withpen pencircle scaled .2 withcolor red ;
+ else :
+ draw My_right_top_x xyscaled (1,right ) shifted (9,0) withcolor darkgray ;
+ draw My_right_middle_x xyscaled (1,right ) shifted (9,0) withcolor darkgreen ;
+ draw My_right_bottom_x xyscaled (1,right ) shifted (9,0) withcolor darkgray ;
+ drawpoints My_right_middle_x xyscaled (1,right ) shifted (9,0) withpen pencircle scaled .4 withcolor white ;
+ drawpoints My_right_top_x xyscaled (1,right ) shifted (9,0) withpen pencircle scaled .2 withcolor red ;
+ drawpoints My_right_bottom_x xyscaled (1,right ) shifted (9,0) withpen pencircle scaled .2 withcolor red ;
+ fi ;
+ )
+enddef ;
+\stopMPdefinitions
+
+Fences come in two variants: fixed sizes and so called extensibles that are
+constructed from recipes that combine snippets that can partially overlap. Fenced
+material has an optional symbol at the start, an optional one at the end and zero
+or more symbols in the middle. Here we have all three:
+
+\startlinecorrection
+\startMPcode
+ draw My_Fenced (2,2,2,2) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+Ideally these symbols scale in the same way, depending on the other context. This
+means that \TEX\ first has to measure what sits in between but we will not dive
+into that. The left and right symbols are normally pairs like parentheses or
+braces, but any mix is possible. Ideally a font is designed with this in mind but
+unfortunately we see this:
+
+\startlinecorrection
+\startMPcode
+ draw My_Fenced (2,3,2,2) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+And even this:
+
+\startlinecorrection
+\startMPcode
+ draw My_Fenced (2,3,2.5,2) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+It might be a side effect of the limited amount fo available slots in traditional
+math fonts that also resulted in non consistent sets in \OPENTYPE\ follow|-|ups
+and when one fonts does that more follow that approach.
+
+You can find rendering like this:
+
+\startlinecorrection
+\startMPcode
+ draw My_Fenced (3,2,3,2) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+and this
+
+\startlinecorrection
+\startMPcode
+ draw My_Fenced (2,2,2,6) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+because a programmable language like \TEX\ can use some tricks to force sizes: we
+just create some local fence which dimension is determined by some invisible
+rule. In \LUAMETATEX\ we can actually enforce dimensions and in \CONTEXT\ we can
+filter specific sizes.
+
+So how does this sizing work? A fence character starts out with the normal size
+but then a larger one is needed, the math engine will check if there is a larger
+variant. An \OPENTYPE\ font can provide these and in the engine that works out as
+following a linked list to a next size. When we run out of sizes there can be an
+extension recipe present where a fence is made from snippets pasted together.
+Normally that goes unnoticed because there is a little overlap between these
+snippets.
+
+\startlinecorrection
+\startMPcode
+ draw My_Extensibled (2,2,2,4) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+A larger fence will simply add more middle pieces, and it will not do as below:
+
+\startlinecorrection
+\startMPcode
+ draw My_Extensibled (3,3,3,6) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+Because we're talking of a deliberate design you cannot simply scale snippets and
+expect them to work out well visually. However, in a pure vertical case one
+actually could and in practice all these extensibles have (of course) vertical
+bars. Anyway, in the above example the larger middle piece actually is just
+several middle pieces overlapping.
+
+However, as we mentioned, fonts are not always consistent. First of all, when we
+run over the (increasing in size) variants we have discrete steps and you're
+lucky if a font has more than half a dozen. As soon as we end up with the
+extensible the size can be matched well.
+
+So how do we compensate for misbehavior? There are two parameters in \TEX\ then
+determine the matching: \typ {\delimiterfactor} and \typ {\delimitershortfall}.
+Plain \TEX\ set them to 901 and 5pt which works okay in most cases. In \CONTEXT\
+we set them to 1000 and 0pt and instead use the parameters \typ
+{\UmathDelimiterPercent} and \typ {\UmathDelimiterShortfall} that are bound fo
+fonts. In addition to that we use the \typ {nooverflow} keyword with \type
+{\Umiddle} which makes sure that we always stay within the size of the outer
+fences. That just looks better.
+
+In addition we can tweak the dimensions of glyphs and apply effects such as
+expanding so that we get a bit more consistent visual appearance. We can also
+signal that we should ignore sizes larger than a given index.
+
+The next sequence show what happens in practice when we tell \type {\Umiddle} to
+never exceed the requested size. Because we start with stepwise sizes the first
+part of this sequence has no matching sizes. At some point we end up at the
+extensibles.
+
+\showmathmiddletweaks
+
+Its is worth noticing that we tried several alternative approaches. For instance
+what happens when we only use extensibles? In that case there will be no fit for
+the smaller ones because the at least two parts of an extensible can seldom
+completely overlap that much.
+
+Actually, when we tested that we noticed that even in valid situations there can
+be strange overlap. At that time for instance the Lucida fonts had overlapping
+artifact in some curly braces which we found out when we tried to nil some of the
+larger, odd looking, step variants. Latin modern and some of the gyre fonts had
+unexpected jumps to larger sizes which made us decide to make the delimiter
+parameters font specific so that we could more easily adapt them: they basically
+became part of the math parameters of a font.
+
+There are also inconsistencies in the perceived widths of glyphs used: often the
+bars are too thin. That can be solved by applying effects like scaling
+horizontally or vertically and cheating a bit with the dimensions. Another
+solution is that we ignore the variants after a certain size and force
+extensibles sooner but that of course needs to be tested for unwanted overlaps
+too. All these tricks combined make it possible to use math fonts with imperfect
+fences more or less reliable.
+
+\startitemize[packed]
+\startitem
+ Provide an equal amount of fixed size larger variants for all fences: assume
+ arbitrary pairing.
+\stopitem
+\startitem
+ Because fonts have plenty room, provide some ten variants before going
+ extensible.
+\stopitem
+\startitem
+ Try to make the variants and the extensibles similar in look.
+\stopitem
+\startitem
+ Ensure that the width of the vertical bar matches the design.
+\stopitem
+\startitem
+ Make sure that the odd entries in a extensible recipe don't overlap badly.
+\stopitem
+\stopitemize
+
+\stopsubject
+
+\startsubject[title=Accents]
+
+When traditional \TEX\ showed up it was not that common to have pre|-|composed
+characters so when you needed something with an accept on top the way to go was
+to typeset the base character and position the accent on top using either the
+\type {\accent} primitive or some macro. It always was a compromise but
+eventually fonts with more assembled characters showed up. In \OPENTYPE\ fonts
+that operate in the \UNICODE\ domain we have even more characters but even there
+characters can be composed. However, anchors that help achieving this are part of
+the format. For text we use the mark features and for math we use the top anchor.
+Given that, why do we need to tweak it?
+
+\startMPdefinitions
+path My_top_accent ; My_top_accent := (-1/2,0) -- (0,1/4) -- (1/2,0) ;
+
+path My_content ; My_content := fulldiamond ;
+
+vardef My_Accent (expr shift, accent, size, slant) =
+ image (
+ path p ; p := My_content
+ xyscaled (2,size)
+ slanted slant
+ ;
+ draw My_top_accent
+ xyscaled (1,accent)
+ shifted (0,2)
+ withcolor darkgray ;
+ draw p
+ withcolor darkblue ;
+ )
+enddef ;
+
+vardef My_Accent_X (expr shift, accent, size, slant, rotation) =
+ image (
+ path p ; p := My_content rotated rotation
+ xyscaled (2,size)
+ slanted slant
+ ;
+ draw My_top_accent
+ xyscaled (1,accent)
+ shifted point 2 of p
+ shifted - (0,-1)
+ withcolor darkgray ;
+ draw p
+ withcolor darkblue ;
+ )
+enddef ;
+
+vardef My_Accent_Y (expr shift, accent, size, scale) =
+ image (
+ path p ; p := My_content
+ xyscaled (2,size)
+ ;
+ draw My_top_accent xscaled scale
+ xyscaled (1,accent)
+ shifted (0,2)
+ withcolor darkgray ;
+ draw p
+ withcolor darkblue ;
+ )
+enddef ;
+
+vardef My_Accent_Z (expr shift, accent, size, scale) =
+ image (
+ path p ; p := My_content
+ xyscaled (2,size)
+ ;
+ path q ; q := My_top_accent
+ xscaled scale
+ xyscaled (1,accent)
+ shifted (0,2)
+ ;
+ draw q
+ withcolor darkgray ;
+ draw p
+ withcolor darkblue ;
+ draw outerboundingbox q
+ withpen pencircle scaled 1/20
+ withcolor darkred ;
+ draw outerboundingbox p
+ withpen pencircle scaled 1/20
+ withcolor darkred ;
+ )
+enddef ;
+\stopMPdefinitions
+
+Here we have a base character with an accent on top. The character is upright and
+the accent gets positioned in the middle.
+
+\startlinecorrection
+\startMPcode
+ draw My_Accent (2.5,1,2,0) scaled 5mm ;
+\stopMPcode
+\stoplinecorrection
+
+This doesn't work out well if we have a slanted or italic shape:
+
+\startlinecorrection
+\startMPcode
+ draw My_Accent (2.5,1,2,.2) scaled 5mm ;
+ draw My_Accent (2.5,1,2,.4) scaled 5mm shifted (2cm,0) ;
+ draw My_Accent (2.5,1,2,.6) scaled 5mm shifted (4cm,0) ;
+\stopMPcode
+\stoplinecorrection
+
+So we need to compensate, for instance like this:
+
+\startlinecorrection
+\startMPcode
+ draw My_Accent_X (2.5,1,2,.2,0) scaled 5mm ;
+ draw My_Accent_X (2.5,1,2,.4,0) scaled 5mm shifted (2cm,0) ;
+ draw My_Accent_X (2.5,1,2,.6,0) scaled 5mm shifted (4cm,0) ;
+\stopMPcode
+\stoplinecorrection
+
+However, what does determine the right anchor point? From this example you can
+conclude that it is the top of the character. It is probably for that reason why
+the semi automated construction of Latin Modern and the Gyre fonts have quite
+some anchors that are rather bad: getting the anchors right is more a visual job
+than something that can be automated. The topmost point is not really the best
+one to focus on.
+
+\startlinecorrection
+\startMPcode
+ draw My_Accent_X (2.5,1,2,.2,35) scaled 5mm ;
+ draw My_Accent_X (2.5,1,2,.4,35) scaled 5mm shifted (2cm,0) ;
+ draw My_Accent_X (2.5,1,2,.6,35) scaled 5mm shifted (4cm,0) ;
+\stopMPcode
+\stoplinecorrection
+
+Here the topmost position is very off center. In for instance Latin Modern that
+means that on digits like~7 and~4 you get very weird anchoring. And this is why
+we have a tweak that just wipes all the anchors from an alphabet: most alphabets
+don't need them anyway and the engine will use the center when no anchor is
+defined. Just for the record: in traditional \TEX\ engines the horizontal
+position is determined by the kern between a so called skew character and the
+base character. The font format has no anchor field but it has kerns, so this
+trick makes much sense.
+
@@ Diff output truncated at 1234567 characters. @@
More information about the tex-live-commits
mailing list.