summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-01-15 03:05:16 +0000
committerNorbert Preining <norbert@preining.info>2021-01-15 03:05:16 +0000
commitbdead7ff97ef61cca4f56b4a153cc85e18c41fda (patch)
tree8637c036f7a9879c7af64b7b9de8fa82d06e8b1d
parenta607bd31ca2f248c3553f46abe08f9bc257390d8 (diff)
CTAN sync 202101150305
-rw-r--r--FILES.byname882
-rw-r--r--FILES.byname.gzbin2261397 -> 2261333 bytes
-rw-r--r--FILES.last07days673
-rw-r--r--fonts/stix2-otf/AUTHORS.txt13
-rw-r--r--fonts/stix2-otf/CONTRIBUTORS.txt14
-rw-r--r--fonts/stix2-otf/FONTLOG.txt821
-rw-r--r--fonts/stix2-otf/OFL-FAQ.txt435
-rw-r--r--fonts/stix2-otf/OFL.txt117
-rw-r--r--fonts/stix2-otf/README.md127
-rw-r--r--fonts/stix2-otf/STIX2Math.otfbin808220 -> 0 bytes
-rw-r--r--fonts/stix2-otf/STIX2Text-Bold.otfbin368288 -> 0 bytes
-rw-r--r--fonts/stix2-otf/STIX2Text-BoldItalic.otfbin390908 -> 0 bytes
-rw-r--r--fonts/stix2-otf/STIX2Text-Italic.otfbin387080 -> 0 bytes
-rw-r--r--fonts/stix2-otf/STIX2Text-Regular.otfbin366380 -> 0 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoMath-Regular.otfbin0 -> 838544 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoMath-Regular.pdfbin0 -> 988219 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-Bold.otfbin0 -> 296148 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-BoldItalic.otfbin0 -> 316140 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-Italic.otfbin0 -> 308504 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-Medium.otfbin0 -> 303312 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-MediumItalic.otfbin0 -> 325284 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-Regular.otfbin0 -> 292276 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-Regular.pdfbin0 -> 371400 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-SemiBold.otfbin0 -> 305128 bytes
-rw-r--r--fonts/stix2-otf/STIXTwoText-SemiBoldItalic.otfbin0 -> 325060 bytes
-rw-r--r--fonts/stix2-otf/STIX_2.0.1_license.pdfbin233655 -> 0 bytes
-rw-r--r--fonts/stix2-otf/STIX_2.0.1_release_notes.txt302
-rw-r--r--fonts/stix2-otf/StixTwoBold.pdfbin264992 -> 0 bytes
-rw-r--r--fonts/stix2-otf/StixTwoBoldItalic.pdfbin284075 -> 0 bytes
-rw-r--r--fonts/stix2-otf/StixTwoItalic.pdfbin276501 -> 0 bytes
-rw-r--r--fonts/stix2-otf/StixTwoMath.pdfbin743986 -> 0 bytes
-rw-r--r--fonts/stix2-otf/StixTwoRegular.pdfbin260345 -> 0 bytes
-rw-r--r--graphics/pgf/contrib/pixelart/CHANGELOG.md (renamed from graphics/pixelart/CHANGELOG.md)0
-rw-r--r--graphics/pgf/contrib/pixelart/LICENSE.txt (renamed from graphics/pixelart/LICENSE.txt)0
-rw-r--r--graphics/pgf/contrib/pixelart/README.md (renamed from graphics/pixelart/README.md)0
-rw-r--r--graphics/pgf/contrib/pixelart/pixelart.dtx (renamed from graphics/pixelart/pixelart.dtx)0
-rw-r--r--graphics/pgf/contrib/pixelart/pixelart.ins (renamed from graphics/pixelart/pixelart.ins)0
-rw-r--r--graphics/pgf/contrib/pixelart/pixelart.pdf (renamed from graphics/pixelart/pixelart.pdf)bin152344 -> 152344 bytes
-rw-r--r--macros/latex/contrib/easybook/README.md4
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.pdfbin308559 -> 308552 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook-demo.tex8
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.pdfbin229049 -> 230898 bytes
-rw-r--r--macros/latex/contrib/easybook/doc/easybook.tex10
-rw-r--r--macros/latex/contrib/easybook/easybook.cls24
-rw-r--r--macros/latex/contrib/fcolumn/README24
-rw-r--r--macros/latex/contrib/fcolumn/fcolumn.dtx438
-rw-r--r--macros/latex/contrib/fcolumn/fcolumn.ins8
-rw-r--r--macros/latex/contrib/fcolumn/fcolumn.pdfbin281502 -> 318761 bytes
-rw-r--r--macros/latex/contrib/fcolumn/fcolumn.sty299
-rw-r--r--macros/latex/contrib/fcolumn/makefile18
-rw-r--r--macros/latex/contrib/readablecv/README.md24
-rw-r--r--macros/latex/contrib/readablecv/ReadableCV.cls188
-rw-r--r--macros/latex/contrib/readablecv/ReadableCV.pdfbin94148 -> 135615 bytes
-rw-r--r--macros/latex/contrib/readablecv/ReadableCV.tex141
-rw-r--r--macros/luatex/optex/README8
-rw-r--r--macros/luatex/optex/base/alloc.opm28
-rw-r--r--macros/luatex/optex/base/basic-macros.opm52
-rw-r--r--macros/luatex/optex/base/bib-iso690.opm237
-rw-r--r--macros/luatex/optex/base/bib-simple.opm2
-rw-r--r--macros/luatex/optex/base/cite-bib.opm60
-rw-r--r--macros/luatex/optex/base/colors.opm126
-rw-r--r--macros/luatex/optex/base/doc.opm84
-rw-r--r--macros/luatex/optex/base/f-adventor.opm2
-rw-r--r--macros/luatex/optex/base/f-antt.opm2
-rw-r--r--macros/luatex/optex/base/f-baskerville.opm2
-rw-r--r--macros/luatex/optex/base/f-bonum.opm2
-rw-r--r--macros/luatex/optex/base/f-comicneue.opm2
-rw-r--r--macros/luatex/optex/base/f-cursor.opm2
-rw-r--r--macros/luatex/optex/base/f-dejavu.opm2
-rw-r--r--macros/luatex/optex/base/f-ebgaramond.opm2
-rw-r--r--macros/luatex/optex/base/f-garamondl.opm2
-rw-r--r--macros/luatex/optex/base/f-gfsbodoni.opm2
-rw-r--r--macros/luatex/optex/base/f-heros.opm81
-rw-r--r--macros/luatex/optex/base/f-kerkis.opm2
-rw-r--r--macros/luatex/optex/base/f-kpfonts.opm2
-rw-r--r--macros/luatex/optex/base/f-libertine-s.opm2
-rw-r--r--macros/luatex/optex/base/f-libertine.opm2
-rw-r--r--macros/luatex/optex/base/f-libertinus.opm2
-rw-r--r--macros/luatex/optex/base/f-lido.opm4
-rw-r--r--macros/luatex/optex/base/f-lmfonts.opm30
-rw-r--r--macros/luatex/optex/base/f-merriweather.opm2
-rw-r--r--macros/luatex/optex/base/f-pagella.opm2
-rw-r--r--macros/luatex/optex/base/f-poltawski.opm2
-rw-r--r--macros/luatex/optex/base/f-roboto.opm2
-rw-r--r--macros/luatex/optex/base/f-schola.opm2
-rw-r--r--macros/luatex/optex/base/f-sourcepro.opm2
-rw-r--r--macros/luatex/optex/base/f-technika.opm2
-rw-r--r--macros/luatex/optex/base/f-termes.opm2
-rw-r--r--macros/luatex/optex/base/f-xcharter.opm2
-rw-r--r--macros/luatex/optex/base/fams-ini.opm34
-rw-r--r--macros/luatex/optex/base/fnotes.opm67
-rw-r--r--macros/luatex/optex/base/fonts-catalog.opm25
-rw-r--r--macros/luatex/optex/base/fonts-opmac.opm36
-rw-r--r--macros/luatex/optex/base/fonts-preload.opm21
-rw-r--r--macros/luatex/optex/base/fonts-resize.opm86
-rw-r--r--macros/luatex/optex/base/fonts-select.opm237
-rw-r--r--macros/luatex/optex/base/graphics.opm162
-rw-r--r--macros/luatex/optex/base/hi-syntax.opm62
-rw-r--r--macros/luatex/optex/base/hisyntax-c.opm32
-rw-r--r--macros/luatex/optex/base/hisyntax-html.opm2
-rw-r--r--macros/luatex/optex/base/hisyntax-python.opm2
-rw-r--r--macros/luatex/optex/base/hisyntax-tex.opm2
-rw-r--r--macros/luatex/optex/base/hyperlinks.opm36
-rw-r--r--macros/luatex/optex/base/hyphen-lan.opm50
-rw-r--r--macros/luatex/optex/base/if-macros.opm72
-rw-r--r--macros/luatex/optex/base/keyval.opm36
-rw-r--r--macros/luatex/optex/base/languages.opm50
-rw-r--r--macros/luatex/optex/base/lists.opm47
-rw-r--r--macros/luatex/optex/base/logos.opm17
-rw-r--r--macros/luatex/optex/base/luatex-ini.opm2
-rw-r--r--macros/luatex/optex/base/makeindex.opm116
-rw-r--r--macros/luatex/optex/base/maketoc.opm32
-rw-r--r--macros/luatex/optex/base/margins.opm6
-rw-r--r--macros/luatex/optex/base/math-macros.opm126
-rw-r--r--macros/luatex/optex/base/math-preload.opm74
-rw-r--r--macros/luatex/optex/base/math-unicode.opm102
-rw-r--r--macros/luatex/optex/base/more-macros.opm44
-rw-r--r--macros/luatex/optex/base/multicolumns.opm24
-rw-r--r--macros/luatex/optex/base/optex.ini4
-rw-r--r--macros/luatex/optex/base/optex.lua9
-rw-r--r--macros/luatex/optex/base/others.opm56
-rw-r--r--macros/luatex/optex/base/outlines.opm42
-rw-r--r--macros/luatex/optex/base/output.opm78
-rw-r--r--macros/luatex/optex/base/parameters.opm236
-rw-r--r--macros/luatex/optex/base/pdfuni-string.opm28
-rw-r--r--macros/luatex/optex/base/plain-macros.opm50
-rw-r--r--macros/luatex/optex/base/prefixed.opm138
-rw-r--r--macros/luatex/optex/base/print-unimath.opm8
-rw-r--r--macros/luatex/optex/base/ref-file.opm64
-rw-r--r--macros/luatex/optex/base/references.opm16
-rw-r--r--macros/luatex/optex/base/sections.opm161
-rw-r--r--macros/luatex/optex/base/slides.opm66
-rw-r--r--macros/luatex/optex/base/styles.opm14
-rw-r--r--macros/luatex/optex/base/table.opm197
-rw-r--r--macros/luatex/optex/base/uni-lcuc.opm4
-rw-r--r--macros/luatex/optex/base/unimath-codes.opm141
-rw-r--r--macros/luatex/optex/base/usebib.opm96
-rw-r--r--macros/luatex/optex/base/verbatim.opm93
-rw-r--r--macros/luatex/optex/demo/op-demo.tex30
-rw-r--r--macros/luatex/optex/demo/op-letter-cs.tex2
-rw-r--r--macros/luatex/optex/demo/op-letter-en.tex2
-rw-r--r--macros/luatex/optex/demo/op-slides.tex74
-rw-r--r--macros/luatex/optex/doc/optex-doc.pdfbin1326904 -> 1362584 bytes
-rw-r--r--macros/luatex/optex/doc/optex-doc.tex26
-rw-r--r--macros/luatex/optex/doc/optex-math.tex402
-rw-r--r--macros/luatex/optex/doc/optex-techdoc.tex40
-rw-r--r--macros/luatex/optex/doc/optex-userdoc.tex944
-rw-r--r--macros/luatex/optex/pkg/emoji.opm55
-rw-r--r--macros/luatex/optex/pkg/vlna.opm193
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb525
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2266988 -> 2265740 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/cs.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/de.po10
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/es.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/fr.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/it.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/ja.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/messages.pot8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/nl.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/pl.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/pt_BR.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/ru.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/sk.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/sl.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/sr.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/uk.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/vi.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/zh_CN.po8
-rw-r--r--systems/texlive/tlnet/tlpkg/translations/zh_TW.po8
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin558762 -> 560965 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin559032 -> 561024 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini10
-rw-r--r--systems/win32/w32tex/ChangeLog69
-rw-r--r--timestamp2
179 files changed, 6409 insertions, 4571 deletions
diff --git a/FILES.byname b/FILES.byname
index 676c93c73f..f58d5e1caf 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5087,7 +5087,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2021/01/13 | 246872 | FILES.last07days
+2021/01/14 | 306144 | FILES.last07days
2020/08/14 | 104065 | fonts/academicons/academicons.pdf
2020/08/14 | 17247 | fonts/academicons/academicons.sty
2020/08/14 | 6546 | fonts/academicons/academicons.tex
@@ -126365,20 +126365,24 @@
2018/05/07 | 1776 | fonts/stickstoo/vf/SticksTooText-Regular-tosf-t1.vf
2018/05/07 | 608 | fonts/stickstoo/vf/SticksTooText-Regular-tosf-ts1.vf
2020/12/21 | 5916075 | fonts/stickstoo.zip
-2019/04/22 | 8211 | fonts/stix2-otf/README.md
-2019/04/22 | 233655 | fonts/stix2-otf/STIX_2.0.1_license.pdf
-2019/04/22 | 10528 | fonts/stix2-otf/STIX_2.0.1_release_notes.txt
-2019/04/22 | 808220 | fonts/stix2-otf/STIX2Math.otf
-2019/04/22 | 390908 | fonts/stix2-otf/STIX2Text-BoldItalic.otf
-2019/04/22 | 368288 | fonts/stix2-otf/STIX2Text-Bold.otf
-2019/04/22 | 387080 | fonts/stix2-otf/STIX2Text-Italic.otf
-2019/04/22 | 366380 | fonts/stix2-otf/STIX2Text-Regular.otf
-2019/04/22 | 284075 | fonts/stix2-otf/StixTwoBoldItalic.pdf
-2019/04/22 | 264992 | fonts/stix2-otf/StixTwoBold.pdf
-2019/04/22 | 276501 | fonts/stix2-otf/StixTwoItalic.pdf
-2019/04/22 | 743986 | fonts/stix2-otf/StixTwoMath.pdf
-2019/04/22 | 260345 | fonts/stix2-otf/StixTwoRegular.pdf
-2019/04/22 | 3026097 | fonts/stix2-otf.zip
+2021/01/14 | 525 | fonts/stix2-otf/AUTHORS.txt
+2021/01/14 | 484 | fonts/stix2-otf/CONTRIBUTORS.txt
+2021/01/14 | 27987 | fonts/stix2-otf/FONTLOG.txt
+2021/01/14 | 58513 | fonts/stix2-otf/OFL-FAQ.txt
+2021/01/14 | 5134 | fonts/stix2-otf/OFL.txt
+2021/01/14 | 13642 | fonts/stix2-otf/README.md
+2021/01/14 | 838544 | fonts/stix2-otf/STIXTwoMath-Regular.otf
+2021/01/14 | 988219 | fonts/stix2-otf/STIXTwoMath-Regular.pdf
+2021/01/14 | 316140 | fonts/stix2-otf/STIXTwoText-BoldItalic.otf
+2021/01/14 | 296148 | fonts/stix2-otf/STIXTwoText-Bold.otf
+2021/01/14 | 308504 | fonts/stix2-otf/STIXTwoText-Italic.otf
+2021/01/14 | 325284 | fonts/stix2-otf/STIXTwoText-MediumItalic.otf
+2021/01/14 | 303312 | fonts/stix2-otf/STIXTwoText-Medium.otf
+2021/01/14 | 292276 | fonts/stix2-otf/STIXTwoText-Regular.otf
+2021/01/14 | 371400 | fonts/stix2-otf/STIXTwoText-Regular.pdf
+2021/01/14 | 325060 | fonts/stix2-otf/STIXTwoText-SemiBoldItalic.otf
+2021/01/14 | 305128 | fonts/stix2-otf/STIXTwoText-SemiBold.otf
+2021/01/14 | 3408764 | fonts/stix2-otf.zip
2018/04/13 | 2904 | fonts/stix2-type1/enc/stix2-mathbb.enc
2018/04/13 | 3037 | fonts/stix2-type1/enc/stix2-mathbbit.enc
2018/04/13 | 3356 | fonts/stix2-type1/enc/stix2-mathcal.enc
@@ -141878,6 +141882,13 @@
2020/07/27 | 8446 | graphics/pgf/contrib/pinoutikz/pinoutikz.sty
2020/07/27 | 1503 | graphics/pgf/contrib/pinoutikz/README.md
2020/07/27 | 77982 | graphics/pgf/contrib/pinoutikz.zip
+2018/02/25 | 535 | graphics/pgf/contrib/pixelart/CHANGELOG.md
+2018/02/25 | 19106 | graphics/pgf/contrib/pixelart/LICENSE.txt
+2018/02/25 | 19370 | graphics/pgf/contrib/pixelart/pixelart.dtx
+2018/02/25 | 2175 | graphics/pgf/contrib/pixelart/pixelart.ins
+2018/02/25 | 152344 | graphics/pgf/contrib/pixelart/pixelart.pdf
+2018/02/25 | 1343 | graphics/pgf/contrib/pixelart/README.md
+2018/02/25 | 161062 | graphics/pgf/contrib/pixelart.zip
2019/09/30 | 649 | graphics/pgf/contrib/prooftrees/manifest.txt
2019/09/30 | 755 | graphics/pgf/contrib/prooftrees/prooftrees_biber.bib
2019/09/30 | 858384 | graphics/pgf/contrib/prooftrees/prooftrees.pdf
@@ -144380,13 +144391,6 @@
1989/11/26 | 7270 | graphics/pictex/texpictex.tex
1992/08/31 | 11382 | graphics/pictex/tree.sty
2011/04/03 | 199533 | graphics/pictex.zip
-2018/02/25 | 535 | graphics/pixelart/CHANGELOG.md
-2018/02/25 | 19106 | graphics/pixelart/LICENSE.txt
-2018/02/25 | 19370 | graphics/pixelart/pixelart.dtx
-2018/02/25 | 2175 | graphics/pixelart/pixelart.ins
-2018/02/25 | 152344 | graphics/pixelart/pixelart.pdf
-2018/02/25 | 1343 | graphics/pixelart/README.md
-2018/02/25 | 161062 | graphics/pixelart.zip
2018/05/31 | 17537 | graphics/postage/postage.dtx
2018/05/31 | 2443 | graphics/postage/postage.ins
2018/05/30 | 335762 | graphics/postage/postage.pdf
@@ -195174,19 +195178,19 @@
2008/06/22 | 373 | macros/latex/contrib/ean13isbn/README
2008/06/20 | 3175 | macros/latex/contrib/ean13isbn/tex/latex/ean13isbn/ean13isbn.sty
2008/06/22 | 316997 | macros/latex/contrib/ean13isbn.zip
-2021/01/13 | 308559 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
-2021/01/13 | 2619 | macros/latex/contrib/easybook/doc/easybook-demo.tex
-2021/01/13 | 229049 | macros/latex/contrib/easybook/doc/easybook.pdf
-2021/01/13 | 24786 | macros/latex/contrib/easybook/doc/easybook.tex
+2021/01/14 | 308552 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
+2021/01/14 | 2557 | macros/latex/contrib/easybook/doc/easybook-demo.tex
+2021/01/14 | 230898 | macros/latex/contrib/easybook/doc/easybook.pdf
+2021/01/14 | 25259 | macros/latex/contrib/easybook/doc/easybook.tex
2021/01/02 | 175 | macros/latex/contrib/easybook/doc/pages/appendix.tex
2021/01/05 | 4106 | macros/latex/contrib/easybook/doc/pages/chapter1.tex
2021/01/11 | 3856 | macros/latex/contrib/easybook/doc/pages/chapter2.tex
2021/01/13 | 2958 | macros/latex/contrib/easybook/doc/pages/chapter3.tex
2021/01/10 | 1108 | macros/latex/contrib/easybook/doc/pages/preface.tex
2020/12/23 | 794 | macros/latex/contrib/easybook/doc/ref/refs.bib
-2021/01/13 | 43460 | macros/latex/contrib/easybook/easybook.cls
-2021/01/13 | 3013 | macros/latex/contrib/easybook/README.md
-2021/01/13 | 538645 | macros/latex/contrib/easybook.zip
+2021/01/14 | 43941 | macros/latex/contrib/easybook/easybook.cls
+2021/01/14 | 3005 | macros/latex/contrib/easybook/README.md
+2021/01/14 | 540732 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -196918,13 +196922,12 @@
2011/11/01 | 3207 | macros/latex/contrib/fcltxdoc/fcltxdoc.ins
2011/11/01 | 721679 | macros/latex/contrib/fcltxdoc/fcltxdoc.pdf
2011/11/01 | 664312 | macros/latex/contrib/fcltxdoc.zip
-2019/04/24 | 56978 | macros/latex/contrib/fcolumn/fcolumn.dtx
-2019/04/24 | 2281 | macros/latex/contrib/fcolumn/fcolumn.ins
-2019/04/24 | 281502 | macros/latex/contrib/fcolumn/fcolumn.pdf
-2019/04/24 | 10942 | macros/latex/contrib/fcolumn/fcolumn.sty
-2019/04/24 | 908 | macros/latex/contrib/fcolumn/makefile
-2019/04/24 | 2758 | macros/latex/contrib/fcolumn/README
-2019/04/24 | 303600 | macros/latex/contrib/fcolumn.zip
+2021/01/14 | 68548 | macros/latex/contrib/fcolumn/fcolumn.dtx
+2021/01/14 | 2281 | macros/latex/contrib/fcolumn/fcolumn.ins
+2021/01/14 | 318761 | macros/latex/contrib/fcolumn/fcolumn.pdf
+2021/01/14 | 819 | macros/latex/contrib/fcolumn/makefile
+2021/01/14 | 3026 | macros/latex/contrib/fcolumn/README
+2021/01/14 | 340487 | macros/latex/contrib/fcolumn.zip
2020/08/30 | 920850 | macros/latex/contrib/fduthesis/fduthesis-code.pdf
2020/08/30 | 63790 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx
2020/08/30 | 219590 | macros/latex/contrib/fduthesis/fduthesis.dtx
@@ -207388,12 +207391,12 @@
2003/02/02 | 0 | macros/latex/contrib/rcs/src/TODO
2007/06/06 | 177878 | macros/latex/contrib/rcs.zip
2020/05/15 | 42657 | macros/latex/contrib/readablecv/profilepic.jpg
-2020/05/16 | 13749 | macros/latex/contrib/readablecv/ReadableCV.cls
-2020/05/16 | 94148 | macros/latex/contrib/readablecv/ReadableCV.pdf
-2020/05/16 | 4886 | macros/latex/contrib/readablecv/ReadableCV.tex
-2020/05/16 | 979 | macros/latex/contrib/readablecv/README.md
+2021/01/14 | 15182 | macros/latex/contrib/readablecv/ReadableCV.cls
+2021/01/14 | 135615 | macros/latex/contrib/readablecv/ReadableCV.pdf
+2021/01/14 | 9786 | macros/latex/contrib/readablecv/ReadableCV.tex
+2021/01/14 | 426 | macros/latex/contrib/readablecv/README.md
2020/04/20 | 32720 | macros/latex/contrib/readablecv/sig.png
-2020/05/16 | 170439 | macros/latex/contrib/readablecv.zip
+2021/01/14 | 211848 | macros/latex/contrib/readablecv.zip
2016/11/07 | 500598 | macros/latex/contrib/readarray/readarray.pdf
2016/11/07 | 15227 | macros/latex/contrib/readarray/readarray.sty
2016/11/07 | 32430 | macros/latex/contrib/readarray/readarray.tex
@@ -217267,108 +217270,110 @@
2017/10/17 | 704910 | macros/luatex/latex/wallcalendar/wallcalendar-layouts.png
2017/10/17 | 2896302 | macros/luatex/latex/wallcalendar/wallcalendar.pdf
2017/10/21 | 9209120 | macros/luatex/latex/wallcalendar.zip
-2020/12/20 | 6122 | macros/luatex/optex/base/alloc.opm
-2020/12/12 | 4012 | macros/luatex/optex/base/basic-macros.opm
-2020/12/10 | 33172 | macros/luatex/optex/base/bib-iso690.opm
-2020/12/05 | 5790 | macros/luatex/optex/base/bib-simple.opm
-2020/12/10 | 12244 | macros/luatex/optex/base/cite-bib.opm
-2020/05/17 | 17896 | macros/luatex/optex/base/colors.opm
-2020/12/09 | 10437 | macros/luatex/optex/base/doc.opm
-2020/05/16 | 650 | macros/luatex/optex/base/f-adventor.opm
-2020/12/09 | 8769 | macros/luatex/optex/base/fams-ini.opm
-2020/11/23 | 1149 | macros/luatex/optex/base/f-antt.opm
-2020/11/23 | 658 | macros/luatex/optex/base/f-baskerville.opm
-2020/05/16 | 672 | macros/luatex/optex/base/f-bonum.opm
-2020/12/09 | 714 | macros/luatex/optex/base/f-comicneue.opm
-2020/05/16 | 639 | macros/luatex/optex/base/f-cursor.opm
-2020/11/23 | 1187 | macros/luatex/optex/base/f-dejavu.opm
-2020/11/24 | 1258 | macros/luatex/optex/base/f-ebgaramond.opm
-2020/11/24 | 875 | macros/luatex/optex/base/f-garamondl.opm
-2020/11/23 | 628 | macros/luatex/optex/base/f-gfsbodoni.opm
-2020/12/12 | 9434 | macros/luatex/optex/base/f-heros.opm
-2020/11/24 | 1197 | macros/luatex/optex/base/f-kerkis.opm
-2020/11/24 | 1461 | macros/luatex/optex/base/f-kpfonts.opm
-2020/12/08 | 2386 | macros/luatex/optex/base/f-libertine.opm
-2020/05/16 | 2154 | macros/luatex/optex/base/f-libertine-s.opm
-2020/12/08 | 1520 | macros/luatex/optex/base/f-libertinus.opm
-2020/12/12 | 1538 | macros/luatex/optex/base/f-lido.opm
-2020/12/03 | 8650 | macros/luatex/optex/base/f-lmfonts.opm
-2020/12/08 | 1193 | macros/luatex/optex/base/f-merriweather.opm
-2020/05/26 | 8986 | macros/luatex/optex/base/fnotes.opm
-2020/12/14 | 4462 | macros/luatex/optex/base/fonts-catalog.opm
-2020/12/20 | 6737 | macros/luatex/optex/base/fonts-opmac.opm
-2020/12/07 | 1606 | macros/luatex/optex/base/fonts-preload.opm
-2020/12/20 | 14056 | macros/luatex/optex/base/fonts-resize.opm
-2020/12/14 | 36549 | macros/luatex/optex/base/fonts-select.opm
-2020/05/16 | 687 | macros/luatex/optex/base/f-pagella.opm
-2020/12/09 | 1508 | macros/luatex/optex/base/f-poltawski.opm
-2020/12/12 | 2610 | macros/luatex/optex/base/f-roboto.opm
-2020/05/16 | 683 | macros/luatex/optex/base/f-schola.opm
-2020/11/25 | 1518 | macros/luatex/optex/base/f-sourcepro.opm
-2020/12/08 | 1103 | macros/luatex/optex/base/f-technika.opm
-2020/05/16 | 677 | macros/luatex/optex/base/f-termes.opm
-2020/11/23 | 755 | macros/luatex/optex/base/f-xcharter.opm
-2020/12/20 | 19667 | macros/luatex/optex/base/graphics.opm
-2020/05/17 | 2762 | macros/luatex/optex/base/hisyntax-c.opm
-2020/05/16 | 1001 | macros/luatex/optex/base/hisyntax-html.opm
-2020/12/10 | 9716 | macros/luatex/optex/base/hi-syntax.opm
-2020/05/16 | 3014 | macros/luatex/optex/base/hisyntax-python.opm
-2020/05/16 | 1562 | macros/luatex/optex/base/hisyntax-tex.opm
-2020/12/20 | 6970 | macros/luatex/optex/base/hyperlinks.opm
-2020/12/10 | 11675 | macros/luatex/optex/base/hyphen-lan.opm
-2020/12/20 | 12078 | macros/luatex/optex/base/if-macros.opm
-2020/12/20 | 3283 | macros/luatex/optex/base/keyval.opm
-2020/12/05 | 9541 | macros/luatex/optex/base/languages.opm
-2020/05/16 | 4394 | macros/luatex/optex/base/lists.opm
-2020/05/16 | 2426 | macros/luatex/optex/base/logos.opm
-2020/05/16 | 7412 | macros/luatex/optex/base/luatex-ini.opm
-2020/12/05 | 19096 | macros/luatex/optex/base/makeindex.opm
-2020/05/24 | 5373 | macros/luatex/optex/base/maketoc.opm
-2020/05/16 | 3633 | macros/luatex/optex/base/margins.opm
+2021/01/06 | 6123 | macros/luatex/optex/base/alloc.opm
+2021/01/14 | 4534 | macros/luatex/optex/base/basic-macros.opm
+2021/01/11 | 33232 | macros/luatex/optex/base/bib-iso690.opm
+2021/01/07 | 5794 | macros/luatex/optex/base/bib-simple.opm
+2021/01/07 | 12234 | macros/luatex/optex/base/cite-bib.opm
+2021/01/11 | 17869 | macros/luatex/optex/base/colors.opm
+2021/01/07 | 10465 | macros/luatex/optex/base/doc.opm
+2021/01/07 | 654 | macros/luatex/optex/base/f-adventor.opm
+2021/01/06 | 8751 | macros/luatex/optex/base/fams-ini.opm
+2021/01/07 | 1153 | macros/luatex/optex/base/f-antt.opm
+2021/01/07 | 662 | macros/luatex/optex/base/f-baskerville.opm
+2021/01/07 | 676 | macros/luatex/optex/base/f-bonum.opm
+2021/01/07 | 718 | macros/luatex/optex/base/f-comicneue.opm
+2021/01/07 | 643 | macros/luatex/optex/base/f-cursor.opm
+2021/01/07 | 1191 | macros/luatex/optex/base/f-dejavu.opm
+2021/01/07 | 1262 | macros/luatex/optex/base/f-ebgaramond.opm
+2021/01/07 | 879 | macros/luatex/optex/base/f-garamondl.opm
+2021/01/07 | 632 | macros/luatex/optex/base/f-gfsbodoni.opm
+2021/01/11 | 9505 | macros/luatex/optex/base/f-heros.opm
+2021/01/07 | 1201 | macros/luatex/optex/base/f-kerkis.opm
+2021/01/07 | 1465 | macros/luatex/optex/base/f-kpfonts.opm
+2021/01/07 | 2390 | macros/luatex/optex/base/f-libertine.opm
+2021/01/07 | 2158 | macros/luatex/optex/base/f-libertine-s.opm
+2021/01/07 | 1524 | macros/luatex/optex/base/f-libertinus.opm
+2021/01/07 | 1536 | macros/luatex/optex/base/f-lido.opm
+2021/01/06 | 8654 | macros/luatex/optex/base/f-lmfonts.opm
+2021/01/07 | 1197 | macros/luatex/optex/base/f-merriweather.opm
+2021/01/07 | 8952 | macros/luatex/optex/base/fnotes.opm
+2021/01/07 | 4446 | macros/luatex/optex/base/fonts-catalog.opm
+2021/01/06 | 6716 | macros/luatex/optex/base/fonts-opmac.opm
+2021/01/06 | 1668 | macros/luatex/optex/base/fonts-preload.opm
+2021/01/11 | 14049 | macros/luatex/optex/base/fonts-resize.opm
+2021/01/13 | 36673 | macros/luatex/optex/base/fonts-select.opm
+2021/01/07 | 691 | macros/luatex/optex/base/f-pagella.opm
+2021/01/07 | 1512 | macros/luatex/optex/base/f-poltawski.opm
+2021/01/07 | 2614 | macros/luatex/optex/base/f-roboto.opm
+2021/01/07 | 687 | macros/luatex/optex/base/f-schola.opm
+2021/01/07 | 1522 | macros/luatex/optex/base/f-sourcepro.opm
+2021/01/07 | 1107 | macros/luatex/optex/base/f-technika.opm
+2021/01/07 | 681 | macros/luatex/optex/base/f-termes.opm
+2021/01/07 | 759 | macros/luatex/optex/base/f-xcharter.opm
+2021/01/07 | 19607 | macros/luatex/optex/base/graphics.opm
+2021/01/07 | 2741 | macros/luatex/optex/base/hisyntax-c.opm
+2021/01/07 | 1005 | macros/luatex/optex/base/hisyntax-html.opm
+2021/01/11 | 9690 | macros/luatex/optex/base/hi-syntax.opm
+2021/01/07 | 3018 | macros/luatex/optex/base/hisyntax-python.opm
+2021/01/07 | 1566 | macros/luatex/optex/base/hisyntax-tex.opm
+2021/01/07 | 6981 | macros/luatex/optex/base/hyperlinks.opm
+2021/01/07 | 11686 | macros/luatex/optex/base/hyphen-lan.opm
+2021/01/14 | 12183 | macros/luatex/optex/base/if-macros.opm
+2021/01/06 | 3270 | macros/luatex/optex/base/keyval.opm
+2021/01/07 | 9556 | macros/luatex/optex/base/languages.opm
+2021/01/13 | 5117 | macros/luatex/optex/base/lists.opm
+2021/01/11 | 2377 | macros/luatex/optex/base/logos.opm
+2021/01/06 | 7416 | macros/luatex/optex/base/luatex-ini.opm
+2021/01/07 | 19092 | macros/luatex/optex/base/makeindex.opm
+2021/01/11 | 5390 | macros/luatex/optex/base/maketoc.opm
+2021/01/07 | 3635 | macros/luatex/optex/base/margins.opm
2020/05/16 | 13569 | macros/luatex/optex/base/mathclass.opm
-2020/12/20 | 42638 | macros/luatex/optex/base/math-macros.opm
-2020/12/07 | 9356 | macros/luatex/optex/base/math-preload.opm
-2020/12/09 | 9960 | macros/luatex/optex/base/math-unicode.opm
-2020/11/20 | 11825 | macros/luatex/optex/base/more-macros.opm
-2020/05/26 | 4745 | macros/luatex/optex/base/multicolumns.opm
-2020/12/20 | 4031 | macros/luatex/optex/base/optex.ini
-2020/11/15 | 12558 | macros/luatex/optex/base/optex.lua
-2020/05/22 | 3556 | macros/luatex/optex/base/others.opm
-2020/05/24 | 4339 | macros/luatex/optex/base/outlines.opm
-2020/12/20 | 11442 | macros/luatex/optex/base/output.opm
-2020/12/07 | 23911 | macros/luatex/optex/base/parameters.opm
-2020/05/24 | 4665 | macros/luatex/optex/base/pdfuni-string.opm
-2020/12/20 | 13720 | macros/luatex/optex/base/plain-macros.opm
-2020/11/17 | 12324 | macros/luatex/optex/base/prefixed.opm
-2020/06/07 | 2201 | macros/luatex/optex/base/print-unimath.opm
-2020/12/20 | 3614 | macros/luatex/optex/base/references.opm
-2020/05/27 | 5577 | macros/luatex/optex/base/ref-file.opm
-2020/12/20 | 18220 | macros/luatex/optex/base/sections.opm
-2020/12/15 | 9237 | macros/luatex/optex/base/slides.opm
-2020/11/20 | 3768 | macros/luatex/optex/base/styles.opm
-2020/12/20 | 23885 | macros/luatex/optex/base/table.opm
-2020/09/02 | 121746 | macros/luatex/optex/base/uni-lcuc.opm
-2020/12/03 | 17706 | macros/luatex/optex/base/unimath-codes.opm
+2021/01/06 | 43406 | macros/luatex/optex/base/math-macros.opm
+2021/01/06 | 9336 | macros/luatex/optex/base/math-preload.opm
+2021/01/10 | 10738 | macros/luatex/optex/base/math-unicode.opm
+2021/01/11 | 12375 | macros/luatex/optex/base/more-macros.opm
+2021/01/07 | 4756 | macros/luatex/optex/base/multicolumns.opm
+2021/01/14 | 4035 | macros/luatex/optex/base/optex.ini
+2021/01/12 | 12637 | macros/luatex/optex/base/optex.lua
+2021/01/14 | 3748 | macros/luatex/optex/base/others.opm
+2021/01/11 | 4361 | macros/luatex/optex/base/outlines.opm
+2021/01/07 | 11462 | macros/luatex/optex/base/output.opm
+2021/01/11 | 25067 | macros/luatex/optex/base/parameters.opm
+2021/01/07 | 4675 | macros/luatex/optex/base/pdfuni-string.opm
+2021/01/06 | 13702 | macros/luatex/optex/base/plain-macros.opm
+2021/01/11 | 12531 | macros/luatex/optex/base/prefixed.opm
+2021/01/07 | 2203 | macros/luatex/optex/base/print-unimath.opm
+2021/01/07 | 3622 | macros/luatex/optex/base/references.opm
+2021/01/07 | 5591 | macros/luatex/optex/base/ref-file.opm
+2021/01/11 | 19172 | macros/luatex/optex/base/sections.opm
+2021/01/07 | 9220 | macros/luatex/optex/base/slides.opm
+2021/01/07 | 3766 | macros/luatex/optex/base/styles.opm
+2021/01/14 | 24189 | macros/luatex/optex/base/table.opm
+2021/01/07 | 121749 | macros/luatex/optex/base/uni-lcuc.opm
+2021/01/14 | 16978 | macros/luatex/optex/base/unimath-codes.opm
2020/06/13 | 241372 | macros/luatex/optex/base/unimath-table.opm
-2020/12/10 | 15984 | macros/luatex/optex/base/usebib.opm
-2020/12/10 | 15733 | macros/luatex/optex/base/verbatim.opm
+2021/01/11 | 16007 | macros/luatex/optex/base/usebib.opm
+2021/01/10 | 16231 | macros/luatex/optex/base/verbatim.opm
2020/12/05 | 9599 | macros/luatex/optex/demo/op-biblist.bib
-2020/05/07 | 3514 | macros/luatex/optex/demo/op-demo.tex
-2020/05/18 | 1188 | macros/luatex/optex/demo/op-letter-cs.tex
-2020/05/18 | 569 | macros/luatex/optex/demo/op-letter-en.tex
+2021/01/07 | 3502 | macros/luatex/optex/demo/op-demo.tex
+2021/01/07 | 1192 | macros/luatex/optex/demo/op-letter-cs.tex
+2021/01/07 | 573 | macros/luatex/optex/demo/op-letter-en.tex
2020/05/16 | 512984 | macros/luatex/optex/demo/op-ring.png
2020/05/17 | 62385 | macros/luatex/optex/demo/op-slides-bg.png
-2020/12/15 | 9022 | macros/luatex/optex/demo/op-slides.tex
+2021/01/07 | 9012 | macros/luatex/optex/demo/op-slides.tex
2020/05/16 | 1460 | macros/luatex/optex/doc/optex.1
-2020/12/21 | 1326904 | macros/luatex/optex/doc/optex-doc.pdf
-2020/12/20 | 3884 | macros/luatex/optex/doc/optex-doc.tex
-2020/12/02 | 68338 | macros/luatex/optex/doc/optex-math.tex
-2020/12/20 | 8043 | macros/luatex/optex/doc/optex-techdoc.tex
-2020/12/14 | 79147 | macros/luatex/optex/doc/optex-userdoc.tex
+2021/01/14 | 1362584 | macros/luatex/optex/doc/optex-doc.pdf
+2021/01/14 | 3923 | macros/luatex/optex/doc/optex-doc.tex
+2021/01/06 | 68869 | macros/luatex/optex/doc/optex-math.tex
+2021/01/07 | 8043 | macros/luatex/optex/doc/optex-techdoc.tex
+2021/01/14 | 84930 | macros/luatex/optex/doc/optex-userdoc.tex
+2021/01/10 | 1858 | macros/luatex/optex/pkg/emoji.opm
2020/12/20 | 1087 | macros/luatex/optex/pkg/plain-at.opm
2020/11/11 | 85045 | macros/luatex/optex/pkg/qrcode.opm
-2020/12/21 | 4209 | macros/luatex/optex/README
-2020/12/21 | 2240477 | macros/luatex/optex.zip
+2021/01/08 | 7598 | macros/luatex/optex/pkg/vlna.opm
+2021/01/14 | 4569 | macros/luatex/optex/README
+2021/01/14 | 2281399 | macros/luatex/optex.zip
1993/02/12 | 2330 | macros/mathematica/CHANGES
1993/02/12 | 7699 | macros/mathematica/README
1993/02/12 | 40574 | macros/mathematica/tex-mma-j.ps.gz
@@ -258755,15 +258760,14 @@
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.amd64-freebsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.amd64-netbsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.armhf-linux.r57089.tar.xz
-2020/12/10 | 97724 | systems/texlive/tlnet/archive/albatross.doc.r57103.tar.xz
+2021/01/14 | 99644 | systems/texlive/tlnet/archive/albatross.doc.r57416.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-cygwin.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-freebsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-linux.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-netbsd.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.i386-solaris.r57089.tar.xz
-2020/12/10 | 2786568 | systems/texlive/tlnet/archive/albatross.r57103.tar.xz
-2020/12/10 | 4600 | systems/texlive/tlnet/archive/albatross.source.r57103.tar.xz
-2020/12/10 | 680 | systems/texlive/tlnet/archive/albatross.win32.r57104.tar.xz
+2021/01/14 | 2828456 | systems/texlive/tlnet/archive/albatross.r57416.tar.xz
+2021/01/14 | 4824 | systems/texlive/tlnet/archive/albatross.source.r57416.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.x86_64-cygwin.r57089.tar.xz
2020/12/08 | 348 | systems/texlive/tlnet/archive/albatross.x86_64-darwinlegacy.r57089.tar.xz
2020/12/08 | 340 | systems/texlive/tlnet/archive/albatross.x86_64-darwin.r57089.tar.xz
@@ -262049,8 +262053,8 @@
2019/02/28 | 1788 | systems/texlive/tlnet/archive/ean13isbn.r15878.tar.xz
2019/02/28 | 948 | systems/texlive/tlnet/archive/ean.doc.r20851.tar.xz
2019/02/28 | 3148 | systems/texlive/tlnet/archive/ean.r20851.tar.xz
-2021/01/13 | 511452 | systems/texlive/tlnet/archive/easybook.doc.r57403.tar.xz
-2021/01/13 | 9384 | systems/texlive/tlnet/archive/easybook.r57403.tar.xz
+2021/01/14 | 524880 | systems/texlive/tlnet/archive/easybook.doc.r57413.tar.xz
+2021/01/14 | 9844 | systems/texlive/tlnet/archive/easybook.r57413.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz
2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz
@@ -262405,10 +262409,10 @@
2019/02/28 | 685596 | systems/texlive/tlnet/archive/erdc.doc.r15878.tar.xz
2019/02/28 | 6056 | systems/texlive/tlnet/archive/erdc.r15878.tar.xz
2019/02/28 | 16276 | systems/texlive/tlnet/archive/erdc.source.r15878.tar.xz
-2020/07/01 | 355328 | systems/texlive/tlnet/archive/erewhon.doc.r55705.tar.xz
+2021/01/14 | 368816 | systems/texlive/tlnet/archive/erewhon.doc.r57410.tar.xz
2020/10/20 | 1471676 | systems/texlive/tlnet/archive/erewhon-math.doc.r56703.tar.xz
2020/10/20 | 231492 | systems/texlive/tlnet/archive/erewhon-math.r56703.tar.xz
-2020/07/01 | 2425440 | systems/texlive/tlnet/archive/erewhon.r55705.tar.xz
+2021/01/14 | 2515892 | systems/texlive/tlnet/archive/erewhon.r57410.tar.xz
2019/02/28 | 147644 | systems/texlive/tlnet/archive/errata.doc.r42428.tar.xz
2019/02/28 | 1652 | systems/texlive/tlnet/archive/errata.r42428.tar.xz
2019/02/28 | 6420 | systems/texlive/tlnet/archive/errata.source.r42428.tar.xz
@@ -266023,8 +266027,8 @@
2019/02/28 | 186980 | systems/texlive/tlnet/archive/mlist.doc.r15878.tar.xz
2019/02/28 | 3068 | systems/texlive/tlnet/archive/mlist.r15878.tar.xz
2019/02/28 | 15480 | systems/texlive/tlnet/archive/mlist.source.r15878.tar.xz
-2021/01/13 | 36020 | systems/texlive/tlnet/archive/mlmodern.doc.r57399.tar.xz
-2021/01/13 | 6895784 | systems/texlive/tlnet/archive/mlmodern.r57399.tar.xz
+2021/01/14 | 33756 | systems/texlive/tlnet/archive/mlmodern.doc.r57411.tar.xz
+2021/01/14 | 7019984 | systems/texlive/tlnet/archive/mlmodern.r57411.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/mltex.aarch64-linux.r46208.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/mltex.amd64-freebsd.r16472.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/mltex.amd64-netbsd.r30191.tar.xz
@@ -268012,9 +268016,9 @@
2020/05/05 | 12536 | systems/texlive/tlnet/archive/pxjodel.r55006.tar.xz
2019/02/28 | 1640 | systems/texlive/tlnet/archive/pxpgfmark.doc.r30212.tar.xz
2019/02/28 | 792 | systems/texlive/tlnet/archive/pxpgfmark.r30212.tar.xz
-2021/01/13 | 280356 | systems/texlive/tlnet/archive/pxpic.doc.r57400.tar.xz
-2021/01/13 | 2136 | systems/texlive/tlnet/archive/pxpic.r57400.tar.xz
-2021/01/13 | 9208 | systems/texlive/tlnet/archive/pxpic.source.r57400.tar.xz
+2021/01/14 | 290116 | systems/texlive/tlnet/archive/pxpic.doc.r57412.tar.xz
+2021/01/14 | 2184 | systems/texlive/tlnet/archive/pxpic.r57412.tar.xz
+2021/01/14 | 10144 | systems/texlive/tlnet/archive/pxpic.source.r57412.tar.xz
2019/02/28 | 788464 | systems/texlive/tlnet/archive/pxrubrica.doc.r48421.tar.xz
2019/02/28 | 13696 | systems/texlive/tlnet/archive/pxrubrica.r48421.tar.xz
2019/02/28 | 38396 | systems/texlive/tlnet/archive/pxrubrica.source.r48421.tar.xz
@@ -268632,9 +268636,9 @@
2019/02/28 | 3668 | systems/texlive/tlnet/archive/showcharinbox.source.r29803.tar.xz
2019/02/28 | 928 | systems/texlive/tlnet/archive/showdim.doc.r28918.tar.xz
2019/02/28 | 1652 | systems/texlive/tlnet/archive/showdim.r28918.tar.xz
-2020/10/09 | 604732 | systems/texlive/tlnet/archive/showexpl.doc.r56600.tar.xz
-2020/10/09 | 4132 | systems/texlive/tlnet/archive/showexpl.r56600.tar.xz
-2020/10/09 | 9144 | systems/texlive/tlnet/archive/showexpl.source.r56600.tar.xz
+2021/01/14 | 604612 | systems/texlive/tlnet/archive/showexpl.doc.r57414.tar.xz
+2021/01/14 | 4184 | systems/texlive/tlnet/archive/showexpl.r57414.tar.xz
+2021/01/14 | 9180 | systems/texlive/tlnet/archive/showexpl.source.r57414.tar.xz
2019/02/28 | 86248 | systems/texlive/tlnet/archive/showhyphens.doc.r39787.tar.xz
2019/02/28 | 1784 | systems/texlive/tlnet/archive/showhyphens.r39787.tar.xz
2019/02/28 | 169108 | systems/texlive/tlnet/archive/showlabels.doc.r41322.tar.xz
@@ -269494,8 +269498,8 @@
2020/03/24 | 280 | systems/texlive/tlnet/archive/texlive-cz.r54496.tar.xz
2020/12/26 | 1338744 | systems/texlive/tlnet/archive/texlive-de.doc.r57223.tar.xz
2020/12/26 | 272 | systems/texlive/tlnet/archive/texlive-de.r57223.tar.xz
-2021/01/12 | 171116 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57385.tar.xz
-2021/01/12 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57385.tar.xz
+2021/01/14 | 171168 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57406.tar.xz
+2021/01/14 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57406.tar.xz
2020/04/16 | 1891392 | systems/texlive/tlnet/archive/texlive-en.doc.r54755.tar.xz
2020/04/16 | 272 | systems/texlive/tlnet/archive/texlive-en.r54755.tar.xz
2020/03/22 | 3090144 | systems/texlive/tlnet/archive/texlive-es.doc.r54465.tar.xz
@@ -269524,7 +269528,7 @@
2020/03/25 | 276 | systems/texlive/tlnet/archive/texlive-it.r54534.tar.xz
2020/03/16 | 1522924 | systems/texlive/tlnet/archive/texlive-ja.doc.r54334.tar.xz
2020/03/16 | 276 | systems/texlive/tlnet/archive/texlive-ja.r54334.tar.xz
-2020/12/05 | 141252 | systems/texlive/tlnet/archive/texlive-msg-translations.r57063.tar.xz
+2021/01/14 | 141260 | systems/texlive/tlnet/archive/texlive-msg-translations.r57409.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texliveonfly.aarch64-linux.r46208.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texliveonfly.amd64-freebsd.r24062.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/texliveonfly.amd64-netbsd.r30191.tar.xz
@@ -269551,7 +269555,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2021/01/12 | 218816 | systems/texlive/tlnet/archive/texlive-scripts.doc.r57386.tar.xz
+2021/01/14 | 218820 | systems/texlive/tlnet/archive/texlive-scripts.doc.r57407.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -269575,7 +269579,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2021/01/12 | 132168 | systems/texlive/tlnet/archive/texlive-scripts.r57386.tar.xz
+2021/01/14 | 132172 | systems/texlive/tlnet/archive/texlive-scripts.r57407.tar.xz
2020/08/24 | 36336 | systems/texlive/tlnet/archive/texlive-scripts.win32.r56157.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
2020/05/12 | 592 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-darwinlegacy.r55117.tar.xz
@@ -270209,8 +270213,8 @@
2019/02/28 | 254104 | systems/texlive/tlnet/archive/tucv.doc.r20680.tar.xz
2019/02/28 | 1860 | systems/texlive/tlnet/archive/tucv.r20680.tar.xz
2019/02/28 | 4996 | systems/texlive/tlnet/archive/tucv.source.r20680.tar.xz
-2020/11/13 | 1102060 | systems/texlive/tlnet/archive/tuda-ci.doc.r56921.tar.xz
-2020/11/13 | 41108 | systems/texlive/tlnet/archive/tuda-ci.r56921.tar.xz
+2021/01/14 | 1102612 | systems/texlive/tlnet/archive/tuda-ci.doc.r57415.tar.xz
+2021/01/14 | 41192 | systems/texlive/tlnet/archive/tuda-ci.r57415.tar.xz
2020/11/12 | 3742780 | systems/texlive/tlnet/archive/tudscr.doc.r56909.tar.xz
2020/11/12 | 160144 | systems/texlive/tlnet/archive/tudscr.r56909.tar.xz
2020/11/12 | 316940 | systems/texlive/tlnet/archive/tudscr.source.r56909.tar.xz
@@ -271237,16 +271241,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2021/01/06 | 106039 | systems/texlive/tlnet/install-tl
-2021/01/13 | 5518898 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/01/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/01/13 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/01/14 | 5518343 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/01/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/01/14 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/08/23 | 4889 | systems/texlive/tlnet/install-tl-windows.bat
-2021/01/13 | 19420389 | systems/texlive/tlnet/install-tl-windows.exe
-2021/01/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/01/13 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/01/13 | 24287709 | systems/texlive/tlnet/install-tl.zip
-2021/01/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/01/13 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/01/14 | 19416036 | systems/texlive/tlnet/install-tl-windows.exe
+2021/01/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/01/14 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/01/14 | 24287705 | systems/texlive/tlnet/install-tl.zip
+2021/01/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/01/14 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2020/03/05 | 1215 | systems/texlive/tlnet/README.md
2020/04/06 | 5961 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed
@@ -271255,7 +271259,7 @@
2020/04/06 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/01/07 | 49448 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/01/11 | 6657 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/01/13 | 6610 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2018/04/29 | 13647 | systems/texlive/tlnet/tlpkg/installer/DirSelect.pm
@@ -271302,12 +271306,12 @@
2020/05/17 | 20322 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2020/05/03 | 4786 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2020/09/22 | 27563 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/01/13 | 16928334 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/01/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/01/14 | 16932850 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/01/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/05/13 | 86417 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/01/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/01/13 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/01/13 | 2266988 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/01/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/01/14 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/01/14 | 2265740 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/04/15 | 58761 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2020/03/20 | 41736 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2020/05/11 | 15010 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -273951,26 +273955,26 @@
2020/03/17 | 3466 | systems/texlive/tlnet/tlpkg/tltcl/lib/tkConfig.sh
2018/11/30 | 1310 | systems/texlive/tlnet/tlpkg/tltcl/tlmgr.gif
2020/05/31 | 22132 | systems/texlive/tlnet/tlpkg/tltcl/tltcl.tcl
-2020/12/04 | 87013 | systems/texlive/tlnet/tlpkg/translations/cs.po
-2020/12/04 | 95538 | systems/texlive/tlnet/tlpkg/translations/de.po
-2020/12/04 | 86051 | systems/texlive/tlnet/tlpkg/translations/es.po
-2020/12/04 | 99848 | systems/texlive/tlnet/tlpkg/translations/fr.po
-2020/12/04 | 93138 | systems/texlive/tlnet/tlpkg/translations/it.po
-2020/12/04 | 77700 | systems/texlive/tlnet/tlpkg/translations/ja.po
-2020/12/04 | 58600 | systems/texlive/tlnet/tlpkg/translations/messages.pot
-2020/12/04 | 74766 | systems/texlive/tlnet/tlpkg/translations/nl.po
-2020/12/04 | 72938 | systems/texlive/tlnet/tlpkg/translations/pl.po
-2020/12/04 | 88422 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
+2021/01/13 | 87013 | systems/texlive/tlnet/tlpkg/translations/cs.po
+2021/01/13 | 95538 | systems/texlive/tlnet/tlpkg/translations/de.po
+2021/01/13 | 86051 | systems/texlive/tlnet/tlpkg/translations/es.po
+2021/01/13 | 99848 | systems/texlive/tlnet/tlpkg/translations/fr.po
+2021/01/13 | 93138 | systems/texlive/tlnet/tlpkg/translations/it.po
+2021/01/13 | 77700 | systems/texlive/tlnet/tlpkg/translations/ja.po
+2021/01/13 | 58600 | systems/texlive/tlnet/tlpkg/translations/messages.pot
+2021/01/13 | 74766 | systems/texlive/tlnet/tlpkg/translations/nl.po
+2021/01/13 | 72938 | systems/texlive/tlnet/tlpkg/translations/pl.po
+2021/01/13 | 88422 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
2019/03/25 | 430 | systems/texlive/tlnet/tlpkg/translations/README
-2020/12/04 | 112575 | systems/texlive/tlnet/tlpkg/translations/ru.po
-2020/12/04 | 94215 | systems/texlive/tlnet/tlpkg/translations/sk.po
-2020/12/04 | 75344 | systems/texlive/tlnet/tlpkg/translations/sl.po
-2020/12/04 | 109963 | systems/texlive/tlnet/tlpkg/translations/sr.po
+2021/01/13 | 112575 | systems/texlive/tlnet/tlpkg/translations/ru.po
+2021/01/13 | 94215 | systems/texlive/tlnet/tlpkg/translations/sk.po
+2021/01/13 | 75344 | systems/texlive/tlnet/tlpkg/translations/sl.po
+2021/01/13 | 109963 | systems/texlive/tlnet/tlpkg/translations/sr.po
2019/03/28 | 847 | systems/texlive/tlnet/tlpkg/translations/translators
-2020/12/04 | 87080 | systems/texlive/tlnet/tlpkg/translations/uk.po
-2020/12/04 | 96266 | systems/texlive/tlnet/tlpkg/translations/vi.po
-2020/12/04 | 72716 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
-2020/12/04 | 63275 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
+2021/01/13 | 87080 | systems/texlive/tlnet/tlpkg/translations/uk.po
+2021/01/13 | 96266 | systems/texlive/tlnet/tlpkg/translations/vi.po
+2021/01/13 | 72716 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
+2021/01/13 | 63275 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
2020/12/14 | 3997549 | systems/texlive/tlnet/update-tlmgr-r57132.exe
2020/12/14 | 154 | systems/texlive/tlnet/update-tlmgr-r57132.exe.sha512
2020/12/14 | 455 | systems/texlive/tlnet/update-tlmgr-r57132.exe.sha512.asc
@@ -274668,7 +274672,7 @@
2006/11/14 | 15916 | systems/win32/miktex/tm/packages/akktex.tar.lzma
2016/07/29 | 212481 | systems/win32/miktex/tm/packages/akletter.tar.lzma
2020/10/03 | 1696125 | systems/win32/miktex/tm/packages/akshar.tar.lzma
-2020/12/12 | 2872783 | systems/win32/miktex/tm/packages/albatross.tar.lzma
+2021/01/14 | 2916549 | systems/win32/miktex/tm/packages/albatross.tar.lzma
2019/10/15 | 24628571 | systems/win32/miktex/tm/packages/alegreya.tar.lzma
2015/08/05 | 133541 | systems/win32/miktex/tm/packages/alertmessage.tar.lzma
2019/10/04 | 132309 | systems/win32/miktex/tm/packages/algobox.tar.lzma
@@ -275617,7 +275621,7 @@
2006/08/26 | 141965 | systems/win32/miktex/tm/packages/dyntree.tar.bz2
2008/06/26 | 314142 | systems/win32/miktex/tm/packages/ean13isbn.tar.lzma
2016/07/15 | 3965 | systems/win32/miktex/tm/packages/ean.tar.lzma
-2021/01/13 | 527664 | systems/win32/miktex/tm/packages/easybook.tar.lzma
+2021/01/14 | 536528 | systems/win32/miktex/tm/packages/easybook.tar.lzma
2018/03/31 | 183421 | systems/win32/miktex/tm/packages/easyfig.tar.lzma
2020/12/21 | 609763 | systems/win32/miktex/tm/packages/easyfloats.tar.lzma
2017/06/12 | 52618 | systems/win32/miktex/tm/packages/easyformat.tar.lzma
@@ -275744,7 +275748,7 @@
2019/10/04 | 325727 | systems/win32/miktex/tm/packages/eq-save.tar.lzma
2009/07/26 | 707878 | systems/win32/miktex/tm/packages/erdc.tar.lzma
2020/10/20 | 1709717 | systems/win32/miktex/tm/packages/erewhon-math.tar.lzma
-2020/07/01 | 2782144 | systems/win32/miktex/tm/packages/erewhon.tar.lzma
+2021/01/14 | 2888484 | systems/win32/miktex/tm/packages/erewhon.tar.lzma
2007/11/19 | 155443 | systems/win32/miktex/tm/packages/errata.tar.lzma
2020/06/09 | 690795 | systems/win32/miktex/tm/packages/erw-l3.tar.lzma
2018/03/15 | 1455606 | systems/win32/miktex/tm/packages/esami.tar.lzma
@@ -275880,7 +275884,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2021/01/13 | 558762 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/01/14 | 560965 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -277063,9 +277067,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2020/12/14 | 39268 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2020/12/14 | 43043 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/01/13 | 206128 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/01/13 | 1242470 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/01/13 | 1159440 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/01/14 | 206120 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/01/14 | 1243719 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/01/14 | 1159780 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/12/14 | 13302 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2020/12/14 | 14143 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -277094,7 +277098,7 @@
2019/12/05 | 317993 | systems/win32/miktex/tm/packages/mleftright.tar.lzma
2009/07/13 | 205462 | systems/win32/miktex/tm/packages/mlist.tar.lzma
2020/06/22 | 103445 | systems/win32/miktex/tm/packages/mlmath.tar.lzma
-2021/01/13 | 6936005 | systems/win32/miktex/tm/packages/mlmodern.tar.lzma
+2021/01/14 | 7059003 | systems/win32/miktex/tm/packages/mlmodern.tar.lzma
2001/05/14 | 14248 | systems/win32/miktex/tm/packages/mltex.tar.lzma
2020/11/24 | 474181 | systems/win32/miktex/tm/packages/mluexercise.tar.lzma
2008/08/28 | 19372 | systems/win32/miktex/tm/packages/mmap.tar.lzma
@@ -277223,187 +277227,187 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2020/09/06 | 231669 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/01/13 | 559032 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/01/13 | 50722 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/01/13 | 56395 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/01/13 | 969143 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/01/13 | 1078632 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/01/13 | 29030 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/01/13 | 31336 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/01/13 | 29500 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/01/13 | 34320 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/01/13 | 50185 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/01/13 | 57613 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/01/13 | 85144 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/01/13 | 94615 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/01/13 | 67629 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/01/13 | 75443 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/01/13 | 27190 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/01/13 | 30907 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/01/13 | 330099 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/01/13 | 392582 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/01/13 | 32253 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/01/13 | 36698 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/01/13 | 51475 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/01/13 | 56638 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/01/13 | 231633 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/01/13 | 253979 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/01/13 | 179182 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/01/13 | 195602 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/01/13 | 52491 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/01/13 | 59152 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/01/13 | 21131 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/01/13 | 23312 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/01/13 | 460977 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/01/13 | 45650 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/01/13 | 51144 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/01/13 | 280738 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/01/13 | 320017 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/01/13 | 41103 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/01/13 | 45258 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/01/13 | 116715 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/01/13 | 131363 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/01/13 | 1281062 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/01/13 | 1418669 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/01/13 | 87450 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/01/13 | 99433 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/01/13 | 43071 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/01/13 | 47877 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/01/13 | 25125 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/01/13 | 27998 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/01/13 | 55815 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/01/13 | 62747 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/01/13 | 134935 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/01/13 | 152546 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/01/13 | 73294 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/01/13 | 77863 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/01/13 | 71794 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/01/13 | 80596 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/01/13 | 258661 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/01/13 | 295526 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/01/13 | 22031 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/01/13 | 25016 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/01/13 | 97398 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/01/13 | 112496 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/01/13 | 63798 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/01/13 | 72854 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/01/13 | 94592 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/01/13 | 114190 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/01/13 | 38080 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/01/13 | 42638 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/01/13 | 484399 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/01/13 | 567786 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/01/13 | 147235 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/01/13 | 159985 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/01/13 | 94790 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/01/13 | 109161 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/01/13 | 16329 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/01/13 | 17963 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/01/13 | 28050 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/01/13 | 30027 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/01/13 | 624934 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/01/13 | 679676 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/01/13 | 531502 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/01/13 | 596610 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/01/13 | 475779 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/01/13 | 511980 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/01/13 | 94368 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/01/13 | 103385 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/01/13 | 1702292 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/01/13 | 1992543 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/01/13 | 67656 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/01/13 | 74126 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/01/13 | 27384 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/01/13 | 31538 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/01/13 | 7743 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/01/13 | 8778 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/01/13 | 195673 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/01/13 | 213908 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/01/13 | 250335 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/01/13 | 284019 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/01/13 | 97175 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/01/13 | 101925 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/01/13 | 60666 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/01/13 | 67860 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/01/13 | 124928 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/01/13 | 136536 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/01/13 | 146642 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/01/13 | 163836 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/01/13 | 199584 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/01/13 | 180113 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/01/13 | 67450 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/01/13 | 77445 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/01/13 | 31210 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/01/13 | 35045 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/01/13 | 38079 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/01/13 | 42568 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/01/13 | 42826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/01/13 | 46826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/01/13 | 45964 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/01/13 | 52434 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/01/13 | 193883 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/01/13 | 210751 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/01/13 | 35464 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/01/13 | 39658 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/01/13 | 746928 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/01/13 | 813302 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/01/13 | 198077 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/01/13 | 202559 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/01/13 | 208174 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/01/13 | 243476 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/01/13 | 78734 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/01/13 | 87720 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/01/13 | 1171865 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/01/13 | 1305982 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/01/13 | 20113 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/01/13 | 23871 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/01/13 | 31556 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/01/13 | 37235 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/01/13 | 63903 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/01/13 | 72098 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/01/13 | 43791 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/01/13 | 51934 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/01/13 | 1291360 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/01/13 | 1420403 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/01/13 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/01/13 | 51904 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/01/13 | 56225 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/01/13 | 59794 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/01/13 | 25330 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/01/13 | 27269 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/01/13 | 16381 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/01/13 | 18104 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/01/13 | 63792 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/01/13 | 70143 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/01/13 | 153814 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/01/13 | 167800 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/01/13 | 56935 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/01/13 | 65326 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/01/13 | 98354 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/01/13 | 104735 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/01/13 | 2495596 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/01/13 | 2617514 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/01/13 | 55151 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/01/13 | 62325 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/01/13 | 33426 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/01/13 | 37303 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/01/13 | 27210 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/01/13 | 33133 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/01/13 | 65793 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/01/13 | 70339 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/01/13 | 310880 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/01/13 | 345543 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/01/13 | 583505 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/01/13 | 619360 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/01/13 | 39540 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/01/13 | 43390 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/01/13 | 206088 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/01/13 | 1242531 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/01/13 | 1160268 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/01/13 | 13469 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/01/13 | 14360 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/01/14 | 561024 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/01/14 | 50724 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/01/14 | 56397 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/01/14 | 969145 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/01/14 | 1078633 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/01/14 | 29033 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/01/14 | 31338 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/01/14 | 29502 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/01/14 | 34322 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/01/14 | 50187 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/01/14 | 57614 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/01/14 | 85148 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/01/14 | 94619 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/01/14 | 67631 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/01/14 | 75444 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/01/14 | 27191 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/01/14 | 30907 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/01/14 | 330101 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/01/14 | 392585 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/01/14 | 32256 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/01/14 | 36698 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/01/14 | 51478 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/01/14 | 56641 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/01/14 | 231635 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/01/14 | 253980 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/01/14 | 179186 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/01/14 | 195605 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/01/14 | 52491 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/01/14 | 59154 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/01/14 | 21133 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/01/14 | 23313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/01/14 | 460978 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/01/14 | 45650 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/01/14 | 51145 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/01/14 | 280742 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/01/14 | 320020 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/01/14 | 41106 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/01/14 | 45259 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/01/14 | 116717 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/01/14 | 131365 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/01/14 | 1281066 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/01/14 | 1418671 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/01/14 | 87451 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/01/14 | 99435 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/01/14 | 43073 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/01/14 | 47878 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/01/14 | 25126 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/01/14 | 27998 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/01/14 | 55815 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/01/14 | 62749 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/01/14 | 134935 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/01/14 | 152548 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/01/14 | 73295 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/01/14 | 77865 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/01/14 | 71796 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/01/14 | 80599 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/01/14 | 258664 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/01/14 | 295526 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/01/14 | 22033 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/01/14 | 25017 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/01/14 | 97400 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/01/14 | 112500 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/01/14 | 63799 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/01/14 | 72856 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/01/14 | 94594 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/01/14 | 114192 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/01/14 | 38083 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/01/14 | 42641 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/01/14 | 484402 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/01/14 | 567790 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/01/14 | 147237 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/01/14 | 159988 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/01/14 | 94790 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/01/14 | 109162 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/01/14 | 16331 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/01/14 | 17964 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/01/14 | 28051 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/01/14 | 30028 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/01/14 | 624936 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/01/14 | 679677 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/01/14 | 531505 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/01/14 | 596612 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/01/14 | 475781 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/01/14 | 511983 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/01/14 | 94371 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/01/14 | 103388 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/01/14 | 1702296 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/01/14 | 1992545 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/01/14 | 67657 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/01/14 | 74127 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/01/14 | 27386 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/01/14 | 31539 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/01/14 | 7744 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/01/14 | 8780 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/01/14 | 195673 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/01/14 | 213908 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/01/14 | 250337 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/01/14 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/01/14 | 97177 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/01/14 | 101927 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/01/14 | 60666 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/01/14 | 67861 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/01/14 | 124930 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/01/14 | 136539 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/01/14 | 146642 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/01/14 | 163839 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/01/14 | 199585 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/01/14 | 180115 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/01/14 | 67455 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/01/14 | 77447 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/01/14 | 31213 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/01/14 | 35047 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/01/14 | 38082 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/01/14 | 42570 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/01/14 | 42827 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/01/14 | 46825 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/01/14 | 45967 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/01/14 | 52434 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/01/14 | 193885 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/01/14 | 210751 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/01/14 | 35466 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/01/14 | 39658 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/01/14 | 746930 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/01/14 | 813303 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/01/14 | 198079 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/01/14 | 202558 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/01/14 | 208176 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/01/14 | 243480 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/01/14 | 78734 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/01/14 | 87721 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/01/14 | 1171868 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/01/14 | 1305984 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/01/14 | 20115 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/01/14 | 23873 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/01/14 | 31555 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/01/14 | 37234 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/01/14 | 63906 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/01/14 | 72099 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/01/14 | 43793 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/01/14 | 51936 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/01/14 | 1291363 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/01/14 | 1420405 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/01/14 | 42390 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/01/14 | 51905 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/01/14 | 56227 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/01/14 | 59796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/01/14 | 25334 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/01/14 | 27271 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/01/14 | 16382 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/01/14 | 18105 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/01/14 | 63794 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/01/14 | 70145 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/01/14 | 153816 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/01/14 | 167800 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/01/14 | 56934 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/01/14 | 65327 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/01/14 | 98354 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/01/14 | 104738 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/01/14 | 2495599 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/01/14 | 2617517 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/01/14 | 55153 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/01/14 | 62327 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/01/14 | 33427 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/01/14 | 37304 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/01/14 | 27212 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/01/14 | 33135 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/01/14 | 65796 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/01/14 | 70341 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/01/14 | 310883 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/01/14 | 345544 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/01/14 | 583508 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/01/14 | 619364 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/01/14 | 39541 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/01/14 | 43392 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/01/14 | 206141 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/01/14 | 1242578 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/01/14 | 1159980 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/01/14 | 13470 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/01/14 | 14361 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2021/01/13 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/01/14 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -277732,7 +277736,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2020/10/27 | 357822 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/01/13 | 879 | systems/win32/miktex/tm/packages/pr.ini
+2021/01/14 | 864 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -277887,7 +277891,7 @@
2020/10/16 | 137116 | systems/win32/miktex/tm/packages/pxjahyper.tar.lzma
2020/05/06 | 121548 | systems/win32/miktex/tm/packages/pxjodel.tar.lzma
2013/05/06 | 2352 | systems/win32/miktex/tm/packages/pxpgfmark.tar.lzma
-2021/01/13 | 292179 | systems/win32/miktex/tm/packages/pxpic.tar.lzma
+2021/01/14 | 302759 | systems/win32/miktex/tm/packages/pxpic.tar.lzma
2018/08/17 | 842504 | systems/win32/miktex/tm/packages/pxrubrica.tar.lzma
2017/01/23 | 2542 | systems/win32/miktex/tm/packages/pxtatescale.tar.lzma
2011/08/21 | 45062 | systems/win32/miktex/tm/packages/pxtxalfa.tar.lzma
@@ -278128,7 +278132,7 @@
2008/03/15 | 37596 | systems/win32/miktex/tm/packages/show2e.tar.lzma
2013/04/08 | 77777 | systems/win32/miktex/tm/packages/showcharinbox.tar.lzma
2013/01/24 | 2349 | systems/win32/miktex/tm/packages/showdim.tar.lzma
-2020/10/09 | 619213 | systems/win32/miktex/tm/packages/showexpl.tar.lzma
+2021/01/14 | 619243 | systems/win32/miktex/tm/packages/showexpl.tar.lzma
2004/01/11 | 1359 | systems/win32/miktex/tm/packages/showframe.cab
2016/02/23 | 88396 | systems/win32/miktex/tm/packages/showhyphens.tar.lzma
2015/12/10 | 183478 | systems/win32/miktex/tm/packages/showlabels.tar.lzma
@@ -278902,10 +278906,10 @@
2010/01/14 | 955365 | systems/win32/visualtex/vx-setup-399.exe
2019/08/12 | 14654 | systems/win32/w32tex/00FILES.euc
2019/08/12 | 14654 | systems/win32/w32tex/00FILES.sjis
-2021/01/01 | 5176960 | systems/win32/w32tex/aleph-w32.tar.xz
+2021/01/13 | 5177516 | systems/win32/w32tex/aleph-w32.tar.xz
2021/01/10 | 66729544 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2021/01/11 | 766112 | systems/win32/w32tex/ChangeLog
+2021/01/13 | 767925 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -278913,56 +278917,56 @@
2017/06/24 | 644754 | systems/win32/w32tex/ChangeLog.4
2020/10/20 | 23448752 | systems/win32/w32tex/cjkzr.tar.xz
2013/04/27 | 15858676 | systems/win32/w32tex/context-doc.tar.xz
-2021/01/10 | 141708060 | systems/win32/w32tex/context.tar.xz
-2020/12/05 | 911348 | systems/win32/w32tex/cweb-w32.tar.xz
+2021/01/13 | 141702768 | systems/win32/w32tex/context.tar.xz
+2021/01/13 | 911488 | systems/win32/w32tex/cweb-w32.tar.xz
2020/09/21 | 6434128 | systems/win32/w32tex/datetime2.tar.xz
-2020/12/05 | 846308 | systems/win32/w32tex/dvi2ps-w32.tar.xz
-2020/12/13 | 483948 | systems/win32/w32tex/dvi2tty-w32.tar.xz
-2021/01/10 | 4661028 | systems/win32/w32tex/dvipdfm-w32.tar.xz
-2020/12/05 | 4550296 | systems/win32/w32tex/dvipsk-w32.tar.xz
-2020/12/05 | 2649244 | systems/win32/w32tex/dvitools-w32.tar.xz
+2021/01/13 | 844644 | systems/win32/w32tex/dvi2ps-w32.tar.xz
+2021/01/13 | 484204 | systems/win32/w32tex/dvi2tty-w32.tar.xz
+2021/01/13 | 4661312 | systems/win32/w32tex/dvipdfm-w32.tar.xz
+2021/01/13 | 4550868 | systems/win32/w32tex/dvipsk-w32.tar.xz
+2021/01/13 | 2653592 | systems/win32/w32tex/dvitools-w32.tar.xz
2021/01/03 | 1179164 | systems/win32/w32tex/extractpdfmark-w32.tar.xz
2020/12/05 | 17348896 | systems/win32/w32tex/gregorio-w32.tar.xz
2009/08/03 | 1072620 | systems/win32/w32tex/gtftex.zip
-2021/01/01 | 1824844 | systems/win32/w32tex/jtex-w32.tar.xz
+2021/01/13 | 1829904 | systems/win32/w32tex/jtex-w32.tar.xz
2021/01/10 | 47626160 | systems/win32/w32tex/latex-dev.tar.xz
2021/01/09 | 34772856 | systems/win32/w32tex/latex.tar.xz
2020/12/05 | 1008204 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2020/12/18 | 403185380 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2021/01/11 | 33955892 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/01/13 | 33949192 | systems/win32/w32tex/ltxpkgs.tar.xz
2021/01/02 | 3852596 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
-2021/01/01 | 3852444 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
+2021/01/13 | 3830016 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2021/01/01 | 3859460 | systems/win32/w32tex/luajittex-w32.tar.xz
2020/12/09 | 837408 | systems/win32/w32tex/luasec-w32.tar.xz
-2021/01/10 | 18749344 | systems/win32/w32tex/luatex-dev-w32.tar.xz
-2021/01/10 | 18747288 | systems/win32/w32tex/luatex-exp-w32.tar.xz
+2021/01/13 | 18751456 | systems/win32/w32tex/luatex-dev-w32.tar.xz
+2021/01/13 | 18707252 | systems/win32/w32tex/luatex-exp-w32.tar.xz
2021/01/06 | 69090452 | systems/win32/w32tex/luatexja.tar.xz
-2021/01/10 | 18742500 | systems/win32/w32tex/luatex-w32.tar.xz
-2020/12/22 | 1609296 | systems/win32/w32tex/makeindex-w32.tar.xz
+2021/01/13 | 18742452 | systems/win32/w32tex/luatex-w32.tar.xz
+2021/01/13 | 1609236 | systems/win32/w32tex/makeindex-w32.tar.xz
2015/05/26 | 1542676 | systems/win32/w32tex/manual.tar.xz
-2020/12/05 | 439396 | systems/win32/w32tex/mftools.tar.xz
-2020/12/05 | 524724 | systems/win32/w32tex/mftrace-w32.tar.xz
+2021/01/13 | 439196 | systems/win32/w32tex/mftools.tar.xz
+2021/01/13 | 524688 | systems/win32/w32tex/mftrace-w32.tar.xz
2018/07/14 | 6364952 | systems/win32/w32tex/minitoc.tar.xz
2020/01/19 | 882832 | systems/win32/w32tex/m-tx.tar.xz
2020/12/22 | 9801176 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
-2020/12/05 | 1245344 | systems/win32/w32tex/omegaj-w32.tar.xz
+2021/01/13 | 1232056 | systems/win32/w32tex/omegaj-w32.tar.xz
2020/11/16 | 324540 | systems/win32/w32tex/otfbeta.tar.xz
-2021/01/10 | 21156348 | systems/win32/w32tex/pdftex-w32.tar.xz
+2021/01/13 | 21154376 | systems/win32/w32tex/pdftex-w32.tar.xz
2021/01/03 | 87668224 | systems/win32/w32tex/pgfcontrib.tar.xz
2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz
2020/11/27 | 2807432 | systems/win32/w32tex/platex.tar.xz
2020/03/20 | 1598792 | systems/win32/w32tex/pmx.tar.xz
2020/12/05 | 1171272 | systems/win32/w32tex/pstoedit-w32.tar.xz
2020/10/25 | 274208000 | systems/win32/w32tex/pstricks.tar.xz
-2020/12/05 | 517812 | systems/win32/w32tex/psutils-w32.tar.xz
+2021/01/13 | 517756 | systems/win32/w32tex/psutils-w32.tar.xz
2021/01/10 | 6622084 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2021/01/10 | 10611860 | systems/win32/w32tex/ptex-w32.tar.xz
+2021/01/13 | 10633792 | systems/win32/w32tex/ptex-w32.tar.xz
2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz
2020/10/14 | 87958692 | systems/win32/w32tex/t1fonts.tar.xz
2020/10/31 | 142032 | systems/win32/w32tex/t1utils-w32.tar.xz
-2021/01/08 | 2600168 | systems/win32/w32tex/tex4htk-w32.tar.xz
+2021/01/13 | 2604708 | systems/win32/w32tex/tex4htk-w32.tar.xz
2018/06/20 | 15940044 | systems/win32/w32tex/tex-gyre.tar.xz
-2020/12/05 | 4485596 | systems/win32/w32tex/texinfo-w32.tar.xz
+2021/01/13 | 4485516 | systems/win32/w32tex/texinfo-w32.tar.xz
2021/01/03 | 2050496 | systems/win32/w32tex/texinstwin.zip
2020/01/19 | 97168 | systems/win32/w32tex/tiff2png-w32.tar.xz
2013/04/08 | 308444 | systems/win32/w32tex/timesnew.tar.xz
@@ -278973,63 +278977,63 @@
2020/09/12 | 4291660 | systems/win32/w32tex/TLTEXINFO/tl-texinfo.zip
2021/01/03 | 2023 | systems/win32/w32tex/TLW64/00README.TLW64
2021/01/10 | 96505422 | systems/win32/w32tex/TLW64/tl-win64.zip
-2020/12/05 | 826852 | systems/win32/w32tex/ttf2pk-w32.tar.xz
-2020/12/05 | 839464 | systems/win32/w32tex/ttf2pt1-w32.tar.xz
+2021/01/13 | 826132 | systems/win32/w32tex/ttf2pk-w32.tar.xz
+2021/01/13 | 838368 | systems/win32/w32tex/ttf2pt1-w32.tar.xz
2017/10/13 | 1773368 | systems/win32/w32tex/tuftelatex.tar.xz
2020/05/30 | 7205464 | systems/win32/w32tex/txpx-pazofonts.tar.xz
2020/01/19 | 5856 | systems/win32/w32tex/txtutil.tar.xz
2013/04/08 | 71588 | systems/win32/w32tex/ums.tar.xz
2012/05/28 | 233472 | systems/win32/w32tex/unzip.exe
-2021/01/10 | 8400784 | systems/win32/w32tex/uptex-w32.tar.xz
+2021/01/13 | 8410692 | systems/win32/w32tex/uptex-w32.tar.xz
2013/04/08 | 722652 | systems/win32/w32tex/utf.tar.xz
2013/04/08 | 13748 | systems/win32/w32tex/vf-n2bk.tar.xz
2020/12/24 | 52763124 | systems/win32/w32tex/w32tex-src.tar.xz
-2021/01/11 | 99718816 | systems/win32/w32tex/web2c-lib.tar.xz
-2021/01/08 | 48680920 | systems/win32/w32tex/web2c-w32.tar.xz
-2021/01/01 | 811980 | systems/win32/w32tex/win64/aleph-w64.tar.xz
+2021/01/12 | 99719588 | systems/win32/w32tex/web2c-lib.tar.xz
+2021/01/13 | 48673636 | systems/win32/w32tex/web2c-w32.tar.xz
+2021/01/13 | 811716 | systems/win32/w32tex/win64/aleph-w64.tar.xz
2020/08/20 | 22351540 | systems/win32/w32tex/win64/biblatex-biber-w64.tar.xz
-2021/01/09 | 2199652 | systems/win32/w32tex/win64/context-w64.tar.xz
-2020/12/05 | 82948 | systems/win32/w32tex/win64/cweb-w64.tar.xz
-2020/12/05 | 758812 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz
-2020/12/13 | 448132 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz
-2021/01/10 | 807052 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
-2020/12/05 | 759736 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz
-2020/12/05 | 2368896 | systems/win32/w32tex/win64/dvitools-w64.tar.xz
+2021/01/13 | 2199628 | systems/win32/w32tex/win64/context-w64.tar.xz
+2021/01/13 | 440824 | systems/win32/w32tex/win64/cweb-w64.tar.xz
+2021/01/13 | 758912 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz
+2021/01/13 | 448292 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz
+2021/01/13 | 807348 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
+2021/01/13 | 760100 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz
+2021/01/13 | 2345592 | systems/win32/w32tex/win64/dvitools-w64.tar.xz
2021/01/03 | 1090564 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz
2020/12/05 | 305192 | systems/win32/w32tex/win64/gregorio-w64.tar.xz
-2021/01/01 | 587936 | systems/win32/w32tex/win64/jtex-w64.tar.xz
+2021/01/13 | 588044 | systems/win32/w32tex/win64/jtex-w64.tar.xz
2019/11/11 | 2568 | systems/win32/w32tex/win64/latex-dev-w64.tar.xz
2020/12/05 | 800368 | systems/win32/w32tex/win64/lcdf-typetools-w64.tar.xz
2021/01/02 | 3453216 | systems/win32/w32tex/win64/luajittex-dev-w64.tar.xz
-2021/01/01 | 3442564 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
+2021/01/13 | 3447952 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
2021/01/01 | 3454528 | systems/win32/w32tex/win64/luajittex-w64.tar.xz
2020/12/09 | 935456 | systems/win32/w32tex/win64/luasec-w64.tar.xz
-2021/01/02 | 3119928 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz
-2021/01/01 | 3120520 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz
-2021/01/01 | 3114756 | systems/win32/w32tex/win64/luatex-w64.tar.xz
-2020/12/22 | 1079036 | systems/win32/w32tex/win64/makeindex-w64.tar.xz
-2020/12/05 | 431164 | systems/win32/w32tex/win64/mftools-w64.tar.xz
-2020/12/05 | 376832 | systems/win32/w32tex/win64/mftrace-w64.tar.xz
+2021/01/13 | 3116360 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz
+2021/01/13 | 3133540 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz
+2021/01/13 | 3120288 | systems/win32/w32tex/win64/luatex-w64.tar.xz
+2021/01/13 | 1078524 | systems/win32/w32tex/win64/makeindex-w64.tar.xz
+2021/01/13 | 431292 | systems/win32/w32tex/win64/mftools-w64.tar.xz
+2021/01/13 | 376596 | systems/win32/w32tex/win64/mftrace-w64.tar.xz
2020/01/18 | 362540 | systems/win32/w32tex/win64/m-tx-w64.tar.xz
-2020/12/05 | 407176 | systems/win32/w32tex/win64/omegaj-w64.tar.xz
-2021/01/07 | 6348432 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
+2021/01/13 | 407560 | systems/win32/w32tex/win64/omegaj-w64.tar.xz
+2021/01/13 | 6354880 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
2015/01/26 | 41440 | systems/win32/w32tex/win64/plain2-2.54-w64.tar.xz
2020/03/20 | 557532 | systems/win32/w32tex/win64/pmx-w64.tar.xz
2020/12/05 | 791172 | systems/win32/w32tex/win64/pstoedit-w64.tar.xz
-2020/12/05 | 386348 | systems/win32/w32tex/win64/psutils-w64.tar.xz
+2021/01/13 | 386240 | systems/win32/w32tex/win64/psutils-w64.tar.xz
2021/01/10 | 1712960 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
-2021/01/01 | 1871720 | systems/win32/w32tex/win64/ptex-w64.tar.xz
+2021/01/13 | 1871404 | systems/win32/w32tex/win64/ptex-w64.tar.xz
2021/01/03 | 329592 | systems/win32/w32tex/win64/sam2p-w64.tar.xz
2020/10/31 | 40588 | systems/win32/w32tex/win64/t1utils-w64.tar.xz
-2020/12/05 | 420060 | systems/win32/w32tex/win64/tex4htk-w64.tar.xz
+2021/01/13 | 420060 | systems/win32/w32tex/win64/tex4htk-w64.tar.xz
2020/01/18 | 96788 | systems/win32/w32tex/win64/tiff2png-w64.tar.xz
-2020/12/05 | 734780 | systems/win32/w32tex/win64/ttf2pk-w64.tar.xz
-2020/12/05 | 696196 | systems/win32/w32tex/win64/ttf2pt1-w64.tar.xz
+2021/01/13 | 734728 | systems/win32/w32tex/win64/ttf2pk-w64.tar.xz
+2021/01/13 | 696204 | systems/win32/w32tex/win64/ttf2pt1-w64.tar.xz
2020/01/18 | 42768 | systems/win32/w32tex/win64/txtutil-w64.tar.xz
-2021/01/01 | 1805860 | systems/win32/w32tex/win64/uptex-w64.tar.xz
-2021/01/08 | 3382064 | systems/win32/w32tex/win64/web2c-w64.tar.xz
-2021/01/10 | 11075856 | systems/win32/w32tex/win64/xetex-w64.tar.xz
-2021/01/10 | 49055996 | systems/win32/w32tex/xetex-w32.tar.xz
+2021/01/13 | 1805768 | systems/win32/w32tex/win64/uptex-w64.tar.xz
+2021/01/13 | 3383744 | systems/win32/w32tex/win64/web2c-w64.tar.xz
+2021/01/13 | 11078840 | systems/win32/w32tex/win64/xetex-w64.tar.xz
+2021/01/13 | 49089560 | systems/win32/w32tex/xetex-w32.tar.xz
2020/05/29 | 2936068 | systems/win32/w32tex/xindy-w32.tar.xz
2013/11/19 | 11356248 | systems/win32/w32tex/xymtex.tar.xz
2016/09/09 | 4334636 | systems/win32/w32tex/xypic.tar.xz
@@ -279126,7 +279130,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/01/14 | 186 | timestamp
+2021/01/15 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index f8dca59c7e..cb02ed1506 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 253744c730..89cd079576 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,80 +1,352 @@
+2021/01/14 | 99644 | systems/texlive/tlnet/archive/albatross.doc.r57416.tar.xz
+2021/01/14 | 99435 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/01/14 | 988219 | fonts/stix2-otf/STIXTwoMath-Regular.pdf
+2021/01/14 | 9844 | systems/texlive/tlnet/archive/easybook.r57413.tar.xz
+2021/01/14 | 98354 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/01/14 | 9786 | macros/latex/contrib/readablecv/ReadableCV.tex
+2021/01/14 | 97400 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/01/14 | 97177 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/01/14 | 969145 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/01/14 | 94790 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/01/14 | 94619 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/01/14 | 94594 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/01/14 | 94371 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/01/14 | 9180 | systems/texlive/tlnet/archive/showexpl.source.r57414.tar.xz
+2021/01/14 | 8780 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/01/14 | 87721 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/01/14 | 87451 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/01/14 | 864 | systems/win32/miktex/tm/packages/pr.ini
+2021/01/14 | 85148 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/01/14 | 84930 | macros/luatex/optex/doc/optex-userdoc.tex
+2021/01/14 | 838544 | fonts/stix2-otf/STIXTwoMath-Regular.otf
+2021/01/14 | 819 | macros/latex/contrib/fcolumn/makefile
+2021/01/14 | 813303 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/01/14 | 80599 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/01/14 | 78734 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/01/14 | 77865 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/01/14 | 7744 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/01/14 | 77447 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/01/14 | 75444 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/01/14 | 746930 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/01/14 | 74127 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/01/14 | 73295 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/01/14 | 72856 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/01/14 | 72099 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/01/14 | 71796 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/01/14 | 7059003 | systems/win32/miktex/tm/packages/mlmodern.tar.lzma
+2021/01/14 | 70341 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/01/14 | 7019984 | systems/texlive/tlnet/archive/mlmodern.r57411.tar.xz
+2021/01/14 | 70145 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/01/14 | 68548 | macros/latex/contrib/fcolumn/fcolumn.dtx
+2021/01/14 | 679677 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/01/14 | 67861 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/01/14 | 67657 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/01/14 | 67631 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/01/14 | 67455 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/01/14 | 65796 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/01/14 | 65327 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/01/14 | 63906 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/01/14 | 63799 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/01/14 | 63794 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/01/14 | 62749 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/01/14 | 624936 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/01/14 | 62327 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/01/14 | 619364 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/01/14 | 619243 | systems/win32/miktex/tm/packages/showexpl.tar.lzma
+2021/01/14 | 60666 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/01/14 | 604612 | systems/texlive/tlnet/archive/showexpl.doc.r57414.tar.xz
+2021/01/14 | 59796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/01/14 | 596612 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/01/14 | 59154 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/01/14 | 58513 | fonts/stix2-otf/OFL-FAQ.txt
+2021/01/14 | 583508 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/01/14 | 57614 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/01/14 | 56934 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/01/14 | 567790 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/01/14 | 56641 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/01/14 | 56397 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/01/14 | 56227 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/01/14 | 561024 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/01/14 | 560965 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/01/14 | 55815 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/01/14 | 5518343 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/01/14 | 55153 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/01/14 | 540732 | macros/latex/contrib/easybook.zip
+2021/01/14 | 536528 | systems/win32/miktex/tm/packages/easybook.tar.lzma
+2021/01/14 | 531505 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/01/14 | 525 | fonts/stix2-otf/AUTHORS.txt
+2021/01/14 | 52491 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/01/14 | 524880 | systems/texlive/tlnet/archive/easybook.doc.r57413.tar.xz
+2021/01/14 | 52434 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/01/14 | 51936 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/01/14 | 51905 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/01/14 | 51478 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/01/14 | 5134 | fonts/stix2-otf/OFL.txt
+2021/01/14 | 511983 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/01/14 | 51145 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/01/14 | 50724 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/01/14 | 50187 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/01/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/01/14 | 484 | fonts/stix2-otf/CONTRIBUTORS.txt
+2021/01/14 | 484402 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/01/14 | 4824 | systems/texlive/tlnet/archive/albatross.source.r57416.tar.xz
+2021/01/14 | 47878 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/01/14 | 475781 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/01/14 | 46825 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/01/14 | 460978 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/01/14 | 45967 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/01/14 | 4569 | macros/luatex/optex/README
+2021/01/14 | 45650 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/01/14 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/01/14 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/01/14 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/01/14 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/01/14 | 4534 | macros/luatex/optex/base/basic-macros.opm
+2021/01/14 | 45259 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/01/14 | 43941 | macros/latex/contrib/easybook/easybook.cls
+2021/01/14 | 43793 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/01/14 | 43392 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/01/14 | 43073 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/01/14 | 42827 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/01/14 | 426 | macros/latex/contrib/readablecv/README.md
+2021/01/14 | 42641 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/01/14 | 42570 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/01/14 | 42390 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/01/14 | 4184 | systems/texlive/tlnet/archive/showexpl.r57414.tar.xz
+2021/01/14 | 41192 | systems/texlive/tlnet/archive/tuda-ci.r57415.tar.xz
+2021/01/14 | 41106 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/01/14 | 4035 | macros/luatex/optex/base/optex.ini
+2021/01/14 | 39658 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/01/14 | 39541 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/01/14 | 392585 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/01/14 | 3923 | macros/luatex/optex/doc/optex-doc.tex
+2021/01/14 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57406.tar.xz
+2021/01/14 | 38083 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/01/14 | 38082 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/01/14 | 3748 | macros/luatex/optex/base/others.opm
+2021/01/14 | 37304 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/01/14 | 37234 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/01/14 | 371400 | fonts/stix2-otf/STIXTwoText-Regular.pdf
+2021/01/14 | 368816 | systems/texlive/tlnet/archive/erewhon.doc.r57410.tar.xz
+2021/01/14 | 36698 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/01/14 | 35466 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/01/14 | 35047 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/01/14 | 345544 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/01/14 | 34322 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/01/14 | 3408764 | fonts/stix2-otf.zip
+2021/01/14 | 340487 | macros/latex/contrib/fcolumn.zip
+2021/01/14 | 33756 | systems/texlive/tlnet/archive/mlmodern.doc.r57411.tar.xz
+2021/01/14 | 33427 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/01/14 | 33135 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/01/14 | 330101 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/01/14 | 325284 | fonts/stix2-otf/STIXTwoText-MediumItalic.otf
+2021/01/14 | 325060 | fonts/stix2-otf/STIXTwoText-SemiBoldItalic.otf
+2021/01/14 | 32256 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/01/14 | 320020 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/01/14 | 318761 | macros/latex/contrib/fcolumn/fcolumn.pdf
+2021/01/14 | 316140 | fonts/stix2-otf/STIXTwoText-BoldItalic.otf
+2021/01/14 | 31555 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/01/14 | 31539 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/01/14 | 31338 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/01/14 | 31213 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/01/14 | 310883 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/01/14 | 30907 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/01/14 | 308552 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
+2021/01/14 | 308504 | fonts/stix2-otf/STIXTwoText-Italic.otf
+2021/01/14 | 305128 | fonts/stix2-otf/STIXTwoText-SemiBold.otf
+2021/01/14 | 303312 | fonts/stix2-otf/STIXTwoText-Medium.otf
+2021/01/14 | 302759 | systems/win32/miktex/tm/packages/pxpic.tar.lzma
+2021/01/14 | 3026 | macros/latex/contrib/fcolumn/README
+2021/01/14 | 3005 | macros/latex/contrib/easybook/README.md
+2021/01/14 | 30028 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/01/14 | 296148 | fonts/stix2-otf/STIXTwoText-Bold.otf
+2021/01/14 | 295526 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/01/14 | 29502 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/01/14 | 292276 | fonts/stix2-otf/STIXTwoText-Regular.otf
+2021/01/14 | 2916549 | systems/win32/miktex/tm/packages/albatross.tar.lzma
+2021/01/14 | 29033 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/01/14 | 290116 | systems/texlive/tlnet/archive/pxpic.doc.r57412.tar.xz
+2021/01/14 | 2888484 | systems/win32/miktex/tm/packages/erewhon.tar.lzma
+2021/01/14 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/01/14 | 2828456 | systems/texlive/tlnet/archive/albatross.r57416.tar.xz
+2021/01/14 | 280742 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/01/14 | 28051 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/01/14 | 27998 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/01/14 | 27987 | fonts/stix2-otf/FONTLOG.txt
+2021/01/14 | 27386 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/01/14 | 27271 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/01/14 | 27212 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/01/14 | 27191 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/01/14 | 2617517 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/01/14 | 258664 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/01/14 | 2557 | macros/latex/contrib/easybook/doc/easybook-demo.tex
+2021/01/14 | 253980 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/01/14 | 25334 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/01/14 | 25259 | macros/latex/contrib/easybook/doc/easybook.tex
+2021/01/14 | 2515892 | systems/texlive/tlnet/archive/erewhon.r57410.tar.xz
+2021/01/14 | 25126 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/01/14 | 250337 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/01/14 | 25017 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/01/14 | 2495599 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/01/14 | 243480 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/01/14 | 24287705 | systems/texlive/tlnet/install-tl.zip
+2021/01/14 | 24189 | macros/luatex/optex/base/table.opm
+2021/01/14 | 23873 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/01/14 | 23313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/01/14 | 231635 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/01/14 | 230898 | macros/latex/contrib/easybook/doc/easybook.pdf
+2021/01/14 | 2281 | macros/latex/contrib/fcolumn/fcolumn.ins
+2021/01/14 | 2281399 | macros/luatex/optex.zip
+2021/01/14 | 2265740 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/01/14 | 22033 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/01/14 | 218820 | systems/texlive/tlnet/archive/texlive-scripts.doc.r57407.tar.xz
+2021/01/14 | 2184 | systems/texlive/tlnet/archive/pxpic.r57412.tar.xz
+2021/01/14 | 213908 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/01/14 | 211848 | macros/latex/contrib/readablecv.zip
+2021/01/14 | 21133 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/01/14 | 210751 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/01/14 | 208176 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/01/14 | 206141 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/01/14 | 206120 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/01/14 | 202558 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/01/14 | 20115 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/01/14 | 199585 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/01/14 | 1992545 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/01/14 | 198079 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/01/14 | 195673 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/01/14 | 195605 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/01/14 | 19416036 | systems/texlive/tlnet/install-tl-windows.exe
+2021/01/14 | 193885 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/01/14 | 18105 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/01/14 | 180115 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/01/14 | 17964 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/01/14 | 179186 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/01/14 | 171168 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57406.tar.xz
+2021/01/14 | 1702296 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/01/14 | 16978 | macros/luatex/optex/base/unimath-codes.opm
+2021/01/14 | 16932850 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/01/14 | 167800 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/01/14 | 163839 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/01/14 | 16382 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/01/14 | 16331 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/01/14 | 159988 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/01/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/01/14 | 153816 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/01/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/01/14 | 152548 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/01/14 | 15182 | macros/latex/contrib/readablecv/ReadableCV.cls
+2021/01/14 | 147237 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/01/14 | 146642 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/01/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/01/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/01/14 | 14361 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/01/14 | 1420405 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/01/14 | 1418671 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/01/14 | 141260 | systems/texlive/tlnet/archive/texlive-msg-translations.r57409.tar.xz
+2021/01/14 | 136539 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/01/14 | 13642 | fonts/stix2-otf/README.md
+2021/01/14 | 1362584 | macros/luatex/optex/doc/optex-doc.pdf
+2021/01/14 | 135615 | macros/latex/contrib/readablecv/ReadableCV.pdf
+2021/01/14 | 134935 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/01/14 | 13470 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/01/14 | 132172 | systems/texlive/tlnet/archive/texlive-scripts.r57407.tar.xz
+2021/01/14 | 131365 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/01/14 | 1305984 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/01/14 | 1291363 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/01/14 | 1281066 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/01/14 | 124930 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/01/14 | 1243719 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/01/14 | 1242578 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/01/14 | 12183 | macros/luatex/optex/base/if-macros.opm
+2021/01/14 | 1171868 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/01/14 | 116717 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/01/14 | 1159980 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/01/14 | 1159780 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/01/14 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/01/14 | 114192 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/01/14 | 112500 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/01/14 | 1102612 | systems/texlive/tlnet/archive/tuda-ci.doc.r57415.tar.xz
+2021/01/14 | 109162 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/01/14 | 1078633 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/01/14 | 104738 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/01/14 | 103388 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/01/14 | 101927 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/01/14 | 10144 | systems/texlive/tlnet/archive/pxpic.source.r57412.tar.xz
+2021/01/13 | 99848 | systems/texlive/tlnet/tlpkg/translations/fr.po
2021/01/13 | 99782 | fonts/mlmodern/type1/mlmbx5.pfb
2021/01/13 | 9948 | fonts/erewhon/README
-2021/01/13 | 99433 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2021/01/13 | 99382 | fonts/mlmodern/type1/mlmri10.pfb
2021/01/13 | 9920 | systems/texlive/tlnet/archive/curve2e.r57402.tar.xz
2021/01/13 | 99128 | fonts/mlmodern/type1/mlmri7.pfb
2021/01/13 | 99055 | fonts/mlmodern/type1/mlmri9.pfb
2021/01/13 | 98965 | fonts/mlmodern/type1/mlmbxi10.pfb
2021/01/13 | 98457 | fonts/mlmodern/type1/mlmri12.pfb
-2021/01/13 | 98354 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/01/13 | 97398 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2021/01/13 | 97209 | fonts/mlmodern/type1/mlmri8.pfb
-2021/01/13 | 97175 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
2021/01/13 | 97039 | fonts/mlmodern/type1/mlmdunh10.pfb
-2021/01/13 | 969143 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2021/01/13 | 96718 | fonts/mlmodern/type1/mlmvtko10.pfb
2021/01/13 | 965885 | systems/win32/miktex/tm/packages/witharrows.tar.lzma
+2021/01/13 | 96266 | systems/texlive/tlnet/tlpkg/translations/vi.po
2021/01/13 | 96184 | fonts/mlmodern/type1/mlmr7.pfb
2021/01/13 | 95805 | fonts/mlmodern/type1/mlmr5.pfb
2021/01/13 | 95648 | fonts/mlmodern/type1/mlmr10.pfb
+2021/01/13 | 95538 | systems/texlive/tlnet/tlpkg/translations/de.po
2021/01/13 | 95111 | fonts/mlmodern/type1/mlmvtlo10.pfb
2021/01/13 | 95077 | fonts/mlmodern/type1/mlmvtto10.pfb
2021/01/13 | 94935 | fonts/mlmodern/type1/mlmr12.pfb
-2021/01/13 | 94790 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
2021/01/13 | 94789 | fonts/mlmodern/type1/mlmr6.pfb
2021/01/13 | 94694 | fonts/mlmodern/type1/mlmb10.pfb
-2021/01/13 | 94615 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/01/13 | 94592 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2021/01/13 | 94558 | fonts/mlmodern/type1/mlmr8.pfb
2021/01/13 | 94478 | fonts/mlmodern/type1/mlmbx6.pfb
-2021/01/13 | 94368 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2021/01/13 | 94361 | fonts/mlmodern/type1/mlmr17.pfb
2021/01/13 | 94335 | fonts/mlmodern/type1/mlmbx10.pfb
2021/01/13 | 94287 | fonts/mlmodern/type1/mlmcsc10.pfb
2021/01/13 | 94275 | fonts/mlmodern/type1/mlmbx12.pfb
+2021/01/13 | 94215 | systems/texlive/tlnet/tlpkg/translations/sk.po
2021/01/13 | 94208 | fonts/mlmodern/type1/mlmbx7.pfb
-2021/01/13 | 9384 | systems/texlive/tlnet/archive/easybook.r57403.tar.xz
2021/01/13 | 93830 | fonts/mlmodern/type1/mlmbx9.pfb
2021/01/13 | 93549 | fonts/mlmodern/type1/mlmssdo10.pfb
2021/01/13 | 93506 | fonts/mlmodern/type1/mlmssqbo8.pfb
2021/01/13 | 93256 | fonts/mlmodern/type1/mlmssqo8.pfb
2021/01/13 | 93249 | fonts/mlmodern/type1/mlmssbo10.pfb
2021/01/13 | 93157 | fonts/mlmodern/type1/mlmbx8.pfb
+2021/01/13 | 93138 | systems/texlive/tlnet/tlpkg/translations/it.po
2021/01/13 | 93075 | fonts/mlmodern/type1/mlmr9.pfb
2021/01/13 | 930508 | fonts/erewhon/doc/erewhon-doc.pdf
-2021/01/13 | 9208 | systems/texlive/tlnet/archive/pxpic.source.r57400.tar.xz
2021/01/13 | 914164 | systems/texlive/tlnet/archive/witharrows.doc.r57401.tar.xz
+2021/01/13 | 911488 | systems/win32/w32tex/cweb-w32.tar.xz
2021/01/13 | 903236 | systems/texlive/tlnet/archive/tex4ht.r57404.tar.xz
2021/01/13 | 89811 | fonts/mlmodern/type1/mlmtko10.pfb
2021/01/13 | 89387 | fonts/mlmodern/type1/mlmtto10.pfb
+2021/01/13 | 88422 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po
2021/01/13 | 88363 | fonts/mlmodern/type1/mlmsso9.pfb
2021/01/13 | 88198 | fonts/mlmodern/type1/mlmtlco10.pfb
2021/01/13 | 88063 | fonts/mlmodern/type1/mlmsso12.pfb
-2021/01/13 | 879 | systems/win32/miktex/tm/packages/pr.ini
2021/01/13 | 87960 | fonts/mlmodern/type1/mlmsso8.pfb
2021/01/13 | 87894 | fonts/mlmodern/type1/mlmsso10.pfb
2021/01/13 | 87862 | fonts/mlmodern/type1/mlmtlo10.pfb
-2021/01/13 | 8778 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/01/13 | 87720 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
2021/01/13 | 87534 | fonts/mlmodern/type1/mlmtcso10.pfb
2021/01/13 | 87481 | fonts/mlmodern/type1/mlmsso17.pfb
-2021/01/13 | 87450 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/01/13 | 87080 | systems/texlive/tlnet/tlpkg/translations/uk.po
+2021/01/13 | 87013 | systems/texlive/tlnet/tlpkg/translations/cs.po
2021/01/13 | 86053 | fonts/mlmodern/type1/mlmvtk10.pfb
+2021/01/13 | 86051 | systems/texlive/tlnet/tlpkg/translations/es.po
2021/01/13 | 85883 | fonts/mlmodern/type1/mlmtti10.pfb
2021/01/13 | 85305 | fonts/mlmodern/type1/mlmvtl10.pfb
-2021/01/13 | 85144 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2021/01/13 | 85070 | fonts/mlmodern/type1/mlmvtt10.pfb
2021/01/13 | 84645 | fonts/mlmodern/type1/mlmssqbx8.pfb
+2021/01/13 | 844644 | systems/win32/w32tex/dvi2ps-w32.tar.xz
+2021/01/13 | 8410692 | systems/win32/w32tex/uptex-w32.tar.xz
+2021/01/13 | 838368 | systems/win32/w32tex/ttf2pt1-w32.tar.xz
2021/01/13 | 83388 | fonts/mlmodern/type1/mlmssbx10.pfb
2021/01/13 | 83253 | fonts/mlmodern/type1/mlmssdc10.pfb
2021/01/13 | 83160 | fonts/mlmodern/type1/mlmssq8.pfb
+2021/01/13 | 826132 | systems/win32/w32tex/ttf2pk-w32.tar.xz
2021/01/13 | 8257656 | fonts/mlmodern.zip
-2021/01/13 | 813302 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/01/13 | 811716 | systems/win32/w32tex/win64/aleph-w64.tar.xz
2021/01/13 | 81118 | fonts/mlmodern/type1/mlmtk10.pfb
2021/01/13 | 808 | fonts/mlmodern/README
+2021/01/13 | 807348 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
2021/01/13 | 80716 | fonts/mlmodern/type1/mlmtt12.pfb
-2021/01/13 | 80596 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2021/01/13 | 80391 | fonts/mlmodern/type1/mlmtl10.pfb
2021/01/13 | 80317 | fonts/mlmodern/type1/mlmtt9.pfb
2021/01/13 | 80282 | fonts/mlmodern/type1/mlmss8.pfb
@@ -86,148 +358,82 @@
2021/01/13 | 79982 | fonts/mlmodern/type1/mlmtcsc10.pfb
2021/01/13 | 79941 | fonts/mlmodern/type1/mlmss17.pfb
2021/01/13 | 79705 | support/albatross/doc/albatross-manual.pdf
-2021/01/13 | 78734 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2021/01/13 | 78526 | fonts/mlmodern/type1/mlmtlc10.pfb
-2021/01/13 | 77863 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/01/13 | 77445 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/01/13 | 7743 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/01/13 | 77700 | systems/texlive/tlnet/tlpkg/translations/ja.po
+2021/01/13 | 767925 | systems/win32/w32tex/ChangeLog
2021/01/13 | 76248 | systems/texlive/tlnet/archive/forest.source.r57398.tar.xz
-2021/01/13 | 75443 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/01/13 | 746928 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/01/13 | 74126 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/01/13 | 73294 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/01/13 | 72854 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/01/13 | 72098 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/01/13 | 71794 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/01/13 | 760100 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz
+2021/01/13 | 758912 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz
+2021/01/13 | 75344 | systems/texlive/tlnet/tlpkg/translations/sl.po
+2021/01/13 | 74766 | systems/texlive/tlnet/tlpkg/translations/nl.po
+2021/01/13 | 734728 | systems/win32/w32tex/win64/ttf2pk-w64.tar.xz
+2021/01/13 | 72938 | systems/texlive/tlnet/tlpkg/translations/pl.po
+2021/01/13 | 72716 | systems/texlive/tlnet/tlpkg/translations/zh_CN.po
2021/01/13 | 71722 | fonts/mlmodern/dvips/mlm-substitute.map
-2021/01/13 | 70339 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/01/13 | 70143 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2021/01/13 | 6966 | fonts/erewhon/tex/erewhon.sty
-2021/01/13 | 6936005 | systems/win32/miktex/tm/packages/mlmodern.tar.lzma
-2021/01/13 | 6895784 | systems/texlive/tlnet/archive/mlmodern.r57399.tar.xz
-2021/01/13 | 679676 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/01/13 | 67860 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/01/13 | 67656 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/01/13 | 67629 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/01/13 | 67450 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/01/13 | 65793 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/01/13 | 65326 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/01/13 | 63903 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/01/13 | 63798 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/01/13 | 63792 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/01/13 | 696204 | systems/win32/w32tex/win64/ttf2pt1-w64.tar.xz
+2021/01/13 | 6610 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/01/13 | 6354880 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
+2021/01/13 | 63275 | systems/texlive/tlnet/tlpkg/translations/zh_TW.po
2021/01/13 | 627528 | macros/latex/contrib/showexpl.zip
-2021/01/13 | 62747 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/01/13 | 624934 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/01/13 | 62325 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/01/13 | 619360 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2021/01/13 | 6074 | support/albatross/source/albatross-0.3.0-src.zip
-2021/01/13 | 60666 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
2021/01/13 | 5 | support/albatross/doc/version.tex
2021/01/13 | 599586 | systems/win32/miktex/tm/packages/libertinus-otf.tar.lzma
-2021/01/13 | 59794 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/01/13 | 596610 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2021/01/13 | 593988 | systems/texlive/tlnet/archive/libertinus-otf.doc.r57398.tar.xz
-2021/01/13 | 59152 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/01/13 | 583505 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/01/13 | 588044 | systems/win32/w32tex/win64/jtex-w64.tar.xz
+2021/01/13 | 58600 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2021/01/13 | 576 | support/albatross/scripts/albatross.sh
-2021/01/13 | 57613 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/01/13 | 56935 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/01/13 | 567786 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/01/13 | 56638 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/01/13 | 56395 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/01/13 | 56225 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
2021/01/13 | 56176 | systems/texlive/tlnet/archive/forest.r57398.tar.xz
-2021/01/13 | 559032 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/01/13 | 558762 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/01/13 | 55815 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/01/13 | 5518898 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/01/13 | 55151 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/01/13 | 538645 | macros/latex/contrib/easybook.zip
-2021/01/13 | 531502 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/01/13 | 527664 | systems/win32/miktex/tm/packages/easybook.tar.lzma
2021/01/13 | 52700 | systems/texlive/tlnet/archive/witharrows.source.r57401.tar.xz
-2021/01/13 | 52491 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/01/13 | 52434 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/01/13 | 524688 | systems/win32/w32tex/mftrace-w32.tar.xz
2021/01/13 | 5219273 | fonts/erewhon.zip
-2021/01/13 | 51934 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/01/13 | 51904 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/01/13 | 51475 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/01/13 | 511980 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/01/13 | 511452 | systems/texlive/tlnet/archive/easybook.doc.r57403.tar.xz
-2021/01/13 | 51144 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/01/13 | 50722 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/01/13 | 50185 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/01/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2021/01/13 | 484399 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/01/13 | 47877 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/01/13 | 475779 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/01/13 | 46826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/01/13 | 517756 | systems/win32/w32tex/psutils-w32.tar.xz
+2021/01/13 | 5177516 | systems/win32/w32tex/aleph-w32.tar.xz
+2021/01/13 | 5117 | macros/luatex/optex/base/lists.opm
+2021/01/13 | 49089560 | systems/win32/w32tex/xetex-w32.tar.xz
+2021/01/13 | 48673636 | systems/win32/w32tex/web2c-w32.tar.xz
+2021/01/13 | 484204 | systems/win32/w32tex/dvi2tty-w32.tar.xz
+2021/01/13 | 4661312 | systems/win32/w32tex/dvipdfm-w32.tar.xz
2021/01/13 | 46304 | systems/texlive/tlnet/archive/curve2e.source.r57402.tar.xz
-2021/01/13 | 460977 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/01/13 | 45964 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/01/13 | 45650 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/01/13 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/01/13 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/01/13 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/01/13 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/01/13 | 45258 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/01/13 | 43791 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/01/13 | 43460 | macros/latex/contrib/easybook/easybook.cls
-2021/01/13 | 43390 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/01/13 | 43071 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/01/13 | 42826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/01/13 | 42638 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/01/13 | 42568 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/01/13 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/01/13 | 41103 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/01/13 | 39658 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/01/13 | 39540 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/01/13 | 392582 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/01/13 | 38080 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/01/13 | 38079 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/01/13 | 37303 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/01/13 | 4550868 | systems/win32/w32tex/dvipsk-w32.tar.xz
+2021/01/13 | 4485516 | systems/win32/w32tex/texinfo-w32.tar.xz
+2021/01/13 | 448292 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz
+2021/01/13 | 440824 | systems/win32/w32tex/win64/cweb-w64.tar.xz
+2021/01/13 | 439196 | systems/win32/w32tex/mftools.tar.xz
+2021/01/13 | 431292 | systems/win32/w32tex/win64/mftools-w64.tar.xz
+2021/01/13 | 420060 | systems/win32/w32tex/win64/tex4htk-w64.tar.xz
+2021/01/13 | 407560 | systems/win32/w32tex/win64/omegaj-w64.tar.xz
+2021/01/13 | 386240 | systems/win32/w32tex/win64/psutils-w64.tar.xz
+2021/01/13 | 3830016 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
+2021/01/13 | 376596 | systems/win32/w32tex/win64/mftrace-w64.tar.xz
2021/01/13 | 3724 | systems/texlive/tlnet/archive/libertinus-otf.r57398.tar.xz
-2021/01/13 | 37235 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2021/01/13 | 37153 | graphics/pxpic/pxpic.dtx
-2021/01/13 | 36698 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/01/13 | 36020 | systems/texlive/tlnet/archive/mlmodern.doc.r57399.tar.xz
-2021/01/13 | 35464 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/01/13 | 36673 | macros/luatex/optex/base/fonts-select.opm
2021/01/13 | 35289 | fonts/mlmodern/type1/mlmmib5.pfb
2021/01/13 | 350534 | macros/latex/contrib/showexpl/doc/showexpl-test.pdf
-2021/01/13 | 35045 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2021/01/13 | 34830 | fonts/mlmodern/type1/mlmmi5.pfb
2021/01/13 | 34792 | fonts/mlmodern/type1/mlmmib7.pfb
-2021/01/13 | 345543 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/01/13 | 3447952 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
2021/01/13 | 34475 | fonts/mlmodern/type1/mlmmib10.pfb
2021/01/13 | 34402 | fonts/mlmodern/type1/mlmmi6.pfb
-2021/01/13 | 34320 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2021/01/13 | 34240 | fonts/mlmodern/doc/mlmodern.pdf
2021/01/13 | 34029 | fonts/mlmodern/type1/mlmmi9.pfb
+2021/01/13 | 33949192 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/01/13 | 3383744 | systems/win32/w32tex/win64/web2c-w64.tar.xz
2021/01/13 | 33662 | fonts/mlmodern/type1/mlmmi10.pfb
2021/01/13 | 33654 | fonts/mlmodern/type1/mlmmi7.pfb
-2021/01/13 | 33426 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/01/13 | 33133 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/01/13 | 330099 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2021/01/13 | 32817 | fonts/mlmodern/type1/mlmmi8.pfb
2021/01/13 | 32347 | fonts/mlmodern/type1/mlmmi12.pfb
-2021/01/13 | 32253 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/01/13 | 320017 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/01/13 | 31556 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/01/13 | 31538 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/01/13 | 31336 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/01/13 | 3133540 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz
2021/01/13 | 31334 | support/albatross/doc/albatross-manual.tex
2021/01/13 | 3131862 | support/albatross/scripts/albatross.jar
-2021/01/13 | 31210 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/01/13 | 310880 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/01/13 | 3120288 | systems/win32/w32tex/win64/luatex-w64.tar.xz
+2021/01/13 | 3116360 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz
2021/01/13 | 30913 | fonts/mlmodern/type1/mlmbsy5.pfb
-2021/01/13 | 30907 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/01/13 | 308559 | macros/latex/contrib/easybook/doc/easybook-demo.pdf
2021/01/13 | 30268 | fonts/mlmodern/type1/mlmsy5.pfb
2021/01/13 | 30199 | fonts/mlmodern/type1/mlmbsy10.pfb
2021/01/13 | 30159 | fonts/mlmodern/type1/mlmsy6.pfb
-2021/01/13 | 3013 | macros/latex/contrib/easybook/README.md
2021/01/13 | 30055 | fonts/mlmodern/type1/mlmsy7.pfb
-2021/01/13 | 30027 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2021/01/13 | 30024 | fonts/mlmodern/type1/mlmsy9.pfb
2021/01/13 | 299461 | graphics/pxpic.zip
2021/01/13 | 29879 | fonts/mlmodern/type1/mlmsy10.pfb
@@ -235,129 +441,58 @@
2021/01/13 | 2967 | fonts/mlmodern/doc/mlmodern.tex
2021/01/13 | 29626 | macros/latex/contrib/showexpl/showexpl.dtx
2021/01/13 | 2958 | macros/latex/contrib/easybook/doc/pages/chapter3.tex
-2021/01/13 | 295526 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2021/01/13 | 295341 | graphics/pxpic/pxpic.pdf
2021/01/13 | 2953315 | install/support/albatross.tds.zip
2021/01/13 | 2951691 | support/albatross.zip
-2021/01/13 | 29500 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/01/13 | 292179 | systems/win32/miktex/tm/packages/pxpic.tar.lzma
-2021/01/13 | 29030 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/01/13 | 284019 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/01/13 | 280738 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/01/13 | 28050 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/01/13 | 280356 | systems/texlive/tlnet/archive/pxpic.doc.r57400.tar.xz
-2021/01/13 | 27998 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/01/13 | 27384 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
2021/01/13 | 27370 | support/albatross/README.md
-2021/01/13 | 27269 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/01/13 | 27210 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/01/13 | 27190 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2021/01/13 | 27074 | fonts/mlmodern/type1/mlmex10.pfb
-2021/01/13 | 2619 | macros/latex/contrib/easybook/doc/easybook-demo.tex
-2021/01/13 | 2617514 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/01/13 | 258661 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/01/13 | 2653592 | systems/win32/w32tex/dvitools-w32.tar.xz
+2021/01/13 | 2604708 | systems/win32/w32tex/tex4htk-w32.tar.xz
2021/01/13 | 25520 | fonts/mlmodern/type1/mlmbsy7.pfb
-2021/01/13 | 253979 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/01/13 | 25330 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/01/13 | 25125 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
2021/01/13 | 250883 | macros/latex/contrib/showexpl/doc/showexpl.pdf
-2021/01/13 | 250335 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/01/13 | 25016 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/01/13 | 2495596 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/01/13 | 24786 | macros/latex/contrib/easybook/doc/easybook.tex
-2021/01/13 | 243476 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/01/13 | 24287709 | systems/texlive/tlnet/install-tl.zip
-2021/01/13 | 23871 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/01/13 | 23312 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/01/13 | 231633 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/01/13 | 2345592 | systems/win32/w32tex/win64/dvitools-w64.tar.xz
2021/01/13 | 231206 | systems/win32/miktex/tm/packages/bithesis.tar.lzma
-2021/01/13 | 229049 | macros/latex/contrib/easybook/doc/easybook.pdf
2021/01/13 | 22787 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
-2021/01/13 | 2266988 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2021/01/13 | 22031 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/01/13 | 213908 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/01/13 | 2136 | systems/texlive/tlnet/archive/pxpic.r57400.tar.xz
-2021/01/13 | 21131 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/01/13 | 210751 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/01/13 | 208174 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/01/13 | 206128 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/01/13 | 206088 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/01/13 | 202559 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/01/13 | 20113 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/01/13 | 199584 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/01/13 | 1992543 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/01/13 | 198077 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/01/13 | 195673 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/01/13 | 195602 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/01/13 | 19420389 | systems/texlive/tlnet/install-tl-windows.exe
-2021/01/13 | 193883 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/01/13 | 2199628 | systems/win32/w32tex/win64/context-w64.tar.xz
+2021/01/13 | 21154376 | systems/win32/w32tex/pdftex-w32.tar.xz
2021/01/13 | 1888 | systems/texlive/tlnet/archive/collection-fontsextra.r57399.tar.xz
-2021/01/13 | 18104 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/01/13 | 180113 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/01/13 | 18751456 | systems/win32/w32tex/luatex-dev-w32.tar.xz
+2021/01/13 | 18742452 | systems/win32/w32tex/luatex-w32.tar.xz
+2021/01/13 | 1871404 | systems/win32/w32tex/win64/ptex-w64.tar.xz
+2021/01/13 | 18707252 | systems/win32/w32tex/luatex-exp-w32.tar.xz
+2021/01/13 | 1829904 | systems/win32/w32tex/jtex-w32.tar.xz
+2021/01/13 | 1805768 | systems/win32/w32tex/win64/uptex-w64.tar.xz
2021/01/13 | 1798192 | systems/texlive/tlnet/archive/forest.doc.r57398.tar.xz
-2021/01/13 | 17963 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/01/13 | 179182 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/01/13 | 1702292 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/01/13 | 16928334 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/01/13 | 167800 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/01/13 | 163836 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/01/13 | 16381 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
2021/01/13 | 1634 | systems/win32/miktex/tm/packages/orientation.tar.lzma
-2021/01/13 | 16329 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/01/13 | 159985 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/01/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/01/13 | 153814 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/01/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/01/13 | 152546 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/01/13 | 147235 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/01/13 | 146642 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/01/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/01/13 | 1609236 | systems/win32/w32tex/makeindex-w32.tar.xz
2021/01/13 | 14588 | systems/texlive/tlnet/archive/witharrows.r57401.tar.xz
-2021/01/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/01/13 | 14360 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/01/13 | 1420403 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/01/13 | 1418669 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/01/13 | 141702768 | systems/win32/w32tex/context.tar.xz
2021/01/13 | 1404 | systems/texlive/tlnet/archive/collection-pictures.r57400.tar.xz
2021/01/13 | 139612 | systems/win32/miktex/tm/packages/marathi.tar.lzma
2021/01/13 | 13718 | fonts/erewhon/doc/erewhon-doc.tex
-2021/01/13 | 136536 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2021/01/13 | 136160 | systems/texlive/tlnet/archive/tex4ht.doc.r57404.tar.xz
-2021/01/13 | 134935 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/01/13 | 13469 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/01/13 | 131363 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/01/13 | 1305982 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/01/13 | 1291360 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
2021/01/13 | 1283 | support/albatross/doc/albatross.1
-2021/01/13 | 1281062 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/01/13 | 124928 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/01/13 | 1242531 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/01/13 | 1242470 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/01/13 | 1232056 | systems/win32/w32tex/omegaj-w32.tar.xz
2021/01/13 | 1226880 | systems/win32/miktex/tm/packages/curve2e.tar.lzma
-2021/01/13 | 1171865 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2021/01/13 | 1170628 | systems/texlive/tlnet/archive/curve2e.doc.r57402.tar.xz
-2021/01/13 | 116715 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/01/13 | 1160268 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/01/13 | 1159440 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/01/13 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2021/01/13 | 1145 | graphics/pxpic/README.md
2021/01/13 | 1143280 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
-2021/01/13 | 114190 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/01/13 | 112496 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/01/13 | 109161 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/01/13 | 112575 | systems/texlive/tlnet/tlpkg/translations/ru.po
+2021/01/13 | 11078840 | systems/win32/w32tex/win64/xetex-w64.tar.xz
+2021/01/13 | 109963 | systems/texlive/tlnet/tlpkg/translations/sr.po
2021/01/13 | 108520 | fonts/mlmodern/type1/mlmduno10.pfb
-2021/01/13 | 1078632 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/01/13 | 1078524 | systems/win32/w32tex/win64/makeindex-w64.tar.xz
2021/01/13 | 107689 | fonts/mlmodern/type1/mlmcsco10.pfb
2021/01/13 | 107301 | fonts/mlmodern/type1/mlmro10.pfb
2021/01/13 | 106388 | fonts/mlmodern/type1/mlmu10.pfb
+2021/01/13 | 10633792 | systems/win32/w32tex/ptex-w32.tar.xz
2021/01/13 | 106304 | fonts/mlmodern/type1/mlmro12.pfb
2021/01/13 | 105203 | fonts/mlmodern/type1/mlmro8.pfb
-2021/01/13 | 104735 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2021/01/13 | 104699 | fonts/mlmodern/type1/mlmbo10.pfb
2021/01/13 | 104401 | fonts/mlmodern/type1/mlmro17.pfb
2021/01/13 | 104079 | fonts/mlmodern/type1/mlmbxo10.pfb
2021/01/13 | 103509 | fonts/mlmodern/type1/mlmro9.pfb
-2021/01/13 | 103385 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/01/13 | 101925 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/01/12 | 99719588 | systems/win32/w32tex/web2c-lib.tar.xz
2021/01/12 | 9900 | fonts/erewhon/tfm/Erewhon-RegularSlanted-osf-t2b.tfm
2021/01/12 | 9900 | fonts/erewhon/tfm/Erewhon-RegularSlanted-lf-t2b.tfm
2021/01/12 | 9884 | fonts/erewhon/tfm/Erewhon-RegularSlanted-tosf-t2b.tfm
@@ -649,7 +784,6 @@
2021/01/12 | 3905 | fonts/erewhon/enc/zut1_cmujr7.enc
2021/01/12 | 3900 | fonts/erewhon/enc/zut1_eajfvl.enc
2021/01/12 | 3895 | fonts/erewhon/enc/zut1_kdakg5.enc
-2021/01/12 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r57385.tar.xz
2021/01/12 | 3889 | fonts/erewhon/enc/zut1_dkbnkq.enc
2021/01/12 | 3883 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
2021/01/12 | 3883 | fonts/erewhon/enc/zut1_izu75o.enc
@@ -830,7 +964,6 @@
2021/01/12 | 229708 | fonts/erewhon/type1/Erewhon-RegularSlanted.pfb
2021/01/12 | 220892 | fonts/erewhon/opentype/Erewhon-BoldItalic.otf
2021/01/12 | 218936 | systems/texlive/tlnet/archive/bithesis.doc.r57388.tar.xz
-2021/01/12 | 218816 | systems/texlive/tlnet/archive/texlive-scripts.doc.r57386.tar.xz
2021/01/12 | 2180 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
2021/01/12 | 2172 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
2021/01/12 | 217216 | fonts/erewhon/opentype/Erewhon-Italic.otf
@@ -1172,7 +1305,6 @@
2021/01/12 | 1712 | fonts/erewhon/vf/Erewhon-RegularSlanted-tlf-sc-ly1.vf
2021/01/12 | 1712 | fonts/erewhon/vf/Erewhon-RegularSlanted-osf-sc-ly1.vf
2021/01/12 | 1712 | fonts/erewhon/tfm/Erewhon-Bold-osf-sc-t1--base.tfm
-2021/01/12 | 171116 | systems/texlive/tlnet/archive/texlive-docindex.doc.r57385.tar.xz
2021/01/12 | 1708 | fonts/erewhon/vf/Erewhon-RegularSlanted-lf-sc-ly1.vf
2021/01/12 | 1708 | fonts/erewhon/vf/Erewhon-BoldSlanted-tosf-sc-ly1.vf
2021/01/12 | 1708 | fonts/erewhon/vf/Erewhon-BoldSlanted-tlf-sc-ly1.vf
@@ -1291,8 +1423,8 @@
2021/01/12 | 13308 | fonts/erewhon/tfm/Erewhon-Bold-lf-sc-t1.tfm
2021/01/12 | 13304 | fonts/erewhon/tfm/Erewhon-Bold-tosf-sc-t1.tfm
2021/01/12 | 13304 | fonts/erewhon/tfm/Erewhon-Bold-tlf-sc-t1.tfm
-2021/01/12 | 132168 | systems/texlive/tlnet/archive/texlive-scripts.r57386.tar.xz
2021/01/12 | 1297573 | macros/latex/contrib/curve2e.zip
+2021/01/12 | 12637 | macros/luatex/optex/base/optex.lua
2021/01/12 | 11528 | macros/latex/contrib/tuda-ci/README.md
2021/01/12 | 10712 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
2021/01/12 | 10524 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1313,8 +1445,8 @@
2021/01/12 | 10016 | fonts/erewhon/tfm/Erewhon-Regular-lf-t2a.tfm
2021/01/12 | 10000 | fonts/erewhon/tfm/Erewhon-Regular-tosf-t2a.tfm
2021/01/12 | 10000 | fonts/erewhon/tfm/Erewhon-Regular-tlf-t2a.tfm
-2021/01/11 | 99718816 | systems/win32/w32tex/web2c-lib.tar.xz
2021/01/11 | 992 | fonts/mlmodern/tfm/mlmex10.tfm
+2021/01/11 | 9690 | macros/luatex/optex/base/hi-syntax.opm
2021/01/11 | 9648 | fonts/mlmodern/tfm/qx-mlmbo10.tfm
2021/01/11 | 9640 | fonts/mlmodern/tfm/qx-mlmro17.tfm
2021/01/11 | 9640 | fonts/mlmodern/tfm/qx-mlmbxo10.tfm
@@ -1333,6 +1465,7 @@
2021/01/11 | 9524 | fonts/mlmodern/tfm/qx-mlmb10.tfm
2021/01/11 | 9516 | fonts/mlmodern/tfm/qx-mlmbx9.tfm
2021/01/11 | 9516 | fonts/mlmodern/tfm/qx-mlmbx12.tfm
+2021/01/11 | 9505 | macros/luatex/optex/base/f-heros.opm
2021/01/11 | 9504 | fonts/mlmodern/tfm/qx-mlmbx7.tfm
2021/01/11 | 9500 | fonts/mlmodern/tfm/qx-mlmbx8.tfm
2021/01/11 | 9496 | fonts/mlmodern/tfm/qx-mlmbx10.tfm
@@ -1491,7 +1624,6 @@
2021/01/11 | 7840 | fonts/mlmodern/tfm/texnansi-mlmssbx10.tfm
2021/01/11 | 7776 | fonts/mlmodern/tfm/texnansi-mlmcsco10.tfm
2021/01/11 | 770180 | systems/texlive/tlnet/archive/l3backend.doc.r57375.tar.xz
-2021/01/11 | 766112 | systems/win32/w32tex/ChangeLog
2021/01/11 | 7580 | fonts/mlmodern/tfm/texnansi-mlmcsc10.tfm
2021/01/11 | 7492 | systems/texlive/tlnet/archive/luavlna.r57379.tar.xz
2021/01/11 | 708 | fonts/mlmodern/latex/omxmlmex.fd
@@ -1526,7 +1658,6 @@
2021/01/11 | 6764 | fonts/mlmodern/tfm/l7x-mlmvtl10.tfm
2021/01/11 | 6760 | fonts/mlmodern/tfm/l7x-mlmvtt10.tfm
2021/01/11 | 6748 | fonts/mlmodern/tfm/l7x-mlmr5.tfm
-2021/01/11 | 6657 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/01/11 | 6588 | fonts/mlmodern/tfm/l7x-mlmcsco10.tfm
2021/01/11 | 6564 | fonts/mlmodern/tfm/l7x-mlmssqbo8.tfm
2021/01/11 | 6564 | fonts/mlmodern/tfm/l7x-mlmssdo10.tfm
@@ -1559,10 +1690,12 @@
2021/01/11 | 547833 | fonts/erewhon/afm/Erewhon-BoldSlanted.afm
2021/01/11 | 547533 | systems/win32/miktex/tm/packages/play-font.tar.lzma
2021/01/11 | 542824 | systems/texlive/tlnet/archive/libertinus-fonts.doc.r57377.tar.xz
+2021/01/11 | 5390 | macros/luatex/optex/base/maketoc.opm
2021/01/11 | 5118 | macros/latex/contrib/bithesis/README.md
2021/01/11 | 499668 | systems/texlive/tlnet/archive/play-font.r57364.tar.xz
2021/01/11 | 49432 | systems/texlive/tlnet/archive/gudea.doc.r57359.tar.xz
2021/01/11 | 44076 | systems/texlive/tlnet/archive/play-font.doc.r57364.tar.xz
+2021/01/11 | 4361 | macros/luatex/optex/base/outlines.opm
2021/01/11 | 4316 | macros/latex/contrib/bithesis/README-zh.md
2021/01/11 | 427047 | fonts/erewhon/afm/Erewhon-BoldItalic.afm
2021/01/11 | 41656 | language/marathi/marathi.dtx
@@ -1573,7 +1706,7 @@
2021/01/11 | 358204 | systems/texlive/tlnet/archive/docsurvey.doc.r57362.tar.xz
2021/01/11 | 35016 | systems/texlive/tlnet/archive/pdfpages.source.r57378.tar.xz
2021/01/11 | 3424 | systems/texlive/tlnet/archive/biblatex-software.r57366.tar.xz
-2021/01/11 | 33955892 | systems/win32/w32tex/ltxpkgs.tar.xz
+2021/01/11 | 33232 | macros/luatex/optex/base/bib-iso690.opm
2021/01/11 | 330568 | systems/texlive/tlnet/archive/dvipdfmx.win32.r57372.tar.xz
2021/01/11 | 318193 | systems/win32/miktex/tm/packages/biblatex-software.tar.lzma
2021/01/11 | 3168 | macros/latex/contrib/bithesis/bithesis.ins
@@ -1598,6 +1731,7 @@
2021/01/11 | 2595 | macros/latex/contrib/bithesis/contributing.md
2021/01/11 | 25512 | macros/latex/contrib/bithesis/bithesis.dtx
2021/01/11 | 25454 | fonts/libertinus-otf/latex/libertinus-otf.sty
+2021/01/11 | 25067 | macros/luatex/optex/base/parameters.opm
2021/01/11 | 24608 | fonts/mlmodern/tfm/t5-mlmbxi10.tfm
2021/01/11 | 24572 | fonts/mlmodern/tfm/t5-mlmri8.tfm
2021/01/11 | 24572 | fonts/mlmodern/tfm/t5-mlmri7.tfm
@@ -1605,6 +1739,7 @@
2021/01/11 | 24568 | fonts/mlmodern/tfm/t5-mlmri10.tfm
2021/01/11 | 24556 | fonts/mlmodern/tfm/t5-mlmri12.tfm
2021/01/11 | 24368 | fonts/mlmodern/tfm/t5-mlmu10.tfm
+2021/01/11 | 2377 | macros/luatex/optex/base/logos.opm
2021/01/11 | 23714032 | systems/win32/miktex/tm/packages/latex-base-dev.tar.lzma
2021/01/11 | 235342 | systems/win32/miktex/tm/packages/hu-berlin-bundle.tar.lzma
2021/01/11 | 23338815 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
@@ -1699,6 +1834,7 @@
2021/01/11 | 202046 | systems/win32/miktex/tm/packages/jlreq-deluxe.tar.lzma
2021/01/11 | 195944 | systems/texlive/tlnet/archive/latex-base-dev.r57365.tar.xz
2021/01/11 | 19504 | fonts/mlmodern/LICENSE
+2021/01/11 | 19172 | macros/luatex/optex/base/sections.opm
2021/01/11 | 1913 | fonts/mlmodern/latex/ly1mlmss.fd
2021/01/11 | 1883 | fonts/libertinus-otf/Changes
2021/01/11 | 1843 | fonts/mlmodern/latex/ts1mlmss.fd
@@ -1717,6 +1853,7 @@
2021/01/11 | 1788 | fonts/mlmodern/tfm/ts1-mlmssqbo8.tfm
2021/01/11 | 1788 | fonts/mlmodern/tfm/ts1-mlmsso12.tfm
2021/01/11 | 1788 | fonts/mlmodern/tfm/ts1-mlmssdo10.tfm
+2021/01/11 | 17869 | macros/luatex/optex/base/colors.opm
2021/01/11 | 1784 | fonts/mlmodern/tfm/ts1-mlmsso9.tfm
2021/01/11 | 1784 | fonts/mlmodern/tfm/ts1-mlmri7.tfm
2021/01/11 | 1780 | fonts/mlmodern/tfm/ts1-mlmsso8.tfm
@@ -1763,6 +1900,7 @@
2021/01/11 | 1604 | fonts/mlmodern/tfm/ts1-mlmss8.tfm
2021/01/11 | 1600 | fonts/mlmodern/tfm/ts1-mlmssbx10.tfm
2021/01/11 | 1600 | fonts/mlmodern/tfm/ts1-mlmbx12.tfm
+2021/01/11 | 16007 | macros/luatex/optex/base/usebib.opm
2021/01/11 | 1596 | fonts/mlmodern/tfm/ts1-mlmssqbx8.tfm
2021/01/11 | 1596 | fonts/mlmodern/tfm/ts1-mlmr12.tfm
2021/01/11 | 1596 | fonts/mlmodern/tfm/ts1-mlmbx7.tfm
@@ -1798,6 +1936,7 @@
2021/01/11 | 1508 | fonts/mlmodern/tfm/mlmmib7.tfm
2021/01/11 | 1508 | fonts/mlmodern/tfm/mlmmi5.tfm
2021/01/11 | 1496 | fonts/mlmodern/tfm/mlmmib5.tfm
+2021/01/11 | 14049 | macros/luatex/optex/base/fonts-resize.opm
2021/01/11 | 13952 | systems/texlive/tlnet/archive/pdfpages.r57378.tar.xz
2021/01/11 | 1392 | fonts/mlmodern/tfm/ec-mlmtcso10.tfm
2021/01/11 | 1384 | fonts/mlmodern/tfm/ec-mlmtcsc10.tfm
@@ -1941,7 +2080,9 @@
2021/01/11 | 12560 | fonts/mlmodern/tfm/cs-mlmri9.tfm
2021/01/11 | 12560 | fonts/mlmodern/tfm/cs-mlmri10.tfm
2021/01/11 | 12556 | fonts/mlmodern/tfm/cs-mlmri12.tfm
+2021/01/11 | 12531 | macros/luatex/optex/base/prefixed.opm
2021/01/11 | 12404 | fonts/mlmodern/tfm/cs-mlmu10.tfm
+2021/01/11 | 12375 | macros/luatex/optex/base/more-macros.opm
2021/01/11 | 1236 | language/marathi/namuna-para.tex
2021/01/11 | 12268 | fonts/mlmodern/tfm/qx-mlmbxi10.tfm
2021/01/11 | 12244 | fonts/mlmodern/tfm/ec-mlmro17.tfm
@@ -2076,9 +2217,7 @@
2021/01/10 | 9336 | macros/luatex/generic/luavlna/luavlna-doc.tex
2021/01/10 | 91253 | macros/luatex/generic/luavlna/luavlna-doc.pdf
2021/01/10 | 878 | info/digests/tugboat/hyphenex/GNUmakefile
-2021/01/10 | 8400784 | systems/win32/w32tex/uptex-w32.tar.xz
2021/01/10 | 8251 | macros/latex/contrib/babel-contrib/russian/README.md
-2021/01/10 | 807052 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
2021/01/10 | 705 | macros/luatex/generic/luavlna/luavlna-predegrees.lua
2021/01/10 | 69903 | info/digests/tugboat/hyphenex/tb0hyf.tex
2021/01/10 | 6698 | macros/luatex/latex/hu-berlin-bundle/README.md
@@ -2088,11 +2227,9 @@
2021/01/10 | 58691400 | systems/win32/w32tex/TLARM64W/tl-arm64-windows.zip
2021/01/10 | 513408 | fonts/erewhon/afm/Erewhon-RegularSlanted.afm
2021/01/10 | 509255 | fonts/erewhon/afm/Erewhon-Regular.afm
-2021/01/10 | 49055996 | systems/win32/w32tex/xetex-w32.tar.xz
2021/01/10 | 4804 | macros/latex/contrib/babel-contrib/russian/russianb.ins
2021/01/10 | 47626160 | systems/win32/w32tex/latex-dev.tar.xz
2021/01/10 | 46 | macros/luatex/generic/luavlna/luavlna.4ht
-2021/01/10 | 4661028 | systems/win32/w32tex/dvipdfm-w32.tar.xz
2021/01/10 | 449 | macros/luatex/generic/luavlna/luavlna-csplain-langs.lua
2021/01/10 | 428457 | fonts/erewhon/afm/Erewhon-Italic.afm
2021/01/10 | 3782 | macros/luatex/generic/luavlna/luavlna.tex
@@ -2107,24 +2244,20 @@
2021/01/10 | 238603 | macros/luatex/latex/hu-berlin-bundle.zip
2021/01/10 | 217 | macros/luatex/generic/luavlna/luavlna-presi.lua
2021/01/10 | 2145 | info/digests/tugboat/hyphenex/hyphenex.pl
-2021/01/10 | 21156348 | systems/win32/w32tex/pdftex-w32.tar.xz
2021/01/10 | 204 | macros/luatex/generic/luavlna/luavlna-sufdegrees.lua
-2021/01/10 | 18749344 | systems/win32/w32tex/luatex-dev-w32.tar.xz
-2021/01/10 | 18747288 | systems/win32/w32tex/luatex-exp-w32.tar.xz
-2021/01/10 | 18742500 | systems/win32/w32tex/luatex-w32.tar.xz
+2021/01/10 | 1858 | macros/luatex/optex/pkg/emoji.opm
2021/01/10 | 179418 | info/digests/tugboat/hyphenex/tb0hyf.pdf
2021/01/10 | 173812 | macros/latex/contrib/babel-contrib/russian.zip
2021/01/10 | 1712960 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
+2021/01/10 | 16231 | macros/luatex/optex/base/verbatim.opm
2021/01/10 | 14903 | macros/luatex/latex/hu-berlin-bundle/img/texografie-logo.pdf
2021/01/10 | 1458 | macros/luatex/generic/luavlna/luavlna.sty
-2021/01/10 | 141708060 | systems/win32/w32tex/context.tar.xz
2021/01/10 | 135771 | macros/latex/contrib/babel-contrib/russian/russianb.pdf
2021/01/10 | 12312 | macros/luatex/generic/luavlna/luavlna.lua
2021/01/10 | 1120 | macros/latex/contrib/orientation/README
2021/01/10 | 1108 | macros/latex/contrib/easybook/doc/pages/preface.tex
-2021/01/10 | 11075856 | systems/win32/w32tex/win64/xetex-w64.tar.xz
2021/01/10 | 1090 | macros/latex/contrib/orientation/orientation.sty
-2021/01/10 | 10611860 | systems/win32/w32tex/ptex-w32.tar.xz
+2021/01/10 | 10738 | macros/luatex/optex/base/math-unicode.opm
2021/01/10 | 103343 | macros/luatex/generic/luavlna.zip
2021/01/09 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2021/01/09 | 996577 | macros/latex-dev/base/ltnews.pdf
@@ -2731,7 +2864,6 @@
2021/01/09 | 22457 | macros/latex-dev/base/cfgguide.tex
2021/01/09 | 220389 | macros/latex-dev/base/modguide.pdf
2021/01/09 | 220226 | macros/latex-dev/base/cfgguide.pdf
-2021/01/09 | 2199652 | systems/win32/w32tex/win64/context-w64.tar.xz
2021/01/09 | 21926 | macros/latex/contrib/l3kernel/source3body.tex
2021/01/09 | 217632 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
2021/01/09 | 216995 | macros/latex-dev/base/cyrguide.pdf
@@ -3900,6 +4032,7 @@
2021/01/08 | 79873 | macros/latex/base/ltfssbas.dtx
2021/01/08 | 7920 | systems/texlive/tlnet/archive/de-macro.r57349.tar.xz
2021/01/08 | 7627 | macros/latex/base/source2edoc.cls
+2021/01/08 | 7598 | macros/luatex/optex/pkg/vlna.opm
2021/01/08 | 7548 | systems/texlive/tlnet/archive/uafthesis.r57349.tar.xz
2021/01/08 | 7526 | macros/latex/base/ltxguide.cls
2021/01/08 | 750800 | macros/latex/base/ltshipout-code.pdf
@@ -3972,7 +4105,6 @@
2021/01/08 | 4952 | macros/latex/base/lthyphen.dtx
2021/01/08 | 491245 | macros/latex/base/ltnews30.pdf
2021/01/08 | 488 | systems/texlive/tlnet/archive/tex-refs.r57349.tar.xz
-2021/01/08 | 48680920 | systems/win32/w32tex/web2c-w32.tar.xz
2021/01/08 | 48645 | macros/latex/base/ltplain.dtx
2021/01/08 | 479441 | macros/latex/base/docstrip.pdf
2021/01/08 | 47704 | macros/latex/base/lttab.dtx
@@ -4017,7 +4149,6 @@
2021/01/08 | 3476 | systems/texlive/tlnet/archive/lua-visual-debug.r57349.tar.xz
2021/01/08 | 3436 | macros/latex/base/makeindx.ins
2021/01/08 | 3403 | macros/latex/base/proc.ins
-2021/01/08 | 3382064 | systems/win32/w32tex/win64/web2c-w64.tar.xz
2021/01/08 | 3374 | macros/latex/base/letter.ins
2021/01/08 | 3369 | macros/latex/base/ltoutenc.ins
2021/01/08 | 3340 | macros/latex/base/exscale.ins
@@ -4055,7 +4186,6 @@
2021/01/08 | 2706 | macros/latex/base/idx.tex
2021/01/08 | 264510 | macros/latex/base/cmfonts.pdf
2021/01/08 | 262057 | macros/latex/base/fix-cm.pdf
-2021/01/08 | 2600168 | systems/win32/w32tex/tex4htk-w32.tar.xz
2021/01/08 | 2544 | systems/texlive/tlnet/archive/ut-thesis.r57349.tar.xz
2021/01/08 | 252643 | macros/latex/base/ltnews24.pdf
2021/01/08 | 247704 | macros/latex/base/latexchanges.pdf
@@ -4172,68 +4302,3 @@
2021/01/08 | 102 | macros/latex/base/lthooks-code.tex
2021/01/08 | 101335 | macros/latex/base/lgc2.pdf
2021/01/08 | 10053 | macros/latex/base/webcomp.err
-2021/01/07 | 875 | macros/luatex/generic/lua-visual-debug/doc/README.md
-2021/01/07 | 8448 | support/autosp/doc/autosp.1
-2021/01/07 | 835624 | systems/win32/miktex/tm/packages/fancyhdr.tar.lzma
-2021/01/07 | 82 | macros/musixtex/doc/ChangeLog-131.txt
-2021/01/07 | 814644 | biblio/bibtex/contrib/babelbib/babelbib.pdf
-2021/01/07 | 796 | macros/luatex/generic/lua-visual-debug/doc/sample.tex
-2021/01/07 | 7823 | biblio/bibtex/contrib/babelbib/ChangeLog
-2021/01/07 | 7587 | macros/luatex/generic/lua-visual-debug/lua-visual-debug.lua
-2021/01/07 | 73328 | macros/luatex/generic/lua-visual-debug/doc/lvdebugdetail1-num.png
-2021/01/07 | 716957 | systems/win32/miktex/tm/packages/latex-make.tar.lzma
-2021/01/07 | 646242 | systems/win32/miktex/tm/packages/multirow.tar.lzma
-2021/01/07 | 6348432 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
-2021/01/07 | 6194844 | systems/win32/miktex/tm/packages/newcomputermodern.tar.lzma
-2021/01/07 | 613226 | systems/win32/miktex/tm/packages/tikz-trackschematic.tar.lzma
-2021/01/07 | 605682 | support/autosp.zip
-2021/01/07 | 59176 | support/autosp/MacOSX/autosp
-2021/01/07 | 5450 | macros/musixtex/doc/musixdoc/frontmatter.tex
-2021/01/07 | 539724 | systems/win32/miktex/tm/packages/mcmthesis.tar.lzma
-2021/01/07 | 5145 | support/autosp/doc/quod2.aspc
-2021/01/07 | 513368 | systems/texlive/tlnet/archive/texlive-common.doc.r57339.tar.xz
-2021/01/07 | 4971 | support/autosp/README
-2021/01/07 | 49448 | systems/texlive/tlnet/tlpkg/installer/config.guess
-2021/01/07 | 492 | macros/luatex/generic/lua-visual-debug/doc/sample-plain.tex
-2021/01/07 | 49217 | macros/luatex/generic/lua-visual-debug/doc/sample-plain.pdf
-2021/01/07 | 45516 | macros/luatex/generic/lua-visual-debug/doc/sample.pdf
-2021/01/07 | 410801 | systems/win32/miktex/tm/packages/graphicxpsd.tar.lzma
-2021/01/07 | 405280 | systems/texlive/tlnet/archive/graphicxpsd.doc.r57341.tar.xz
-2021/01/07 | 393677 | biblio/bibtex/contrib/babelbib/babelbib.dtx
-2021/01/07 | 383559 | macros/luatex/generic/lua-visual-debug.zip
-2021/01/07 | 372191 | systems/win32/miktex/tm/packages/moodle.tar.lzma
-2021/01/07 | 3600720 | systems/win32/miktex/tm/packages/spectral.tar.lzma
-2021/01/07 | 3492692 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
-2021/01/07 | 348 | systems/texlive/tlnet/archive/texlive-common.r57339.tar.xz
-2021/01/07 | 3379 | biblio/bibtex/contrib/babelbib/babelbib.ins
-2021/01/07 | 331768 | systems/win32/miktex/tm/packages/csquotes.tar.lzma
-2021/01/07 | 3067 | macros/musixtex/README
-2021/01/07 | 29576 | support/autosp/doc/autosp.pdf
-2021/01/07 | 275072 | systems/win32/miktex/tm/packages/chickenize.tar.lzma
-2021/01/07 | 2667 | biblio/bibtex/contrib/babelbib/Makefile
-2021/01/07 | 26007733 | systems/win32/miktex/tm/packages/haranoaji.tar.lzma
-2021/01/07 | 2590 | biblio/bibtex/contrib/babelbib/README
-2021/01/07 | 25824284 | systems/win32/miktex/tm/packages/haranoaji-extra.tar.lzma
-2021/01/07 | 2431861 | install/macros/musixtex.tds.zip
-2021/01/07 | 2420 | macros/luatex/generic/lua-visual-debug/doc/lvdebug-doc.tex
-2021/01/07 | 2416042 | macros/musixtex.zip
-2021/01/07 | 228914 | systems/win32/miktex/tm/packages/skeldoc.tar.lzma
-2021/01/07 | 210686 | macros/luatex/generic/lua-visual-debug/doc/lvdebug-doc.pdf
-2021/01/07 | 199777 | systems/win32/miktex/tm/packages/latexbug.tar.lzma
-2021/01/07 | 192748 | systems/win32/miktex/tm/packages/latex-doc-ptr.tar.lzma
-2021/01/07 | 189534 | support/autosp/Windows/autosp.exe
-2021/01/07 | 1892 | systems/texlive/tlnet/archive/graphicxpsd.r57341.tar.xz
-2021/01/07 | 188901 | macros/musixtex/tex/musixtex.tex
-2021/01/07 | 1794533 | systems/win32/miktex/tm/packages/bookcover.tar.lzma
-2021/01/07 | 172 | biblio/bibtex/contrib/babelbib/getversion.tex
-2021/01/07 | 15724 | CTAN.sites
-2021/01/07 | 1562 | systems/win32/miktex/tm/packages/chifoot.tar.lzma
-2021/01/07 | 1487 | macros/generic/witharrows/witharrows.ins
-2021/01/07 | 143533 | support/autosp/source/autosp-2021-01-07.tar.gz
-2021/01/07 | 1423 | macros/latex/contrib/nicematrix/nicematrix.ins
-2021/01/07 | 1374931 | macros/musixtex/doc/musixdoc.pdf
-2021/01/07 | 1340388 | systems/win32/miktex/tm/packages/step.tar.lzma
-2021/01/07 | 1318402 | systems/win32/miktex/tm/packages/mcf2graph.tar.lzma
-2021/01/07 | 1269888 | biblio/bibtex/contrib/babelbib.zip
-2021/01/07 | 11445 | macros/luatex/generic/lua-visual-debug/doc/strut.png
-2021/01/07 | 1000 | macros/luatex/generic/lua-visual-debug/lua-visual-debug.sty
diff --git a/fonts/stix2-otf/AUTHORS.txt b/fonts/stix2-otf/AUTHORS.txt
new file mode 100644
index 0000000000..4cb1aa5a79
--- /dev/null
+++ b/fonts/stix2-otf/AUTHORS.txt
@@ -0,0 +1,13 @@
+# This is the official list of project authors for copyright purposes.
+# This file is distinct from the CONTRIBUTORS.txt file.
+# See the latter for an explanation.
+#
+# Names should be added to this file as:
+# Name or Organization <email address>
+
+The STI Pub Companies <stix@aip.org>
+
+# The STI Pub Companies is a consortium consisting of AIP Publishing,
+# American Chemical Society, American Mathematical Society, American
+# Physical Society, Elsevier, Inc., and The Institute of Electrical
+# and Electronic Engineers, Inc.
diff --git a/fonts/stix2-otf/CONTRIBUTORS.txt b/fonts/stix2-otf/CONTRIBUTORS.txt
new file mode 100644
index 0000000000..b83477d10d
--- /dev/null
+++ b/fonts/stix2-otf/CONTRIBUTORS.txt
@@ -0,0 +1,14 @@
+# This is the list of people who have contributed to this project,
+# and includes those not listed in AUTHORS.txt because they are not
+# copyright authors. For example, company employees may be listed
+# here because their company holds the copyright and is listed there.
+#
+# Names should be added to this file as:
+# Name <email address>
+
+Ross Mills <ross@tiro.ca>
+John Hudson <john@tiro.ca>
+Paul Hanslow <paul@tiro.ca>
+Khaled Hosny <khaled@aliftype.com>
+David M. Jones <dmj@ams.org>
+
diff --git a/fonts/stix2-otf/FONTLOG.txt b/fonts/stix2-otf/FONTLOG.txt
new file mode 100644
index 0000000000..84f7143bfe
--- /dev/null
+++ b/fonts/stix2-otf/FONTLOG.txt
@@ -0,0 +1,821 @@
+FONTLOG
+STIX Two font family
+========================
+
+This file provides detailed information on the STIX Two family of
+fonts. This information should be distributed along with the STIX Two
+fonts and any derivative works.
+
+Please direct any questions or general comments to the STIX Fonts
+project. Bug reports and technical support issues should be submitted
+through
+
+ https://github.com/stipub/stixfonts
+
+where you can also find a list of known issues.
+
+Basic Font Information
+----------------------
+
+INTRODUCTION
+
+The Scientific and Technical Information eXchange (STIX) fonts are
+intended to satisfy the demanding needs of authors, publishers,
+printers, and others working in the scientific, medical, and technical
+fields. They combine a comprehensive Unicode-based collection of
+mathematical symbols and alphabets with a set of text faces suitable
+for professional publishing. The fonts are available royalty-free
+under the SIL Open Font License.
+
+Version 2.0.0 of the STIX fonts, now known as "STIX Two", is a
+thorough revision undertaken by the renowned type house Tiro Typeworks
+Ltd. (https://www.tiro.com). The STIX Two fonts consist of one Math
+font, two variable text fonts (STIXTwoTextVF-Roman and
+STIXTwoTextVF-Italic), and eight static text fonts (Regular, Italic,
+Medium, Medium Italic, SemiBold, SemiBold Italic, Bold, and Bold
+Italic) derived from the variable fonts. Together, they provide a
+uniform set of fonts that can be used throughout the production
+process, whether that be a traditional print-only process, an entirely
+electronic one, or a combination of the two.
+
+The STIX project began through the joint efforts of American
+Mathematical Society (AMS), American Institute of Physics (AIP),
+American Physical Society (APS), American Chemical Society (ACS),
+Institute of Electrical and Electronic Engineers (IEEE), and Elsevier.
+These companies are collectively known as the STI Pub companies.
+
+A FRESH TAKE ON TIMES ROMAN
+
+The original version of STIX was based on Times Roman, which has now
+been updated for the digital age.
+
+As is well known, Times Roman was originally intended for printing the
+London Times. What is not generally appreciated is that the
+production quality of the *Times* was atypically high: It was printed
+on unusually high-quality paper on presses that operated more slowly
+than most newspaper presses. This allowed for the design of a
+typeface that could exploit this level of care: serifs could be much
+finer and counters (enclosed areas such as that in the lowercase e)
+could be much smaller than in other newspaper typefaces. These
+features of the font have not always fared well in less exacting
+environments. At the same time, a notable quirk of the Times Roman
+family is that the bold font is, in many respects, strikingly
+dissimilar to the roman font.
+
+Tiro Typeworks explain their approach to updating the Times Roman
+basis of STIX as follows:
+
+ "Our principal goal in approaching STIX Two was to address several
+ inherent deficiencies in the Times New Roman model as well as
+ expand the typographic features. This process necessarily
+ involved diverging somewhat from Times, given that many features
+ of that typeface are either incompatible with current printing
+ methods and electronic reading environments, and some others too
+ esoteric to repeat. That said, the essential 'Times-ness'
+ remains, we believe, and such changes won't distract readers and
+ users in any negative way.
+
+ "At the core of Times' problems was inappropriate digitization,
+ using an optical size model too large to be scaled down to text
+ sizes, with compensations appropriate to its original purpose and
+ printing technique, but not for 21st century conditions. We have
+ also re-thought somewhat overall proportions and spacing, with
+ changes made in varying degrees to both the Roman and the Italic
+ (and we have begun to harmonize the Bold, which has always been a
+ major shortcoming with Times New Roman)."
+
+ChangeLog
+---------
+
+13 January 2021, STIX Two, version 2.11
+
+* Changed "Semibold" to "SemiBold" in all font and file names.
+
+* Fixed various technical issues required for compatibility with the
+ Google Fonts platform. There were no changes to font metrics or
+ glyph shapes.
+
+-----------------------------------
+
+18 December 2020, STIX Two, version 2.10
+
+For compatibility with the internal major/minor versioning convention
+used by the OpenType font format, the public version number was
+switched from the three-part semantic versioning convention to a
+two-part number.
+
+All non-variable fonts are now available in both OTF and TTF formats.
+
+The WOFF format is no longer distributed.
+
+COMPATIBILITY BETWEEN 2.0.2 AND 2.10
+
+There have been extensive changes to both glyph shapes and font
+metrics in this release. These could affect the layout of documents
+prepared with previous versions of these fonts.
+
+UPDATES TO MATH AND TEXT FONTS
+
+The following changes apply to both the text and math fonts:
+
+* Removed the Macintosh platform entries from the name table as they
+ are now considered obsolete.
+
+* Completed U+2100..214F Letterlike Symbols by adding
+
+ U+2100 ACCOUNT OF
+ U+2101 ADDRESSED TO THE SUBJECT
+ U+2103 DEGREE CELSIUS
+ U+2104 CENTRE LINE SYMBOL
+ U+2106 CADA UNA
+ U+2108 SCRUPLE
+ U+2109 DEGREE FAHRENHEIT
+
+ U+2114 L B BAR SYMBOL
+ U+211F RESPONSE
+
+ U+2120 SERVICE MARK
+ U+2121 TELEPHONE SIGN
+ U+2123 VERSICLE
+ U+212A KELVIN SIGN
+
+ U+2139 INFORMATION SOURCE
+ U+213A ROTATED CAPITAL Q
+ U+213B ROTATED CAPITAL Q
+
+ U+214C PER SIGN
+ U+214D AKTIESELSKAB
+ U+214E TURNED SMALL F
+ U+214F SYMBOL FOR SAMARITAN SOURCE
+
+* Extended U+2000..206F General Punctuation by adding
+
+ U+2000 EN QUAD
+ U+2001 EM QUAD
+ U+2002 EN SPACE
+ U+2003 EM SPACE
+ U+2004 THREE-PER-EM SPACE
+ U+2005 FOUR-PER-EM SPACE
+ U+2006 SIX-PER-EM SPACE
+ U+2007 FIGURE SPACE
+ U+2008 PUNCTUATION SPACE
+ U+2009 THIN SPACE
+ U+200A HAIR SPACE
+ U+200B ZERO WIDTH SPACE
+ U+200C ZERO WIDTH NON-JOINER
+ U+200D ZERO WIDTH JOINER
+ U+202F NARROW NO-BREAK SPACE
+
+ In addition, U+2026 HORIZONTAL ELLIPSIS was redrawn.
+
+UPDATES TO TEXT FONTS
+
+* 2.10 includes OpenType variable font builds for the Text fonts
+ (STIXTwoTextVF-Roman.ttf and STIXTwoTextVF-Italic.ttf). For more
+ information about variable fonts see:
+
+ https://medium.com/variable-fonts/https-medium-com-tiro-introducing-opentype-variable-fonts-12ba6cd2369
+
+ The STIX Two Text variable fonts support a weight interpolation axis
+ between the regular and bold weights, with named instances for
+ medium and semibold. New static fonts for these instances are
+ derived from the variable fonts. Development of the variable fonts
+ was funded by Google Fonts.
+
+* New static weights: Medium and Semibold
+
+* Add anchor mark-to-base and mark-to-mark positioning for Unicode
+ combining mark characters, to provide positioning for arbitrary
+ diacritic marks
+
+UPDATES TO MATH FONT
+
+* Added lowercase chancery script set to correspond to new default
+ uppercase script style (U+1D4B6..1D4CF, U+212F, U+U+210A, U+2134).
+ Mapped existing roundhand glyphs to Stylistic Set 1 (ss01).
+
+* Added bold chancery script characters (U+1D4D0..U+1D503), also
+ activated by Stylistic Set 1 (ss01).
+
+* Refined/replaced existing roundhand script style variant glyphs,
+ presuming that these may be preferred by some users to the new
+ chancery default.
+
+* Extended set of 'ssty' super- and subscript scaling variants.
+
+* Restored STIX 1 Italic Double Struck mathematical alphabet (PUA
+ U+E154..E17B, U+E1B4..E1BB).
+
+* Restored STIX 1 Greek Sans Serif Italic mathematical alphabet (PUA
+ U+E1BE..E1F5).
+
+* Completed U+2300..U+23FF Unicode Miscellaneous Technical by adding
+
+ U+2301 ELECTRIC ARROW
+ U+2303 UP ARROWHEAD
+ U+2304 DOWN ARROWHEAD
+ U+2307 WAVY LINE
+ U+2314 SECTOR
+ U+231B HOURGLASS
+ U+2324 UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+ U+2325 OPTION KEY
+ U+2326 ERASE TO THE RIGHT
+ U+2327 X IN A RECTANGLE BOX
+ U+2328 KEYBOARD
+ U+232B ERASE TO THE LEFT
+ U+232F SYMMETRY
+ U+2330 TOTAL RUNOUT
+ U+2331 DIMENSION ORIGIN
+ U+2333 SLOPE
+ U+2334 COUNTERBORE
+ U+2335 COUNTERSINK
+ U+233B APL FUNCTIONAL SYMBOL QUAD JOT
+ U+233C APL FUNCTIONAL SYMBOL QUAD CIRCLE
+ U+2343 APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+ U+2344 APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+ U+2345 APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+ U+2346 APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+ U+234A APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+ U+234C APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+ U+234D APL FUNCTIONAL SYMBOL QUAD DELTA
+ U+234F APL FUNCTIONAL SYMBOL UPWARDS VANE
+ U+2351 APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+ U+2354 APL FUNCTIONAL SYMBOL QUAD DEL
+ U+2356 APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+ U+2358 APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+ U+235A APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+ U+235B APL FUNCTIONAL SYMBOL JOT UNDERBAR
+ U+235C APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+ U+2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+ U+2362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
+ U+2367 APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+ U+2369 APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+ U+236E APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+ U+236F APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+ U+2376 APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+ U+2379 APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+ U+237B NOT CHECK MARK
+ U+237D SHOULDERED OPEN BOX
+ U+237E BELL SYMBOL
+ U+237F VERTICAL LINE WITH MIDDLE DOT
+ U+2380 INSERTION SYMBOL
+ U+2381 CONTINUOUS UNDERLINE SYMBOL
+ U+2382 DISCONTINUOUS UNDERLINE SYMBOL
+ U+2383 EMPHASIS SYMBOL
+ U+2384 COMPOSITION SYMBOL
+ U+2385 WHITE SQUARE WITH CENTRE VERTICAL LINE
+ U+2386 ENTER SYMBOL
+ U+2387 ALTERNATIVE KEY SYMBOL
+ U+2388 HELM SYMBOL
+ U+2389 CIRCLED HORIZONTAL BAR WITH NOTCH
+ U+238A CIRCLED TRIANGLE DOWN
+ U+238B BROKEN CIRCLE WITH NORTHWEST ARROW
+ U+238C UNDO SYMBOL
+ U+238D MONOSTABLE SYMBOL
+ U+238E HYSTERESIS SYMBOL
+ U+238F OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+ U+2390 OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+ U+2391 PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+ U+2392 PASSIVE-PULL-UP-OUTPUT SYMBOL
+ U+2396 DECIMAL SEPARATOR KEY SYMBOL
+ U+2397 PREVIOUS PAGE
+ U+2398 NEXT PAGE
+ U+2399 PRINT SCREEN SYMBOL
+ U+239A CLEAR SCREEN SYMBOL
+ U+23BA HORIZONTAL SCAN LINE-1
+ U+23BB HORIZONTAL SCAN LINE-3
+ U+23BC HORIZONTAL SCAN LINE-7
+ U+23BD HORIZONTAL SCAN LINE-9
+ U+23BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+ U+23BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+ U+23C0 DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+ U+23C1 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+ U+23C2 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+ U+23C3 DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+ U+23C4 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+ U+23C5 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+ U+23C6 DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+ U+23C7 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+ U+23C8 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+ U+23C9 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+ U+23CA DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+ U+23CB DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+ U+23CC DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+ U+23CD SQUARE FOOT
+ U+23CF EJECT SYMBOL
+ U+23D1 METRICAL BREVE
+ U+23D2 METRICAL LONG OVER SHORT
+ U+23D3 METRICAL SHORT OVER LONG
+ U+23D4 METRICAL LONG OVER TWO SHORTS
+ U+23D5 METRICAL TWO SHORTS OVER LONG
+ U+23D6 METRICAL TWO SHORTS JOINED
+ U+23D7 METRICAL TRISEME
+ U+23D8 METRICAL TETRASEME
+ U+23D9 METRICAL PENTASEME
+ U+23DA EARTH GROUND
+ U+23DB FUSE
+ U+23E8 DECIMAL EXPONENT SYMBOL
+ U+23E9 BLACK RIGHT-POINTING DOUBLE TRIANGLE
+ U+23EA BLACK LEFT-POINTING DOUBLE TRIANGLE
+ U+23EB BLACK UP-POINTING DOUBLE TRIANGLE
+ U+23EC BLACK DOWN-POINTING DOUBLE TRIANGLE
+ U+23ED BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+ U+23EE BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+ U+23EF BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+ U+23F0 ALARM CLOCK
+ U+23F1 STOPWATCH
+ U+23F2 TIMER CLOCK
+ U+23F3 HOURGLASS WITH FLOWING SAND
+ U+23F4 BLACK MEDIUM LEFT-POINTING TRIANGLE
+ U+23F5 BLACK MEDIUM RIGHT-POINTING TRIANGLE
+ U+23F6 BLACK MEDIUM UP-POINTING TRIANGLE
+ U+23F7 BLACK MEDIUM DOWN-POINTING TRIANGLE
+ U+23F8 DOUBLE VERTICAL BAR
+ U+23F9 BLACK SQUARE FOR STOP
+ U+23FA BLACK CIRCLE FOR RECORD
+ U+23FB POWER SYMBOL
+ U+23FC POWER ON-OFF SYMBOL
+ U+23FD POWER ON SYMBOL
+ U+23FE POWER SLEEP SYMBOL
+ U+23FF OBSERVER EYE SYMBOL
+
+* Completed U+2600..U+26FF Unicode Miscellaneous Symbols by adding
+
+ U+2600 BLACK SUN WITH RAYS
+ U+2601 CLOUD
+ U+2602 UMBRELLA
+ U+2603 SNOWMAN
+ U+2604 COMET
+ U+2607 LIGHTNING
+ U+2608 THUNDERSTORM
+ U+260A ASCENDING NODE
+ U+260B DESCENDING NODE
+ U+260D OPPOSITION
+ U+260F WHITE TELEPHONE
+ U+2610 BALLOT BOX
+ U+2611 BALLOT BOX WITH CHECK
+ U+2613 SALTIRE
+ U+2614 UMBRELLA WITH RAIN DROPS
+ U+2615 HOT BEVERAGE
+ U+2616 WHITE SHOGI PIECE
+ U+2617 BLACK SHOGI PIECE
+ U+2618 SHAMROCK
+ U+2619 REVERSED ROTATED FLORAL HEART BULLET
+ U+261A BLACK LEFT POINTING INDEX
+ U+261B BLACK RIGHT POINTING INDEX
+ U+261C WHITE LEFT POINTING INDEX
+ U+261D WHITE UP POINTING INDEX
+ U+261E WHITE RIGHT POINTING INDEX
+ U+261F WHITE DOWN POINTING INDEX
+ U+2620 SKULL AND CROSSBONES
+ U+2622 RADIOACTIVE SIGN
+ U+2623 BIOHAZARD SIGN
+ U+2624 CADUCEUS
+ U+2625 ANKH
+ U+2626 ORTHODOX CROSS
+ U+2627 CHI RHO
+ U+2628 CROSS OF LORRAINE
+ U+2629 CROSS OF JERUSALEM
+ U+262A STAR AND CRESCENT
+ U+262B FARSI SYMBOL
+ U+262C ADI SHAKTI
+ U+262D HAMMER AND SICKLE
+ U+262E PEACE SYMBOL
+ U+262F YIN YANG
+ U+2630 TRIGRAM FOR HEAVEN
+ U+2631 TRIGRAM FOR LAKE
+ U+2632 TRIGRAM FOR FIRE
+ U+2633 TRIGRAM FOR THUNDER
+ U+2634 TRIGRAM FOR WIND
+ U+2635 TRIGRAM FOR WATER
+ U+2636 TRIGRAM FOR MOUNTAIN
+ U+2637 TRIGRAM FOR EARTH
+ U+2638 WHEEL OF DHARMA
+ U+2645 URANUS
+ U+264A GEMINI
+ U+264B CANCER
+ U+264C LEO
+ U+264D VIRGO
+ U+264E LIBRA
+ U+264F SCORPIUS
+ U+2650 SAGITTARIUS
+ U+2651 CAPRICORN
+ U+2652 AQUARIUS
+ U+2653 PISCES
+ U+2654 WHITE CHESS KING
+ U+2655 WHITE CHESS QUEEN
+ U+2656 WHITE CHESS ROOK
+ U+2657 WHITE CHESS BISHOP
+ U+2658 WHITE CHESS KNIGHT
+ U+2659 WHITE CHESS PAWN
+ U+265A BLACK CHESS KING
+ U+265B BLACK CHESS QUEEN
+ U+265C BLACK CHESS ROOK
+ U+265D BLACK CHESS BISHOP
+ U+265E BLACK CHESS KNIGHT
+ U+265F BLACK CHESS PAWN
+ U+2668 HOT SPRINGS
+ U+266C BEAMED SIXTEENTH NOTES
+ U+2670 WEST SYRIAC CROSS
+ U+2671 EAST SYRIAC CROSS
+ U+2672 UNIVERSAL RECYCLING SYMBOL
+ U+2673 RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+ U+2674 RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+ U+2675 RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+ U+2676 RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+ U+2677 RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+ U+2678 RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+ U+2679 RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+ U+267A RECYCLING SYMBOL FOR GENERIC MATERIALS
+ U+267B BLACK UNIVERSAL RECYCLING SYMBOL
+ U+267C RECYCLED PAPER SYMBOL
+ U+267D PARTIALLY-RECYCLED PAPER SYMBOL
+ U+267F WHEELCHAIR SYMBOL
+ U+268A MONOGRAM FOR YANG
+ U+268B MONOGRAM FOR YIN
+ U+268C DIGRAM FOR GREATER YANG
+ U+268D DIGRAM FOR LESSER YIN
+ U+268E DIGRAM FOR LESSER YANG
+ U+268F DIGRAM FOR GREATER YIN
+ U+2690 WHITE FLAG
+ U+2691 BLACK FLAG
+ U+2692 HAMMER AND PICK
+ U+2693 ANCHOR
+ U+2694 CROSSED SWORDS
+ U+2695 STAFF OF AESCULAPIUS
+ U+2696 SCALES
+ U+2697 ALEMBIC
+ U+2698 FLOWER
+ U+2699 GEAR
+ U+269A STAFF OF HERMES
+ U+269B ATOM SYMBOL
+ U+269C FLEUR-DE-LIS
+ U+269D OUTLINED WHITE STAR
+ U+269E THREE LINES CONVERGING RIGHT
+ U+269F THREE LINES CONVERGING LEFT
+ U+26A1 HIGH VOLTAGE SIGN
+ U+26A2 DOUBLED FEMALE SIGN
+ U+26A3 DOUBLED MALE SIGN
+ U+26A4 INTERLOCKED FEMALE AND MALE SIGN
+ U+26A6 MALE WITH STROKE SIGN
+ U+26A7 MALE WITH STROKE AND MALE AND FEMALE SIGN
+ U+26A8 VERTICAL MALE WITH STROKE SIGN
+ U+26A9 HORIZONTAL MALE WITH STROKE SIGN
+ U+26AD MARRIAGE SYMBOL
+ U+26AE DIVORCE SYMBOL
+ U+26AF UNMARRIED PARTNERSHIP SYMBOL
+ U+26B0 COFFIN
+ U+26B1 FUNERAL URN
+ U+26B3 CERES
+ U+26B4 PALLAS
+ U+26B5 JUNO
+ U+26B6 VESTA
+ U+26B7 CHIRON
+ U+26B8 BLACK MOON LILITH
+ U+26B9 SEXTILE
+ U+26BA SEMISEXTILE
+ U+26BB QUINCUNX
+ U+26BC SESQUIQUADRATE
+ U+26BD SOCCER BALL
+ U+26BE BASEBALL
+ U+26BF SQUARED KEY
+ U+26C0 WHITE DRAUGHTS MAN
+ U+26C1 WHITE DRAUGHTS KING
+ U+26C2 BLACK DRAUGHTS MAN
+ U+26C3 BLACK DRAUGHTS KING
+ U+26C4 SNOWMAN WITHOUT SNOW
+ U+26C5 SUN BEHIND CLOUD
+ U+26C6 RAIN
+ U+26C7 BLACK SNOWMAN
+ U+26C8 THUNDER CLOUD AND RAIN
+ U+26C9 TURNED WHITE SHOGI PIECE
+ U+26CA TURNED BLACK SHOGI PIECE
+ U+26CB WHITE DIAMOND IN SQUARE
+ U+26CC CROSSING LANES
+ U+26CD DISABLED CAR
+ U+26CE OPHIUCHUS
+ U+26CF PICK
+ U+26D0 CAR SLIDING
+ U+26D1 HELMET WITH WHITE CROSS
+ U+26D2 CIRCLED CROSSING LANES
+ U+26D3 CHAINS
+ U+26D4 NO ENTRY
+ U+26D5 ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+ U+26D6 BLACK TWO-WAY LEFT WAY TRAFFIC
+ U+26D7 WHITE TWO-WAY LEFT WAY TRAFFIC
+ U+26D8 BLACK LEFT LANE MERGE
+ U+26D9 WHITE LEFT LANE MERGE
+ U+26DA DRIVE SLOW SIGN
+ U+26DB HEAVY WHITE DOWN-POINTING TRIANGLE
+ U+26DC LEFT CLOSED ENTRY
+ U+26DD SQUARED SALTIRE
+ U+26DE FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+ U+26DF BLACK TRUCK
+ U+26E0 RESTRICTED LEFT ENTRY-1
+ U+26E1 RESTRICTED LEFT ENTRY-2
+ U+26E3 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+ U+26E4 PENTAGRAM
+ U+26E5 RIGHT-HANDED INTERLACED PENTAGRAM
+ U+26E6 LEFT-HANDED INTERLACED PENTAGRAM
+ U+26E7 INVERTED PENTAGRAM
+ U+26E8 BLACK CROSS ON SHIELD
+ U+26E9 SHINTO SHRINE
+ U+26EA CHURCH
+ U+26EB CASTLE
+ U+26EC HISTORIC SITE
+ U+26ED GEAR WITHOUT HUB
+ U+26EE GEAR WITH HANDLES
+ U+26EF MAP SYMBOL FOR LIGHTHOUSE
+ U+26F0 MOUNTAIN
+ U+26F1 UMBRELLA ON GROUND
+ U+26F2 FOUNTAIN
+ U+26F3 FLAG IN HOLE
+ U+26F4 FERRY
+ U+26F5 SAILBOAT
+ U+26F6 SQUARE FOUR CORNERS
+ U+26F7 SKIER
+ U+26F8 ICE SKATE
+ U+26F9 PERSON WITH BALL
+ U+26FA TENT
+ U+26FB JAPANESE BANK SYMBOL
+ U+26FC HEADSTONE GRAVEYARD SYMBOL
+ U+26FD FUEL PUMP
+ U+26FE CUP ON BLACK SQUARE
+ U+26FF WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+
+* The following characters have been revised. Sometimes noly the
+ spacing has been adjusted, but most often the outline has also been
+ modified.
+
+ U+003B U+007C U+00AC U+00F7 U+2016 U+204F U+2105 U+210B U+210C
+ U+2110..U+2113 U+2115 U+2119 U+211B U+211C U+211E U+2126..U+2128
+ U+212C U+212D U+212F U+2130 U+2131 U+2133 U+2134 U+2145..U+2149
+ U+2208 U+2209 U+220B U+220C U+2217 U+2227..U+222A U+2282..U+228E
+ U+22A2..U+22A5 U+22C6 U+22D0 U+22D1 U+22EF U+22F2 U+22F3 U+22F5
+ U+22F6 U+22F8..U+22FB U+22FD U+2669..U+266B U+266D..U+266F
+ U+1D400..U1D433 U+1D504..1D537 U+1D541 U+1D558 U+1D55B
+ U+1D55D..1D562 U+1D565 U+1D566
+
+-----------------------------------
+
+18 June 2019, STIX Two, version 2.0.2
+
+This release fixes a glitch in the OS/2 tables: Bit 8 (WWS) of the
+fsSelection field has been set and the OS/2 table version has been
+updated to 4. No changes were made to any glyphs or metrics.
+
+-----------------------------------
+
+15 April 2019, STIX Two, version 2.0.1
+
+COMPATIBILITY BETWEEN 2.0.1 AND 2.0.0
+
+There have been numerous improvements to the design of individual
+glyphs and to the placement of various accents. Since these don't
+affect character metrics, they should not affect the layout of
+documents that used v2.0.0 of the fonts.
+
+Users upgrading existing documents from 2.0.0 to 2.0.1 should be aware
+of the following potential incompatibilities:
+
+* Character metrics for some glyphs, especially Mathematical
+ Alphanumeric Symbols and APL functional symbols, have changed.
+
+* Kerning between z and following punctuation has been improved.
+
+* In STIX2Math, Stylistic Set 7 (ss07) no longer includes U+2205
+
+* U+2202 PARTIAL DIFFERENTIAL and U+1D6DB MATHEMATICAL BOLD PARTIAL
+ DIFFERENTIAL are now upright by default.
+
+See below for further details.
+
+TEXT FONTS
+
+* Added U+2423 OPEN BOX to all faces.
+
+* Added Stylistic Set ss02 to select upright parentheses, brackets,
+ and braces in Italic and BoldItalic faces.
+
+* Harmonized design of smallcap U+02A9 LATIN SMALL LETTER FENG DIGRAPH
+ between Regular and Bold faces.
+
+* Improved design of extended Latin and IPA character glyphs.
+
+* Improved kerning of selected character pairs.
+
+* Improved design and placement of U+0307 COMBINING DOT ABOVE and
+ U+0308 COMBINING DIAERESIS.
+
+MATH FONTS
+
+* The following Mathematical Alphanumeric Symbols have been improved.
+ Note that in some case this has necessitated changes to the
+ character metrics.
+
+ U+1D504..1D537 Fraktur symbols
+ U+1D538..1D56B Double-struck symbols
+ U+1D56C..1D59F Bold Fraktur symbols
+ U+1D5A0..1D5D3 Sans-serif symbols [SSP]
+ U+1D5D4..1D607 Sans-serif bold symbols [SSP]
+ U+1D608..1D63B Sans-serif italic symbols [SSP]
+ U+1D63C..1D66F Sans-serif bold italic symbols [SSP]
+ U+1D670..1D6A3 Monospace symbols
+ U+1D756..1D78F Sans-serif bold Greek
+ U+1D790..1D7C9 Sans-serif bold italic Greek
+ U+1D7D8..1D7E1 Double-struck digits
+ U+1D7E2..1D7EB Sans-serif digits [SSP]
+ U+1D7EC..1D7F5 Sans-serif bold digits [SSP]
+ U+1D7F6..1D7FF Monospace digits
+
+ Note: The ranges marked "[SSP]" are derived from the Source Sans Pro
+ fonts, with proportions and weight modified to harmonize with the
+ STIX design.
+
+* Added support for Unicode Standard Mathematical Standardized Variants.
+
+* Removed variant form of U+2205 EMPTY SET from Stylistic Set 7 to
+ Character Variant 3. NOTE: For most users, the "variant" form will
+ be the preferred shape, but the default shape has been left as-is
+ for backwards compatibility.
+
+* Improved proportions of existing APL symbols and added an additional
+ 16 symbols (see below).
+
+* Corrected glyph for U+1D752 MATHEMATICAL BOLD ITALIC KAPPA SYMBOL.
+
+* Improved positioning of tilde math accent.
+
+* Added dotless variants of U+2148 DOUBLE-STRUCK ITALIC SMALL I and
+ U_2149 DOUBLE-STRUCK ITALIC SMALL J.
+
+* Made U+2202 PARTIAL DIFFERENTIAL and U+1D6DB MATHEMATICAL BOLD
+ PARTIAL DIFFERENTIAL upright rather than italic.
+
+* Revised and extended coverage of Enclosed Alphanumeric block
+ (U+2460-24FF).
+
+* U+20E1 COMBINING LEFT RIGHT ARROW ABOVE is now extensible.
+
+* Corrected vertical placement of U+00B1 PLUS-MINUS SIGN
+
+* The following delimiters now have a full set of 12 growing form
+ variants.
+
+ U+2308 LEFT CEILING
+ U+2309 RIGHT CEILING
+
+ U+230A LEFT FLOOR
+ U+230B RIGHT FLOOR
+
+ U+2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+ U+2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+
+ U+27E6 LEFT WHITE SQUARE BRACKET
+ U+27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+
+ U+27E8 MATHEMATICAL LEFT ANGLE BRACKET
+ U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET
+
+ U+27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+ U+27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+
+ U+2983 WHITE CURLY BRACKET
+ U+2984 RIGHT WHITE CURLY BRACKET
+
+ U+2985 LEFT WHITE PARENTHESIS
+ U+2986 RIGHT WHITE PARENTHESIS
+
+* New characters
+
+ General Punctuation
+ U+2061 FUNCTION APPLICATION
+ U+2062 INVISIBLE TIMES
+ U+2063 INVISIBLE SEPARATOR
+ U+2064 INVISIBLE PLUS
+
+ Miscellaneous Technical
+ U+2338 APL FUNCTIONAL SYMBOL QUAD EQUAL
+ U+233A APL FUNCTIONAL SYMBOL QUAD DIAMOND
+ U+233E APL FUNCTIONAL SYMBOL CIRCLE JOT
+ U+2341 APL FUNCTIONAL SYMBOL QUAD SLASH
+ U+2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+ U+2347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+ U+2348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+ U+2350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+ U+2357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+ U+2360 APL FUNCTIONAL SYMBOL QUAD COLON
+ U+2364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
+ U+2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+ U+2366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+ U+236D APL FUNCTIONAL SYMBOL STILE TILDE
+ U+2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+ U+2395 APL FUNCTIONAL SYMBOL QUAD
+ U+23B7 RADICAL SYMBOL BOTTOM
+ U+23B8 LEFT VERTICAL BOX LINE
+ U+23B9 RIGHT VERTICAL BOX LINE
+
+ Control Pictures
+ U+2422 BLANK SYMBOL
+
+ Enclosed Alphanumerics
+ U+2469..24B5
+ U+24EB..24FF
+
+ Dingbats
+ U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
+ U+2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
+ U+2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
+ U+2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+ U+277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+ U+277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
+ U+277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+ U+277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+ U+277E DINGBAT NEGATIVE CIRCLED DIGIT NINE
+ U+277F DINGBAT NEGATIVE CIRCLED NUMBER TEN
+
+ Arabic Mathematical Alphabetic Symbols
+ U+1EEF0 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+ U+1EEF1 ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+
+ Note: These two characters were added for compatibility with
+ the LaTeX unicode-math package. There are no plans to include
+ further support for Arabic typesetting.
+
+
+1 December 2016, STIX Two, version 2.0.0
+
+In addition to the overall visual redesign, STIX Two incorporates a
+number of significant improvements and additions over version 1 of the
+fonts. Special attention has been given to implementing accepted best
+practices for OpenType fonts, such as the use of font features to
+access variant glyph shapes that were previously only available via
+the Unicode Private Use Areas.
+
+The letterspacing and kerning of the text fonts have been
+significantly improved.
+
+True small capital variants (Latin, Cyrillic, and Greek), accessible
+via the OpenType font feature smcp, have been added for all text
+fonts.
+
+Text (lowercase or oldstyle) numerals, available via the font features
+pnum and onum, have been added, in addition to natural-spacing
+figures.
+
+Alphabetic superscripts and numeric sub- and superscripts, accessible
+via the subs and sups font features, have been added.
+
+Fractions are available via the frac feature, as well as numerators
+(numr) and denominators (dnom).
+
+The OpenType MATH table has been completely rewritten and extended.
+
+Additions have been made to these Unicode blocks:
+ Latin-1 Supplement U+0080 - U+00FF
+ Latin Extended-A U+0100 - U+017F
+ Latin Extended Additional U+0180 - U+024F
+ Cyrillic U+0400 - U+04FF
+ Greek and Coptic U+0370 - U+03FF
+ IPA blocks U+0250 - U+02AF
+
+BACKWARDS COMPATIBILITY
+
+Because of the scope of the changes, especially to the text fonts,
+STIX Two is not a drop-in replacement for earlier versions. While we
+understand and sympathize with the difficulties caused by the
+incompatibilities we have introduced, we nevertheless felt they were
+necessary to address some of the shortcomings of earlier versions of
+the fonts and to position us to respond to the needs of modern
+publishing.
+
+Earlier versions of the STIX fonts are deprecated and no longer
+supported. We urge all users of the STIX fonts to upgrade to the new
+versions as soon as possible.
+
+To enable the new and old versions of the fonts to coexist during the
+transition phase, the fonts have been renamed as follows:
+
+ STIX 1.1.0 STIX 2.0.0
+
+ STIX-Regular STIX Two Text
+ STIX-Italic STIX Two Text Italic
+ STIX-Bold STIX Two Text Bold
+ STIX-BoldItalic STIX Two Text Bold Italic
+
+ STIX Math Regular STIX Two Math
+
+The four text fonts contain glyphs from Unicode text blocks only. For
+example, all characters from the range U+2190 to U+3063 and U+E000 to
+U+E368 and all plane 1 characters have been removed from the text
+fonts and are now found only in STIX Two Math. Whenever possible,
+characters have been removed from the Private Use Area (U+E000-U+F8FF)
+and made available via font features instead.
+
+The STIX-General packaging of the fonts is no longer supported.
+
+Acknowledgements
+----------------
+
+Tiro Typeworks Ltd.
+https://www.tiro.com
diff --git a/fonts/stix2-otf/OFL-FAQ.txt b/fonts/stix2-otf/OFL-FAQ.txt
new file mode 100644
index 0000000000..24854178ec
--- /dev/null
+++ b/fonts/stix2-otf/OFL-FAQ.txt
@@ -0,0 +1,435 @@
+OFL FAQ - Frequently Asked Questions about the SIL Open Font License (OFL)
+Version 1.1-update5 - April 2017
+The OFL FAQ is copyright (c) 2005-2017 SIL International.
+(See http://scripts.sil.org/OFL for updates)
+
+
+CONTENTS OF THIS FAQ
+1 USING AND DISTRIBUTING FONTS LICENSED UNDER THE OFL
+2 USING OFL FONTS FOR WEB PAGES AND ONLINE WEB FONT SERVICES
+3 MODIFYING OFL-LICENSED FONTS
+4 LICENSING YOUR ORIGINAL FONTS UNDER THE OFL
+5 CHOOSING RESERVED FONT NAMES
+6 ABOUT THE FONTLOG
+7 MAKING CONTRIBUTIONS TO OFL PROJECTS
+8 ABOUT THE LICENSE ITSELF
+9 ABOUT SIL INTERNATIONAL
+APPENDIX A - FONTLOG EXAMPLE
+
+1 USING AND DISTRIBUTING FONTS LICENSED UNDER THE OFL
+
+1.1 Can I use the fonts for a book or other print publication, to create logos or other graphics or even to manufacture objects based on their outlines?
+Yes. You are very welcome to do so. Authors of fonts released under the OFL allow you to use their font software as such for any kind of design work. No additional license or permission is required, unlike with some other licenses. Some examples of these uses are: logos, posters, business cards, stationery, video titling, signage, t-shirts, personalised fabric, 3D-printed/laser-cut shapes, sculptures, rubber stamps, cookie cutters and lead type.
+
+1.1.1 Does that restrict the license or distribution of that artwork?
+No. You remain the author and copyright holder of that newly derived graphic or object. You are simply using an open font in the design process. It is only when you redistribute, bundle or modify the font itself that other conditions of the license have to be respected (see below for more details).
+
+1.1.2 Is any kind of acknowledgement required?
+No. Font authors may appreciate being mentioned in your artwork's acknowledgements alongside the name of the font, possibly with a link to their website, but that is not required.
+
+1.2 Can the fonts be included with Free/Libre and Open Source Software collections such as GNU/Linux and BSD distributions and repositories?
+Yes! Fonts licensed under the OFL can be freely included alongside other software under FLOSS (Free/Libre and Open Source Software) licenses. Since fonts are typically aggregated with, not merged into, existing software, there is little need to be concerned about incompatibility with existing software licenses. You may also repackage the fonts and the accompanying components in a .rpm or .deb package (or other similar package formats or installers) and include them in distribution CD/DVDs and online repositories. (Also see section 5.9 about rebuilding from source.)
+
+1.3 I want to distribute the fonts with my program. Does this mean my program also has to be Free/Libre and Open Source Software?
+No. Only the portions based on the Font Software are required to be released under the OFL. The intent of the license is to allow aggregation or bundling with software under restricted licensing as well.
+
+1.4 Can I sell a software package that includes these fonts?
+Yes, you can do this with both the Original Version and a Modified Version of the fonts. Examples of bundling made possible by the OFL would include: word processors, design and publishing applications, training and educational software, games and entertainment software, mobile device applications, etc.
+
+1.5 Can I include the fonts on a CD of freeware or commercial fonts?
+Yes, as long some other font or software is also on the disk, so the OFL font is not sold by itself.
+
+1.6 Why won't the OFL let me sell the fonts alone?
+The intent is to keep people from making money by simply redistributing the fonts. The only people who ought to profit directly from the fonts should be the original authors, and those authors have kindly given up potential direct income to distribute their fonts under the OFL. Please honour and respect their contribution!
+
+1.7 What about sharing OFL fonts with friends on a CD, DVD or USB stick?
+You are very welcome to share open fonts with friends, family and colleagues through removable media. Just remember to include the full font package, including any copyright notices and licensing information as available in OFL.txt. In the case where you sell the font, it has to come bundled with software.
+
+1.8 Can I host the fonts on a web site for others to use?
+Yes, as long as you make the full font package available. In most cases it may be best to point users to the main site that distributes the Original Version so they always get the most recent stable and complete version. See also discussion of web fonts in Section 2.
+
+1.9 Can I host the fonts on a server for use over our internal network?
+Yes. If the fonts are transferred from the server to the client computer by means that allow them to be used even if the computer is no longer attached to the network, the full package (copyright notices, licensing information, etc.) should be included.
+
+1.10 Does the full OFL license text always need to accompany the font?
+The only situation in which an OFL font can be distributed without the text of the OFL (either in a separate file or in font metadata), is when a font is embedded in a document or bundled within a program. In the case of metadata included within a font, it is legally sufficient to include only a link to the text of the OFL on http://scripts.sil.org/OFL, but we strongly recommend against this. Most modern font formats include metadata fields that will accept the full OFL text, and full inclusion increases the likelihood that users will understand and properly apply the license.
+
+1.11 What do you mean by 'embedding'? How does that differ from other means of distribution?
+By 'embedding' we mean inclusion of the font in a document or file in a way that makes extraction (and redistribution) difficult or clearly discouraged. In many cases the names of embedded fonts might also not be obvious to those reading the document, the font data format might be altered, and only a subset of the font - only the glyphs required for the text - might be included. Any other means of delivering a font to another person is considered 'distribution', and needs to be accompanied by any copyright notices and licensing information available in OFL.txt.
+
+1.12 So can I embed OFL fonts in my document?
+Yes, either in full or a subset. The restrictions regarding font modification and redistribution do not apply, as the font is not intended for use outside the document.
+
+1.13 Does embedding alter the license of the document itself?
+No. Referencing or embedding an OFL font in any document does not change the license of the document itself. The requirement for fonts to remain under the OFL does not apply to any document created using the fonts and their derivatives. Similarly, creating any kind of graphic using a font under OFL does not make the resulting artwork subject to the OFL.
+
+1.14 If OFL fonts are extracted from a document in which they are embedded (such as a PDF file), what can be done with them? Is this a risk to author(s)?
+The few utilities that can extract fonts embedded in a PDF will typically output limited amounts of outlines - not a complete font. To create a working font from this method is much more difficult and time consuming than finding the source of the original OFL font. So there is little chance that an OFL font would be extracted and redistributed inappropriately through this method. Even so, copyright laws address any misrepresentation of authorship. All Font Software released under the OFL and marked as such by the author(s) is intended to remain under this license regardless of the distribution method, and cannot be redistributed under any other license. We strongly discourage any font extraction - we recommend directly using the font sources instead - but if you extract font outlines from a document, please be considerate: respect the work of the author(s) and the licensing model.
+
+1.15 What about distributing fonts with a document? Within a compressed folder structure? Is it distribution, bundling or embedding?
+Certain document formats may allow the inclusion of an unmodified font within their file structure which may consist of a compressed folder containing the various resources forming the document (such as pictures and thumbnails). Including fonts within such a structure is understood as being different from embedding but rather similar to bundling (or mere aggregation) which the license explicitly allows. In this case the font is conveyed unchanged whereas embedding a font usually transforms it from the original format. The OFL does not allow anyone to extract the font from such a structure to then redistribute it under another license. The explicit permission to redistribute and embed does not cancel the requirement for the Font Software to remain under the license chosen by its author(s). Even if the font travels inside the document as one of its assets, it should not lose its authorship information and licensing.
+
+1.16 What about ebooks shipping with open fonts?
+The requirements differ depending on whether the fonts are linked, embedded or distributed (bundled or aggregated). Some ebook formats use web technologies to do font linking via @font-face, others are designed for font embedding, some use fonts distributed with the document or reading software, and a few rely solely on the fonts already present on the target system. The license requirements depend on the type of inclusion as discussed in 1.15.
+
+1.17 Can Font Software released under the OFL be subject to URL-based access restrictions methods or DRM (Digital Rights Management) mechanisms?
+Yes, but these issues are out-of-scope for the OFL. The license itself neither encourages their use nor prohibits them since such mechanisms are not implemented in the components of the Font Software but through external software. Such restrictions are put in place for many different purposes corresponding to various usage scenarios. One common example is to limit potentially dangerous cross-site scripting attacks. However, in the spirit of libre/open fonts and unrestricted writing systems, we strongly encourage open sharing and reuse of OFL fonts, and the establishment of an environment where such restrictions are unnecessary. Note that whether you wish to use such mechanisms or you prefer not to, you must still abide by the rules set forth by the OFL when using fonts released by their authors under this license. Derivative fonts must be licensed under the OFL, even if they are part of a service for which you charge fees and/or for which access to source code is restricted. You may not sell the fonts on their own - they must be part of a larger software package, bundle or subscription plan. For example, even if the OFL font is distributed in a software package or via an online service using a DRM mechanism, the user would still have the right to extract that font, use, study, modify and redistribute it under the OFL.
+
+1.18 I've come across a font released under the OFL. How can I easily get more information about the Original Version? How can I know where it stands compared to the Original Version or other Modified Versions?
+Consult the copyright statement(s) in the license for ways to contact the original authors. Consult the FONTLOG (see section 6 for more details and examples) for information on how the font differs from the Original Version, and get in touch with the various contributors via the information in the acknowledgement section. Please consider using the Original Versions of the fonts whenever possible.
+
+1.19 What do you mean in condition 4 of the OFL's permissions and conditions? Can you provide examples of abusive promotion / endorsement / advertisement vs. normal acknowledgement?
+The intent is that the goodwill and reputation of the author(s) should not be used in a way that makes it sound like the original author(s) endorse or approve of a specific Modified Version or software bundle. For example, it would not be right to advertise a word processor by naming the author(s) in a listing of software features, or to promote a Modified Version on a web site by saying "designed by ...". However, it would be appropriate to acknowledge the author(s) if your software package has a list of people who deserve thanks. We realize that this can seem to be a grey area, but the standard used to judge an acknowledgement is that if the acknowledgement benefits the author(s) it is allowed, but if it primarily benefits other parties, or could reflect poorly on the author(s), then it is not.
+
+1.20 I'm writing a small app for mobile platforms, do I need to include the whole package?
+If you bundle a font under the OFL with your mobile app you must comply with the terms of the license. At a minimum you must include the copyright statement, the license notice and the license text. A mention of this information in your About box or Changelog, with a link to where the font package is from, is good practice, and the extra space needed to carry these items is very small. You do not, however, need to include the full contents of the font package - only the fonts you use and the copyright and license that apply to them. For example, if you only use the regular weight in your app, you do not need to include the italic and bold versions.
+
+1.21 What about including OFL fonts by default in my firmware or dedicated operating system?
+Many such systems are restricted and turned into appliances so that users cannot study or modify them. Using open fonts to increase quality and language coverage is a great idea, but you need to be aware that if there is a way for users to extract fonts you cannot legally prevent them from doing that. The fonts themselves, including any changes you make to them, must be distributed under the OFL even if your firmware has a more restrictive license. If you do transform the fonts and change their formats when you include them in your firmware you must respect any names reserved by the font authors via the RFN mechanism and pick your own font name. Alternatively if you directly add a font under the OFL to the font folder of your firmware without modifying or optimizing it you are simply bundling the font like with any other software collection, and do not need to make any further changes.
+
+1.22 Can I make and publish CMS themes or templates that use OFL fonts? Can I include the fonts themselves in the themes or templates? Can I sell the whole package?
+Yes, you are very welcome to integrate open fonts into themes and templates for your preferred CMS and make them more widely available. Remember that you can only sell the fonts and your CMS add-on as part of a software bundle. (See 1.4 for details and examples about selling bundles).
+
+1.23 Can OFL fonts be included in services that deliver fonts to the desktop from remote repositories? Even if they contain both OFL and non-OFL fonts?
+Yes. Some foundries have set up services to deliver fonts to subscribers directly to desktops from their online repositories; similarly, plugins are available to preview and use fonts directly in your design tool or publishing suite. These services may mix open and restricted fonts in the same channel, however they should make a clear distinction between them to users. These services should also not hinder users (such as through DRM or obfuscation mechanisms) from extracting and using the OFL fonts in other environments, or continuing to use OFL fonts after subscription terms have ended, as those uses are specifically allowed by the OFL.
+
+1.24 Can services that provide or distribute OFL fonts restrict my use of them?
+No. The terms of use of such services cannot replace or restrict the terms of the OFL, as that would be the same as distributing the fonts under a different license, which is not allowed. You are still entitled to use, modify and redistribute them as the original authors have intended outside of the sole control of that particular distribution channel. Note, however, that the fonts provided by these services may differ from the Original Versions.
+
+
+2 USING OFL FONTS FOR WEBPAGES AND ONLINE WEB FONT SERVICES
+
+NOTE: This section often refers to a separate paper on 'Web Fonts & RFNs'. This is available at http://scripts.sil.org/OFL_web_fonts_and_RFNs
+
+2.1 Can I make webpages using these fonts?
+Yes! Go ahead! Using CSS (Cascading Style Sheets) is recommended. Your three best options are:
+- referring directly in your stylesheet to open fonts which may be available on the user's system
+- providing links to download the full package of the font - either from your own website or from elsewhere - so users can install it themselves
+- using @font-face to distribute the font directly to browsers. This is recommended and explicitly allowed by the licensing model because it is distribution. The font file itself is distributed with other components of the webpage. It is not embedded in the webpage but referenced through a web address which will cause the browser to retrieve and use the corresponding font to render the webpage (see 1.11 and 1.15 for details related to embedding fonts into documents). As you take advantage of the @font-face cross-platform standard, be aware that web fonts are often tuned for a web environment and not intended for installation and use outside a browser. The reasons in favour of using web fonts are to allow design of dynamic text elements instead of static graphics, to make it easier for content to be localized and translated, indexed and searched, and all this with cross-platform open standards without depending on restricted extensions or plugins. You should check the CSS cascade (the order in which fonts are being called or delivered to your users) when testing.
+
+2.2 Can I make and use WOFF (Web Open Font Format) versions of OFL fonts?
+Yes, but you need to be careful. A change in font format normally is considered modification, and Reserved Font Names (RFNs) cannot be used. Because of the design of the WOFF format, however, it is possible to create a WOFF version that is not considered modification, and so would not require a name change. You are allowed to create, use and distribute a WOFF version of an OFL font without changing the font name, but only if:
+
+- the original font data remains unchanged except for WOFF compression, and
+- WOFF-specific metadata is either omitted altogether or present and includes, unaltered, the contents of all equivalent metadata in the original font.
+
+If the original font data or metadata is changed, or the WOFF-specific metadata is incomplete, the font must be considered a Modified Version, the OFL restrictions would apply and the name of the font must be changed: any RFNs cannot be used and copyright notices and licensing information must be included and cannot be deleted or modified. You must come up with a unique name - we recommend one corresponding to your domain or your particular web application. Be aware that only the original author(s) can use RFNs. This is to prevent collisions between a derivative tuned to your audience and the original upstream version and so to reduce confusion.
+
+Please note that most WOFF conversion tools and online services do not meet the two requirements listed above, and so their output must be considered a Modified Version. So be very careful and check to be sure that the tool or service you're using is compressing unchanged data and completely and accurately reflecting the original font metadata.
+
+2.3 What about other web font formats such as EOT/EOTLite/CWT/etc.?
+In most cases these formats alter the original font data more than WOFF, and do not completely support appropriate metadata, so their use must be considered modification and RFNs may not be used. However, there may be certain formats or usage scenarios that may allow the use of RFNs. See http://scripts.sil.org/OFL_web_fonts_and_RFNs
+
+2.4 Can I make OFL fonts available through web font online services?
+Yes, you are welcome to include OFL fonts in online web font services as long as you properly meet all the conditions of the license. The origin and open status of the font should be clear among the other fonts you are hosting. Authorship, copyright notices and license information must be sufficiently visible to your users or subscribers so they know where the font comes from and the rights granted by the author(s). Make sure the font file contains the needed copyright notice(s) and licensing information in its metadata. Please double-check the accuracy of every field to prevent contradictory information. Other font formats, including EOT/EOTLite/CWT and superior alternatives like WOFF, already provide fields for this information. Remember that if you modify the font within your library or convert it to another format for any reason the OFL restrictions apply and you need to change the names accordingly. Please respect the author's wishes as expressed in the OFL and do not misrepresent original designers and their work. Don't lump quality open fonts together with dubious freeware or public domain fonts. Consider how you can best work with the original designers and foundries, support their efforts and generate goodwill that will benefit your service. (See 1.17 for details related to URL-based access restrictions methods or DRM mechanisms).
+
+2.5 Some web font formats and services provide ways of "optimizing" the font for a particular website or web application; is that allowed?
+Yes, it is permitted, but remember that these optimized versions are Modified Versions and so must follow OFL requirements like appropriate renaming. Also you need to bear in mind the other important parameters beyond compression, speed and responsiveness: you need to consider the audience of your particular website or web application, as choosing some optimization parameters may turn out to be less than ideal for them. Subsetting by removing certain glyphs or features may seriously limit functionality of the font in various languages that your users expect. It may also introduce degradation of quality in the rendering or specific bugs on the various target platforms compared to the original font from upstream. In other words, remember that one person's optimized font may be another person's missing feature. Various advanced typographic features (OpenType, Graphite or AAT) are also available through CSS and may provide the desired effects without the need to modify the font.
+
+2.6 Is subsetting a web font considered modification?
+Yes. Removing any parts of the font when delivering a web font to a browser, including unused glyphs and smart font code, is considered modification. This is permitted by the OFL but would not normally allow the use of RFNs. Some newer subsetting technologies may be able to subset in a way that allows users to effectively have access to the complete font, including smart font behaviour. See 2.8 and http://scripts.sil.org/OFL_web_fonts_and_RFNs
+
+2.7 Are there any situations in which a modified web font could use RFNs?
+Yes. If a web font is optimized only in ways that preserve Functional Equivalence (see 2.8), then it may use RFNs, as it reasonably represents the Original Version and respects the intentions of the author(s) and the main purposes of the RFN mechanism (avoids collisions, protects authors, minimizes support, encourages derivatives). However this is technically very difficult and often impractical, so a much better scenario is for the web font service or provider to sign a separate agreement with the author(s) that allows the use of RFNs for Modified Versions.
+
+2.8 How do you know if an optimization to a web font preserves Functional Equivalence?
+Functional Equivalence is described in full in the 'Web fonts and RFNs' paper at http://scripts.sil.org/OFL_web_fonts_and_RFNs, in general, an optimized font is deemed to be Functionally Equivalent (FE) to the Original Version if it:
+
+- Supports the same full character inventory. If a character can be properly displayed using the Original Version, then that same character, encoded correctly on a web page, will display properly.
+- Provides the same smart font behavior. Any dynamic shaping behavior that works with the Original Version should work when optimized, unless the browser or environment does not support it. There does not need to be guaranteed support in the client, but there should be no forced degradation of smart font or shaping behavior, such as the removal or obfuscation of OpenType, Graphite or AAT tables.
+- Presents text with no obvious degradation in visual quality. The lettershapes should be equally (or more) readable, within limits of the rendering platform.
+- Preserves original author, project and license metadata. At a minimum, this should include: Copyright and authorship; The license as stated in the Original Version, whether that is the full text of the OFL or a link to the web version; Any RFN declarations; Information already present in the font or documentation that points back to the Original Version, such as a link to the project or the author's website.
+
+If an optimized font meets these requirements, and so is considered to be FE, then it's very likely that the original author would feel that the optimized font is a good and reasonable equivalent. If it falls short of any of these requirements, the optimized font does not reasonably represent the Original Version, and so should be considered to be a Modified Version. Like other Modified Versions, it would not be allowed to use any RFNs and you simply need to pick your own font name.
+
+2.9 Isn't use of web fonts another form of embedding?
+No. Unlike embedded fonts in a PDF, web fonts are not an integrated part of the document itself. They are not specific to a single document and are often applied to thousands of documents around the world. The font data is not stored alongside the document data and often originates from a different location. The ease by which the web fonts used by a document may be identified and downloaded for desktop use demonstrates that they are philosophically and technically separate from the web pages that specify them. See http://scripts.sil.org/OFL_web_fonts_and_RFNs
+
+2.10 So would it be better to not use RFNs at all if you want your font to be distributed by a web fonts service?
+No. Although the OFL does not require authors to use RFNs, the RFN mechanism is an important part of the OFL model and completely compatible with web font services. If that web font service modifies the fonts, then the best solution is to sign a separate agreement for the use of any RFNs. It is perfectly valid for an author to not declare any RFNs, but before they do so they need to fully understand the benefits they are giving up, and the overall negative effect of allowing many different versions bearing the same name to be widely distributed. As a result, we don't generally recommend it.
+
+2.11 What should an agreement for the use of RFNs say? Are there any examples?
+There is no prescribed format for this agreement, as legal systems vary, and no recommended examples. Authors may wish to add specific clauses to further restrict use, require author review of Modified Versions, establish user support mechanisms or provide terms for ending the agreement. Such agreements are usually not public, and apply only to the main parties. However, it would be very beneficial for web font services to clearly state when they have established such agreements, so that the public understands clearly that their service is operating appropriately.
+
+See the separate paper on 'Web Fonts & RFNs' for in-depth discussion of issues related to the use of RFNs for web fonts. This is available at http://scripts.sil.org/OFL_web_fonts_and_RFNs
+
+
+3 MODIFYING OFL-LICENSED FONTS
+
+3.1 Can I change the fonts? Are there any limitations to what things I can and cannot change?
+You are allowed to change anything, as long as such changes do not violate the terms of the license. In other words, you are not allowed to remove the copyright statement(s) from the font, but you could put additional information into it that covers your contribution. See the placeholders in the OFL header template for recommendations on where to add your own statements. (Remember that, when authors have reserved names via the RFN mechanism, you need to change the internal names of the font to your own font name when making your modified version even if it is just a small change.)
+
+3.2 I have a font that needs a few extra glyphs - can I take them from an OFL licensed font and copy them into mine?
+Yes, but if you distribute that font to others it must be under the OFL, and include the information mentioned in condition 2 of the license.
+
+3.3 Can I charge people for my additional work? In other words, if I add a bunch of special glyphs or OpenType/Graphite/AAT code, can I sell the enhanced font?
+Not by itself. Derivative fonts must be released under the OFL and cannot be sold by themselves. It is permitted, however, to include them in a larger software package (such as text editors, office suites or operating systems), even if the larger package is sold. In that case, you are strongly encouraged, but not required, to also make that derived font easily and freely available outside of the larger package.
+
+3.4 Can I pay someone to enhance the fonts for my use and distribution?
+Yes. This is a good way to fund the further development of the fonts. Keep in mind, however, that if the font is distributed to others it must be under the OFL. You won't be able to recover your investment by exclusively selling the font, but you will be making a valuable contribution to the community. Please remember how you have benefited from the contributions of others.
+
+3.5 I need to make substantial revisions to the font to make it work with my program. It will be a lot of work, and a big investment, and I want to be sure that it can only be distributed with my program. Can I restrict its use?
+No. If you redistribute a Modified Version of the font it must be under the OFL. You may not restrict it in any way beyond what the OFL permits and requires. This is intended to ensure that all released improvements to the fonts become available to everyone. But you will likely get an edge over competitors by being the first to distribute a bundle with the enhancements. Again, please remember how you have benefited from the contributions of others.
+
+3.6 Do I have to make any derivative fonts (including extended source files, build scripts, documentation, etc.) publicly available?
+No, but please consider sharing your improvements with others. You may find that you receive in return more than what you gave.
+
+3.7 If a trademark is claimed in the OFL font, does that trademark need to remain in modified fonts?
+Yes. Any trademark notices must remain in any derivative fonts to respect trademark laws, but you may add any additional trademarks you claim, officially registered or not. For example if an OFL font called "Foo" contains a notice that "Foo is a trademark of Acme", then if you rename the font to "Bar" when creating a Modified Version, the new trademark notice could say "Foo is a trademark of Acme Inc. - Bar is a trademark of Roadrunner Technologies Ltd.". Trademarks work alongside the OFL and are not subject to the terms of the licensing agreement. The OFL does not grant any rights under trademark law. Bear in mind that trademark law varies from country to country and that there are no international trademark conventions as there are for copyright. You may need to significantly invest in registering and defending a trademark for it to remain valid in the countries you are interested in. This may be costly for an individual independent designer.
+
+3.8 If I commit changes to a font (or publish a branch in a DVCS) as part of a public open source software project, do I have to change the internal font names?
+Only if there are declared RFNs. Making a public commit or publishing a public branch is effectively redistributing your modifications, so any change to the font will require that you do not use the RFNs. Even if there are no RFNs, it may be useful to change the name or add a suffix indicating that a particular version of the font is still in development and not released yet. This will clearly indicate to users and fellow designers that this particular font is not ready for release yet. See section 5 for more details.
+
+
+4 LICENSING YOUR ORIGINAL FONTS UNDER THE OFL
+
+4.1 Can I use the SIL OFL for my own fonts?
+Yes! We heartily encourage everyone to use the OFL to distribute their own original fonts. It is a carefully constructed license that allows great freedom along with enough artistic integrity protection for the work of the authors as well as clear rules for other contributors and those who redistribute the fonts. The licensing model is used successfully by various organisations, both for-profit and not-for-profit, to release fonts of varying levels of scope and complexity.
+
+4.2 What do I have to do to apply the OFL to my font?
+If you want to release your fonts under the OFL, we recommend you do the following:
+
+4.2.1 Put your copyright and Reserved Font Names information at the beginning of the main OFL.txt file in place of the dedicated placeholders (marked with the <> characters). Include this file in your release package.
+
+4.2.2 Put your copyright and the OFL text with your chosen Reserved Font Name(s) into your font files (the copyright and license fields). A link to the OFL text on the OFL web site is an acceptable (but not recommended) alternative. Also add this information to any other components (build scripts, glyph databases, documentation, test files, etc). Accurate metadata in your font files is beneficial to you as an increasing number of applications are exposing this information to the user. For example, clickable links can bring users back to your website and let them know about other work you have done or services you provide. Depending on the format of your fonts and sources, you can use template human-readable headers or machine-readable metadata. You should also double-check that there is no conflicting metadata in the font itself contradicting the license, such as the fstype bits in the os2 table or fields in the name table.
+
+4.2.3 Write an initial FONTLOG.txt for your font and include it in the release package (see Section 6 and Appendix A for details including a template).
+
+4.2.4 Include the relevant practical documentation on the license by adding the current OFL-FAQ.txt file in your package.
+
+4.2.5 If you wish you can use the OFL graphics (http://scripts.sil.org/OFL_logo) on your website.
+
+4.3 Will you make my font OFL for me?
+We won't do the work for you. We can, however, try to answer your questions, unfortunately we do not have the resources to review and check your font packages for correct use of the OFL. We recommend you turn to designers, foundries or consulting companies with experience in doing open font design to provide this service to you.
+
+4.4 Will you distribute my OFL font for me?
+No, although if the font is of sufficient quality and general interest we may include a link to it on our partial list of OFL fonts on the OFL web site. You may wish to consider other open font catalogs or hosting services, such as the Unifont Font Guide (http://unifont.org/fontguide), The League of Movable Type (http://theleagueofmovabletype.com) or the Open Font Library (http://openfontlibrary.org/), which despite the name has no direct relationship to the OFL or SIL. We do not endorse any particular catalog or hosting service - it is your responsibility to determine if the service is right for you and if it treats authors with fairness.
+
+4.5 Why should I use the OFL for my fonts?
+- to meet needs for fonts that can be modified to support lesser-known languages
+- to provide a legal and clear way for people to respect your work but still use it (and reduce piracy)
+- to involve others in your font project
+- to enable your fonts to be expanded with new weights and improved writing system/language support
+- to allow more technical font developers to add features to your design (such as OpenType, Graphite or AAT support)
+- to renew the life of an old font lying on your hard drive with no business model
+- to allow your font to be included in Libre Software operating systems like Ubuntu
+- to give your font world status and wide, unrestricted distribution
+- to educate students about quality typeface and font design
+- to expand your test base and get more useful feedback
+- to extend your reach to new markets when users see your metadata and go to your website
+- to get your font more easily into one of the web font online services
+- to attract attention for your commercial fonts
+- to make money through web font services
+- to make money by bundling fonts with applications
+- to make money adjusting and extending existing open fonts
+- to get a better chance that foundations/NGOs/charities/companies who commission fonts will pick you
+- to be part of a sharing design and development community
+- to give back and contribute to a growing body of font sources
+
+
+5 CHOOSING RESERVED FONT NAMES
+
+5.1 What are Reserved Font Names?
+These are font names, or portions of font names, that the author has chosen to reserve for use only with the Original Version of the font, or for Modified Version(s) created by the original author.
+
+5.2 Why can't I use the Reserved Font Names in my derivative font names? I'd like people to know where the design came from.
+The best way to acknowledge the source of the design is to thank the original authors and any other contributors in the files that are distributed with your revised font (although no acknowledgement is required). The FONTLOG is a natural place to do this. Reserved Font Names ensure that the only fonts that have the original names are the unmodified Original Versions. This allows designers to maintain artistic integrity while allowing collaboration to happen. It eliminates potential confusion and name conflicts. When choosing a name, be creative and avoid names that reuse almost all the same letters in the same order or sound like the original. It will help everyone if Original Versions and Modified Versions can easily be distinguished from one another and from other derivatives. Any substitution and matching mechanism is outside the scope of the license.
+
+5.3 What do you mean by "primary name as presented to the user"? Are you referring to the font menu name?
+Yes, this applies to the font menu name and other mechanisms that specify a font in a document. It would be fine, however, to keep a text reference to the original fonts in the description field, in your modified source file or in documentation provided alongside your derivative as long as no one could be confused that your modified source is the original. But you cannot use the Reserved Font Names in any way to identify the font to the user (unless the Copyright Holder(s) allow(s) it through a separate agreement). Users who install derivatives (Modified Versions) on their systems should not see any of the original Reserved Font Names in their font menus, for example. Again, this is to ensure that users are not confused and do not mistake one font for another and so expect features only another derivative or the Original Version can actually offer.
+
+5.4 Am I not allowed to use any part of the Reserved Font Names?
+You may not use individual words from the Reserved Font Names, but you would be allowed to use parts of words, as long as you do not use any word from the Reserved Font Names entirely. We do not recommend using parts of words because of potential confusion, but it is allowed. For example, if "Foobar" was a Reserved Font Name, you would be allowed to use "Foo" or "bar", although we would not recommend it. Such an unfortunate choice would confuse the users of your fonts as well as make it harder for other designers to contribute.
+
+5.5 So what should I, as an author, identify as Reserved Font Names?
+Original authors are encouraged to name their fonts using clear, distinct names, and only declare the unique parts of the name as Reserved Font Names. For example, the author of a font called "Foobar Sans" would declare "Foobar" as a Reserved Font Name, but not "Sans", as that is a common typographical term, and may be a useful word to use in a derivative font name. Reserved Font Names should also be single words for simplicity and legibility. A font called "Flowing River" should have Reserved Font Names "Flowing" and "River", not "Flowing River". You also need to be very careful about reserving font names which are already linked to trademarks (whether registered or not) which you do not own.
+
+5.6 Do I, as an author, have to identify any Reserved Font Names?
+No. RFNs are optional and not required, but we encourage you to use them. This is primarily to avoid confusion between your work and Modified Versions. As an author you can release a font under the OFL and not declare any Reserved Font Names. There may be situations where you find that using no RFNs and letting your font be changed and modified - including any kind of modification - without having to change the original name is desirable. However you need to be fully aware of the consequences. There will be no direct way for end-users and other designers to distinguish your Original Version from many Modified Versions that may be created. You have to trust whoever is making the changes and the optimizations to not introduce problematic changes. The RFNs you choose for your own creation have value to you as an author because they allow you to maintain artistic integrity and keep some control over the distribution channel to your end-users. For discussion of RFNs and web fonts see section 2.
+
+5.7 Are any names (such as the main font name) reserved by default?
+No. That is a change to the license as of version 1.1. If you want any names to be Reserved Font Names, they must be specified after the copyright statement(s).
+
+5.8 Is there any situation in which I can use Reserved Font Names for a Modified Version?
+The Copyright Holder(s) can give certain trusted parties the right to use any of the Reserved Font Names through separate written agreements. For example, even if "Foobar" is a RFN, you could write up an agreement to give company "XYZ" the right to distribute a modified version with a name that includes "Foobar". This allows for freedom without confusion. The existence of such an agreement should be made as clear as possible to downstream users and designers in the distribution package and the relevant documentation. They need to know if they are a party to the agreement or not and what they are practically allowed to do or not even if all the details of the agreement are not public.
+
+5.9 Do font rebuilds require a name change? Do I have to change the name of the font when my packaging workflow includes a full rebuild from source?
+Yes, all rebuilds which change the font data and the smart code are Modified Versions and the requirements of the OFL apply: you need to respect what the Author(s) have chosen in terms of Reserved Font Names. However if a package (or installer) is simply a wrapper or a compressed structure around the final font - leaving them intact on the inside - then no name change is required. Please get in touch with the author(s) and copyright holder(s) to inquire about the presence of font sources beyond the final font file(s) and the recommended build path. That build path may very well be non-trivial and hard to reproduce accurately by the maintainer. If a full font build path is made available by the upstream author(s) please be aware that any regressions and changes you may introduce when doing a rebuild for packaging purposes is your own responsibility as a package maintainer since you are effectively creating a separate branch. You should make it very clear to your users that your rebuilt version is not the canonical one from upstream.
+
+5.10 Can I add other Reserved Font Names when making a derivative font?
+Yes. List your additional Reserved Font Names after your additional copyright statement, as indicated with example placeholders at the top of the OFL.txt file. Be sure you do not remove any existing RFNs but only add your own. RFN statements should be placed next to the copyright statement of the relevant author as indicated in the OFL.txt template to make them visible to designers wishing to make their separate version.
+
+
+6 ABOUT THE FONTLOG
+
+6.1 What is this FONTLOG thing exactly?
+It has three purposes: 1) to provide basic information on the font to users and other designers and developers, 2) to document changes that have been made to the font or accompanying files, either by the original authors or others, and 3) to provide a place to acknowledge authors and other contributors. Please use it!
+
+6.2 Is the FONTLOG required?
+It is not a requirement of the license, but we strongly recommend you have one.
+
+6.3 Am I required to update the FONTLOG when making Modified Versions?
+No, but users, designers and other developers might get very frustrated with you if you don't. People need to know how derivative fonts differ from the original, and how to take advantage of the changes, or build on them. There are utilities that can help create and maintain a FONTLOG, such as the FONTLOG support in FontForge.
+
+6.4 What should the FONTLOG look like?
+It is typically a separate text file (FONTLOG.txt), but can take other formats. It commonly includes these four sections:
+
+- brief header describing the FONTLOG itself and name of the font family
+- Basic Font Information - description of the font family, purpose and breadth
+- ChangeLog - chronological listing of changes
+- Acknowledgements - list of authors and contributors with contact information
+
+It could also include other sections, such as: where to find documentation, how to make contributions, information on contributing organizations, source code details, and a short design guide. See Appendix A for an example FONTLOG.
+
+
+7 MAKING CONTRIBUTIONS TO OFL PROJECTS
+
+7.1 Can I contribute work to OFL projects?
+In many cases, yes. It is common for OFL fonts to be developed by a team of people who welcome contributions from the wider community. Contact the original authors for specific information on how to participate in their projects.
+
+7.2 Why should I contribute my changes back to the original authors?
+It would benefit many people if you contributed back in response to what you've received. Your contributions and improvements to the fonts and other components could be a tremendous help and would encourage others to contribute as well and 'give back'. You will then benefit from other people's contributions as well. Sometimes maintaining your own separate version takes more effort than merging back with the original. Be aware that any contributions, however, must be either your own original creation or work that you own, and you may be asked to affirm that clearly when you contribute.
+
+7.3 I've made some very nice improvements to the font. Will you consider adopting them and putting them into future Original Versions?
+Most authors would be very happy to receive such contributions. Keep in mind that it is unlikely that they would want to incorporate major changes that would require additional work on their end. Any contributions would likely need to be made for all the fonts in a family and match the overall design and style. Authors are encouraged to include a guide to the design with the fonts. It would also help to have contributions submitted as patches or clearly marked changes - the use of smart source revision control systems like subversion, mercurial, git or bzr is a good idea. Please follow the recommendations given by the author(s) in terms of preferred source formats and configuration parameters for sending contributions. If this is not indicated in a FONTLOG or other documentation of the font, consider asking them directly. Examples of useful contributions are bug fixes, additional glyphs, stylistic alternates (and the smart font code to access them) or improved hinting. Keep in mind that some kinds of changes (esp. hinting) may be technically difficult to integrate.
+
+7.4 How can I financially support the development of OFL fonts?
+It is likely that most authors of OFL fonts would accept financial contributions - contact them for instructions on how to do this. Such contributions would support future development. You can also pay for others to enhance the fonts and contribute the results back to the original authors for inclusion in the Original Version.
+
+
+8 ABOUT THE LICENSE ITSELF
+
+8.1 I see that this is version 1.1 of the license. Will there be later changes?
+Version 1.1 is the first minor revision of the OFL. We are confident that version 1.1 will meet most needs, but are open to future improvements. Any revisions would be for future font releases, and previously existing licenses would remain in effect. No retroactive changes are possible, although the Copyright Holder(s) can re-release the font under a revised OFL. All versions will be available on our web site: http://scripts.sil.org/OFL.
+
+8.2 Does this license restrict the rights of the Copyright Holder(s)?
+No. The Copyright Holder(s) still retain(s) all the rights to their creation; they are only releasing a portion of it for use in a specific way. For example, the Copyright Holder(s) may choose to release a 'basic' version of their font under the OFL, but sell a restricted 'enhanced' version under a different license. They may also choose to release the same font under both the OFL and some other license. Only the Copyright Holder(s) can do this, and doing so does not change the terms of the OFL as it applies to that font.
+
+8.3 Is the OFL a contract or a license?
+The OFL is a worldwide license based on international copyright agreements and conventions. It is not a contract and so does not require you to sign it to have legal validity. By using, modifying and redistributing components under the OFL you indicate that you accept the license.
+
+8.4 I really like the terms of the OFL, but want to change it a little. Am I allowed to take ideas and actual wording from the OFL and put them into my own custom license for distributing my fonts?
+We strongly recommend against creating your very own unique open licensing model. Using a modified or derivative license will likely cut you off - along with the font(s) under that license - from the community of designers using the OFL, potentially expose you and your users to legal liabilities, and possibly put your work and rights at risk. The OFL went though a community and legal review process that took years of effort, and that review is only applicable to an unmodified OFL. The text of the OFL has been written by SIL (with review and consultation from the community) and is copyright (c) 2005-2017 SIL International. You may re-use the ideas and wording (in part, not in whole) in another non-proprietary license provided that you call your license by another unambiguous name, that you do not use the preamble, that you do not mention SIL and that you clearly present your license as different from the OFL so as not to cause confusion by being too similar to the original. If you feel the OFL does not meet your needs for an open license, please contact us.
+
+8.5 Can I quote from the OFL FAQ?
+Yes, SIL gives permission to quote from the OFL FAQ (OFL-FAQ.txt), in whole or in part, provided that the quoted text is:
+
+- unmodified,
+- used to help explain the intent of the OFL, rather than cause misunderstanding, and
+- accompanied with the following attribution: "From the OFL FAQ (OFL-FAQ.txt), copyright (c) 2005-2017 SIL International. Used by permission. http://scripts.sil.org/OFL-FAQ_web".
+
+8.6 Can I translate the license and the FAQ into other languages?
+SIL certainly recognises the need for people who are not familiar with English to be able to understand the OFL and its use. Making the license very clear and readable has been a key goal for the OFL, but we know that people understand their own language best.
+
+If you are an experienced translator, you are very welcome to translate the OFL and OFL-FAQ so that designers and users in your language community can understand the license better. But only the original English version of the license has legal value and has been approved by the community. Translations do not count as legal substitutes and should only serve as a way to explain the original license. SIL - as the author and steward of the license for the community at large - does not approve any translation of the OFL as legally valid because even small translation ambiguities could be abused and create problems.
+
+SIL gives permission to publish unofficial translations into other languages provided that they comply with the following guidelines:
+
+- Put the following disclaimer in both English and the target language stating clearly that the translation is unofficial:
+
+"This is an unofficial translation of the SIL Open Font License into <language_name>. It was not published by SIL International, and does not legally state the distribution terms for fonts that use the OFL. A release under the OFL is only valid when using the original English text. However, we recognize that this unofficial translation will help users and designers not familiar with English to better understand and use the OFL. We encourage designers who consider releasing their creation under the OFL to read the OFL-FAQ in their own language if it is available. Please go to http://scripts.sil.org/OFL for the official version of the license and the accompanying OFL-FAQ."
+
+- Keep your unofficial translation current and update it at our request if needed, for example if there is any ambiguity which could lead to confusion.
+
+If you start such a unofficial translation effort of the OFL and OFL-FAQ please let us know.
+
+8.7 Does the OFL have an explicit expiration term?
+No, the implicit intent of the OFL is that the permissions granted are perpetual and irrevocable.
+
+
+9 ABOUT SIL INTERNATIONAL
+
+9.1 Who is SIL International and what do they do?
+SIL serves language communities worldwide, building their capacity for sustainable language development, by means of research, translation, training and materials development. SIL makes its services available to all without regard to religious belief, political ideology, gender, race, or ethnic background. SIL's members and volunteers share a Christian commitment.
+
+9.2 What does this have to do with font licensing?
+The ability to read, write, type and publish in one's own language is one of the most critical needs for millions of people around the world. This requires fonts that are widely available and support lesser-known languages. SIL develops - and encourages others to develop - a complete stack of writing systems implementation components available under open licenses. This open stack includes input methods, smart fonts, smart rendering libraries and smart applications. There has been a need for a common open license that is specifically applicable to fonts and related software (a crucial component of this stack), so SIL developed the SIL Open Font License with the help of the Free/Libre and Open Source Software community.
+
+9.3 How can I contact SIL?
+Our main web site is: http://www.sil.org/
+Our site about complex scripts is: http://scripts.sil.org/
+Information about this license (and contact information) is at: http://scripts.sil.org/OFL
+
+
+APPENDIX A - FONTLOG EXAMPLE
+
+Here is an example of the recommended format for a FONTLOG, although other formats are allowed.
+
+-----
+FONTLOG for the GlobalFontFamily fonts
+
+This file provides detailed information on the GlobalFontFamily Font Software. This information should be distributed along with the GlobalFontFamily fonts and any derivative works.
+
+Basic Font Information
+
+GlobalFontFamily is a Unicode typeface family that supports all languages that use the Latin script and its variants, and could be expanded to support other scripts.
+
+NewWorldFontFamily is based on the GlobalFontFamily and also supports Greek, Hebrew, Cyrillic and Armenian.
+
+More specifically, this release supports the following Unicode ranges...
+This release contains...
+Documentation can be found at...
+To contribute to the project...
+
+ChangeLog
+
+10 December 2010 (Fred Foobar) GlobalFontFamily-devel version 1.4
+- fix new build and testing system (bug #123456)
+
+1 August 2008 (Tom Parker) GlobalFontFamily version 1.2.1
+- Tweaked the smart font code (Branch merged with trunk version)
+- Provided improved build and debugging environment for smart behaviours
+
+7 February 2007 (Pat Johnson) NewWorldFontFamily Version 1.3
+- Added Greek and Cyrillic glyphs
+
+7 March 2006 (Fred Foobar) NewWorldFontFamily Version 1.2
+- Tweaked contextual behaviours
+
+1 Feb 2005 (Jane Doe) NewWorldFontFamily Version 1.1
+- Improved build script performance and verbosity
+- Extended the smart code documentation
+- Corrected minor typos in the documentation
+- Fixed position of combining inverted breve below (U+032F)
+- Added OpenType/Graphite smart code for Armenian
+- Added Armenian glyphs (U+0531 -> U+0587)
+- Released as "NewWorldFontFamily"
+
+1 Jan 2005 (Joe Smith) GlobalFontFamily Version 1.0
+- Initial release
+
+Acknowledgements
+
+If you make modifications be sure to add your name (N), email (E), web-address (if you have one) (W) and description (D). This list is in alphabetical order.
+
+N: Jane Doe
+E: jane@university.edu
+W: http://art.university.edu/projects/fonts
+D: Contributor - Armenian glyphs and code
+
+N: Fred Foobar
+E: fred@foobar.org
+W: http://foobar.org
+D: Contributor - misc Graphite fixes
+
+N: Pat Johnson
+E: pat@fontstudio.org
+W: http://pat.fontstudio.org
+D: Designer - Greek & Cyrillic glyphs based on Roman design
+
+N: Tom Parker
+E: tom@company.com
+W: http://www.company.com/tom/projects/fonts
+D: Engineer - original smart font code
+
+N: Joe Smith
+E: joe@fontstudio.org
+W: http://joe.fontstudio.org
+D: Designer - original Roman glyphs
+
+Fontstudio.org is an not-for-profit design group whose purpose is...
+Foobar.org is a distributed community of developers...
+Company.com is a small business who likes to support community designers...
+University.edu is a renowned educational institution with a strong design department...
+-----
+
diff --git a/fonts/stix2-otf/OFL.txt b/fonts/stix2-otf/OFL.txt
new file mode 100644
index 0000000000..94698face7
--- /dev/null
+++ b/fonts/stix2-otf/OFL.txt
@@ -0,0 +1,117 @@
+Copyright © 2001–2020 by the STI Pub Companies (https://www.stixfonts.org),
+consisting of
+ AIP Publishing,
+ American Chemical Society,
+ American Mathematical Society,
+ American Physical Society,
+ Elsevier, Inc.,
+ and
+ The Institute of Electrical and Electronic Engineers, Inc.,
+with Reserved Font Name "STIX Fonts".
+
+STIX Fonts™ is a trademark of The Institute of Electrical and
+Electronics Engineers, Inc.
+
+Portions copyright © 1998–2003 by MicroPress, Inc.
+(www.micropress-inc.com), with Reserved Font Name TM Math.
+To obtain additional mathematical fonts, please contact
+ MicroPress, Inc.,
+ 68-30 Harrow Street,
+ Forest Hills, NY 11375,
+ USA
+ Phone: (718) 575-1816.
+
+Portions copyright © 1990 by Elsevier, Inc.
+
+Portions copyright © 2010, 2012, 2014 Adobe Systems Incorporated.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/stix2-otf/README.md b/fonts/stix2-otf/README.md
index cf0a5c834e..f7a66ac909 100644
--- a/fonts/stix2-otf/README.md
+++ b/fonts/stix2-otf/README.md
@@ -1,26 +1,49 @@
# stixfonts
OpenType Unicode fonts for Scientific, Technical, and Mathematical texts
-## About the STIX fonts.
+## Overview
+
+* See https://www.stixfonts.org/ for background on the the STIX Fonts
+ project.
+
+* Download [zip files](zipfiles) with some or all of the fonts.
+
+* View [code charts](docs) for the
+ * [Math](docs/STIXTwoMath-Regular.pdf),
+ * [Regular text](docs/STIXTwoText-Regular.pdf),
+ fonts.
+
+### Type 1 fonts (STIX 2.0.0 only)
-See https://www.stixfonts.org/ for background on the the STIX Fonts project.
+The STIX Two fonts are OpenType fonts and are meant to be used in that
+format. For the benefit of LaTeX users who are unable to use XeTeX or
+luaTeX, we have also provided version 2.0.0 of the STIX fonts as a
+[set of TFM files and Type 1 fonts](https://github.com/stipub/stix_type1).
+
+Note that **no further updates** are planned to the Type 1
+distribution; future development efforts will focus on improving the
+OpenType fonts.
+
+## About the STIX fonts.
The Scientific and Technical Information eXchange (STIX) fonts are
-intended to meet the demanding needs of authors, publishers, printers,
-and others in the scientific, medical, and technical fields. They
-combine a comprehensive Unicode-based collection of mathematical
-symbols and alphabets with a set of text faces suitable for
-professional publishing. They are available royalty-free under the
-SIL Open Font License, Version 1.1.
-
-Version 2 of the STIX fonts, now known as “STIX Two”, is a thorough
-revision of version 1 undertaken by the renowned type house [Tiro
-Typeworks](https://tiro.com). The STIX Two fonts consist of four text
-fonts (Regular, Italic, Bold, and Bold Italic) and one Math font.
-Together, they provide a uniform set of fonts that can be used
-throughout the production process, whether that be a traditional
-print-only process, an entirely electronic one, or a combination of
-the two.
+intended to satisfy the demanding needs of authors, publishers,
+printers, and others working in the scientific, medical, and technical
+fields. They combine a comprehensive Unicode-based collection of
+mathematical symbols and alphabets with a set of text faces suitable
+for professional publishing. The fonts are available royalty-free
+under the SIL Open Font License.
+
+Version 2 of the STIX fonts, now known as "STIX Two", is a thorough
+revision undertaken by the renowned type house Tiro Typeworks
+Ltd. (https://www.tiro.com). The STIX Two fonts consist of one Math
+font, two variable text fonts (STIXTwoTextVF-Roman and
+STIXTwoTextVF-Italic), and eight static text fonts (Regular, Italic,
+Medium, Medium Italic, SemiBold, SemiBold Italic, Bold, and Bold
+Italic) derived from the variable fonts. Together, they provide a
+uniform set of fonts that can be used throughout the production
+process, whether that be a traditional print-only process, an entirely
+electronic one, or a combination of the two.
The [STIX project](https://www.stixfonts.org/) began through the joint
efforts of
@@ -93,8 +116,8 @@ These fonts have been tested with both
and
[luaTeX](http://www.luatex.org/)
with good results. For best results, XeTeX users will want to use
-version 0.99999 or later of XeTeX, which ships with
-[TeXLive 2018](https://www.tug.org/texlive/).
+version 0.999992 or later of XeTeX, which ships with
+[TeXLive 2020](https://www.tug.org/texlive/).
This version fixes a number of bugs that were present in earlier
versions. Our thanks go out to Jonathan Kew and Khaled Hosny for
their generous help in identifying and fixing these bugs. LaTeX users
@@ -103,9 +126,9 @@ should also make sure they have the latest version of the
## Summary of OpenType Features and Scripts
-Further details these features can be found in the code charts.
+Further details these features can be found in the [font charts](docs).
-The four text fonts implement the following OpenType script tags:
+The text fonts implement the following OpenType script tags:
Regular Bold Italic BoldItalic
@@ -118,7 +141,8 @@ The four text fonts implement the following OpenType script tags:
grek grek grek grek Greek
latn latn latn latn Latin
- latn.ROM latn.ROM latn.ROM latn.ROM Latin/Romanian
+ latn.LTH latn.LTH latn.LTH latn.LTH Latin/Lithuanian
+ latn.ROM latn.ROM latn.ROM latn.ROM Latin/Romanian
latn.TRK latn.TRK latn.TRK latn.TRK Latin/Turkish
and the following features
@@ -182,3 +206,62 @@ different meanings compared to the text fonts):
ss15 Stylistic Set 15 -- Slab serif symbol variants
ss16 Stylistic Set 16 -- Circled operator variants
ss20 Stylistic Set 20 -- Miscellaneous variants
+
+## Build instructions
+
+### First time
+
+After cloning the project for first time, the following steps are needed:
+
+1. Setup a virtual environment in the folder that contains the source and tools subfolders:
+
+ $ python3 -m venv venv
+
+2. Activate the environment:
+
+ $ source venv/bin/activate
+
+3. Update `pip`:
+
+ $ pip install -U pip
+
+4. Install dependencies:
+
+ $ pip install -r requirements.txt
+
+5. Build the fonts (use `--verbose` option for more detailed build log):
+
+ $ ./build.sh
+
+ This last step may take several minutes to complete.
+
+### Subsequent builds
+
+Only steps 2 and 5 above are needed.
+
+### Notes on source formats and build process
+
+The design masters for the STIX Two Text fonts are the **.vfj** files, a json source format used by FontLab 7. These files contain the glyph outlines, spacing, mark anchors, kerning and associated classes, font info, and variable design space info. Changes or additions to any of these things should be made in the .vfj files.
+
+The build script used to generate font files uses the **.ufo** and **.designspace** files, not the .vfj sources directly. These files can be exported from FontLab 7 using the default export profile for ‘DesignSpace + UFO’.
+
+The **.ren** files are glyph name management files used by the build script to manage the relationship of development names in the sources to the build names used in the post or CFF tables of the fonts.
+
+Because of issues with editing and managing OpenType Layout GPOS in variable font sources, the OTL projects for the STIX Two Text fonts are built in Microsoft’s [Visual OpenType Layout Tool](https://docs.microsoft.com/en-us/typography/tools/volt/) (VOLT). This means changes to OTL, including updates to mark anchors and kerning implemented in the .vfj sources need to be passed through VOLT, updated in the **.vtp** VOLT project files, and compiled in **.input.ttf** which are then used by the build script as a source for the OTL tables in the fonts.
+
+Obviously, any changes or extension to the glyph set in the .vfj design sources needs to be reflected in each of the other sources used in the build process: in the .ufo files, the .ren file glyph name lists, and especially in the .input.ttf files and .vtp project files. Fresh .input.ttf files can be exported from FontLab 7, opened in VOLT, and the .vtp project files imported and updated.
+
+Note that if changes or updates are made to mark anchors or kerning or associated classes in the .vfj sources, these need to be converted to VOLT format and imported into the projects, replacing or updating existing VOLT lookups and groups. This can be done using the [vfj-to-volt.py](https://github.com/TiroTypeworks/TiroTools/tree/master/VFJtools) tool.
+
+The revised .vtp files should then be exported for future use, and the .input.ttf fonts *shipped* from VOLT (this is important, because although the fonts will work if just compiled and saved in VOLT, they will contain private VOLT source tables and unregistered OTL features that will be then end up in the fonts generated by the build script; so use the ‘Ship Font’ option in VOLT and overwrite the .input.ttf file (save a copy with the VOLT project, if you like, but so long as you remembered to export the updated .vtp you can always reimport as needed)).
+
+**IMPORTANT** : the STIXTwoMath-Regular.input.ttf file is also the source for the MATH table and cmap table in the final font build. Care must be taken to preserve or extend these as necessary in this file when updating OpenType Layout or other aspects of the font.
+
+Once all the source files are ready, run the **build.sh** as described above. The build script describes what it is doing as it runs, and verbose mode can be used to get more detail. In overview, this is what it does:
+
+1. Pre-process the UFO files to:
+a) remove all features and kerning groups from the UFOs; b) rename the glyphs to match the TTFs (otherwise the binary tables can’t be grafted in with FontTools easily); c) extract the binary tables and add them under data/com.github.fonttools.ttx/ in the UFO font where ufo2ft expects them; d) save the modified files in build/masters to keep the sources unchanged.
+1. Build variable font with fontmake from build/masters UFOs.
+1. Build binary masters with fontmake (needed for the next step) from UFOs.
+1. Build static fonts with fontmake from UFOs, but telling it to interpolate OTL tables from the binary masters.
+1. Post-process the fonts to fix the name tables and other final touchups.
diff --git a/fonts/stix2-otf/STIX2Math.otf b/fonts/stix2-otf/STIX2Math.otf
deleted file mode 100644
index bef6ba60b2..0000000000
--- a/fonts/stix2-otf/STIX2Math.otf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/STIX2Text-Bold.otf b/fonts/stix2-otf/STIX2Text-Bold.otf
deleted file mode 100644
index 3a7ba1d0e6..0000000000
--- a/fonts/stix2-otf/STIX2Text-Bold.otf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/STIX2Text-BoldItalic.otf b/fonts/stix2-otf/STIX2Text-BoldItalic.otf
deleted file mode 100644
index 3f79b728ae..0000000000
--- a/fonts/stix2-otf/STIX2Text-BoldItalic.otf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/STIX2Text-Italic.otf b/fonts/stix2-otf/STIX2Text-Italic.otf
deleted file mode 100644
index c00f1274f5..0000000000
--- a/fonts/stix2-otf/STIX2Text-Italic.otf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/STIX2Text-Regular.otf b/fonts/stix2-otf/STIX2Text-Regular.otf
deleted file mode 100644
index da81d881e0..0000000000
--- a/fonts/stix2-otf/STIX2Text-Regular.otf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoMath-Regular.otf b/fonts/stix2-otf/STIXTwoMath-Regular.otf
new file mode 100644
index 0000000000..d95b44dc9c
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoMath-Regular.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoMath-Regular.pdf b/fonts/stix2-otf/STIXTwoMath-Regular.pdf
new file mode 100644
index 0000000000..89402597d5
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoMath-Regular.pdf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-Bold.otf b/fonts/stix2-otf/STIXTwoText-Bold.otf
new file mode 100644
index 0000000000..a1453243dc
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-Bold.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-BoldItalic.otf b/fonts/stix2-otf/STIXTwoText-BoldItalic.otf
new file mode 100644
index 0000000000..13a6bbb580
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-BoldItalic.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-Italic.otf b/fonts/stix2-otf/STIXTwoText-Italic.otf
new file mode 100644
index 0000000000..87a52dffc7
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-Italic.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-Medium.otf b/fonts/stix2-otf/STIXTwoText-Medium.otf
new file mode 100644
index 0000000000..ebafcb82f5
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-Medium.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-MediumItalic.otf b/fonts/stix2-otf/STIXTwoText-MediumItalic.otf
new file mode 100644
index 0000000000..4648e2908f
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-MediumItalic.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-Regular.otf b/fonts/stix2-otf/STIXTwoText-Regular.otf
new file mode 100644
index 0000000000..06dd21d58e
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-Regular.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-Regular.pdf b/fonts/stix2-otf/STIXTwoText-Regular.pdf
new file mode 100644
index 0000000000..130af4ae37
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-Regular.pdf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-SemiBold.otf b/fonts/stix2-otf/STIXTwoText-SemiBold.otf
new file mode 100644
index 0000000000..4ab83ead64
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-SemiBold.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIXTwoText-SemiBoldItalic.otf b/fonts/stix2-otf/STIXTwoText-SemiBoldItalic.otf
new file mode 100644
index 0000000000..056d48a999
--- /dev/null
+++ b/fonts/stix2-otf/STIXTwoText-SemiBoldItalic.otf
Binary files differ
diff --git a/fonts/stix2-otf/STIX_2.0.1_license.pdf b/fonts/stix2-otf/STIX_2.0.1_license.pdf
deleted file mode 100644
index e308ecf2c9..0000000000
--- a/fonts/stix2-otf/STIX_2.0.1_license.pdf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/STIX_2.0.1_release_notes.txt b/fonts/stix2-otf/STIX_2.0.1_release_notes.txt
deleted file mode 100644
index cddbf4bbe3..0000000000
--- a/fonts/stix2-otf/STIX_2.0.1_release_notes.txt
+++ /dev/null
@@ -1,302 +0,0 @@
- STIX Font Release Documentation
- OpenType/WOFF/WOFF2
-
- https://www.stixfonts.org/
-
- Version 2.0.1
-
- 15 April 2019
-
- WHAT IS PROVIDED IN THIS RELEASE?
-
-The contents of this distribution are
-
- Fonts/
- OTF/
- STIX2Math.otf
- STIX2Text-BoldItalic.otf
- STIX2Text-Bold.otf
- STIX2Text-Italic.otf
- STIX2Text-Regular.otf
- WOFF/
- STIX2Math.woff
- STIX2Text-BoldItalic.woff
- STIX2Text-Bold.woff
- STIX2Text-Italic.woff
- STIX2Text-Regular.woff
- WOFF2/
- STIX2Math.woff2
- STIX2Text-BoldItalic.woff2
- STIX2Text-Bold.woff2
- STIX2Text-Italic.woff2
- STIX2Text-Regular.woff2
- docs/
- STIX_2.0.1_license.pdf
- STIX_2.0.1_release_notes.txt
- charts/
- StixTwoBold.pdf
- StixTwoBoldItalic.pdf
- StixTwoItalic.pdf
- StixTwoMath.pdf
- StixTwoRegular.pdf
-
-The STIX font is distributed under the SIL Open Font License, Version
-1.1, a copy of which is included in the docs folder.
-
-FEEDBACK
-
-Please direct any questions or general comments to the STIX Fonts
-project. Bug reports and technical support issues should be submitted
-through
-
- https://github.com/stipub/stixfonts
-
-where you can also find a list of known issues.
-
-
- WHAT'S NEW IN 2.0.1?
-
-COMPATIBILITY BETWEEN 2.0.1 AND 2.0.0
-
-There have been numerous improvements to the design of individual
-glyphs and to the placement of various accents. Since these don't
-affect character metrics, they should not affect the layout of
-documents that used v2.0.0 of the fonts.
-
-Users upgrading existing documents from 2.0.0 to 2.0.1 should be aware
-of the following potential incompatibilities:
-
-* Character metrics for some glyphs, especially Mathematical
- Alphanumeric Symbols and APL functional symbols, have changed.
-
-* Kerning between z and following punctuation has been improved.
-
-* In STIX2Math, Stylistic Set 7 (ss07) no longer includes U+2205
-
-* U+2202 PARTIAL DIFFERENTIAL and U+1D6DB MATHEMATICAL BOLD PARTIAL
- DIFFERENTIAL are now upright by default.
-
-See below for further details.
-
-TEXT FONTS
-
-* Added U+2423 OPEN BOX to all faces.
-
-* Added Stylistic Set ss02 to select upright parentheses, brackets,
- and braces in Italic and BoldItalic faces.
-
-* Harmonized design of smallcap U+02A9 LATIN SMALL LETTER FENG DIGRAPH
- between Regular and Bold faces.
-
-* Improved design of extended Latin and IPA character glyphs.
-
-* Improved kerning of selected character pairs.
-
-* Improved design and placement of U+0307 COMBINING DOT ABOVE and
- U+0308 COMBINING DIAERESIS.
-
-MATH FONTS
-
-* The following Mathematical Alphanumeric Symbols have been improved.
- Note that in some case this has necessitated changes to the
- character metrics.
-
- U+1D504..1D537 Fraktur symbols
- U+1D538..1D56B Double-struck symbols
- U+1D56C..1D59F Bold Fraktur symbols
- U+1D5A0..1D5D3 Sans-serif symbols [SSP]
- U+1D5D4..1D607 Sans-serif bold symbols [SSP]
- U+1D608..1D63B Sans-serif italic symbols [SSP]
- U+1D63C..1D66F Sans-serif bold italic symbols [SSP]
- U+1D670..1D6A3 Monospace symbols
- U+1D756..1D78F Sans-serif bold Greek
- U+1D790..1D7C9 Sans-serif bold italic Greek
- U+1D7D8..1D7E1 Double-struck digits
- U+1D7E2..1D7EB Sans-serif digits [SSP]
- U+1D7EC..1D7F5 Sans-serif bold digits [SSP]
- U+1D7F6..1D7FF Monospace digits
-
- Note: The ranges marked "[SSP]" are derived from the Source Sans Pro
- fonts, with proportions and weight modified to harmonize with the
- STIX design.
-
-* Added support for Unicode Standard Mathematical Standardized Variants.
-
-* Removed variant form of U+2205 EMPTY SET from Stylistic Set 7 to
- Character Variant 3. NOTE: For most users, the "variant" form will
- be the preferred shape, but the default shape has been left as-is
- for backwards compatibility.
-
-* Improved proportions of existing APL symbols and added an additional
- 16 symbols (see below).
-
-* Corrected glyph for U+1D752 MATHEMATICAL BOLD ITALIC KAPPA SYMBOL.
-
-* Improved positioning of tilde math accent.
-
-* Added dotless variants of U+2148 DOUBLE-STRUCK ITALIC SMALL I and
- U_2149 DOUBLE-STRUCK ITALIC SMALL J.
-
-* Made U+2202 PARTIAL DIFFERENTIAL and U+1D6DB MATHEMATICAL BOLD
- PARTIAL DIFFERENTIAL upright rather than italic.
-
-* Revised and extended coverage of Enclosed Alphanumeric block
- (U+2460-24FF).
-
-* U+20E1 COMBINING LEFT RIGHT ARROW ABOVE is now extensible.
-
-* Corrected vertical placement of U+00B1 PLUS-MINUS SIGN
-
-* The following delimiters now have a full set of 12 growing form
- variants.
-
- U+2308 LEFT CEILING
- U+2309 RIGHT CEILING
-
- U+230A LEFT FLOOR
- U+230B RIGHT FLOOR
-
- U+2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
- U+2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-
- U+27E6 LEFT WHITE SQUARE BRACKET
- U+27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-
- U+27E8 MATHEMATICAL LEFT ANGLE BRACKET
- U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET
-
- U+27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
- U+27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-
- U+2983 WHITE CURLY BRACKET
- U+2984 RIGHT WHITE CURLY BRACKET
-
- U+2985 LEFT WHITE PARENTHESIS
- U+2986 RIGHT WHITE PARENTHESIS
-
-* New characters
-
- General Punctuation
- U+2061 FUNCTION APPLICATION
- U+2062 INVISIBLE TIMES
- U+2063 INVISIBLE SEPARATOR
- U+2064 INVISIBLE PLUS
-
- Miscellaneous Technical
- U+2338 APL FUNCTIONAL SYMBOL QUAD EQUAL
- U+233A APL FUNCTIONAL SYMBOL QUAD DIAMOND
- U+233E APL FUNCTIONAL SYMBOL CIRCLE JOT
- U+2341 APL FUNCTIONAL SYMBOL QUAD SLASH
- U+2342 APL FUNCTIONAL SYMBOL QUAD BACKSLASH
- U+2347 APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
- U+2348 APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
- U+2350 APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
- U+2357 APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
- U+2360 APL FUNCTIONAL SYMBOL QUAD COLON
- U+2364 APL FUNCTIONAL SYMBOL JOT DIAERESIS
- U+2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
- U+2366 APL FUNCTIONAL SYMBOL DOWN SHOE STILE
- U+236D APL FUNCTIONAL SYMBOL STILE TILDE
- U+2378 APL FUNCTIONAL SYMBOL IOTA UNDERBAR
- U+2395 APL FUNCTIONAL SYMBOL QUAD
- U+23B7 RADICAL SYMBOL BOTTOM
- U+23B8 LEFT VERTICAL BOX LINE
- U+23B9 RIGHT VERTICAL BOX LINE
-
- Control Pictures
- U+2422 BLANK SYMBOL
-
- Enclosed Alphanumerics
- U+2469..24B5
- U+24EB..24FF
-
- Dingbats
- U+2776 DINGBAT NEGATIVE CIRCLED DIGIT ONE
- U+2777 DINGBAT NEGATIVE CIRCLED DIGIT TWO
- U+2778 DINGBAT NEGATIVE CIRCLED DIGIT THREE
- U+2779 DINGBAT NEGATIVE CIRCLED DIGIT FOUR
- U+277A DINGBAT NEGATIVE CIRCLED DIGIT FIVE
- U+277B DINGBAT NEGATIVE CIRCLED DIGIT SIX
- U+277C DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
- U+277D DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
- U+277E DINGBAT NEGATIVE CIRCLED DIGIT NINE
- U+277F DINGBAT NEGATIVE CIRCLED NUMBER TEN
-
- Arabic Mathematical Alphabetic Symbols
- U+1EEF0 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
- U+1EEF1 ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
-
- Note: These two characters were added for compatibility with
- the LaTeX unicode-math package. There are no plans to include
- further support for Arabic typesetting.
-
-
- WHAT'S NEW IN 2.0.0?
-
-In addition to the overall visual redesign, STIX Two incorporates a
-number of significant improvements and additions. Special attention
-has been given to implementing accepted best practices for OpenType
-fonts, such as the use of font features to access variant glyph shapes
-that were previously only available via the Unicode Private Use Areas.
-
-The letterspacing and kerning of the text fonts have been
-significantly improved.
-
-True small capital variants (Latin, Cyrillic, and Greek), accessible
-via the OpenType font feature smcp, have been added for all text
-fonts.
-
-Text (lowercase or oldstyle) numerals, available via the font features
-pnum and onum, have been added, in addition to natural-spacing
-figures.
-
-Alphabetic superscripts and numeric sub- and superscripts, accessible
-via the subs and sups font features, have been added.
-
-Fractions are available via the frac feature, as well as numerators
-(numr) and denominators (dnom).
-
-The OpenType MATH table has been completely rewritten and extended.
-
-Additions have been made to these Unicode blocks:
- Latin-1 Supplement U+0080 - U+00FF
- Latin Extended-A U+0100 - U+017F
- Latin Extended Additional U+0180 - U+024F
- Cyrillic U+0400 - U+04FF
- Greek and Coptic U+0370 - U+03FF
- IPA blocks U+0250 - U+02AF
-
-BACKWARDS COMPATIBILITY
-
-Because of the scope of the changes, especially to the text fonts,
-STIX Two is not a drop-in replacement for earlier versions. While we
-understand and sympathize with the difficulties caused by the
-incompatibilities we have introduced, we nevertheless felt they were
-necessary to address some of the shortcomings of earlier versions of
-the fonts and to position us to respond to the needs of modern
-publishing.
-
-Earlier versions of the STIX fonts are deprecated and no longer
-supported. We urge all users of the STIX fonts to upgrade to the new
-versions as soon as possible.
-
-To enable the new and old versions of the fonts to coexist during the
-transition phase, the fonts have been renamed as follows:
-
- STIX 1.1.0 STIX 2.0.0
-
- STIX-Regular STIX Two Text
- STIX-Italic STIX Two Text Italic
- STIX-Bold STIX Two Text Bold
- STIX-BoldItalic STIX Two Text Bold Italic
-
- STIX Math Regular STIX Two Math
-
-The four text fonts contain glyphs from Unicode text blocks only. For
-example, all characters from the range U+2190 to U+3063 and U+E000 to
-U+E368 and all plane 1 characters have been removed from the text
-fonts and are now found only in STIX Two Math. Whenever possible,
-characters have been removed from the Private Use Area (U+E000-U+F8FF)
-and made available via font features instead.
-
-The STIX-General packaging of the fonts is no longer supported.
diff --git a/fonts/stix2-otf/StixTwoBold.pdf b/fonts/stix2-otf/StixTwoBold.pdf
deleted file mode 100644
index 51aad36281..0000000000
--- a/fonts/stix2-otf/StixTwoBold.pdf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/StixTwoBoldItalic.pdf b/fonts/stix2-otf/StixTwoBoldItalic.pdf
deleted file mode 100644
index ff02ee8be3..0000000000
--- a/fonts/stix2-otf/StixTwoBoldItalic.pdf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/StixTwoItalic.pdf b/fonts/stix2-otf/StixTwoItalic.pdf
deleted file mode 100644
index be54643ba7..0000000000
--- a/fonts/stix2-otf/StixTwoItalic.pdf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/StixTwoMath.pdf b/fonts/stix2-otf/StixTwoMath.pdf
deleted file mode 100644
index 3a5bea79d7..0000000000
--- a/fonts/stix2-otf/StixTwoMath.pdf
+++ /dev/null
Binary files differ
diff --git a/fonts/stix2-otf/StixTwoRegular.pdf b/fonts/stix2-otf/StixTwoRegular.pdf
deleted file mode 100644
index dc741c228a..0000000000
--- a/fonts/stix2-otf/StixTwoRegular.pdf
+++ /dev/null
Binary files differ
diff --git a/graphics/pixelart/CHANGELOG.md b/graphics/pgf/contrib/pixelart/CHANGELOG.md
index 4a0fdfaee8..4a0fdfaee8 100644
--- a/graphics/pixelart/CHANGELOG.md
+++ b/graphics/pgf/contrib/pixelart/CHANGELOG.md
diff --git a/graphics/pixelart/LICENSE.txt b/graphics/pgf/contrib/pixelart/LICENSE.txt
index 2244313901..2244313901 100644
--- a/graphics/pixelart/LICENSE.txt
+++ b/graphics/pgf/contrib/pixelart/LICENSE.txt
diff --git a/graphics/pixelart/README.md b/graphics/pgf/contrib/pixelart/README.md
index 471df069b2..471df069b2 100644
--- a/graphics/pixelart/README.md
+++ b/graphics/pgf/contrib/pixelart/README.md
diff --git a/graphics/pixelart/pixelart.dtx b/graphics/pgf/contrib/pixelart/pixelart.dtx
index 472831348b..472831348b 100644
--- a/graphics/pixelart/pixelart.dtx
+++ b/graphics/pgf/contrib/pixelart/pixelart.dtx
diff --git a/graphics/pixelart/pixelart.ins b/graphics/pgf/contrib/pixelart/pixelart.ins
index add23f88ee..add23f88ee 100644
--- a/graphics/pixelart/pixelart.ins
+++ b/graphics/pgf/contrib/pixelart/pixelart.ins
diff --git a/graphics/pixelart/pixelart.pdf b/graphics/pgf/contrib/pixelart/pixelart.pdf
index a651a085fe..a651a085fe 100644
--- a/graphics/pixelart/pixelart.pdf
+++ b/graphics/pgf/contrib/pixelart/pixelart.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/README.md b/macros/latex/contrib/easybook/README.md
index f3499d9dd8..e33ecae209 100644
--- a/macros/latex/contrib/easybook/README.md
+++ b/macros/latex/contrib/easybook/README.md
@@ -28,7 +28,7 @@ This work may be distributed and/or modified under the conditions of the CC-BY 4
## Website
-| [Gitee](https://gitee.com/TeX-doc/easybook) | [Github](https://github.com/TeX-doc/easybook) | [CTAN](https://ctan.org/pkg/easybook) | [Font](https://wws.lanzous.com/b01ns361i) |
+| [Gitee](https://gitee.com/texl3/easybook) | [Github](https://github.com/texl3/easybook) | [CTAN](https://ctan.org/pkg/easybook) | [Font](https://wws.lanzous.com/b01ns361i) |
# easybook 书籍文档类
@@ -60,4 +60,4 @@ xelatex -shell-escape easybook-demo
## 网址
-| [Gitee](https://gitee.com/TeX-doc/easybook) | [Github](https://github.com/TeX-doc/easybook) | [CTAN](https://ctan.org/pkg/easybook) | [字体](https://wws.lanzous.com/b01ns361i) | \ No newline at end of file
+| [Gitee](https://gitee.com/texl3/easybook) | [Github](https://github.com/texl3/easybook) | [CTAN](https://ctan.org/pkg/easybook) | [字体](https://wws.lanzous.com/b01ns361i) | \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
index 6de20edc12..6007aa288b 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex
index 208bf76afa..a71d505407 100644
--- a/macros/latex/contrib/easybook/doc/easybook-demo.tex
+++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex
@@ -91,12 +91,12 @@
\author
{
瞿毅\thanks{texeasybook@foxmail.com.} \\
- \textcolor[HTML]{c71d23}{\faGit}~\url{https://gitee.com/TeX-doc/easybook}\thanks{Gitee为项目的主要发布地址。} \\
- \faGithub~\url{https://github.com/TeX-doc/easybook} \\
- \textcolor[HTML]{00c2ff}{\faEdge}~\url{https://latexstudio.net} \\
+ \git~\url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主要发布地址。} \\
+ \github~\url{https://github.com/texl3/easybook} \\
+ \edge~\url{https://latexstudio.net} \\
\url{https://ctan.org/pkg/easybook}
}
- \date{2021/01/13\hskip\ccwd\relax v1.21c}
+ \date{2021/01/14\hskip\ccwd\relax v1.21d}
}
\begin{document}
diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf
index 1ce9c8675b..d63bb1b67a 100644
--- a/macros/latex/contrib/easybook/doc/easybook.pdf
+++ b/macros/latex/contrib/easybook/doc/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/doc/easybook.tex b/macros/latex/contrib/easybook/doc/easybook.tex
index bb52059ba9..c84a11e209 100644
--- a/macros/latex/contrib/easybook/doc/easybook.tex
+++ b/macros/latex/contrib/easybook/doc/easybook.tex
@@ -8,7 +8,7 @@
\title{\sffamily easybook书籍文档类}
\author{瞿毅}
-\date{2021/01/13\hskip\ccwd\relax v1.21c\thanks{\url{https://gitee.com/TeX-doc/easybook}}}
+\date{2021/01/14\hskip\ccwd\relax v1.21d\thanks{\url{https://gitee.com/texl3/easybook}}}
\begin{document}
\maketitle
@@ -295,7 +295,7 @@
\end{syntax}
\changes{v1.21}{2021/01/11}{修复单面文档时页眉横线消失的问题。}
\changes{v1.21c}{2021/01/13}{增加配置页眉页脚的选项。}
-\opt{hdrset} 将选项交给 \pkg{fancyhdr} 宏包页面风格命令 \tn{fancyhf} 处理,\pkg{fancyhdr} 将页眉页脚分成左中右和奇数页(odd)、偶数页(even)共12个部分,所以设置了对应的12个选项。\opt{head} 与 \opt{foot} 表示页眉与页脚区域,前缀e、o代表偶数、奇数,前缀l、c、r代表左、中、右部分。单面打印时,偶数前缀的选项无效。
+\opt{hdrset} 将选项交给 \pkg{fancyhdr} 宏包页面风格命令 \tn{fancyhf} 处理,设置的是一个名为 \opt{fancy} 的页面风格。\pkg{fancyhdr} 将页眉页脚分成左中右和奇数页(odd)、偶数页(even)共12个部分,所以设置了对应的12个选项。\opt{head} 与 \opt{foot} 表示页眉与页脚区域,前缀e、o代表偶数、奇数,前缀l、c、r代表左、中、右部分。单面打印时,偶数前缀的选项无效。
\begin{ctexexam}
\ctexset
{
@@ -311,15 +311,17 @@
\end{function}
\subsection{目录样式}
-\begin{function}[EXP,added = 2021-01-13]{tocset/.../format,tocset/.../indent,tocset/.../rule,\tocrule}
+\begin{function}[EXP,added = 2021-01-13,updated = 2021-01-14]{tocset/.../format,tocset/.../indent,tocset/.../rule,tocset/lolskip,tocset/belowoffset,\tocrule}
\begin{syntax}
format = <目录标题格式>
indent = <目录标题左边缩进>
rule = <目录引导线样式>
+ lolskip = <(0.8pc)>
+ belowoffset = <(-1pc)>
\tn{tocrule} = \oarg{引导点间距}\oarg{引导点大小}\marg{引导点}\oarg{页码格式}
\end{syntax}
\changes{v1.21c}{2021/01/13}{增加配置目录样式的选项。}
-\opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,预置了 \opt{part}、\opt{chapter}、\opt{section}、\opt{subsection} 和 \opt{lists} 五种级别的目录标题,键值列表中的...代表它们。\opt{lists} 为图片、表格和代码目录格式的级别。\tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用,其中引导线间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。
+\opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,预置了 \opt{part}、\opt{chapter}、\opt{section}、\opt{subsection} 和 \opt{lists} 五种级别的目录标题,键值列表中的...代表它们。\opt{lists} 为图片、表格和代码目录格式的级别。\opt{lolskip} 是代码目录标题后的距离,与\CTeX 的 \opt{lotskip} 和 \opt{lofskip} 不太一样。\opt{belowoffset} 选项为目录总标题 \tn{contentsname} 后的间距补偿,一般为负值,用于抵消 \opt{format} 中设置的间距。建议 \opt{lolskip+lists/format/addvspace = -belowoffset}。\tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用,其中引导线间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。
\begin{ctexexam}
\ctexset
{
diff --git a/macros/latex/contrib/easybook/easybook.cls b/macros/latex/contrib/easybook/easybook.cls
index 5806182a9e..6e9111e6a9 100644
--- a/macros/latex/contrib/easybook/easybook.cls
+++ b/macros/latex/contrib/easybook/easybook.cls
@@ -9,10 +9,11 @@
%% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/01/13}{v1.21c}{}
+\ProvidesExplClass{easybook}{2021/01/14}{1.21d}{}
\cs_generate_variant:Nn \keys_define:nn {nx}
\cs_generate_variant:Nn \int_to_arabic:n {v}
+\cs_generate_variant:Nn \dim_add:Nn {NV}
\cs_new_protected:Npn \__ctex_define:n #1
{\keys_define:nn {ctex/#1}}
\cs_new_protected:Npn \__put_ctexbook:n #1
@@ -166,6 +167,9 @@
modifier = {by},
version = {4.0}
]{doclicense}
+\cs_new_eq:NN \github\faGithub
+\cs_new:Npn \git{\textcolor[HTML]{c71d23}{\faGit}}
+\cs_new:Npn \edge{\textcolor[HTML]{00c2ff}{\faEdge}}
\ctex_at_end_preamble:n
{
\tl_if_empty:NF \g__config_tl
@@ -437,7 +441,7 @@
\__ctex_define:n {tocset}
{
part/format .tl_set:N = \l__toc_part_format_tl,
- part/format .initial:n =
+ part/format .initial:n =
{\addvspace{1pc}\sffamily\large},
part/indent .tl_set:N = \l__toc_part_indent_tl,
part/indent .initial:n = 0\ccwd,
@@ -471,7 +475,12 @@
lists/indent .tl_set:N = \l__toc_lists_indent_tl,
lists/indent .initial:n = 0\ccwd,
lists/rule .tl_set:N = \l__toc_lists_rule_tl,
- lists/rule .initial:n = \tocrule{$\cdot$}
+ lists/rule .initial:n = \tocrule{$\cdot$},
+ lists/lolskip .dim_set:N = \l__toc_lolskip_dim,
+ lists/lolskip .initial:n = 0.8pc,
+
+ belowoffset .dim_set:N = \l__toc_offset_dim,
+ belowoffset .initial:n = -1pc
}
\NewDocumentCommand{\tocrule}{O{0.7pc}O{1.2}mO{}}
@@ -547,7 +556,7 @@
\bool_if:NT \l__multoc_bool{\twocolumn}
\fi
\__title_mark:n {\contentsname}
- \vspace*{-1pc}
+ \vspace*{\l__toc_offset_dim}
\@starttoc{toc}
\if@restonecol
\twocolumn
@@ -565,7 +574,7 @@
\bool_if:NT \l__multoc_bool{\twocolumn}
\fi
\__title_mark_intoc:n {\listfigurename}
- \vspace*{-1pc}
+ \vspace*{\l__toc_offset_dim}
\@starttoc{lof}
\if@restonecol
\twocolumn
@@ -583,7 +592,7 @@
\bool_if:NT \l__multoc_bool{\twocolumn}
\fi
\__title_mark_intoc:n {\listtablename}
- \vspace*{-1pc}
+ \vspace*{\l__toc_offset_dim}
\@starttoc{lot}
\if@restonecol
\twocolumn
@@ -605,7 +614,8 @@
\fi
}
\__title_mark_intoc:n {\lstlistlistingname}
- \vspace*{-0.2pc}
+ \dim_add:NV \l__toc_offset_dim\l__toc_lolskip_dim
+ \vspace*{\l__toc_offset_dim}
\@starttoc{lol}
\@ifundefined{@restonecoltrue}{}
{
diff --git a/macros/latex/contrib/fcolumn/README b/macros/latex/contrib/fcolumn/README
index 5ee451fa0d..e585aa6aaf 100644
--- a/macros/latex/contrib/fcolumn/README
+++ b/macros/latex/contrib/fcolumn/README
@@ -7,15 +7,16 @@ such columns, including the sum line (preceded by a rule of the correct
width), using the specifier ``f''.
The column specifier f itself is rather simple. It is the predefined
-version of a generic column F. The generic version expects three
-arguments: |#1| is the separator, |#2| is the decimal mark, and |#3|
+version of a generic column F. The generic version expects four
+arguments: |#1| is the separator, |#2| is the decimal mark, |#3| is
the coding used for grouping digits of the integer part and decimal
-part. For example the f-column in the current version of the package
+part, and #4 is anything added before typesetting the contents of a
+column. For example the f-column in the current version of the package
is using 3,2 as #3, meaning that numbers are typeset with 2 decimal
digits and grouping is done on 3 digits. The grouping character is
``.'' and the decimal separator is ``,'', thereby coding for the
continental European standard. People in the Anglo-saxon world would
-rather code |\newcolumntype{f}{F{,}{.}{3,2}}|.
+rather code |\newcolumntype{f}{F{,}{.}{3,2}{}}|.
To show where and how the f-column is used, let's look at a typical
financial table.
@@ -33,7 +34,7 @@ The core part of this table is input as
\begin{tabular}{lflf}
house & 200000 & equity capital & 50000 \\
bank account & -603,23 & mortgage & 150000 \\
-savings & 28000 \\
+savings & 28000 \\
cash & 145,85 & profit & 27542,62 \\
\sumline
\end{tabular}
@@ -44,20 +45,23 @@ calculates the totals, makes rules of the correct widths, and
checks whether the two columns are in balance; if not, the user
is warned via a message. A special command \resetsumline exists
which allows one to restart a table, so that multiple tables
-in one tabular environment are possible.
+that are aligned are possible in one tabular environment.
+ The fcolumn specifier can be used in a tabular environment
+and in the longtable environment. Specific fcolumn formatting,
+like colour and/or font changes are possible.
To install:
-----------
Run the file fcolumn.ins through (La)TeX (in a directory also
containing fcolumn.dtx) or type ``make install'' and move the
-file fcolumn.sty to a place searched by TeX.
+resultant file fcolumn.sty to a place searched by TeX.
To produce the documentation:
-----------------------------
-Run the file fcolumn.dtx through LaTeX. Update the glossary
-and index by makeindex:
+Type ``make''. Or run the file fcolumn.dtx through LaTeX,
+update the glossary and index by makeindex:
makeindex -s gglo.ist -o fcolumn.gls fcolumn.glo
makeindex -s gglo.ist -o fcolumn.ind fcolumn.idx
-and then LaTeX again; presto!
+and then LaTeX fcolumn.dtx again; presto!
diff --git a/macros/latex/contrib/fcolumn/fcolumn.dtx b/macros/latex/contrib/fcolumn/fcolumn.dtx
index 5dcef07b61..41bee63cf1 100644
--- a/macros/latex/contrib/fcolumn/fcolumn.dtx
+++ b/macros/latex/contrib/fcolumn/fcolumn.dtx
@@ -1,5 +1,5 @@
% \iffalse meta-comment
-% Copyright (C) 2015--2019 by Edgar Olthof
+% Copyright (C) 2015--2021 by Edgar Olthof
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -14,11 +14,12 @@
% \fi
% \iffalse
%<package>\ProvidesPackage{fcolumn}
-%<package> [2019/04/24 v1.2 Automatic Currency Package (EHTO)]
+%<package> [2021/01/14 v1.3 Automatic Currency Package (EHTO)]
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\RequirePackage{array}[v2.4k]
%<*driver>
\documentclass{ltxdoc}
+\usepackage{longtable}
\usepackage{fcolumn}
\usepackage{booktabs}
\usepackage[tableposition=top,aboveskip=0pt]{caption}
@@ -30,15 +31,16 @@ indention=0pt,labelsep=colon,justification=raggedright}
\usepackage{url}
\usepackage[hyperfootnotes=false,hidelinks]{hyperref}
\usepackage{eurosym}
+\usepackage{color}
\EnableCrossrefs
\CodelineIndex
-\RecordChanges
\begin{document}
\DocInput{fcolumn.dtx}
\end{document}
%</driver>
% \fi
-% \CheckSum{1078}
+% \RecordChanges
+% \CheckSum{1287}
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -64,24 +66,32 @@ indention=0pt,labelsep=colon,justification=raggedright}
% counts and resetting of column counter done in a nicer way.}
% \changes{v1.1.1}{2015/09/27}{Installation procedure changed from .ins-in-.dtx to separate
% .ins and .dtx after discussion with Karl Berry as well as some minor code improvements.}
-% \changes{v1.1.2}{2015/09/29}{Some inconsistencies between explanatory text
-% and actual code removed.}
+% \changes{v1.1.2}{2015/09/29}{Some inconsistencies between explanatory text and actual
+% code removed.}
% \changes{v1.2}{2019/03/06}{Input parsing changed after comment from Frank
% Mittelbach. He (Frank) also gave various suggestions for improving robustness
% or user friendlyness of this package. This version is only backwards compatible
% when zero decimal digits were and are specified as modifier.}
+% \changes{v1.3}{2021/01/03}{Christian Hoff requested the possibility to provide extra formatting
+% information to a column, e.g., colouring. That was implemented by having an extra parameter
+% to the generic F-column. The current solution is not very robust, as font and/or size change
+% in math environment are very tricky, but providing colour information works, see the example
+% in the main text. This version is now compatible with package longtable. Version~1.3 is
+% backwards compatible to~1.2: it only adds functionality.}
% \GetFileInfo{fcolumn.sty}
-% \DoNotIndex{\@arstrut,\@arstrutbox,\@depth,\@firstampfalse,\@firstamptrue,\@gobble,\@halignto}
-% \DoNotIndex{\@height,\@mkpream,\@ne,\@nextchar,\@preamble,\@sharp,\@tempdima,\@tempswafalse}
-% \DoNotIndex{\@tempswatrue,\@\temptokena,\@tfor,\@whilesw,\@width,\advance,\arraystretch,\baselineskip}
-% \DoNotIndex{\begingroup,\bgroup,\count,\count@,\cr,\csname,\def,\divide,\do,\dp,\edef,\egroup}
-% \DoNotIndex{\else,\endcsname,\endgroup,\expandafter,\extrarowheight,\fi,\gdef,\halignto,\hbox}
-% \DoNotIndex{\hfil,\ht,\if,\if@firstamp,\if@tempswa,\ifcase,\lineskip,\loop,\m@ne,\m@th,\message}
-% \DoNotIndex{\multiply,\or,\par,\prepnext@tok,\protect,\repeat,\setbox,\space,\string,\strutbox}
-% \DoNotIndex{\tabskip,\tabularnewline,\the,\the@toks,\thr@@,\tw@,\unhbox,\vbox,\vcenter,\vrule}
+% \DoNotIndex{\@@endpbox,\@@startpbox,\@acol,\@arstrut,\@arstrutbox,\@classiv,\@classz,\@depth}
+% \DoNotIndex{\@firstampfalse,\@firstamptrue,\@gobble,\@halignto,\@height,\@mkpream,\@ne,\@nextchar}
+% \DoNotIndex{\@preamble,\@sharp,\@tempdima,\@tempswafalse,\@tempswatrue,\@\temptokena,\@tfor}
+% \DoNotIndex{\@whilesw,\@width,\advance,\arraystretch,\baselineskip,\begingroup,\bgroup,\count}
+% \DoNotIndex{\count@,\cr,\csname,\def,\divide,\do,\dp,\edef,\egroup,\hfil,\hline,\ht,\if,\if@firstamp}
+% \DoNotIndex{\if@tempswa,\ifcase,\kill,\lineskip,\LT@@hl,\LT@@tabarray,\LT@bchunk,\LT@caption,\LT@endpbox}
+% \DoNotIndex{\LT@hline,\LT@kill,\LT@LL@FM@cr,\LT@make@row,\LT@mcol,\LT@no@pgbk,\LT@nofcols,\LT@rows}
+% \DoNotIndex{\LT@setprevdepth,\LT@startpbox,\LT@tabularcr,\LTleft,\LTright,\loop,\m@ne,\m@th,\message}
+% \DoNotIndex{\multiply,\or,\par,\prepnext@tok,\protect,\refstepcounter,\repeat,\setbox,\space,\string}
+% \DoNotIndex{\strutbox,\tabskip,\tabularnewline,\the,\the@toks,\thr@@,\tw@,\unhbox,\vbox,\vcenter,\vrule}
% \DoNotIndex{\vskip,\vtop,\wd,\xdef,\z@,\z@skip}
-% \title{The \textsf{fcolumn} package\thanks{This file has version
-% number \fileversion, last revised \filedate.}}
+% \title{The \textsf{fcolumn} package\thanks{This file has version number \fileversion, last
+% revised \filedate.}}
% \author{Edgar Olthof\\
% \texttt{edgar <dot> olthof <at> inter <dot> nl <dot> net}}
% \date{Printed \today}
@@ -98,16 +108,16 @@ indention=0pt,labelsep=colon,justification=raggedright}
% The package |fcolumn| provides the macros for an extra tabular specifier
% that makes creating financial tables easy. The column specifier |f|
% itself is rather simple; it is the predefined version of a generic
-% column |F|. The generic version expects three arguments: 1)~grouping
+% column |F|. The generic version expects four arguments: 1)~grouping
% character of the integer part on output, 2)~decimal mark used on output,
-% and 3)~compact additional information on input/output characteristics,
-% see below.
+% 3)~compact additional information on input/output characteristics, and
+% 4)~anything, but primarily used for providing formatting information, see below.
%
% The f-column in the current version of the package is defined for the
-% continental European standard: |\newcolumntype{f}{F{.}{,}{3,2}}|. This
+% continental European standard: |\newcolumntype{f}{F{.}{,}{3,2}{}}|. This
% means that a number like 12345,67 will be typeset as $12{.}345{,}67$.
% People in the Anglo-saxon world would rather code
-% |\newcolumntype{f}{F{,}{.}{3,2}}| for the same input, yielding
+% |\newcolumntype{f}{F{,}{.}{3,2}{}}| for the same input, yielding
% $12{,}345{.}67$ as output for the number given above. The default
% value for |#3| is |3,2|, indicating
% that grouping of the integer part is by three digits, that a comma is
@@ -116,7 +126,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% If however, in your country or company grouping is done with a thinspace every
% four digits, that the separator in the source should be the character |p|,
% and there are three digits after the decimal mark---that happens to be a
-% |\cdot|---, then simply specify |\newcolumntype{f}{F{\,}{\cdot}{4p3}}| in
+% |\cdot|---, then simply specify |\newcolumntype{f}{F{\,}{\cdot}{4p3}{}}| in
% that case. The input could be 12345p678 then, yielding $1{\,}2345{\cdot}678$
% as output.
%
@@ -125,6 +135,11 @@ indention=0pt,labelsep=colon,justification=raggedright}
% mark) you have to explicitly specify |x,0|. If you want no grouping
% character, specify |0,x|.
%
+% As the fourth parameter you can insert anything just before the typesetting
+% of an amount in a column takes place. Its purpose is to add additional
+% formatting information, e.g., |\color{red}| to have the contents of a column
+% coloured red, but it can be misused, so use with care. And it can't do all!
+%
% This package requires and loads the |array| package~\cite{array}. To
% show where and how the |F|-column is used, let's look at some typical
% financial information as shown in Table~\ref{tab:ex1}
@@ -138,7 +153,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% \midrule
% house & 200000 & equity capital& 50000 \\
% bank account & -603,23 & mortgage & 150000 \\
-% savings & 28000 & & \\
+% savings & 28000 \\
% cash & 145,85 & profit & 27542,62 \\
% \sumline
% \bottomrule
@@ -146,7 +161,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% \end{table}
% and how this is entered in \LaTeX\ (Table~\ref{tab:ex2}).
% \begin{table}[htb]
-% \caption{Verbatim version of Example Table.}
+% \caption{Verbatim version of Example Table~\ref{tab:ex1}.}
% \label{tab:ex2}
% \begin{verbatim}
%\begin{table}[htb]
@@ -159,7 +174,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
%\midrule
%house & 200000 & equity capital& 50000 \\
%bank account & -603,23 & mortgage & 150000 \\
-%savings & 28000 & & \\
+%savings & 28000 \\
%cash & 145,85 & profit & 27542,62 \\
%\sumline
%\bottomrule
@@ -176,17 +191,143 @@ indention=0pt,labelsep=colon,justification=raggedright}
%
% This package is heavily inspired by the |dcolumn| package by
% David Carlisle~\cite{dcolumn}, some constructions are more or less
-% copied from that package. Version~1.2 (this version) uses a few ideas
-% from, and incorporates quite some suggestions by, Frank Mittelbach.
+% copied from that package. Version~1.3 (this version) incorporates the idea
+% of Christian Hoff of providing additional (formatting) information per column.
+% A rather contrived example is given in Table~\ref{tab:ex3}, combining colour and fonts.
+% \newcolumntype{q}[1]{F{.}{,}{3,2}{#1}}
+% \begin{table}[htb]
+% \caption{Example Table with column formatting.}
+% \label{tab:ex3}
+% \begin{tabular}{@{}lq{\color{red}\mathsf,{}\mathbf}lq{\color{green}}@{}}
+% \multicolumn4c{\bfseries Balance sheet}\\
+% \toprule
+% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\
+% \midrule
+% house & 200000 & equity capital& 50000 \\
+% bank account & -603,23 & mortgage & 150000 \\
+% savings & 28000 \\
+% cash & 145,85 & profit & 27542,62 \\
+% \sumline
+% \bottomrule
+% \end{tabular}
+% \end{table}
+% How this is entered in \LaTeX\ is shown in Table~\ref{tab:ex4}.
+% \begin{table}[htb]
+% \caption{Almost verbatim version of Example Table~\ref{tab:ex3}.}
+% \label{tab:ex4}
+% \begin{verbatim}
+%\newcolumntype{q}[1]{F{.}{,}{3,2}{#1}}
+%\begin{table}[htb]
+%\caption{Example Table with column formatting.}
+%\label{tab:ex3}
+%\begin{tabular}{@{}lq{\color{red}\mathsf,{}\mathbf}lq{\color{green}}@{}}
+%\multicolumn4c{\bfseries Balance sheet}\\
+%...
+%...(same financial contents as in Table 1)
+%...
+%\end{tabular}
+%\end{table}
+% \end{verbatim}
+% \end{table}
+% The font changing commands like |\mathsf| and |\mathbf| act on an argument, hence require
+% braces, but these are already provided internally for this purpose. For that reason this
+% type of commands must be given last, without braces (and if you don't specify a font
+% changing command, these extra internal braces are just redundant). The argument to
+% the new columntype may consist of two parts,
+% separated by a comma. In that case, the part to the left of the comma is applied to the
+% whole column and the right part is applied in addition to the result. The example in
+% Table~\ref{tab:ex3} shows this: the bold font is only used in the |\sumline| and the
+% effect of |\mathsf| is annulled by the brace pair before |\mathbf|. You may even change
+% the colour for the |\sumline|, e.g., blue by ``|,{}\color{blue}\mathbf|'', since colour
+% settings do not require braces and the last setting overrides a previous one. If you want
+% bold font for the whole column, leave out the comma (and the |\mathsf{}|).
+%
+% Note that changes in font size, e.g., ``|\huge|'' in ``|\huge\color{red}\mathbf|''
+% as parameter to column type |q| are ignored by \LaTeX, since the formatting
+% information is used in math environment, which has its own way of handling this.
+% This isn't bad, as size changes in one column, without overall changes to the
+% table look terrible. If you want something huge, make a |\huge| table.
+%
+% This package now also works with |longtable|~\cite{longtable}, provided
+% |longtable| is loaded before |fcolumn|; it checks for that. For a change,
+% the raw formatting of the multipage table is shown first, in Table~\ref{tab:ex5}.
+% For more information on how to handle |\endhead| and related commands, see the
+% documentation of |longtable|~\cite{longtable}.
+% \begin{table}[htb]
+% \caption{Almost verbatim version of Example Table~\ref{tab:ex6}.}
+% \label{tab:ex5}
+% \begin{verbatim}
+%\begin{longtable}[l]{@{}lflf@{}}
+%\caption{\label{tab:ex6}Table showing compatibility of fcolumn and
+% longtable.}\\
+%\multicolumn4c{\bfseries Balance sheet}\\
+%\toprule
+%properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\
+%\midrule
+%\endfirsthead
+%\caption[]{\textit{(continued from previous page)\/}}\\
+%\midrule
+%properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\
+%\midrule
+%\endhead
+%\midrule
+%\multicolumn4{r@{}}{\textit{(Table continues on next page)\/}}\\
+%\endfoot
+%\bottomrule
+%\endlastfoot
+%...
+%...(somewhat altered financial contents as in Table 1)
+%...
+%\end{longtable}
+% \end{verbatim}
+% \end{table}
%
+% \noindent And here is the result (it's ugly, but it had to be that long to
+% demonstrate the page break). Not shown here are the new |fcolumn|
+% formatting possibilities (like new fonts and/or colours), but it has been
+% checked they do work in combination with |longtable|.
+% \begin{longtable}[l]{@{}lflf@{}}
+% \caption{\label{tab:ex6}Table showing compatibility of fcolumn and
+% longtable.}\\
+% \multicolumn4c{\bfseries Balance sheet}\\
+% \toprule
+% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\
+% \midrule
+% \endfirsthead
+% \caption[]{\textit{(continued from previous page)\/}}\\
+% \midrule
+% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\
+% \midrule
+% \endhead
+% \midrule
+% \multicolumn4{r@{}}{\textit{(Table continues on next page)\/}}\\
+% \endfoot
+% \bottomrule
+% \endlastfoot
+% house & 200000 & equity capital& 50000 \\
+% bank account & -603,23 & mortgage & 150000 \\
+% savings 1 & 2800 \\
+% savings 2 & 2800 \\
+% savings 3 & 2800 \\
+% savings 4 & 2800 \\
+% savings 5 & 2800 \\
+% savings 6 & 2800 \\
+% savings 7 & 2800 \\
+% savings 8 & 2800 \\
+% savings 9 & 2800 \\
+% savings 10 & 2800 \\
+% cash & 145,85 & profit & 27542,62 \\
+% \sumline
+% \end{longtable}
+
% \section{Commands}
% The user only needs to know six commands or constructions. These six are given here.
% \begin{macro}{F}
% In the tabular the column specifier |F| can be given with arguments, or
-% the predefined version~|f|, where the three arguments of |F| are |{.}|,
-% |{,}|, and |{3,2}|. If you want |g| to be your own definition like the
+% the predefined version~|f|, where the four arguments of |F| are |{.}|,
+% |{,}|, |{3,2}|, and |{}|. If you want |g| to be your own definition like the
% curious one given in Section~\ref{intro}, then specify
-% |\newcolumntype{g}{F{\,}{\cdot}{4p3}}| prior to using |g| in a tabular.
+% |\newcolumntype{g}{F{\,}{\cdot}{4p3}{}}| prior to using |g| in a tabular.
%
% Entries in an F-column are, from that moment on, treated as numbers unless
% explicitly escaped by |\leeg|, see below. The numbers are typeset
@@ -196,7 +337,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% character is the dot, except when the dot is specified as input decimal
% mark; in that case the comma is acting as input grouping character. With
% this convention the continental Europe and Anglo-saxon part of the world
-% is served.
+% is served. And using input grouping markers is optional.
% \end{macro}
% \begin{macro}{\sumline}
% The numbers in an |F|-column are typeset as a financial amount, but the real
@@ -207,7 +348,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% \item It generates a rule with width calculated in the first item;
% \item It checks the columns that are supposed to balance whether or not they
% actually do. If so, nothing happens. If not, a |\PackageWarning| is given
-% that column $i$ and $j$ do not balance, where $i$ and $j$ are the relevant
+% that column~$i$ and~$j$ do not balance, where $i$ and $j$ are the relevant
% columns. This is only done if the total number of |F|-columns is even,
% e.g., if there are six |F|-columns, then~1 is checked against~4, 2 against~5,
% and 3 against~6. If the number of |F|-columns is odd then anything could be
@@ -217,18 +358,21 @@ indention=0pt,labelsep=colon,justification=raggedright}
% By default the vertical separation between the rule and the total is
% 2\thinspace pt, but this can be changed by the optional argument to
% |\sumline|. Give, e.g., |\sumline[10pt]|, in case you want this spacing
-% to be 10\thinspace pt.
+% to be 10\thinspace pt. And you may even give two options, like in
+% |\sumline[10pt][5pt]|, in which the second option is the extra space below
+% the summary row. In fact that second option is the option to |\\| that is
+% implicit in |\sumline|.
% \end{macro}
% \begin{macro}{\resetsumline}
% Suppose you want to typeset one tabular with the profit-and-loss of many
% projects individually. The layout of those tabulars is the same and it
% were nice if all columns were aligned. This can be done by making it one
% big tabular with a fresh start for each project. The macro
-% |\resetsumlines| is used for that: it resets all totals and all column
-% widths, see for example Table~\ref{tab:ex3}.
+% |\resetsumline| is used for that: it resets all totals and all column
+% widths, see for example Table~\ref{tab:ex7}.
% \begin{table}[htb]
% \caption{Example: multiple projects.}
-% \label{tab:ex3}
+% \label{tab:ex7}
% \begin{tabular}{@{}lfflff@{}}
% \multicolumn6c{\bfseries Project~1}\\
% \toprule
@@ -256,10 +400,10 @@ indention=0pt,labelsep=colon,justification=raggedright}
% Note that the rules in the first and third |F|-columns of project~1 cover
% $1{.}200{,}00$ whereas in project~2 those rules are narrower since they
% only cover $430{,}00$; still the columns are aligned. The verbatim way
-% of setting up Table~\ref{tab:ex3} is given in Table~\ref{tab:ex4}.
+% of setting up Table~\ref{tab:ex7} is given in Table~\ref{tab:ex6}.
% \begin{table}[htb]
-% \caption{Verbatim version of Table~\ref{tab:ex3}.}
-% \label{tab:ex4}
+% \caption{Verbatim version of Table~\ref{tab:ex7}.}
+% \label{tab:ex8}
% \begin{verbatim}
%\begin{table}[htb]
%\caption{Example: multiple projects.}
@@ -317,7 +461,9 @@ indention=0pt,labelsep=colon,justification=raggedright}
% even other ways. By default (for aesthetic reasons) |fcolumn| typesets
% it with a minus~sign, but strict accounting prescibes that the number
% should be put between parentheses. The latter can be accomplished by
-% setting |\strict@ccountingtrue|.
+% setting |\strict@ccountingtrue|. But since this contains a non-letter,
+% it is also possible to invoke |fcolumn| with the option |strict|, i.e.,
+% |\usepackage[strict]{fcolumn}|, which sets this flag.
% \end{macro}
% \StopEventually{\PrintChanges\PrintIndex}
% \section{The macros}
@@ -339,8 +485,8 @@ indention=0pt,labelsep=colon,justification=raggedright}
% column type |f| does not use private macros (no~|@|), so overriding its
% definition is easy for a user.
% \begin{macrocode}
-\newcolumntype{F}[3]{>{\b@fi{#1}{#2}{#3}}r<{\e@fi}}
-\newcolumntype{f}{F{.}{,}{3,2}}
+\newcolumntype{F}[4]{>{\b@fi{#1}{#2}{#3}{#4}}r<{\e@fi}}
+\newcolumntype{f}{F{.}{,}{3,2}{}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -374,21 +520,25 @@ indention=0pt,labelsep=colon,justification=raggedright}
% \end{macrocode}
% Actually |\geldm@cro| is only a wrapper around |\g@ldm@cro|.
% \begin{macrocode}
-\def\geldm@cro#1#2{\withs@pfalse
+\def\geldm@cro#1#2{\withs@pfalse
\afterassignment\g@ldm@cro\count@#1\relax{#2}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\g@ldm@cro}
-% This macro starts by looking at the sign of |#2|: if it is negative, it prints
+% After setting the environment for formatting, this macro starts by looking
+% at the sign of |#2|: if it is negative, it prints
% the correct indicator (a parenthesis or a minus sign), assigns the absolute value
% of~|#2| to |\count2| and goes on. Note that |\geldm@cro| and therefore |\g@ldm@cro|
% are always used within |$|s, so it is really a minus sign that is printed, not a hyphen.
% All calculations are done with |\count0|, |\count1|, etc.\ i.e., without |F|-column-specific
% \meta{count}s because it is all done locally. Leaving the tabular environment will
-% restore their values.
+% restore their values. This is also true for the effect of |\FCform@t|, so that formatting
+% information is local to this column. The reason for inserting the opening brace between
+% |\FCform@t| and |\ifnum| (and the accompanying closing brace after |\fi|) is to facilitate
+% the possible use of |\mathbf| or any other font changing command as the last item in |\FCform@t|.
% \begin{macrocode}
-\def\g@ldm@cro#1\relax#2{\ifnum#2<0 \ifstrict@ccounting (\else -\fi
- \count2=-#2 \else\count2=#2
+\def\g@ldm@cro#1\relax#2{\FCform@t{\ifnum#2<0 \ifstrict@ccounting (\else
+ -\fi \count2=-#2 \else\count2=#2
\fi
% \end{macrocode}
% Calculate the entire currency units: this is the result of $x/a$ as integer
@@ -450,7 +600,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
\rlap{)~!}\else\rlap{~!}\fi\else\ifstrict@ccounting
\rlap{\phantom{)}~!}\else\rlap{~!}\fi\fi
\else \ifnum#2<0 \ifstrict@ccounting\rlap{)}\fi\fi
-\fi}
+\fi}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\g@ldens}
@@ -470,7 +620,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% about 100 times the current world economy~\cite{world_economy}. Yet
% another method is to used Heiko Oberdiek's package |bigintcalc|:
% then only memory restrictions apply. This, however, requires a major
-% rewrite of |fcolumn|. For now, version~1.2 sticks to the moderate amounts.
+% rewrite of |fcolumn|. For now, version~1.3 sticks to the moderate amounts.
%
% There is no straightforward interpretation of |#1| being zero or
% negative, therefore this is used as an indicator that no grouping
@@ -551,7 +701,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% First it checks whether there is a risk of overflow in this step. If
% $A$ and $B$ are two \TeX-registers and $B$ is to be added to $A$,
% overflow will not occur if one is (or both are) zero or if $A$ and~$B$
-% have different signs. Otherwise, be careful. Note that \TeX\ does not
+% have different signs. Otherwise, be careful. Note that \TeX\ does not
% check for overflow when performing an |\advance| (done in section~1238
% of Ref.~\cite{CandTB}), in contrast to |\multiply|, see section~105.
% \begin{macrocode}
@@ -568,13 +718,13 @@ indention=0pt,labelsep=colon,justification=raggedright}
\global\advance\csname FCtot@\romannumeral\FCsc@l\endcsname by \count0
\ifx\FCs@gn\m@ne
% \end{macrocode}
-% They had the same sign: risk of overflow. Record the sign
+% They had the same sign: risk of overflow. Record the sign
% of |\count0| (and of the original total of this column; they were
-% the same) in |\FCs@gn|. Table~\ref{tab:ex5}
+% the same) in |\FCs@gn|. Table~\ref{tab:ex9}
% \begin{table}[htb]
-% \def\PackageError#1#2#3{\PackageWarning{#1}{#2}}
+% \def\PackageError#1#2#3{\PackageWarning{#1}{#2: #3}}
% \caption{Examples on overflow.}
-% \label{tab:ex5}
+% \label{tab:ex9}
% \begin{tabular}{@{}lfff@{}}
% \multicolumn4c{\bfseries Projects}\\
% \toprule
@@ -605,7 +755,9 @@ indention=0pt,labelsep=colon,justification=raggedright}
\ifnum\count0<0
\let\FCs@gn=\m@ne
\PackageError{fcolumn}{Register overflow}{Overflow occurred
- in fcolumn \number\FCsc@l. Check your table.}%
+ in fcolumn \number\FCsc@l. You can press <enter> now and I'll
+ proceed,\MessageBreak but check your table. The offending entry is
+ indicated with an exclamation\MessageBreak mark in the output.}%
\else\let\FCs@gn=\@ne
\fi
\fi
@@ -618,29 +770,34 @@ indention=0pt,labelsep=colon,justification=raggedright}
\fi\unhbox0}
% \end{macrocode}
% \end{macro}
+%
+% The \meta{count}s |\FC@l| captures the part to the left of the decimal
+% mark, |\FC@r| that to the right.
+% \begin{macrocode}
+\newcount\FC@l \newcount\FC@r
+% \end{macrocode}
+% Some auxiliary definitions for capturing compacted information.
+% \begin{macrocode}
+\def\setucc@de#1#2\relax{\uccode`\~=`#1 }
+\def\assignform@t#1,#2,#3\end{\def\FCform@t{#1}\def\FCform@tt{#1#2}}
+% \end{macrocode}
% \def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}}
% \begin{macro}{\b@fi}
% The macro |\b@fi| provides the beginning of the financial column. It
-% will be inserted in the column to capture the number entered by the user
+% will be inserted in the column to capture the number entered by the user.
% The separator and decimal mark are within a math environment, so you
% can indeed specify |\,| instead of |\thinspace|, but there is an extra
% brace around, so it doesn't affect the spacing between the digits
% (trick copied from |dcolumn|, Ref.~\cite{dcolumn}).
-%
-% The \meta{count}s |\FC@l| captures the part to the left of the decimal
-% marker, |\FC@r| that to the right.
% \begin{macrocode}
-\newcount\FC@l \newcount\FC@r
-\def\FC@chklist{}
-\def\setucc@de#1#2\relax{\uccode`\~=`#1 }
-\def\b@fi#1#2#3{%
+\def\b@fi#1#2#3#4{%
% \end{macrocode}
% An intermediate macro |\sep@xt| to extract the first character
% of |#1|, which in most cases will be the only character.
% \begin{macrocode}
\def\sep@xt##1##2\end{\def\sep@rator{{##1}}}%
\sep@xt#1\end\def\decim@lmark{{#2}}%
-\def\sp@l{#3}\global\advance\FCsc@l by \@ne
+\def\sp@l{#3}\assignform@t#4,,\end \global\advance\FCsc@l by \@ne
\global\FC@l=0 \global\FC@r=1
% \end{macrocode}
% The value specified by the user is then captured by |\FC@l| and
@@ -651,23 +808,23 @@ indention=0pt,labelsep=colon,justification=raggedright}
% There are four parts to an |F|-column entry, all parts optional,
% making 16 combinations. The sequence is
% (in the Backus--Naur notation of Ref.~\cite{CandTA}):
-% \<sign> \<integer constant> \<decimal marker>
+% \<sign> \<integer constant> \<decimal mark>
% \<integer constant>. Here \<sign> is a plus or minus character with
% category code~12, \<integer constant> is a sequence of zero
-% or more (decimal) \<digit>s, and \<decimal marker> is the middel
+% or more (decimal) \<digit>s, and \<decimal mark> is the middel
% part of |#3|, i.e., the comma in |3,2| or the period in |3.2|.
-% If the \<decimal marker> is absent with no space characters between
+% If the \<decimal mark> is absent with no space characters between
% the two \<integer constant> terms, these merge, making four redundant
-% entries. One of the
-% combinations is \<empty>, a sequence of exactly zero non-space tokens:
-% this is the only combination that doesn't put anything in an |F|-column.
+% entries. One of the combinations is \<empty>, a sequence of exactly
+% zero non-space tokens: this is the only combination that doesn't put
+% anything in an |F|-column---and was the most difficult part to handle.
%
% The minus sign must be captured separately, because in an entry like
% |-0,07| the 7~cents are negative, but this cannot be seen from the
-% integer part, since $-0$ is $0$ in \TeX\ (in fact in most computer
-% languages, but not in~MIX~\cite{TAOCP1}), so |\ifnum-0<0| yields false.
-% |\FCs@gn| is a general purpose flag. Its first use is to capture
-% the sign.
+% part to the left of the decimal mark, since $-0$ is~$0$ in \TeX\ (in
+% fact in most computer languages, but not in~MIX~\cite{TAOCP1}), so
+% |\ifnum-0<0| yields |false|. |\FCs@gn| is a general purpose flag. Its
+% first use is to capture the sign.
% \begin{macrocode}
\let\FCs@gn=\@ne\relax \setbox0\hbox\bgroup$%
% \end{macrocode}
@@ -726,7 +883,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
\ifnum\count@=\mathcode`- \expandafter\global\FC@l=\the\FC@l
\else \expandafter\global\FC@r=\the\FC@r\fi}%
% \end{macrocode}
-% The signs are relatively simply: record the sign, restore |\mathcode|s if
+% The signs are relatively simple: record the sign, restore |\mathcode|s if
% needed (it should be: a minus sign between digits screws up everything),
% and start scanning the number.
% \begin{macrocode}
@@ -744,7 +901,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
\mathcode`-="8000 \mathcode`+=\mathcode`- \mathcode`.=\mathcode`-
% \end{macrocode}
% These three remain active until the |$| in |\e@fi| is encountered.
-% The following ones will, in the general case, have their activeness
+% The following ones will, except in the \<empty> case, have their activeness
% turned off at some time.
% \begin{macrocode}
\def\actdecm@rk##1##2\relax{\ifx##1.\relax \mathcode`,=\mathcode`-
@@ -765,21 +922,24 @@ indention=0pt,labelsep=colon,justification=raggedright}
% globally to a negative value. This doesn't harm, because it didn't
% contain relevant information anyway. Outside the group, the sign
% of |\FC@r| can then be tested. This is a slight misuse of this
-% |\count|, but now it's documented.
-%
-% If there was no decimal sign or if there was a decimal sign but no
-% decimal part, |\FC@r| will still be~1, which doesn't parse well with
-% |\secd@xt|, so a zero is appended.
+% |\count|, but now it's documented. In effect, |\FC@r| can only be~|-1|,
+% |1|, or at least~|10|, so the comparison |\ifnum\FC@r>0| does not mis~0.
% \begin{macrocode}
\def\e@fi{\ifnum\mathcode`\0=\mathcode`- \global\FC@r=\m@ne\fi$\egroup
\ifnum\FC@r>0
- \ifnum\FC@r<10 \multiply\FC@r by 10 \fi
% \end{macrocode}
-% Next is a loop for bringing the decimal part in the correct way to the
+% If there was no decimal mark or if there was a decimal mark but no
+% decimal part, |\FC@r| will still be~1, which doesn't parse well with
+% |\secd@xt|, so a zero is appended, i.e., yielding~|10|.
+% \begin{macrocode}
+ \ifnum\FC@r<10 \FC@r=10 \fi
+% \end{macrocode}
+% Next is a loop for bringing the decimal part in the correct way to
% the integer part. The loop is performed the number of decimal
% digits to be printed (the~2 in |3,2| of the default setting). This also
-% means that if you specified more decimal digits than this, the excess
-% digit(s) will not be handled and a |\PackageWarning| will be given.
+% means that if you provided more decimal digits than this, the excess
+% digit(s) will not be handled and a |\PackageWarning| will be given,
+% showing these excess digits. This is truncation, not rounding!
% \begin{macrocode}
\def\i@ts##1##2{\count0=##2}
\afterassignment\i@ts\count@\sp@l
@@ -896,22 +1056,23 @@ indention=0pt,labelsep=colon,justification=raggedright}
\let\@@array=\@array
% \end{macrocode}
% \end{macro}
+% Much of the techniques here are repeated in |\LT@array|.
% \subsection{The sumline, close to a postamble}
% \begin{macro}{\@mksumline}
% The construction of the sumline is much easier than that of the preamble
% for several reasons. It may be safely assumed that the preamble specifier
% is grammatically correct because it has already been screened by |\@mkpream|.
-% Furthermore most entries will simply add nothing to |\s@ml@ne|, e.g., |@|, |!|,
+% Furthermore, most entries will simply add nothing to |\s@ml@ne|, e.g., |@|, |!|,
% and \verb+|+ can be fully ignored. Ampersands are only inserted by |c|, |l|, |r|,
% |p|, |m|, and |b|. So a specifier like |@{}lflf@{}| will yield the sumline
% |&\a&&\a\\|, (where |\a| is a macro that prints the desired result of the column,
-% see later). Had the specifier been \verb+l|f||@{ }l|f+, then the same sumline must
+% see below). Had the specifier been \verb+l|f||@{ }l|f+, then the same sumline must
% be constructed: all difficulties are already picked up and solved in the creation
% of the preamble.
%
% In reality the sumline must be constructed from the expanded form of the
% specifier, so |@{}lf@{}| will expand as
-% |@{}l>{\b@fi{.}{,}{3,2}}r<{\e@fi}@{}|. The rules for constructing the
+% |@{}l>{\b@fi{.}{,}{3,2}{}}r<{\e@fi}@{}|. The rules for constructing the
% sumline are now very simple:
% \begin{compactitem}[$\bullet$]
% \item add an ampersand when |c|, |l|, |r|, |p|, |m|, or |b| is found,
@@ -925,7 +1086,7 @@ indention=0pt,labelsep=colon,justification=raggedright}
% be written, but that is not necessary: |\@testpach| can do all the work,
% although much of it will be discarded. Here speed is sacrificed for space
% and this can be afforded because the creation of the sumline is done only
-% once per |\tabular|.
+% once per |\tabular| or |\longtable|.
%
% The start is copied from |\@mkpream|.
% \begin{macrocode}
@@ -939,12 +1100,9 @@ indention=0pt,labelsep=colon,justification=raggedright}
% \end{macrocode}
% Then |\@mkpream| is picked up again.
% \begin{macrocode}
-\@temptokena{#1}
-\@tempswatrue
+\@temptokena{#1}\@tempswatrue
\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
-\count0\m@ne
-\let\the@toks\relax
-\prepnext@tok
+\count0\m@ne\let\the@toks\relax\prepnext@tok
% \end{macrocode}
% Next is the loop over all tokens in the expanded form of the specifier. The change
% with respect to |\@mkpream| is that the body of the loop is now only dealing
@@ -955,10 +1113,8 @@ indention=0pt,labelsep=colon,justification=raggedright}
\expandafter \@tfor \expandafter \@nextchar
\expandafter :\expandafter =\the\@temptokena \do
{\@testpach
- \ifcase \@chclass \@classfz
- \or \or \@classfii \or
- \or \or \or \or \or \or \or \@classfx \fi
- \@lastchclass\@chclass}%
+ \ifcase \@chclass \@classfz \or \or \@classfii \or \or \or \or \or
+ \or \or \or \@classfx \fi\@lastchclass\@chclass}%
% \end{macrocode}
% And the macro is finished by applying the |\aut@check| and appending the
% |\\| to the sumline. Note that the |\aut@check| is performed {\itshape
@@ -1006,7 +1162,8 @@ indention=0pt,labelsep=colon,justification=raggedright}
\edef\t@stn{\string\e@fi}
\ifx\t@stm\t@stn
% \end{macrocode}
-% If both tests yield |true| then add the macro to typeset everything.
+% If both tests yield |true|, i.e., we encountered a |<{\e@fi}| where we expect one to
+% find, then add the macro to typeset everything.
% \begin{macrocode}
\@addtosumline{\prr@sult}
% \end{macrocode}
@@ -1074,12 +1231,14 @@ indention=0pt,labelsep=colon,justification=raggedright}
\def\sumline{\@ifnextchar[\s@mline{\s@mline[2pt]}}
\def\s@mline[#1]{\global\s@mlinesep=#1 \s@ml@ne}
% \end{macrocode}
+% In the introduction it was stated that |\sumline| has two options, but in
+% reality that second option is the option to |\\| that is issued by |\s@ml@ne|.
% \end{macro}
% \begin{macro}{\prr@sult}
% The macro |\prr@sult| actually puts the information together. It starts
% like |\leeg|.
% \begin{macrocode}
-\def\prr@sult{$\egroup \let\e@fi=\relax
+\def\prr@sult{$\egroup \let\e@fi=\relax \let\FCform@t=\FCform@tt
% \end{macrocode}
% Then the information for the last line is computed. It is not sufficient
% to calculate the width of the result (in points) to use that as the width
@@ -1126,7 +1285,7 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}%
% table but it doesn't increase the totals of that column by~3 (assuming
% |3,2| coding for the separations). But you won't cheat, won't you?
% It may affect the width, so be careful: don't insert the unabridged
-% version of Romeo and Julia here.
+% version of Romeo and Juliet~\cite{RJ} here.
% \end{macro}
% \begin{macro}{\res@tsumline}
% Since all changes to the totals and widths of the columns are global,
@@ -1168,6 +1327,7 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}%
% If the list |\FC@chklist| is empty, the list for the automatic check is
% generated (which will remain empty if |\FCsc@l| is odd).
% \begin{macrocode}
+\def\FC@chklist{}
\def\aut@check{\ifx\@empty\FC@chklist\relax
\ifodd\FCsc@l\else
\count0=\@ne \count1=\FCsc@l
@@ -1217,12 +1377,84 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}%
\def\checkfcolumns#1#2{\noalign{\xdef\FC@chklist{\FC@chklist #1,#2;}}}
% \end{macrocode}
% \end{macro}
+% \subsection{Support for package longtable}
+% Package |longtable| is used for tables that may span multiple pages. |fcolumn| and
+% |longtable| work together as long as |longtable| is loaded first, so that |fcolumn|
+% can adapt one definition of |longtable|. If |longtable| is not loaded, that definition
+% is just that: a definition. If |longtable| is loaded before |fcolumn|, it is a
+% redefinition, and it should be. For that reason the user is warned (not loading
+% |longtable| is not an error if you don't use it) if |fcolumn| is loaded without prior
+% loading of |longtable|.
+% \begin{macrocode}
+\ifx\longtable\@undefined
+ \PackageWarning{fcolumn}{fcolumn is loaded without longtable. That's
+ OK, but\MessageBreak if you want to load longtable as well, make sure
+ \MessageBreak it is done before loading fcolumn}
+\fi
+% \end{macrocode}
+% \begin{macro}{\LT@array}
+% And here is the only definition of |longtable| that needs to be adapted a bit, to make
+% |fcolumn| work with that package.
+% \begin{macrocode}
+\def\LT@array[#1]#2{%
+ \refstepcounter{table}\stepcounter{LT@tables}%
+ \if l#1 \LTleft\z@\LTright\fill
+ \else\if r#1 \LTleft\fill\LTright\z@
+ \else\if c#1 \LTleft\fill\LTright\fill
+ \fi\fi\fi
+ \let\LT@mcol\multicolumn\let\LT@@tabarray\@tabarray\let\LT@@hl\hline
+ \def\@tabarray{\let\hline\LT@@hl \LT@@tabarray}%
+ \let\\\LT@tabularcr\let\tabularnewline\\%
+ \def\newpage{\noalign{\break}}%
+ \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
+ \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
+ \let\hline\LT@hline\let\kill\LT@kill\let\caption\LT@caption
+ \@tempdima\ht\strutbox\let\@endpbox\LT@endpbox
+ \ifx\extrarowheight\@undefined
+ \let\@acol\@tabacol\let\@classz\@tabclassz\let\@classiv\@tabclassiv
+ \def\@startpbox{\vtop\LT@startpbox}\let\@@startpbox
+ \@startpbox\let\@@endpbox\@endpbox\let\LT@LL@FM@cr\@tabularcr
+ \else
+ \advance\@tempdima\extrarowheight \col@sep\tabcolsep
+ \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
+ \fi
+ \setbox\@arstrutbox\hbox{\vrule\@height\arraystretch\@tempdima
+ \@depth\arraystretch\dp\strutbox\@width\z@}%
+ \let\@sharp##\let\protect\relax
+ \begingroup
+ \@mkpream{#2}%
+ \xdef\LT@bchunk{%
+ \global\advance\c@LT@chunks\@ne\global\LT@rows\z@
+ \setbox\z@\vbox\bgroup\LT@setprevdepth\tabskip\LTleft
+ \noexpand\halign to\hsize\bgroup\tabskip\z@\@arstrut
+ \@preamble\tabskip\LTright\cr}%
+ \endgroup
+% \end{macrocode}
+% Until this line it was just the code for |\LT@array| from package |longtable|.
+% The five lines of the next chunk are new to |\LT@array|. Their
+% purpose is the same as in |\@array| above.
+% \begin{macrocode}
+ \begingroup
+ \@mksumline{#2}%
+ \endgroup
+ \res@tsumline
+ \everycr{\noalign{\global\FCsc@l=0 }}%
+% \end{macrocode}
+% From here on |\LT@array| is picked up again.
+% \begin{macrocode}
+ \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
+ \LT@make@row\m@th\let\par\@empty
+ \lineskip\z@\baselineskip\z@\LT@bchunk}
+% \end{macrocode}
+% \end{macro}
% That's it!
% \section*{Acknowledgement}
% Thanks to Karl Berry for valuable comments regarding the consistency of
% the installation procedure of this version. Frank Mittelbach gave
% various useful suggestions for improving the input parsing as well as
-% hints to make the package more \LaTeX-like.
+% hints to make the package more \LaTeX-like. He also challenged me to make |fcolumn|
+% compatible with |longtable|. Christian Hoff's request on column formatting triggered
+% many happy hours of coding.
% \bibliographystyle{plain}
% \begin{thebibliography}{9}
% \itemsep0pt
@@ -1232,10 +1464,12 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}%
% A new implementation of \LaTeX's |tabular| and |array| environment.
% \bibitem{booktabs} Simon Fear. Publication quality tables in \LaTeX.
% \bibitem{dcolumn} David Carlisle. The |dcolumn| package.
+% \bibitem{longtable} David Carlisle. The |longtable| package.
% \bibitem{world_economy} According to the IMF \url{www.imf.org}.
% \bibitem{CandTB} Donald Knuth, Computers \& Typesetting/B, \TeX: the program.
% \bibitem{CandTA} Donald Knuth, Computers \& Typesetting/A, The \TeX book.
% \bibitem{TAOCP1} Donald Knuth, The Art of Computers Programming, volume~1.
+% \bibitem{RJ} William Shakespeare, Romeo and Juliet, a tragedy (1597).
% \end{thebibliography}
% \Finale
\endinput
diff --git a/macros/latex/contrib/fcolumn/fcolumn.ins b/macros/latex/contrib/fcolumn/fcolumn.ins
index fcfed706ee..5c2e3e7d48 100644
--- a/macros/latex/contrib/fcolumn/fcolumn.ins
+++ b/macros/latex/contrib/fcolumn/fcolumn.ins
@@ -17,7 +17,7 @@
This is a generated file.
-Copyright (C) 2015--2019 by Edgar Olthof
+Copyright (C) 2015--2021 by Edgar Olthof
This file may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -42,9 +42,9 @@ LaTeX version 1999/12/01 or later.
\Msg{* fcolumn.sty *}
\Msg{* *}
\Msg{* into a directory searched by TeX. *}
-\Msg{* To produce the documentation, run the file *}
-\Msg{* fcolumn.dtx through LaTeX. Make sure to update *}
-\Msg{* the glossary and index by makeindex: *}
+\Msg{* To produce the documentation, type ``make'' or *}
+\Msg{* run the file fcolumn.dtx through LaTeX. Make sure *}
+\Msg{* to update the glossary and index by makeindex: *}
\Msg{* *}
\Msg{* makeindex -s gglo.ist -o fcolumn.gls fcolumn.glo *}
\Msg{* makeindex -s gglo.ist -o fcolumn.ind fcolumn.idx *}
diff --git a/macros/latex/contrib/fcolumn/fcolumn.pdf b/macros/latex/contrib/fcolumn/fcolumn.pdf
index 79c96886b2..16ea57e5a7 100644
--- a/macros/latex/contrib/fcolumn/fcolumn.pdf
+++ b/macros/latex/contrib/fcolumn/fcolumn.pdf
Binary files differ
diff --git a/macros/latex/contrib/fcolumn/fcolumn.sty b/macros/latex/contrib/fcolumn/fcolumn.sty
deleted file mode 100644
index 479dff097a..0000000000
--- a/macros/latex/contrib/fcolumn/fcolumn.sty
+++ /dev/null
@@ -1,299 +0,0 @@
-%%
-%% This is file `fcolumn.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% fcolumn.dtx (with options: `package')
-%%
-%% This is a generated file.
-%%
-%% Copyright (C) 2015--2019 by Edgar Olthof
-%%
-%% This file may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3 of this license or (at your option) any later
-%% version. The latest version of this license is in
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.3 or later is part of all distributions of
-%% LaTeX version 1999/12/01 or later.
-\ProvidesPackage{fcolumn}
- [2019/04/24 v1.2 Automatic Currency Package (EHTO)]
-\NeedsTeXFormat{LaTeX2e}
-\RequirePackage{array}[v2.4k]
-\newif\ifstrict@ccounting \strict@ccountingfalse
-\DeclareOption{strict}{\strict@ccountingtrue}
-\ProcessOptions
-\newcolumntype{F}[3]{>{\b@fi{#1}{#2}{#3}}r<{\e@fi}}
-\newcolumntype{f}{F{.}{,}{3,2}}
-\newcount\FCsc@l \FCsc@l=0 \newcount\FCtc@l \FCtc@l=0
-\newif\ifwiths@p
-\def\geldm@cro#1#2{\withs@pfalse
-\afterassignment\g@ldm@cro\count@#1\relax{#2}}
-\def\g@ldm@cro#1\relax#2{\ifnum#2<0 \ifstrict@ccounting (\else -\fi
- \count2=-#2 \else\count2=#2
-\fi
-\count4=\ifx\relax#1\relax 2 \else \@gobble#1\relax\fi
-\count3=0
-\loop\ifnum\count3<\count4
- \divide\count2 by 10 \advance\count3 by \@ne
-\repeat
-\g@ldens{\the\count@}%
-\ifnum\count3>0\decim@lmark
- \ifnum#2>0 \count2=-#2\else\count2=#2 \fi
- \loop\ifnum\count3>0
- \divide\count2 by 10 \advance\count3 by \m@ne
- \repeat
- \loop\ifnum\count3<\count4
- \multiply\count2 by 10 \advance\count3 by \@ne
- \repeat
- \ifnum#2>0 \advance\count2 by #2
- \else \advance\count2 by -#2
- \fi
- \zerop@d{\number\count3}{\number\count2}%
-\fi
-\ifx\FCs@gn\m@ne \ifnum#2<0 \ifstrict@ccounting
- \rlap{)~!}\else\rlap{~!}\fi\else\ifstrict@ccounting
- \rlap{\phantom{)}~!}\else\rlap{~!}\fi\fi
-\else \ifnum#2<0 \ifstrict@ccounting\rlap{)}\fi\fi
-\fi}
-\def\g@ldens#1{{\count3=\count2 \count0=#1
-\ifnum\count0<1 \count0=3 \fi
-\loop \ifnum\count0>0 \divide\count2 by 10 \advance\count0 by \m@ne
-\repeat
-\ifnum\count2>0 \g@ldens{#1}\fi
-\count0=#1
-\ifnum\count0<1 \count0=3 \fi
-\loop \ifnum\count0>0 \multiply\count2 by 10 \advance\count0 by \m@ne
-\repeat
-\count2=-\count2
-\advance\count2 by \count3 \du@zendprint{#1}}}
-\def\du@zendprint#1{\ifwiths@p\ifnum#1>0 \sep@rator\fi
- \zerop@d{#1}{\number\count2}%
-\else\zerop@d1{\number\count2}\fi\global\withs@ptrue}
-\def\zerop@d#1#2{{\count0=1 \count1=#2
-\loop \divide \count1 by 10 \ifnum\count1>0 \advance\count0 by \@ne
-\repeat
-\ifnum#1>0
- \loop \ifnum\count0<#1\relax 0\advance\count0 by \@ne
- \repeat
-\else
- \advance\count0 by -3
- \loop \ifnum\count0<0 0\advance\count0 by \@ne
- \repeat
-\fi\number#2}}
-\def\zetg@ld#1#2{\count0=#2\relax \let\FCs@gn=\@ne
-\ifnum\count0<0
- \ifnum\csname FCtot@\romannumeral\FCsc@l\endcsname<0
- \let\FCs@gn=\m@ne
- \fi
-\fi
-\ifnum\count0>0
- \ifnum\csname FCtot@\romannumeral\FCsc@l\endcsname>0
- \let\FCs@gn=\m@ne
- \fi
-\fi
-\global\advance\csname FCtot@\romannumeral\FCsc@l\endcsname by \count0
-\ifx\FCs@gn\m@ne
- \ifnum\count0>0 \let\FCs@gn\@ne \fi
- \count0=\csname FCtot@\romannumeral\FCsc@l\endcsname
- \multiply\count0 by \FCs@gn
- \ifnum\count0<0
- \let\FCs@gn=\m@ne
- \PackageError{fcolumn}{Register overflow}{Overflow occurred
- in fcolumn \number\FCsc@l. Check your table.}%
- \else\let\FCs@gn=\@ne
- \fi
-\fi
-\setbox0=\hbox{$\geldm@cro{#1}{#2}$}%
-\ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
- \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
-\fi\unhbox0}
-\newcount\FC@l \newcount\FC@r
-\def\FC@chklist{}
-\def\setucc@de#1#2\relax{\uccode`\~=`#1 }
-\def\b@fi#1#2#3{%
-\def\sep@xt##1##2\end{\def\sep@rator{{##1}}}%
-\sep@xt#1\end\def\decim@lmark{{#2}}%
-\def\sp@l{#3}\global\advance\FCsc@l by \@ne
-\global\FC@l=0 \global\FC@r=1
-\let\FCs@gn=\@ne\relax \setbox0\hbox\bgroup$%
-\uccode`\~=`0\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=0}
-\uccode`\~=`1\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=1}
-\uccode`\~=`2\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=2}
-\uccode`\~=`3\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=3}
-\uccode`\~=`4\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=4}
-\uccode`\~=`5\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=5}
-\uccode`\~=`6\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=6}
-\uccode`\~=`7\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=7}
-\uccode`\~=`8\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=8}
-\uccode`\~=`9\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=9}
-\def\deactdecm@rk##1##2\relax{\mathcode`##1=0 }%
-\afterassignment\setucc@de\count@#3\relax
-\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- \restorem@thcodes\fi
-\afterassignment\deactdecm@rk\count@#3\relax \global\FC@r=1}%
-\def\d@cm##1##2{\count@=\mathcode`##1 }
-\ifnum\uccode`\~=`. \uccode`\~=`,\relax\else \uccode`\~=`.\relax\fi
-\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- \restorem@thcodes\fi
-\afterassignment\d@cm\count@#3\relax
-\ifnum\count@=\mathcode`- \expandafter\global\FC@l=\the\FC@l
-\else \expandafter\global\FC@r=\the\FC@r\fi}%
-\uccode`\~=`+\relax
-\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`-
-\restorem@thcodes\fi\global\FC@l=0}%
-\uccode`\~=`-\relax
-\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`-
-\restorem@thcodes\fi\global\let\FCs@gn\m@ne \global\FC@l=0}%
-\mathcode`-="8000 \mathcode`+=\mathcode`- \mathcode`.=\mathcode`-
-\def\actdecm@rk##1##2\relax{\ifx##1.\relax \mathcode`,=\mathcode`-
-\else \mathcode`##1=\mathcode`- \fi}%
-\afterassignment\actdecm@rk\count@#3\relax
-\mathcode`\0=\mathcode`- \mathcode`\1=\mathcode`-
-\mathcode`\2=\mathcode`- \mathcode`\3=\mathcode`-
-\mathcode`\4=\mathcode`- \mathcode`\5=\mathcode`-
-\mathcode`\6=\mathcode`- \mathcode`\7=\mathcode`-
-\mathcode`\8=\mathcode`- \mathcode`\9=\mathcode`- }
-\def\e@fi{\ifnum\mathcode`\0=\mathcode`- \global\FC@r=\m@ne\fi$\egroup
-\ifnum\FC@r>0
- \ifnum\FC@r<10 \multiply\FC@r by 10 \fi
- \def\i@ts##1##2{\count0=##2}
- \afterassignment\i@ts\count@\sp@l
- \loop\ifnum\count0>0 \multiply\FC@l by 10
- \expandafter\secd@xt\number\FC@r\end \advance\count0 by \m@ne
- \repeat
- \ifnum\FC@r>10
- \def\tw@l##1##2\relax{##2}
- \PackageWarning{fcolumn}{Excess digit\ifnum\FC@r>100 s\fi\space
- ``\expandafter\tw@l\number\FC@r\relax'' in decimal part
- \MessageBreak ignored}
- \fi
- \ifx\FCs@gn\m@ne\relax \FC@l=-\FC@l \fi
- \zetg@ld{\sp@l}{\FC@l}%
-\fi}
-\def\secd@xt#1#2#3\end{\advance\FC@l by #2
-\FC@r=#1#3 \ifnum\FC@r<10 \multiply\FC@r by 10 \fi}
-\def\restorem@thcodes{\mathcode`\0=0 \mathcode`\1=0
-\mathcode`\2=0 \mathcode`\3=0 \mathcode`\4=0 \mathcode`\5=0
-\mathcode`\6=0 \mathcode`\7=0 \mathcode`\8=0 \mathcode`\9=0 }
-\def\@array[#1]#2{%
-\@tempdima \ht \strutbox
-\advance \@tempdima by\extrarowheight
-\setbox \@arstrutbox \hbox{\vrule
- \@height \arraystretch \@tempdima
- \@depth \arraystretch \dp \strutbox
- \@width \z@}%
-\def\ialign{\everycr{\noalign{\global\FCsc@l=0 }}%
- \tabskip\z@skip\halign}
-\begingroup
-\@mkpream{#2}%
-\xdef\@preamble{\noexpand \ialign \@halignto
-\bgroup\@arstrut\@preamble\tabskip\z@\cr}%
-\endgroup
-\begingroup
-\@mksumline{#2}%
-\endgroup
-\res@tsumline
-\@arrayleft
-\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi
-\bgroup
-\let \@sharp ##\let \protect \relax
-\lineskip \z@
-\baselineskip \z@
-\m@th
-\let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble}
-\let\@@array=\@array
-\def\@mksumline#1{\gdef\s@ml@ne{}\@lastchclass 4 \@firstamptrue
-\global\FCsc@l=0
-\let\prr@sult=\relax
-\@temptokena{#1}
-\@tempswatrue
-\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}%
-\count0\m@ne
-\let\the@toks\relax
-\prepnext@tok
-\expandafter \@tfor \expandafter \@nextchar
- \expandafter :\expandafter =\the\@temptokena \do
- {\@testpach
- \ifcase \@chclass \@classfz
- \or \or \@classfii \or
- \or \or \or \or \or \or \or \@classfx \fi
- \@lastchclass\@chclass}%
-\xdef\s@ml@ne{\s@ml@ne\noexpand\aut@check\noexpand\\}}
-\def\@addtosumline#1{\xdef\s@ml@ne{\s@ml@ne #1}}
-\def\@classfx{\if@firstamp \@firstampfalse \else \@addtosumline &\fi}
-\def\@classfz{\ifnum\@chnum<\thr@@ \@classfx\fi}
-\def\@classfii{\ifnum\@lastchclass=8
- \edef\t@stm{\expandafter\string\@nextchar}
- \edef\t@stn{\string\e@fi}
- \ifx\t@stm\t@stn
- \@addtosumline{\prr@sult}
- \global\advance\FCsc@l by \@ne
- \ifnum\FCsc@l>\FCtc@l
- \expandafter\ifx\csname FCtot@\romannumeral\FCsc@l\endcsname\relax
- \expandafter\newcount\csname FCtot@\romannumeral\FCsc@l\endcsname
- \else
- \PackageError{fcolumn}{Name clash for <count>}{\expandafter\csname
- FCtot@\romannumeral\FCsc@l\endcsname is already defined and it may
- not even be a <count>. If you're\MessageBreak sure it is a <count>,
- you can press <enter> now and I'll proceed, but things\MessageBreak
- will get overwritten.}%
- \fi
- \expandafter\ifx\csname FCwd@\romannumeral\FCsc@l\endcsname\relax
- \expandafter\newdimen\csname FCwd@\romannumeral\FCsc@l\endcsname
- \global\FCtc@l=\FCsc@l
- \else
- \PackageError{fcolumn}{Name clash for <dimen>}{\expandafter\csname
- FCwd@\romannumeral\FCsc@l\endcsname is already defined and it may
- not even be a <dimen>. If you're\MessageBreak sure it is a <dimen>,
- you can press <enter> now and I'll proceed, but things\MessageBreak
- will get overwritten.}%
- \fi
- \fi
- \fi
-\fi}
-\newdimen\s@mlinesep
-\def\sumline{\@ifnextchar[\s@mline{\s@mline[2pt]}}
-\def\s@mline[#1]{\global\s@mlinesep=#1 \s@ml@ne}
-\def\prr@sult{$\egroup \let\e@fi=\relax
-\setbox0=\hbox{$\geldm@cro{\sp@l}{\number\csname
-FCtot@\romannumeral\FCsc@l\endcsname}$}%
-\ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname
- \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0
-\fi
-\vbox{\hrule width \csname FCwd@\romannumeral\FCsc@l\endcsname
-\vskip\s@mlinesep
-\hbox to \csname FCwd@\romannumeral\FCsc@l\endcsname{\hfil\unhbox0}}}
-\def\leeg#1{$\egroup \let\e@fi=\relax #1}
-\def\res@tsumline{\FCsc@l=\FCtc@l\loop\ifnum\FCsc@l>0
- \global\csname FCtot@\romannumeral\FCsc@l\endcsname=0
- \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\z@
- \advance\FCsc@l by \m@ne\repeat}
-\def\resetsumline{\noalign{\res@tsumline}}
-\def\aut@check{\ifx\@empty\FC@chklist\relax
- \ifodd\FCsc@l\else
- \count0=\@ne \count1=\FCsc@l
- \divide\count1 by \tw@
- \loop\ifnum\count1<\FCsc@l
- \advance\count1 by \@ne
- \xdef\FC@chklist{\FC@chklist\number\count0,\number\count1;}%
- \advance\count0 by\@ne
- \repeat
- \fi
-\fi
-\loop
- \ifx\FC@chklist\@empty\let\FCs@gn=\@ne\else\let\FCs@gn=\m@ne\fi
- \ifx\FCs@gn\m@ne
- \expandafter\fre@t\FC@chklist\end
- \ifnum\csname FCtot@\romannumeral\count0\endcsname=
- \csname FCtot@\romannumeral\count1\endcsname\else
- \PackageWarningNoLine{fcolumn}{F-columns \number\count0 \space
- and \number\count1 \space do not balance}%
- \fi
-\repeat}
-\def\fre@t#1,#2;#3\end{\count0=#1 \count1=#2 \xdef\FC@chklist{#3}}
-\def\checkfcolumns#1#2{\noalign{\xdef\FC@chklist{\FC@chklist #1,#2;}}}
-\endinput
-%%
-%% End of file `fcolumn.sty'.
diff --git a/macros/latex/contrib/fcolumn/makefile b/macros/latex/contrib/fcolumn/makefile
index 7a751b7c92..3af7c8a619 100644
--- a/macros/latex/contrib/fcolumn/makefile
+++ b/macros/latex/contrib/fcolumn/makefile
@@ -1,4 +1,5 @@
-.SUFFIXES: .pdf .glo .gls .ind .idx .dtx .sty .ins
+.SUFFIXES: .dtx .glo .gls .idx .ind .ins .pdf .sty
+DIST=fcolumn.dtx fcolumn.ins fcolumn.pdf fcolumn.sty makefile README
.ins.sty:
pdflatex $*.ins
@@ -18,23 +19,20 @@
.dtx.pdf:
pdflatex $*.dtx
-all: fcolumn.pdf
+all: fcolumn.sty fcolumn.pdf
install:
tex fcolumn.ins
-dist: fcolumn.dtx fcolumn.ins fcolumn.sty fcolumn.pdf README makefile
- mkdir fcolumn; cp fcolumn.dtx fcolumn; cp fcolumn.ins fcolumn; \
- cp fcolumn.sty fcolumn; cp fcolumn.pdf fcolumn; cp README fcolumn; \
- cp makefile fcolumn; tar -czf fcolumn.tgz fcolumn; rm -r fcolumn
+dist: $(DIST)
+ mkdir FCv1.3; cp $(DIST) FCv1.3; tar -czf fcolumn.tgz FCv1.3; rm -r FCv1.3
fcolumn.pdf: fcolumn.dtx fcolumn.gls fcolumn.ind fcolumn.sty
-fcolumn.idx: fcolumn.dtx
+fcolumn.glo fcolumn.idx: fcolumn.dtx
fcolumn.ind: fcolumn.idx
-fcolumn.glo: fcolumn.dtx
fcolumn.gls: fcolumn.glo
.PHONY: clean
clean:
- -rm fcolumn.pdf fcolumn.sty fcolumn.log fcolumn.glo fcolumn.gls \
- fcolumn.ind fcolumn.idx fcolumn.aux fcolumn.ilg
+ -rm fcolumn.pdf fcolumn.sty fcolumn.log fcolumn.glo fcolumn.gls fcolumn.ind \
+ fcolumn.idx fcolumn.aux fcolumn.ilg fcolumn.out fcolumn.tgz
diff --git a/macros/latex/contrib/readablecv/README.md b/macros/latex/contrib/readablecv/README.md
index ddd6fc54b6..cf54150fea 100644
--- a/macros/latex/contrib/readablecv/README.md
+++ b/macros/latex/contrib/readablecv/README.md
@@ -1,23 +1,5 @@
- %% ReadableCV
- %% Copyright 2020 Philip Stone
- %
- % This work may be distributed and/or modified under the
- % conditions of the LaTeX Project Public License, either version 1.3
- % of this license or (at your option) any later version.
- % The latest version of this license is in
- % http://www.latex-project.org/lppl.txt
- % and version 1.3 or later is part of all distributions of LaTeX
- % version 2005/12/01 or later.
- %
- % This work has the LPPL maintenance status `maintained'.
- %
- % The Current Maintainer of this work is Philip Stone
- %
- % This work consists of the files ReadableCV.cls and ReadableCV.tex
+ReadableCV v3
+This class, ReadableCV, is a re - working of how I wrote my own CV using other software. The intention is that it is a highly readable CV which is easy for a company to find the information which shows you as the best person for the job.
-This class, ReadableCV, is a re - working of how I wrote my own CV using other software.
-The intention is that it is a highly readable CV which is easy for a company to examine.
-
-The class file has plenty of comments describing it and the accompanying .tex file,
-whilst serving as an example of how to use the class, also contains plenty comments. \ No newline at end of file
+The class file has plenty of comments describing it and the accompanying .tex file, whilst serving as an example of how to use the class, also contains plenty of comments.
diff --git a/macros/latex/contrib/readablecv/ReadableCV.cls b/macros/latex/contrib/readablecv/ReadableCV.cls
index db6197592d..a6fbe38354 100644
--- a/macros/latex/contrib/readablecv/ReadableCV.cls
+++ b/macros/latex/contrib/readablecv/ReadableCV.cls
@@ -1,5 +1,5 @@
%% ReadableCV
-%% Copyright 2020 Philip Stone
+%% Copyright 2021 Philip Stone
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -15,19 +15,27 @@
%
% This work consists of the files ReadableCV.cls and ReadableCV.tex
-\def\ClassDate{2020/05/14}
-\def\ClassVersion{2.0}
+\NeedsTeXFormat{LaTeX2e}
+\def\ClassDate{2021/01/09}
+\def\ClassVersion{3.0}
\ProvidesClass{ReadableCV}[\ClassDate ReadableCV \ClassVersion class written by Philip Stone]
-\LoadClass[10pt, a4paper, onecolumn, oneside, notitlepage]{article}
-\NeedsTeXFormat{LaTeX2e}
+\DeclareOption{twocolumn}{\OptionNotUsed}
+\DeclareOption{twoside}{\OptionNotUsed}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{memoir}}
+\ExecuteOptions{a4paper}
+\ProcessOptions\relax
+\LoadClass[10pt, onecolumn, oneside]{memoir}
+
+\setlrmarginsandblock{1.5cm}{1.5cm}{*}
+\setulmarginsandblock{1.5cm}{*}{*}
+\checkandfixthelayout
+
%set up PDF metadata
\usepackage{hyperref}
-% Set up paper size and language
-\RequirePackage[a4paper, total={7in, 10in}]{geometry}
-\RequirePackage{titlesec}
+%Alter how date is printed
\RequirePackage[nodayofweek]{datetime}
% Allow use of multiple columns
@@ -37,11 +45,12 @@
\RequirePackage{marvosym}
\RequirePackage{graphicx}
\RequirePackage[x11names]{xcolor}
-\RequirePackage[sfdefault,thin]{roboto}
+\RequirePackage[thin]{roboto}
\RequirePackage[T1]{fontenc}
\pagestyle{empty}
-\setlength{\parindent}{0em}
+%\setlength{\parindent}{0em}
+\addtolength{\parskip}{6pt}
% Allow use of if statements
\RequirePackage{etoolbox}
@@ -61,12 +70,10 @@
% Displays section title or heading
\newcommand{\newHeading}[2]{
\begin{\SectionAlignment}
-% \vspace{\baselineskip}
- \bigskip
- \textcolor{\HeadingColour}{\textbf{\Large{#1}}}
+ \smallskip
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Large{#1}}}}
\smallskip
\hrule
-% \vspace{\baselineskip}
\end{\SectionAlignment}
}
@@ -106,11 +113,11 @@
\newcommand{\HeaderText}{
- \begin{minipage}{1.0\linewidth}
+ \noindent\begin{minipage}{1.0\linewidth}
\begin{\HeaderAlignment}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\smallskip
\ifdefempty{\rcvmobileno}%
@@ -122,7 +129,7 @@
}
{
%mobile number not defined, home number is
- \normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
}
}
{
@@ -130,12 +137,12 @@
\ifdefempty{\rcvhomeno}%
{
%if mobile number defined, home number not defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
}
{
%if home number and mobile number defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
- }
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ }}
}
\ifdefempty{\rcvemailaddr}%
@@ -146,7 +153,7 @@
}
{
%email not defined, web is
- \normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
}
}
{
@@ -154,12 +161,12 @@
\ifdefempty{\rcvwebaddr}%
{
%if email defined, web not defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
}
{
%if email and web defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
- }
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ }}
}
\end{\HeaderAlignment}
\end{minipage}
@@ -168,27 +175,27 @@
\newcommand{\HeaderRightContact}{
% Name and jobtitle on the left. Contact details on the right.
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\end{flushleft}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
\ifdefempty{\rcvmobileno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}}
\ifdefempty{\rcvhomeno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
\ifdefempty{\rcvemailaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}}
\ifdefempty{\rcvwebaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
\end{flushright}
\end{minipage}
}
@@ -196,27 +203,27 @@
\newcommand{\HeaderLeftContact}{
% Name and jobtitle on the right. Contact details on the left.
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
\ifdefempty{\rcvmobileno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}}
\ifdefempty{\rcvhomeno}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
\ifdefempty{\rcvemailaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}}
\ifdefempty{\rcvwebaddr}
{}
- {\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ {\robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
\end{flushleft}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\end{flushright}
\end{minipage}
@@ -230,16 +237,16 @@
}
\newcommand{\HeaderLeftImage}{
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
\includegraphics[width=2.5cm,height=2.5cm,keepaspectratio]{\rcvimageloc}
\end{flushleft}
\end{minipage}
\begin{minipage}{0.5\linewidth}
\begin{flushright}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\smallskip
\ifdefempty{\rcvmobileno}%
@@ -251,7 +258,7 @@
}
{
%mobile number not defined, home number is
- \normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}}\ \robotoThin{\rcvhomeno}\\}
}
}
{
@@ -259,11 +266,11 @@
\ifdefempty{\rcvhomeno}%
{
%if mobile number defined, home number not defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
}
{
%if home number and mobile number defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
}
}
@@ -275,7 +282,7 @@
}
{
%email not defined, web is
- \normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
}
}
{
@@ -283,11 +290,11 @@
\ifdefempty{\rcvwebaddr}%
{
%if email defined, web not defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
}
{
%if email and web defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
}
}
\end{flushright}
@@ -295,11 +302,11 @@
}
\newcommand{\HeaderRightImage}{
- \begin{minipage}{0.5\linewidth}
+ \noindent\begin{minipage}{0.5\linewidth}
\begin{flushleft}
- \textcolor{\HeadingColour}{\textbf{\Huge{\rcvname}}}\\
- \vspace{-0.3em}
- \LARGE{\rcvjobtitle}\\
+ \textcolor{\HeadingColour}{\robotoThin{\textbf{\Huge{\rcvname}}}}\\
+ \smallskip
+ \robotoThin{\LARGE{\rcvjobtitle}}\\
\smallskip
\ifdefempty{\rcvmobileno}%
@@ -311,7 +318,7 @@
}
{
%mobile number not defined, home number is
- \normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
}
}
{
@@ -319,11 +326,11 @@
\ifdefempty{\rcvhomeno}%
{
%if mobile number defined, home number not defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\\}}
}
{
%if home number and mobile number defined
- \normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mobilefone}\ \rcvmobileno\ {\textcolor{\HeadingColour}{\Telefon}\ \rcvhomeno\\}}}
}
}
@@ -335,7 +342,7 @@
}
{
%email not defined, web is
- \normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
}
}
{
@@ -343,11 +350,11 @@
\ifdefempty{\rcvwebaddr}%
{
%if email defined, web not defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\\}}
}
{
%if email and web defined
- \normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}
+ \robotoThin{\normalsize{\textcolor{\HeadingColour}{\Letter}\ \rcvemailaddr\ {\textcolor{\HeadingColour}{\Mundus}\ \rcvwebaddr\\}}}
}
}
\end{flushleft}
@@ -419,7 +426,7 @@
}
}
- \vspace{\baselineskip}
+% \vspace{\baselineskip}
}
\newcommand{\addSkills}[9]{
@@ -464,34 +471,66 @@
% including dates [1], job title [2],
% company name [3] and role summary [4]
+\vspace{0.5em}
+\begin{samepage}
\iftoggle{jobfirst}{
% Display job before company
- \begin{tabular}{@{}p{3cm} l}
+ \noindent\begin{tabular}{@{}p{3cm} l}
\textbf{#1} & \textbf{#2}\\
& \textbf{#3}\\
\end{tabular}
}
{
% Display company before job
- \begin{tabular}{@{}p{3cm} l}
+ \noindent\begin{tabular}{@{}p{3cm} l}
\textbf{#1} & \textbf{#3}\\
& \textbf{#2}\\
\end{tabular}
}
- \vspace{\baselineskip}
- \textit{Role outline} \par \par \hspace{2em}#4 \bigskip
+ \vspace{-0.5em}
+ \noindent\sffamily{\textit{Role outline}} \rmfamily \par #4 \vspace{\baselineskip}
+\end{samepage}
}
-\newcommand{\roleAchievements}[5]{
- % Adds up to five achievements in an itemized list
- \textit{Key achievements} \par \par
-
+\newcommand{\roleResponsibilities}[5]{
+ % Adds up to five responsibilities in an itemized list
+ \vspace{\baselineskip}
+
+\noindent\textit{Responsibilities}
+\vspace{-1em}
+
+ \def\rone{#1}
+ \def\rtwo{#2}
+ \def\rthree{#3}
+ \def\rfour{#4}
+ \def\rfive{#5}
+
+ \begin{itemize}
+ \ifdefempty{\rone}{}{\item \rone}
+ \ifdefempty{\rtwo}{}{\item \rtwo}
+ \ifdefempty{\rthree}{}{\item \rthree}
+ \ifdefempty{\rfour}{}{\item \rfour}
+ \ifdefempty{\rfive}{}{\item \rfive}
+ \end{itemize}
+
+% \bigskip
+}
+
+\newcommand{\roleAchievements}[6]{
+ % Adds up to six achievements in an itemized list
+
\def\aone{#1}
\def\atwo{#2}
\def\athree{#3}
\def\afour{#4}
\def\afive{#5}
+ \def\asix{#6}
+
+% \begin{samepage}
+ \vspace{-0.5em}
+ \noindent\sffamily{\textit{Achievements}}\rmfamily
+ \vspace{-1em}
\begin{itemize}
\ifdefempty{\aone}{}{\item \aone}
@@ -499,9 +538,9 @@
\ifdefempty{\athree}{}{\item \athree}
\ifdefempty{\afour}{}{\item \afour}
\ifdefempty{\afive}{}{\item \afive}
+ \ifdefempty{\asix}{}{\item \asix}
\end{itemize}
-
- \bigskip
+%\end{samepage}
}
\newcommand{\newCourse}[4]{
@@ -540,13 +579,14 @@
\newcommand{\setRecpPostcode}[1]{\def\recppostcode{#1}}
\newcommand{\makeLetter}{
+ \setlength{\parindent}{0em}
\begin{flushright}
\today
\end{flushright}
\bigskip \bigskip
- \recpname \\
+ \noindent\recpname \\
\ifdefempty{\recpjobtitle}{}{\recpjobtitle \\}
\recproad \\ \recptown \\ \recpcity \\ \recppostcode
diff --git a/macros/latex/contrib/readablecv/ReadableCV.pdf b/macros/latex/contrib/readablecv/ReadableCV.pdf
index 509ceae98a..63c79940e7 100644
--- a/macros/latex/contrib/readablecv/ReadableCV.pdf
+++ b/macros/latex/contrib/readablecv/ReadableCV.pdf
Binary files differ
diff --git a/macros/latex/contrib/readablecv/ReadableCV.tex b/macros/latex/contrib/readablecv/ReadableCV.tex
index 3a148b61a3..eee0bf4459 100644
--- a/macros/latex/contrib/readablecv/ReadableCV.tex
+++ b/macros/latex/contrib/readablecv/ReadableCV.tex
@@ -1,12 +1,10 @@
-\documentclass{ReadableCV}
+% Change the size of the paper your CV will be printed on
+% by entering either a4paper or letterpaper here.
+\documentclass[a4paper]{ReadableCV}
% Set color of body text
\color{black}
-% Set indent and paragraph formatting
-\setlength{\parindent}{0pt}
-\addtolength{\parskip}{6pt}
-
\begin{document}
% Set page colour using X11names colour definitions
@@ -15,7 +13,7 @@
% Set header details being aligned to the right or left
% If an image is displayed it will be shown on the
% opposite side to what is set here.
-\setHeaderAlignment{right}
+\setHeaderAlignment{left}
% Set colour of all headings, header highlights
\setHeadingColours{SlateGray3}
@@ -33,12 +31,12 @@
% Set up information needed for header.
% If you do not want to include certain
% information use {} instead.
-\setYourName{Joe Bloggs}
-\setYourJobTitle{General Dogs - Body}
-\setYourMobileNo{0712 345 6789}
-\setYourHomeNo{0123 456 7890}
-\setYourEmailAddr{joebloggs@gmail.com}
-\setYourWebAddr{www.joebloggs.co.uk}
+\setYourName{Jobseeker}
+\setYourJobTitle{Job title}
+\setYourMobileNo{Mobile phone}
+\setYourHomeNo{Home phone}
+\setYourEmailAddr{Email address}
+\setYourWebAddr{Web address}
% Display header information
\showHeader
@@ -49,16 +47,22 @@
% Creates a new section title / heading
\newHeading{Personal Profile}
-Write some text here that explains a bit about what you can offer, things you have achieved etc.\ This should be around 4 - 6 lines but is entirely up to the user.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\newHeading{Core Skills}
% Add up to nine core skills. If they are
% all not needed use {} instead.
-\addSkills{one}{two}{three}
- {four}{five}{six}
- {seven}{eight}{nine}
-
+\addSkills{Skill one}
+ {Skill two}
+ {Skill three}
+ {Skill four}
+ {Skill five}
+ {Skill six}
+ {Skill seven}
+ {Skill eight}
+ {Skill nine}
+
\newHeading{Career Summary}
% Set up whether job title or company printed first
@@ -70,50 +74,72 @@ Write some text here that explains a bit about what you can offer, things you ha
% company name [3] and role summary [4]
% If a full history is required use \newrole and \roleAchievements
% If only a brief description needed then just use \newrole
-\newRole{2013 - present}
- {General Dogs - Body}
- {Bigcorp}
- {A short summary broadly detailing what the role involves.}
-
-\roleAchievements{one}
- {two}
- {three}
- {four}
- {five}
-
-\newRole{2000 - 2013}
- {Dishwasher}
- {Fleece them cafe}
- {A short summary broadly detailing what the role involves.}
-
-% This tends to be any training work send you on
-\newHeading{Professional Development}
-
-% Allows the display of a new course. Arguments are
-% [1] date, [2] course title, [3] awarding body and [4] grade
-% Leave grade blank if not required.
-% If JobFirst set then course title will be first
-% If CompanyFirst set then awarding body will be first
-\newCourse{2018}
- {Course Title}
- {Awarding body}
- {Grade}
+\newRole{2018 -- present}
+ {Job title}
+ {Company name}
+ {A short summary broadly detailing what the role involves. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+
+\roleAchievements{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+\newRole{2007 -- 2018}
+{Job title}
+{Company name}
+{A short summary broadly detailing what the role involves. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+\roleAchievements{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+\newRole{1999 -- 2006}
+{Job title}
+{Company name}
+{A short summary broadly detailing what the role involves. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+\roleAchievements{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+{Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+\newRole{2003 -- 2006}{Job title}{Company name}{A short summary broadly detailing what the role involves. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+\newRole{2002 -- 2003}{Job title}{Company name}{A short summary broadly detailing what the role involves. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+\newRole{2001 -- 2003}{Job title}{Company name}{A short summary broadly detailing what the role involves. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed lacinia gravida pellentesque.}
+
+% move, duplicate, delete or comment out the following line if necessary
+\newpage
% This is training you have done in your own time
\newHeading{Personal Development}
-\newCourse{2018}
- {Course Title}
- {Awarding body}
- {Grade}
+\newCourse{2019}
+{Course title}
+{Awarding body}{}
+
+\newCourse{2019}
+{Course title}
+{Awarding body}{}
+
+\newCourse{2019}
+{Course title}
+{Awarding body}{}
% School education
\newHeading{Education}
-
-\newCourse{2018}
- {Course Title}
- {Awarding body}
- {Grade}
+
+\newCourse{2000 - 2002}{Course title}{Awarding body}{}
+\newCourse{1996 - 1998}{Course title}{Awarding body}{}
+\newCourse{1994 - 1996}{Course title}{Awarding body}{}
+\newCourse{1989 - 1994}{Course title}{Awarding body}{}
\clearpage
@@ -122,6 +148,8 @@ Write some text here that explains a bit about what you can offer, things you ha
% Displays same header as on CV
\showHeader
+
+
% Name and address must be present but
% job title is optional
\setRecpName{Mr Deeds}
@@ -142,15 +170,16 @@ Dear \recpname,
Please find enclosed my CV in application for the post advertised in the [insert place advertised] on [date advert seen].
-The nature of my degree course has prepared me for this position. It involved a great deal of independent research, requiring initiative, self-motivation and a wide range of skills. For one course, [insert course], an understanding of the [insert sector] industry was essential. I found this subject very stimulating.
+The nature of my [qualification] has prepared me for this position. It involved a great deal of independent research, requiring initiative, self-motivation and a wide range of skills. One of my courses, [insert course], an understanding of the [insert sector] industry was essential. I found this subject very interesting.
-I am a fast and accurate writer, with a keen eye for detail and I should be very grateful for the opportunity to progress to market reporting. I am able to take on the responsibility of this position immediately, and have the enthusiasm and determination to ensure that I make a success of it.
+I am a fast and accurate writer, with a keen eye for detail and I should be very grateful for the opportunity to progress. I am able to take on the responsibility of this position immediately, and have the enthusiasm and determination to ensure that I make a success of it.
Thank you for taking the time to consider this application and I look forward to hearing from you in the near future.
% Do not remove the following line
\bigskip
+% comment, or uncomment, whichever you prefer to use
Yours sincerely, % if the opening is "Dear Mr(s) Doe,"
%Yours faithfully, % if the opening is "Dear Sir or Madam,"
diff --git a/macros/luatex/optex/README b/macros/luatex/optex/README
index 365ab41391..50d4f1d165 100644
--- a/macros/luatex/optex/README
+++ b/macros/luatex/optex/README
@@ -19,6 +19,14 @@ doc/ ... PDF version of the OpTeX documentation and sources.
History:
+<0.19> Jan. 2020
+ emoji support as pkg/emoji.opm.
+ non-braakable places generated by luavlna, suported as pkg/vlna.opm.
+ \begblock...\endblock introduced.
+ comment character allowed after \begtt.
+ more robust macros: \replstring, \table.
+ complete revision of documentation, spelling corrections.
+ Several bugs fixed.
<0.18> Dec. 2020
Font support for next 9 families added.
Font selection system improved.
diff --git a/macros/luatex/optex/base/alloc.opm b/macros/luatex/optex/base/alloc.opm
index 9526a5d934..56c1d3dd63 100644
--- a/macros/luatex/optex/base/alloc.opm
+++ b/macros/luatex/optex/base/alloc.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \newdimen {Allocators for registers <2020-05-12>} % loaded in format
@@ -31,11 +31,11 @@
\_countdef\_famalloc=18 \_famalloc=3
\_doc -----------------------------
- The common allocation macro
+ The common allocation macro
\`\_allocator` `\<sequence> {<type>} \<primitive declarator>`
- is defined. This idea was used in classical plain \TeX/ by
- Donald Knuth too but the macro from plain \TeX/ seems to be
- more complicated:).
+ is defined. This idea was used in classical plain \TeX/ by
+ Donald Knuth too but the macro from plain \TeX/ seems to be
+ more complicated:).
\_cod -----------------------------
\_def\_allocator #1#2#3{%
@@ -49,7 +49,7 @@
}
\_doc -----------------------------
- The allocation macros
+ The allocation macros
\`\newcount`, \`\newdimen`, \`\newskip`, \`\newmuskip`, \`\newbox`,
\`\newtoks`, \`\newread`, \`\newwrite` and \`\newfam`
are defined here.
@@ -72,7 +72,7 @@
\_cod -----------------------------
\_newcount\_insertalloc \_insertalloc=255
-\_chardef\_insertmin = 201
+\_chardef\_insertmin = 201
\_def\_newinsert #1{%
\_global\_advance\_insertalloc by-1
@@ -90,7 +90,7 @@
have their counter allocated by the `\newcount` macro.
\_cod -----------------------------
-\_newcount \_attributealloc \_attributealloc=0
+\_newcount \_attributealloc \_attributealloc=0
\_chardef\_maiattribute=\_maicount
\_def\_newattribute #1{\_allocator #1{attribute}\_attributedef}
@@ -112,7 +112,7 @@
A few registers are initialized like in plain\TeX/. We absolutely
don't support the `@`category dance, so `\z@skip`
`\z@`, `\p@` etc. are not defined in \OpTeX/. If you need such
- control sequences then you can initailaize them by `\load[plain-at]`.
+ control sequences then you can initialize them by `\load[plain-at]`.
Only the \`\_zo` and \`\_zoskip` (equivalents to `\z@` and `\z@skip`)
are declared here and used in some internal macros of \OpTeX/
@@ -130,22 +130,22 @@
\_endcode %---------------------------------------------------
-Like plain\TeX, the allocators `\newcount`, `\newwrite`, etc. are defined.
+Like plain\TeX, the allocators `\newcount`, `\newwrite`, etc. are defined.
The registers are allocated from 256 to the `\_mai<type>` which is 65535 in
\LuaTeX/.
Unlike in Plain\TeX/, the mentioned allocators are not `\outer`.
User can use `\dimen0` to `\dimen200` and similarly for `\skip`,
-`\muskip`, `\box` and `\toks` directly. User can use
+`\muskip`, `\box`, and `\toks` directly. User can use
`\count20` to `\count200` directly too. This is the same
-philosophy like in old plain\TeX/, but the range of directly used registers
+philosophy as in old plain\TeX/, but the range of directly used registers
is wider.
-Inserts are allocated form 254 to 201 using `\newinsert`.
+Inserts are allocated from 254 to 201 using `\newinsert`.
You can define your own allocation concept (for example for allocation of
-arrays) from top of registers array. The example shows a definition of
+arrays) from the top of the registers array. The example shows a definition of
the array-like declarator of counters.
\nobreak
diff --git a/macros/luatex/optex/base/basic-macros.opm b/macros/luatex/optex/base/basic-macros.opm
index ea9cced9c1..3f0f7a5c24 100644
--- a/macros/luatex/optex/base/basic-macros.opm
+++ b/macros/luatex/optex/base/basic-macros.opm
@@ -1,10 +1,10 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \sdef {Basic macros for OpTeX <2020-02-14>} % loaded in format
+\_codedecl \sdef {Basic macros for OpTeX <2021-01-08>} % loaded in format
\_doc ------------------------------
- \`\bgroup`, \`\egroup`, \`\empty`, \`\space`, \`\null` and \`\wlog`
- are classical macros from plain \TeX/.
+ \`\bgroup`, \`\egroup`, \`\empty`, \`\space`, \`\null` and \`\wlog`
+ are classical macros from plain \TeX/.
\_cod ------------------------------
\_let\_bgroup={ \_let\_egroup=}
@@ -16,9 +16,21 @@
\_public \bgroup \egroup \empty \space \null \wlog ;
\_doc ------------------------------
- \`\bslash` is \"normal backslash" with category code 12.
- \`\nbb` and \`\pcent` are double backslash and normal~`%`,
- they should be used in lua codes, for example.
+ \`\ignoreit` ignores next token or `{<text>}`, \`\ignoresecond`
+ uses first, ignores second parameter and \`\usesecond`
+ ignores first, uses second parameter.
+ \_cod ------------------------------
+
+\_long\_def \_ignoreit #1{}
+\_long\_def \_ignoresecond #1#2{#1}
+\_long\_def \_usesecond #1#2{#2}
+
+\_public \ignoreit \ignoresecond \usesecond ;
+
+ \_doc ------------------------------
+ \`\bslash` is \"normal backslash" with category code 12.
+ \`\nbb` and \`\pcent` are double backslash and normal~`%`,
+ they should be used in Lua codes, for example.
\_cod ------------------------------
\_edef \_bslash {\_csstring\\}
@@ -45,7 +57,7 @@
\_doc ------------------------------
\`\adef` `{<char>}{<body>}` puts the <char> as active character and defines it
- as `{<body>}`. You can declare a macro with parameters too. For example
+ as `{<body>}`. You can declare a macro with parameters too. For example
`\adef @#1{...$1...}`.
\_cod ------------------------------
@@ -56,7 +68,7 @@
\`\cs` `{<text>}` is only a shortcut to `\csname <text>\endcsname`, but you need
one more `\_ea` if you need to get the real control sequence `\<text>`.
\nl
- \`\trycs` `{<csname>}{<text>}` expands to `\<csname>`
+ \`\trycs` `{<csname>}{<text>}` expands to `\<csname>`
if it is defined else to the `<text>`.
\_cod ------------------------------
@@ -75,33 +87,35 @@
\`\opwarning` `{<text>}` prints warning on the terminal and to the log file.
\_cod ------------------------------
-\_def \_opwarning #1{\_wterm{l.\_the\_inputlineno> WARNING: #1.}}
+\_def \_opwarning #1{\_wterm{WARNING l.\_the\_inputlineno: #1.}}
\_public \opwarning ;
\_doc ------------------------------
- \`\loggingall` and \`\tracingall` are defined similarly as in
+ \`\loggingall` and \`\tracingall` are defined similarly as in
plain \TeX/, but they print
- more logging information to the log file and to the terminal.
+ more logging information to the log file and the terminal.
\_cod ------------------------------
-\_def\_loggingall{\_tracingcommands=3 \_tracingstats=2 \_tracingpages=1
- \_tracingoutput=1 \_tracinglostchars=1 \_tracingmacros=2
- \_tracingparagraphs=1 \_tracingrestores=1 \_tracingscantokens=1
+\_def\_loggingall{\_tracingcommands=3 \_tracingstats=2 \_tracingpages=1
+ \_tracingoutput=1 \_tracinglostchars=1 \_tracingmacros=2
+ \_tracingparagraphs=1 \_tracingrestores=1 \_tracingscantokens=1
\_tracingifs=1 \_tracinggroups=1 \_tracingassigns=1 }
\_def\_tracingall{\_tracingonline=1 \_loggingall}
-\_public \loggingall \tracingall ;
+\_public \loggingall \tracingall ;
\_doc ------------------------------
- Write a warning if the user did not to load a Unicode Font {\em or}
+ Write a warning if the user did not load a Unicode Font {\em or}
if there were unresolved references. \`\_byehook` is used in the \^`\bye` macro.
\_cod ------------------------------
\_def\_byehook{%
\_ifx\_initunifonts\_relax \_relax\_else \_opwarning{Unicode font was not loaded}\_fi
- \_ifnum\_unresolvedrefs>0 \_opwarning{Rerun to get references right}\_fi
+ \_ifnum\_unresolvedrefs>0 \_opwarning{Try to rerun to get references right}\_fi
}
\_endcode % -------------------------------------
-
+2021-01-08: \opwarning format changed (secondly, hope that conclusively)
+2020-10-12: \opwarning: line numbers added
+2020-02-14: introduced
diff --git a/macros/luatex/optex/base/bib-iso690.opm b/macros/luatex/optex/base/bib-iso690.opm
index ccd373e3cc..c58709ce83 100644
--- a/macros/luatex/optex/base/bib-iso690.opm
+++ b/macros/luatex/optex/base/bib-iso690.opm
@@ -1,4 +1,4 @@
-% This is part of OpTeX project, see http://petr.olsak.net/optex
+% This is part of the OpTeX project, see http://petr.olsak.net/optex
% bibliography style (iso690), version <2020-03-10>, loaded on demand by \usebib
@@ -7,11 +7,11 @@
\_endinput \_fi
\_doc -----------------------------
- \`\_maybetod` (alias `\.` in the style file group) does not put second dot.
+ \`\_maybetod` (alias `\.` in the style file group) does not put the second dot.
\_cod -----------------------------
\_def\_maybedot{\_ifnum\_spacefactor=\_sfcode`\.\_relax\_else.\_fi}
-\_tmpnum=\_sfcode`\. \_advance\_tmpnum by-2 \_sfcode`\.=\_tmpnum
+\_tmpnum=\_sfcode`\. \_advance\_tmpnum by-2 \_sfcode`\.=\_tmpnum
\_sfcode`\?=\_tmpnum \_sfcode`\!=\_tmpnum
\_let\.=\_maybedot % prevents from double periods
@@ -22,7 +22,7 @@
\_CreateField {option}
\_def\_isbiboption#1#2{\_edef\_tmp{\_noexpand\_isbiboptionA{#1}}\_tmp}
\_def\_isbiboptionA#1{\_def\_tmp##1 #1 ##2\_relax{%
- \_if^##2^\_csname iffalse\_ea\_endcsname \_else\_csname iftrue\_ea\_endcsname \_fi}%
+ \_if^##2^\_csname iffalse\_ea\_endcsname \_else\_csname iftrue\_ea\_endcsname \_fi}%
\_ea\_tmp\_biboptionsi #1 \_relax}
\_def\_bibopt[#1]#2#3{\_isbiboption{#1}\_iftrue\_def\_tmp{#2}\_else\_def\_tmp{#3}\_fi\_tmp}
\_def\_biboptionvalue#1#2{\_def\_tmp##1 #1:##2 ##3\_relax{\_def#2{##2}}%
@@ -47,7 +47,7 @@
\_bprintc\_Firstname{* }\_bprintc\_Von{* }\_upper{\_Lastname}\_bprintc\_Junior{, *}%
}
\_def\_commonname{%
- \_ifnum\_NameCount=1
+ \_ifnum\_NameCount=1
\_firstauthorformat
\_ifx\_dobibmark\_undefined \_edef\_dobibmark{\_Lastname}\_fi
\_else
@@ -55,7 +55,7 @@
\_ifx\_maybeetal\_empty \_bibconjunctionand\_else , \_fi
\_else , \_fi
\_otherauthorformat
- \_fi
+ \_fi
}
\_def\_authorname{%
\_ifnum\_NameCount>0\_namecount\_relax\_else \_commonname \_fi
@@ -65,25 +65,25 @@
\_def\_prepareauedoptions#1{%
\_def\_mabyetal{}\_csname lb@abbreviatefalse\_endcsname
- \_biboptionvalue{#1max}\_authormax
- \_biboptionvalue{#1min}\_authormin
- \_biboptionvalue{#1pre}\_authorpre
+ \_biboptionvalue{#1max}\_authormax
+ \_biboptionvalue{#1min}\_authormin
+ \_biboptionvalue{#1pre}\_authorpre
\_biboptionvalue{#1print}\_authorprint
\_isbiboption{#1etal}\_iftrue \_def\_maybeetal{\_Mtext{bib.etal}}\_fi
- \_biboptionvalue{#1trim}\_autrim
+ \_biboptionvalue{#1trim}\_autrim
\_let\_namecountraw=\_namecount
\_ifx\_authormax\_empty \_else
\_ifnum 0\_authormax<0\_namecount
\_edef\_namecount{\_ifx\_authormin\_empty\_authormax\_else\_authormin\_fi}%
\_def\_maybeetal{\_Mtext{bib.etal}}%
\_fi\_fi
- \_ifx\_autrim\_empty \_def\_autrim{10000}\_fi
- \_ifnum\_autrim=0 \_def\_autrim{10000}\_fi
+ \_ifx\_autrim\_empty \_def\_autrim{10000}\_fi
+ \_ifnum\_autrim=0 \_def\_autrim{10000}\_fi
\_ifnum 0\_namecount<\_autrim\_relax \_else \_AbbreviateFirstname \_fi
}
\_def\_maybeetal{}
-\_ifx\upper\_undefined
+\_ifx\upper\_undefined
\_ifx\caps \_undefined \_def\upper{\_uppercase\_ea}\_else
\_def\upper#1{{\caps\_rm #1}}\_fi
\_fi
@@ -93,7 +93,7 @@
Preparing bib-mark (used when `\nonumcitations` is set).
\_cod -----------------------------
-\_def\_setbibmark{%
+\_def\_setbibmark{%
\_ifx\_dobibmark\_undefined \_def\_dobibmark{}\_fi
\_RetrieveFieldIn{bibmark}\_tmp
\_ifx\_tmp\_empty \_RetrieveFieldIn{year}\_tmp \_edef\_tmp{\_dobibmark, \_tmp}\_fi
@@ -123,14 +123,14 @@
\_def\_Mtext#1{\_csname _mt:#1:\_csname _lan:\_the\_documentlanguage\_endcsname\_endcsname}
\_CreateField {lang}
-\_def\_setlang#1{\_ifx#1\_empty \_else
+\_def\_setlang#1{\_ifx#1\_empty \_else
\_ifcsname _mt:bib.and:#1\_endcsname \_language=\_csname _#1Patt\_endcsname \_relax
\_else \_opwarning{No phrases for "#1" used by [\EntryKey] in .bib}%
\_fi\_fi
}
\_doc -----------------------------
- Non-standard fieldnames.
+ Non-standard field names.
\_cod -----------------------------
\_CreateField {ednote}
@@ -203,7 +203,7 @@
\_isbiboption{unpublished}\_iftrue \_let\_bibwarninga=\_relax \_let\_bibwarningb=\_relax \_fi
\_isbiboption{nowarn}\_iftrue \_let\_bibwarning=\_relax \_fi
\_isbiboption{urlalso}\_iftrue \_def\_preurl{\_Mtext{bib.availablealso}}\_fi
- \_RetrieveFieldIn{lang}\_langentry \_setlang\_langentry
+ \_RetrieveFieldIn{lang}\_langentry \_setlang\_langentry
}
\_sdef{_print:END}{%
\_bprinta [note] {*.}{}%
@@ -237,7 +237,7 @@
\_bprintb [!author] {\_doauthor1{##1}\.\ }{\_bibwarning}%
\_bprinta [title] {*.\ \_bprintc\_titlepost{*.\ }}{\_bibwarning}%
\_bprintb [journal] {{\_em##1}\_bprintc\_journalpost{\.\ *}\_bprintv[howpublished]{}{\.}\ }%
- {\_bibwarninga}%
+ {\_bibwarninga}%
\_bprinta [howpublished] {[*].\ }{}%
\_bprinta [address] {*\_bprintb[publisher]{:}{,}\ }{}%
\_bprinta [publisher] {*, }{}%
@@ -327,15 +327,15 @@ There are entries of type `@FOO{...}` in the `.bib` file. Each entry consists of
fields in the form `name = "value"`, or `name = {value}`. No matter which form is
used. If the value is pure numeric then you can say simply `name = value`.
Warning: the comma after each field value is mandatory! If it is missing then the
-next field is ignored or bad interpreted.
+next field is ignored or badly interpreted.
-The entry names and field names are case insensitive. If there exist a data
+The entry names and field names are case insensitive. If there exists a data
field no mentioned here then it is simply ignored. You can use it to store
more information (abstract, for example).
There are \"standard fields" used in ancient bib\TeX/ (author, title, editor, edition,
etc., see \url{http://en.wikipedia.org/wiki/BibTeX}). The `iso690` style introduces
-several \"non-standard" fields: ednote, numbering, isbn, issn, doi, url,
+several \"non-standard" fields: ednote, numbering, isbn, issn, doi, url,
citedate, key, bibmark. They are documented here.
Moreover, there are two optional special fields:
@@ -343,18 +343,18 @@ Moreover, there are two optional special fields:
\begitems
* lang = language of the entry. The hyphenation plus autogenerated phrases and
abbreviations will be typeset by this language.
-* option = options by which you can control special printing of various fields.
-\enditems
+* option = options by which you can control a special printing of various fields.
+\enditems
-There can be only one option field per each entry with (may be) more options
+There can be only one option field per each entry with (maybe) more options
separated by spaces. You can declare the global option(s) in your document
applied for each entry by `\biboptions={...}`.
\seccc The author field
-All names in the author list have to be separated by \"\code{ and }".
-Each author can be written by various formats (the `von` part is typically missing):
+All names in the author list have to be separated by \"\code{ and }".
+Each author can be written in various formats (the `von` part is typically missing):
\begtt
Firstname(s) von Lastname
@@ -375,35 +375,35 @@ da Vinci, Leonardo Piero
or
da Vinci, painter, Leonardo Piero
\endtt
-The separator \"\code{ and }" between authors
+The separator \"\code{ and }" between authors
will be converted to comma during
-printing, but between semifinal and final author the word \"and" (or something
-different depending on current language) is printed.
+printing, but between the semifinal and final author the word \"and" (or something
+different depending on the current language) is printed.
The first author is printed in reverse order: \"LASTNAME, Firstname(s) von,
-After" and the others author are printed in normal order: \"Firstname(s)
+After" and the other authors are printed in normal order: \"Firstname(s)
von LASTNAME, After". This feature follows the ISO 690 norm. The Lastname
is capitalized using uppercase letters. But if the `\caps` font modifier is defined,
then it is used and printed `{\caps\_rm Lastname}`.
You can specify the option `aumax:<number>`. The `<number>` denotes the
-maximum authors to be printed. The rest of authors are ignored and the
+maximum authors to be printed. The rest of the authors are ignored and the
`et~al.` is appended to the list of printed authors. This text is
-printed only if the `aumax` value is less than the real number of authors.
+printed only if the `aumax` value is less than the real number of authors.
If you have the same number of authors in the .bib file as you need to print
but you want to append `et~al.` then you can use `auetal` option.
-There is an `aumin:<number>` option which denotes the definitive number of
+There is an `aumin:<number>` option which denotes the definitive number of
printed authors if the author list is not fully printed due to `aumax`.
-If `aumin` is unused then `aumax` authors is printed in such case.
+If `aumin` is unused then `aumax` authors are printed in this case.
-All authors are printed if `aumax:<number>` option isn't given.
-There is no internal limit. But you can set the global options in
+All authors are printed if `aumax:<number>` option isn't given.
+There is no internal limit. But you can set the global options in
your document by setting the `\biboptions` tokens list. For example:
\begtt
-\biboptions={aumax:7 aumin:1}
-% if there is 8 or more authors then only first author is printed.
+\biboptions={aumax:7 aumin:1}
+% if there are 8 or more authors then only the first author is printed.
\entdd
Examples:
@@ -433,10 +433,10 @@ output: GREEN, John, Bob BROWN, and Alice BLACK.
\begtt
author = "John Green and Bob Brown and Alice Black",
option = "auetal",
-\endtt
+\endtt
output: GREEN, John, Bob BROWN, Alice BLACK~et~al.
-If you need to add a text before or after authors list, you can use
+If you need to add a text before or after the author's list, you can use
the `auprint:{<value>}` option. The <value> will be printed instead of the
authors list. The <value> can include `\AU` macro which expands to the authors
list. Example:
@@ -448,9 +448,9 @@ option = "auprint:{\AU\space [pseudonym of J. K. Rowling]}",
output: CALBRAITH Robert [pseudonym of J. K. Rowling].
You can use the `autrim:<number>` option. All Firstnames of all authors
-are trimmed (i. e. reduced to initials) iff the number of authors in the
+are trimmed (i. e. reduced to initials) iff the number of authors in the
author field is greater than or equal to `<number>`. There is an exception:
-`autrim:0` means that no Firstnames are trimmed. This is default behavior.
+`autrim:0` means that no Firstnames are trimmed. This is the default behavior.
Another example: `autrim:1` means that all Firstnames are trimmed.
\begtt
@@ -459,12 +459,12 @@ option = "auetal autrim:1",
\endtt
output: GREEN, J., B. BROWN, A. BLACK~et~al.
-If you need to write a team name or institution instead authors, replace all
+If you need to write a team name or institution instead of authors, replace all
spaces by `\ ` in this name. Such text is interpreted as Lastname. You
-can add the secondary name (interpreted as Firstname) after comma. Example:
+can add the secondary name (interpreted as Firstname) after the comma. Example:
\begtt
- author = "Czech\ Technical\ University\ in\ Prague,
+ author = "Czech\ Technical\ University\ in\ Prague,
Faculty\ of\ Electrical\ Engeneering",
\endtt
output: CZECH TECHNICAL UNIVERSITY IN PRAGUE, Faculty of Electrical Engeneering.
@@ -472,10 +472,10 @@ output: CZECH TECHNICAL UNIVERSITY IN PRAGUE, Faculty of Electrical Engeneering
\seccc The editor field
-The editor field is used for list of the authors of the collection. The
+The editor field is used for the list of the authors of the collection. The
analogous rules as in author field are used here. It means that the
-authors are separated by \"\code{ and }", the Firstnames, Lastnames etc. are
-interpreted and you can use the options `edmax:<number>`, `edmin:<number>`,
+authors are separated by \"\code{ and }", the Firstnames, Lastnames, etc. are
+interpreted and you can use the options `edmax:<number>`, `edmin:<number>`,
`edetal`, `edtrim:<number>` and `edprint:{<value>}` (with `\ED` macro).
Example:
\begtt
@@ -485,7 +485,7 @@ option = "edprint:{\ED, editors.} edtrim:1",
Output: J. TOMEK and P. KARAS, editors.
If `edprint` option is not set then `{\ED, eds.}` or `{\ED, ed.}` is used
-depending on the entry language and on the singular or plural of
+depending on the entry language and on the singular or plural of
the editor(s).
@@ -499,15 +499,15 @@ ednote = "Illustrations by Robert \upper{Agarwal}, edited by Tom \upper{Nowak}",
\endtt
output: Illustrations by Robert AGARWAL, edited by Tom NOWAK.
-The `\upper` command have to be used for Lastnames in ednote field.
+The `\upper` command has to be used for Lastnames in the ednote field.
\seccc The title field
This is the title of the work. It will be printed (in common entry types) by
italics. The ISO 690 norm declares, that the title plus optional subtitle
-are in italics and they are separated by colon. Next, the optional secondary
-title have to be printed in upright font. This can be added by
+are in italics and they are separated by a colon. Next, the optional secondary
+title has to be printed in an upright font. This can be added by
`titlepost:{<value>}`. Example:
\begtt
@@ -526,7 +526,7 @@ The output of the last example:
This field is used only for second or more edition of cited work. Write
only the number without the word "edition". The shortcut "ed." (or something
-else depending on current language) is added automatically. Examples:
+else depending on the current language) is added automatically. Examples:
\begtt
edition = "Second",
@@ -543,7 +543,7 @@ lang = "cs",
Output: 2. vyd.
Note, that the example `edition = "Second"` may cause problems. If you are
-using language "cs" then the output is bad: Second vyd.
+using language "cs" then the output is bad: Second vyd.
But you can use `editionprint:{<value>}` option. The the <value> is printed
instead of edition field and shortcut. The edition field must be set. Example:
@@ -553,7 +553,7 @@ option = "editionprint:{Second full revised edition}",
\endtt
Output: Second full revised edition.
-You can use `\EDN` macro in `editionprint` value. This macro is expanded
+You can use `\EDN` macro in `editionprint` value. This macro is expanded
to the edition value. Example:
\begtt
@@ -568,7 +568,7 @@ option = "editionprint:{\EDN}",
\seccc The address, publisher, year fields
This is an anachronism from ancient Bib\TeX/ (unfortunately no exclusive) that
-the address field includes only the city of the publisher residence. No more
+the address field includes only the city of the publisher's residence. No more
data are here. The publisher field includes the name of the publisher.
\begtt
@@ -579,16 +579,16 @@ year = 2012,
Output: Berlin: Springer Verlag, 2012.
Note, that the year needn't to be inserted into quotes because it is pure
-numeric.
+numeric.
-The letter a, b etc. are appended to the year automatically, if two or more
+The letter a, b, etc. are appended to the year automatically if two or more
subsequent entries in the bibliography list are not distinct by the first
author and year fields. If you needn't this feature, you can use the
`noautoletters` option.
You can use "yearprint:{<value>}" option. If it is set then the <value>
is used for printing year instead the real field value. The reason: year is
-sort sensitive, may be you need to print something else than only sorting key.
+sort sensitive, maybe you need to print something else than only sorting key.
Example:
\begtt
@@ -603,7 +603,7 @@ option = "yearprint:{2012}",
\endtt
Output: 2012, sorted by: 2012a.
-The address, publisher and year are typically mandatory fields. If they are
+The address, publisher, and year are typically mandatory fields. If they are
missing then the warning occurs. But you can set `unpublished`
option. Then this warning is suppressed. There is no difference in the
printed output.
@@ -618,8 +618,8 @@ url = "http://petr.olsak.net/opmac.html",
\endtt
The ISO 690 norm recommends to add the text \"Available from" (or
-something else if different current language is used) before URL.
-It means, that the output of previous example is:
+something else if a different current language is used) before URL.
+It means, that the output of the previous example is:
Available from \url{http://petr.olsak.net/opmac.html}.
@@ -647,21 +647,21 @@ Output when `cs` is current: [vid. 21.~5.~2004].
\seccc The howpublished field
-This declares the available medium for cited document if it is not in printed
+This declares the available medium for the cited document if it is not in printed
form. Alternatives: online, CD, DVD, etc. Example:
\begtt
howpublished = "online",
\endtt
Output: [online].
-
+
\seccc The volume, number, pages and numbering fields
The volume is the \"big mark" of the journal issue and the number is the
-\"small mark" of the journal issue and pages includes the page range of
+\"small mark" of the journal issue and pages includes the page range of
the cited article in the journal. The volume is prefixed by Vol.~,
-the number by No.~ and the pages by pp.~. But these prefixes depends on the
+the number by No.~, and the pages by pp.~. But these prefixes depends on the
language of the entry.
Example:
@@ -675,14 +675,14 @@ Output: Vol.~31, No.~3, pp.~37--42.
\begtt
volume = 31,
-number = 3,
+number = 3,
pages = "37--42",
lang = "cs",
\endtt
Output: ročník~31, č.~3, s.~37--42.
If you disagree with the default prefixes, you can use the numbering field.
-When it is set then it is used instead of volume, number, pages fields
+When it is set then it is used instead of volume, number, pages fields
and instead of any mentioned prefixes. The numbering can include macros
`\VOL`, `\NO`, `\PP`, which are expanded to the respective values of fields. Example:
@@ -694,55 +694,55 @@ numbering = "Issue~\VOL/\NO, pages~\PP",
\endtt
Output: Issue~31/3, pages~37--42
-Note: The volume, numbers and pages fields are printed without numbering
+Note: The volume, numbers, and pages fields are printed without numbering
filed only in the `@ARTICLE` entry. It means, that if you need to visible them
-in the `@INBOOK`, `@INPROCEEDINGS` etc. entries, then you must to use numbering field.
+in the `@INBOOK`, `@INPROCEEDINGS` etc. entries, then you must use the numbering field.
\seccc Common notes about entries
The order of the fields in the entry is irrelevant. We use the printed order
in this manual. The exclamation mark (!) denotes the mandatory field. If
-such field is missing then the warning occurs during processing.
+the field is missing then a warning occurs during processing.
If the `unpublished` option is set then the fields address, publisher, year,
-isbn and pages are not mandatory. If the `nowarn` option is set then no
-warnings about missing mandatory fields occurs.
+isbn, and pages are not mandatory. If the `nowarn` option is set then no
+warnings about missing mandatory fields occur.
If the field is used but not mentioned in the entry documentation below then
it is silently ignored.
\secccc The `@BOOK` entry
-This is used for book-like entries.
+This is used for book-like entries.
-Fields: author(!), title(!), howpublished, edition, ednote, address(!),
-publisher(!), year(!), citedate, series, isbn(!), doi, url, note.
+Fields: author(!), title(!), howpublished, edition, ednote, address(!),
+publisher(!), year(!), citedate, series, isbn(!), doi, url, note.
The ednote field here means the secondary authors (illustrator, cover design
etc.).
\secccc The `@ARTICLE` entry
-This is used for articles published in a journal.
+This is used for articles published in a journal.
Fields: author(!), title(!), journal(!), howpublished, address, publisher,
month, year, [numbering or volume, number, pages(!)], citedate, issn,
-doi, url, note.
+doi, url, note.
If the numbering is used then it is used instead volume, number, pages.
\secccc The `@INBOOK` entry
-This is used for the part of a book.
+This is used for the part of a book.
Fields: author(!), title(!), booktitle(!), howpublished, edition, ednote,
address(!), publisher(!), year(!), numbering, citedate, series, isbn or
issn, doi, url, note.
The author field is used for author(s) of the part, the editor field
-includes author(s) or editor(s) of whole document. The pages field specifies
+includes author(s) or editor(s) of the whole document. The pages field specifies
the page range of the part. The series field can include more information
about the part (chapter numbers etc.).
@@ -750,47 +750,46 @@ The `@INPROCEEDINGS` and `@CONFERENCE` entries are equivalent to `@INBOOK` entry
\secccc The `@THESIS` entry
-This is used for student's thesis.
+This is used for the student's thesis.
-Fields: author(!), title(!), howpublished, address(!), school(!),
-month, year(!), citedate, type(!), ednote, doi, url, note.
+Fields: author(!), title(!), howpublished, address(!), school(!),
+month, year(!), citedate, type(!), ednote, doi, url, note.
-The type field must include the text \"Master's Thesis" or something
+The type field must include the text \"Master's Thesis" or something
similar (depending on the language of the outer document).
There are nearly equivalent entries: `@BACHELORSTHESIS`, `@MASTERSTHESIS` and
`@PHDTHESIS`. These entries set the type field to an appropriate value
-automatically. The type field is optional in such case. If it is used then
-it has a precedence before default setting.
+automatically. The type field is optional in this case. If it is used then
+it has precedence before the default setting.
\secccc The @MISC entry
-It is intended for various usage.
+It is intended for various usage.
-Fields: author, title, howpublished, ednote, citedate, doi, url, note.
+Fields: author, title, howpublished, ednote, citedate, doi, url, note.
You can use `\AU`, `\ED`, `\EDN`, `\VOL`, `\NO`, `\PP`, `\ADDR`, `\PUBL`,
`\YEAR` macros in ednote field. These macros print authors list, editors list,
-edition, volume, number, pages, address, publisher and year field values
+edition, volume, number, pages, address, publisher, and year field values
respectively.
-The reason of this entry is to give to you the possibility to set the format of
-entry by your own decision. The most of data are concentrated in ednote
-field.
+The reason for this entry is to give to you the possibility to set the format of
+entry by your own decision. The most of data are concentrated in the ednote field.
\secccc The `@BOOKLET`, `@INCOLLECION`, `@MANUAL`, `@PROCEEDINGS`, `@TECHREPORT`, `@UNPUBLISHED` entries
These entries are equivalent to `@MICS` entry because we need to save the
simplicity. They are implemented only for (almost) backward compatibility
with the ancient Bib\TeX/. But the ednote is mandatory field here, so you
-cannot use these entries from the old databases without warnings and without
+cannot use these entries from the old databases without warnings and without
some additional work with the `.bib` file.
\seccc The cite-marks (bibmark) used when \code{\\nonumcitations} is set
-When `\nonumcitations` is set then `\cite` prints text orientes
-bib-marks instead numbers. This style file autogenerates these marks in the
-form \"Lastname of the first author, comma, space, the year" if bibmark field
+When `\nonumcitations` is set then `\cite` prints text-oriented
+bib-marks instead of numbers. This style file auto-generates these marks in the
+form \"Lastname of the first author, comma, space, the year" if the bibmark field
isn't declared. If you need to set an exception from this common format,
then you can use bibmark field.
@@ -808,15 +807,15 @@ used (from older to newer). This feature follows the recommendation of the
ISO 690 norm.
If you have the same authors and the same year, you can control the sorting
-by setting years as 2013, 2013a, 2013b, etc. You can print something
+by setting years like 2013, 2013a, 2013b, etc. You can print something
different to the list using `yearprint{<value>}` option, see the section about
-address, publisher and year above. The real value of year field (ie. not
-yearprint value) is also used in the text oriented bib-marks when
+address, publisher, and year above. The real value of year field (i.e.\ not
+yearprint value) is also used in the text-oriented bib-marks when
`\nonumcitations` is set.
If you have some problems with name sorting, you can use the hidden field
`key`, which is used for sorting instead of the \"Lastname Firstname(s)"
-of authors. If the `key` field is unset then the \"Lastname Firstname(s)"
+of authors. If the `key` field is unset then the \"Lastname Firstname(s)"
is used for sorting normally. Example:
\begtt
@@ -824,9 +823,9 @@ author = "Světla Čmejrková",
key = "Czzmejrkova Svetla",
\endtt
-This entry is now sorted between C and D.
+This entry is now sorted between C and D.
-The norm recommends to place the autocitations to the top of the list of
+The norm recommends placing the auto-citations at the top of the list of
references. You can do this by setting `key = "@"`, to each entry with your
name because the `@` character is sorted before `A`.
@@ -835,20 +834,20 @@ name because the `@` character is sorted before `A`.
There is the language of the outer document and the languages of each entry.
The ISO 690 norm recommends that the technical notes (the prefix before URL,
-the media type, the \"and" conjunction between semifinal and final author)
-may be printed in the language of the outer document. The data of the entry
+the media type, the \"and" conjunction between the semifinal and final author)
+maybe printed in the language of the outer document. The data of the entry
have to be printed in the entry language (edition ed./vyd., Vol./ročník,
-No./č. etc.). Finally there are the phrases independent on the language
+No./č. etc.). Finally, there are the phrases independent of the language
(for example In:). Unfortunately, the bib\TeX/ supposes that the entry data
-are not fully included in the fields so the automaton have to add some
+are not fully included in the fields so the automaton has to add some
text during processing (\"ed.", \"Vol.", \"see also", etc.).
-But what language have to be chosen?
+But what language has to be chosen?
The current value of the `\language` register at the start of the `.bib`
-processing is descided as the language of the outer document. This language
+processing is described as the language of the outer document. This language
is used for technical notes regardless of the entry language. Moreover,
each entry can have the `lang` field (short name of the language). This
-language is used for ed./vyd., vol./ročník etc. and it is used for
+language is used for ed./vyd., vol./ročník, etc. and it is used for
hyphenation too. If the `lang` is not set then the outer document
language is used.
@@ -871,12 +870,12 @@ languages:
\seccc Summary of non-standard fields
-This style uses the following fields unkown by bib\TeX/:
+This style uses the following fields unknown by bib\TeX/:
\begtt
option ... options separated by spaces
lang ... the language two-letter code of one entry
-ednote ... editional info (secondary authors etc.) or
+ednote ... edition info (secondary authors etc.) or
global data in @MISC-like entries
citedate ... the date of the citation in year/month/day format
numbering ... format for volume, number, pages
@@ -889,19 +888,19 @@ url ... URL
\seccc Summary of options
-\begtt
+\begtt \catcode`\<=13
aumax:<number> ... maximum number of printed authors
-aumin:<number> ... number of printed authors if aumax exceedes
+aumin:<number> ... number of printed authors if aumax exceeds
autrim:<number> ... full Firstnames iff number of authors are less than this
-auprint:{<value>} ... text instead authors list (\AU macro may be used)
+auprint:{<value>} ... text instead authors list (\AU macro may be used)
edmax, edmin, edtrim ... similar as above for editors list
-edprint:{<value>} ... text instead editors list (\ED macro may be used)
-titlepost:{<value>} ... text after title
-yearprint:{<value>} ... text instead real year (\YEAR macro may be used)
-editionprint:{<value>} . text instead real edition (\EDN macro may be used)
+edprint:{<value>} ... text instead editors list (\ED macro may be used)
+titlepost:{<value>} ... text after title
+yearprint:{<value>} ... text instead real year (\YEAR macro may be used)
+editionprint:{<value>} .. text instead of real edition (\EDN macro may be used)
urlalso ... the ``available also from'' is used instead ``available from''
unpublished ... the publisher etc. fields are not mandatory
nowarn ... no mandatory fields
\endtt
-Another options in the option field are silently ignored.
+Other options in the option field are silently ignored.
diff --git a/macros/luatex/optex/base/bib-simple.opm b/macros/luatex/optex/base/bib-simple.opm
index b41d3d605e..dff747bd57 100644
--- a/macros/luatex/optex/base/bib-simple.opm
+++ b/macros/luatex/optex/base/bib-simple.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% bibliography style (simple), version <2020-03-10>, loaded on demand by \usebib
diff --git a/macros/luatex/optex/base/cite-bib.opm b/macros/luatex/optex/base/cite-bib.opm
index 4829b8b8f9..6327877fbe 100644
--- a/macros/luatex/optex/base/cite-bib.opm
+++ b/macros/luatex/optex/base/cite-bib.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \cite {Cite, Biblioraphy <2020-03-09>} % loaded in format
@@ -11,23 +11,23 @@
\_newcount\_bibnum % the bibitem counter
\_newtoks\_bibmark % the bibmark used if \nonumcitations
\_newcount\_lastcitenum \_lastcitenum=0 % for \shortcitations
-\_public \bibnum \bibmark ;
+\_public \bibnum \bibmark ;
\_doc -----------------------------
- \`\cite` `[<label>,<label>,...,<label>]` manages <labes> using `\_citeA`
+ \`\cite` `[<label>,<label>,...,<label>]` manages <labes> using `\_citeA`
and prints `[<bib-marks>]` using `\_printsavedcites`.
\nl
\`\nocite` `[<label>,<label>,...,<label>]` only manages <labels> but prints nothing.
\nl
\`\rcite` `[<label>,<label>,...,<label>]` behaves like `\cite` but prints
- <bib-marks> without brackets.
+ <bib-marks> without brackets.
\nl
\`\ecite` `[<label>]{<text>}` behaves like `\rcite [<label>]` but prints
<text> instead <bib-mark>. The <text> is hyperlinked like <bib-marks>
- when `\cite` or `\rcite` is used.
+ when `\cite` or `\rcite` is used.
The empty internal macro \`\_savedcites` will include the `<bib-marks>` list to
- be printed. This list is set by `\_citeA` inside group and it is used by
- `\_printsavedcites` in the same group. Each `\cite`/`\rcite`/`\ecite` macro
+ be printed. This list is set by `\_citeA` inside a group and it is used by
+ `\_printsavedcites` in the same group. Each `\cite`/`\rcite`/`\ecite` macro
starts from empty list of <bib-marks> because new group is opened.
\_cod -----------------------------
@@ -58,10 +58,10 @@
\_if^#3^\_else\_sdef{_bim:#2}{#3}\_fi\_def\_lastbibnum{#2}}
\_doc -----------------------------
- \`\_citeA` `<label>,` processes one label from list of labels given in the
+ \`\_citeA` `<label>,` processes one label from the list of labels given in the
parameter of `\cite`, `\nocite`, `\rcite` or `\ecite` macros. It adds the
<label> to global list `\_citelist` which will be used by `\usebib` (it
- must to know what <labels> are used in the document in order to pick-up
+ must know what <labels> are used in the document to pick-up
only relevant bib-entries from the database. Because we want to save
space and not to save the same <label> to `\_citelist` twice, we
distinguish four cases:
@@ -76,15 +76,15 @@
* `<label>` was declared by \^`\_Xbib` and it is first such <label> in the
document: Then `\_bin:<label>` includes `\_bibnn{<number>}&` and we
test this case by `\if &\_bibnn{<number>}&`. This is true when `\_bibnn{<number>}`
- expands to empty. The <label> is saved by `\_addcitelist` and
+ expands to empty. The <label> is saved by `\_addcitelist` and
`\_bib:<label>` is re-defined directly as <number>.
* `<label>` was declared by \^`\_Xbib` and it was used previously in the
document. Then we do nothing (only data to `\_savedcites` are saved.
\enditems
- The `\_citeA` macro runs repeatedly over whole list of <labels>.
+ The `\_citeA` macro runs repeatedly over the whole list of <labels>.
\_cod -----------------------------
-\_def\_citeA #1#2,{\_if#1,\_else
+\_def\_citeA #1#2,{\_if#1,\_else
\_if *#1\_addcitelist{*}\_ea\_skiptorelax \_fi
\_ifcsname _bib:#1#2\_endcsname \_else
\_addcitelist{#1#2}%
@@ -97,7 +97,7 @@
\_addto\_savedcites{?,}\_def\_sortcitesA{}\_lastcitenum=0
\_ea\_skiptorelax \_fi
\_def\_bibnn##1{}%
- \_if &\_csname _bib:#1#2\_endcsname
+ \_if &\_csname _bib:#1#2\_endcsname
\_def\_bibnn##1##2{##1}%
\_addcitelist{#1#2}%
\_sxdef{_bib:#1#2}{\_csname _bib:#1#2\_endcsname}%
@@ -107,23 +107,23 @@
\_ea\_citeA\_fi
}
\_def\_addcitelist#1{\_global\_addto\_citelist{\_citeI[#1]}}
-\_def\_citelist{}
+\_def\_citelist{}
\_doc -----------------------------
The `<bib-marks>` (in numeric or text form) are saved in \^`\_savedcites`
macro separated by commas.
The \`\_printsavedcites` prints them by normal order or sorted if
\`\sortcitations` is specified or condensed if \`\shordcitations` is
- specified.\nl
- The `\sortcitations` appends the dummy number 300000 and we suppose that normal
- numbers of bib-entries are less than this constant.
- This constant is removed after sorting algorithm.
+ specified.\nl
+ The `\sortcitations` appends the dummy number 300000 and we suppose that normal
+ numbers of bib-entries are less than this constant.
+ This constant is removed after the sorting algorithm.
The \`\shortcitations` sets simply `\_lastcitenum=1`.
The macros for <bib-marks> printing follows (sorry, without detail
documentation). They are documented in `opmac-d.pdf` (but only in Czech).
\_cod -----------------------------
-\_def\_printsavedcites{\_sortcitesA
+\_def\_printsavedcites{\_sortcitesA
\_chardef\_tmpb=0 \_ea\_citeB\_savedcites,%
\_ifnum\_tmpb>0 \_printdashcite{\_the\_tmpb}\_fi
}
@@ -136,10 +136,10 @@
\_else
\_mathchardef\_tmpa=#1
\_edef\_savedcites{\_ea}\_ea\_sortcitesC \_savedcites\_end
- \_ea\_sortcitesB
+ \_ea\_sortcitesB
\_fi
}
-\_def\_sortcitesC#1,{\_ifnum\_tmpa<#1\_edef\_tmpa{\_the\_tmpa,#1}\_ea\_sortcitesD
+\_def\_sortcitesC#1,{\_ifnum\_tmpa<#1\_edef\_tmpa{\_the\_tmpa,#1}\_ea\_sortcitesD
\_else\_edef\_savedcites{\_savedcites#1,}\_ea\_sortcitesC\_fi}
\_def\_sortcitesD#1\_end{\_edef\_savedcites{\_savedcites\_tmpa,#1}}
@@ -173,7 +173,7 @@
\_def\_nonumcitations{\_lastcitenum=0\_def\_sortcitesA{}\_def\_etalchar##1{$^{##1}$}%
\_def\_citelinkA##1{\_isdefined{_bim:##1}\_iftrue \_csname _bim:##1\_endcsname
- \_else ##1\_opwarning{\_noexpand\nonumcitations + empty bibmark. Maybe bad bib style}\_fi}
+ \_else ##1\_opwarning{\_noexpand\nonumcitations + empty bibmark. Maybe bad bib-style}\_fi}
}
\_def\_citelinkA{}
@@ -184,7 +184,7 @@
without reading any database. The bib-enty follows after this command.
This command counts the used `\bib`s from one by `\bibnum` counter and
saves \^`\_Xbib``{<label>}{\_the\_bibnum}{\_the\_bibmark}` into `.ref` file
- immediately using `\_wbib`. This is the core of creation of mapping from
+ immediately using `\_wbib`. This is the core of creation of mapping from
`<labels>` to `<bib-marks>`.
\_cod -----------------------------
@@ -204,14 +204,14 @@
\_doc -----------------------------
The \`\_printbib` prints the bib-entry itself. You can re-define it if you
- want different design. The `\_pritbib` starts in horizontal mode after
+ want a different design. The `\_pritbib` starts in horizontal mode after
`\noindent` and after the eventual hyperlink destination is inserted.
By default, the `\_printbib` sets the indentation
by `\hangindent` and prints numeric <bib-marks> by
`\llap{[\the\bibnum]}` If `\nonumcitations` then the `\_citelinkA` is not
- empty and <bib-marks> (`\the\bibnum` nor `\the\bibmark`) are not printed.
- The text of bib-entry follows. User can create this text manually
- using `\bib` command or it is generated automatically from a `.bib` database
+ empty and <bib-marks> (`\the\bibnum` nor `\the\bibmark`) are not printed.
+ The text of bib-entry follows. User can create this text manually
+ using `\bib` command or it is generated automatically from a `.bib` database
by `\usebib` command.
The vertical space between bib-entries is controlled by \`\_bibskip` macro.
@@ -224,7 +224,7 @@
\_doc -----------------------------
The \`\usebib` command is implemented in `usebib.opm` file which is loaded
- when the `\usebib` command is firstly used.
+ when the `\usebib` command is used first.
The `usebib.opm` file loads the `librarian.tex` for scanning the `.bib`
files. See the section~\ref[usebib], where the file `usebib.opm` is
documented.
@@ -237,7 +237,7 @@
\_forwardlink\`\nobibwarning` `[<list of bib-labels>]`
declares a list of bib labels
which are not fully declared in `.bib` file but we want to suppress the
- warning about it. List of bib labels are comma separated case sensitive
+ warning about it. List of bib labels are comma-separated case sensitive
list without spaces.
\_cod ------------------------------
@@ -267,5 +267,5 @@ See end of the `usebib.opm` file for documentation about creating style
files `bib-<style>.opm`.
See end of the `bib-iso690.opm` file for large documentation about `.bib` files
-structure and about usage of `iso690` bib-style.
+structure and about the usage of `iso690` bib-style.
diff --git a/macros/luatex/optex/base/colors.opm b/macros/luatex/optex/base/colors.opm
index eb57d0d9a8..bbda496761 100644
--- a/macros/luatex/optex/base/colors.opm
+++ b/macros/luatex/optex/base/colors.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \colordef {Colors <2020-03-18>} % loaded in format
@@ -7,14 +7,14 @@
\`\localcolor` as default.
\_cod -----------------------------
-\_newifi \_iflocalcolor \_localcolortrue
-\_protected\_def \_localcolor {\_localcolortrue}
+\_newifi \_iflocalcolor \_localcolortrue
+\_protected\_def \_localcolor {\_localcolortrue}
\_protected\_def \_nolocalcolor {\_localcolorfalse}
\_public \localcolor \nolocalcolor ;
\_doc -----------------------------
- The basic colors in CMYK
- \`\Blue` \`\Red` \`\Brown` \`\Green` \`\Yellow` \`\Cyan` \`\Magenta`
+ The basic colors in CMYK
+ \`\Blue` \`\Red` \`\Brown` \`\Green` \`\Yellow` \`\Cyan` \`\Magenta`
\`\Grey` \`\LightGrey` \`\White` and \`\Black`
are declared here.
\_cod -----------------------------
@@ -39,7 +39,7 @@
For example `\setrgbcolor{1 0 0}` expands to `\_setcolor{1 0 0 rg 1 0 0 RG}`.\nl
We set both types of colors (for lines (`K` or `RG` or `G`) and for fills
(`r` or `rg` or `g`) together in the <pdf-primitive> command.
- This is the reason why the \`\_fillstroke` uses both its parameters.
+ This is the reason why the \`\_fillstroke` uses both its parameters.
If only fills are needed you can do `\def\_fillstroke#1#2{#1}`.
If only strokes are needed you can do `\def\_fillstroke#1#2{#2}`.
\_cod -----------------------------
@@ -58,14 +58,14 @@
to its conversion to RGB <pdf-primitive>. This conversion is done by
the \^`\_cmyktorgb` macro. Moreover, `\onlyrgb` re-defines three basic RGB
colors for RGB color space and re-declares \^`\colordef` as \^`\rgbcolordef`.
- The \hbox{\`\onlycmyk`} macro does a similar work, it re-defines \^`\_formatrgb`
+ The \hbox{\`\onlycmyk`} macro does similar work, it re-defines \^`\_formatrgb`
macro. The Grey color space is unchanged and works in both main
settings (RGB or CMYK) without collisions.
\_cod -----------------------------
\_def\_onlyrgb{\_def\Red{\_setrgbcolor{1 0 0}}%
- \_def\Green{\_setrgbcolor{0 1 0}}\_def\Blue{\_setrgbcolor{0 0 1}}%
- \_let\_colordef=\_rgbcolordef
+ \_def\Green{\_setrgbcolor{0 1 0}}\_def\Blue{\_setrgbcolor{0 0 1}}%
+ \_let\_colordef=\_rgbcolordef
\_def\_formatrgb##1{\_fillstroke{##1 rg}{##1 RG}}%
\_def\_formatcmyk##1{\_fillstroke{\_cmyktorgb ##1 ; rg}{\_cmyktorgb ##1 ; RG}}}
\_def\_onlycmyk{\_def\_formatcmyk##1{\_fillstroke{##1 k}{##1 K}}%
@@ -76,18 +76,18 @@
The \`\_setcolor` macro redefines empty `\_ensureblack` macro (used in
output routine for headers and footers) to `\_ensureblackA` which sets
Black at the start of its parameter and returns to the current color at the
- end of its parameter.
-
+ end of its parameter.
+
The current color is saved into `\_currentcolor` macro and colorstack is pushed.
Finally, the `\_colorstackpop` is initialized by `\aftergroup` if
`\localcolor` is declared.
- You can save current color to your macro by `\let\yourmacro=\_currentcolor`
+ You can save the current color to your macro by `\let\yourmacro=\_currentcolor`
and you can return to this color by the command `\_setcolor\yourmacro`.
\_cod -----------------------------
\_protected\_def \_setcolor #1{\_global\_let\_ensureblack=\_ensureblackA
- \_iflocalcolor \_edef\_currentcolor{#1}\_colorstackpush\_currentcolor
+ \_iflocalcolor \_edef\_currentcolor{#1}\_colorstackpush\_currentcolor
\_aftergroup\_colorstackpop
\_else \_xdef\_currentcolor{#1}\_colorstackset\_currentcolor \_fi
}
@@ -97,7 +97,7 @@
\_colorstackpush\_pdfblackcolor #1\_colorstackpop}
\_doc -----------------------------
- The colorstack is initialized here and the basic macros
+ The colorstack is initialized here and the basic macros
\`\_colorstackpush`, \`\_colorstackpop` and \`\_colorstackset`
are defined here.
\_cod -----------------------------
@@ -108,8 +108,8 @@
\_def\_colorstackset#1{\_pdfcolorstack\_colorstackcnt set{#1}}
\_doc -----------------------------
- We need to open a special color stack for footnotes, because footnotes
- can follow on next pages and their colors are independent on colors
+ We need to open a special color stack for footnotes because footnotes
+ can follow on the next pages and their colors are independent of colors
used in the main page-body. The \`\_openfnotestack` is defined as
\`\_openfnotestackA` when the \^`\_setcolor` is used first.
The \`\_fnotestack` is initialized in in `\everyjob` because the
@@ -120,7 +120,7 @@
\_def \_openfnotestackA {\_pdfcolorstack\_fnotestack current}
\_doc -----------------------------
- We use lua codes for RGB to CMYK or CMYK to RGB conversions and for
+ We use Lua codes for RGB to CMYK or CMYK to RGB conversions and for
addition color components in the \^`\colordef` macro.
The \`\_rgbtocmyk` `<R> <G> <B> ;` expands to `<C> <M> <Y> <K>` and
the \`\_cmyktorgb` `<C> <M> <Y> <K> ;` expands to `<R> <G> <B>`.
@@ -170,13 +170,13 @@
\_doc -----------------------------
We have a problem with the `%.3f` directive in Lua code. It prints trailed
zeros: (0.300 instead desired 0.3) but we want to save PDF file space. The macro
- \`\_stripzeros` removes these trailing zeros at expand processor
+ \`\_stripzeros` removes these trailing zeros at the expand processor
level. So `\_stripzeros 0.300 0.400 0.560 ;` expands to `.3 .4 .56`.
\_cod -----------------------------
\_def\_stripzeros #1.#2 #3{\_ifx0#1\_else#1\_fi.\_stripzeroA #2 0 :%
\_ifx;#3\_else \_space \_ea\_stripzeros\_ea#3\_fi}
-\_def\_stripzeroA #10 #2:{\_ifx^#2^\_stripzeroC#1:\_else \_stripzeroB#1 0 :\_fi}
+\_def\_stripzeroA #10 #2:{\_ifx^#2^\_stripzeroC#1:\_else \_stripzeroB#1 0 :\_fi}
\_def\_stripzeroB #10 #2:{\_ifx^#2^\_stripzeroC#1:\_else #1\_fi}
\_def\_stripzeroC #1 #2:{#1}
@@ -184,15 +184,15 @@
The \`\rgbcolordef` and \`\cmykcolordef` use common macro
\`\_commoncolordef` with different first four parameters.
The `\_commoncolordef <selector><K><R><G><what-define>{<data>}` does the
- real work. It initializes the Lua variables for summation.
+ real work. It initializes the Lua variables for summation.
It expands <data> in the group where color selectors have
special meaning, then it adjusts the resulting string by \^`\replstring`
and runs it. Example shows how the <data> are processed:
- \begtt
- input <data>: ".3\Blue + .6^\KhakiC \useK -\Black"
+ \begtt \catcode`\<=13
+ input <data>: ".3\Blue + .6^\KhakiC \useK -\Black"
expanded to: ".3 !=K 1 1 0 0 +.6^!=R .804 .776 .45 \_useK -!=G 0"
adjusted to: "\_addcolor .3!=K 1 1 0 0 \_addcolor .6!^R .804 .776 .45
- \_useK \_addcolor -1!=G 0"
+ \_useK \_addcolor -1!=G 0"
and this is processed.
\endtt
\`\_addcolor` `<coef.>!<mod><type>` expands to `\_addcolor:<mod><type> <coef>`
@@ -203,9 +203,9 @@
processed and lowercase <type> informs that `\rgbcolordef` is processed.
All variants of commands `\_addcolor:<mod><type>` are defined. All of
them expand to `\_addcolorA <v1> <v2> <v3> <v4>` which adds the values of Lua
- variables. The `\rgbcolordef` uses `\_addcolorA <R> <G> <B> 0` and
+ variables. The `\rgbcolordef` uses `\_addcolorA <R> <G> <B> 0` and
`\cmkykcolordef` uses `\_addcolorA <C> <M> <Y> <K>`. So the Lua variable
- names are a little confusing when `\rgbcolordef` is processed.
+ names are a little confusing when `\rgbcolordef` is processed.
Next, `\_commoncolordef` saves resulting values from Lua to `\_tmpb`
using `\_colordefFin`. If `\rgbcolordef` is processed, then we must to
@@ -226,7 +226,7 @@
\_let\_useK=\_relax
\_edef\_tmpb{+#6}%
\_replstring\_tmpb{+ }{+}\_replstring\_tmpb{- }{-}%
- \_replstring\_tmpb{+}{\_addcolor}\_replstring\_tmpb{-}{\_addcolor-}%
+ \_replstring\_tmpb{+}{\_addcolor}\_replstring\_tmpb{-}{\_addcolor-}%
\_replstring\_tmpb{^!=}{!^}\_replstring\_tmpb{-!}{-1!}%
\_ifx K#2\_let\_useK=\_douseK \_fi
\_tmpb
@@ -238,7 +238,7 @@
\_def\_addcolor#1!#2#3{\_cs{addcolor:#2#3}#1}
\_def\_addcolorA #1 #2 #3 #4 #5 {%
\_def\_tmpa{#1}\_ifx\_tmpa\_empty \_else \_edef\_tmpa{\_tmpa*}\_fi
- \_directlua{color_C=math.max(color_C+\_tmpa#2,0)
+ \_directlua{color_C=math.max(color_C+\_tmpa#2,0)
color_M=math.max(color_M+\_tmpa#3,0)
color_Y=math.max(color_Y+\_tmpa#4,0)
color_K=math.max(color_K+\_tmpa#5,0)
@@ -264,7 +264,7 @@
\_let\_colordef=\_cmykcolordef % default \_colordef is \_cmykcolordef
\_doc -----------------------------
- Public versions of \`\colordef` and \`\useK` macros are declared using
+ Public versions of \`\colordef` and \`\useK` macros are declared using
`\_def`, because the internal versions `\_colordef` and `\_useK` are
changed during processing.
\_cod -----------------------------
@@ -281,21 +281,21 @@
\begtt
\def\vr{\vrule height10pt depth2pt width20pt}
\def\_showcolor{\hbox{\tt\_bslash\_tmpb: \csname\_tmpb\endcsname \vr}\space\space}
- \begmulti 4 \typosize[11/14]
+ \begmulti 4 \typosize[11/14]
\morecolors
\endmulti
- \endtt
+ \endtt
\_cod -----------------------------
\_def\_morecolors{%
- \_long\_def\_tmp##1\preparecolorset##2##3##4##5{\_tmpa ##5;,,,;}
- \_def\_tmpa##1,##2,##3,##4;{\_ifx,##1,\_else
- \_def\_tmpb{##1}\_replstring\_tmpb{1}{}\_replstring\_tmpb{2}{B}%
+ \_long\_def\_tmp##1\preparecolorset##2##3##4##5{\_tmpa ##5;,,,;}
+ \_def\_tmpa##1,##2,##3,##4;{\_ifx,##1,\_else
+ \_def\_tmpb{##1}\_replstring\_tmpb{1}{}\_replstring\_tmpb{2}{B}%
\_replstring\_tmpb{3}{C}\_replstring\_tmpb{4}{D}\_replstring\_tmpb{0}{O}%
- \_ifcsname \_tmpb\_endcsname \_else
- \_sdef{\_tmpb}{\_setrgbcolor{##2 ##3 ##4}}\_showcolor\_fi
+ \_ifcsname \_tmpb\_endcsname \_else
+ \_sdef{\_tmpb}{\_setrgbcolor{##2 ##3 ##4}}\_showcolor\_fi
\_ea\_tmpa\_fi
- }
+ }
\_ea\_tmp\_input x11nam.def
}
\_let\_showcolor=\_relax % re-define it if you want to print a color catalog
@@ -303,27 +303,27 @@
\_endcode % -------------------------------------
-The colors have different behavior than fonts. A marks (whatsits) with color
-information are stored into PDF output and \TeX/ doesn't interpret them.
-The PDF viewer (or PDF interpreter in a printer) reads these marks
+The colors have different behavior than fonts. Marks (whatsits) with color
+information are stored into PDF output and \TeX/ doesn't interpret them.
+The PDF viewer (or PDF interpreter in a printer) reads these marks
and switches colors according to them. This
-is totally independent on \TeX/ group mechanism. You can declare
+is independent of \TeX/ group mechanism. You can declare
`\nolocalcolor` at the beginning of the document, if you want this behavior.
-In this case, if you set a color then you must to return back to black color
+In this case, if you set a color then you must return to the black color
using `\Black` manually.
By default, \OpTeX/ sets `\localcolor`. It means that the typesetting
-returns back to a previous color at the end of current group, so you cannot
-write `\Black` explicitly. This is implemented using `\aftergroup` feature.
+returns to a previous color at the end of the current group, so you cannot
+write `\Black` explicitly. This is implemented using the `\aftergroup` feature.
There is a limitation of this feature: when a color selector is used in a
group of a box, which is saved by `\setbox`, then the activity or
-reconstruction of previous color are processed at `\setbox` time, no in the
-box itself. You must correct it by double group:
-\begtt
-\setbox0=\hbox{\Red text} % bad: \Black is done after \setbox
-\setbox0=\hbox{{\Red text}} % good: \Black is done after group inside the box
+reconstruction of the previous color is processed at `\setbox` time, no in the
+box itself. You must correct it by double group:
+\begtt
+\setbox0=\hbox{\Red text} % bad: \Black is done after \setbox
+\setbox0=\hbox{{\Red text}} % good: \Black is done after group inside the box
\endtt
-
+
The implementation of colors is based on colorstack, so the current color
can follow across more pages. It is not so obvious because PDF viewer (or PDF
interpreter) manipulates with colors locally at each PDF page and it
@@ -333,15 +333,15 @@ Macros \^`\setcmykcolor``{<C> <M> <Y> <K>}` or \^`\setrgbcolor``{<R> <G> <B>}`
or\nl \^`\setgreycolor``{<Grey>}` should be used in color selectors or user can
specify these macros explicitly.
-The color mixing processed by the \^`\colordef` is done in the substractive color
+The color mixing processed by the \^`\colordef` is done in the subtractive color
model CMYK. If the result has a component greater than 1 then all
-components are multiplied by a coefficient in order to maximal component is
+components are multiplied by a coefficient in order to the maximal component is
equal to 1.
You can move a shared amount of CMY components (i.e. their minimum) to the
$K$ component. This saves the color tonners and the result is more true.
This should be done by \^`\useK` command at the end of a linear combination
-used in `\colordef`. For example
+used in `\colordef`. For example
\begtt
\colordef \myColor {.3\Green + .4\Blue \useK}
\endtt
@@ -353,26 +353,26 @@ $$
}
$$
-You can use minus instead plus in the linear combination in `\colordef`. The
+You can use minus instead of plus in the linear combination in `\colordef`. The
given color is substracted in such case and the negative components are
rounded to zero immediately. For example
\begtt
-\colordef \Color {\Brown-\Black}
+\colordef \Color {\Brown-\Black}
\endtt
-can be used for removing black component from the color. You can use
-the `-\Black` trick after `\useK` command in order to remove grey components
-occured during color mixing.
+can be used for removing the black component from the color. You can use
+the `-\Black` trick after `\useK` command to remove grey components
+occurred during color mixing.
-Finally, you can use `^` immediately preceeded before macro name of the
+Finally, you can use `^` immediately preceded before the macro name of the
color. Then the complementary color is used here.
\begtt
-\colordef\mycolor{\Grey+.6^\Blue} % the same as \colordef\mycolor{\Grey+.6\Yellow}
+\colordef\mycolor{\Grey+.6^\Blue} % the same as \colordef\mycolor{\Grey+.6\Yellow}
\endtt
The \^`\rgbcolordef` can be used to mix colors in additive color model RGB.
If \^`\onlyrgb` is declared, then \^`\colordef` works as \^`\rgbcolordef`.
-If a CMYK to RGB or RGB to CMYK conversion is needed then
+If a CMYK to RGB or RGB to CMYK conversion is needed then
the following simple formulae are used
(ICC profiles are not supported):
$$
@@ -380,15 +380,15 @@ $$
\hbox{CMYK to RGB:}\cr
R = (1-C)(1-K), \ G = (1-M)(1-K), \ B = (1-Y)(1-K). \cr
\hbox{RGB to CMYK:}\cr
- K'=\max(R,G,B), \ C=(K'-R)/K', \ M=(K'-G)/K', \ Y=(K'-B)/K', \ K=1-K'.
+ K'=\max(R,G,B), \ C=(K'-R)/K', \ M=(K'-G)/K', \ Y=(K'-B)/K', \ K=1-K'.
}
$$
The RGB to CMYK conversion is invoked when a color is declared using `\setrgbcolor`
-and it is used in \^`\colordef` or if it is printed when \^`\onlycmyk` is declared.
+and it is used in \^`\colordef` or if it is printed when \^`\onlycmyk` is declared.
The CMYK to RGB conversion is invoked when a color is declared using \^`\setcmykcolor`
and it is used in \^`\rgbcolordef` or if it is printed when \^`\onlyrgb` is declared.
\_endinput
2020-04-22 \replstring\tmpb{+ }{+}, {- }{-} added in \colordef, bug fixed
-2020-03-18 introduced
+2020-03-18 introduced
diff --git a/macros/luatex/optex/base/doc.opm b/macros/luatex/optex/base/doc.opm
index d098cc6754..9c979e9849 100644
--- a/macros/luatex/optex/base/doc.opm
+++ b/macros/luatex/optex/base/doc.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \printdoc {Macros for documentation printing <2020-04-28>}
@@ -25,27 +25,27 @@
\_let\enddocument=\_bye
\_doc -----------------------------
- Full page of listing causes underfill `\vbox` in output routine.
+ A full page of listing causes underfull `\vbox` in output routine.
We need to add a small tolerance.
\_cod -----------------------------
\_pgbottomskip=0pt plus10pt minus2pt
\_doc -----------------------------
- The listing mode is implemented here. The \`\maxlines`
+ The listing mode is implemented here. The \`\maxlines`
is maximal lines of code printed in the listing mode.
\_cod -----------------------------
\_newcount \_maxlines \_maxlines=100000
\_public \maxlines ;
-\_eoldef\_cod#1{\_par \_wipeepar
+\_eoldef\_cod#1{\_par \_wipeepar
\_vskip\_parskip \_medskip \_ttskip
\_begingroup
- \_typosize[8/10]
+ \_typosize[8/10]
\_let\_printverbline=\_printcodeline
\_ttline=\_inputlineno
- \_setverb
+ \_setverb
\_ifnum\_ttline<0 \_let\_printverblinenum=\_relax \_else \_initverblinenum \_fi
\_adef{ }{\ }\_adef\^^I{\t}\_parindent=\_ttindent \_parskip=0pt
\_relax \_ttfont
@@ -100,14 +100,14 @@
\_def\_remfirstunderscoreA#1#2\_relax#3{\_if _#1\_def#3{#2}\_fi}
\_doc -----------------------------
- The lines in the listing mode have Yellow background.
- \_cod -----------------------------
+ The lines in the listing mode have a yellow background.
+ \_cod -----------------------------
\_def\Yellow{\_setcmykcolor{0.0 0.0 0.3 0.03}}
\_def\_printcodeline#1{\_advance \_maxlines by-1
\_ifnum \_maxlines<0 \_ea \_endverbprinting \_fi
- \_penalty \_ttpenalty \_kern-4pt
+ \_ifx\_printfilename\_relax \_penalty \_ttpenalty \_fi \_vskip-4pt
\_noindent\_rlap{\Yellow \_vrule height8pt depth5pt width\_hsize}%
\_printfilename
\_indent \_printverblinenum #1\par}
@@ -124,16 +124,16 @@
\_doc -----------------------------
`\docfile` is currently documented file.\nl
\`\printdoc` and \`\printdoctail` macros are defined here.
- \_cod -----------------------------
+ \_cod -----------------------------
\_def\docfile{}
\_def\_printdoc #1 {\_par \_def\docfile{#1}%
\_everytt={\_ttshift=-15pt \_let\_printverblinenum=\_relax}%
- \_ea\_cod \input #1
+ \_ea\_cod \input #1
\_everytt={\_let\_printverblinenum=\_relax}%
\_def\docfile{}%
}
-\_def\_printdoctail #1 {\_bgroup
+\_def\_printdoctail #1 {\_bgroup
\_everytt={}\_ttline=-1 \_ea\_printdoctailA \_input #1 \_egroup}
{\_long\_gdef\_printdoctailA#1\_endcode{}}
@@ -142,17 +142,17 @@
\_doc -----------------------------
You can do `\verbinuput \vitt{<filename>} (<from>-<to>) <filename>`
if you need analogical design like in listing mode.
- \_cod -----------------------------
+ \_cod -----------------------------
-\_def\_vitt#1{\_def\docfile{#1}\_ttline=-1
+\_def\_vitt#1{\_def\docfile{#1}\_ttline=-1
\_everytt={\_typosize[8/10]\_let\_printverbline=\_printcodeline \_medskip}}
\_public \vitt ;
\_doc -----------------------------
- The Index entries are without the trailing backslash. We must to add it
+ The Index entries are without the trailing backslash. We must add it
when printing Index.
- \_cod -----------------------------
+ \_cod -----------------------------
\_addto \_ignoredcharsen {_} % \foo, \_foo is the same in the fist pass of sorting
\_def\_printii #1#2&{%
@@ -160,15 +160,15 @@
\_gdef\_currii{#1#2}\_the\_everyii\_noindent
\_hskip-\_iindent \_ignorespaces\_printiiA\bslash#1#2//}
-\_def\_printiipages#1&{\_let\_pgtype=\_undefined \_tmpnum=0
+\_def\_printiipages#1&{\_let\_pgtype=\_undefined \_tmpnum=0
{\_rm\_printpages #1,:,\_par}}
-\_sdef{_tocl:1}#1#2#3{\_nofirst\_bigskip
+\_sdef{_tocl:1}#1#2#3{\_nofirst\_bigskip
\_bf\_llaptoclink{#1}{#2}\_hfill \_pgn{#3}\_tocpar\_medskip}
\_doc -----------------------------
The \code{<something>} will be print as <something>.
- \_cod -----------------------------
+ \_cod -----------------------------
\_let\lt=<
\_catcode`\<=13
@@ -184,21 +184,21 @@
\_def\_afterload{\_catcode`\<=13 \_catcode`\`=13 }
\_doc -----------------------------
- Main documentation point and hyperlinks to/from it.
+ Main documentation points and hyperlinks to/from it.
Main documentation point: \code{\\`\\foo`}.
User-level documentation point: \code{\\^`\\foo}, first occurence only.
- Next occurences are only links to main documentation point.
+ The next occurrences are only links to the main documentation point.
Link to user-level documentation point: \code{\\~`\\foo}.
If user-level documentation point follows the main documentation point
then use \code{\\_forwardlink\\`\\foo`}.
- \_cod -----------------------------
+ \_cod -----------------------------
\_activettchar`
\_def\`#1`{\_leavevmode\_edef\_tmp{\_csstring#1}\_iindex{\_tmp}%
\_ifcsname cs:\_tmp\_endcsname\_else \_dest[cs:\_tmp]\_fi
\_sxdef{cs:\_tmp}{}%
- \_hbox{\_ifcsname cs:^\_tmp\_endcsname
+ \_hbox{\_ifcsname cs:^\_tmp\_endcsname
\_link[cs:^\_tmp]{\Red}{\_tt\_csstring\\\_tmp}\_else
{\_tt\Red\_csstring\\\_tmp}\_fi}%
}
@@ -219,34 +219,34 @@
\_endcode %-------------------------------------------
\noindent
-The \^`\printdoc` `<filename><space>` and \^`\printdoctail` `<filename><space>`
-commands are defined after the file `doc.opm` is load by \^`\load`~`[doc]`.
+The \^`\printdoc` `<filename><space>` and \^`\printdoctail` `<filename><space>`
+commands are defined after the file `doc.opm` is load by \^`\load`~`[doc]`.
The `\printcoc` starts reading of given `<filename>` from the second line.
-The file is read in {\em the listing mode}.
+The file is read in {\em the listing mode}.
The `\prindoctail` starts reading given `<filename>` from the
-first occurrence of the `\_encode`. The file is read
+first occurrence of the `\_encode`. The file is read
in normal mode (like `\input <filename>`).
-The {\em listing mode} prints the lines as listing of a code. This mode is
+The {\em listing mode} prints the lines as a listing of a code. This mode is
finished when first {\visiblesp` \_doc`} occurs or first `\_endcode`
occurs. At least two spaces must precede before such `\_doc`. On the other
-hand, the `\_encode` must be at the left edge of the line without spaces.
+hand, the `\_encode` must be at the left edge of the line without spaces.
If this rule is not met then the listing mode continues.
If the first line or the last line of the listing mode is empty then such
lines are not printed. The maximal number of printed lines in the listing
-mode is \^`\maxlines`. Is is set to almost infinity (100000). You can set it
-to a more sensible value. Such setting is valid only for the first following
+mode is \^`\maxlines`. It is set to almost infinity (100000). You can set it
+to a more sensible value. Such a setting is valid only for the first following
listing mode.
-When the listing mode is finished by `\_doc` then next lines are read in the
-normal way, but the material between `\begtt` ... `\endtt` pair
-is shifted by three letters left. The reason is that the three spaces of
+When the listing mode is finished by `\_doc` then the next lines are read in the
+normal way, but the material between `\begtt` ... `\endtt` pair
+is shifted by three letters left. The reason is that the three spaces of
indentation is recommended in the `\_doc` ... `\_cod` pair and this shifting
-is a compensation of this indentation.
+is compensation for this indentation.
-The `\_cod` macro ignores the rest of current line and starts the listing
+The `\_cod` macro ignores the rest of the current line and starts the listing
mode again.
When the listing mode is finished by the `\_endcode` then the `\endinput` is
@@ -256,17 +256,17 @@ You cannot reach the end of the file (without `\_endcode`) in the listing
mode.
The listing mode creates all control sequences which are listed in the
-index as active link to the main documentation point of such control sequence
-and prints them in blue. Other text is printed in black.
+index as an active link to the main documentation point of such control sequence
+and prints them in blue. Another text is printed in black.
The main documentation point is denoted by \code{\\`\\}`<sequence>`\code{`}
in red, for example \code{\\`\\foo`}.
-The user documentation point is the first occurrence of
+The user documentation point is the first occurrence of
\code{\\^`\\}`<sequence>`\code{`}, for example \code{\\^`\\foo`}.
There can be more such markups, all of them are hyperlinks to the main
-documentation point.
-And main documentation point is hyperlink to the user documentation point,
-if such point exists. Finally, the
+documentation point.
+And main documentation point is a hyperlink to the user documentation point
+if this point exists. Finally, the
\code{\\~`\\}`<sequence>`\code{`} (for example \code{\\~`\\foo`}) are
hyperlinks to the user documentation point.
diff --git a/macros/luatex/optex/base/f-adventor.opm b/macros/luatex/optex/base/f-adventor.opm
index 8dac5cf324..df22be1130 100644
--- a/macros/luatex/optex/base/f-adventor.opm
+++ b/macros/luatex/optex/base/f-adventor.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Adventor] \Adventor {TeX Gyre Adventor based on Avantgarde Book}
{\caps} {\rm \bf \it \bi} {}
diff --git a/macros/luatex/optex/base/f-antt.opm b/macros/luatex/optex/base/f-antt.opm
index 644b5192c0..39d3d011ea 100644
--- a/macros/luatex/optex/base/f-antt.opm
+++ b/macros/luatex/optex/base/f-antt.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Antykwa Torunska] \Antt {Traditional Polish font family}
{\cond \medium \light \caps} {\rm \bf \it \bi} {Pagella}
diff --git a/macros/luatex/optex/base/f-baskerville.opm b/macros/luatex/optex/base/f-baskerville.opm
index 0d1b558285..4e6027d703 100644
--- a/macros/luatex/optex/base/f-baskerville.opm
+++ b/macros/luatex/optex/base/f-baskerville.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Baskerville] \Baskerville {Free vaiants of classical Baskerville}
{\caps} {\rm \bf \it \bi} {}
diff --git a/macros/luatex/optex/base/f-bonum.opm b/macros/luatex/optex/base/f-bonum.opm
index 900136e26f..a285021b2e 100644
--- a/macros/luatex/optex/base/f-bonum.opm
+++ b/macros/luatex/optex/base/f-bonum.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Bonum] \Bonum {TeX Gyre Bonum fonts based on Bookman}
{\caps} {\rm \bf \it \bi} {Bonum}
diff --git a/macros/luatex/optex/base/f-comicneue.opm b/macros/luatex/optex/base/f-comicneue.opm
index 267f021424..a7b9f8e002 100644
--- a/macros/luatex/optex/base/f-comicneue.opm
+++ b/macros/luatex/optex/base/f-comicneue.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [ComicNeue] \Comicneue {Comic Neue sans serif}
{\angular} {\lf \li \rm \it \bf \bi} {}
diff --git a/macros/luatex/optex/base/f-cursor.opm b/macros/luatex/optex/base/f-cursor.opm
index c7af7d6912..80b2a29457 100644
--- a/macros/luatex/optex/base/f-cursor.opm
+++ b/macros/luatex/optex/base/f-cursor.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Cursor] \Cursor {TeX Gyre Cursor fonts based on Courier}
{\caps} {\rm \bf \it \bi} {}
diff --git a/macros/luatex/optex/base/f-dejavu.opm b/macros/luatex/optex/base/f-dejavu.opm
index 14b65fbb51..76fd90c0db 100644
--- a/macros/luatex/optex/base/f-dejavu.opm
+++ b/macros/luatex/optex/base/f-dejavu.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [DejaVu] \Dejavu {Derived from the Vera fonts}
{\sans \mono \cond \light \caps} {\rm \bf \it \bi} {TG-DejavuMath}
diff --git a/macros/luatex/optex/base/f-ebgaramond.opm b/macros/luatex/optex/base/f-ebgaramond.opm
index ef73e2a51d..63502c9b08 100644
--- a/macros/luatex/optex/base/f-ebgaramond.opm
+++ b/macros/luatex/optex/base/f-ebgaramond.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [EB Garamond] \EBGaramond {Based on Garamond}
{\medium \semibold \caps \swash} {\rm \bf \it \bi \initials} {Garamond-Math}
diff --git a/macros/luatex/optex/base/f-garamondl.opm b/macros/luatex/optex/base/f-garamondl.opm
index 00150bf153..d642aac98c 100644
--- a/macros/luatex/optex/base/f-garamondl.opm
+++ b/macros/luatex/optex/base/f-garamondl.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Garamond Libre] \Garamondl {Free, derived from old style font family}
{\caps \swash} {\rm \bf \it \bi} {Garamond-Math}
diff --git a/macros/luatex/optex/base/f-gfsbodoni.opm b/macros/luatex/optex/base/f-gfsbodoni.opm
index 5b8e6d41f1..d7d3494a9d 100644
--- a/macros/luatex/optex/base/f-gfsbodoni.opm
+++ b/macros/luatex/optex/base/f-gfsbodoni.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [GFS Bodoni] \GFSBodoni {Based on Bodoni with greek letters}
{} {\rm \bf \it \bi} {}
diff --git a/macros/luatex/optex/base/f-heros.opm b/macros/luatex/optex/base/f-heros.opm
index 3a4518e1c3..ca62da93a5 100644
--- a/macros/luatex/optex/base/f-heros.opm
+++ b/macros/luatex/optex/base/f-heros.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Heros] \Heros {TeX Gyre Heros fonts based on Helvetica}
{\caps \cond} {\rm \bf \it \bi} {FiraMath}
@@ -23,13 +23,13 @@ Modifiers:^^J
\_endcode
-The font family file declares the font family for selecting fonts from such
-family at arbitrary size and with various shapes. Unicode fonts (OTF)
+The font family file declares the font family for selecting fonts from this
+family at the arbitrary size and with various shapes. Unicode fonts (OTF)
are preferred. The following example declares the Heros family:
\printdoc f-heros.opm
-If you want to write such font file, you need to keep following rules.
+If you want to write such a font family file, you need to keep the following rules.
\begitems
* Use the \^`\_famdecl` command first. It has the following syntax:
@@ -43,35 +43,34 @@ If you want to write such font file, you need to keep following rules.
terminal and prevents loading such file twice. Moreover, it probes
existence of `<font-for-testing>` in your system. If it doesn't exist, the
file loading is skipped with a warning on the terminal.
- The \^`\_ifexistfam` macro returns false in such case.
+ The \^`\_ifexistfam` macro returns false in this case.
The \^`\_fontnamegen` macro must be defined in the last parameter of the
\^`\_famdecl`. More about it is documented below.
-* You can use `\_wlog{\_detokenize{...` to write additional information into
- log file.
+* You can use `\_wlog{\_detokenize{...` to write additional information into a log file.
* You can declare optical sizes using \~`\_regoptsizes` if there are more font files
with different optical sizes (like in Latin Modern). See `f-lmfonts.opm`
file for more information about this special feature.
* Declare font modifiers using \~`\moddef` if they are present. The \`\resetmod`
must be declared in each font family.
-* Check if all your declared modifiers does not produce any space in
- horizontal mode. For example check: `X\caps Y`, the letters `XY` must
- be printed without any space.
+* Check if all your declared modifiers do not produce any space in
+ horizontal mode. For example check: `X\caps Y`, the letters `XY` must
+ be printed without any space.
* Optionally, declare new variants by the \^`\famvardef` macro.
-* Run `\_initfontfamily` in order to start the family (it is mandatory).
+* Run `\_initfontfamily` to start the family (it is mandatory).
* If math font should be loaded, use `\_loadmath{<math font>}`.
\enditems
-{\noindent \bf The \`\_fontnamegen` macro}
+{\noindent \bf The \`\_fontnamegen` macro}
(declared in the last parameter of the \^`\_famdecl`)
-must expand (at expand processor level only) to a file name of loaded font (or to its font
-name) and to optional font features appended. The Font Selection
-System uses this macro at primitive level in the following sense:
+must expand (at the expand processor level only) to a file name of the loaded font (or to its font
+name) and to optional font features appended. The Font Selection
+System uses this macro at the primitive level in the following sense:
-\begtt
+\begtt \catcode`\<=13
\font \<selector> {\_fontnamegen} \_sizespec
\endtt
%
-Note that the extended `\font` syntax
+Note that the extended `\font` syntax
`\font\<selector> {<font name>:<font features>} <size spec.>` or
`\font\<selector> {[<font file name>]:<font features>} <size spec.>`
is expected here.
@@ -119,7 +118,7 @@ can use it in font modifiers. You can use the \^`\_fsetV` macro in more
general form:
\begtt \catcode`\<=13
- \_fsetV <word-a>=<value-a>,<word-b>=<value-b> ...etc. terminated by a space
+ \_fsetV <word-a>=<value-a>,<word-b>=<value-b> ...etc. terminated by a space
\endtt
%
with obvious result `\def\_<word-a>V {<value-a>}\def\_<word-b>V {<value-b>}` etc.
@@ -128,7 +127,7 @@ with obvious result `\def\_<word-a>V {<value-a>}\def\_<word-b>V {<value-b>}` etc
If both font modifiers `\caps`, `\cond` were applied in Heros
family, then `\def\_capsV{+smcp;+onum}` and `\def\_condV{cn}` were processed
-by these font modifiers. If user needs the `\bf` variant at 11\,pt now then
+by these font modifiers. If a user needs the `\bf` variant at 11\,pt now then
the
\begtt
@@ -147,7 +146,7 @@ if `<word>` has `<value-a>` or `<value-b>` \dots or `<value-n>`. See
Recommendation: use the \^`\_fontfeatures` macro at the end of the `\_fontnamegen`
macro in order to the \^`\setff`, \^`\setfontcolor`, \^`\setletterspace`
-macros can work.
+macros can work.
\seccc The \code{\\moddef} macro
@@ -155,9 +154,9 @@ has the syntax \^`\moddef\<modifier>{<what to do>}`. It does more things than si
\begitems
* The modifier macros are defined as `\_protected`.
-* The modifier macros are defined as family-dependent.
-* If the declared control sequence is defined already (and it is not font
- modifier) then it is re-defined with warning.
+* The modifier macros are defined as family-dependent.
+* If the declared control sequence is defined already (and it is not a font
+ modifier) then it is re-defined with a warning.
\enditems
\noindent
The \^`\famvardef` macro has the same features.
@@ -169,34 +168,34 @@ is defined by the \^`\_famdecl` macro as:
\protected\def\<Familyselector> {%
\_def\_currfamily {<Familyselector>}%
\_def\_fontnamegen {...}% this is copied from 7-th parameter of \_famdecl
- \resetmod
+ \resetmod
<run all family-dependent font modifiers used before Familyselector without warnings>
\endtt
{\noindent\bf The \^`\_initfontfamily`}\nl
-must be run after modifers decaration.
+must be run after modifier's decaration.
It runs the `\<Familyselector>` and it runs `\_rm`,
-so first font from new family is loaded and it is ready to use it.
+so the first font from the new family is loaded and it is ready to use it.
\seccc Name conventions
-Create font modifiers, new variants and the `\<Familyselector>` only as public, i.e.
-in user name space without `_` prefix. We assume that if user re-defines them then he/she needs
-not them, so we have no problems. If user's definition done before loading
-font family file is re-defined then \OpTeX/ warns about it. See the end of
+Create font modifiers, new variants, and the `\<Familyselector>` only as public, i.e.
+in user namespace without `_` prefix. We assume that if a user re-defines them then he/she needs
+not them, so we have no problems. If the user's definition was done before loading
+the font family file then it is re-defined and \OpTeX/ warns about it. See the end of
section~\ref[fontcommands].
-The name of `\<Familyselector>` should begin with uppercase letter.
+The name of `\<Familyselector>` should begin with an uppercase letter.
Please, look at
\ulink[http://petr.olsak.net/ftp/olsak/optex/op-catalog.pdf]{\OpTeX/ font catalogue}
-before you will create your own font family file and use the same names for
-analogical font modifiers (like `\cond`, `\caps`, `\sans`, `\mono` etc.)\
+before you will create your font family file and use the same names for
+analogical font modifiers (like `\cond`, `\caps`, `\sans`, `\mono` etc.)\
and for extra variant selectors (like `\lf`, `\li`, `\kf`, `\ki` etc.\ used in
Roboto font family).
If you are using the same font modifier names to analogical font shapes then
-such modifiers are kept when family is changend. For example:
+such modifiers are kept when the family is changed. For example:
\begtt
\fontfam [Termes] \fontfam[Heros]
@@ -210,9 +209,9 @@ unavailable in the new family).
In this example, `\Termes` does `\resetmod` followed by `\caps\cond`.
The `\caps` is applied and `\cond` is silently ignored in Termes family.
-If you need to declare your private modifier (because it is used in another
+If you need to declare your private modifier (because it is used in other
modifiers or macros, for example), use the name `\_wordM`. You can be
-sure that such name does not influence the private name space used by \OpTeX/.
+sure that such a name does not influence the private namespace used by \OpTeX/.
\seccc Additional notes
@@ -220,12 +219,12 @@ See the font family file `f-libertine-s.opm` which is another example where no
font files but font names are used.
See the font family file `f-lmfonts.opm` or `f-poltawski.opm` where you can find the
-the example of the optical sizes declaration including a documentation about
+the example of the optical sizes declaration including documentation about
it.
-If you need to create font family file with non-Unicode font, you can do it.
-The `\_fontnamegen` must expand to the name of TFM file in such case. But we
+If you need to create a font family file with a non-Unicode font, you can do it.
+The `\_fontnamegen` must expand to the name of TFM file in this case. But we
don't prefer such font family files, because they are usable only with
-languages with alphabet subset to ISO-8859-1 (Unicodes are equal to letter
+languages with alphabet subset to ISO-8859-1 (Unicodes are equal to letter's
codes of such alphabets), but middle or east Europe use languages where
-such condition is not true.
+such a condition is not true.
diff --git a/macros/luatex/optex/base/f-kerkis.opm b/macros/luatex/optex/base/f-kerkis.opm
index 40b5e90f1c..4bc31ead65 100644
--- a/macros/luatex/optex/base/f-kerkis.opm
+++ b/macros/luatex/optex/base/f-kerkis.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Kerkis] \Kerkis {Free Bookman alternative with Greek letters}
{\semibold \sans \sanssemi \caps} {\rm \bf \it \bi \calli} {}
diff --git a/macros/luatex/optex/base/f-kpfonts.opm b/macros/luatex/optex/base/f-kpfonts.opm
index e8915ba9e4..c030bea8e8 100644
--- a/macros/luatex/optex/base/f-kpfonts.opm
+++ b/macros/luatex/optex/base/f-kpfonts.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [KP Fonts] \Kpfonts {KP fonts -- Johannes Kepler project}
{\sans \mono \light \caps \swash} {\rm \bf \it \bi} {KpMath}
diff --git a/macros/luatex/optex/base/f-libertine-s.opm b/macros/luatex/optex/base/f-libertine-s.opm
index f08126984e..3cdc089312 100644
--- a/macros/luatex/optex/base/f-libertine-s.opm
+++ b/macros/luatex/optex/base/f-libertine-s.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Linux Libertine] \Libertine {Free Linux Libertine fonts}
{\sans \mono \caps} {\rm \bf \it \bi \initials \displ \keybr} {}
diff --git a/macros/luatex/optex/base/f-libertine.opm b/macros/luatex/optex/base/f-libertine.opm
index 06ce3d9b55..b25c2fc4f9 100644
--- a/macros/luatex/optex/base/f-libertine.opm
+++ b/macros/luatex/optex/base/f-libertine.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Linux Libertine] \Libertine {Free Linux Libertine fonts}
{\sans \mono \caps \semibold} {\rm \bf \it \bi \initials \displ \keybr} {Libertinus}
diff --git a/macros/luatex/optex/base/f-libertinus.opm b/macros/luatex/optex/base/f-libertinus.opm
index fef53a6beb..5f1329d286 100644
--- a/macros/luatex/optex/base/f-libertinus.opm
+++ b/macros/luatex/optex/base/f-libertinus.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Libertinus] \Libertinus {Free fonts derived from Linux Libertine}
{\semibold \sans \caps} {\rm \bf \it \bi \mono \initials \displ \keybr} {Libertinus}
diff --git a/macros/luatex/optex/base/f-lido.opm b/macros/luatex/optex/base/f-lido.opm
index 80922ed17b..13b4cb7628 100644
--- a/macros/luatex/optex/base/f-lido.opm
+++ b/macros/luatex/optex/base/f-lido.opm
@@ -1,7 +1,7 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Lido] \Lido {by StormType Foundry designed for "lidove noviny"}
- {\caps \cond} {\rm \bf \mf \mi \it \bi} {Termes}
+ {\cond} {\rm \bf \mf \mi \it \bi} {Termes}
{[LidoSTF]}
{\_def\_fontnamegen {[LidoSTF\_condV\_currV]:script=latn;\_capsV\_fontfeatures}}
diff --git a/macros/luatex/optex/base/f-lmfonts.opm b/macros/luatex/optex/base/f-lmfonts.opm
index 4c9ce04760..13865890e2 100644
--- a/macros/luatex/optex/base/f-lmfonts.opm
+++ b/macros/luatex/optex/base/f-lmfonts.opm
@@ -1,7 +1,7 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Latin Modern] \LMfonts {TeX Gyre fonts based on Coputer Modern}
- {\roman \sans \quotset \ttset \ttprop \ttlight \ttcond \upital
+ {\roman \sans \quotset \ttset \ttprop \ttlight \ttcond \upital
\dunhill submods:\caps \slant \nbold \bolder} {\rm \bf \it \bi \tt} {LM}
{[lmroman10-regular]}
{\_def\_fontnamegen {[\_optname{lm\_subfamV.\_currV}]:\_fontfeatures}}
@@ -62,7 +62,7 @@ Sub-modifiers (selects special variants of given subfamily):^^J
\_LMregfont lmtt.i LMMono?-Italic \_regoptT % 10
\_LMregfont lmtt.bi LMMonoLt?-BoldOblique \_regoptT % 10
\_LMregfont lmtt.isl LMMonoSlant?-Regular \_regoptT % 10
-\_optfontalias {lmtt.bisl} {lmtt.bi}
+\_optfontalias {lmtt.bisl} {lmtt.bi}
\_LMregfont lmtp.r LMMonoPropLt?-Regular \_regoptT % 10
\_LMregfont lmtp.bx LMMonoPropLt?-Bold \_regoptT % 10
@@ -99,12 +99,12 @@ Sub-modifiers (selects special variants of given subfamily):^^J
% submodifiers (they select special vaiants in a subfamily)
\_moddef \nbold {\_onlyif subfam=rm,ss,tp: {\_fvars r b i bi }}
-\_moddef \bolder {\_onlyif subfam=rm,ss,tp: {\_fvars r bx i bxi }}
+\_moddef \bolder {\_onlyif subfam=rm,ss,tp: {\_fvars r bx i bxi }}
\_moddef \slant {\_onlyif subfam=rm: {\_fvars r bx isl bxisl }%
\_onlyif subfam=tt: {\_fvars r b isl bisl }}
\_moddef \caps {\_onlyif subfam=rm,tt: {\_fvars rc . ic . }}
-\_def \_tryloadtt {\_fontdef\_tentt{\_LMfonts \_addto\_fontfeatures{-tlig;}\_ttset \_rm}}
+\_def \_tryloadtt {\_fontdef\_tentt{\_LMfonts \_addto\_fontfeatures{-tlig;}\_ttset \_rm}}
\_private \LMfonts \ttset ; % used in \_tryloadtt
\_initfontfamily % new font family must be initialized
@@ -117,19 +117,19 @@ Sub-modifiers (selects special variants of given subfamily):^^J
You can use \^`\_optname` macro when `\_fontnamegen` in expanded. This macro is fully
expandable and its input is `<internal-template>` and its output is a
-part of the font file name `<size-dependent-template>` with respect to given
+part of the font file name `<size-dependent-template>` with respect to given
optical size.
You can declare a collection of `<size-dependent-template>`s for one
-given `<internal-template>` by the \^`\_regoptsizes` macro.
+given `<internal-template>` by the \^`\_regoptsizes` macro.
The syntax is shown for one real case:
-\begtt
+\begtt
\_regoptsizes lmr.r lmroman?-regular
- 5 <5.5 6 <6.5 7 <7.5 8 <8.5 9 <9.5 10 <11.1 12 <15 17 <*
+ 5 <5.5 6 <6.5 7 <7.5 8 <8.5 9 <9.5 10 <11.1 12 <15 17 <*
\endtt
-In general:
+In general:
\begtt \catcode`\<=13
\_regoptsizes <internal-template> <general-ouput-template> <resizing-data>
@@ -145,14 +145,14 @@ with zero \code{<0}, but it is not explicitly written. The right part of
<resizing-data> must be terminated by \code{<*} which means "less than infinity".
If `\_optname` gets an argument which is not registered <internal-template>
-then it expands to `\_failedoptname` which typically ends to error message
+then it expands to `\_failedoptname` which typically ends with an error message
about missing font. You can redefine `\_failedoptname` macro to some
existing font if you find it useful.
-We are using a special macro `\_LMregfont` in `f-lmfonts.opm`.
+We are using a special macro `\_LMregfont` in `f-lmfonts.opm`.
It sets the file names to
-lowercase and enables to use a shortcasts isntead real <resizing-data>.
-There are shortcats `\_regoptFS`, `\_regoptT`, etc. here. The collection of
+lowercase and enables us to use shortcuts instead of real <resizing-data>.
+There are shortcuts `\_regoptFS`, `\_regoptT`, etc. here. The collection of
`<internal-templates>` are declared, each of them covers a collection of real
file names.
@@ -179,7 +179,7 @@ artists are very creative people), so you need to declare more systematic
\fontalias crea-b-bolditalic {Creative Bold subfam Oblique}
\endtt
-Another example of font family with optical sizes is Antykwa Półtawskiego.
+Another example of a font family with optical sizes is Antykwa Półtawskiego.
The optical sizes feature is deactivated by default and it is switched on by
`\osize` font modifier:
diff --git a/macros/luatex/optex/base/f-merriweather.opm b/macros/luatex/optex/base/f-merriweather.opm
index c640138280..f2972aaafd 100644
--- a/macros/luatex/optex/base/f-merriweather.opm
+++ b/macros/luatex/optex/base/f-merriweather.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Merriweather] \Merriweather {Modern shapes, sharp serifs}
{\caps \sans \serif} {\lf \li \rm \bf \it \bi \kr \ki} {}
diff --git a/macros/luatex/optex/base/f-pagella.opm b/macros/luatex/optex/base/f-pagella.opm
index f40b102b1c..a0e4eb8e30 100644
--- a/macros/luatex/optex/base/f-pagella.opm
+++ b/macros/luatex/optex/base/f-pagella.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Pagella] \Pagella {TeX Gyre Pagella fonts based on Palatino}
{\caps} {\rm \bf \it \bi} {Pagella}
diff --git a/macros/luatex/optex/base/f-poltawski.opm b/macros/luatex/optex/base/f-poltawski.opm
index 40af438f64..ffc7e8474d 100644
--- a/macros/luatex/optex/base/f-poltawski.opm
+++ b/macros/luatex/optex/base/f-poltawski.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Poltawski] \Poltawski {Antykwa Poltawskiego, Polish traditional font family}
{\light \noexpd \expd \eexpd \cond \ccond \osize \caps} {\rm \bf \it \bi} {}
diff --git a/macros/luatex/optex/base/f-roboto.opm b/macros/luatex/optex/base/f-roboto.opm
index 1baaec0442..51dfffff25 100644
--- a/macros/luatex/optex/base/f-roboto.opm
+++ b/macros/luatex/optex/base/f-roboto.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Roboto] \Roboto {Geometric grotesk, thin variants included}
{\cond \mono \ttset \thin \light \normal \bolder \caps}
diff --git a/macros/luatex/optex/base/f-schola.opm b/macros/luatex/optex/base/f-schola.opm
index c891317265..067a6d0ce2 100644
--- a/macros/luatex/optex/base/f-schola.opm
+++ b/macros/luatex/optex/base/f-schola.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Schola] \Schola {TeX Gyre Schola fonts based on New Century}
{\caps} {\rm \bf \it \bi} {Schola}
diff --git a/macros/luatex/optex/base/f-sourcepro.opm b/macros/luatex/optex/base/f-sourcepro.opm
index 47e81da6b0..a8e847104e 100644
--- a/macros/luatex/optex/base/f-sourcepro.opm
+++ b/macros/luatex/optex/base/f-sourcepro.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Source Pro] \Sourcepro {SourceSerifPro,SourceSansPro,SourceCodePro}
{\serif \sans \mono \light \elight \bolder \medium \caps} {\rm \bf \it \bi} {Termes}
diff --git a/macros/luatex/optex/base/f-technika.opm b/macros/luatex/optex/base/f-technika.opm
index 4366a1366b..77b894e53b 100644
--- a/macros/luatex/optex/base/f-technika.opm
+++ b/macros/luatex/optex/base/f-technika.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Technika] \Technika {Fonts from visual style of CTU in Prague}
{\caps \light} {\rm \bf \it \bi \stencil} {}
diff --git a/macros/luatex/optex/base/f-termes.opm b/macros/luatex/optex/base/f-termes.opm
index b765245640..8cd6ee6d8a 100644
--- a/macros/luatex/optex/base/f-termes.opm
+++ b/macros/luatex/optex/base/f-termes.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Termes] \Termes {TeX Gyre Termes fonts based on Times}
{\caps} {\rm \bf \it \bi} {Termes}
diff --git a/macros/luatex/optex/base/f-xcharter.opm b/macros/luatex/optex/base/f-xcharter.opm
index de61e7c67f..9ad886d47f 100644
--- a/macros/luatex/optex/base/f-xcharter.opm
+++ b/macros/luatex/optex/base/f-xcharter.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [XCharter] \XCharter {An extension of Bitstream Charter}
{\caps \slant} {\rm \bf \it \bi} {}
diff --git a/macros/luatex/optex/base/fams-ini.opm b/macros/luatex/optex/base/fams-ini.opm
index 0b7ea42d5c..4b12550553 100644
--- a/macros/luatex/optex/base/fams-ini.opm
+++ b/macros/luatex/optex/base/fams-ini.opm
@@ -1,8 +1,8 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% Version <2020-02-28>. Loaded in format and secondly on demand by \fontfam[catalog]
-\_famtext {Special name for printing a catalogue:}
+\_famtext {Special name for printing a catalog :}
\_faminfo [Catalogue] {Catalogue of all registered font families} {fonts-catalog} {}
\_famalias [Catalog]
@@ -72,7 +72,7 @@
\_famfrom {Zygfryd Gardzielewski, Janusz M. Nowacki}
\_faminfo [Antykwa Torunska] {Traditional Polish font family} {f-antt}
- { -,\cond,\caps, \caps\cond: {\rm\bf\it\bi}
+ { -,\cond,\caps, \caps\cond: {\rm\bf\it\bi}
\medium,\cond\medium, \light, \cond\light:{\rm\it} }
\_famalias [Antt]
@@ -147,24 +147,24 @@
\_endcode
-Once you have prepared a font family file with the name `f-<famname>.opm` and \TeX/ is
-able to see it in your filesystem then you can type \^`\fontfam``[<famname>]` and
+Once you have prepared a font family file with the name `f-<famname>.opm` and
+\TeX/can see it in your filesystem then you can type \^`\fontfam``[<famname>]` and
the file is read, so the information about the font family is loaded. The name
`<famname>` must be lowercase and without spaces in the file name
-`f-<famname>.opm`. On the other hand the `\fontfam` command is more tolerant:
-you can write uppercase letters and spaces here. The spaces are ignored and
+`f-<famname>.opm`. On the other hand, the `\fontfam` command is more tolerant:
+you can write uppercase letters and spaces here. The spaces are ignored and
uppercase letters are converted to lowercase.
For example `\fontfam [LM Fonts]` is equivalent to `\fontfam [LMfonts]` and both
commands load the file `f-lmfonts.opm`.
-You can use your font file in sense of previous paragraph without
+You can use your font file in sense of the previous paragraph without
registering it. But problem is that such families are not listed when
-`\fontfam[?]` is used and it is not included in font catalogue when
-`\fontfam[catalog]` is printed. The list of families taken in the catalogue and
+`\fontfam[?]` is used and it is not included in the font catalog when
+`\fontfam[catalog]` is printed. The list of families taken in the catalog and
listed on the terminal is declared in two files: `fams-ini.opm` and
-`fams-local.opm`. The second file is optional. User can create it and write to
+`fams-local.opm`. The second file is optional. Users can create it and write to
it the information about user-defined families using the same syntax as in
-existed file `fams-ini.opm`.
+existed file `fams-ini.opm`.
The information from the user's `fams-local.opm` file has precedence.
For example `fams-ini.opm` declares aliases Times$\to$Termes etc. If you
@@ -189,21 +189,21 @@ The \^`\_faminfo` commad has the syntax:
{ <mod-plus-vars> }
\endtt
%
-The `<mod-plus-vars>` data is used only when printing catalogue. It consists with
+The `<mod-plus-vars>` data is used only when printing the catalog. It consists of
one or more pairs `<mods>: {<vars>}`.
-For each pair: each modifiers (separated by comma) is applied to each
+For each pair: each modifier (separated by comma) is applied to each
variant selector in <vars>
and prepared samples are printed. The `-` character means no modifiers
should be applied.
The \^`\_famalias` declares an alias to the last
-declared family.
+declared family.
-The \^`\_famtext` writes a line to the terminal and to the log file when all
+The \^`\_famtext` writes a line to the terminal and the log file when all
families are listed.
The \^`\_famfrom` saves the information about font type foundry or
manufacturer or designer or license owner. You can use it before `\_faminfo`
-in order to print `\_famfrom` info into the catalogue.
+to print `\_famfrom` info into the catalog.
The `\_famfrom` data is applied to each following declared families until new
`\_famfrom` is given. Use `\_famfrom {}` if the information is not known.
diff --git a/macros/luatex/optex/base/fnotes.opm b/macros/luatex/optex/base/fnotes.opm
index 219b2cf293..612b32a17d 100644
--- a/macros/luatex/optex/base/fnotes.opm
+++ b/macros/luatex/optex/base/fnotes.opm
@@ -1,25 +1,24 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \fnote {Footnotes, marginal notes OpTeX <2020-05-26>} % loaded in format
\_doc -----------------------------
- \`\_gfnotenum` is conter which counts footnotes globally in the document.
- whole document, chapters, pages.\nl
- \`\_lfnotenum` is counter which counts footnotes at each chapter from one.
- It is used for local page footnote counters too.\nl
+ \`\_gfnotenum` is a counter which counts footnotes globally in the whole document.\nl
+ \`\_lfnotenum` is a counter which counts footnotes at each chapter from one.
+ It is used for local page footnote counters too.\nl
\`\_ifpgfnote` says that footnote numbers are counted on each page from
- one. We need to run `\openref` in such case.\nl
- \`\fnotenum` is a macro which expands to footnote number counted in declared part.\nl
+ one. We need to run `\openref` in this case.\nl
+ \`\fnotenum` is a macro that expands to footnote number counted in declared part.\nl
\`\fnotenumchapters` declares footnotes numbered in each chapter from one
(default), \`\fnotenumglobal` declares footnotes numbered in whole
- document from one and \`\fnotenumpages` declares footnotes numbered
- at each page from one.
+ document from one and \`\fnotenumpages` declares footnotes numbered
+ at each page from one.
\_cod -----------------------------
\_newcount\_gfnotenum \_gfnotenum=0
\_newcount\_lfnotenum
-\_newifi \_ifpgfnote
+\_newifi \_ifpgfnote
\_def \_fnotenumglobal {\_def\_fnotenum{\_the\_gfnotenum}\_pgfnotefalse}
\_def \_fnotenumchapters {\_def\_fnotenum{\_the\_lfnotenum}\_pgfnotefalse}
\_def \_fnotenumpages {\_def\_fnotenum{\_trycs{_fn:\_the\_gfnotenum}{?}}\_pgfnotetrue}
@@ -32,15 +31,15 @@
The \`\_printfnotemark` prints the footnote mark. You can re-define this
macro if you want another design of footnotes. For example
\begtt
- \fnotenumpages
- \def \_printfnotemark {\ifcase 0\fnotenum\or
+ \fnotenumpages
+ \def \_printfnotemark {\ifcase 0\fnotenum\or
*\or**\or***\or$^\mathbox{†}$\or$^\mathbox{‡}$\or$^\mathbox{††}$\fi}
\endtt
- This code gives footnotes* and ** and*** and$^\mathbox{†}$ etc.\
+ This code gives footnotes* and ** and*** and$^\mathbox{†}$ etc.\
and it supposes that there are no more than 6 footnotes at one page.
If you want to distinguish between footnote marks in the text and in the front of
- footnote itself, then you can define `\_printfnotemarkA` and `\_printfnotemarkB`.
+ the footnote itself, then you can define `\_printfnotemarkA` and `\_printfnotemarkB`.
The \`\fnotelinks``<colorA><colorB>` implements the hyperlinked footnotes
(from text to footnote and backward).
@@ -50,7 +49,7 @@
\_def \_printfnotemarkA {\_printfnotemark} % footnote marks used in text
\_def \_printfnotemarkB {\_printfnotemark} % footnote marks used in front of footnotes
-\_def \_fnotelinks#1#2{% <inText color> <inFootnote color>
+\_def \_fnotelinks#1#2{% <inText color> <inFootnote color>
\_def\_printfnotemarkA{\_link[fnt:\_the\_gfnotenum]{\_localcolor#1}{\_printfnotemark}%
\_dest[fnf:\_the\_gfnotenum]}%
\_def\_printfnotemarkB{\_link[fnf:\_the\_gfnotenum]{\_localcolor#2}{\_printfnotemark}%
@@ -59,7 +58,7 @@
\public \fnotelinks ;
\_doc ----------------------------
- Each footnote saves the \`\_Xfnote` (without parameter) to the `.ref`
+ Each footnote saves the \`\_Xfnote` (without parameter) to the `.ref`
file (if `\openref`). We can create the mapping from `<gfnotenum>` to`<pgfnotenum>`
in the macro `\_fn:<fnotenum>`. Each \^`\_Xpage` macro sets the
`\_lfnotenum` to zero.
@@ -70,7 +69,7 @@
\_doc ----------------------------
The \`\fnote` `{<text>}` macro is simple, \`\fnotemark` and \^`\fnotetext`
- does the real work.
+ does the real work.
\_cod ----------------------------
\_def\_fnote{\_fnotemark1\_fnotetext}
@@ -79,13 +78,13 @@
\_doc ----------------------------
The \`\fnotetext` calls \^`\_opfootnote` which is equivalent to plain \TeX/
\^`\vfootnote`. It creates new data to Insert \^`\footins`. The only
- difference is that we are able to propagate a macro parameter into Insert group
- before the text is printed (see section \ref[output]).
+ difference is that we can propagate a macro parameter into the Insert group
+ before the text is printed (see section \ref[output]).
This propagated macro is \`\_fnset` which sets smaller fonts.
- Note that \^`\vfootnote` and \^`\_opfootnote` does't read the text as a
- parameter but during normal horizontal mode. This is reason why catcode
- changes (for example in-line verbatim) can be used here.
+ Note that \^`\vfootnote` and \^`\_opfootnote` don't read the text as a
+ parameter but during the normal horizontal mode. This is the reason why catcode
+ changes (for example in-line verbatim) can be used here.
\_cod ----------------------------
\_def\_fnotetext{\_incr\_gfnotenum \_incr\_lfnotenum % global increment
@@ -106,9 +105,9 @@
margin at even pages. The `\mnote` macro saves its position to `.ref`
file as \`\_Xmnote` without parameter. We define `\_mn:<mnotenum>` as
`\right` or `\left` when the `.ref` file is read.
- The `\ifnum 0`$\le$`0#2` trick returns true if `<pageno>` has numeric type and false
- if it is non-numeric type (Roman numeral, for example). We prefer to use
- `<pageno>`, but only if it has numeric type. We use `<gpageno>` in other cases.
+ The `\ifnum 0`$\le$`0#2` trick returns true if `<pageno>` has a numeric type and false
+ if it is a non-numeric type (Roman numeral, for example). We prefer to use
+ `<pageno>`, but only if it has the numeric type. We use `<gpageno>` in other cases.
\_cod -----------------------------
\_newcount\_mnotenum \_mnotenum=0 % global counter of mnotes
@@ -119,18 +118,18 @@
\_doc -----------------------------
User can declare \`\fixmnotes``\left` or \^`\fixmnotes``\right`. It defines
- \`\_mnotesfixed` as `\_left` or `\_right` which declares the placement
- of all marginal notes and such declaration has a precedence.
+ \`\_mnotesfixed` as `\_left` or `\_right` which declares the placement
+ of all marginal notes and such declaration has a precedence.
\_cod -----------------------------
\_def \_fixmnotes #1{\_edef\_mnotesfixed{\_cs{_\_csstring #1}}}
\_public \fixmnotes ;
\_doc -----------------------------
- The \`\_mnoteD``{<text>}` macro sets the position the marginal note.
+ The \`\_mnoteD``{<text>}` macro sets the position of the marginal note.
The outer box of marginal note has zero width and zero depth and it is appended
after current line using `\vadjust` primitive or it is inverted to vertical mode
- as a box with `\vskip-\baselineskip` followed.
+ as a box with `\vskip-\baselineskip` followed.
\_cod -----------------------------
\_def\_mnote #1#{\_ifx^#1^\_else \_mnoteC#1\_end \_fi \_mnoteD}
@@ -142,10 +141,10 @@
\_public \mnote ;
\_doc -----------------------------
- The \`\mnoteskip` is a dimen which denotes the vertical shift of marginal
- note from its normal position. Positive value means shift up, negative
+ The \`\mnoteskip` is a dimen value that denotes the vertical shift of marginal
+ note from its normal position. A positive value means shift up, negative
down. The `\mnoteskip` register is set to zero
- after the marginal note is printed. The new sytax `\mnote up<dimen>{<text>}`
+ after the marginal note is printed. The new syntax `\mnote up<dimen>{<text>}`
is possible too, but public `\mnoteskip` is kept for backward compatibility.
\_cod -----------------------------
@@ -160,7 +159,7 @@
\_long\_def\_mnoteA #1{\_incr\_mnotenum
\_ifx\_mnotesfixed\_undefined
- \_ifcsname _mn:\_the\_mnotenum \_endcsname
+ \_ifcsname _mn:\_the\_mnotenum \_endcsname
\_edef\_mnotesfixed{\_cs{_mn:\_the\_mnotenum}}%
\_else
\_opwarning{unknown \_noexpand\mnote side. TeX me again}\_openref
@@ -175,7 +174,7 @@
{\_the\_everymnote\_noindent#1\_endgraf}}%
\_dp0=0pt \_box0 \_kern\_mnoteskip \_global\_mnoteskip=0pt}\_hss}%
}
-\_def \_lrmnote#1#2{\_ea\_ifx\_mnotesfixed\_left #1\_else #2\_fi}
+\_def \_lrmnote#1#2{\_ea\_ifx\_mnotesfixed\_left #1\_else #2\_fi}
\_doc -----------------------------
We don't want to process `\fnote`, `\fnotemark`, `\mnote` in TOC, headlines
diff --git a/macros/luatex/optex/base/fonts-catalog.opm b/macros/luatex/optex/base/fonts-catalog.opm
index b71132f4d4..3cd02e7b27 100644
--- a/macros/luatex/optex/base/fonts-catalog.opm
+++ b/macros/luatex/optex/base/fonts-catalog.opm
@@ -1,9 +1,9 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \_undefined {Font catalogue <2020-02-26>} % loaded on demand by \fontfam[catalog]
\_tracinglostchars=1 % only to log file
-\_initunifonts
+\_initunifonts
\_begingroup
\_istoksempty\_catalogmathsample \_iftrue \_noloadmath \_fi
@@ -24,7 +24,7 @@
\_fi
\_def\_faminfo [#1]#2#3#4{%
- \_bgroup
+ \_bgroup
\_lowercase{\_edef\_famname{\_ea\_removespaces #1 {} }}%
\_edef\_act{\_noexpand\_isinlist{,\_cataloglist,}{,\_famname,}}\_act
\_iftrue \def\_cataloglist{}\_fi
@@ -32,11 +32,11 @@
\_iftrue \def\_cataloglist{.}\_fi
\_ifx\_cataloglist\_empty
\_ifx^#4^\_else
- \_bigskip {\_ttfixed\_string\fontfam [#1] -- (#2)\_par}
+ \_bigskip {\_ttfixed\_string\fontfam [#1] -- (#2)\_par}
\_input #3.opm
\_ifexistfam \_nobreak\_medskip \_dosamples #4:{}
- \_ifx\_mathfaminfo\_empty
- \_else \_istoksempty\_catalogmathsample
+ \_ifx\_mathfaminfo\_empty
+ \_else \_istoksempty\_catalogmathsample
\_iftrue {\_ttfixed \$Default math font\$: \_mathfaminfo \_par}
\_else Default math font (\_mathfaminfo): \_the\_catalogmathsample \_par
\_fi\_fi
@@ -50,7 +50,7 @@
\_ea\_dosamples\_fi
}
\_def\_dosamplesA#1,{%
- \_ifx^#1^\_else
+ \_ifx^#1^\_else
\_ifx-#1\_def\_usemodifiers{}\_else \_def\_usemodifiers{#1}\_fi
\_ea \_dosamplesB \_printvars \_relax
\_ea \_dosamplesA \_fi
@@ -58,8 +58,8 @@
\_def\_dosamplesB#1{%
\_ifx\_relax#1 \_else
{\_ttfixed \_detokenize\_ea{\_usemodifiers}\_detokenize{#1}\_unskip:}
- {\_usemodifiers #1\_ea\_ifx\_the\_font \_nullfont
- \_ttfixed ... This font isn't available in your system.%
+ {\_usemodifiers #1\_ea\_ifx\_the\_font \_nullfont
+ \_ttfixed ... This font isn't available in your system.%
\_else \_the\_catalogsample \_fi }\_par
\_ea \_dosamplesB \_fi
}
@@ -87,7 +87,7 @@
\parindent=0pt
-\nonum\sec Customization of the catalogue
+\nonum\sec Customization of the catalog
You can redeclare the printed sample of each font by:
@@ -110,7 +110,7 @@ The \code{\\catalogmathsample} is empty by default, so math fonts are not loaded
only the family of default math font is listed.
\bigskip
-You can restrict the families to be printed in catalogue by:
+You can restrict the families to be printed in the catalog by:
\begtt
\catalogonly={Termes, Latin Modern, Heros}
@@ -128,10 +128,9 @@ The \code{\\cataogexclude} is empty by default.
\bigskip The font families printed in the catalogue must be declared by the
\code{\\_faminfo} command in the file \code{fams-ini.opm} (declarations used
as default for \OpTeX/) or in the file \code{fams-local.opm}. The second file
-does not exist by default but user can create it. The syntax rules are
+does not exist by default but users can create it. The syntax rules are
described in the \code{fams-ini.opm} file.
\_endcode % -------------------------------------
- \ No newline at end of file
diff --git a/macros/luatex/optex/base/fonts-opmac.opm b/macros/luatex/optex/base/fonts-opmac.opm
index 7145d00b2a..a5dda559f1 100644
--- a/macros/luatex/optex/base/fonts-opmac.opm
+++ b/macros/luatex/optex/base/fonts-opmac.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \typosize {Font managing macros from OPmac <2020-12-12>} % loaded in format
@@ -9,7 +9,7 @@
\^`\_sizemsscript`. It uses common concept font thes sizes: 100\,\%,
70\,\% and 50\,\%.
The \^`\_setmainvalues` sets the parameters as main values when
- the `\_typosize` is called first.
+ the `\_typosize` is called first.
\_cod -----------------------------
\_protected\_def \_typosize [#1/#2]{%
@@ -30,7 +30,7 @@
\_public \typosize ;
\_doc -----------------------------
- \`\typoscale` `[<font-factor>/<baseline-factor>]` scales
+ \`\typoscale` `[<font-factor>/<baseline-factor>]` scales
font size and baselineskip by given factors in respect to current values.
It calculates the \^`\typosize` parameters and runs the \^`\typosize`.
\_cod -----------------------------
@@ -42,7 +42,7 @@
\_ifx$#2$\_edef\_tmp{\_tmp]}\_else
\_settmpdim{#2}\_baselineskip
\_edef\_tmp{\_tmp \_ea\_ignorept\_the\_tmpdim]}\_fi
- \_ea\_typosize\_tmp
+ \_ea\_typosize\_tmp
}
\_def\_settmpdim#1#2{%
\_tmpdim=#1pt \_divide\_tmpdim by1000
@@ -51,14 +51,14 @@
\_public \typoscale ;
\_doc -----------------------------
- \`\_setbaselineskip` `{<baselineskip>}` sets new `\baselineskip` and
+ \`\_setbaselineskip` `{<baselineskip>}` sets new `\baselineskip` and
more values of registers which are dependent on the `<baselineskip>`
including the \^`\strutbox`.
\_cod -----------------------------
\_def \_setbaselineskip #1{\_if$#1$\_else
\_tmpdim=#1\_ptunit
- \_baselineskip=\_tmpdim \_relax
+ \_baselineskip=\_tmpdim \_relax
\_bigskipamount=\_tmpdim plus.33333\_tmpdim minus.33333\_tmpdim
\_medskipamount=.5\_tmpdim plus.16666\_tmpdim minus.16666\_tmpdim
\_smallskipamount=.25\_tmpdim plus.08333\_tmpdim minus.08333\_tmpdim
@@ -70,12 +70,12 @@
}
\_doc -----------------------------
- \`\_setmainvalues` sets the current font size and `\baselineskip`
+ \`\_setmainvalues` sets the current font size and `\baselineskip`
values to the \`\mainfosize` and \hbox{\`\mainbaselineskip`} registers.
- It redefines itself in order to set the main values only first.
+ It redefines itself to set the main values only first.
\nl
\`\scalemain` returns to these values if they were set. Else they are set
- to 10/12\,pt.
+ to 10/12\,pt.
\_cod -----------------------------
\_newskip \_mainbaselineskip \_mainbaselineskip=0pt \_relax
@@ -94,19 +94,19 @@
\_def\_scalemain {%
\_ifdim \_mainfosize=\_zo
\_mainfosize=10pt \_mainbaselineskip=12pt
- \_let \_setmainvalues=\_setmainvaluesL
+ \_let \_setmainvalues=\_setmainvaluesL
\_fi
\_optsize=\_mainfosize \_baselineskip=\_mainbaselineskip
}
\_public \scalemain \mainfosize \mainbaselineskip ;
\_doc -----------------------------
- \`\thefontsize` `[<size>]` and \`\thefontscale` `[<factor>]`
+ \`\thefontsize` `[<size>]` and \`\thefontscale` `[<factor>]`
do modification of the size of the current font. They are implemented by the
\^`\newcurrfontsize` macro.
\_cod -----------------------------
-\_protected\_def\_thefontsize[#1]{\_if$#1$\_else
+\_protected\_def\_thefontsize[#1]{\_if$#1$\_else
\_tmpdim=#1\_ptunit
\_newcurrfontsize{at\_tmpdim}%
\_fi
@@ -122,10 +122,10 @@
\_public \thefontsize \thefontscale ;
\_doc -----------------------------
- \`\em` keeps the weight of the current vaiant and switches
+ \`\em` keeps the weight of the current variant and switches
roman $\leftrightarrow$ italic. It adds the italic correction by
the \`\_additcorr` and \`\_afteritcorr` macros. The second does not
- add italic correction if the next character is dot or comma.
+ add italic correction if the next character is dot or comma.
\_cod -----------------------------
\_protected\_def\_em {%
@@ -145,7 +145,7 @@
\_cod -----------------------------
\_protected\_def \_boldify {%
- \_let \_setmainvalues=\_setmainvaluesL
+ \_let \_setmainvalues=\_setmainvaluesL
\_let\it =\_bi \_let\rm =\_bf \_let\_normalmath=\_boldmath \_bf
}
\_public \em \boldify ;
@@ -153,16 +153,16 @@
\_doc -----------------------------
We need to use a font selector for default pagination. Because we don't
know what default font size will be selected by the user, we use this
- \`\_rmfixed` macro. It sets the `\rm` font from default font size
+ \`\_rmfixed` macro. It sets the `\rm` font from the default font size
(declared by first \^`\typosize` command and redefines itself be only
- the font switch for next pages.
+ the font switch for the next pages.
\_cod -----------------------------
\_def \_rmfixed {% used in default \footline
{\_ifdim\_mainfosize=0pt \_mainfosize=10pt \_fi
\_fontdef\_tenrm{\_setfontsize{at\mainfosize}\_resetmod\_rm}%
\_global\_let\_rmfixed=\_tenrm}% next use will be font switch only
- \_rmfixed
+ \_rmfixed
}
\_let \rmfixed = \_tenrm % user can redefine it
diff --git a/macros/luatex/optex/base/fonts-preload.opm b/macros/luatex/optex/base/fonts-preload.opm
index 2ab3790f8f..712730436c 100644
--- a/macros/luatex/optex/base/fonts-preload.opm
+++ b/macros/luatex/optex/base/fonts-preload.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \tenrm {Latin Modern fonts (EC) preloaded <2020-01-23>} % loaded in format
@@ -11,22 +11,23 @@
\_font\_tentt=ec-lmtt10 % typewriter
\_tenrm
-\_public \tenrm \tenbf \tenit \tenbi \tentt ;
+\_public \tenrm \tenbf \tenit \tenbi \tentt ;
\_endcode %---------------------------------------------------
-Format in lua\TeX/ can download only non-Unicode fonts. Latin Modern EC is
+The format in lua\TeX/ can download only non-Unicode fonts. Latin Modern EC is
loaded here. These fonts are totally unusable in LuaTeX when languages with out
of ASCII or ISO-8859-1 alphabets are used (for example Czech). We load only
-few 8bit fonts here especially for simple testing the format.
-But, if the user needs to do a more serious work, he/she can
-use `\fontfam` macro in order to load a selected font family of Unicode fonts.
+a few 8bit fonts here especially for simple testing the format.
+But, if the user needs to do more serious work, he/she can
+use `\fontfam` macro to load a selected font family of Unicode fonts.
-We have a dilemma: when the Unicode fonts cannot be preloaded in format then basic
-font set can be loaded by `\everyjob`. But why to load a set of fonts ta the
-beginning of every job when there is highly likely that the user will
+We have a dilemma: when the Unicode fonts cannot be preloaded in the format then the basic
+font set can be loaded by `\everyjob`. But why to load a set of fonts at the
+beginning of every job when it is highly likely that the user will
load something completely different. Our decision is: there is a basic 8bit
-font set and user will load the font at beginning of the document.
+font set in the format (for testing purposes only) and the user should load
+a Unicode font family at beginning of the document.
The fonts selectors \`\tenrm`, \`\tenbf`, \`\tenit`, \`\tenbi`, \`\tentt`
are declared as `\public` here but only for backward compatibility. We don't
diff --git a/macros/luatex/optex/base/fonts-resize.opm b/macros/luatex/optex/base/fonts-resize.opm
index 9dcd6a03e8..ac0064df10 100644
--- a/macros/luatex/optex/base/fonts-resize.opm
+++ b/macros/luatex/optex/base/fonts-resize.opm
@@ -1,13 +1,13 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \setfontsize {Font resizing macros <2020-04-17>} % preloaded in format
+\_codedecl \setfontsize {Font resizing macros <2020-04-17>} % preloaded in format
\_doc -----------------------------
The \`\setfontsize` `{<sizespec>}` saves the `<sizespec>` to the \`\_sizespec` macro.
- The \`\_optsize` value is calculated from the `<sizespec>`.
+ The \`\_optsize` value is calculated from the `<sizespec>`.
If the `<sizepec>` is in the `mag<number>` format then the contents of
- the `\_sizespec` macro is re-calculated to the `at<dimen>` format using
- previous `\_optsize` value.
+ the `\_sizespec` macro is re-calculated to the `at<dimen>` format using
+ previous `\_optsize` value.
\par \goodbreak
\_cod -----------------------------
@@ -26,17 +26,17 @@
\_def\_setoptsizeB scaled#1\_relax{\_optsize=\_defaultoptsize\_relax} % scaled<scalenum>
\_def\_setoptsizeC mag#1\_relax{%
\_ifdim\_lastmagsize>\_zo \_optsize=\_lastmagsize \_else \_optsize=\_pdffontsize\_font \_fi
- \_optsize=#1\_optsize
+ \_optsize=#1\_optsize
\_lastmagsize=\_optsize
\_edef\_sizespec{at\_the\_optsize}%
}
\_public \setfontsize \defaultoptsize ;
\_doc -----------------------------
- \`\_resizefont` `{<variant-name>}\<font switch>`,
+ \`\_resizefont` `{<variant-name>}\<font switch>`,
for example `\resizefont{bf}\_tenbf` resizes the font given by the
variant. The variant `XX` have its font switch `\_tenXX`.
- The \`\_doresizefont``\fontswitch` is used. It works in
+ The \`\_doresizefont``\fontswitch` is used. It works in
TFM mode (\`\_doresizetfmfont`) or OTF mode (\^`\_doresizeunifont`).
In both modes, it does
\begtt \catcode`\<=13
@@ -44,9 +44,9 @@
\endtt
The `<fontname>` is generated by the `\fontname` \TeX/ primitive where
\`\_rfontskipat` removes the `at<dimen>` part of the `\_fontname` output.
- The `<fontname>` is generated differently in OTF mode, see
+ The `<fontname>` is generated differently in OTF mode, see
\^`\_doresizeunifont` macro.\nl
- The \`\_whatresize` is defined as `<variant-name>`.
+ The \`\_whatresize` is defined as `<variant-name>`.
\_cod -----------------------------
\_def\_resizefont#1#2{%
@@ -57,14 +57,14 @@
\_slet{_tryload#1}{_relax}%
}
\_def\_doresizetfmfont#1{\_logfont{#1}%
- \_ea\_font\_ea#1\_ea\_rfontskipat
+ \_ea\_font\_ea#1\_ea\_rfontskipat
\_fontname \_cs{_ten\_whatresize} \_relax\_space \_sizespec \_relax
}
\_let\_doresizefont=\_doresizetfmfont
-\_def\_logfont#1{} % default is no logging of used fonts
+\_def\_logfont#1{} % default is no logging of used fonts
\_def\_rfontskipat#1{\_ifx#1"\_ea\_rfskipatX \_else\_ea\_rfskipatN\_ea#1\_fi}
-\_def\_rfskipatX #1" #2\_relax{"\_whichtfm{#1}"}
+\_def\_rfskipatX #1" #2\_relax{"\_whichtfm{#1}"}
\_def\_rfskipatN #1 #2\_relax{\_whichtfm{#1}}
\_doc -----------------------------
@@ -73,13 +73,13 @@
The font switch `#1` saved in the \`\_fontselector` macro is re-declared
because the variant selector runs the \^`\_resizefont`. Now, we need to
keep the current meaning of the font switch `#1` but we must leave the
- opened group. This is done by the \`\_keepmeaning` macro.
+ opened group. This is done by the \`\_keepmeaning` macro.
\nl
\`\fontlet` `<font switch A> <font switch B> <size spec>` does
\begtt \catcode`\<=13
- \font <font switch A> = <fontname> <sizespec>
+ \font <font switch A> = <fontname> <sizespec>
\endtt
- The `<fontname>` is extracted using the primitive command `\_fontname <font switch B>`.
+ The `<fontname>` is extracted using the primitive command `\_fontname <font switch B>`.
\_cod -----------------------------
\_def \_fontdef #1#2{\_begingroup
@@ -114,7 +114,7 @@
}
\_protected\_def \_resizethefont{\_newcurrfontsize\_sizespec}
- \_public \newcurrfontsize \resizethefont ;
+ \_public \newcurrfontsize \resizethefont ;
\_doc -----------------------------
The variant selector is defined by `\protected\def\XX{\_tryloadXX \_tenXX}`
@@ -138,8 +138,8 @@
The font selection system allows to use \`\currvar`
instead explicitly specified variant selector. The current variant
is extracted from `\the\font` output which could be `\_tenXX` control
- sequence. Then `\currvar` expands to `\_rm` or `\_it` etc.
- \_cod ----------------------------
+ sequence. Then `\currvar` expands to `\_rm` or `\_it` etc.
+ \_cod ----------------------------
\_protected \_def \_currvar{\_cs{_currvar:\_ea \_csstring \_the\_font}}
\_sdef{_currvar:_tenrm}{\_rm}
@@ -150,32 +150,32 @@
\_public \currvar ;
\_doc -----------------------------
- The \`\_regtfm` `<font id> <optical size data>`
+ The \`\_regtfm` `<font id> <optical size data>`
saves the <optical size data> concerned to `<font id>`.
The `<optical size data>` is in the form as shown below in the code where
`\_regtfm` is used.
\nl
The \`\_wichtfm` `<fontname>` expands to the `<fontname>` or to the corrected
`<fontname>` read from the `<optical size data>`. It is used in the
- \^`\_rfontskipat` macro and it is used in \^`\fontlet` macro.
- It means that each `<fontname>` generated by the `\fontname` primitive in the
+ \^`\_rfontskipat` macro and it is used in \^`\fontlet` macro.
+ It means that each `<fontname>` generated by the `\fontname` primitive in the
`\fontlet` macro is processed by the `\_whichtfm`. The real `<fontname>` or
- corrected `<fontname>` (depending on the optical data does not exist or exist)
+ corrected `<fontname>` (depending on the optical data does not exist or exist)
is the output of the expansion before `\font` primitive takes this output
as its parameter.
The implementation detail: The `\_<font id>:reg` is defined as the
`<optical size data>` and all control sequences `\_<fontname>:reg`
- from this data line has the same meaning because of the
+ from this data line have the same meaning because of the
\`\_reversetfm` macro. The `\_whichtfm` expands this data line and apply
- \`\_dowhichtfm`. This macro select the right result from the data line
+ \`\_dowhichtfm`. This macro selects the right result from the data line
by testing with the current `\_optsize` value.
\_cod -----------------------------
\_def\_regtfm #1 0 #2 *{\_ea\_def \_csname _#1:reg\_endcsname{#2 16380 \_relax}%
\_def\_tmpa{#1}\_reversetfm #2 * %
}
-\_def\_reversetfm #1 #2 {% we need this data for \_setmathfamily
+\_def\_reversetfm #1 #2 {% we need this data for \_setmathfamily
\_ea\_let\_csname _#1:reg\_ea\_endcsname
\_csname _\_tmpa:reg\_endcsname
\_if*#2\_else \_ea\_reversetfm \_fi
@@ -200,7 +200,7 @@
\_regtfm lmr 0 ec-lmr5 5.5 ec-lmr6 6.5 ec-lmr7 7.5 ec-lmr8 8.5 ec-lmr9 9.5
ec-lmr10 11.1 ec-lmr12 15 ec-lmr17 *
-\_regtfm lmbx 0 ec-lmbx5 5.5 ec-lmbx6 6.5 ec-lmbx7 7.5 ec-lmbx8 8.5 ec-lmbx9 9.5
+\_regtfm lmbx 0 ec-lmbx5 5.5 ec-lmbx6 6.5 ec-lmbx7 7.5 ec-lmbx8 8.5 ec-lmbx9 9.5
ec-lmbx10 11.1 ec-lmbx12 *
\_regtfm lmri 0 ec-lmri7 7.5 ec-lmri8 8.5 ec-lmri9 9.5 ec-lmri10 11.1 ec-lmri12 *
\_regtfm lmtt 0 ec-lmtt8 8.5 ec-lmtt9 9.5 ec-lmtt10 11.1 ec-lmtt12 *
@@ -215,7 +215,7 @@
\secc The `\setfontsize` macro
-The \^`\setfontsize` `{<size spec>}`
+The \^`\setfontsize` `{<size spec>}`
saves the information about `<size spec>`. This information is taken into
account when a variant selector (for example `\rm`, `\bf`, `\it`, `\bi`)
or `\resizethefont` is used. The `<size spec>` can be:
@@ -226,7 +226,7 @@ or `\resizethefont` is used. The `<size spec>` can be:
behaves like `\font\... scaled<number>`.
* `mag<decimal number>`, for example `\setfontsize{mag1.2}`. The font is
scaled in respect to the current size of the fonts given by the previous
- \^`\setfontsize` command.
+ \^`\setfontsize` command.
\enditems
The initialization value in \OpTeX/ is given by `\setfontsize{at10pt}`.
@@ -234,9 +234,9 @@ The \^`\resizethefont` resizes the currently selected font to the size given by
\^`\setfontsize`. For example
\begtt
- Here is 10 pt text,
-\setfontsize{at12pt} 10 pt text here unchanged...
-\resizethefont and 12 pt text is here.
+ The 10 pt text is here,
+\setfontsize{at12pt} the 10 pt text is here unchanged...
+\resizethefont and the 12 pt text is here.
\endtt
%
The \^`\setfontsize` command acts like {\em font modifier}. It means that it
@@ -262,15 +262,15 @@ create a size-dependent selector for such font then you can use
\font\tencomfortaa=Comfortaa-Regular-T1 at10pt
\def\comfortaa{\tencomfortaa\resizethefont}
-\comfortaa Here is 10 pt text
+\comfortaa The 10 pt text is here
\setfontsize{at12pt}
-\comfortaa Here is 12 pt text
+\comfortaa The 12 pt text is here
\endtt
%
The example above uses the 8\,bit `tfm` font. You can use Unicode font too, of
course. The \^`\fontfam` macro initializes the extended `\font` primitive
features for \LuaTeX/ (see section \ref[exfont]).
-If you didn't use this command, you must to initialize
+If you didn't use this command, you must initialize
these features by the \^`\initunifonts` command explicitly, for example:
\begtt
@@ -278,9 +278,9 @@ these features by the \^`\initunifonts` command explicitly, for example:
\font\tencyklop=[cyklop-regular] at10pt % the font cyklop-regular.otf is loaded
\def\cyklop{\tencyklop\resizethefont}
-\cyklop Here is 10 pt text
+\cyklop The 10 pt text is here
\setfontsize{at12pt}
-\cyklop Here is 12 pt text
+\cyklop The 12 pt text is here
\endtt
\secc[fontdef] The \code{\\fontdef} declarator
@@ -297,8 +297,8 @@ This command runs `<font modifiers> \<variant-selector>` in an internal group an
resulting selected font as `\<newfont>`.
The resulting `\<newfont>` declared by \~`\fontdef` is \"fixed font switch"
-independent of \^`\setfontsize` and other font modifiers. More exactly, it is
-fixed font switch when it is used but it can depend on the current font
+independent of \^`\setfontsize` and other font modifiers. More exactly, it is
+a fixed font switch when it is used but it can depend on the current font
modifiers and font family and given font modifiers when it is declared.
The parameter of the \~`\fontdef` macro must be exactly finished by the
@@ -307,9 +307,9 @@ and variant selectors are in the section~\ref[fontsystem].
\secc[fontlet] The \code{\\fontlet} declarator
-We have another command for scaling: \^`\fontlet` which is able to resize
+We have another command for scaling: \^`\fontlet` which can resize
arbitrary font given by its font switch.
-This font switch was declared it by the
+This font switch was declared by the
`\font` primitive or the \~`\fontdef` macro.
\begtt \catcode`\<=13
@@ -318,7 +318,7 @@ This font switch was declared it by the
\fontlet \bigfont = \_tenbf at15pt
\endtt
-The resulted `\bigfont` is the same as in previous example where \~`\fontdef`
+The resulted `\bigfont` is the same as in the previous example where \~`\fontdef`
was used. The advantage of \~`\fontdef` macro will be more clear when you load
font families by `\fontfam` and you are using more font modifiers declared
in such families.
@@ -343,7 +343,7 @@ of the `\defaultoptsize` register and such font is scaled by the specified
Font collections with optical sizes must be registered by the
\^`\_regtfm` for `tfm` files or \^`\_regoptsizes` for Unicode fonts.
-\OpTeX/ registers 8bit Latin Moder fonts in the format (`fonts-resize.opm` file)
+\OpTeX/ registers 8bit Latin Moder fonts in the format (`fonts-resize.opm` file)
and OTF Latin Modern fonts in the `f-lmfonts.opm` file.
\secc Implementation notes
diff --git a/macros/luatex/optex/base/fonts-select.opm b/macros/luatex/optex/base/fonts-select.opm
index 20a8ead2b5..69cf8909bc 100644
--- a/macros/luatex/optex/base/fonts-select.opm
+++ b/macros/luatex/optex/base/fonts-select.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \fontfam {Fonts selection system <2020-12-12>} % preloaded in format
@@ -24,9 +24,9 @@
luaotfload.main()
print = print_bak % "print hack" until luaotfload will be corrected
}%
- \_gdef\_rfskipatX ##1" ##2\_relax{"##1"}%
+ \_gdef\_rfskipatX ##1" ##2\_relax{"##1"}%
\_global\_let \_doresizefont=\_doresizeunifont
- \_gdef\_tryloadtt {\_fontdef\_tentt{\_def\_fontnamegen{[lmmono10-regular]}\_rm}}%
+ \_gdef\_tryloadtt {\_fontdef\_tentt{\_def\_fontnamegen{[lmmono10-regular]}\_rm}}%
\_global\_let \_initunifonts=\_relax % we need not to do this work twice
\_global\_let \initunifonts=\_relax
}
@@ -35,12 +35,12 @@
\_font#1={\_fontnamegen} \_sizespec \_relax \_setwsp#1\_relax
\_fi
}
-\_public \initunifonts ;
+\_public \initunifonts ;
\_doc -----------------------------
The \`\_famdecl` `[<Family Name>] \<Famselector> {<comment>} {<modifiers>} {<variants>} {<math>}`\nl
`{<font for testing>} {\def`\^`\_fontnamegen``{<data>}}` runs \^`\initunifonts`, then
- checks if `\<Famselector>` is defined. If it is true, then closes the file by
+ checks if `\<Famselector>` is defined. If it is true, then closes the file by
`\endinput`. Else it defines `\<Famselector>` and saves it to the
internal `\_f:<currfamily>:main.fam` command.
The macro \`\_initfontfamily` needs it. The \`\_currfamily` is set
@@ -49,7 +49,7 @@
`<Famselector>` by the `\<Famselector>` too, because `\<Famselector>`
must set the right font family context. The font family context is given by the current
`\_currfamily` value and by the actual meaning of the \^`\_fontnamegen` macro.
- The \`\_mathfaminfo` is saved for usage in the catalogue.
+ The \`\_mathfaminfo` is saved for usage in the catalog.
\_cod -----------------------------
\_def\_famdecl [#1]#2#3#4#5#6#7#8{%
@@ -63,7 +63,7 @@
\_opwarning{\_string#2 is redefined by \_string\_famdecl\_space[#1]}\_fi
\_protected\_edef#2{\_def\_noexpand\_currfamily{\_csstring #2}\_unexpanded{#8\_resetfam}}%
\_ea \_let \_csname _f:\_currfamily:main.fam\_endcsname =#2%
- \_fi
+ \_fi
\_else \_csname _f:\_csstring#2:main.fam\_endcsname \_reloading \_rm \_ea \_endinput \_fi
}
\_def\_initfontfamily{%
@@ -74,11 +74,11 @@
\`\_regoptsizes` `<internal-template> <left-output>?<right-output> <resizing-data>`
prepares data for using by the \`\_optname` `<internal-template>` macro.
The data are saved to the `\_oz:<internal-template>` macro.
- When the `\_optname` is expanded then the data are scanned by the macro
- \`\_optnameA` `<left-output>?<right-output> <mid-output> `\code{<}`<size>`
+ When the `\_optname` is expanded then the data are scanned by the macro
+ \`\_optnameA` `<left-output>?<right-output> <mid-output> `\code{<}`<size>`
in the loop.\nl
- \`\_optfontalias` `{<template A>}{<template B>}` is defined as
- `\let\_oz:<templateA>=\_oz:<templateB>`.
+ \`\_optfontalias` `{<template A>}{<template B>}` is defined as
+ `\let\_oz:<templateA>=\_oz:<templateB>`.
\_cod -----------------------------
\_def\_regoptsizes #1 #2?#3 #4*{\_sdef{_oz:#1}{#2?#3 #4* }}
@@ -108,7 +108,7 @@
\`\_fsetV` `<key>=<value>,...,<key>=<value>` expands to
`\def\_<key>V{<value>}` in the loop.
\nl
- \`\_onlyif` `<key>=<value-a>,<value-b>...,<value-z>: {<what>}`
+ \`\_onlyif` `<key>=<value-a>,<value-b>...,<value-z>: {<what>}`
runs <what> only if the `\_<key>V` is defined as `<value-a>` or
`<value-b>` or ... or `<value-z>`.
\nl
@@ -144,13 +144,13 @@
performed and the `\<modifier>` is defined as
\`\_famdepend``\<modifier>{_f:\_currfamily:<modifier>}`. It expands to
`\_f:\_currfamily:<modifier>` value if it is defined or it prints
- warning. When the `\_currfamily` value is
- changed then we can declare the same `\<modifier>` with different meaning.
+ the warning. When the `\_currfamily` value is
+ changed then we can declare the same `\<modifier>` with a different meaning.
- When user declare a prefixed variant of the `\<modifier>` then unprefixed
- modifier name is used in internal macros, this is reason why we are using
+ When a user declares a prefixed variant of the `\<modifier>` then unprefixed
+ modifier name is used in internal macros, this is the reason why we are using
the \`\_remifirstunderscore``\_tmp` (where `\_tmp` expands to
- `_<something>` or to `<something>`. The `\_remifirstunderscore`
+ `_<something>` or to `<something>`. The `\_remifirstunderscore`
redefines `\_tmp` in the way that it
expands only to `<something>` without the first `_`.
@@ -159,10 +159,10 @@
selector or font modifier.
\`\_addtomodlist` `<font modifier>` adds given modifier to \`\_modlist`
- macro. This list is used after `\resetmod` when new family is selected by
+ macro. This list is used after `\resetmod` when a new family is selected by
a family selector, see \`\_resetfam` macro.
- This allows to reinitialize the same current modifiers in the font context
- after family is changed.
+ This allows reinitializing the same current modifiers in the font context
+ after the family is changed.
\_cod -----------------------------
\_def \_moddef #1#2{\_edef\_tmp{\_csstring#1}%
@@ -194,9 +194,9 @@
\_public \moddef ;
\_doc -----------------------------
- The \`\famvardef` `\<XX> {<data>}`
+ The \`\famvardef` `\<XX> {<data>}`
uses analogical trick like \^`\moddef` with
- the \^`\_famdepend` macro. The auxiliary
+ the \^`\_famdepend` macro. The auxiliary
\`\_famvardefA` `\<XX> \_ten<XX> \_tryload<XX> {<data>}` is used.
It does:
\begitems
@@ -216,7 +216,7 @@
}
\_def\_famvardefA #1#2#3#4{% #1=\XX #2=\_tenXX #3=\_tryload:currfam:XX #4=data
\_isinlist{.\_rm\_bf\_it\_bi\currvar\_currvar}#1\_iftrue
- \_opwarning{\_string\famvardef:
+ \_opwarning{\_string\famvardef:
You cannot re-declare standard variant selector \_string#1}%
\_else
\_def#3{\_fontdef#2{#4}}%
@@ -239,7 +239,7 @@
* Print the list of declared families.
\enditems
The `fams-local.opm` is read by the \`\_tryloadfamslocal` macro. It sets
- itself to `\_relax` because we need not to load this file twice.
+ itself to `\_relax` because we need not load this file twice.
The \`\_listfamnames` macro prints registered font families to the
terminal and to the log file.
\_cod -----------------------------
@@ -281,8 +281,8 @@
When the `fams-ini.opm` or `fams-local.opm` files are read then we need
to save only a mapping from family names or alias names to the font family file
names. All other information is ignored in this case. But if these files
- are read by the `\_listfamnames` macro or when printing a catalog then
- more infrormation is used and printed.\nl
+ are read by the `\_listfamnames` macro or when printing a catalog then more
+ information is used and printed.\nl
\`\_famtext` does nothing or prints the text on the terminal.
\nl
\`\_faminfo` `[<Family Name>] {<comments>} {<file-name>} {<mod-plus-vars>}`
@@ -305,9 +305,9 @@
\_def\_famfile{#3}%
}
\_def\_famalias [#1]{%
- \_lowercase{\_edef\_famname{\_ea\_removespaces #1 {} }}%
- \_sdef{_famf:\_famname\_ea}\_ea{\_famfile}%
-}
+ \_lowercase{\_edef\_tmpa{\_ea\_removespaces #1 {} }}%
+ \_sdef{_famf:\_tmpa\_ea}\_ea{\_famfile}%
+}
\_newtoks\_famfrom
\_input fams-ini.opm
\_let\_famfile=\_undefined
@@ -315,27 +315,27 @@
\_doc -----------------------------
When the \^`\fontfam``[catalog]` is used then the file
- `fonts-tatalog.opm` is read. The macro \^`\_faminfo` is redefined here
+ `fonts-catalog.opm` is read. The macro \^`\_faminfo` is redefined here
in order to print catalog samples of all declared modifiers/variant
pairs. The user can declare different samples and different behavior of
the catalog, see the end of catalog listing for more information.
- The default parameters
+ The default parameters
\`\catalogsample`, \`\catalogmathsample`, \`\catalogonly` and
\`\catalogexclude` of the catalog are declared here.
\_cod -----------------------------
\_newtoks \_catalogsample
-\_newtoks \_catalogmathsample
-\_newtoks \_catalogonly
+\_newtoks \_catalogmathsample
+\_newtoks \_catalogonly
\_newtoks \_catalogexclude
\_catalogsample={ABCDabcd Qsty fi fl áéíóúüů řžč ÁÉÍÓÚ ŘŽČ 0123456789}
\_public \catalogonly \catalogexclude \catalogsample \catalogmathsample ;
\_doc -----------------------------
- The font features are managed in the \`\_fontfeatures` macro.
+ The font features are managed in the \`\_fontfeatures` macro.
They have their implicit values saved in the \`\_defaultfontfeatures`
- and the \`\setff` `{<features>}`
+ and the \`\setff` `{<features>}`
can add next font features. If there is the same font feature as the newly
added one then the old value is removed from the `\_fontfeatures` list.
\_cod -----------------------------
@@ -350,7 +350,7 @@
\_def\_removefeature #1{%
\_isinlist\_fontfeatures{#1}\_iftrue
\_def\_tmp ##1#1##2;##3\_relax{\_def\_fontfeatures{##1##3}}%
- \_ea \_tmp \_fontfeatures \_relax
+ \_ea \_tmp \_fontfeatures \_relax
\_fi
}
\_public \setff ;
@@ -362,7 +362,7 @@
of the font using the \`\setwsp` macro which is used by the
\^`\_doresizeunifont` macro. It activates a dummy font feature `+Ws` too in
order the font is reloded by the `\font` primitive (with independent
- `\fontdimen` registers).
+ `\fontdimen` registers).
\_cod -----------------------------
\_def\_savedfontcolor{}
@@ -379,7 +379,7 @@
\_reloading
}
\_def \_setwordspace #1{%
- \_if^#1^\_def\_setwsp##1{}\_removefeature{+Ws}%
+ \_if^#1^\_def\_setwsp##1{}\_removefeature{+Ws}%
\_else \_def\_setwsp{\_setwspA{#1}}\_setff{+Ws}\_fi
\_reloading
}
@@ -401,19 +401,19 @@
\sec[fontsystem] The Font Selection System
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-The basic principles of the Font Selection System used in \OpTeX/
+The basic principles of the Font Selection System used in \OpTeX/
was documented in the section~\ref[fontfam].
\secc Terminology
We distinguish between
\begitems
-* {\em font switchers}, they are declared by the `\font` primitive or by
+* {\em font switchers}, they are declared by the `\font` primitive or by
\^`\fontlet` or \~`\fontdef` macros, they select given font.
* {\em variant selectors}, there are four basic variant selectors
\^`\rm`, \^`\bf`, \^`\it`, \^`\bi`, there is a special selector \^`\currvar`.
More variant selectors can be declared by the \~`\famvardef` macro.
- They select the font depending on given variant and on the {\em font context}
+ They select the font depending on the given variant and on the {\em font context}
(i.e.\ on current family and on more features given by font modifiers).
In addition, \OpTeX/ defines \~`\tt` as variant selector
independent of chosen font family. It selects typewriter-like font.
@@ -421,20 +421,20 @@ We distinguish between
\"build in" (\^`\setfontsize``{<size spec>}`, \~`\setff{<features>}`).
They do appropriate change in the {\em font context} but do not select
the font.
-* {\em family selectors} (for example `\Termes`, `\LMfonts`),
+* {\em family selectors} (for example `\Termes`, `\LMfonts`),
they are declared typically in the {\em font family files}.
- They enable to swithch between font families, they do appropriate
+ They enable to switch between font families, they do appropriate
change in the {\em font context} but do not select
the font.
\enditems
These commands set their values locally. When the \TeX/ group is
-leaved then selected font and the {\em font context} are returned back to the values
+left then the selected font and the {\em font context} are returned back to the values
used when the group was opened. They have the following features:
-The {\em font context} is a set of macro values which will affect the
-selection of real font when variant selector is processed. It includes the
-value of {\em current family}, current font size and
+The {\em font context} is a set of macro values that will affect the
+selection of real font when the variant selector is processed. It includes the
+value of {\em current family}, current font size, and
more values stored by font modifiers.
The {\em family context} is the current family value stored in the font
@@ -442,28 +442,28 @@ context. The variant selectors declared by \~`\famvardef` and
font modifiers declared by \~`\moddef` are dependent on the {\em family context}.
They can have the same names but different behavior in different families.
-The fonts registered in \OpTeX/ have their macros in the {\em font family files},
-each family is declared in one font family file with the name `f-famname.opm`.
-All families are collected in `fams-ini.opm` and user can give more
+The fonts registered in \OpTeX/ have their macros in the {\em font family files},
+each family is declared in one font family file with the name `f-famname.opm`.
+All families are collected in `fams-ini.opm` and users can give more
declarations in the file `fams-local.opm`.
\secc Font families, selecting fonts
-The \^`\fontfam` `[<Font Family>]` opens the relevant font family file where
+The \^`\fontfam` `[<Font Family>]` opens the relevant font family file where
the `<Font Family>` is declared. The family selector is defined here by rules
described in the section~\ref[fontfamfiles]. Font modifiers and variant
selectors may be declared here.
The loaded family is set as current and `\rm` variant selector is processed.
The available declared font modifiers and declared variant selectors are
-listed in the log file when font family is load. Or you can print
+listed in the log file when the font family is load. Or you can print
`\fontfam[catalog]` to show available font modifiers and variant selectors.
The font modifiers can be independent, like `\cond` and `\light`. They can
-be arbitrary combined (in arbitrary order) and if the font family disposes
-with all such sub-variants then the desired font is selected (after variant
-selector is used). On the other hand there are font modifiers which negates
-the previous font modifier, for example `\cond`, `\extend`. You can reset
+be arbitrarily combined (in arbitrary order) and if the font family disposes
+of all such sub-variants then the desired font is selected (after variant
+selector is used). On the other hand, there are font modifiers that negates
+the previous font modifier, for example: `\cond`, `\extend`. You can reset
all modifiers to their initial value by the \^`\resetmod` command.
You can open more font families by more \^`\fontfam` commands. Then the
@@ -480,25 +480,25 @@ For example:
The Termes roman is here.
\endtt
-There is one special command \^`\currvar` which acts as variant selector.
-It keeps the current variant and the font of such variant is
-reloaded with respect to the current font context by previously given family
-selector and font modifiers.
+There is one special command \^`\currvar` which acts as a variant selector.
+It keeps the current variant and the font of such variant is
+reloaded with respect to the current font context by the previously given family
+selector and font modifiers.
You can use the \^`\setfontsize` `{<sizespec>}` command in the same sense as
other font modifiers. It saves information about font size to the font
context. See section~\ref[setfontsize]. Example:
\begtt
-\rm default size \setfontsize{at14pt}\rm here is 14pt size \it italic is
+\rm default size \setfontsize{at14pt}\rm here is 14pt size \it italic is
in 14pt size too \bf bold too.
\endtt
-Much more comfortable way to resize fonts is using OPmac-like commands
+A much more comfortable way to resize fonts is using OPmac-like commands
\~`\typosize` and \~`\typoscale`.
These commands prepare the right sizes for math
fonts too and they re-calculate many internal parameters like `\baselineskip`.
-See section~\ref[opmac-fonts] for more information.
+See section~\ref[opmac-fonts] for more information.
\secc Math Fonts
@@ -508,7 +508,7 @@ Most font families are connected with a preferred Unicode-math font. This
Unicode-math is activated when the font family is loaded. If you don't prefer
this and you are satisfied with 8bit math CM+AMS fonts preloaded in the
\OpTeX/ format then you can use command \^`\noloadmath` before you load a first
-font family.
+font family.
If you want to use your specially selected Unicode-math font then use
\^`\loadmath` `{[<font_file>]}` or \^`\loadmath` `{<font_name>}` before first
@@ -526,10 +526,10 @@ family selectors and defined font macros doing something with fonts.
section~\ref[fontprimitive]) or by \^`\fontlet` command (see
section~\ref[fontlet]) or by \~`\fontdef` command (see
sections~\ref[fontdef2] and~\ref[fontdef]).
- When the font switches are used then they select given font independently
- of current font context. They can be used
- in `\output` routine (for example) becuase we need to set fixed fonts
- in hedares and footers.
+ When the font switches are used then they select the given font independently
+ of the current font context. They can be used
+ in `\output` routine (for example) because we need to set fixed fonts
+ in headers and footers.
* Variant selectors are \^`\rm`, \^`\bf`, \^`\it`, \^`\bi`, \~`\tt` and \^`\currvar`. More
variant selectors can be declared by \~`\famvardef` command. They select a
font dependent on the current font context, see section~\ref[famvardef].
@@ -542,15 +542,15 @@ family selectors and defined font macros doing something with fonts.
\~`\setfontcolor`, \~`\setletterspace` and \~`\setwordspace`
(see section~\ref[specff]). They are independent of font family.
* Font modifiers declared by \~`\moddef` depend on the font family and they
- are typicaly declared in font family files, see
+ are typically declared in font family files, see
section~\ref[fontfamfiles].
\enditems
* Family selectors set the given
- font family as current and re-set data used by family-dependent font
+ font family as current and re-set data used by the family-dependent font
modifiers to initial values and to the currently used modifiers.
They are declared in font family files
by \~`\_famdecl` macro, see section~\ref[fontfamfiles].
-* Font macros can be defined arbitrary by `\def` primitive by user.
+* Font macros can be defined arbitrarily by `\def` primitive by users.
See an example in section~\ref[fontmacros].
\enditems
@@ -567,10 +567,10 @@ The general format for \^`\fontdef` usage is
where `\<family selector>` and `<font modifiers>` are optional and
`\<variant selector>` is mandatory.
-The \^`\fontdef` does following steps.
-It pushes current font context to a stack, it do modifications of the font
+The \^`\fontdef` does the following steps.
+It pushes the current font context to a stack, it does modifications of the font
context by given `\<family selector>` and/or `<font modifiers>` and it
-find the real font by `\<variant selector>`. This font is not selected but
+finds the real font by `\<variant selector>`. This font is not selected but
it is assigned to the declared `\<font switch>` (like `\font` primitive does
it). Finally, `\fontdef` pops the font context stack, so the current
font context is the same as it was before `\fontdef` is used.
@@ -592,8 +592,8 @@ where `\<family selector>` and `<font modifiers>` are optional and
The `\<new variant selector>` should be used in the same sense as `\rm`,
`\bf` etc. It can be used as the final command in next
\^`\fontdef` or \^`\famvardef` declarators
-too. When the `\<new variant selector>` is used in normal text then it does
-following steps: pushes current font context to a stack, modifies font
+too. When the `\<new variant selector>` is used in the normal text then it does
+the following steps: pushes current font context to a stack, modifies font
context by declared `\<family selector>` and/or `<font modifiers>`,
runs following `\<variant selector>`.
This last one selects a real font. Then pops the font context stack.
@@ -601,10 +601,10 @@ The new font is selected but the font context has its original values.
This is main difference between `\famvardef\foo{...}` and `\def\foo{...}`.
Moreover, the \^`\famvardef` creates the `\<new variant selector>` family dependent.
-When the selector is used in another family context than it is defined then warning is
-printed on the terminal \"<var selector> is undeclared in current family"
+When the selector is used in another family context than it is defined then a warning is
+printed on the terminal \"<var selector> is undeclared in the current family"
and nothing happens. But you can declare the same variant selector by
-\^`\famvardef` macro in the context of new family. Then the same command
+\^`\famvardef` macro in the context of a new family. Then the same command
may do different work depending on the current font family.
Suppose that the selected font family provides the font modifier `\medium` for
@@ -622,8 +622,8 @@ the current family but it can use fonts from another family represented by
the `\<family selector>`.
When you are mixing fonts from more families then you probably run
-into problem with incompatible ex-heights. This problem can be solved using
-\^`\setfontsize` and \^`\famvardef` macros:
+into a problem with incompatible ex-heights. This problem can be solved using
+\^`\setfontsize` and \^`\famvardef` macros:
\begtt
\fontfam[Heros] \fontfam[Termes]
@@ -638,7 +638,7 @@ The variant selectors (declared by \~`\famvardef`) or font
modifiers (declared by \~`\moddef`) are (typically) control sequences in user name
space (`\mf`, `\caps`). They are most often declared in font family files and
they are loaded by \^`\fontfam`. A conflict with such names in
-user name space can be here. For example: if `\mf` is defined by user and then
+user namespace can be here. For example: if `\mf` is defined by a user and then
`\fontfam[Roboto]` is used then `\famvardef\mf` is performed for Roboto
family and the original meaning of `\mf` is lost. But \OpTeX/ prints warning
about it. There are two cases:
@@ -654,8 +654,8 @@ about it. There are two cases:
\secc[tt] The `\tt` variant selector
-\^`\tt` is additional special variant selector which is defined as \"select typewriter
-font independently of current font family". By default, the typewriter font-face
+\^`\tt` is an additional special variant selector which is defined as \"select typewriter
+font independently of the current font family". By default, the typewriter font-face
from LatinModern font family is used.
The \^`\tt` variant selector is used in \OpTeX/ internal macros
@@ -673,10 +673,10 @@ Test in Termes: {\tt text}. {\Heros\rm Test in Heros: {\tt text}}.
Test in URL \url{http://something.org}.
\endtt
%
-You can see that `\tt` stay family independent. This is special feature only
+You can see that `\tt` stay family independent. This is a special feature only
for `\tt` selector. New definition is used in \^`\_ttfont` and \^`\_urlfont` too.
-It is recommended to use `\setff{-liga;-tlig}` in order to supress the
-liguatures in typewriter fonts.
+It is recommended to use `\setff{-liga;-tlig}` to suppress the
+ligatures in typewriter fonts.
If Unicode math font is loaded then the `\tt` macro selects typewriter
font-face in math mode too. This face
@@ -687,10 +687,10 @@ is selected from used Unicode math font and it is independent of
\secc[fontmacros] Font commands defined by `\def`
Such font commands can be used as fonts selectors for titles, footnotes,
-ctitations etc. User can define them.
+citations, etc. Users can define them.
The following example shows how to define a \"title-font selector".
-Titles are not only bigger but they are typically in bold variant. When the user puts
+Titles are not only bigger but they are typically in the bold variant. When a user puts
`{\it...}` into the title text then he/she expects bold italic here, no normal
italic. You can remember the great song by John Lennon \"Let It Be" and
define:
@@ -711,7 +711,7 @@ are defined in section~\ref[opmac-fonts].
%----------------------------
Each OTF font provides \"font features". You can list these font features
-by `otfinfo -f font.otf`. For example LinLibertine fonts provide `frac` font
+by `otfinfo -f font.otf`. For example, LinLibertine fonts provide `frac` font
feature. If it is active then fractions like 1/2 are printed in a special
form.
@@ -728,18 +728,18 @@ selector too:
Compare 1/2 or 1/10 \fraclig to 1/2 or 1/10.
\endtt
-If the used font does not supports given font feature then font is realoaded
+If the used font does not support the given font feature then the font is reloaded
without warning nor error, silently. The font feature is not activated.
-The `onum` font feature (old style digits) is connected to `\caps` macro for
-Caps+SmallCaps variant in \OpTeX/ font family files. So you need not to
+The `onum` font feature (old-style digits) is connected to `\caps` macro for
+Caps+SmallCaps variant in \OpTeX/ font family files. So you need not
create a new modifier, just use `{\caps`\^`\currvar`` 012345}`.
\secc[specff] Special font modifiers
%---------------------------
-Despite the font modifiers declared in the font family file (and dependent on
+Despite the font modifiers declared in the font family file (and dependent on
the font family), we have following font modifiers (independent of font
family):
@@ -755,26 +755,26 @@ The \^`\setfontsize` command is described in the section \ref[setfontsize].
The \^`\setff` command was described in previous subsection.
\^`\setfontcolor` `{<color>}` specifies the color and the opacity of the text.
-The <color> parameter should be in hexadecimal format of four bytes
+The <color> parameter should be in the hexadecimal format of four bytes
`<red><green><blue><opacity>`, for example `FF0080FF` means full red, zero
green, half blue and full opacity. You can use names `red`, `green`, `blue`,
-`yellow`, `cyan`, `magenta`, `white`, `grey`, `lgrey` (without backslash)
-instead of the hexadecimal specification.
+`yellow`, `cyan`, `magenta`, `white`, `grey`, `lgrey` (without the backslash)
+instead of the hexadecimal specification.
The empty parameter `<color>` means default black color.
-That colors of fonts are implemented using \LuaTeX/ internal font feature. This
+These colors of fonts are implemented using \LuaTeX/ internal font feature. This
is different approach than using colors in section \ref[colors].
-\^`\setletterspace` `{<number>}` specifies letter spacing of the font. The
-`<number>` is decimal number without unit. The unit is supposed as 1/100 of
+\^`\setletterspace` `{<number>}` specifies the letter spacing of the font. The
+`<number>` is a decimal number without unit. The unit is supposed as 1/100 of
the font size. I.e. `2.5` means 0.25 pt when the font is at 10 pt size. The
-empty parameter `<number>` means no letter spacing which is default.
+empty parameter `<number>` means no letter spacing which is the default.
-\^`\setwordspace` `{<scaling>}` scales the default inter word space (defined in the
+\^`\setwordspace` `{<scaling>}` scales the default interword space (defined in the
font) and its stretching and shrinking parameters by given `<scaling>`
-factor. For example `\setwordspace{2.5}` multiplies inter word space by 2.5.
+factor. For example `\setwordspace{2.5}` multiplies interword space by 2.5.
-If you need another font transformations, you can use `\setff`
+If you need another font transformations, you can use `\setff`
with following font features provided by Lua\TeX/:
\begtt
@@ -782,16 +782,17 @@ with following font features provided by Lua\TeX/:
\setff{slant=0.2}\rm % font is slanted by a linear transformation
\setff{extend=1.2}\rm % font is extended by a linear transformation.
\setff{colr=yes}\rm % if the font includes colored characters, use colors
+\setff{upper}\rm % to uppercase (lower=lowecase) conversion at font level
\endtt
Use font transformations mentioned above and \^`\setletterspace`,
-\^`\setwordspace` with care. The best setting of these values is default
-setting in every font, of course. If you really needs to set a different
-letter spacing then it is strongly recommended to add `\setff{-liga}` in
-order to disable ligatures. And setting a positive letter spacing probably
-needs to scale inter word spacing too.
+\^`\setwordspace` with care. The best setting of these values is the default
+setting in every font, of course. If you really need to set a different
+letter spacing then it is strongly recommended to add `\setff{-liga}`
+to disable ligatures. And setting a positive letter spacing probably
+needs to scale interword spacing too.
-All mentioned font modifiers (with the exception of `\setfontsize`) work only
+All mentioned font modifiers (except for `\setfontsize`) work only
with Unicode fonts loaded by \^`\fontfam`.
\secc[fontfamfiles] How to create the font family file
@@ -809,29 +810,29 @@ with Unicode fonts loaded by \^`\fontfam`.
\secc[exfont] Notices about extension of `\font` primitive
%---------------------------------------------------------
-Unicode fonts are dealed by extended `\font` primitive. This extension is
+Unicode fonts are loaded by extended `\font` primitive. This extension is
not activated in \OpTeX/ by default, \^`\initunifonts` macro activates it.
-You need not to use \^`\initunifonts` explicitly if \^`\fontfam` macro is
+You need not use \^`\initunifonts` explicitly if \^`\fontfam` macro is
used because \^`\fontfam` runs it internally.
-The \^`\initunifonts` loads the lua code from Luaotfload package which
-actually implements the `\font` primitive extension. See its
+The \^`\initunifonts` loads the Lua code from the Luaotfload package which
+implements the `\font` primitive extension. See its
documentation `luaotfload-latex.pdf` for information about
all possibilities of extended `\font` primitive.
The \OpTeX/ format is initialized by `luatex` engine by default but
you can initialize it by `luahbtex` engine too. Then the harfbuzz library is
-ready to use for font rendering as an alternative of build-in font renderer
+ready to use for font rendering as an alternative to build-in font renderer
from Luaotfload. The harfbuzz library gives more features for rendering
-indic and arabic scripts. But it is not used as default, you need to specify
-`mode=harf` in fontfeatures field when `\font` is used. Moreover, when
+Indic and Arabic scripts. But it is not used as default, you need to specify
+`mode=harf` in the fontfeatures field when `\font` is used. Moreover, when
`mode=harf` is used, then you must specify `script` too. For example
\begtt
\font\devafont=[NotoSansDevanagari-Regular]:mode=harf;script=dev2
\endtt
%
-If `luahbtex` engine is not used then `mode=harf` is ignored. See
+If the `luahbtex` engine is not used then `mode=harf` is ignored. See
Luaotfload documentation for more information.
\endinput
diff --git a/macros/luatex/optex/base/graphics.opm b/macros/luatex/optex/base/graphics.opm
index 901dc4d352..afff1c1284 100644
--- a/macros/luatex/optex/base/graphics.opm
+++ b/macros/luatex/optex/base/graphics.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \inspic {Graphics <2020-04-12>} % preloaded in format
@@ -27,13 +27,13 @@
\_public \inspic ;
\_doc -----------------------------
- Inkscape is able to save a picture to `*.pdf` file and labels for the picture
- to `*.pdf_tex` file. The second file is in \LaTeX/ format (unfortunately)
- and it is intended to read immediately it after `*.pdf` in included
- in order to place labels of this picture in the same font as document is printed.
- We need to read this \LaTeX/ file by plain \TeX/ macros when \`\inkinspic` is used.
+ Inkscape can save a picture to `*.pdf` file and labels for the picture
+ to `*.pdf_tex` file. The second file is in \LaTeX/ format (unfortunately)
+ and it is intended to read immediately after `*.pdf` is included
+ in order to place labels of this picture in the same font as the document is printed.
+ We need to read this \LaTeX/ file by plain \TeX/ macros when \`\inkinspic` is used.
These macros are stored in the \`\_inkdefs` tokens list and it is used
- locally in the group. The solution is borrowed from OPmac trick 0032.
+ locally in the group. The solution is borrowed from OPmac trick 0032.
\_cod -----------------------------
\_def\_inkinspic{\_hbox\_bgroup\_isnextchar\_bgroup\_inkinspicB\_inkinspicA}
@@ -44,10 +44,10 @@
\_opinput {\_the\_picdir #1_tex}% file with labels
\_egroup}
-\_newtoks\_inkdefs \_inkdefs={%
- \_def\makeatletter#1\makeatother{}%
- \_def\includegraphics[#1]#2{\_inkscanpage#1,page=,\_end \_inspic{#2}\_hss}%
- \_def\_inkscanpage#1page=#2,#3\_end{\_ifx,#2,\_else\_def\_picparams{page#2}\_fi}%
+\_newtoks\_inkdefs \_inkdefs={%
+ \_def\makeatletter#1\makeatother{}%
+ \_def\includegraphics[#1]#2{\_inkscanpage#1,page=,\_end \_inspic{#2}\_hss}%
+ \_def\_inkscanpage#1page=#2,#3\_end{\_ifx,#2,\_else\_def\_picparams{page#2}\_fi}%
\_def\put(#1,#2)#3{\_nointerlineskip\_vbox to\_zo{\_vss\_hbox to\_zo{\_kern#1\_picwidth
\_pdfsave\_hbox to\_zo{#3}\_pdfrestore\_hss}\_kern#2\_picwidth}}%
\_def\begin#1{\_csname _begin#1\_endcsname}%
@@ -55,11 +55,11 @@
\_hbox to\_picwidth{}\_kern#2\_picwidth \_def\end##1{\_egroup}}%
\_def\_begintabular[#1]#2#3\end#4{%
\_vtop{\_def\\{\_cr}\_tabiteml{}\_tabitemr{}\_table{#2}{#3}}}%
- \_def\color[#1]#2{\_scancolor #2,}%
- \_def\_scancolor#1,#2,#3,{\_pdfliteral{#1 #2 #3 rg}}%
+ \_def\color[#1]#2{\_scancolor #2,}%
+ \_def\_scancolor#1,#2,#3,{\_pdfliteral{#1 #2 #3 rg}}%
\_def\makebox(#1)[#2]#3{\_hbox to\_zo{\_csname _mbx:#2\_endcsname{#3}}}%
- \_sdef{_mbx:lb}#1{#1\_hss}\_sdef{_mbx:rb}#1{\_hss#1}\_sdef{_mbx:b}#1{\_hss#1\_hss}%
- \_sdef{_mbx:lt}#1{#1\_hss}\_sdef{_mbx:rt}#1{\_hss#1}\_sdef{_mbx:t}#1{\_hss#1\_hss}%
+ \_sdef{_mbx:lb}#1{#1\_hss}\_sdef{_mbx:rb}#1{\_hss#1}\_sdef{_mbx:b}#1{\_hss#1\_hss}%
+ \_sdef{_mbx:lt}#1{#1\_hss}\_sdef{_mbx:rt}#1{\_hss#1}\_sdef{_mbx:t}#1{\_hss#1\_hss}%
\_def\rotatebox#1#2{\_pdfrotate{#1}#2}%
\_def\lineheight#1{}%
\_def\setlength#1#2{}%
@@ -67,9 +67,9 @@
\_public \inkinspic ;
\_doc ----------------------------
- \`\pdfscale``{<x-scale>}{<y-scale>}` and \`\pdfrotate``{<degrees>}`
+ \`\pdfscale``{<x-scale>}{<y-scale>}` and \`\pdfrotate``{<degrees>}`
macros are implemented by `\pdfsetmatrix`
- primitive. We need to know values of sin, cos function in
+ primitive. We need to know the values of sin, cos function in
the `\pdfrotate`. We use Lua code for this.
\_cod ----------------------------
@@ -86,51 +86,51 @@
\_public \pdfscale \pdfrotate ;
\_doc -----------------------------
- The \`\transformbox``{<transformation>}{<text>}`
+ The \`\transformbox``{<transformation>}{<text>}`
is copied from OPmac trick 0046.\nl
- The \`\rotbox``{<degrees>}{<text>}` is a combination of
+ The \`\rotbox``{<degrees>}{<text>}` is a combination of
`\rotsimple` from OPmac trick 0101 and the `\transformbox`.
- Note, that `\rotbox{-90}` puts the rotated text to the height of the outer
- box (depth is zero) because code from `\rotsimple` is processed.
+ Note, that `\rotbox{-90}` puts the rotated text to the height of the outer
+ box (depth is zero) because code from `\rotsimple` is processed.
But `\rotbox{-90.0}` puts the rotated text to
the depth of the outer box (height is zero) because `\transformbox` is
- processed.
+ processed.
\_cod -----------------------------
-\_def\_multiplyMxV #1 #2 #3 #4 {% matrix * (vvalX, vvalY)
- \_tmpdim = #1\_vvalX \_advance\_tmpdim by #3\_vvalY
- \_vvalY = #4\_vvalY \_advance\_vvalY by #2\_vvalX
- \_vvalX = \_tmpdim
-}
-\_def\_multiplyMxM #1 #2 #3 #4 {% currmatrix := currmatrix * matrix
- \_vvalX=#1pt \_vvalY=#2pt \_ea\_multiplyMxV \_currmatrix
- \_edef\_tmpb{\_ea\_ignorept\_the\_vvalX\_space \_ea\_ignorept\_the\_vvalY}%
- \_vvalX=#3pt \_vvalY=#4pt \_ea\_multiplyMxV \_currmatrix
- \_edef\_currmatrix{\_tmpb\_space
- \_ea\_ignorept\_the\_vvalX\_space \_ea\_ignorept\_the\_vvalY\_space}%
-}
+\_def\_multiplyMxV #1 #2 #3 #4 {% matrix * (vvalX, vvalY)
+ \_tmpdim = #1\_vvalX \_advance\_tmpdim by #3\_vvalY
+ \_vvalY = #4\_vvalY \_advance\_vvalY by #2\_vvalX
+ \_vvalX = \_tmpdim
+}
+\_def\_multiplyMxM #1 #2 #3 #4 {% currmatrix := currmatrix * matrix
+ \_vvalX=#1pt \_vvalY=#2pt \_ea\_multiplyMxV \_currmatrix
+ \_edef\_tmpb{\_ea\_ignorept\_the\_vvalX\_space \_ea\_ignorept\_the\_vvalY}%
+ \_vvalX=#3pt \_vvalY=#4pt \_ea\_multiplyMxV \_currmatrix
+ \_edef\_currmatrix{\_tmpb\_space
+ \_ea\_ignorept\_the\_vvalX\_space \_ea\_ignorept\_the\_vvalY\_space}%
+}
\_def\_transformbox#1#2{\_hbox{\_setbox0=\_hbox{{#2}}%
\_dimendef\_vvalX 11 \_dimendef\_vvalY 12 % we use these variables
\_dimendef\_newHt 13 \_dimendef\_newDp 14 % only in this group
- \_dimendef\_newLt 15 \_dimendef\_newRt 16
- \_preptransform{#1}%
+ \_dimendef\_newLt 15 \_dimendef\_newRt 16
+ \_preptransform{#1}%
\_kern-\_newLt \_vrule height\_newHt depth\_newDp width\_zo
\_setbox0=\_hbox{\_box0}\_ht0=\_zo \_dp0=\_zo
- \_pdfsave#1\_rlap{\_box0}\_pdfrestore \_kern\_newRt}%
-}
-\_def\_preptransform #1{\_def\_currmatrix{1 0 0 1 }%
+ \_pdfsave#1\_rlap{\_box0}\_pdfrestore \_kern\_newRt}%
+}
+\_def\_preptransform #1{\_def\_currmatrix{1 0 0 1 }%
\_def\_pdfsetmatrix##1{\_edef\_tmpb{##1 }\_ea\_multiplyMxM \_tmpb\_unskip}%
- \_let\pdfsetmatrix=\_pdfsetmatrix #1%
- \_setnewHtDp 0pt \_ht0 \_setnewHtDp 0pt -\_dp0
- \_setnewHtDp \_wd0 \_ht0 \_setnewHtDp \_wd0 -\_dp0
+ \_let\pdfsetmatrix=\_pdfsetmatrix #1%
+ \_setnewHtDp 0pt \_ht0 \_setnewHtDp 0pt -\_dp0
+ \_setnewHtDp \_wd0 \_ht0 \_setnewHtDp \_wd0 -\_dp0
\_protected\_def \_pdfsetmatrix {\_pdfextension setmatrix}%
\_let\pdfsetmatrix=\_pdfsetmatrix
-}
-\_def\_setnewHtDp #1 #2 {%
- \_vvalX=#1\_relax \_vvalY=#2\_relax \_ea\_multiplyMxV \_currmatrix
- \_ifdim\_vvalX<\_newLt \_newLt=\_vvalX \_fi \_ifdim\_vvalX>\_newRt \_newRt=\_vvalX \_fi
- \_ifdim\_vvalY>\_newHt \_newHt=\_vvalY \_fi \_ifdim-\_vvalY>\_newDp \_newDp=-\_vvalY \_fi
-}
+}
+\_def\_setnewHtDp #1 #2 {%
+ \_vvalX=#1\_relax \_vvalY=#2\_relax \_ea\_multiplyMxV \_currmatrix
+ \_ifdim\_vvalX<\_newLt \_newLt=\_vvalX \_fi \_ifdim\_vvalX>\_newRt \_newRt=\_vvalX \_fi
+ \_ifdim\_vvalY>\_newHt \_newHt=\_vvalY \_fi \_ifdim-\_vvalY>\_newDp \_newDp=-\_vvalY \_fi
+}
\_def\_rotbox#1#2{%
\_isequal{90}{#1}\_iftrue \_rotboxA{#1}{\_kern\_ht0 \_tmpdim=\_dp0}{\_vfill}{#2}%
@@ -156,10 +156,10 @@
\`\putpic` `<right> <up> <width> <height> {<image-file>}`
does `\puttext` with the image scaled to desired <width> and <height>.
If <with> or <height> is zero, natural dimension is used.
- The \`\nospec` is a shortcut to such natural dimension.
+ The \`\nospec` is a shortcut to such a natural dimension.
\nl
- \`\backgroundpic``{<image-file>}` puts the image to
- the background of each page. It it used in the slides style, for example.
+ \`\backgroundpic``{<image-file>}` puts the image to
+ the background of each page. It is used in the \~`\slides` style, for example.
\_cod ---------------------------
\_def\_scantwodimens{%
@@ -172,7 +172,7 @@
\_def\_puttextB{%
\_ifvmode
\_ifdim\_prevdepth>\_zo \_vskip-\_prevdepth \_relax \_fi
- \_nointerlineskip
+ \_nointerlineskip
\_fi
\_wd0=\_zo \_ht0=\_zo \_dp0=\_zo
\_vbox to\_zo{\_kern-\_dimen2 \_hbox to\_zo{\_kern\_dimen1 \_box0\_hss}\_vss}}
@@ -190,33 +190,33 @@
\_public \puttext \putpic \backgroundpic ;
\_doc -----------------------------
- \`\_circle``{<x>}{<y>}` creates an ellipse with `<x>` axis and `<y>` axix.
+ \`\_circle``{<x>}{<y>}` creates an ellipse with `<x>` axis and `<y>` axis.
The origin is in the center.
\nl
\`\_oval``{<x>}{<y>}{<roundness>}` creates an oval with `<x>`, `<y>` size and with
- given `<roundness>`. The real size is bigger by 2`<roundness>`. The
+ the given `<roundness>`. The real size is bigger by 2`<roundness>`. The
origin is at the left bottom corner.
\nl
\`\_mv``{<x>}{<y>}{<curve>}` moves current point to `<x>`, `<y>`, creates the
- `<curve>` and returns back the current point.
+ `<curve>` and returns the current point back.
All these macros are fully expandable and they can be used in the
`\pdfliteral` argument.
\_cod -----------------------------
-\def\_circle#1#2{\_expr{.5*(#1)} 0 m
+\def\_circle#1#2{\_expr{.5*(#1)} 0 m
\_expr{.5*(#1)} \_expr{.276*(#2)} \_expr{.276*(#1)} \_expr{.5*(#2)} 0 \_expr{.5*(#2)} c
\_expr{-.276*(#1)} \_expr{.5*(#2)} \_expr{-.5*(#1)} \_expr{.276*(#2)} \_expr{-.5*(#1)} 0 c
\_expr{-.5*(#1)} \_expr{-.276*(#2)} \_expr{-.276*(#1)} \_expr{-.5*(#2)} 0 \_expr{-.5*(#2)} c
\_expr{.276*(#1)} \_expr{-.5*(#2)} \_expr{.5*(#1)} \_expr{-.276*(#2)} \_expr{.5*(#1)} 0 c h}
-\def\_oval#1#2#3{0 \_expr{-(#3)} m \_expr{#1} \_expr{-(#3)} l
- \_expr{(#1)+.552*(#3)} \_expr{-(#3)} \_expr{(#1)+(#3)} \_expr{-.552*(#3)}
- \_expr{(#1)+(#3)} 0 c
+\def\_oval#1#2#3{0 \_expr{-(#3)} m \_expr{#1} \_expr{-(#3)} l
+ \_expr{(#1)+.552*(#3)} \_expr{-(#3)} \_expr{(#1)+(#3)} \_expr{-.552*(#3)}
+ \_expr{(#1)+(#3)} 0 c
\_expr{(#1)+(#3)} \_expr{#2} l
\_expr{(#1)+(#3)} \_expr{(#2)+.552*(#3)} \_expr{(#1)+.552*(#3)} \_expr{(#2)+(#3)}
\_expr{#1} \_expr{(#2)+(#3)} c
0 \_expr{(#2)+(#3)} l
- \_expr{-.552*(#3)} \_expr{(#2)+(#3)} \_expr{-(#3)} \_expr{(#2)+.552*(#3)}
+ \_expr{-.552*(#3)} \_expr{(#2)+(#3)} \_expr{-(#3)} \_expr{(#2)+.552*(#3)}
\_expr{-(#3)} \_expr{#2} c
\_expr{-(#3)} 0 l
\_expr{-(#3)} \_expr{-.552*(#3)} \_expr{-.552*(#3)} \_expr{-(#3)} 0 \_expr{-(#3)} c h}
@@ -234,7 +234,7 @@
color and drawing color.
\_cod -----------------------------
-\_newdimen \_lwidth
+\_newdimen \_lwidth
\_def\_fcolor{\_let\_fcolorvalue}
\_def\_lcolor{\_let\_lcolorvalue}
\_def\_shadow{\_let\_shadowvalue}
@@ -251,7 +251,7 @@
\_edef#1{#1\_space\_lcolorvalue\_space}%
}
\_optdef\_inoval[]{\_vbox\_bgroup
- \_roundness=2pt \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
+ \_roundness=2pt \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
\_shadow=N \_overlapmargins=N \_hhkern=0pt \_vvkern=0pt
\_the\_ovalparams \_relax \_the\_opt \_relax
\_touppervalue\_overlapmarginsvalue \_touppervalue\_shadowvalue
@@ -266,23 +266,23 @@
\_dp0=\_dimexpr\_dp0+\_vvkern \_relax \_fi
\_ifdim\_hhkern=\_zo \_else \_wd0=\_dimexpr\_wd0+\_hhkern \_relax \_fi
\_ifx\_overlapmarginsvalue N\_dimen0=\_roundness \_dimen1=\_roundness
- \_else \_dimen0=-\_hhkern \_dimen1=-\_vvkern \_fi
+ \_else \_dimen0=-\_hhkern \_dimen1=-\_vvkern \_fi
\_setflcolors\_tmp
- \_hbox{\_kern\_dimen0
+ \_hbox{\_kern\_dimen0
\_vbox to\_zo{\_kern\_dp0
- \_ifx\_shadowvalue N\_else
+ \_ifx\_shadowvalue N\_else
\_edef\_tmpb{{\_bp{\_wd0+\_lwidth}}{\_bp{\_ht0+\_dp0+\_lwidth}}{\_bp{\_roundness}}}%
- \_doshadow\_oval
+ \_doshadow\_oval
\_fi
- \_pdfliteral{q \_bp{\_lwidth} w \_tmp
+ \_pdfliteral{q \_bp{\_lwidth} w \_tmp
\_oval{\_bp{\_wd0}}{\_bp{\_ht0+\_dp0}}{\_bp{\_roundness}} B Q}\_vss}%
\_ht0=\_dimexpr\_ht0+\_dimen1 \_relax \_dp0=\_dimexpr\_dp0+\_dimen1 \_relax
- \_box0
+ \_box0
\_kern\_dimen0}%
\_egroup % of \vbox\bgroup
}
\_optdef\_incircle[]{\_vbox\_bgroup
- \_ratio=1 \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
+ \_ratio=1 \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
\_shadow=N \_overlapmargins=N \_hhkern=3pt \_vvkern=3pt
\_ea\_the \_ea\_circleparams \_space \_relax
\_ea\_the \_ea\_opt \_space \_relax
@@ -300,11 +300,11 @@
\_setflcolors\_tmp
\_ifx\_overlapmarginsvalue N\_dimen0=\_zo \_dimen1=\_zo
\_else \_dimen0=-\_hhkern \_dimen1=-\_vvkern \_fi
- \_hbox{\_kern\_dimen0
- \_ifx\_shadowvalue N\_else
+ \_hbox{\_kern\_dimen0
+ \_ifx\_shadowvalue N\_else
\_edef\_tmpb{{\_bp{\_dimen2+\_lwidth}}{\_bp{\_dimen3+\_lwidth}}{}}%
\_doshadow\_circlet
- \_fi
+ \_fi
\_pdfliteral{q \_bp{\_lwidth} w \_tmp \_mv{\_bp{.5\_wd0}}{\_bp{(\_ht0-\_dp0)/2}}
{\_circle{\_bp{\_dimen2}}{\_bp{\_dimen3}} B} Q}%
\_ifdim\_dimen1=\_zo \_else
@@ -319,7 +319,7 @@
\_doc -----------------------------
A shadow effect is implemented here. The shadow is equal to the
- silhouette of the given path in gray-transparent color shifted by
+ silhouette of the given path in a gray-transparent color shifted by
\`\_shadowmoveto` vector and with blurred boundary.
A waistline with the width 2*\`\_shadowb` around the boundary is blurred.
The \`\shadowlevels` levels of transparent shapes is used for creating
@@ -334,15 +334,15 @@
\_doc -----------------------------
The `\_pdfpageresources` primitive is used to define transparency.
- It does not work when used in a box. So, we use it at the begining of
- the output routine. The modification of the output routine is done
+ It does not work when used in a box. So, we use it at the beginning of
+ the output routine. The modification of the output routine is done
using \`\_insertshadowresources` only once when the shadow effect is used first.
\_cod -----------------------------
\_def\_insertshadowresources{%
\_global\_addto\_begoutput{\_setshadowresources}%
\_xdef\_setshadowresources{%
- \_pdfpageresources{/ExtGState
+ \_pdfpageresources{/ExtGState
<<
/op1 <</Type /ExtGState /ca \_shadowdarknessA>>
/op2 <</Type /ExtGState /ca \_shadowdarknessB>>
@@ -371,12 +371,12 @@
\_ifnum\_tmpnum=0 /op2 gs \_fi
\_tmpb\_space f
\_immediateassignment\_advance\_tmpnum by-1
- \_ifnum-\_tmpfin<\_tmpnum
- \_ifx#1\_oval 1 0 0 1 \_shadowstep\_space \_shadowstep\_space cm \_fi
+ \_ifnum-\_tmpfin<\_tmpnum
+ \_ifx#1\_oval 1 0 0 1 \_shadowstep\_space \_shadowstep\_space cm \_fi
\_ea \_shadowlayer \_fi
}%
- \_pdfliteral{q /op1 gs 0 g 1 0 0 1 \_shadowmoveto\_space cm
- \_ifx#1\_circlet 1 0 0 1 \_expr{\_bp{.5\_wd0}} \_expr{\_bp{(\_ht0-\_dp0)/2}} cm
+ \_pdfliteral{q /op1 gs 0 g 1 0 0 1 \_shadowmoveto\_space cm
+ \_ifx#1\_circlet 1 0 0 1 \_expr{\_bp{.5\_wd0}} \_expr{\_bp{(\_ht0-\_dp0)/2}} cm
\_else 1 0 0 1 -\_shadowb\_space -\_shadowb\_space cm \_fi
\_shadowlayer Q}
}}
@@ -430,7 +430,7 @@ following code is recommended:
My picture: \copy\mypic, again my picture: \copy\mypic, etc.
\endtt
-This code downloads the picture data to the PFD oputput only once (when
+This code downloads the picture data to the PFD output only once (when
`\setbox` is processed). Each usage of `\copy\mypic` puts only a pointer to
the picture data in the PDF.
diff --git a/macros/luatex/optex/base/hi-syntax.opm b/macros/luatex/optex/base/hi-syntax.opm
index 540c618242..eb6d747914 100644
--- a/macros/luatex/optex/base/hi-syntax.opm
+++ b/macros/luatex/optex/base/hi-syntax.opm
@@ -1,24 +1,24 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \hisyntax {Syntax highlithing of verbatim listings <2020-04-04>} % preloaded in format
\_doc -----------------------------
- The following macros `\replfromto` and `\replthis` manipulate with the
+ The following macros `\replfromto` and `\replthis` manipulate with the
verbatim text which has been read already and stored in the `\_tmpb` macro.
-
+
The \`\replfromto` `{<from>}{<to>}{<what>}` finds first `<from>` then the
- first `<to>` following by `<from>` pattern and the
+ first `<to>` following by `<from>` pattern and the
`<text>` between them is packed to `#1`.
Then `<from><text><to>` is replaced by `<what>`. The `<what>` parameter
can use `#1` which is replaced by the `<text>`.
The `\replfromto` continues by finding next `<from>`, then, next `<to>`
- repeatedly over the whole verbatim text. If the verbatim text is ended by
- opened `<from>` but not closing by `<to>` then `<to>` is appended to the
- verbatim text automatically and the last part of verbatim text is replaced too.
+ repeatedly over the whole verbatim text. If the verbatim text is ended by
+ opened `<from>` but not closing by `<to>` then `<to>` is appended to the
+ verbatim text automatically and the last part of the verbatim text is replaced too.
First two parameters are expanded before usage of `\replfromto`. You can
- use `\csstring\%` or something else here.
+ use `\csstring\%` or something else here.
\_cod -----------------------------
\_def\_replfromto #1#2{\_edef\_tmpa{{#1}{#2}}\_ea\_replfromtoE\_tmpa}
@@ -26,10 +26,10 @@
\_def\_replfrom##1#1##2{\_addto\_tmpb{##1}%
\_ifx\_end##2\_ea\_replstop \_else \_afterfi{\_replto##2}\_fi}%
\_def\_replto##1#2##2{%
- \_ifx\_end##2\_afterfi{\_replfin##1}\_else
+ \_ifx\_end##2\_afterfi{\_replfin##1}\_else
\_addto\_tmpb{#3}%
\_afterfi{\_replfrom##2}\_fi}%
- \_def\_replfin##1#1\_end{\_addto\_tmpb{#3}\_replstop}%
+ \_def\_replfin##1#1\_end{\_addto\_tmpb{#3}\_replstop}%
\_edef\_tmpb{\_ea}\_ea\_replfrom\_tmpb#1\_end#2\_end\_end\_relax
}
\_def\_replstop#1\_end\_relax{}
@@ -55,7 +55,7 @@
The \`\_xscan` macro does replacing `\x` by `\z` in the post-processing
phase. The `\x <letter>{<text>}` expands to `\_xscan {<letter>}<text>^^J^`.
- If `#3` is `\_end` then it signals that something wrong happens, the
+ If `#3` is `\_end` then it signals that something wrong happens, the
`<from>` was not terminated by legal `<to>` when `\replfromto` did work.
We must to fix it by the \`\_xscanR` macro.
\_cod -----------------------------
@@ -67,7 +67,7 @@
\_doc -----------------------------
The \`\hicolor` `<letter> <color>` defines `\_z<letter>{<text>}`
- as `{<color><text>}`. It should be used in the context of
+ as `{<color><text>}`. It should be used in the context of
`\x <letter>{<text>}` macros.
\_cod -----------------------------
@@ -76,9 +76,9 @@
\_doc -----------------------------
The \`\hisyntax``{<name>}` re-defines default \^`\_prepareverbdata``<macro><verbtext>`
in order to it does more things:
- It saves `<verbtext>` to `\_tmpb`, appends `\n` around spaces and
- `^^J` characters in pre-processing phase, it opens `hisyntax-<name>.opm`
- file if `\_hisyntax<name>` is not defined. Then `\_the\_isyntax<name>`
+ It saves `<verbtext>` to `\_tmpb`, appends `\n` around spaces and
+ `^^J` characters in pre-processing phase, it opens `hisyntax-<name>.opm`
+ file if `\_hisyntax<name>` is not defined. Then `\_the\_isyntax<name>`
is processed. Finally, the post-processing phase is realized by setting
appropriate values to `\x` and `\y` macros and doing
`\_edef\_tmpb{\_tmpb}`.
@@ -138,12 +138,12 @@ The user can write
\endtt
and the code is colorized by C syntax.
The user can write `\everytt={\hisyntax{C}}` and all verbatim listings are
-colorized.
+colorized.
The \^`\hisyntax``{<name>}` reads the file `hisyntax-<name>.opm` where the
colorization is declared. The parameter `<name>` is case insensitive and the
-file name must include it in lowercase letters. For example the file
-`hisyntax-c.opm` looks like:
+file name must include it in lowercase letters. For example, the file
+`hisyntax-c.opm` looks like this:
\printdoc hisyntax-c.opm
@@ -153,8 +153,8 @@ You can take inspiration from these files and declare more languages.
User can re-declare colors by `\hicolors={...}` This value has precedence
before `\_hicolors<name>` values declared in the `hicolors-<name>.opm` file.
What exactly to do: copy `\_hicolors<name>={...}`
-from `hicolors-<name>.opm` to your document,
-rename it as `\hicolors={...}` and do you own colors modifications.
+from `hicolors-<name>.opm` to your document,
+rename it as `\hicolors={...}` and do you own colors modifications.
Another way to set non-default colors is to declare
`\newtoks\hicolors<name>` (without the `_` prefix) and set the colors palette here.
@@ -162,15 +162,13 @@ It has precedence before `\_hicolors<name>` (with the `_` prefix) declared in
the `hicolors-<name>.opm` file.
This is useful when there are more hi-syntax languages used in one document.
-\medskip
-\noindent{\bf Notes for hi-syntax macro writers}
-
-The file `hisyntax-<name>.opm` is read only once in the \TeX/ group.
-If there are definitions then they must be declared as global.
+\secl4 Notes for hi-syntax macro writers
+The file `hisyntax-<name>.opm` is read only once in the \TeX/ group.
+If there are definitions then they must be declared as global.
The `hisyntax-<name>.opm` file must (globally) declare `\_hisyntax<name>` tokens string
where the action over verbatim text is declared typically by `\replfromto` or
-`\replthis` macros.
+`\replthis` macros.
The verbatim text is prepared by {\em pre-processing phase}, then the
`\_hisyntax<name>` is applied and then {\em post-processing phase} does final
@@ -183,12 +181,12 @@ The pre-processing phase does:
finding whole words (no subwords). The `\n` control sequence is removed in
the post-processing phase.
* Each end of line is represented by `\n^^J\n`.
-* The `\_start` control sequence is added before the verbatim text and `\_end` control
+* The `\_start` control sequence is added before the verbatim text and the `\_end` control
sequence is appended to the end of the verbatim text. These control
- sequences are removed in post-processing phase.
-\enditems
+ sequences are removed in the post-processing phase.
+\enditems
-There are special macros working only in a group when processing the verbatim
+Special macros are working only in a group when processing the verbatim
text.
@@ -209,12 +207,12 @@ text.
by `\x C{<text>}` and they are replaced to `\z C{<text>}` without any change.
But:
\begtt \catcode`\<=13
- \x C{<text1>^^J<text3>^^J<text3>}
+ \x C{<text1>^^J<text3>^^J<text3>}
is replaced by
\z C{<text1>}^^J\z C{<text2>}^^J\z C{<text3>}
\endtt
The `\z <letter>{<text>}` is expanded to `\_z:<letter>{<text>}` and if
- `\hicolor <letter> <color>` is declared then
+ `\hicolor <letter> <color>` is declared then
`\_z:<letter>{<text>}` expands to `{<color><text>}`. So, required color is
activated at all lines (separately) where C comment spans.
* `\y {<text>}` is replaced by `\<text>` in the post processing phase. It should
diff --git a/macros/luatex/optex/base/hisyntax-c.opm b/macros/luatex/optex/base/hisyntax-c.opm
index 8e8ccf0920..3c1f228f88 100644
--- a/macros/luatex/optex/base/hisyntax-c.opm
+++ b/macros/luatex/optex/base/hisyntax-c.opm
@@ -1,11 +1,11 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \_hisyntaxc {Syntax highlighting for C sources <2020-04-03>}
+\_codedecl \_hisyntaxc {Syntax highlighting for C sources <2020-04-03>}
\_newtoks \_hisyntaxc \_newtoks \_hicolorsc
\_global\_hicolorsc={% colors for C language
- \_hicolor K \Red % Keywords
+ \_hicolor K \Red % Keywords
\_hicolor S \Magenta % Strings
\_hicolor C \Green % Comments
\_hicolor N \Cyan % Numbers
@@ -25,19 +25,19 @@
\_ea \_foreach \_tmpa
\_do {\_replthis{#1}{\n\o#1\n}}
\_foreach % keywords
- {auto}{break}{case}{char}{continue}{default}{do}{double}%
- {else}{entry}{enum}{extern}{float}{for}{goto}{if}{int}{long}{register}%
- {return}{short}{sizeof}{static}{struct}{switch}{typedef}{union}%
+ {auto}{break}{case}{char}{continue}{default}{do}{double}%
+ {else}{entry}{enum}{extern}{float}{for}{goto}{if}{int}{long}{register}%
+ {return}{short}{sizeof}{static}{struct}{switch}{typedef}{union}%
{unsigned}{void}{while}
\_do {\_replthis{\n#1\n}{\z K{#1}}}
\_replthis{.}{\n.\n} % numbers
- \_foreach 0123456789
+ \_foreach 0123456789
\_do {\_replfromto{\n#1}{\n}{\c#1##1\e}}
\_replthis{\e.\c}{.}
\_replthis{\e.\n}{.\e}
\_replthis{\n.\c}{\c.}
- \_replthis{e\e\o+\c}{e+}\_replthis{e\e\o-\c}{e-}
- \_replthis{E\e\o+\c}{E+}\_replthis{E\e\o-\c}{E-}
+ \_replthis{e\e\o+\c}{e+}\_replthis{e\e\o-\c}{e-}
+ \_replthis{E\e\o+\c}{E+}\_replthis{E\e\o-\c}{E-}
\_def\o#1{\z O{#1}}
\_def\c#1\e{\z N{#1}}
}
@@ -47,20 +47,20 @@
Each `hisyntax-<name>.opm` file must declare the token list
`\_hisyntax<name>` using `\newtoks` and must declare the syntax declaration
-in it. The second cotken list `\_hicolors<name>` is optional but recommended.
+in it. The second token list `\_hicolors<name>` is optional but recommended.
User can re-declare his/her own colors by `\hicolors` which has precedence
before `\_hicolors<name>`.
The public variants can be declared if you want to give these token lists to
-the user name space. But it is not explicitly needed.
+the user namespace. But it is not explicitly needed.
-All settings must be global here, because the file is typically read inside
-a group and we need not to read it repeatedly in before each code chunk
+All settings must be global here because the file is typically read inside
+a group and we need not read it repeatedly before each code chunk
again and again.
-Note that `\foreach` is used to each non-letters (expanded via \string
-because we needn't to treate with active or special TeX characters). The
-keyword are applied in the `\foreach` loop too.
+Note that `\foreach` is used for each non-letters (expanded via \string
+because we needn't treat with active or special TeX characters). The
+keyword is applied in the `\foreach` loop too.
See `hi-sytax.opm` for more information about `\hicolor`, `\replfromto` and
`\replthis` macros.
diff --git a/macros/luatex/optex/base/hisyntax-html.opm b/macros/luatex/optex/base/hisyntax-html.opm
index f34aafe66f..3f0be6a23e 100644
--- a/macros/luatex/optex/base/hisyntax-html.opm
+++ b/macros/luatex/optex/base/hisyntax-html.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl\_hisyntaxhtml {Syntax highlighting for html or xml sources <2020-04-03>}
diff --git a/macros/luatex/optex/base/hisyntax-python.opm b/macros/luatex/optex/base/hisyntax-python.opm
index e703f96fdc..6250eed0e3 100644
--- a/macros/luatex/optex/base/hisyntax-python.opm
+++ b/macros/luatex/optex/base/hisyntax-python.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \_hisyntaxpython {Syntax highlighting for Python sources <2020-04-04>}
diff --git a/macros/luatex/optex/base/hisyntax-tex.opm b/macros/luatex/optex/base/hisyntax-tex.opm
index 2aaaa323fd..583676a2ca 100644
--- a/macros/luatex/optex/base/hisyntax-tex.opm
+++ b/macros/luatex/optex/base/hisyntax-tex.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl\_hisyntaxtex {Syntax highlighting for TeX sources <2020-04-03>}
diff --git a/macros/luatex/optex/base/hyperlinks.opm b/macros/luatex/optex/base/hyperlinks.opm
index 14b8cbc125..6e123596c2 100644
--- a/macros/luatex/optex/base/hyperlinks.opm
+++ b/macros/luatex/optex/base/hyperlinks.opm
@@ -1,6 +1,6 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \ulink {Hyperlinks <2020-04-22>} % preloaded in format
+\_codedecl \ulink {Hyperlinks <2020-04-22>} % preloaded in format
\_doc ----------------------------
\`\dest``[<type>:<spec>]` creates a destination of internal links. The
@@ -8,9 +8,9 @@
command in not used, then `\dest` does nothing else it is set to `\_destactive`.
The \`\_destactive` is implemented by `\_pdfdest` primitive. It creates a box
in which the destination is shifted by \`\_destheight`. The reason is that
- the destination is exactly at top border of the PDF viewer but we want to see
- the line where destination is. The destination box is positioned by
- different way dependent on current vertical or horizontal mode.
+ the destination is exactly at the top border of the PDF viewer but we want to see
+ the line where the destination is. The destination box is positioned by a
+ different way dependent on the current vertical or horizontal mode.
\_cod ----------------------------
\_def\_destheight{1.4em}
@@ -28,7 +28,7 @@
\`\link``[<type>:<spec>]{<color>}{<text>}` creates an internal link to \^`\dest`
with the same `<type>:<spec>`. You can have more links with the same
`<type>:<spec>` but only one `\dest` in the document. If \^`\hyperlinks`
- command is not used, then `\link` only prints `<text>` else it is set to
+ command is not used, then `\link` only prints `<text>` else it is set to
`\_linkactive`.
The \`\_linkactive` is implemented by `\_pdfstartlink...\_pdfendlink`
primitives.
@@ -48,7 +48,7 @@
\`\ulink``[<url>]{<text>}` creates external link. It prints only the `<text>` by default but
the \^`\hyperlinks` declaration defines it as \`\_urlactive``[url:<url>]{<text>}`.
The external link is created by the `\_pdfstartlink...\pdfendlink` primitives.
- The `<url>` is detokenized with `\escapechar=-1` before it is used, so
+ The `<url>` is detokenized with `\escapechar=-1` before it is used, so
`\%`, `\#` etc. can be used in the `<url>`.
\_cod ----------------------------
@@ -67,7 +67,7 @@
expands to `attr{/C[? ? ?] /Border[0 0 .6]}` if the
`\_<type>border` (i.e.\ \`\_refborder`, \`\_citeborder`, \`\_tocborder`,
\`\_pgborder`, \`\_urlborder`, \`\_fntborder` or \`\_fnfborder`)
- is defined. User can define it in
+ is defined. Users can define it in
order to create colored frames around active links. For example
`\def\_tocborder{1 0 0}` causes red frames in TOC (not printed, only visible
in PDF viewers).
@@ -96,9 +96,9 @@
\`\url``{<url>}` does approximately the same as \^`\ulink``[<url>]{<url>}`, but
more work is done before the `\ulink` is processed. The link-version of <url>
is saved to `\_tmpa` and the printed version in `\_tmpb`. The printed
- version is modified in order to set a breakpoints to special places of the
- `<url>`. For example `//` is replaced by `\_urlskip/\_urlskip/\_urlbskip`
- where `\urlskip` adds a small nobreakable glue between these two slashes and
+ version is modified in order to set breakpoints to special places of the
+ `<url>`. For example `//` is replaced by `\_urlskip/\_urlskip/\_urlbskip`
+ where `\urlskip` adds a small nonbreakable glue between these two slashes and
before them and `\_urlbskip` adds a breakable glue after them.
\nl
The text version of the `<url>` is printed in \`\_urlfont`.
@@ -127,27 +127,27 @@
\_endcode % ----------------------------------------
-There are four types of the internal links and one type of external link:
+There are four types of internal links and one type of external link:
\begitems
-* `ref:<label>` -- the destination is created when `\label[<label>]` is used,
+* `ref:<label>` -- the destination is created when `\label[<label>]` is used,
see also the section \ref[references].
-* `toc:<tocrefnum>` -- the destination is created at chap/sec/secc titles,
+* `toc:<tocrefnum>` -- the destination is created at chap/sec/secc titles,
see also the section \ref[maketoc].
* `pg:<gpageno>` -- the destination is created at beginning of each page,
see also the section \ref[output].
-* `cite:<bibnum>` -- the destination is created in bibliography reference,
+* `cite:<bibnum>` -- the destination is created in bibliography reference,
see also the section \ref[bib].
* `url:<url>` -- used by `\url` or `\ulink`,
see also the end of this section.
\enditems
-The `<tocrefnum>`, `<gpageno>` and `<bibnum>` are numbers starting from one and
-globally incremented by one in whole document. The registers \^`\tocrefnum`,
+The `<tocrefnum>`, `<gpageno>`, and `<bibnum>` are numbers starting from one and
+globally incremented by one in the whole document. The registers \^`\tocrefnum`,
\^`\gpageno` and \^`\bibnum` are used for these numbers.
When a chap/sec/secc title is prefixed by `\label[<label>]`, then both types
-of internal links are created at the same destination place:
+of internal links are created at the same destination place:
`toc:<tocrefnum>` and `ref:<label>`.
\_endinput
diff --git a/macros/luatex/optex/base/hyphen-lan.opm b/macros/luatex/optex/base/hyphen-lan.opm
index 9cbbf4cecf..dad0b26657 100644
--- a/macros/luatex/optex/base/hyphen-lan.opm
+++ b/macros/luatex/optex/base/hyphen-lan.opm
@@ -1,32 +1,32 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \langlist {Initialization of hypenation patterns <2020-03-10>} % preloaded in format
+\_codedecl \langlist {Initialization of hypenation patterns <2020-03-10>} % preloaded in format
\_doc -----------------------------
The <iso-code> means a shortcut of language name (mostly by ISO 639-1).
The following control sequences are used for language switching:
\begitems
* `\_lan:<number>` expands to `<iso-code>` of the language.
- The number is internal number of languages used as a value of
+ The <number> is an internal number of languages used as a value of
`\language` register.
* `\_ulan:<long-lang>` expands to `<iso-code>` too. This is transformation
from long name of language (lowercase letters) to <iso-code>.
* `\_<iso-code>Patt` (for example `\_csPatt`) is the language `<number>` declared by `\chardef`.
- * `\<iso-code>lang`
- (for example \`\enlang`, \`\cslang`, \`\sklang`, \`\delang`, \`\pllang`)
+ * `\<iso-code>lang`
+ (for example \`\enlang`, \`\cslang`, \`\sklang`, \`\delang`, \`\pllang`)
is language selector. It exists in two states
\begitems
* Initialization state: when `\<iso-code>lang` is used first then it
- must load the patterns into memory using Lua code. If it is done then
- the `\<iso-code>lang` re-defines itself to processing state.
+ must load the patterns into memory using Lua code. If it is done then
+ the `\<iso-code>lang` re-defines itself to the processing state.
* Processing state: it only sets `\language=\_<iso-code>Patt`, i.e it
selects the hyphenation patterns. It does a little more
language-dependent work, as mentioned below.
\enditems
* `\_langspecific:<isocode>` is processed by `\<iso-code>lang` and it
- should include language-specific macros declared by user or macro designer.
+ should include language-specific macros declared by the user or macro designer.
\enditems
- The USenglish patters are preloaded first:
+ The USenglish patters are preloaded first:
\_cod -----------------------------
\_chardef\_enPatt=0
@@ -57,7 +57,7 @@
\def\<iso-code>lang {\_<iso-code>lang} % public version \<iso-code>lang
\endtt
You can see that `\<iso-code>lang` runs \^`\_loadpattrs` and
- \^`\_uselang` first (in initialization state) and it runs
+ \^`\_uselang` first (in initialization state) and it runs
only \^`\_uselang` when it is called again (in processing state).
\_cod -----------------------------
@@ -83,7 +83,7 @@
`hyph-<hyph-file-spec>.tex`. The patterns and hyphenation exceptions
are saved here in UTF-8 encoding.
The <hyph-file-spec> should be a list of individual <hyph-file-spec>'s
- separated by comma, see the language Serbian below for example.
+ separated by commas, see the language Serbian below for an example.
\_cod -----------------------------
\_def\_loadpattrs#1 #2 #3 {%
@@ -102,7 +102,7 @@
}
\_doc -----------------------------
- \`\_uselang``{<iso-code>}\_<iso-code>Patt <pre-hyph><post-hyph>`\nl
+ \`\_uselang``{<iso-code>}\_<iso-code>Patt <pre-hyph><post-hyph>`\nl
sets `\language`, `\lefthyphenmin`, `\righthyphenmin` and runs
`\frenchspacing`. This default language-dependent settings
should be re-declared by `\_langspecific:<iso-code>` which is run
@@ -115,16 +115,16 @@
\_cs{_langspecific:#1}%
}
\_doc -----------------------------
- The \`\uselanguage` `{<long-lang>}` is defined here
+ The \`\uselanguage` `{<long-lang>}` is defined here
(for compatibility with e-plain users).
\_cod -----------------------------
\_def\_uselanguage#1{\_lowercase{\_cs{_\_cs{_ulan:#1}lang}}}
-\_public \uselanguage ;
+\_public \uselanguage ;
\_doc -----------------------------
The numbers for languages are declared as fixed constants (no
- auto-generated). This concept is inspired from CSplain.
+ auto-generated). This concept is inspired by CSplain.
There are typical numbers of languages in CSplain: 5=Czech in IL2,
15=Czech in T1 and 115=Czech in Unicode. We keep these constants
but we load only Unicode patterns (greater than 100), of course.
@@ -211,8 +211,8 @@
\_doc -----------------------------
The \`\langlist` includes names of all languages which are ready to load
- and use their hyphenation patterns. This list is printed to terminal and
- to log at ini\TeX/ state here. It can be used when processing document too.
+ and use their hyphenation patterns. This list is printed to the terminal and
+ to log at ini\TeX/ state here. It can be used when processing documents too.
\_cod -----------------------------
\_message{Language hyph.patterns ready to load: \_langlist.
@@ -224,12 +224,12 @@
\_endcode % ---------------------------------------------
-Maybe, you need to do more language specific actions than just switching
-hyphenation patterns. For example you need to load a specific font with a
-specific script used in selected language, you can define a macros for
-quotation marks depending on the language etc.
+Maybe, you need to do more language-specific actions than just switching
+hyphenation patterns. For example, you need to load a specific font with a
+specific script used in the selected language, you can define macros for
+quotation marks depending on the language, etc.
-The example shows how to declare such language specific things.
+The example shows how to declare such language-specific things.
\begtt
\def\langset #1 #2{\sdef{_langspecific:#1}{#2}}
@@ -237,9 +237,9 @@ The example shows how to declare such language specific things.
\langset fr {... declare French quotation marks}
\langset de {... declare German quotation marks}
\langset gr {... switch to Greek fonts family}
-... etc.
+... etc.
\endtt
-Note that you need not to set language specific phrases (like `\today`)
-by this code. Another concept is used for such tasks. See the
+Note that you need not set language-specific phrases (like `\today`)
+by this code. Another concept is used for such tasks. See the
section~\ref[langphrases] for more details.
diff --git a/macros/luatex/optex/base/if-macros.opm b/macros/luatex/optex/base/if-macros.opm
index 1745baa7ac..0e7e401558 100644
--- a/macros/luatex/optex/base/if-macros.opm
+++ b/macros/luatex/optex/base/if-macros.opm
@@ -1,17 +1,17 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \newif {Special if-macros, is-macros and loops <2020-05-22>} % preloaded in format
\_doc ----------------------------
\secc Classical \code{\\newif}
- The \`\newif` macro implements boolean value.
+ The \`\newif` macro implements boolean value.
It works as in plain \TeX. It means that
after `\newif\ifxxx` you can use `\xxxtrue` or
`\xxxfalse` to set the boolean value and use `\ifxxx true\else false\fi`
to test this value. The default value is false.
The macro \`\_newifi` enables to declare `\_ifxxx` and to use `\_xxxtrue` and
- `\_xxxfalse`. This means that it is usable for internal name space
+ `\_xxxfalse`. This means that it is usable for the internal namespace
(`_`prefixed macros).
\_cod ----------------------------
@@ -48,7 +48,7 @@
better (you can use `\else` clause after the `\ifsomething`).
There are public version `\loop...\repeat` and private version
- \`\_loop` ...\`\_repeat`. You cannot mix both versions in one loop.
+ \`\_loop` ...\`\_repeat`. You cannot mix both versions in one loop.
The `\loop` macro keeps its original plain TeX meaning. It is not
expandable and nested `\loop`s are possible only in a \TeX/ group.
@@ -81,7 +81,7 @@
private variants use \`\_do` separator instead `\do` separator.
\_cod -----------------------------
-\_newcount\_frnum % the numeric variable used in \fornum
+\_newcount\_frnum % the numeric variable used in \fornum
\_def\_do{\_doundefined} % we need to ask \_ifx#1\_do ...
\_long\_def\_foreach #1\_do #2#{\_isempty{#2}\_iftrue
@@ -101,26 +101,26 @@
\`\fornumstep` `<num>: <from>..<to>` \`\do` `{<what>}`
repeats `<what>` for each number from `<from>` to `<to>` (with step `<num>`
or with step one). The `<what>` can include `#1` which is substituted by
- current number. The sequence `<from>..<to>` can be decreasing too.
- The macro is expandable.
+ current number. The <from>, <to>, <step> parameters can be numeric expressions.
+ The macro is expandable.\nl
+ The test in the \`\_fornumB` says: if (<to> $\string<$ <current number>
+ AND <step> is positive) or if (<to> $>$ <current number> AND <step> is
+ negative) then close loop by `\_getforstack`. Sorry, the condition is
+ writen by somewhat cryptoid \TeX/ language.
\_cod -----------------------------
\_def\_fornum#1..#2\_do{\_fornumstep 1:#1..#2\_do}
\_long\_def\_fornumstep#1:#2..#3\_do#4{\_putforstack
\_immediateassigned{%
\_gdef\_fbody##1{#4}%
- \_gdef\_fornumsgn{}%
- \_gdef\_fornumrel{<}%
\_global\_frnum=\_numexpr#2\_relax
- \_ifnum\_numexpr#3<\_frnum \_gdef\_fornumrel{>}\_fi %decreasing sequence
- \_ifnum\_numexpr#1\_fornumrel0 \_gdef\_fornumsgn{-}\_fi % correction
}%
- \_fornumB{#3}{#1}%
+ \_ea\_fornumB\_ea{\_the\_numexpr#3\_ea}\_ea{\_the\_numexpr#1}%
}
-\_def\_fornumB #1#2{\_ifnum\_numexpr#1\_fornumrel\_frnum \_getforstack \_else
- \_ea\_fbody\_ea{\_the\_frnum}%
- \_immediateassignment\_global\_advance\_frnum by\_numexpr\_fornumsgn#2\_relax
- \_afterfi{\_fornumB{#1}{#2}}\_fi
+\_def\_fornumB #1#2{\_ifnum#1\_ifnum#2>0<\_else>\_fi \_frnum \_getforstack
+ \_else \_ea\_fbody\_ea{\_the\_frnum}%
+ \_immediateassignment\_global\_advance\_frnum by#2
+ \_afterfi{\_fornumB{#1}{#2}}\_fi
}
\_def\fornum#1..#2\do{\_fornumstep 1:#1..#2\_do}
\_def\fornumstep#1:#2..#3\do{\_fornumstep #1:#2..#3\_do}
@@ -132,11 +132,11 @@
\begtt
\foreach ABC \do {\fornum 1..5 \do {letter:#1, number: ##1. }}
\endtt
- Implementation note:
+ Implementation note:
we cannot use \TeX/-groups for nesting levels because we want to do the
macros expandable. We must implement a special for-stack which saves the
data needed by `\foreach` and `\fornum`. The \`\_putforstack` is used
- when `\for*` is initialized and \`\_getforstack` is used when the
+ when `\for*` is initialized and \`\_getforstack` is used when the
`\for*` macro ends. The \`\_forlevel` variable keeps the current nesting
level. If it is zero, then we need not save nor restore any data.
\_cod ----------------------------
@@ -146,7 +146,7 @@
\_ifnum\_forlevel>0
\_sxdef{_frnum:\_the\_forlevel\_ea}{\_the\_frnum}%
\_global\_slet{_fbody:\_the\_forlevel}{_fbody}%
- \_fi
+ \_fi
\_global\_advance\_forlevel by1
}}
\_def\_getforstack{\_immediateassigned{%
@@ -183,28 +183,28 @@
\secc Is-macros
There are a collection of macros
\^`\isempty`, \^`\istoksempty`, \^`\isequal`, \^`\ismacro`,
- \^`\isdefined`, \^`\isinlist` and \^`\isfile`
+ \^`\isdefined`, \^`\isinlist`, \^`\isfile` and \^`\isfont`
with common syntax:
\begtt \catcode`\<=13
- \issomething <params> \iftrue <codeA> \else <codeB> \fi
- or
+ \issomething <params> \iftrue <codeA> \else <codeB> \fi
+ or
\issomething <params> \iffalse <codeB> \else <codeA> \fi
\endtt
The `\else` part is optional. The `<codeA>` is processed if
`\issomething<params>` generates true condition. The `<codeB>`
is processed if `\issomething<params>` generates false condition.
- The `\iftrue` or `\iffalse` is an integral part of this syntax
+ The `\iftrue` or `\iffalse` is an integral part of this syntax
because we need to keep skippable nested `\if` conditions.
- Implementation note:
+ Implementation note:
we read this `\iftrue` or `\iffalse` into unseparated parameter and repeat
it because we need to remove an optional space before this command.
\medskip\noindent
\`\isempty` `{<text>}\iftrue`
is true if the `<text>` is empty. This macro is expandable.\nl
- \`\istoksempty` `<tokens variable>\iftrue`
+ \`\istoksempty` `<tokens variable>\iftrue`
is true if the `<tokens variable>` is empty. It is expandable.
\_cod ----------------------------
@@ -213,14 +213,14 @@
\_public \isempty \istoksempty ;
\_doc ----------------------------
- \`\isequal` `{<textA>}{<textB>}\iftrue`
+ \`\isequal` `{<textA>}{<textB>}\iftrue`
is true if the <textA> and <textB> are
equal, only from strings point of view, category codes are ignored.
The macro is expandable.
\_cod ----------------------------
\_def\_isequal#1#2#3{\_directlua{%
- if "\_luaescapestring{\_detokenize{#1}}"=="\_luaescapestring{\_detokenize{#2}}"
+ if "\_luaescapestring{\_detokenize{#1}}"=="\_luaescapestring{\_detokenize{#2}}"
then else tex.print("\_nbb unless") end}#3}
\_public \isequal ;
@@ -242,11 +242,11 @@
\_doc ----------------------------
\`\isinlist` `\list{<text>}\iftrue` is true if the
- `<text>` is included the macro body of the `\list`.
- The category code are relevant here. The macro is not expandable.
+ `<text>` is included the macro body of the `\list`.
+ The category codes are relevant here. The macro is not expandable.
\_cod ----------------------------
-\_long\_def\_isinlist#1#2{\_begingroup
+\_long\_def\_isinlist#1#2{\_begingroup
\_long\_def\_tmp##1#2##2\_end/_%
{\_endgroup\_if\_relax\_detokenize{##2}\_relax \_ea\_unless\_fi}%
\_ea\_tmp#1\_endlistsep#2\_end/_%
@@ -269,8 +269,8 @@
\_doc -----------------------------
\`\isfont` `{<fontname or [fontfile]>}\iftrue`
- is true if given font exists. The result of this testing
- is saved to the \`\_ifexistfam`.
+ is true if a given font exists. The result of this testing
+ is saved to the \`\_ifexistfam`.
\_cod -----------------------------
\_newifi \_ifexistfam
@@ -285,9 +285,9 @@
\_public \isfont ;
\_doc ----------------------------
- The last macro \`\isnextchar` `<char>{<codeA>}{<codeB>}`
- has different syntax than all others is-macros.
- It executes `<codeA>` if next character is equal to <char>.
+ The last macro \`\isnextchar` `<char>{<codeA>}{<codeB>}`
+ has a different syntax than all other is-macros.
+ It executes `<codeA>` if next character is equal to <char>.
Else the `<codeB>` is executed. The macro is not expandable.
\_cod ----------------------------
@@ -299,7 +299,7 @@
\_public \isnextchar ;
-\_endcode
+\_endcode
2020-05-22 \foreach, \fornum: all settings are global, independent on TeX group
2020-05-06 \isnextchar: \let\tmp=#1 -> \let\tmp= #1 (bug fix, #1 should be space)
diff --git a/macros/luatex/optex/base/keyval.opm b/macros/luatex/optex/base/keyval.opm
index f50cb86828..b0462296b3 100644
--- a/macros/luatex/optex/base/keyval.opm
+++ b/macros/luatex/optex/base/keyval.opm
@@ -1,14 +1,14 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \readkv {Key-value dictionaries <2020-12-21>} % preloaded in format
\_doc ----------------------------
{\bf Implementation.}
The \`\readkv` expands its parameter and does replace-strings in order to
- remove spaces around equal signs and after comma. Double comma is
- removed. Then \`\_kvscan` reads the parameters list finished by double
+ remove spaces around equal signs and after commas. Double commas are
+ removed. Then \`\_kvscan` reads the parameters list finished by the double
comma and saves values to `\_kv:<key>` macros.\nl
- The \`\kv``{<key>}` expands the `\_kv:<key>` macro. If this macro is not
+ The \`\kv``{<key>}` expands the `\_kv:<key>` macro. If this macro isn't
defined then \`\_kvunknown` is processed. You can re-define it if you want.
\_cod ----------------------------
@@ -18,15 +18,15 @@
\_ea \_kvscan \_tmpb,,=,}
\_def\_kvscan #1#2=#3,{\_ifx#1,\_else \_sdef{_kv:#1#2}{#3}\_ea\_kvscan\_fi}
\_def\_kv#1{\_trycs{_kv:#1}{\_kvunknown}}
-\_def\_kvunknown{???}
+\_def\_kvunknown{???}
\public \readkv \kv ;
-\_endcode
+\_endcode
-User or macro programmer can define macros with options in key=value format.
-It means a comma separated list of equations key=value. First, we give an
-example.
+Users or macro programmers can define macros with options in key=value format.
+It means a comma-separated list of equations key=value. First, we give an
+example.
Suppose that you want to define a macro `\myframe` with options: color of
rules, color of text inside the frame, rule-width, space between text and
@@ -42,7 +42,7 @@ You can define `\myframe` as follows:
\begtt
\def\myframedefaults{% defaults:
- frame-color=\Black, % color of frame rules
+ frame-color=\Black, % color of frame rules
text-color=\Black, % color ot text nside the frame
rule-width=0.4pt, % width of rules used in the frame
margins=2pt, % space between text inside and rules.
@@ -51,26 +51,26 @@ You can define `\myframe` as follows:
\ea\addto\ea\myframedefaults\ea{\ea,\the\opt}%
\readkv\myframedefaults
\rulewidth=\kv{rule-width}
- \hhkern=\kv{margins}\vvkern=\kv{margins}\relax
+ \hhkern=\kv{margins}\vvkern=\kv{margins}\relax
\kv{frame-color}\frame{\kv{text-color}\strut #1}%
\egroup}
\endtt
%
-We recommend to use \^`\optdef` for defining macros with optional parameters
+We recommend using \^`\optdef` for defining macros with optional parameters
written in `[]`. Then the optional parameters are saved in the \^`\opt` tokens
-register. First: we append the \^`\opt` (actual optional parameters) to
+register. First: we append the \^`\opt` (actual optional parameters) to
`\myframedefault` by \^`\addto` macro.
-Lua\TeX/ primitive. Second: we read the parameters by
+Second: we read the parameters by
\^`\readkv{<pramaters list>}` macro.
Third: the values can be used by expandable \^`\kv{<key>}` macro.
The \^`\kv{<key>}` returns `???` if such key is not declared.
You can use keys without values in the parameters list too, but with
additional care. For example, suppose `draft` option without parameter.
-If user write `\myframe [..., draft, ...]{text}` then `\myframe` should behave differently.
-We have to add `DRAFTv=0,` in `\myframedefault` macro,.
+If a user writes `\myframe [..., draft, ...]{text}` then `\myframe` should behave differently.
+We have to add `DRAFTv=0,` in `\myframedefault` macro.
Moreover, `\myframe` macro must include preprocessing of `\myframedefault` using
-\^`\replstring` which replaces the occurence of `draft` by `DRAFTv=1`.
+\^`\replstring` which replaces the occurrence of `draft` by `DRAFTv=1`.
\begtt
\optdef\myframe [] #1{...
\ea\addto\ea\myframedefaults\ea{\the\opt}%
@@ -79,4 +79,4 @@ Moreover, `\myframe` macro must include preprocessing of `\myframedefault` using
...
\ifnum\kv{DRAFTv}=1 draft mode\else normal mode\fi
...}
-\endtt
+\endtt
diff --git a/macros/luatex/optex/base/languages.opm b/macros/luatex/optex/base/languages.opm
index eea821f6a6..52b52f775e 100644
--- a/macros/luatex/optex/base/languages.opm
+++ b/macros/luatex/optex/base/languages.opm
@@ -1,16 +1,16 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \_mtext {Languages <2020-12-05>} % preloaded in format
\_doc -----------------------------
Only four words are generated by \OpTeX/ macros: \"Chapter",
- \"Table", \"Figure" and \"Subject". These phrases can be generated depending
- on the current value of `\language` register, if you use \`\_mtext``{<phrase-id>}`,
- specially `\_mtext{chap}`, `\_mtext{t}`, `\_mtext{f}` or `\_mtext{subj}`.
- If your macros generate more words then
+ \"Table", \"Figure" and \"Subject". These phrases can be generated depending
+ on the current value of `\language` register, if you use \`\_mtext``{<phrase-id>}`,
+ specially `\_mtext{chap}`, `\_mtext{t}`, `\_mtext{f}` or `\_mtext{subj}`.
+ If your macros generate more words then
you can define such words by `\sdef{_mt:<phrase-id>:<lang>}` where
- `<phrase-id>` is a label for declared word and `<lang>` is language shortcut
- (iso code).
+ `<phrase-id>` is a label for the declared word and `<lang>` is a language shortcut
+ (iso code).
\_cod -----------------------------
\_def\_mtext#1{\_trycs{_mt:#1:\_trycs{_lan:\_the\_language}{en}}
@@ -23,7 +23,7 @@
\_doc -----------------------------
Using \`\_langw` `<lang> <chapter> <table> <figure> <subject>` you can
- declare these words more effectively:
+ declare these words more effectively:
\maxlines=13
\_cod -----------------------------
@@ -66,7 +66,7 @@
júla augusta septembra októbra novembra decembra
\_monthw it gennaio febbraio marzo aprile maggio giugno
luglio agosto settembre ottobre novembre dicembre
-
+
\_sdef{_mt:today:en}{\_mtext{m\_the\_month} \_the\_day, \_the\_year}
\_sdef{_mt:today:cs}{\_the\_day.~\_mtext{m\_the\_month} \_the\_year}
@@ -76,16 +76,16 @@
\_public \today ;
\_doc -----------------------------
- Quotes should be tagged by `\"<text>"` and `\'<text>'` if `\<iso-code>quotes`
- is declared at beginning of the document (for example `\enquotes`).
+ Quotes should be tagged by `\"<text>"` and `\'<text>'` if `\<iso-code>quotes`
+ is declared at beginning of the document (for example `\enquotes`).
If not, then the control
sequences `\"` and `\'` are undefined. Remember, that they are used in
- another meaning when `\oldaccents` command is used.
+ another meaning when the `\oldaccents` command is used.
The macros `\"` and `\'` are not defined as `\protected` because we need
their expansion when `\outlines` are created.
User can declare quotes by \^`\quoteschars``<clqq><crqq><clq><crq>`, where
`<clqq>...<crqq>` are normal quotes and `<clq>...<crq>` are alternative quotes.
- or use \`\altquotes` to swap between meaning of these two types of quotes.
+ or use \`\altquotes` to swap between the meaning of these two types of quotes.
\nl
\`\enquotes`, \`\csquotes`, \`\dequotes`, \`\frquotes` etc. are defined here.
\_cod -----------------------------
@@ -105,10 +105,10 @@
The \`\quoteschars``<lqq><rqq><lq><rq>` defines `\"` and `\"` as `\_qqA`
in in normal mode and as expadable macros in outline mode.
We want to well process the common cases: \code{\\"`&`"} or \code{\\"`\{`"}.
- This is reason why the quotes parameter is read in verbatim mode and retokenized
- again by `\scantextokens`. We want to allow to quote the quoutes mark
- itself by \code{\\"{`"`}"}. This is reason why the sub-verbatim mode is
- used when first character is \code{\{} in the parameter.\nl
+ This is the reason why the quotes parameter is read in verbatim mode and retokenized
+ again by `\scantextokens`. We want to allow to quote the quotes mark
+ itself by \code{\\"{`"`}"}. This is the reason why the sub-verbatim mode is
+ used when the first character is \code{\{} in the parameter.\nl
The `\"` is defined as `\_qqA\_qqB<lqq><rqq>` and `\'` as `\_qqA\_qqC<lq><rq>`.
The \`\_qqA``\_qqB<clqq><crqq>` runs \`\_qqB``<lqq><rqq><text>"`.
\_cod -----------------------------
@@ -125,8 +125,8 @@
\_doc -----------------------------
Sometimes should be usable to leave the markup `"such"` or `'such'` i.e.~without
the first backslash. Then you can make the characters `"` and `'` active
- by the \`\activequotes` macro and leave quotes without first backslash.
- First, declare `\<iso-code>quotes`, then \^`\altquotes` (if needed) and finally
+ by the \`\activequotes` macro and leave quotes without the first backslash.
+ First, declare `\<iso-code>quotes`, then \^`\altquotes` (if needed) and finally
\^`\activequotes`.
\`\_resetaquotes` redefines expandable version of `\"<text>"` and `\'<text>'`
@@ -143,20 +143,20 @@
\_regmacro{}{}{\_edef\"##1~{\"##1"}\_edef\'##1,{\'##1'}}}
}
-\_public \quoteschars \activequotes \enquotes \csquotes \skquotes \frquotes \plquotes
+\_public \quoteschars \activequotes \enquotes \csquotes \skquotes \frquotes \plquotes
\esquotes \grquotes \ruquotes \itquotes \dequotes ;
\_doc -----------------------------
Bibliography references generated by \^`\usebib` uses more
language-dependent phrases. They are declared here. We don't want to save
- all these phrases into format, so the trick with {`\_endinput`}
- is used here. When \^`\usebib` is processed then following part of the file
+ all these phrases into the format, so the trick with {`\_endinput`}
+ is used here. When \^`\usebib` is processed then the following part of the file
`languages.opm` is read again.
Only phrases of few languages are declared here now. If you want to declare
phrases of your language, please create an \"issue" or a \"request" at
- \url{https://github.com/olsak/OpTeX} or send me email with new
- phrarses for your language (or language you know:). I am ready to put them here.
+ \url{https://github.com/olsak/OpTeX} or send me an email with new
+ phrases for your language (or language you know:). I am ready to put them here.
Temporarily, you can put your definitions into `\bibtexhook` token list.
\_cod -----------------------------
@@ -180,7 +180,7 @@
{Bakalárska práca} {Diplomová práca} {Dizertačná práca}
% \_<lang>dateformat year/month/day\relax, for example: \_csdateformat 2020/05/21\relax
-% This is used in iso690 bib style when the the field "citedate" is used.
+% This is used in iso690 bib-style when the field "citedate" is used.
\_def\_endateformat #1/#2/#3\relax{#1-#2-#3}
% \_csdateformat 2020/05/21\relax -> \hbox{21. 5. 2020}
diff --git a/macros/luatex/optex/base/lists.opm b/macros/luatex/optex/base/lists.opm
index 0b30ed43bb..a32d13319f 100644
--- a/macros/luatex/optex/base/lists.opm
+++ b/macros/luatex/optex/base/lists.opm
@@ -1,14 +1,14 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \begitems {Lists: begitems, enditems <2020-04-21>} % preloaded in format
\_doc -----------------------------
- \`\_aboveliskip` is used above the list of items,\nl
- \`\_belowliskip` is used below the list of items and\nl
+ \`\_aboveliskip` is used above the list of items,\nl
+ \`\_belowliskip` is used below the list of items and\nl
\`\_interliskip` is used between items.\nl
\`\_listskipA` is used as `\listskipamount` at level 1 of items.\nl
\`\_listskipB` is used as `\listskipamount` at other levels.\nl
- \`\_setlistskip` sets the skip dependent on the current level of items
+ \`\_setlistskip` sets the skip dependent on the current level of items
\_cod -----------------------------
\_def\_aboveliskip {\_removelastskip \_penalty-100 \_vskip\_listskipamount}
@@ -19,18 +19,18 @@
\_def\_setlistskip {%
\_ifnum \_ilevel = 1 \_listskipamount = \_listskipA \_relax
- \_else \_listskipamount = \_listskipB \_relax
+ \_else \_listskipamount = \_listskipB \_relax
\_fi}
\_doc -----------------------------
The \`\itemnum` is locally reset to zero in each group declared by
- `\begitems`. So nested lists are numbered independently. User can set
- initial value of `\itemnum` to another value after `\beitems` if he/she want.
+ `\begitems`. So nested lists are numbered independently. Users can set
+ initial value of `\itemnum` to another value after `\beitems` if they want.
\nl
- Each level of nested lists is indented by new `\iindent` from left.
- Default item mark is `\_printitem`.
+ Each level of nested lists is indented by the new `\iindent` from left.
+ The default item mark is `\_printitem`.
\nl
- The \`\begitems` runs `\_aboveliskip` only if we are not near below a title,
+ The \`\begitems` runs `\_aboveliskip` only if we are not near below a title,
where a vertical skip is placed already and where the `\penalty` 11333 is.
It activates `*` and defines it as \`\_startitem`.
\nl
@@ -42,7 +42,7 @@
\_newcount\_itemnum \_itemnum=0
\_newtoks\_printitem
-\_def\_begitems{\_par
+\_def\_begitems{\_par
\_bgroup
\_advance \_ilevel by1
\_setlistskip
@@ -93,17 +93,34 @@
\_doc -----------------------------
\`\_athe``{<num>}` returns the `<num>`s lowercase letter from the alphabet.\nl
- \`\_fullrectangle``{<dimen>}` prints full rectangle with given `<dimen>`.
- \_cod -----------------------------
+ \`\_fullrectangle``{<dimen>}` prints full rectangle with given `<dimen>`.
+ \_cod -----------------------------
\_def\_fullrectangle#1{\_hbox{\_vrule height#1 width#1}}
-\_def\_athe#1{\_ifcase#1?\_or a\_or b\_or c\_or d\_or e\_or f\_or g\_or h\_or
- i\_or j\_or k\_or l\_or m\_or n\_or o\_or p\_or q\_or r\_or s\_or t\_or
+\_def\_athe#1{\_ifcase#1?\_or a\_or b\_or c\_or d\_or e\_or f\_or g\_or h\_or
+ i\_or j\_or k\_or l\_or m\_or n\_or o\_or p\_or q\_or r\_or s\_or t\_or
u\_or v\_or w\_or x\_or y\_or z\_else ?\_fi
}
\_public \style ;
+ \_doc -----------------------------
+ The \`\begblock` macro selects fonts from footnotes \^`\_fnset`
+ and opens new indentation in a group.
+ \`\endblock` closes the group.
+ This is implemented as an counterpart
+ of Markdown's Blockquotes. Redefine these macros if you want to declare
+ different design.
+ The \ulink[http://petr.olsak.net/optex/optex-tricks.html\#greyblock]{\OpTeX/ trick 0031}
+ shows how to create blocks with grey background splittable to more pages.
+ \_cod -----------------------------
+
+\_def\_begblock{\_bgroup\_fnset \_medskip \_advance\_leftskip by\_iindent \_firstnoindent}
+\_def\_endblock{\_par\_medskip\_egroup\_isnextchar\_par{}{\_noindent}}
+
+\_public \begblock \endblock ;
+
+
\_endcode % -------------------------------------
2020-04-21 \isnextchar\par added to \enditems
diff --git a/macros/luatex/optex/base/logos.opm b/macros/luatex/optex/base/logos.opm
index f7161e8eda..a510a74a30 100644
--- a/macros/luatex/optex/base/logos.opm
+++ b/macros/luatex/optex/base/logos.opm
@@ -1,11 +1,11 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \TeX {Logos TeX, LuaTeX, etc. <2020-02-28>} % preloaded in format
\_doc ----------------------------
- Despite plain \TeX/ each macro for logos ends by \`\ignoreslash`.
- This macro ignores next slash if it is present.
- You can `use \TeX/ like this` for protecting the space following the logo.
+ Despite plain \TeX/ each macro for logos ends by \`\ignoreslash`.
+ This macro ignores the next slash if it is present.
+ You can `use \TeX/ like this` for protecting the space following the logo.
This is visually more comfortable.
The macros \`\TeX`, \`\OpTeX`, \`\LuaTeX`, \`\XeTeX` are defined.
\_cod ----------------------------
@@ -16,14 +16,13 @@
\_protected\_def \_XeTeX {X\_kern-.125em\_phantom E%
\_pdfsave\_rlap{\_pdfscale{-1}{1}\_lower.5ex\_hbox{E}}\_pdfrestore \_kern-.1667em \_TeX}
-\_def\_ignoreslash {\_futurelet\_next \_ignoreslashA}
-\_def\_ignoreslashA {\_ifx\_next/\_ea\_ignoreit\_fi}
+\_def\_ignoreslash {\_isnextchar/\_ignoreit{}}
\_public \TeX \OpTeX \LuaTeX \XeTeX \ignoreslash ;
\_doc -----------------------------
- The \`\_slantcorr` macro expands to slant-correction of current font. It is
- used to shifting A if the \`\LaTeX` logo is in italic.
+ The \`\_slantcorr` macro expands to the slant-correction of the current font. It is
+ used to shifting A if the \`\LaTeX` logo is in italic.
\_cod -----------------------------
\_protected\_def \_LaTeX{\_tmpdim=.42ex L\_kern-.36em \_kern \_slantcorr % slant correction
@@ -45,7 +44,7 @@
\_public \OPmac \CS \csplain ;
\_doc ----------------------------
- The expandable versions of logos used in Outlines needs the expandable
+ The expandable versions of logos used in Outlines need the expandable
\`\ingnslash` (instead of the \^`\ignoreslash`).
\_cod \_fin ----------------------
diff --git a/macros/luatex/optex/base/luatex-ini.opm b/macros/luatex/optex/base/luatex-ini.opm
index 04490a9b91..e0526a48d6 100644
--- a/macros/luatex/optex/base/luatex-ini.opm
+++ b/macros/luatex/optex/base/luatex-ini.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \pdfprimitive {LuaTeX initialization code <2020-02-21>} % preloaded in format
diff --git a/macros/luatex/optex/base/makeindex.opm b/macros/luatex/optex/base/makeindex.opm
index b6277e8abd..22b09e396b 100644
--- a/macros/luatex/optex/base/makeindex.opm
+++ b/macros/luatex/optex/base/makeindex.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \makeindex {Makeindex and sorting <2020-04-26>} % loaded in format
@@ -6,19 +6,19 @@
\^`\makeindex` implements sorting algorithm at \TeX/ macro-language level.
You need not any external program.
- There are two passes in sorting algorithm. Primary pass does not
- distinguish between a group o letters (typically non-accented and
+ There are two passes in the sorting algorithm. The primary pass does not
+ distinguish between a group of letters (typically non-accented and
accented). If the result of comparing two string is equal in primary pass
- then secondary pass is started. It distinguish between variously accented
- letters. Czech rules, for example says: not accented before dieresis
+ then the secondary pass is started. It distinguishes between variously accented
+ letters. Czech rules, for example, says: not accented before dieresis
before acute before circumflex before ring. At less priority: lowercase
- letters must be before uppercase letters.
+ letters must be before uppercase letters.
The \`\_sortingdata``<iso-code>` implements these rules for the language
<iso-code>. The groups between commas are not distinguished in the first
pass. The second pass distinguishes all characters mentioned in the
- `\_sortingdata<iso-code>` (commas are ignored). The order of letters
- in the `\_sortingdata<iso-code>` macro is significant for sorting algorithm.
+ `\_sortingdata<iso-code>` (commas are ignored). The order of letters
+ in the `\_sortingdata<iso-code>` macro is significant for the sorting algorithm.
The Czech rules (`cs`) are implemented here:
\_cod -----------------------------
@@ -59,19 +59,19 @@
}
\_doc -----------------------------
- Characters ignored by sorting algorithm are declared in \`\_ignoredchars``<iso-code>`.
+ Characters ignored by the sorting algorithm are declared in \`\_ignoredchars``<iso-code>`.
The compound characters (two or more characters interpreted as one
- character in sorting algorithm) is mapped to single invisible characters
- in \`\_compoundchars``<iso-code>`. Czech rules declares ch or Ch or CH as
+ character in the sorting algorithm) are mapped to single invisible characters
+ in \`\_compoundchars``<iso-code>`. Czech rules declare ch or Ch or CH as
a single letter sorted between H and I. See \`\_sortingdatacs` above where
these declared characters are used.
- The characters declared in `\_ignoredchars` are ignored in first pass
+ The characters declared in `\_ignoredchars` are ignored in the first pass
without additional condition. All characters are taken into account in
second pass: ASCII characters with code $\lq65$ are sorted first if they
- are not mentioned in the `\_sortingdata<iso-code>` macro.
+ are not mentioned in the `\_sortingdata<iso-code>` macro.
Others not mentioned characters have undefined behavior during sorting.
- \_cod -----------------------------
+ \_cod -----------------------------
\_def \_ignoredcharscs {.,;?!:'"|()[]<>=+}
\_def \_compoundcharscs {ch:^^T Ch:^^U CH:^^V} % DZ etc. are sorted normally
@@ -80,13 +80,13 @@
Slovak sorting rules are the same as Czech. The macro `\_sortingdatacs`
includes Slovak letters too. Compound characters are the same.
English sorting rules can be defined by `\_sortingdatacs` too because
- English alphabet is subset of Czech and Slovak alphabets. Only
- difference: \`\_compoundcharsen` is empty in English rules.
+ English alphabet is a subset of the Czech and Slovak alphabets. Only
+ difference: \`\_compoundcharsen` is empty in English rules.
- You can declare these macros for more languages, if you wish to use
- `\makeindex` with sorting rules in respect to your language.
- Note: if you need to map compound characters to a character, don't use
- `^^I` or `^^M` because these characters have very specific category code.
+ You can declare these macros for more languages if you wish to use
+ `\makeindex` with sorting rules with respect to your language.
+ Note: if you need to map compound characters to a character, don't use
+ `^^I` or `^^M` because these characters have very specific category codes.
And use space to separate more mappings, like in \`\_compoundcharscs` above.
\_cod -----------------------------
@@ -98,7 +98,7 @@
\_let \_ignoredcharsen = \_ignoredcharscs
\_doc -----------------------------
- Preparing to primary pass is implemented by the \`\_setprimarysorting` macro.
+ Preparing to primary pass is implemented by the \`\_setprimarysorting` macro.
It is called from `\makeindex` macro and all processing of sorting is in a group.
\_cod -----------------------------
@@ -121,7 +121,7 @@
\_tmpnum=65 \_ea\_act \_sortingdata \_relax
\_def \_act ##1{\_ifx##1\_relax \_else
\_lccode`##1=`\^^I
- \_ea\_act \_fi}%
+ \_ea\_act \_fi}%
\_ea\_act \_ignoredchars \_relax
}
@@ -133,13 +133,13 @@
\_def \_act ##1{\_ifx##1\_relax \_else
\_ifx##1,\_else \_advance\_tmpnum by1 \_lccode`##1=\_tmpnum \_fi
\_ea\_act \_fi}%
- \_tmpnum=65 \_ea\_act \_sortingdata \_relax
+ \_tmpnum=65 \_ea\_act \_sortingdata \_relax
}
\_doc -----------------------------
- Strings to be sorted are prepared in `\,<string>` control sequences
- (in order to save `\TeX` memory).
- The \`\_preparesorting` `\,<string>` converts `<string>` to `\_tmpb`
+ Strings to be sorted are prepared in `\,<string>` control sequences
+ (to save `\TeX` memory).
+ The \`\_preparesorting` `\,<string>` converts `<string>` to `\_tmpb`
with respect to the data initialized in \^`\_setprimarysorting` or
\^`\_setsecondarysorting`.\nl
The compoud characters are converted to single characters by the
@@ -148,7 +148,7 @@
\_def \_preparesorting #1{%
\_edef \_tmpb {\_ea\_ignorefirst\_csstring #1}% \,<string> -> <string>
- \_ea \_docompound \_compoundchars \_relax:{} % replace compound characters
+ \_ea \_docompound \_compoundchars \_relax:{} % replace compound characters
\_lowercase \_ea{\_ea\_def \_ea\_tmpb \_ea{\_tmpb}}% convert in respect to \_sortingdata
\_ea\_replstring \_ea\_tmpb \_ea{\_csstring\^^I}{}% remove ignored characters
}
@@ -158,18 +158,18 @@
\_def \_ignorefirst#1{}
\_doc -----------------------------
- Macro \`\_isAleB` `\,<string1> \,<string2>` returns the result of comparison
+ Macro \`\_isAleB` `\,<string1> \,<string2>` returns the result of comparison
of given two strings to \`\_ifAleB` control sequence. Usage:
`\isAleB \,<string1> \,<string2> \_ifAleB ... \_else ... \_fi`
The converted strings (in respect of the data prepared for first pass)
must be saved as values of `\,<string1>` and `\,<string2>` macros.
- The reason is speed: we don't want to convert them repeatedly in each
+ The reason is speed: we don't want to convert them repeatedly in each
comparison.
\nl
The macro
\`\_testAleB` `<converted string1>&\_relax<converted-string2>\_relax \,<string1>\,<string2>`\nl
- does the real work. It reads first character from both converted strings, compares them
- and if it is equal then calls itself recursively else gives result.
+ does the real work. It reads the first character from both converted strings, compares them
+ and if it is equal then calls itself recursively else gives the result.
\_cod -----------------------------
\_newifi \_ifAleB
@@ -203,7 +203,7 @@
Merge sort is very effectively implemented by \TeX/ macros. The following
code is created by my son Miroslav.
The \`\_mergesort` macro expects that all items in `\_iilist` are separated
- by comma when it starts. It ends with sorted items in `\_iilist` without commas.
+ by a comma when it starts. It ends with sorted items in `\_iilist` without commas.
So `\_dosorting` macro must prepare commas between items.
\_cod -----------------------------
@@ -239,24 +239,24 @@
\_doc -----------------------------
The \`\_dosorting` `\list` macro redefines `\list` as sorted `\list`.
The `\list` have to include control sequences in the form `\<c><string>`.
- These control sequences will be sorted in respect to <strings> without
+ These control sequences will be sorted with respect to <strings> without
change of meanings of these control sequences. Their meanings are
irrelevant when sorting. The first character <c> in `\<c><string>` should
be whatever. It does not influence the sorting. \OpTeX/ uses comma at
this place for sorting indexes: `\,<word1> \,<word2> \,<word3> ...`.
- The actual language (chosen for hyphenation patterns) is used for
- sorting data. If the `\_sortinglang` macro
- is defined as `<iso-code>`(for example `\def\sortinglang{de}`)
+ The actual language (chosen for hyphenation patterns) is used for
+ sorting data. If the `\_sortinglang` macro
+ is defined as `<iso-code>`(for example `\def\sortinglang{de}`)
then this has precedence and actual language is not used.
- Moreover, if you specify \`\_asciisortingtrue` then ASCII
- sorting will be processed and all language sorting data will be ignored.
+ Moreover, if you specify \`\_asciisortingtrue` then ASCII
+ sorting will be processed and all language sorting data will be ignored.
\_cod -----------------------------
\_newifi \_ifasciisorting \_asciisortingfalse
\_def\_dosorting #1{%
\_begingroup
- \_def\_nold{}%
+ \_def\_nold{}%
\_ifx\_sotringlang\_undefined \_edef\_sortinglang{\_cs{_lan:\_the\_language}}\_fi
\_ifasciisorting
\_edef\_sortinglang{ASCII}%
@@ -264,7 +264,7 @@
\_let \_setsecondarysorting=\_relax
\_else
\_setprimarysorting
- \_fi
+ \_fi
\_message{OpTeX: Sorting \_string#1 (\_sortinglang) ...^^J}%
\_ifx\_nold\_empty\_else \_opwarning{Missing\_nold\_space for language (\_sortinglang)}\_fi
\_def \_act##1{\_preparesorting ##1\_edef##1{\_tmpb}}%
@@ -278,7 +278,7 @@
\_doc -----------------------------
The \`\makeindex` prints the index. First, it sorts the `\_iilist`
- second, it prints the sorted `\_iilist`, each item is printed
+ second, it prints the sorted `\_iilist`, each item is printed
using \^`\_printindexitem`.
\_cod -----------------------------
@@ -286,7 +286,7 @@
\_ifx\_iilist\_empty \_opwarning{index data-buffer is empty. TeX me again}%
\_incr\_unresolvedrefs
\_else
- \_dosorting \_iilist % sorting \_iilist
+ \_dosorting \_iilist % sorting \_iilist
\_bgroup
\_rightskip=0pt plus1fil \_exhyphenpenalty=10000 \_leftskip=\_iindent
\_ea\_xargs \_ea\_printindexitem \_iilist ;\_par
@@ -300,15 +300,15 @@
If `\_,<word>` is defined then this is used instead real <word>
(this exception is declared by `\iis` macro). Else <word> is printed by
\^`\_printii`. Finally, \^`\_printiipages` prints the value of `\,<word>`,
- i.e. the list of pages.
- \_cod -----------------------------
+ i.e. the list of pages.
+ \_cod -----------------------------
\_def\_printindexitem #1{%
\_ifcsname _\_csstring #1\_endcsname
\_ea\_ea\_ea \_printii \_csname _\_csstring #1\_endcsname &%
\_else
\_ea\_ea\_ea\_printii \_ea\_ignorefirst \_csstring #1&%
- \_fi
+ \_fi
\_ea\_printiipages #1&
}
@@ -347,12 +347,12 @@
\`\_printiipages` `<pglist>&` gets `<pglist>` in the form
`<pg>:<type>,<pg>:<type>,...<pg>:<type>` and it converts them to
`<pg>, <pg>, <from>--<to>, <pg>` etc. The same pages must be printed only once
- and continuous consequences of pages must be compressed to the form <from>-<to>.
+ and continuous consequences of pages must be compressed to the form <from>-<to>.
Moreover, the consequence is continuous only if all pages have the same <type>.
Empty <type> is most common, pages with `b` <type> must be printed as bold
and with `i` `<type>` as italics.
Moreover, the `<pg>` mentioned here are <gpageno>, but we have to print
- <pageno>. The following macros solves these tasks.
+ <pageno>. The following macros solve these tasks.
\_cod -----------------------------
\_def\_printiipages#1&{\_let\_pgtype=\_undefined \_tmpnum=0 \_printpages #1,:,\_par}
@@ -360,7 +360,7 @@
\_ifx,#1,\_uselastpgnum
\_else \_def\_tmpa{#2}%
\_ifx\_pgtype\_tmpa \_else
- \_let\_pgtype=\_tmpa
+ \_let\_pgtype=\_tmpa
\_uselastpgnum \_usepgcomma \_pgprint#1:{#2}%
\_tmpnum=#1 \_returnfi \_fi
\_ifnum\_tmpnum=#1 \_returnfi \_fi
@@ -374,22 +374,22 @@
\_ea\_printpages \_fi
}
\_def\_returnfi #1\_relax{\_fi}
-\_def\_uselastpgnum{\_ifx\_lastpgnum\_undefined
+\_def\_uselastpgnum{\_ifx\_lastpgnum\_undefined
\_else \_ea\_pgprint\_lastpgnum \_let\_lastpgnum=\_undefined \_fi
}
\_def\_usepgcomma{\_ifnum\_tmpnum>0, \_fi} % comma+space between page numbers
\_def\_usepgdash{\_hbox{--}} % dash in the <from>--<to> form
\_doc -----------------------------
- You can re-define \`\_pgprint` `<gpageno>:{<iitype>}`
+ You can re-define \`\_pgprint` `<gpageno>:{<iitype>}`
if you need to implement more <iitypes>.
\_cod -----------------------------
\_def\_pgprint #1:#2{%
\_ifx ,#2,\_pgprintA{#1}\_returnfi \_fi
- \_ifx b#2{\_bf \_pgprintA{#1}}\_returnfi \_fi
- \_ifx i#2{\_it \_pgprintA{#1}}\_returnfi \_fi
- \_ifx u#2\_pgu{\_pgprintA{#1}}\_returnfi \_fi
+ \_ifx b#2{\_bf \_pgprintA{#1}}\_returnfi \_fi
+ \_ifx i#2{\_it \_pgprintA{#1}}\_returnfi \_fi
+ \_ifx u#2\_pgu{\_pgprintA{#1}}\_returnfi \_fi
\_pgprintA{#1}\_relax
}
\_def\_pgprintA #1{\_ilink[pg:#1]{\_cs{_pgi:#1}}} % \ilink[pg:<gpageno>]{<pageno>}
@@ -397,8 +397,8 @@
\_doc -----------------------------
The \`\iindex``{<word>}` puts one <word> to the index. It writes
- \^`\_Xindex``{<word>}{<iitype>}` to the `.ref` file.
- All othes variants of indexing macros expands internally to `\iindex`.
+ \^`\_Xindex``{<word>}{<iitype>}` to the `.ref` file.
+ All other variants of indexing macros expand internally to `\iindex`.
\_cod -----------------------------
\_def\_iindex#1{\_isempty{#1}\_iffalse\_openref{\def~{ }%
@@ -407,8 +407,8 @@
\_doc -----------------------------
The \`\_Xindex``{<word>}{<iitype>}` stores `\,<word>` to the `\_iilist` if
- there is first occurrence of the <word>. The list of pages where `<word>`
- occurs, is the value of the macro `\,<word>`, so the `<gpageno>:<iitype>`
+ there is the first occurrence of the <word>. The list of pages where `<word>`
+ occurs, is the value of the macro `\,<word>`, so the `<gpageno>:<iitype>`
is appended to this list.
Moreover, we need a mapping from <gpageno> to `<pageno>`, because we print
`<pageno>` in the index, but hyperlinks are implemented by `<gpageno>`.
@@ -427,7 +427,7 @@
\_doc -----------------------------
The implementation of macros \`\ii`, \`\iid`, \`\iis` follows.
- Note that `\ii` works in horizontal mode on order to the `\write` whatsit
+ Note that `\ii` works in the horizontal mode in order to the `\write` whatsit
is not broken from the following word. If you need to keep vertical mode,
use \^`\iindex``{<word>}` directly.
\nl
diff --git a/macros/luatex/optex/base/maketoc.opm b/macros/luatex/optex/base/maketoc.opm
index 46a2f8d50f..84e699d67d 100644
--- a/macros/luatex/optex/base/maketoc.opm
+++ b/macros/luatex/optex/base/maketoc.opm
@@ -1,4 +1,4 @@
-% This is part of OpTeX project, see http://petr.olsak.net/optex
+% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \maketoc {Macros for maketoc <2020-03-12>} % preloaded in format
@@ -12,7 +12,7 @@
* `<type>`: the type of the level, i.e. chap, sec, secc
* `<number>`: the number of the chapter/section/subsection in the format 1.2.3
* `<title>`: the title text
- * `<gpageno>`: the page number numbered from 1 independently of pagination
+ * `<gpageno>`: the page number numbered from 1 independently of pagination
* `<pageno>`: the page number used in the pagination
\enditems
The last two parameters are restored from previous
@@ -22,7 +22,7 @@
because the <title> can include something like \code{`\{`}.
\_cod ------------------------------------
-\_def\_toclist{}
+\_def\_toclist{}
\_newifi \_ifischap \_ischapfalse
\_def\_Xtoc#1#2#3{\_ifnum#1=0 \_ischaptrue\_fi
@@ -33,23 +33,23 @@
\`\_tocline``{<level>}{<type>}{<number>}{<title>}{<gpageno>}{<pageno>}` prints
the record to the table of contents. It opens group, reduces `\_leftskip`,
`\_rightskip`, runs the \^`\everytocline` (user can customise the design of TOC
- here) and runs `\_tocl:<level> {<number>}{<title>}{<pageno>}` macro.
+ here) and runs `\_tocl:<level> {<number>}{<title>}{<pageno>}` macro.
This macro starts with vertical mode,
inserts one record with given `<level>` and it should end by \^`\_tocpar`
- which returns to hrizontal mode. The `\_tocpar`
+ which returns to horizontal mode. The `\_tocpar`
appends `\_nobreak \_hskip-2\_iindent\_null \_par`. This causes
that the last line of the record is shifted outside the margin given by
- `\_rightskip`. A typical record (with long `<title>`) looks like:
- \begtt
+ `\_rightskip`. A typical record (with long `<title>`) looks like this:
+ \begtt \catcode`\<=13
| |
\llap{<number>} text text text text text
text text text text text
text text .................... <pageno>
\endtt
Margins given by `\leftskip` and `\rightskip` are denoted by `|` in the
- examle above.
+ examle above.
\nl
- \`\tocrefnum` is global counter of all TOC records (used by hyperlinks).
+ \`\tocrefnum` is the global counter of all TOC records (used by hyperlinks).
\_cod ------------------------------------
\_newcount \_tocrefnum
@@ -60,7 +60,7 @@
\_ifischap \_advance\_leftskip by \_iindent \_fi
\_def\_pgn{\_ilink[pg:#5]}%
\_the\_everytocline
- \_ifcsname _tocl:#1\_endcsname
+ \_ifcsname _tocl:#1\_endcsname
\_cs{_tocl:#1}{#3}{\_scantextokens{#4}}{#6}\_par
\_fi
\_egroup
@@ -97,15 +97,15 @@
\_doc -----------------------------------
\`\maketoc` prints warning if TOC data is empty, else it creates TOC by
- running \^`\_toclist`
+ running \^`\_toclist`
\_cod ----------------------------------
\_def\_maketoc{\_par \_ifx\_toclist\_empty
\_opwarning{\_noexpand\maketoc -- data unavailable, TeX me again}\_openref
\_incr\_unresolvedrefs
- \_else \_begingroup
- \_tocrefnum=0 \_penalty11333
- \_the\_regtoc \_toclist
+ \_else \_begingroup
+ \_tocrefnum=0 \_penalty11333
+ \_the\_regtoc \_toclist
\_endgroup \_fi
}
@@ -115,14 +115,14 @@
\^`\pdfunidef`.
\_cod \_fin -----------------------------
-\_newtoks \_regtoc \_newtoks \_regmark \_newtoks \_regoul
+\_newtoks \_regtoc \_newtoks \_regmark \_newtoks \_regoul
\_def\_regmacro #1#2#3{%
\_toksapp\_regtoc{#1}\_toksapp\_regmark{#2}\_toksapp\_regoul{#3}%
}
\_public \maketoc \regmacro ;
-\_endcode
+\_endcode
2020-04-23 \_tocpar introduced (incompatible change)
2020-04-22 \_pg -> \_pgn (incompatible change)
diff --git a/macros/luatex/optex/base/margins.opm b/macros/luatex/optex/base/margins.opm
index a02bf3e57a..8799dec294 100644
--- a/macros/luatex/optex/base/margins.opm
+++ b/macros/luatex/optex/base/margins.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \margins {Macros for margins setting <2020-03-14>} % preloaded in format
@@ -43,7 +43,7 @@
\_def\_setpagedimensA#1 {\_ifcsname _pgs:#1\_endcsname
\_ea\_ea\_ea\_setpagedimensB \_csname _pgs:#1\_ea\_endcsname\_space
\_else \_opwarning{page specification "#1" is undefined}\_fi}
-\_def\_setpagedimensB (#1,#2)#3 {\_setpagedimensC\_pgwidth=#1:#3
+\_def\_setpagedimensB (#1,#2)#3 {\_setpagedimensC\_pgwidth=#1:#3
\_setpagedimensC\_pgheight=#2:#3
\_pdfpagewidth=\_pgwidth \_pdfpageheight=\_pgheight
}
@@ -67,7 +67,7 @@
\_def\_trueunit{}
\_def\_magscale[#1]{\_mag=#1\_def\_trueunit{true}%
\_ifdim\_pgwidth=0pt \_else \_truedimen\_pgwidth \_truedimen\_pgheight \_fi
- \_truedimen\_pdfpagewidth \_truedimen\_pdfpageheight
+ \_truedimen\_pdfpagewidth \_truedimen\_pdfpageheight
}
\_def\_truedimen#1{\_ifx\_trueunit\_empty \_else#1=\_ea\_ignorept\_the#1truept \_fi}
diff --git a/macros/luatex/optex/base/math-macros.opm b/macros/luatex/optex/base/math-macros.opm
index 7cb7532e73..a087d31c68 100644
--- a/macros/luatex/optex/base/math-macros.opm
+++ b/macros/luatex/optex/base/math-macros.opm
@@ -1,34 +1,34 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \sin {Math macros plus mathchardefs <2020-06-13>} % preloaded in format
\_doc -----------------------------
- The category code of the character `_` remains as letter (11) and the mathocode
- of it is `"8000`.
- It means that it is active character in math mode. It is defined as subscript prefix.
+ The category code of the character `_` remains as the letter (11) and the mathocode
+ of it is `"8000`.
+ It means that it is an active character in math mode. It is defined as the subscript prefix.
There is a problem: The `x_n` is tokenized as `x`, `_`, `n` and it works
- without problem. But `\int``_a^b` is tokenized as `\int``_a`, `^`, `b`. The
+ without problems. But `\int``_a^b` is tokenized as `\int``_a`, `^`, `b`. The
control sequence `\int``_a` isn't defined. We must write `\int _a^b`.
- The Lua code presented here solves this problem. But you cannot set our own
+ The Lua code presented here solves this problem. But you cannot set your own
control sequence in the form `\<word>_` or `\<word>_<one-letter>` (where
- <word> is sequence of letters) because such control sequences are
+ <word> is a sequence of letters) because such control sequences are
inaccessible: preprocessor rewrites it.
The \`\mathsbon` macro activates the rewriting rule `\<word>_<nonleter>` to
- `\<word> _<nonletter>` and
+ `\<word> _<nonletter>` and
`\<word>``_<letter><nonletter>` to `\<word> _<letter><nonletter>` at input
processor level. The \`\mathsboff` deactivates it.
You can ask by \`\_ifmathsb` if this feature is activated or deactivated.
By default, it is activated in the `\everyjob`, see section~\ref[init].
Note, that the `\everyjob` is processed after the first line of the document is
- read, so the \^`\mathsbon` is activated from second line of the document.
+ read, so the \^`\mathsbon` is activated from the second line of the document.
\_cod -----------------------------
\catcode`\_ = 8 \let\sb = _
\catcode`\_ = 13 \let _ = \sb
-\catcode`\_ = 11
+\catcode`\_ = 11
\_private \sb ;
\_newifi\_ifmathsb \_mathsbfalse
@@ -48,8 +48,8 @@
\_doc -----------------------------
All mathcodes are set to equal values as in plain\TeX/.
- But all encoding-dependend declarations (like these) will be set
- to different values when Unicode-math font is used.
+ But all encoding-dependent declarations (like these) will be set
+ to different values when a Unicode-math font is used.
\_cod -----------------------------
\_mathcode`\^^@="2201 % \cdot
@@ -181,7 +181,7 @@
\_mathchardef\Im="023D
\_mathchardef\partial="0140
\_mathchardef\infty="0231
-\_mathchardef\prime="0230
+\_mathchardef\prime="0230
\_mathchardef\emptyset="023B
\_mathchardef\nabla="0272
\_protected\_def \surd{{\_mathchar"1270}}
@@ -205,7 +205,7 @@
\_mathchardef\biguplus="1355
\_mathchardef\bigcap="1354
\_mathchardef\bigcup="1353
-\_mathchardef\intop="1352
+\_mathchardef\intop="1352
\_protected\_def \int{\_intop\_nolimits} \_private \intop;
\_mathchardef\prod="1351
\_mathchardef\sum="1350
@@ -263,7 +263,7 @@
\_mathchardef\swarrow="322E
\_mathchardef\Leftrightarrow="322C
\_mathchardef\Leftarrow="3228
-\_mathchardef\Rightarrow="3229
+\_mathchardef\Rightarrow="3229
\_protected\_def \neq{\_not=} \_let\ne=\neq
\_mathchardef\leq="3214 \let\le=\leq
\_mathchardef\geq="3215 \let\ge=\geq
@@ -282,7 +282,7 @@
\_mathchardef\ll="321C
% \_mathchardef\not="3236 % defined below
\_mathchardef\leftrightarrow="3224
-\_mathchardef\leftarrow="3220 \_let\gets=\leftarrow
+\_mathchardef\leftarrow="3220 \_let\gets=\leftarrow
\_mathchardef\rightarrow="3221 \_let\to=\rightarrow
\_mathchardef\mapstochar="3237
\_protected\_def\mapsto{\_mapstochar\_rightarrow} \_private \mapstochar \rightarrow ;
@@ -293,13 +293,13 @@
\_mathchardef\asymp="3210
\_mathchardef\smile="315E
\_mathchardef\frown="315F
-\_mathchardef\leftharpoonup="3128
+\_mathchardef\leftharpoonup="3128
\_mathchardef\leftharpoondown="3129
\_mathchardef\rightharpoonup="312A
-\_mathchardef\rightharpoondown="312B
+\_mathchardef\rightharpoondown="312B
\_doc -----------------------------
- The math functions like log, sin, cos are declared in tha same way as in
+ The math functions like log, sin, cos are declared in the same way as in
plain\TeX/, but they are `\protected` in \OpTeX/.
\_cod -----------------------------
@@ -337,17 +337,17 @@
\_protected\_def\deg {\_mathop{\_rm deg}\_nolimits}
\_doc -----------------------------
- These macros are defined similarly as in plain\TeX. Only internal macro
- names from plain\TeX/ with `@` character are re-written in more readable
+ These macros are defined similarly as in plain\TeX. Only internal macro
+ names from plain\TeX/ with `@` character are re-written in a more readable
form.\nl
- \`\sp` is alternative for `^`. The \`\sb` alternative for `_` was defined
- at the line 27 of the file `math-macros.opm`.
+ \`\sp` is an alternative for `^`. The \`\sb` alternative for `_` was defined
+ at line 27 of the file `math-macros.opm`.
\_cod -----------------------------
\_let\_sp=^ \public \sp ;
% \sb=_ , defined at beginning of this file
-\_def\_thinsk {\_mskip\_thinmuskip}
+\_def\_thinsk {\_mskip\_thinmuskip}
\_protected\_def\,{\_relax\_ifmmode \_thinsk \_else \_thinspace \_fi}
\_protected\_def\>{\_mskip\_medmuskip} \let\_medsk = \>
\_protected\_def\;{\_mskip\_thickmuskip} \let\_thicksk = \;
@@ -366,7 +366,7 @@
\_private \prime ;
\_doc -----------------------------
- \`\big`, \`\Big`, \`\bigg`, \`\Bigg`, \`\bigl`, \`\bigm`, \`\bigr`, \`\Bigl`, \`\Bigm`,
+ \`\big`, \`\Big`, \`\bigg`, \`\Bigg`, \`\bigl`, \`\bigm`, \`\bigr`, \`\Bigl`, \`\Bigm`,
\`\Bigr`, \`\biggl`, \`\biggm`, \`\biggr`, \`\Biggl`, \`\Biggm`, \`\Bigg`, \`\Biggr`
are based on the \`\_scalebig` macro because we need the dependency on
the various sizes of the fonts.
@@ -376,8 +376,8 @@
\_def\_scalebig#1#2{{\_left#1\_vbox to#2\_fontdimen6\_textfont1{}%
\_kern-\_nulldelimiterspace\_right.}}
-\_protected\_def\_big#1{\_scalebig{#1}{.85}}
-\_protected\_def\_Big#1{\_scalebig{#1}{1.15}}
+\_protected\_def\_big#1{\_scalebig{#1}{.85}}
+\_protected\_def\_Big#1{\_scalebig{#1}{1.15}}
\_protected\_def\_bigg#1{\_scalebig{#1}{1.45}}
\_protected\_def\_Bigg#1{\_scalebig{#1}{1.75}}
\_public \big \Big \bigg \Bigg ;
@@ -397,26 +397,26 @@
\_public \bigl \bigm \bigr \Bigl \Bigm \Bigr \biggl \biggm \biggr \Biggl \Biggm \Biggr ;
\_doc -----------------------------
- Math relations defined by the \`\jointrel` plain \TeX/ macro:
+ Math relations defined by the \`\jointrel` plain \TeX/ macro:
\_cod -----------------------------
\_protected\_def\_joinrel{\_mathrel{\_mkern-2.5mu}} % -3mu in plainTeX
\_protected\_def\relbar{\_mathrel{\_smash-}} % \_smash, because - has the same height as +
\_protected\_def\Relbar{\_mathrel=}
-\_mathchardef\lhook="312C
+\_mathchardef\lhook="312C
\_protected\_def\hookrightarrow{\_lhook\_joinrel\_rightarrow}
-\_mathchardef\rhook="312D
-\_protected\_def\hookleftarrow{\_leftarrow\_joinrel\_rhook}
+\_mathchardef\rhook="312D
+\_protected\_def\hookleftarrow{\_leftarrow\_joinrel\_rhook}
\_protected\_def\bowtie{\_mathrel\_triangleright\_joinrel\_mathrel\_triangleleft}
\_protected\_def\models{\_mathrel|\_joinrel=}
-\_protected\_def\Longrightarrow{\_Relbar\_joinrel\_Rightarrow}
-\_protected\_def\longrightarrow{\_relbar\_joinrel\_rightarrow}
-\_protected\_def\longleftarrow{\_leftarrow\_joinrel\_relbar}
-\_protected\_def\Longleftarrow{\_Leftarrow\_joinrel\_Relbar}
+\_protected\_def\Longrightarrow{\_Relbar\_joinrel\_Rightarrow}
+\_protected\_def\longrightarrow{\_relbar\_joinrel\_rightarrow}
+\_protected\_def\longleftarrow{\_leftarrow\_joinrel\_relbar}
+\_protected\_def\Longleftarrow{\_Leftarrow\_joinrel\_Relbar}
\_protected\_def\longmapsto{\_mapstochar\_longrightarrow}
\_protected\_def\longleftrightarrow{\_leftarrow\_joinrel\_rightarrow}
\_protected\_def\Longleftrightarrow{\_Leftarrow\_joinrel\_Rightarrow}
-\_protected\_def\iff{\_thicksk\_Longleftrightarrow\_thicksk}
+\_protected\_def\iff{\_thicksk\_Longleftrightarrow\_thicksk}
\_private \lhook \rightarrow \leftarrow \rhook \triangleright \triangleleft
\Relbar \Rightarrow \relbar \rightarrow \Leftarrow \mapstochar
\longrightarrow \Longleftrightarrow ;
@@ -442,7 +442,7 @@
\_public \ldots \cdots \vdots \ddots ;
\_doc -----------------------------
- \`\adots` ispired by plain \TeX/
+ \`\adots` inspired by plain \TeX/
\_cod -----------------------------
\_protected\_def\_adots{\_mathinner{%
@@ -643,8 +643,8 @@
\_doc -----------------------------
The \`\eqalign` macro behaves like in Plain \TeX/ by default.
- It creates the `\vcenter` in the math mode. The contents is two column
- `\halign` with right aligned left column and left aligned right column.
+ It creates the `\vcenter` in the math mode. The content is two column
+ `\halign` with right-aligned left column and left-aligned right column.
The table items are in `\displaystyle` and the `\baselineskip` is
advanced by `\jot` (3pt in plain \TeX). It follows from the default
settings of \^`\eqlines` and \^`\eqstyle` parameters.
@@ -653,11 +653,11 @@
\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]
{Typesetting Math with \OpTeX/}.
The `\baselineskip` value is set by the \^`\eqlines` parameter and math style
- by the \^`\eqstyle` parameter.
+ by the \^`\eqstyle` parameter.
There are more possible columns than two (used in classical Plain TeX):
`rlcrlcrlc` etc.\ where `r` and `l` columns are without spaces and `c` column
- (if used) has the space \^`\eqspace`/2 at its both sides.
+ (if used) has space \^`\eqspace`/2 at its both sides.
\_cod -----------------------------
\_long\_def\_eqalign#1{\_null\_thinsk\_vcenter{\_the\_eqlines\_math
@@ -681,7 +681,7 @@
\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]
{Typesetting Math with \OpTeX/}.
The centered formulas are in `\vcenter` in this case,
- so lines cannot be broken to more pages, but this case
+ so lines cannot be broken into more pages, but this case
enables to use `\eqno` or `\leqno` or \^`\eqmark`.
\_cod -----------------------------
@@ -725,11 +725,11 @@
\_public \openup \eqalignno \leqalignno ;
\_doc -----------------------------
- These macros are inspired from `ams-math.tex` file.
+ These macros are inspired by `ams-math.tex` file.
\maxlines=15
\_cod -----------------------------
-\_def\_amsafam{4} \_def\_amsbfam{5}
+\_def\_amsafam{4} \_def\_amsbfam{5}
\_mathchardef \boxdot "2\_amsafam 00
\_mathchardef \boxplus "2\_amsafam 01
@@ -988,7 +988,7 @@
\_else \_ifcsname _n\_tmpn\_endcsname \_csname _n\_tmpn\_endcsname
\_else \_mathrel{\_mathord{\_notchar}\_mathord{#1}}%
\_fi \_fi \_fi \_fi}
-\_private
+\_private
\nleq \ngeq \nless \ngtr \nprec \nsucc \nleqslant \ngeqslant \npreceq
\nsucceq \nleqq \ngeqq \nsim \ncong \nsubseteqq \nsupseteqq \nsubseteq
\nsupseteq \nparallel \nmid \nshortmid \nshortparallel \nvdash \nVdash
@@ -999,32 +999,50 @@
\_doc -----------------------------
\`\mathstyles``{<math list>}`
- behaves like `{<math list>}`, but you can use following commands in the
+ behaves like `{<math list>}`, but you can use the following commands in the
`<math list>`:
\begitems
* \`\currstyle` which expands to `\displaystyle`, `\textstyle`,
`\scriptstyle` or `\scriptscriptstyle` depending on the current math style
- when \^`\mathstyles` was opened.
+ when \^`\mathstyles` was opened.
* \`\dobystyle``{<D>}{<T>}{<S>}{<SS>}` is expandable macro. It expands to
`<D>`, `<T>`, `<S>` or `<SS>` depending on the current math style
when \^`\mathstyles` was opened.
- * The value of the \`\stylenum` is 0, 1, 2 or 3
- depending on the current math style when \^`\mathstyles` was opened.
+ * The value of the \`\stylenum` is 0, 1, 2 or 3
+ depending on the current math style when \^`\mathstyles` was opened.
\enditems
- Example of usage of \^`\mathstyles`:
+ Example of usage of \^`\mathstyles`:
`\def\mathframe#1{\mathstyles{\frame{$\currstyle#1$}}}`.
- \_cod -----------------------------
+ \_cod -----------------------------
\_newcount\_stylenum
\_def\_mathstyles#1{{\_mathchoice{\_stylenum0 #1}{\_stylenum1 #1}%
- {\_stylenum2 #1}{\_stylenum1 #1}}}
+ {\_stylenum2 #1}{\_stylenum3 #1}}}
\_def\_dobystyle#1#2#3#4{\_ifcase\_stylenum#1\_or#2\_or#3\_or#4\_fi}
-\_def\_currstyle{\dobystyle\_displaystyle\_textstyle\_scriptstyle\_scriptscriptstyle}
+\_def\_currstyle{\_dobystyle\_displaystyle\_textstyle\_scriptstyle\_scriptscriptstyle}
\_public \mathstyles \dobystyle \currstyle \stylenum ;
\_doc -----------------------------
+ The \`\cramped` macro
+ sets the cramped variant of the current style.
+ Note that \^`\currstyle` initializes non-cramped variants.
+ The example `\mathframe` above should be:\nl
+ `\def\mathframe#1{\mathstyles{\frame{$\currstyle\cramped #1$}}}`.\nl
+ Second note: `\cramped` macro reads the current math style from
+ the `\mathstyle` LuaTeX primitive, so it does not work in numerators of
+ generalized fractions but you can use it before the fraction is opened:
+ `$\cramped {x^2\over y^2}$`.
+ \_cod -----------------------------
+
+\_def\_cramped{\_ifcase\_numexpr(\_mathstyle+1)/2\_relax\_or
+ \_crampeddisplaystyle \_or \_crampedtextstyle \_or
+ \_crampedscriptstyle \_or \_crampedscriptscriptstyle \_fi
+}
+\_public \cramped ;
+
+ \_doc -----------------------------
The \`\mathbox``{<text>}` macro is copied from OPmac trick 078.
- It behaves like `\hbox{<text>}` but the `<text>` is scaled to smaller
+ It behaves like `\hbox{<text>}` but the `<text>` is scaled to a smaller
size if it is used in scriptstyle or scriptscript style.
\_cod -----------------------------
diff --git a/macros/luatex/optex/base/math-preload.opm b/macros/luatex/optex/base/math-preload.opm
index 09d447e3d4..7f6aaa6fdb 100644
--- a/macros/luatex/optex/base/math-preload.opm
+++ b/macros/luatex/optex/base/math-preload.opm
@@ -1,10 +1,10 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \normalmath {Math fonts CM + AMS preloaded <2020-05-06>} % preloaded in format
+\_codedecl \normalmath {Math fonts CM + AMS preloaded <2020-05-06>} % preloaded in format
\_doc ------------------------------
- We have two math macros \`\normalmath` for normal shape of all math
- symbols and \`\boldmath` for bold shape of all math symbols. The second one
+ We have two math macros \`\normalmath` for the normal shape of all math
+ symbols and \`\boldmath` for the bold shape of all math symbols. The second one
can be used in bold titles, for example.
These macros load all fonts from all given math font families.
\_cod ------------------------------
@@ -13,7 +13,7 @@
\_loadmathfamily 0 cmr % CM Roman
\_loadmathfamily 1 cmmi % CM Math Italic
\_loadmathfamily 2 cmsy % CM Standard symbols
- \_loadmathfamily 3 cmex % CM extra symbols
+ \_loadmathfamily 3 cmex % CM extra symbols
\_loadmathfamily 4 msam % AMS symbols A
\_loadmathfamily 5 msbm % AMS symbols B
\_loadmathfamily 6 rsfs % script
@@ -28,7 +28,7 @@
\_loadmathfamily 0 cmbx % CM Roman Bold Extended
\_loadmathfamily 1 cmmib % CM Math Italic Bold
\_loadmathfamily 2 cmbsy % CM Standard symbols Bold
- \_loadmathfamily 3 cmexb % CM extra symbols Bold
+ \_loadmathfamily 3 cmexb % CM extra symbols Bold
\_loadmathfamily 4 msam % AMS symbols A (bold not available?)
\_loadmathfamily 5 msbm % AMS symbols B (bold not available?)
\_loadmathfamily 6 rsfs % script (bold not available?)
@@ -44,11 +44,11 @@
\_def \normalmath {\_normalmath} \_def\boldmath {\_boldmath}
\_doc -----------------------------
- The classical math family selectors
+ The classical math family selectors
\`\mit`, \^`\cal`, \^`\bbchar`, \^`\frak` and \^`\script`
- are defined here.
- The \^`\rm`, \^`\bf`, \^`\it`, \^`\bi` and \^`\tt` does two things:
- they are variant selectors for text fonts and math family selectors for math fonts.
+ are defined here.
+ The \^`\rm`, \^`\bf`, \^`\it`, \^`\bi` and \^`\tt` does two things:
+ they are variant selectors for text fonts and math family selectors for math fonts.
The idea was adapted from plain \TeX/.\nl
These macros are redefined when `unimat-codes.opm` is loaded,
see the section~\ref[unimath-codes].
@@ -59,10 +59,10 @@
%\_chardef\_ttfam = 10
%\_chardef\_itfam = 11
-\_protected\_def \_rm {\_tryloadrm \_tenrm \_fam0 }
+\_protected\_def \_rm {\_tryloadrm \_tenrm \_fam0 }
\_protected\_def \_bf {\_tryloadbf \_tenbf \_fam\_bffam}
\_protected\_def \_it {\_tryloadit \_tenit \_fam1 }
-\_protected\_def \_bi {\_tryloadbi \_tenbi \_fam\_bifam}
+\_protected\_def \_bi {\_tryloadbi \_tenbi \_fam\_bifam}
\_protected\_def \_tt {\_tryloadtt \_tentt}
\_protected\_def \_mit {\_fam1 }
@@ -74,7 +74,7 @@
\_public \rm \bf \it \bi \tt \mit \cal \bbchar \frak \script ;
\_doc -----------------------------
- The optical sizes of Computer Modern fonts, AMS and other fonts
+ The optical sizes of Computer Modern fonts, AMS, and other fonts
are declared here.
\_cod -----------------------------
@@ -85,13 +85,13 @@
\_regtfm cmmib 0 cmmib5 5.5 cmmib6 6.5 cmmib7 7.5 cmmib8 8.5 cmmib9 9.5 cmmib10 *
\_regtfm cmtex 0 cstex8 8.5 cstex9 9.5 cstex10 *
\_regtfm cmsy 0 cmsy5 5.5 cmsy6 6.5 cmsy7 7.5 cmsy8 8.5 cmsy9 9.5 cmsy10 *
-\_regtfm cmbsy 0 cmbsy5 5.5 cmbsy6 6.5 cmbsy7 7.5 cmbsy8 8.5 cmbsy9 9.5 cmbsy10 *
+\_regtfm cmbsy 0 cmbsy5 5.5 cmbsy6 6.5 cmbsy7 7.5 cmbsy8 8.5 cmbsy9 9.5 cmbsy10 *
\_regtfm cmex 0 cmex7 7.5 cmex8 8.5 cmex9 9.5 cmex10 *
\_regtfm cmexb 0 cmexb10 *
\_regtfm cmr 0 cmr5 5.5 cmr6 6.5 cmr7 7.5 cmr8 8.5 cmr9 9.5
cmr10 11.1 cmr12 15 cmr17 *
-\_regtfm cmbx 0 cmbx5 5.5 cmbx6 6.5 cmbx7 7.5 cmbx8 8.5 cmbx9 9.5
+\_regtfm cmbx 0 cmbx5 5.5 cmbx6 6.5 cmbx7 7.5 cmbx8 8.5 cmbx9 9.5
cmbx10 11.1 cmbx12 *
\_regtfm cmti 0 cmti7 7.5 cmti8 8.5 cmti9 9.5 cmti10 11.1 cmti12 *
\_regtfm cmtt 0 cmtt8 8.5 cmtt9 9.5 cmtt10 11.1 cmtt12 *
@@ -109,17 +109,17 @@
%% bf and bi sansserif math alternatives:
-\_regtfm bfsans 0 ecsx0500 5.5 ecsx0600 6.5 ecsx0700 7.5 ecsx0800
- 8.5 ecsx0900 9.5 ecsx1000 11.1 ecsx1200 *
-\_regtfm bisans 0 ecso0500 5.5 ecso0600 6.5 ecso0700 7.5 ecso0800
- 8.5 ecso0900 9.5 ecso1000 11.1 ecso1200 *
-\_regtfm bbfsans 0 ecsx0500 5.5 ecsx0600 6.5 ecsx0700 7.5 ecsx0800
- 8.5 ecsx0900 9.5 ecsx1000 11.1 ecsx1200 *
-\_regtfm bbisans 0 ecso0500 5.5 ecso0600 6.5 ecso0700 7.5 ecso0800
- 8.5 ecso0900 9.5 ecso1000 11.1 ecso1200 *
+\_regtfm bfsans 0 ecsx0500 5.5 ecsx0600 6.5 ecsx0700 7.5 ecsx0800
+ 8.5 ecsx0900 9.5 ecsx1000 11.1 ecsx1200 *
+\_regtfm bisans 0 ecso0500 5.5 ecso0600 6.5 ecso0700 7.5 ecso0800
+ 8.5 ecso0900 9.5 ecso1000 11.1 ecso1200 *
+\_regtfm bbfsans 0 ecsx0500 5.5 ecsx0600 6.5 ecsx0700 7.5 ecsx0800
+ 8.5 ecsx0900 9.5 ecsx1000 11.1 ecsx1200 *
+\_regtfm bbisans 0 ecso0500 5.5 ecso0600 6.5 ecso0700 7.5 ecso0800
+ 8.5 ecso0900 9.5 ecso1000 11.1 ecso1200 *
\_doc -----------------------------
- \`\_loadmathfamily` `<number> <font>` loads one math family, i.\,e.\
+ \`\_loadmathfamily` `<number> <font>` loads one math family, i.\,e.\
the triple of fonts in the text size, script size and script-script size.
The `<font>` is `<font-id>` used in the `\_regtfm` parameter or
the real TFM name. The family is saved as `\fam<number>`.
@@ -130,13 +130,13 @@
\nl
The font family is loaded at \`\_sizemtext`, \`\_sizemscript` and
\`\_sizemsscript` sizes. These sizes are set by the
- \`\setmathsizes` `[<text-size>/<script-size>/<scriptscript-size>]` macro.
- These parameters are given in the \`\ptmunit` unit, it is set to
+ \`\setmathsizes` `[<text-size>/<script-size>/<scriptscript-size>]` macro.
+ These parameters are given in the \`\ptmunit` unit, it is set to
1\`\ptunit` and it is set to 1\,pt by default.
\nl
\`\_corrmsizes` should be used in the \^`\normalmath` and \^`\boldmath`
macros if you need a size correction when a selected math family is
- loaded. It is similar as ex-height correction but for math fonts.
+ loaded. It is similar to ex-height correction but for math fonts.
\_cod -----------------------------
\_def\_corrmsizes{\_ptmunit=1\_ptunit\_relax} % for corrections of sizes in diferent fomts
@@ -156,7 +156,7 @@
\_optsize=\_optsizesave \_let#2=\_mF
}
\_def\_setmathsizes[#1/#2/#3]{%
- \_def\_sizemtext{#1\_ptmunit}\_def\_sizemscript{#2\_ptmunit}%
+ \_def\_sizemtext{#1\_ptmunit}\_def\_sizemscript{#2\_ptmunit}%
\_def\_sizemsscript{#3\_ptmunit}%
}
\_newdimen\_ptunit \_ptunit=1pt
@@ -177,18 +177,18 @@
\_scriptspace=0.05\_fontdimen6\_textfont3
\_skewchar\_textfont1=127 \_skewchar\_scriptfont1=127
\_skewchar\_scriptscriptfont1=127
- \_skewchar\_textfont2=48 \_skewchar\_scriptfont2=48
- \_skewchar\_scriptscriptfont2=48
+ \_skewchar\_textfont2=48 \_skewchar\_scriptfont2=48
+ \_skewchar\_scriptscriptfont2=48
\_skewchar\_textfont6=127 \_skewchar\_scriptfont6=127
\_skewchar\_scriptscriptfont6=127
}
\_doc -----------------------------
- Finaly, we preload a math fonts colleciton in [10/7/5] sizes
+ Finally, we preload a math fonts collection in [10/7/5] sizes
when the format is generated. This is done when
- `\_suppressfontnotfounderror=1` because we need not errors when format is
+ `\_suppressfontnotfounderror=1` because we need not errors when the format is
generated. Maybe there are not all fonts in the \TeX/ distribution
- installed.
+ installed.
\_cod -----------------------------
\_suppressfontnotfounderror=1
@@ -203,11 +203,11 @@ concept, where each math family includes three fonts with max 256 characters
(typically 128 characters).
On the other hand, when \^`\fontfam` macro is used in the document then text
-font family and appropriate math family is loaded with Unicoded fonts, i.e.
-Unicoded-math is used. It re-defines all settings given here.
+font family and appropriate math family is loaded with Unicode fonts, i.e.
+Unicode-math is used. It re-defines all settings given here.
The general rule of usage the math fonts in different sizes in \OpTeX/ says: set three
-sizes by the macro
+sizes by the macro
\^`\setmathsizes` `[<text-size>/<script-size>/<scriptscript-size>]` and then
load all math fonts in given sizes by \^`\normalmath` or \^`\boldmath` macros.
For example
@@ -215,7 +215,7 @@ For example
\setmathsizes[12/8.4/6]\normalmath ... math typesetting at 12 pt is ready.
\endtt
-\_endinput
+\_endinput
2020-05-06: \itfam, \ttfam removed, (Unicode math preferred)
2020-04-14: \skewchar\fam6 added
diff --git a/macros/luatex/optex/base/math-unicode.opm b/macros/luatex/optex/base/math-unicode.opm
index 01595975ab..f857deb175 100644
--- a/macros/luatex/optex/base/math-unicode.opm
+++ b/macros/luatex/optex/base/math-unicode.opm
@@ -1,14 +1,14 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \loadmath {Unicode Math fonts <2020-06-06>} % preloaded in format
\_doc -----------------------------
- \`\loadmath` `{<Unicode-math font>}` loads given font. It does:
+ \`\loadmath` `{<Unicode-math font>}` loads the given font. It does:
\begitems
* define \`\_unimathfont` as `<Unicode-math font>`,
* redefine `\normalmath` and `\boldmath` macros to their Unicode counterparts,
* load the `\_unimathfont` by `\normalmath`,
- * print information about loaded font on the terminal,
+ * print information about the loaded font on the terminal,
* redefine all encoding dependent setting by `\input unimath-codes.opm`,
* protect new loading by setting \`\_ifmathloading` to false.
\enditems
@@ -28,7 +28,7 @@
\_opwarning{Math font "#1" not found, skipped...}%
\_else
\_def\_unimathfont{#1}%
- \_let\_normalmath = \_normalunimath \_let\_boldmath = \_boldunimath
+ \_let\_normalmath = \_normalunimath \_let\_boldmath = \_boldunimath
\_normalmath
\_wterm {MATH-FONT: "#1" -- unicode math prepared.}%
\_ifx\_ncharrmA\_undefined \_opinput {unimath-codes.opm}\_fi
@@ -40,7 +40,7 @@
\_doc -----------------------------
\`\loadboldmath` `{<bold-font>} \to {<normal-font>}`
defines \`\_unimathboldfont` as `<bold-font>` only if `\_unimathfont` is
- defined as `<normal-font>`. It is used when `\boldmath` macro is run.
+ defined as `<normal-font>`. It is used when \^`\boldmath` macro is run.
When no `\_unimathboldfont` is defined then the `\boldmath` macro
use \"fake bold" generated by `embolden` \LuaTeX/ font feature.
\_cod -----------------------------
@@ -48,7 +48,7 @@
\_def\_loadboldmath#1#2\to #3{%
\_def\_tmp{#3}\_ifx\_unimathfont\_tmp % do work only if #3 is loaded as normal Math
\_isfont{#1}\_iffalse
- \_opwarning{Bold-Math font "#1" not found, skipped...}
+ \_opwarning{Bold-Math font "#1" not found, skipped...}
\_else
\_def\_unimathboldfont{#1}%
\_wterm {MATH-FONT: "#1" -- unicode math bold prepared.}%
@@ -59,8 +59,15 @@
\_doc -----------------------------
The Unicode version of the \^`\normalmath` and \^`\boldmath` macros
are defined here as \`\_normalunimath` and \`\_boldunimath` macros.
- They are using \`\_setunimathdimens` in similar sense as
+ They are using \`\_setunimathdimens` in a similar sense as
\^`\_setmathdimens`.
+ \nl
+ You can combine more fonts if you register them to another
+ math families (5, 6, 7, etc.) in the \^`\normalmath` macro.
+ \nl
+ The default value of \^`\_normalunimath` shows a combination of base Unicode-math
+ font with 8bit Math font at family 4. See definition of `\script` macro where
+ `\fam4` is used.
\_cod -----------------------------
\_def\_normalunimath{%
@@ -69,7 +76,7 @@
\_setunimathdimens
}%
\_def\_boldunimath{%
- \_ifx\_unimathboldfont \_undefined
+ \_ifx\_unimathboldfont \_undefined
\_loadumathfamily 1 {\_unimathfont}{embolden=1.7;} % Base faked bold
\_else
\_loadumathfamily 1 {\_unimathboldfont}{} % Base real bold font
@@ -86,20 +93,36 @@
}
\_doc -----------------------------
- \`\_loadumathfamily` `<number> {<font>}{<font features>}`
- loads the given Unicode-math fonts in three sizes given by the
+ If you try the example above about
+ \~`\loadboldmath``{[xitsmath-bold]} \to {[xitsmath-regular]}`
+ then you can find a bug in XITSMath-Bold font: the symbols for norm
+ $\|x\|$ are missing. So, we have to define `\_boldmath` macro manually.
+ The missing symbol is loaded from family 5 as no-bold variant in our example:
+ \begtt
+ \loadmath{[xitsmath-regular]}
+ \def\_boldmath{%
+ \_loadumathfamily 1 {[xitsmath-bold]}{} % Base font
+ \_loadmathfamily 4 rsfs % script
+ \_loadumathfamily 5 {[xitsmath-regular]}{}
+ \_def\|{\_Udelimiter 0 5 "02016 }% % norm delimiter from family 5
+ \_setmathdimens
+ }
+ \endtt
+
+ \`\_loadumathfamily` `<number> {<font>}{<font features>}`
+ loads the given Unicode-math fonts in three sizes given by the
\^`\setmathsizes` macro and sets it as the math family `<number>`.
The `<font features>` are added to the default
- \`\_mfontfeatures` and to the size dependent features `+ssty=0`
+ \`\_mfontfeatures` and to the size-dependent features `+ssty=0`
if script size is asked or `+ssty=1` if scriptscriptsize is asked.
- If the fath family 1 is loaded then the family 2 and 3 is set by the same
- font because \TeX/ needs to read dimension information about generating
+ If the math family 1 is loaded then the family 2 and 3 are set by the same
+ font because \TeX/ needs to read dimension information about generating
math formulae from these three math families. All information needed by
\TeX/ is collected in single Unicode-math font.
\_cod -----------------------------
\_def\_umathname#1#2{"#1:\_mfontfeatures#2"}
-\_def\_mfontfeatures{mode=base;script=math;}
+\_def\_mfontfeatures{mode=base;script=math;}
\_def\_loadumathfamily #1 #2#3 {%
\_edef\_optsizesave{\_the\_optsize}%
@@ -108,35 +131,35 @@
\_optsize=\_sizemscript \_font\_mF=\_umathname{#2}{+ssty=0;#3} at\_optsize \_scriptfont#1=\_mF
\_ifnum#1=1 \_scriptfont2=\_mF \_scriptfont3=\_mF \_fi
\_optsize=\_sizemsscript \_font\_mF=\_umathname{#2}{+ssty=1;#3} at\_optsize\_scriptscriptfont#1=\_mF
- \_ifnum#1=1 \_scriptscriptfont2=\_mF \_scriptscriptfont3=\_mF \_fi
+ \_ifnum#1=1 \_scriptscriptfont2=\_mF \_scriptscriptfont3=\_mF \_fi
\_optsize=\_optsizesave \_relax
}
\_doc -----------------------------
Unicode math font includes all typical math alphabets together, user needs not to
- load more \TeX/ math families. These math aphabets are encoded by
+ load more \TeX/ math families. These math alphabets are encoded by
different parts of Unicode table. We need auxiliary macros for setting
mathcodes by selected math alphabet.
- \nl
+ \nl
\`\_umathrange` `{<from->-<to>}<class><family>\<first>` sets `\Umathcode`s
- of the characters in the interval `<from>-<to>` to `\<first>`,
+ of the characters in the interval `<from>-<to>` to `\<first>`,
`\<first>+1`, `\<first>+2`
- etc., but \`\_umathcharholes` are skipped
+ etc., but \`\_umathcharholes` are skipped
(`\_umathcharholes` are parts of the Unicode table not designed for math
- alphabets but they causes that the math alphabets are
+ alphabets but they cause that the math alphabets are
not continuously spread out in the table; I mean that the
designers were under the influence of drugs when they created
this part of the Unicode table).
- The `<from>-<to>` clause includes normal letters like `A-Z`.
+ The `<from>-<to>` clause includes normal letters like `A-Z`.
\nl
- \`\_umahrangegreek` `\<first>` is the same as
+ \`\_umahrangegreek` `\<first>` is the same as
`\_umathrange {<alpha>-<omega>}\<first>`.
\nl
- \`\_umahrangeGREEK` `\<first>` is the same as
+ \`\_umahrangeGREEK` `\<first>` is the same as
`\_umathrange {<Alpha>-<Omega>}\<first>`.
\nl
\`\_greekdef` `<control sequences> \_relax` defines each control sequence
- as a normal character with codes `\_umathnumB`, `\_umathnumB+1`,
+ as a normal character with codes `\_umathnumB`, `\_umathnumB+1`,
`\_umathnumB+2` etc. It is used for redefinig the contol sequences for
math Greek `\alpha`, `\beta`, `\gamma` etc.
\_cod -----------------------------
@@ -176,47 +199,42 @@
The \^`\loadmath` `{<Unicode-math font>}` macro loads math fonts and
-redefines all default math-codes using `\input unimath-codes.opm`.
+redefines all default math-codes using `\input unimath-codes.opm`.
If Unicode-math font is loaded then \^`\_mathloadingfalse`
-is set, so new UnicodeMath font isn't loaded until \^`\doloadmath` is used.
+is set, so the new Unicode-math font isn't loaded until \^`\doloadmath` is used.
\^`\loadboldmath` `{<bold-font>} \to {<normal-font>}` loads bold variant only
-if `<normal-font>` was sucessully loaded by the `\loadmath`. For example:
+if `<normal-font>` was sucessully loaded by the previous `\loadmath`. For example:
\begtt
\loadmath {[xitsmath-regular]}
\loadboldmath {[xitsmath-bold]} \to {[xitsmath-regular]}
\endtt
-
-You can combine more fonts, if you register them to another
-math families (5, 6, 7, etc.) in the `\normalmath` macro.
-
-The default value of `\normalmath` shows a combination of base Unicode Math
-font with 8bit Math font at family 4. See definition of `\script` macro where
-`\fam4` is used. Of course, we need to set `\rmvariables` too, because 8bit font
-accepts only codes less than 255.
-
-See \url{http://tex.stackexchange.com/questions/308749/} for more technical details.
+There are very few Unicode-math fonts with full \^`\boldmath` support.
+I know only XITSMath-Bold and KpMath-Bold. If \^`\loadboldmath` is not used
+then \"faked bold" created from \^`\normalmath` is used by default.
The \^`\loadmath` macro was succesfully tested on:
\begtt
\loadmath{[XITSMath-Regular]} ... XITS MATH
\loadmath{[latinmodern-math]} ... Latin Modern Math
-\loadmath{[texgyretermes-math]} ... TeXGyre Termes Math
-\loadmath{[texgyrebonum-math]} ... TeXGyre Bonum Math
-\loadmath{[texgyrepagella-math]} ... TeXGyre Pagella Math
+\loadmath{[texgyretermes-math]} ... TeXGyre Termes Math
+\loadmath{[texgyrebonum-math]} ... TeXGyre Bonum Math
+\loadmath{[texgyrepagella-math]} ... TeXGyre Pagella Math
\loadmath{[texgyreschola-math]} ... TeXGyre Schola Math
-\loadmath{[texgyredejavu-math]} ... TeXGyre DeJaVu Math
-\loadmath{[LibertinusMath-Regular]} ... Libertinus Math
+\loadmath{[texgyredejavu-math]} ... TeXGyre DeJaVu Math
+\loadmath{[LibertinusMath-Regular]} ... Libertinus Math
\loadmath{[FiraMath-Regular]} ... Fira Math
\loadmath{[Asana-Math]} ... Asana Math
+\loadmath{[KpMath-Regular]} ... KP fonts Math
\endtt
\secc Unicode-math macros preloaded in the format
\printdoc math-unicode.opm
+
\secc[unimath-codes] Macros and codes set when \code{\\loadmatfont} is processed
The file `unimath-codes.opm` is loaded when the \^`\loadmath` is used. The
diff --git a/macros/luatex/optex/base/more-macros.opm b/macros/luatex/optex/base/more-macros.opm
index e31f43e065..406139b16f 100644
--- a/macros/luatex/optex/base/more-macros.opm
+++ b/macros/luatex/optex/base/more-macros.opm
@@ -1,16 +1,16 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \eoldef {OpTeX useful macos <2020-05-22>} % preloaded in format
\_doc -----------------------------
We define \`\opinput` `{<file name>}` macro which
does `\input {<file name>}` but the catcodes are set to normal catcodes
- (like \OpTeX/ initializes them) and the catcodes setting are returned back to
+ (like \OpTeX/ initializes them) and the catcodes setting is returned back to
the current values when the file is read. You can use `\opinput`
in any situation inside the document and you will be sure that the file
is read correctly with correct catcode settings.
- In order to achieve this, we declare \`\optexcatcodes` catcode table
+ To achieve this, we declare \`\optexcatcodes` catcode table
and \`\plaintexcatcodes`. They save the commonly used catcode tables.
Note that `\catcodetable` is a part of \LuaTeX/ extension.
The catcodetable stack is implemented by \OpTeX/ macros.
@@ -19,7 +19,7 @@
the `<catcode table>`. The \`\restorectable` returns to the saved catcodes
from the catcode table stack.
- The `\opinput` works inside catcode table stack. It reads `\optexcatcodes`
+ The `\opinput` works inside the catcode table stack. It reads `\optexcatcodes`
table and stores it to \`\_tmpcatcodes` table.
This table is actually used during `\input` (maybe catcodes are
changed here). Finally, `\_restoretable` pops the stacks and returns
@@ -82,7 +82,7 @@
The \`\load` `[<filename-list>]` loads files specfied in
comma separated `<filename-list>`. The first space (after comma)
is ignored using the trick `#1#2,`: first parameter is unseparated.
- The `\load` macro saves the information about loaded files by setting
+ The `\load` macro saves information about loaded files by setting
`\_load:<filename>` as a defined macro.
If the \`\_afterload` macro is defined then it is run after `\_opinput`.
@@ -135,7 +135,7 @@
The macro defined by `\eoldef` cannot be used with its parameter inside
other macros because the catcode dancing is not possible here. But the
\`\bracedparam``\macro{<parameter>}` can be used here. The `\bracedparam`
- is a prefix which re-sets temporarily the `\macro` to a `\macro` with
+ is a prefix that re-sets temporarily the `\macro` to a `\macro` with
normal one parameter.
The \`\skiptoeol` macro reads the text to the end of the current line
@@ -167,7 +167,7 @@
Inline verbatim works in title sections.
The verbatim scanner of `\scatoeol` keeps category 7 for `^` in
- order to be able to use `^^J` as comment chracter which means that
+ order to be able to use `^^J` as comment character which means that
the next line continues.
\_cod -----------------------------
@@ -186,15 +186,26 @@
`<textA>` are not replaced if they are \"hidden" in braces, for example
`...{...<textA>...}...`. The category codes in the `<textA>` must exactly
match.
+
+ How it works: `\replstring\foo{<textA>}{<textB>}` prepares
+ `\_replacestringsA#1<textA>{...}` and runs
+ `\_replacestringsA<foo-body>?<textA>!<textA>`.
+ So, `#1` includes the first part of <foo-body> before first <textA>.
+ It is saved to \`\_tmptoks` and `\_replacestringsB` is run in a loop.
+ It finishes processing or appends the next part to `\_tmptoks` separated by
+ <textB> and continues loop. The final part of the macro removes the last `?`
+ from resulting `\_tmptoks` and defines a new version of the `\foo`.
\_cod -----------------------------
+\_newtoks\_tmptoks
\_catcode`!=3 \_catcode`?=3
\_def\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
- \_long\_def\_replacestringsA##1#2{\_def #1{##1}\_replacestringsB}%
- \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_addto #1{#3##1}%
- \_ea\_replacestringsB\_fi}%
+ \_long\_def\_replacestringsA##1#2{\_tmptoks{##1}\_replacestringsB}%
+ \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_toksapp\_tmptoks{#3##1}%
+ \_ea\_replacestringsB\_fi}%
\_ea\_replacestringsA #1?#2!#2%
- \_long\_def\_replacestringsA##1?{\_def #1{##1}}\_ea\_replacestringsA #1}
+ \_long\_def\_replacestringsA##1?{\_tmptoks{##1}\_edef#1{\_the\_tmptoks}}%
+ \_ea\_replacestringsA \_the\_tmptoks}
\_normalcatcodes
\_public \replstring ;
@@ -217,15 +228,12 @@
\nl
The `\_ea`\`\ignorept``\the<dimen>` expands to a decimal
number `\the<dimen>` but without `pt` unit.
- \nl
- The \`\ignoreit``<token>` just ignores the `<token>`.
\_cod -----------------------------
\_def\_removespaces #1 {\_isempty{#1}\_iffalse #1\_ea\_removespaces\_fi}
\_ea\_def \_ea\_ignorept \_ea#\_ea1\_detokenize{pt}{#1}
-\_def\_ignoreit#1{}
-\public \removespaces \ignorept \ignoreit ;
+\public \removespaces \ignorept ;
\_doc -----------------------------
You can use expandable \`\bp``{<dimen>}` convertor from
@@ -237,11 +245,11 @@
\endtt
You can use expandable \`\expr``{<expression>}` for analogical purposes.
It expands to the value of the `<expression>` at expand processor level
- with \`\_decdigits` digits after decimal point.
+ with \`\_decdigits` digits after the decimal point.
The `<expression>` can include `+-*/()` and decimal numbers in common syntax.
The usage of prefixed versions \`\_expr` or \`\_bp` is more recommended
- because user can re-define the control sequences `\expr` or `\bp`.
+ because a user can re-define the control sequences `\expr` or `\bp`.
\_cod -----------------------------
\_def\_decdigits{3} % digits after decimal point in \_bp and \_expr outputs.
@@ -257,7 +265,7 @@
\_doc ------------------
The pair {\`\_doc` ... \`\_cod`} is used for documenting macros and to
printing the technical documentation of the \OpTeX/. The syntax is:
- {\begtt
+ {\begtt \catcode`\<=13
\_doc <ignored text>
<documentation>
\_cod <ignored text>
diff --git a/macros/luatex/optex/base/multicolumns.opm b/macros/luatex/optex/base/multicolumns.opm
index 2305aacf5a..bf5b05f7db 100644
--- a/macros/luatex/optex/base/multicolumns.opm
+++ b/macros/luatex/optex/base/multicolumns.opm
@@ -1,19 +1,19 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \begmulti {Balanced columns <2020-03-26>} % preloaded in format
\_doc -----------------------------
This code is documented in detail in the \"\TeX/book naruby", pages 244--246,
free available, \url{http://petr.olsak.net/tbn.html}, but in Czech.
- Roughly speaking, macros complete all material between
+ Roughly speaking, macros complete all material between
\`\begmulti``<num-columns>` and \`\endmulti`
- into one `\vbox 6`. Then the macro measures the amount of free space at the current
- page using `\pagegoal` and `\pagtotal` and does `\vsplit` of `\vbox 6` to
- columns with height of such free space. This is done only if we have
- enought amount of material in `\vbox 6` to fill full page by columns.
- This is repeated in loop until we have less amount of material in `\vbox 6`.
- Then we run `\_balancecolumns` which balances the last part of columns.
- Each part of printed material is distributed to main vertical list as
+ into one `\vbox 6`. Then the macro measures the amount of free space at the current
+ page using `\pagegoal` and `\pagtotal` and does `\vsplit` of `\vbox 6` to
+ columns with a height of such free space. This is done only if we have
+ enough amount of material in `\vbox 6` to fill the full page by columns.
+ This is repeated in a loop until we have less amount of material in `\vbox 6`.
+ Then we run `\_balancecolumns` which balances the last part of the columns.
+ Each part of printed material is distributed to the main vertical list as
`\hbox{<columns>}` and we need not do any change in the output routine.
If you have paragraphs in `\begmulti`... `\endmulti` environment then
@@ -34,8 +34,8 @@
\_def\par{\_ifhmode\_endgraf\_global\_advance\_mullines by\_prevgraf\_fi}%
}
\_def\_endmulti{\_vskip-\_prevdepth\_vfil
- \_ea\_egroup\_ea\_baselineskip\_the\_baselineskip\_relax
- \_dimen0=.8\_maxdimen \_tmpnum=\_dimen0 \_divide\_tmpnum by\_baselineskip
+ \_ea\_egroup\_ea\_baselineskip\_the\_baselineskip\_relax
+ \_dimen0=.8\_maxdimen \_tmpnum=\_dimen0 \_divide\_tmpnum by\_baselineskip
\_splittopskip=\_baselineskip
\_setbox1=\_vsplit6 to0pt
%% \dimen1 := the free space on the page
@@ -53,7 +53,7 @@
\_doc -----------------------------
Splitting columns...
- \_cod -----------------------------
+ \_cod -----------------------------
\_def\_makecolumns{\_bgroup % full page, destination height: \dimen1
\_vbadness=20000 \_setbox1=\_hbox{}\_tmpnum=0
diff --git a/macros/luatex/optex/base/optex.ini b/macros/luatex/optex/base/optex.ini
index 96744b8e1c..9a4aeace8e 100644
--- a/macros/luatex/optex/base/optex.ini
+++ b/macros/luatex/optex/base/optex.ini
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
%% OpTeX ini file
%% Petr Olsak <project started from: Jan. 2020>
@@ -21,7 +21,7 @@
% OpTeX version
-\def\optexversion{Beta 0.18 Dec.2020}
+\def\optexversion{Beta 0.19 Jan.2021}
\def\fmtname{OpTeX}
% Engine testing:
diff --git a/macros/luatex/optex/base/optex.lua b/macros/luatex/optex/base/optex.lua
index 8201b8b306..9bc8d6f7d8 100644
--- a/macros/luatex/optex/base/optex.lua
+++ b/macros/luatex/optex/base/optex.lua
@@ -1,4 +1,4 @@
--- This is part of OpTeX project, see http://petr.olsak.net/optex
+-- This is part of the OpTeX project, see http://petr.olsak.net/optex
-- The basic lua functions and declarations used in \OpTeX/ are here
@@ -20,10 +20,9 @@ alloc = alloc or {}
--
-- An attribute allocator in Lua that cooperates with normal \OpTeX/ allocator.
local attributes = {}
-local attribute_max = registernumber("_maiattribute")
function alloc.new_attribute(name)
local cnt = tex.count["_attributealloc"] + 1
- if cnt > attribute_max then
+ if cnt > 65534 then
tex.error("No room for a new attribute")
else
tex.setcount("global", "_attributealloc", cnt)
@@ -33,6 +32,9 @@ function alloc.new_attribute(name)
end
end
--
+-- `provides_module` is needed by older version of luaotfload
+provides_module = function() end
+--
-- CALLBACKS
callback = callback or {}
--
@@ -341,6 +343,7 @@ end)
luatexbase = {
registernumber = registernumber,
attributes = attributes,
+ provides_module = provides_module,
new_attribute = alloc.new_attribute,
callback_descriptions = callback.callback_descriptions,
create_callback = callback.create_callback,
diff --git a/macros/luatex/optex/base/others.opm b/macros/luatex/optex/base/others.opm
index 225e54c37a..d96edc4dba 100644
--- a/macros/luatex/optex/base/others.opm
+++ b/macros/luatex/optex/base/others.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \uv {Miscenaleous <2020-05-22>} % preloaded in format
@@ -10,20 +10,18 @@
\_doc ----------------------------
The \`\lastpage` and \`\totalpages` get the information from the
- \^`\_currpage`. The \^`\_Xpage` from `.ref` file sets the \^`\_currpage`.
+ \^`\_currpage`. The \^`\_Xpage` from `.ref` file sets the \^`\_currpage`.
\_cod ----------------------------
-\_def\_totalpages {\_openref\_ea\_lastpageA\_currpage}
-\_def\_lastpage {\_openref\_ea\_lastpageB\_currpage}
-\_def\_lastpageA #1#2{#1}
-\_def\_lastpageB #1#2{#2}
+\_def\_totalpages {\_openref\_ea\_ignoresecond\_currpage}
+\_def\_lastpage {\_openref\_ea\_usesecond\_currpage}
\_def\_currpage {{0}{?}}
\_public \lastpage \totalpages ;
\_doc ----------------------------
We need \`\uv`, \`\clqq`, \`\crqq`, \`\flqq`, \`\frqq`, \`\uslang`, \`\ehyph`
- \`\chyph`, \`\shyph`, for backward compatibility with \csplain.
- Codes are set according to Unicode, because we are using Czech only in Unicode
+ \`\chyph`, \`\shyph`, for backward compatibility with \csplain.
+ Codes are set according to Unicode because we are using Czech only in Unicode
when \LuaTeX/ is used.
\_cod ----------------------------
@@ -36,18 +34,18 @@
\_def\uv#1{\clqq#1\crqq}
-\_let\uslang=\enlang \_let\ehyph=\enlang
+\_let\uslang=\enlang \_let\ehyph=\enlang
\_let\chyph=\cslang \_let\shyph=\sklang
\_let\csUnicode=\csPatt \_let\czUnicode=\csPatt \_let\skUnicode=\skPatt
\_doc ----------------------------
- The \`\letfont` was used in \csplain/ instead of `\fontlet`.
+ The \`\letfont` was used in \csplain/ instead of `\fontlet`.
\_cod ----------------------------
\_let \letfont = \_fontlet
\_doc ----------------------------
- Non breaking space in Unicode.
+ Non-breaking space in Unicode.
\_cod ----------------------------
\let ^^a0=~
@@ -63,7 +61,7 @@
We don't want to read `opmac.tex` unless `\input opmac` is specified.
\_cod ----------------------------
-\_def\OPmacversion{OpTeX}
+\_def\OPmacversion{OpTeX}
\_doc ----------------------------
We allow empty lines in math formulae. It is more comfortable.
@@ -76,29 +74,33 @@
for example `\lipsum[3]` or `\lipsum[112-121]`, max=150.
First usage of `\lipsum` reads the \LaTeX/ file `lipsum.ltd.tex`
+ by \`\_lipsumload`
and prints the selected paragraph(s). Next usages of `\lipsum`
prints the selected paragraph(s) from memory. This second and more
usages of `\lipsum` are fully expandable. If you want to have all
printings of `\lipsum` expandable, use dummy `\lipsum[0]` first.
+
+ `\lipsum` adds `\par` after each printed paragraph. If you don't need
+ such `\par` here, use \`\lipsumtext``[<number>]`.
+ This macro prints only one selected paragraph <number> and does not add `\par`.
\_cod ----------------------------
-\_def \_lipsum {%
- {\_long\_def\ProvidesFile##1[##2]##3{\_ifx\_par##3\_relax\_else \_ea##3\_fi}\_tmpnum=0
- \_def\NewLipsumPar{\_advance\_tmpnum by1
- \_afterassignment\_negativermnm \_sxdef{lips:\_the\_tmpnum}}%
- \_opinput {lipsum.ltd.tex}%
- \_global\_let \_lipsum=\_reallipsum
- }\_lipsum
-}
-\_def\_negativermnm{\_romannumeral-`\.}
-\_def\_reallipsum[#1]{\_lipsumA #1\_empty-\_empty\_end}
+\_def\_lipsumtext[#1]{\_lipsumload\_cs{_lip:#1}}
+\_def\_lipsum[#1]{\_lipsumA #1\_empty-\_empty\_end}
\_def\_lipsumA #1-#2\_empty#3\_end{%
- \_fornum #1..\_ifx^#2^#1\_else#2\_fi \_do {\_csname lips:##1\_endcsname \par}}
-
-\def\lipsum {\_lipsum}
-\def\lorem {\_lipsum}
+ \_fornum #1..\_ifx^#2^#1\_else#2\_fi \_do {\_lipsumtext[##1]\par}}
+\_def\_lipsumload{{%
+ \_setbox0=\_vbox{\_tmpnum=0 % vertical mode during \input lipsum.ltd.tex
+ \_def\ProvidesFile##1[##2]{}%
+ \_def\NewLipsumPar{\_advance\_tmpnum by1 \_sxdef{_lip:\_the\_tmpnum}}%
+ \_opinput {lipsum.ltd.tex}%
+ \_global\_let\_lipsumload=\_empty
+ }}}
+\_public \lipsum \lipsumtext ;
+\_let \lorem=\lipsum
\_endcode
+2021-01-04 \lipsumtext introduced
2020-05-22 \lipsum uses \fornum (expandable after first usage)
-2020-04-02 released \ No newline at end of file
+2020-04-02 released
diff --git a/macros/luatex/optex/base/outlines.opm b/macros/luatex/optex/base/outlines.opm
index 2f9a040881..d1082f9580 100644
--- a/macros/luatex/optex/base/outlines.opm
+++ b/macros/luatex/optex/base/outlines.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \outlines {PDF outlines <2020-03-12>} % preloaded in format
@@ -12,7 +12,7 @@
{\_let\_tocline=\_outlinesA
\_count0=0 \_count1=0 \_count2=0 \_count3=0 \_toclist % calculate numbers o childs
\_def\_outlinelevel{#1}\_let\_tocline=\_outlinesB
- \_tocrefnum=0 \_count0=0 \_count1=0 \_count2=0 \_count3=0
+ \_tocrefnum=0 \_count0=0 \_count1=0 \_count2=0 \_count3=0
\_toclist}% create outlines
\_fi
}
@@ -61,38 +61,38 @@ outlines. But we know only the level of each outline. The required data
should be calculated from TOC data. We use two steps over TOC data saved in
the `\_toclist` where each record is represented by one `\_tocline`.
-First step, the \`\outlines` macro sets `\_tocline` to \`\_outlinesA` and
-calculates the number of direct descendants of each record. Second step,
-the `\outlines` macro sets `\_tocline` to \`\_outlinesB` and it uses prepared
-data and create outlines.
+The first step, the \`\outlines` macro sets `\_tocline` to \`\_outlinesA` and
+calculates the number of direct descendants of each record. The second step,
+the `\outlines` macro sets `\_tocline` to \`\_outlinesB` and it uses prepared
+data and creates outlines.
-Each ouline is mapped to the control sequence of the type
+Each outline is mapped to the control sequence of the type
`\_ol:<num>` or `\_ol:<num>:<num>` or `\_ol:<num>:<num>:<num>` or etc.
-The first one is reserved for level 0, the second one for level 1 (chapters), third
-one for level 2 (sections) etc. The number of direct descentants will be stored
-in these macros after first step is finished. Each new outline of given level
-increases the `<num>` at given level. When the first step is processed then
-(above that) the `\_ol:..` sequence of the parent inceases its value too. The
+The first one is reserved for level 0, the second one for level 1 (chapters), the third
+one for level 2 (sections) etc. The number of direct descendants will be stored
+in these macros after the first step is finished. Each new outline of a given level
+increases the `<num>` at the given level. When the first step is processed then
+(above that) the `\_ol:..` sequence of the parent increases its value too. The
`_ol:...` sequences are implemented by `\_ol:\_count0:\_count1:\count2` etc.
For example, when section (level 2) is processed in the first step then we do:
\begtt
- \advance \count2 by 1
- % increases the mapping pointer of the type
- % \_ol:<\_count0:\_count1:\_count2> of this section
- \advance \<_ol:\_count0:\_count1> by 1
- % increases the number of descendants connected
+ \advance \count2 by 1
+ % increases the mapping pointer of the type
+ % \_ol:\_count0:\_count1:\_count2 of this section
+ \advance \_ol:\_count0:\_count1 by 1
+ % increases the number of descendants connected
% to the parent of this section.
\endtt
-When second step is processed, then we only read the stored data about the
-number of descentants. Ad we use it in `count` parameter of `\_pdfoutline`
+When the second step is processed, then we only read the stored data about the
+number of descendants. And we use it in `count` parameter of `\_pdfoutline`
primitive.
-For linking, we use the same links as in TOC, i.e. the `toc:\_the\_tocrefnum`
+For linking, we use the same links as in TOC, i.e. the `toc:\_the\_tocrefnum`
labels are used.
\`\insertoutline` `{<text>}` inserts one outline with zero direct descendants.
-It creates link destination of the type `oul:<num>` into the document
+It creates a link destination of the type `oul:<num>` into the document
(where \^`\insertoutline` is used) and the link itself is created too in the
outline.
diff --git a/macros/luatex/optex/base/output.opm b/macros/luatex/optex/base/output.opm
index b21144c300..8bf02af753 100644
--- a/macros/luatex/optex/base/output.opm
+++ b/macros/luatex/optex/base/output.opm
@@ -1,9 +1,9 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \nopagenumbers {Output routine <2020-03-28>} % preloaded in format
\_doc -----------------------------
- \`\_optexoutput` is default output routine. You can create another...
+ \`\_optexoutput` is the default output routine. You can create another...
\_cod -----------------------------
\_output={\_optexoutput}
@@ -13,17 +13,17 @@
Default \`\_begoutput` and \`\_endoutput` is defined.
If you need another functionality implemented in the output routine, you can
\^`\addto``\_begoutput{...}` or \^`\addto``\_endoutput{...}`. The settings
- here is local in the `\output` group.
+ here are local in the `\output` group.
- The \`\_prepoffsets` can set `\hoffset` differently for left or right
+ The \`\_prepoffsets` can set `\hoffset` differently for the left or right
page. It is re-defined by the \^`\margins` macro..
The \^`\_regmark` tokens list includes accumulated `#2` from the \^`\regmacro`.
- Logos and another macros are re-defined here (locally) for their usage
+ Logos and other macros are re-defined here (locally) for their usage
in headlines or footlines.
\_cod -----------------------------
-\_def \_begoutput{\_incr\_gpageno
+\_def \_begoutput{\_incr\_gpageno
\_immediate\_wref\_Xpage{{\_the\_gpageno}{\_folio}}%
\_setxhsize \_prepoffsets \_the\_regmark}
\_def \_endoutput{\_advancepageno
@@ -34,40 +34,40 @@
\_doc -----------------------------
The `\hsize` value can be changed at various places in the document but
- we need to have constant value \`\_xhsize` in output routine
+ we need to have a constant value \`\_xhsize` in the output routine
(for headlines and footlines, for instance). This value is set
- from current value of `\hsize` when \`\_setxhsize` macro is called.
- This macro destroys itself, so the value is set only once. Typicaly it is
+ from the current value of `\hsize` when \`\_setxhsize` macro is called.
+ This macro destroys itself, so the value is set only once. Typically it is
done when first \^`\_optexoutput` routine is called (see \^`\_begoutput`).
- Or it is called at begining of the \^`\begtt`...`\endtt` environment before
- `\hsize` value is eventually changed by user in this environment.
+ Or it is called at the begining of the \^`\begtt`...`\endtt` environment before
+ `\hsize` value is eventually changed by the user in this environment.
\_cod -----------------------------
\_newdimen \_xhsize
\_def\_setxhsize {\_global\_xhsize=\_hsize \_global\_let\_setxhsize=\_relax}
\_doc -----------------------------
- \`\gpageno` counts pages from one in whole document
+ \`\gpageno` counts pages from one in the whole document
\_cod -----------------------------
\_newcount\_gpageno
\_public \gpageno ;
\_doc -----------------------------
- The \`\_completepage` is similar what plain \TeX/ does in its output routine.
+ The \`\_completepage` is similar to what plain \TeX/ does in its output routine.
New is only \`\_backgroundbox`. It is `\vbox` with zero height with its
- contents (from \^`\pgbackground`) llaped down. It is shifted directly to the
- left-upper corner of the paper.
+ contents (from \^`\pgbackground`) extended down. It is shifted directly to the
+ left-upper corner of the paper.
The \`\_ensureblack` sets the typesetting of its parameter locally to `\Black`
color. We needn't do this if colors are never used in the document. So,
- default value of the `\_ensureblack` macro is empty. But first usage of
+ the default value of the `\_ensureblack` macro is empty. But the first usage of
color macros in the document re-defines `\_ensureblack`.
- See the section~\ref[colors] for more details.
+ See the section~\ref[colors] for more details.
\_cod -----------------------------
\_def\_completepage{\_vbox{%
- \_istoksempty \_pgbackground
+ \_istoksempty \_pgbackground
\_iffalse \_ensureblack{\_backgroundbox{\_the\_pgbackground}}\_nointerlineskip \_fi
\_ensureblack{\_makeheadline}%
\_vbox to\_vsize {\_boxmaxdepth=\_maxdepth \_pagecontents}% \pagebody in plainTeX
@@ -78,11 +78,11 @@
\_def \_backgroundbox #1{\_moveleft\_hoffset\_vbox to\_zo{\_kern-\_voffset #1\_vss}}
\_doc -----------------------------
- \`\_makeheadline` creates `\vbox to0pt` with its contents (the \^`\headline`)
- shifted by \^`\headlinedist` up.
+ \`\_makeheadline` creates `\vbox to0pt` with its contents (the \^`\headline`)
+ shifted by \^`\headlinedist` up.
\_cod -----------------------------
-\_def\_makeheadline {\_istoksempty \_headline \_iffalse
+\_def\_makeheadline {\_istoksempty \_headline \_iffalse
\_vbox to\_zo{\_vss
\_baselineskip=\_headlinedist \_lineskiplimit=-\_maxdimen
\_hbox to\_xhsize{\_the\_headline}\_hbox{}}\_nointerlineskip
@@ -93,20 +93,20 @@
The \`\_makefootline` appends the \^`\footline` to the page-body box.
\_cod -----------------------------
-\_def\_makefootline{\_istoksempty \_footline \_iffalse
- \_baselineskip=\_footlinedist
+\_def\_makefootline{\_istoksempty \_footline \_iffalse
+ \_baselineskip=\_footlinedist
\_lineskiplimit=-\_maxdimen \_hbox to\_xhsize{\_the\_footline}
\_fi
}
\_doc -----------------------------
The \`\_pagecontents` is similar as in plain \TeX/. The only differnece is
- that the \`\_pagedest` is inserted at the top of `\_pagecontents` and
+ that the \`\_pagedest` is inserted at the top of `\_pagecontents` and
\^`\_ensureblack` is applied to the \^`\topins` and \^`\footins` material.\nl
The \`\_footnoterule` is defined here.
\_cod -----------------------------
-\_def\_pagecontents{\_pagedest % destination of the page
+\_def\_pagecontents{\_pagedest % destination of the page
\_ifvoid\_topins \_else \_ensureblack{\_unvbox\_topins}\_fi
\_dimen0=\_dp255 \_unvbox255 % open up \box255
\_ifvoid\_footins \_else % footnote info is present
@@ -115,7 +115,7 @@
\_kern-\_dimen0 \_vskip \_pgbottomskip
}
\_def \_pagedest {{\_def\_destheight{25pt}\_dest[pg:\_the\_gpageno]}}
-\_def \_footnoterule {\_kern-3pt \_hrule width 2truein \_kern 2.6pt }
+\_def \_footnoterule {\_kern-3pt \_hrule width 2truein \_kern 2.6pt }
\_doc -----------------------------
\`\pageno`, \`\folio`, \`\nopagenumbers`, \`\advancepageno`
@@ -130,7 +130,7 @@
\_def \_folio {\_ifnum\_pageno<0 \_romannumeral-\_pageno \_else \_number\_pageno \_fi}
\_def \_nopagenumbers {\_footline={}}
\_def \_advancepageno {%
- \_ifnum\_pageno<0 \_global\_advance\_pageno by-1 \_else \_incr\_pageno \_fi
+ \_ifnum\_pageno<0 \_global\_advance\_pageno by-1 \_else \_incr\_pageno \_fi
} % increase |pageno|
\_def \_raggedbottom {\_topskip=\_dimexpr\_topskip plus60pt \_pgbottomskip=0pt plus1fil\_relax}
\_def \_normalbottom {\_topskip=\_dimexpr\_topskip \_pgbottomskip=0pt\_relax}
@@ -140,10 +140,10 @@
\_doc -----------------------------
Macros for footnotes are the same as in plain \TeX. There is only one
difference: \`\vfootnote` is implemented as \`\_opfootnote` with empty
- parameter `#1`. This parameter should do a local settings inside
+ parameter `#1`. This parameter should do local settings inside
the \`\footins` group and it does it when `\fnote` macro is used.\nl
The `\_opfootnote` nor `\vfootnote` don't take the footnote text
- as a parameter. This is due to user can do catcode settings (like inline
+ as a parameter. This is due to a user can do catcode settings (like inline
verbatim) in the footnote text. This idea is adapted from plain \TeX.\nl
The \`\footnote` and \`\footstrut` is defined as in plain \TeX/.
\_cod -----------------------------
@@ -161,7 +161,7 @@
\_splittopskip=\_ht\_strutbox % top baseline for broken footnotes
\_splitmaxdepth=\_dp\_strutbox \_floatingpenalty=20000
\_textindent{#2}\_footstrut
- \_isnextchar \_bgroup
+ \_isnextchar \_bgroup
{\_bgroup \_aftergroup\_vfootA \_afterassignment\_ignorespaces \_let\_next=}{\_vfootB}%
}
\_def\_vfootA{\_unskip\_strut\_isnextchar\_colorstackpop\_closefncolor\_vfootF}
@@ -176,7 +176,7 @@
\footins \footnote \vfootnote \footstrut ;
\_doc -----------------------------
- The \`\topins` macros
+ The \`\topins` macros
\`\topinsert`, \`\midinsert`, \`\pageinsert`, \`\endinsert`
are the same as in plain \TeX/.
\_cod -----------------------------
@@ -205,8 +205,8 @@
\_public \topins \topinsert \midinsert \pageinsert \endinsert ;
\_doc -----------------------------
- The \`\draft` macro is an example of usage `\_pgbackground` to create
- water color marks.
+ The \`\draft` macro is an example of usage `\_pgbackground` to create
+ watercolor marks.
\_cod -----------------------------
\_def \_draft {\_pgbackground={\_draftbox{\_draftfont DRAFT}}%
@@ -214,7 +214,7 @@
\_global\_let\_draftfont=\_draftfont
}
\_def \_draftbox #1{\_setbox0=\_hbox{#1}%
- \_kern.5\_vsize \_kern4.5\_wd0
+ \_kern.5\_vsize \_kern4.5\_wd0
\_hbox to0pt{\_kern.5\_xhsize \_kern-1\_wd0
\_pdfsave \_pdfrotate{55}\_pdfscale{10}{10}%
\_hbox to0pt{\_localcolor\LightGrey \_box0\_hss}%
@@ -231,9 +231,9 @@ The output routine \^`\_optexoutput` is similar as in plain \TeX. It does:
\begitems
* \^`\_begoutput` which does:
\begitems
- * increments \^`\gpageno`,
- * prints `\_Xpage{<gpageno>}{<pageno>}` to the `.ref` file
- (if \^`\openref` is active),
+ * increments \^`\gpageno`,
+ * prints `\_Xpage{<gpageno>}{<pageno>}` to the `.ref` file
+ (if \^`\openref` is active),
* calculates `\hoffset`,
* sets local meaning of macros used in headlines/footlines (see \^`\regmacro`).
\enditems
@@ -243,14 +243,14 @@ The output routine \^`\_optexoutput` is similar as in plain \TeX. It does:
* headline box by \^`\_makeheadline`, if the \^`\headline` is nonempty,
* `\vbox to\vsize` of \^`\_pagecontents` which cosnists of --
\begitems
- * \^`\_pagedest`, the page destination `pg:<gpageno>` for hyperlinks is created here,
+ * \^`\_pagedest`, the page destination `pg:<gpageno>` for hyperlinks is created here,
* \^`\topins` box if non-empty (from \^`\topinsert`s),
* `\box255` with completed vertical material from main vertical mode,
* \^`\_footnoterule` and \^`\footins` box if nonempty (from \^`\fnote`, \^`\footnote`),
* \^`\pgbottomskip` (default is 0\,pt).
\enditems
* footline box by `\_makefootline`, if the \^`\footline` is nonempty
- \enditems
+ \enditems
* \^`\_endoutput` which does:
\begitems
* increments \^`\pageno` using \^`\advancepageno`
diff --git a/macros/luatex/optex/base/parameters.opm b/macros/luatex/optex/base/parameters.opm
index 75087be950..addc6e9b8e 100644
--- a/macros/luatex/optex/base/parameters.opm
+++ b/macros/luatex/optex/base/parameters.opm
@@ -1,6 +1,6 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \normalbaselineskip {Parameter settings <2020-03-17>} % preloaded in format
+\_codedecl \normalbaselineskip {Parameter settings <2020-03-17>} % preloaded in format
\_doc -----------------------------
\secc Primitive registers
@@ -9,7 +9,7 @@
\_parindent=20pt % indentation of paragraphs
\_pretolerance=100 % parameters used in paragraph breaking algorithm
-\_tolerance=200
+\_tolerance=200
\_hbadness=1000
\_vbadness=1000
\_doublehyphendemerits=10000
@@ -28,7 +28,7 @@
\_relpenalty=500 % between relations in math
\_brokenpenalty=100 % after lines if they end by a broken word.
\_displaywidowpenalty=50 % before last line of paragraph if display math follows
-\_predisplaypenalty=10000 % above display math
+\_predisplaypenalty=10000 % above display math
\_postdisplaypenalty=0 % below display math
\_delimiterfactor=901 % parameter for scaling delimiters
\_delimitershortfall=5pt
@@ -49,7 +49,7 @@
\_doc -----------------------------
Note that `\topskip` and `\splittopskip` are changed when first
- `\typosize` sets the main values (default font size and default
+ `\typosize` sets the main values (default font size and default
`\baselineskip`).
\_cod -----------------------------
@@ -80,10 +80,10 @@
\_def\_nonfrenchspacing{\_sfcode`\.=3000 \_sfcode`\?=3000 \_sfcode`\!=3000
\_sfcode`\:=2000 \_sfcode`\;=1500 \_sfcode`\,=1250 }
-\_public \normalbaselines \frenchspacing \nonfrenchspacing
- \smallskipamount \medskipamount \bigskipamount
+\_public \normalbaselines \frenchspacing \nonfrenchspacing
+ \smallskipamount \medskipamount \bigskipamount
\normalbaselineskip \normallineskip \normallineskiplimit
- \jot \interdisplaylinepenalty \interfootnotelinepenalty ;
+ \jot \interdisplaylinepenalty \interfootnotelinepenalty ;
\_doc -----------------------------
\secc Different settings than in plain \TeX/
@@ -91,8 +91,8 @@
Default \"baseline setting" is for 10\,pt fonts (like in plain \TeX/).
But `\typosize` and `\typoscale` macros re-declare it if another font size is used.
- The \`\nonfrenchspacing` is not set by default because
- the author of \OpTeX/ is living in the Europe.
+ The \`\nonfrenchspacing` is not set by default because
+ the author of \OpTeX/ is living in Europe.
If you set `\enlang` hyphenation patterns then `\nonfrenchspacing`
is set.
\_cod -----------------------------
@@ -100,14 +100,14 @@
\_normalbaselines % baseline setting, 10 pt font size
\_doc -----------------------------
- Different values than in plain \TeX/ have following primitive registers.
+ Different values than in plain \TeX/ have the following primitive registers.
We prohibit orphans, set more information for tracing boxes, set page origin
- to upper left corner of the paper (no at 1\,in, 1\,in coordinates)
+ to the upper left corner of the paper (no at 1\,in, 1\,in coordinates)
and set default page dimensions as A4, no letter.
\_cod -----------------------------
-\_emergencystretch=20pt % we want to use third pass of aparagraph building algoritmh
- % we need not to keep the compatibility with old documents
+\_emergencystretch=20pt % we want to use third pass of paragraph building algoritmh
+ % we need not keep the compatibility with old documents
\_clubpenalty=10000 % after first line of paragraph
\_widowpenalty=10000 % before last line of paragraph
@@ -118,10 +118,10 @@
\_tracinglostchars=2 % missing chracter warnings on terminal too
\_outputmode=1 % PDF ouput
-\_pdfvorigin=0pt % orgin is exatly at left upper corner
+\_pdfvorigin=0pt % orgin is exatly at left upper corner
\_pdfhorigin=0pt
\_hoffset=25mm % margins are 2.5cm, no 1in
-\_voffset=25mm
+\_voffset=25mm
\_hsize=160mm % 210mm (from A4 size) - 2*25mm (default margins)
\_vsize=244mm % 297mm (from A4 size) - 2*25mm (default margins) -3mm baseline correction
\_pagewidth=210 true mm
@@ -134,13 +134,13 @@
\_def\_plaintexsetting{%
\_emergencystretch=0pt
- \_clubpenalty=150
+ \_clubpenalty=150
\_widowpenalty=150
\_pdfvorigin=1in
\_pdfhorigin=1in
\_hoffset=0pt
\_voffset=0pt
- \_hsize=6.5in
+ \_hsize=6.5in
\_vsize=8.9in
\_pagewidth=8.5 true in
\_pageheight=11 true in
@@ -151,27 +151,25 @@
\_doc -----------------------------
\secc[oparams] \OpTeX/ parameters
- The main principle how to configure \OpTeX/ is not to use only parameters.
+ The main principle of how to configure \OpTeX/ is not to use only parameters.
A designer can copy macros from \OpTeX/ and re-define them as required.
This is a reason why we don't implement dozens of parameters,
but we keep \OpTeX/ macros relatively simple. Example: do you want
another design of section titles? Copy macros `\_printsec` and
`\_printsecc` from `sections.opm` file to your macro file and re-define them.
- Notice for OPmac users: there is important difference: all "string-like"
+ Notice for OPmac users: there is an important difference: all "string-like"
parameters are token lists in \OpTeX/ (OPmac uses macros for them). The reason of
- this difference: if user sets parameter by unprotected control sequence,
- an \OpTeX/ macro can read {\em the same data} using protected control sequence.
- If user re-defines such unprotected control sequence (because he/she does
- know about it) then nothing bad happens.
+ this difference: if a user sets parameter by unprefixed (public) control sequence,
+ an \OpTeX/ macro can read {\em the same data} using a prefixed (private) control sequence.
The \`\picdir` tokens list can include a directory where image files
(loaded by `\inspic`) are saved. Empty `\picdir` (default value) means
that image files are in the current directory (or somewhere in the \TeX/
- system where \LuaTeX/ is able to find them). If you set non-empty value to
+ system where \LuaTeX/can find them). If you set a non-empty value to
the `\picdir`, then it must end by `/` character, for example
`\picdir={img/}` means that there exists a directory `img` in your
- current directory and the image files are stored here.
+ current directory and the image files are stored here.
\_cod -----------------------------
\_newtoks\_picdir
@@ -184,53 +182,53 @@
dimension of the image is used. If only `\picwidth` has a nonzero value,
then this is the width of the image (height is calculated automatically in
order to respect the aspect of the image). If only `\picheight` has
- a nonzero value then height is given, width is calculated. If both
+ a nonzero value then the height is given, the width is calculated. If both
parameters are non-zero, the height and width are given and the aspect
- ratio of the image is (probably) broken. We recommend to set these
+ ratio of the image is (probably) broken. We recommend setting these
parameters locally in the group where `\inspic` is used in order to not
- influence the dimensions of another images. But there exist many
+ influence the dimensions of other images. But there exist many
situations you need to put the same dimensions to more images,
so you can set this parameter only once before more `\inspic` macros.
\_cod -----------------------------
-\_newdimen\_picwidth \_picwidth=0pt \_let\picw=\_picwidth
+\_newdimen\_picwidth \_picwidth=0pt \_let\picw=\_picwidth
\_newdimen\_picheight \_picheight=0pt
\_public \picwidth \picheight ;
\_doc -----------------------------
- The \`\everytt` is token list used in
+ The \`\everytt` is the token list used in
`\begtt`...`\endtt` environment and
in the verbatim group opened by `\verbinput` macro. You can include a
code which is processed inside the group after basic settings were done
- On the other hand, it is processed before scanner of verbatim text is started.
- Your macros should influence scanner (catcode settings) or printing
+ On the other hand, it is processed before the scanner of verbatim text is started.
+ Your macros should influence scanner (catcode settings) or printing
process of the verbatim code or both.
The code from the line immediately after `\begtt` is processed after
the `\everytt`. This code should overwrite `\everytt` settings. Use
`\everytt` for all verbatim environments in your document and use a code
- after `\begtt` locally only for this environment.
+ after `\begtt` locally only for this environment.
- The \`\everyintt` token list does similar work
+ The \`\everyintt` token list does similar work
but acts in the in-line verbatim
text processed by a pair of `\activettchar` characters or by `\code{<text>}`.
You can set `\everyintt={\Red}` for example if you want in-line verbatim
in red color.
\_cod -----------------------------
-\_newtoks\_everytt
+\_newtoks\_everytt
\_newtoks\_everyintt
\_public \everytt \everyintt ;
\_doc -----------------------------
- The \`\ttline` is used
+ The \`\ttline` is used
in `\begtt`...`\endtt` environment or in the code
printed by `\verbinput`. If `\ttline` is positive or zero, then the
- verbatim code have numbered lines from `\ttline+1`. The `\ttline`
- register is re-set to new value after a code piece is printed, so next
+ verbatim code has numbered lines from `\ttline+1`. The `\ttline`
+ register is re-set to a new value after a code piece is printed, so next
code pieces have numbered lines continuously. If `\ttline=-1`, then
`\begtt`...`\endtt` lines are without numbers and `\verbinput` lines
- shows the line numbers of inputted file. If `\ttline`\code{<-1}
+ show the line numbers of inputted file. If `\ttline`\code{<-1}
then no line numbers are printed.
\_cod -----------------------------
@@ -238,36 +236,36 @@
\_public \ttline ;
\_doc -----------------------------
- The \`\ttindent` gives default indentation
+ The \`\ttindent` gives default indentation
of verbatim lines printed by `\begtt`...`\endtt` pair or by
`\verbinput`.
\nl
- The \`\ttshift` gives the amount of shift of all verbatim lines to right.
- Despite to the \^`\ttindent`, it does not shift the line numbers, only
+ The \`\ttshift` gives the amount of shift of all verbatim lines to the right.
+ Despite the \^`\ttindent`, it does not shift the line numbers, only
the text.
\nl
- The \`\iindent` gives default indentations used in table of contents,
+ The \`\iindent` gives default indentations used in the table of contents,
captions, lists, bib references,
\nl
It is strongly recommended to re-set this value if you set `\parindent`
- to another value than plain \TeX/ default 20pt. A well typeset
+ to another value than plain \TeX/ default 20pt. A well-typeset
document should have the same dimension for all indentations, so
- you should say `\ttindent=\parindent` and `\iindent=\parindent`.
+ you should say `\ttindent=\parindent` and `\iindent=\parindent`.
\_cod -----------------------------
\_newdimen\_ttindent \_ttindent=\_parindent % indentation in verbatim
-\_newdimen\_ttshift
+\_newdimen\_ttshift
\_newdimen\_iindent \_iindent=\_parindent
\_public \ttindent \ttshift \iindent ;
\_doc -----------------------------
- The tabelator `^^I` has its category code like space: it behaves as a
- space in normal text. This is normal plain \TeX/ setting.
+ The tabulator `^^I` has its category code like space: it behaves as a
+ space in normal text. This is a common plain \TeX/ setting.
But in the multiline verbatim environment it
is active and expands to the `\hskip<dimen>` where `<dimen>`
- is the width of \`\tabspaces` spaces.
+ is the width of \`\tabspaces` spaces.
Default `\tabspaces=3` means
- that tabelator behaves like three spaces in multiline verbatim.
+ that tabulator behaves like three spaces in multiline verbatim.
\_cod -----------------------------
\_newcount \_tabspaces \_tabspaces=3
@@ -278,22 +276,22 @@
`\_hicolors<name>` declared in the file `hisyntax-<name>.opm`.
The user can give his/her preferences about colors for
syntax highlighting by this tokens list.
- Full color set must be declared here.
+ The full color set must be declared here.
\_cod -----------------------------
-\_newtoks\_hicolors
+\_newtoks\_hicolors
\_public \hicolors ;
\_doc -----------------------------
- The default item mark used between `\begitems` and `\enditems` is bullet.
- The \`\defaultitem` tokens list declare this default item mark.
+ The default item mark used between `\begitems` and `\enditems` is the bullet.
+ The \`\defaultitem` tokens list declares this default item mark.
\nl
The \`\everyitem` tokens list is applied in vertical mode
at the start of each item.
- \nl
- The \`\everylist` tokens list is applied after group is opened by
\nl
- The \`\ilevel` keeps the value of current nesting level of the items list.
+ The \`\everylist` tokens list is applied after the group is opened by
+ \nl
+ The \`\ilevel` keeps the value of the current nesting level of the items list.
\nl
The \`\listskipamount` gives vertical skip above and below the items list
if `\ilevel=1`.
@@ -317,7 +315,7 @@
The `\begmulti` `\endmulti` pair creates more columns. The parameter
\`\colsep` declares the space between columns. If $n$ columns are specified
then we have $n-1$ `\colseps` and $n$ columns in total `\hsize`. This
- gives definite result of columns width.
+ gives the definite result of the width of the columns.
\_cod ----------------------------
\_newdimen\_colsep \_colsep=20pt % space between columns
@@ -325,7 +323,7 @@
\_doc -----------------------------
Each line in the Table of contents is printed in a group.
- The \`\everytocline` tokens list is processed here before
+ The \`\everytocline` tokens list is processed here before
the internal `\_tocl:<num>` macro which starts printing the line.
\_cod -----------------------------
@@ -335,20 +333,25 @@
\_doc -----------------------------
The \`\bibtexhook` tokens list is used inside the group when `\usebib` command is
processed after style file is loaded and before printing bib-entries.
- You can re-define a behavior of style file here or you can modify the
+ You can re-define a behavior of the style file here or you can modify the
more declaration for printing (fonts, baselineskip, etc.) or you can
- define a specific macros used in your `.bib` file.
+ define specific macros used in your `.bib` file.
\_cod -----------------------------
\_newtoks\_bibtexhook
\_public \bibtexhook ;
+ \_doc -----------------------------
+ \`\everycapitonf` is used before printing caption in figures and
+ \`\everycapitont` is used before printing caption in tables.
+ \_cod -----------------------------
+
\_newtoks\_everycaptiont \_newtoks\_everycaptionf
\_public \everycaptiont \everycaptionf ;
\_doc -----------------------------
The \`\everyii` tokens list is used before `\noindent` for each
- Index item when printing the Index.
+ Index item when printing the Index.
\_cod -----------------------------
\_newtoks\_everyii
@@ -358,21 +361,21 @@
The \`\everymnote` is used in the `\mnote` group before `\noindent` which
immediately precedes marginal note text.
\nl
- The \`\mnotesize` is horizontal size of the marginal notes.
+ The \`\mnotesize` is the horizontal size of the marginal notes.
\nl
The \`\mnoteindent` is horizontal space between body-text and marginal note.
\_cod -----------------------------
-\_newtoks\_everymnote
+\_newtoks\_everymnote
\_newdimen\_mnotesize \_mnotesize=20mm % the width of the mnote paragraph
\_newdimen\_mnoteindent \_mnoteindent=10pt % ditance between mnote and text
\_public \everymnote \mnotesize \mnoteindent ;
\_doc -----------------------------
- The `\table` parameters follows. The \`\thistable` tokens list
- register should be used for giving an exception for only one `\table`
- which follows. It should change locally other parameters of the `\table`.
- It is reset to empty list after the table is printed.
+ The `\table` parameters follow. The \`\thistable` tokens list
+ register should be used for giving an exception for only one `\table`
+ which follows. It should change locally other parameters of the `\table`.
+ It is reset to an empty list after the table is printed.
\nl
The \`\everytable` tokens list register is applied in every table.
There is another difference between these two registers.
@@ -381,29 +384,29 @@
\nl
\`\tabstrut` configures the height and depth of lines in the table.
You can declare `\tabstrut={}`, then normal baselineskip is used in the
- table. This can be used when you don't use horizontal nor vertical
+ table. This can be used when you don't use horizontal nor vertical
lines in tables.
\nl
\`\tabiteml` is applied before each item,
\`\tabitemr` is applied after each item of the table.
- \nl
+ \nl
\`\tablinespace` is additional vertical space between horizontal rules
and the lines of the table.
\nl
- \`\hhkern` gives the space between horizontal lines if they are doubled and
+ \`\hhkern` gives the space between horizontal lines if they are doubled and
\`\vvkern` gives the space between such vertical lines.
\nl
\`\tabskipl` is `\tabskip` used before first column,
\`\tabskipr` is `\tabskip` used after the last column.
\nl
- \`\tsize` is virtual unit of the width of paragraph-like table items when
+ \`\tsize` is virtual unit of the width of paragraph-like table items when
`\table pxto<size>` is used.
\_cod -----------------------------
-\_newtoks\_everytable \_newtoks\_thistable
+\_newtoks\_everytable \_newtoks\_thistable
\_newtoks\_tabiteml \_newtoks\_tabitemr \_newtoks\_tabstrut
\_newdimen\_tablinespace \_newdimen\_vvkern \_newdimen\_hhkern \_newdimen\_tsize
-\_newskip\_tabskipl \_newskip\_tabskipr
+\_newskip\_tabskipl \_newskip\_tabskipr
\_everytable={} % code used after settings in \vbox before table processing
\_thistable={} % code used when \vbox starts, is is removed after using it
\_tabstrut={\_strut}
@@ -412,26 +415,26 @@
\_tablinespace=2pt % additional vertical space before/after horizontal rules
\_vvkern=1pt % space between double vertical line and used in \frame
\_hhkern=1pt % space between double horizontal line and used in \frame
-\_tabskipl=0pt\_relax % \tabskip used before first column
+\_tabskipl=0pt\_relax % \tabskip used before first column
\_tabskipr=0pt\_relax % \tabskip used after the last column
-\_public \everytable \thistable \tabiteml \tabitemr \tabstrut \tablinespace
+\_public \everytable \thistable \tabiteml \tabitemr \tabstrut \tablinespace
\vvkern \hhkern \tsize \tabskipl \tabskipr ;
\_doc -----------------------------
The \^`\eqalign` macro can be configured by \`\eqlines` and \`\eqstyle`
- tokens lists. The default values are set in order this macro beahaves
- like in Plain \TeX. The \`\eqspace` is horizontal space put
- between equation systems if more columns in \^`\eqalign` is used.
+ tokens lists. The default values are set in order these macro beahaves
+ as in Plain \TeX. The \`\eqspace` is horizontal space put
+ between equation systems if more columns in \^`\eqalign` are used.
\_cod -----------------------------
\_newtoks \_eqlines \_eqlines={\_openup\_jot}
-\_newtoks \_eqstyle \_eqstyle={\_strut\_displaystyle}
+\_newtoks \_eqstyle \_eqstyle={\_strut\_displaystyle}
\_newdimen \_eqspace \_eqspace=20pt
\_public \eqlines \eqstyle \eqspace ;
\_doc -----------------------------
\`\lmfil` is \"left matrix filler" (for `\matrix` columns). The default
- value does centering because right matrix filler is directly set to `\hfil`.
+ value does centering because the right matrix filler is directly set to `\hfil`.
\_cod -----------------------------
\_newtoks \_lmfil \_lmfil={\_hfil}
@@ -458,15 +461,15 @@
\_public \headline \footline ;
\_doc -----------------------------
- The distance between the `\headline` and the top of the page-text
- is controlled by the \`\headlinedist` register.
- The distance between bottom of
- page-text and `\footline` is \`\footlinedist`.
+ The distance between the `\headline` and the top of the page text
+ is controlled by the \`\headlinedist` register.
+ The distance between the bottom of
+ page-text and `\footline` is \`\footlinedist`.
More precisely: baseline of
- headline and baseline of first line in page-text have distance
+ headline and baseline of the first line in page-text have distance
`\headlinedist+\topskip`. The baseline of the last line in page-text and
the baseline of the footline have distance `\footlinedist`.
- Default values are inspired from plain \TeX/.
+ Default values are inspired by plain \TeX/.
\_cod -----------------------------
\_newdimen \_headlinedist \_headlinedist=14pt
@@ -474,8 +477,8 @@
\_public \headlinedist \footlinedist ;
\_doc -----------------------------
- The \`\pgbottomskip` is inserted to the page bottom
- in the output routine. You can set a less tolerance here than
+ The \`\pgbottomskip` is inserted to the page bottom
+ in the output routine. You can set less tolerance here than
`\raggedbotom` does. By default, no tolerance is given.
\_cod -----------------------------
@@ -489,8 +492,8 @@
processing. Example of usage:
\begtt
\headline={} \nexptages={\headline={\rmfixed \firstmark \hfil}}
- \endtt
- This example sets current page with empty headline, but next pages have
+ \endtt
+ This example sets current page with empty headline, but next pages have
non-empty headlines.
\_cod -----------------------------
@@ -518,15 +521,36 @@
\_newtoks \_ovalparams
\_newtoks \_circleparams
-%\_ovalparams={\_roundness=2pt \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
+%\_ovalparams={\_roundness=2pt \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
% \_shadow=N \_overlapmargins=N \_hhkern=0pt \_vvkern=0pt }
-%\_circleparams={\_ratio=1 \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
+%\_circleparams={\_ratio=1 \_fcolor=\Yellow \_lcolor=\Red \_lwidth=.5bp
% \_shadow=N \_overlapmargins=N \_hhkern=3pt \_vvkern=3pt}
\_newdimen \_roundness \_roundness=5mm % used in \clippingoval macro
\_public \ovalparams \circleparams \roundness ;
+ \_doc -----------------------------
+ \OpTeX/ defines \"Standard \OpTeX/ markup language"%
+ \fnote{Will be developed in 2021.}
+ which lists selected commands from chapter~1 and gives their behavior when a
+ converter from \OpTeX/ document to HTML or Markdown or \LaTeX/ is used.
+ The structure-oriented commands are selected here, but the commands which
+ declare typographical appearance (page layout, dimensions, selected font
+ family) are omitted. More information for such a converter should be
+ given in \`\cnvinfo``{<data>}`.
+ \OpTeX/ simply ignores this but the converter can read its configuration
+ from here. For example, a user can write:
+ \begtt \catcode`\<=13
+ \cnvinfo {type=html, <cnv-to-html-data>}
+ \cnvinfo {type=markdown, <cnv-to-markdown-data>}
+ \endtt
+ and the document can be processed by \OpTeX/ to create PDF, or by a
+ converter to create HTML, or by another converter to create Markdown.
+ \_cod -----------------------------
+
+\_let\cnvinfo=\_ignoreit
+
\_endcode %----------------------------------------------------
@@ -537,25 +561,25 @@ controlled by {\em parameters}. The parameters are
* registers declared and used by \OpTeX/ macros.
\enditems
Both groups of registers have their type: number, dimension, skip, token
-list.
+list.
The registers are represented by their names (control sequences). If the user
-re-defines such control sequence then the appropriate register exists
+re-defines this control sequence then the appropriate register exists
steadily and build-in algorithms are using it without change. But user
-cannot access its value in such case. \OpTeX/ declares two control sequences
-for each register: prefixed and unprefixed. \OpTeX/ macros use only
-prefixed variants of control sequences. The user should use unprefixed variant
-with the same meaning and set or read values of registers using the
-unprefixed variant. If the user re-defines the unprefixed control sequence of
+cannot access its value in this case. \OpTeX/ declares two control sequences
+for each register: prefixed (private) and unprefixed (public). \OpTeX/ macros use only
+prefixed variants of control sequences. The user should use the unprefixed variant
+with the same meaning and set or read the values of registers using the
+unprefixed variant. If the user re-defines the unprefixed control sequence of
a register then \OpTeX/ macros still work without change.
-%There is only few parameters declared by \OpTeX/ macros. All of them
-%are listed in this section. This is desired feature of the \OpTeX/.
+%There are only a few parameters declared by \OpTeX/ macros. All of them
+%are listed in this section. This is the desired feature of the \OpTeX/.
%If you want to do more
-%changes wich cannot be controlled by parameters listed here then you
-%can copy the appropriate \OpTeX/ macro to your macro file and you
+%changes which cannot be controlled by parameters listed here then you
+%can copy the appropriate \OpTeX/ macro to your macro file and you
%can completely re-define it. The typical examples are `\_printsomething`
-%macros which declares the design of the document.
+%macros which declare the design of the document.
\_endinput
diff --git a/macros/luatex/optex/base/pdfuni-string.opm b/macros/luatex/optex/base/pdfuni-string.opm
index a289aae731..f9e28582d5 100644
--- a/macros/luatex/optex/base/pdfuni-string.opm
+++ b/macros/luatex/optex/base/pdfuni-string.opm
@@ -1,9 +1,9 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \pdfunidef {PDFunicode strings for outlines <2020-03-12>} % preloaded in format
\_doc -----------------------------
- The \`\_octalprint` is lua script which prints the character code in the
+ The \`\_octalprint` is a Lua script that prints the character code in the
octal notation.
\_cod -----------------------------
@@ -24,8 +24,8 @@
according to current values on selected macros from `\_regoul`. Then
\`\_removeoutmath` converts `..$x^2$..` to `..x^2..`, i.e removes dollars.
Then \`\_removeoutbraces` converts `..{x}..` to `..x..`.
- Finaly, the <text> is detokenized, spaces are preprocessed using \^`\replstring`
- and then the \`\_pdfunidefB` is repeated on each character. It calls the
+ Finally, the <text> is detokenized, spaces are preprocessed using \^`\replstring`
+ and then the \`\_pdfunidefB` is repeated on each character. It calls the
`\directlua` chunk to print octal numbers in the macro \^`\_octalprint`.
\_cod -----------------------------
@@ -50,11 +50,11 @@
\_ea\_def\_ea#1\_ea{\_out}
}
\_def\_pdfunidefB#1{%
- \_ifx^#1\_else
+ \_ifx^#1\_else
\_tmpnum=`#1
\_pdfunidefC{\_luaescapestring{#1}}%
\_ea\_pdfunidefB \_fi
-}
+}
\_def\_pdfunidefC #1{\_edef\_out{\_out \\\_ea\_octalprint\_ea{\_the\_tmpnum}{#1}}}
\_def\_removeoutbraces #1#{#1\_removeoutbracesA}
@@ -62,12 +62,12 @@
\_def\_removeoutmath #1$#2${#1\_ifx\_end#2\_else #2\_ea\_removeoutmath\_fi}
\_doc -----------------------------
- The \`\_prepinverb``<macro><separator>{<text>}`,
+ The \`\_prepinverb``<macro><separator>{<text>}`,
e.g.\ `\_prepinverb\tmpb|{aaa |bbb| cccc |dd| ee}`
does `\def\tmpb{<su>{aaa }bbb<su>{ cccc }dd<su>{ ee}}` where
<su> is `\scantextokens\unexpanded`. It means that in-line verbatim
are not argument of `\scantextoken`. First `\edef\tmpb` tokenizes again
- the <text> but not the parts which were in the the in-line verbatim.
+ the <text> but not the parts which were in the the in-line verbatim.
\_cod -----------------------------
\_def\_prepinverb#1#2#3{\_def#1{}%
@@ -92,21 +92,21 @@
\_endcode % --------------------------------
There are only two encodings for PDF strings (used in PDFoutlines, PDFinfo
-etc.). First one is PDFDocEncoding which is one-byte encoding, but most
+, etc.). The first one is PDFDocEncoding which is one-byte encoding, but most
Czech or Slovak characters are missing here.
-The second encoding is PDFunicode encoding wich is implemented in this file.
-This encoding is \TeX/-discomfortable, because it looks like
+The second encoding is PDFunicode encoding which is implemented in this file.
+This encoding is \TeX/-discomfortable because it looks like
\begtt
\376\377\000C\000v\000i\001\015\000e\000n\000\355\000\040\000j\000e\000\040
-\000z\000\341\000t\001\033\001\176
+\000z\000\341\000t\001\033\001\176
\endtt
-This example is real encoding of the string "Cvičení je zátěž". You can see
+This example is the real encoding of the string "Cvičení je zátěž". You can see
that this is UTF-16 encoding (two bytes per character) with two starting
bytes FEFF. Moreover, each byte is encoded by three octal digits preceded by
-backslash. The only exception is the visible ASCII character encoding: such
+a backslash. The only exception is the visible ASCII character encoding: such
a character is encoded by its real byte preceded by `\000`.
diff --git a/macros/luatex/optex/base/plain-macros.opm b/macros/luatex/optex/base/plain-macros.opm
index 7d8815f247..b4569ee969 100644
--- a/macros/luatex/optex/base/plain-macros.opm
+++ b/macros/luatex/optex/base/plain-macros.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \magstep {Macros from plain TeX <2020-02-14>} % preloaded in format
@@ -20,16 +20,16 @@
The shortcuts `\chardef\@one` is not defined in \OpTeX/. Use normal
numbers instead of such obscurities.
\nl
- The \`\magstep` and \`\magstephalf` are
+ The \`\magstep` and \`\magstephalf` are
defined with `\space`, (no `\relax`), in order to be expandable.
\_cod -----------------------------
-
+
\_def \_magstephalf{1095 }
\_def \_magstep#1{\_ifcase#1 1000\_or 1200\_or 1440\_or 1728\_or 2074\_or 2488\_fi\_space}
\_public \magstephalf \magstep ;
\_doc -----------------------------
- Plain \TeX/ basic macros and control sequences.
+ Plain \TeX/ basic macros and control sequences.
\`\endgraf`, \`\endline`.
The `^^L` is not defined in \OpTeX/ because it is obsolete.
\_cod -----------------------------
@@ -58,11 +58,11 @@
\_public \obeylines \obeyspaces ;
\_doc -----------------------------
- Spaces.
- \`\thinspace`, \`\negthinspace`, \`\enspace`, \`\enskip`,
- \`\quad`, \`\qquad`, \`\smallskip`,
+ Spaces.
+ \`\thinspace`, \`\negthinspace`, \`\enspace`, \`\enskip`,
+ \`\quad`, \`\qquad`, \`\smallskip`,
\`\medskip`, \`\bigskip`, \`\nointerlineskip`, \`\offinterlineskip`,
- \`\topglue`, \`\vglue`, \`\hglue`, \`\slash`.
+ \`\topglue`, \`\vglue`, \`\hglue`, \`\slash`.
\_cod -----------------------------
\_protected\_def\_thinspace {\_kern .16667em }
@@ -94,8 +94,8 @@
\_doc -----------------------------
Penalties macros:
- \`\break`, \`\nobreak`, \`\allowbreak`, \`\filbreak`, \`\goodbreak`,
- \`\eject`, \`\supereject`, \`\dosupereject`,
+ \`\break`, \`\nobreak`, \`\allowbreak`, \`\filbreak`, \`\goodbreak`,
+ \`\eject`, \`\supereject`, \`\dosupereject`,
\`\removelastskip`, \`\smallbreak`, \`\medbreak`, \`\bigbreak`.
\_cod -----------------------------
@@ -121,8 +121,8 @@
\_doc -----------------------------
Boxes.
- \`\line`, \`\leftline`, \`\rightline`, \`\centerline`, \`\rlap`, \`\llap`,
- \`\underbar`.
+ \`\line`, \`\leftline`, \`\rightline`, \`\centerline`, \`\rlap`, \`\llap`,
+ \`\underbar`.
\_cod -----------------------------
\_def \_line {\_hbox to\_hsize}
@@ -172,7 +172,7 @@
\_def \_itemitem {\_par\_indent \_hangindent2\_parindent \_textindent}
\_def \_narrower {\_advance\_leftskip\_parindent
\_advance\_rightskip\_parindent}
-\_def \_raggedright {\_rightskip=0pt plus2em
+\_def \_raggedright {\_rightskip=0pt plus2em
\_spaceskip=.3333em \_xspaceskip=.5em\_relax}
\_def \_ttraggedright {\_tt \_rightskip=0pt plus2em\_relax} % for use with \tt only
\_def \_leavevmode {\_unhbox\_voidbox} % begins a paragraph, if necessary
@@ -181,10 +181,10 @@
\_doc -----------------------------
Few character codes are set for backward compatibility. But old obscurities
- (from plain TeX) based on \`\mathhexbox`
- are not supported -- an error message and recommendation
- to directly using of the desired character is implemented by the
- \`\_usedirectly` macro).
+ (from plain TeX) based on \`\mathhexbox`
+ are not supported -- an error message and recommendation
+ to directly using the desired character is implemented by the
+ \`\_usedirectly` macro).
The user can re-define these control sequences of course.
\_cod -----------------------------
@@ -208,7 +208,7 @@
\_def\L{\_errmessage{\_usedirectly Ł}}
%\def\_{\_ifmmode \kern.06em \vbox{\hrule width.3em}\else _\fi} % obsolete
\_def\_{\_hbox{_}}
-\_def\dag{\_errmessage{\_usedirectly †}}
+\_def\dag{\_errmessage{\_usedirectly †}}
\_def\ddag{\_errmessage{\_usedirectly ‡}}
%\_def\copyright{\_errmessage{\_usedirectly ©}}
\_def\copyright{©} % << example, what to do
@@ -220,13 +220,13 @@
\_public \mathhexbox ;
\_doc -----------------------------
- Accents.
+ Accents.
The macros \`\ooalign`, \`\d`, \`\b`, \`\c`, \`\dots`,
are defined for backward compatibility.
\_cod -----------------------------
\_def \_oalign #1{\_leavevmode\_vtop{\_baselineskip=\_zo \_lineskip=.25ex
- \_ialign{##\_crcr#1\_crcr}}}
+ \_ialign{##\_crcr#1\_crcr}}}
\_def \_oalignA {\_lineskiplimit=\_zo \_oalign}
\_def \_ooalign {\_lineskiplimit=-\_maxdimen \_oalign} % chars over each other
\_def \_shiftx #1{\_dimen0=#1\_kern\_ea\_ignorept \_the\_fontdimen1\_font
@@ -240,11 +240,11 @@
\_public \oalign \ooalign \d \b \c \dots ;
\_doc -----------------------------
- The accents commands like `\v`, `\.`, `\H`, etc. are not defined. Use the
- accented characters directly -- it is best solution. But you can use the
+ The accent commands like `\v`, `\.`, `\H`, etc. are not defined. Use the
+ accented characters directly -- it is the best solution. But you can use the
macro \`\oldaccents` which defines accented macros.
\nl
- Much more usable is to define these control sequences to other purposes.
+ Much more usable is to define these control sequences for other purposes.
\_cod -----------------------------
\_def \_oldaccents {%
@@ -295,7 +295,7 @@
\_doc -----------------------------
The plain \TeX/ macros
- \`\hrulefill`, \`\dotfill`, \`\rightarrowfill`, \`\leftarrowfill`,
+ \`\hrulefill`, \`\dotfill`, \`\rightarrowfill`, \`\leftarrowfill`,
\`\downbracefill`, \`\upbracefill`.
The last four are used in non-Unicode variants of `\overrightarrow`,
`\overleftarrow`, `\overbrace` and `\underbrace` macros, see
@@ -331,7 +331,7 @@
\_def \_magnification {\_afterassignment \_magA \_count255 }
\_def \_magA {\_mag=\_count255 \_truedimen\_hsize \_truedimen\_vsize
- \_dimen\_footins=8truein
+ \_dimen\_footins=8truein
}
% only for backward compatibility, but \margins macro is preferred.
\_public \magnification ;
diff --git a/macros/luatex/optex/base/prefixed.opm b/macros/luatex/optex/base/prefixed.opm
index 8eb851cc2a..ff6dffa20a 100644
--- a/macros/luatex/optex/base/prefixed.opm
+++ b/macros/luatex/optex/base/prefixed.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \public {Prefixing and code syntax <2020-02-14>} % preloaded in format
@@ -18,7 +18,7 @@
\_doc ------------------
\`\ea` is useful shortcut for `\expandafter`. We recommend to use always the
- private form of \`\_ea`
+ private form of \`\_ea`
because there is high probability that `\ea` will be redefined by the user.
\nl
\`\public` `<sequence> <sequence> ... ;` does
@@ -47,10 +47,10 @@
\_doc -----------------------
Each macro file should begin with \`\_codedecl` `\macro {<info>}`.
If the `\macro` is defined already then the `\endpinput` protects to read
- such file more than one times. Else the <info> is printed to the terminal
+ such file more than once. Else the <info> is printed to the terminal
and the file is read.\nl
- The {\`\_endcode`} is defined as `\endinput` in the `optex.ini` file.
- \`\wterm` `{<text>}` prints `<text>`
+ The {\`\_endcode`} is defined as `\endinput` in the `optex.ini` file.
+ \`\wterm` `{<text>}` prints `<text>`
to the terminal and to the `.log` file (as in plain \TeX/).
\_cod -----------------------
@@ -100,7 +100,10 @@
}
\_def \_nspublic {\_xargs \_nspublicA}
-\_def \_nspublicA #1{\_ea\_let \_ea#1\_csname \_pkglabel _\_csstring #1\_endcsname}
+\_def \_nspublicA #1{%
+ \_unless\_ifx #1\_undefined
+ \_opwarning{\_ea\_ignoreit\_pkglabel\_space redefines the meaning of \_string#1}\_fi
+ \_ea\_let \_ea#1\_csname \_pkglabel _\_csstring #1\_endcsname}
\_def \_nsprivate {\_xargs \_nsprivateA}
\_def \_nsprivateA #1{\_ea\_let \_csname \_pkglabel _\_csstring #1\_endcsname =#1}
@@ -109,67 +112,67 @@
\_endcode %----------------------------------------------------
-\sec Concept of name spaces of control sequences
+\sec[prefixed] Concept of namespaces of control sequences
\secc Prefixing internal control sequences
-All control sequences used in \OpTeX/ are used and defined with `_` prefix.
+All control sequences used in \OpTeX/ are used and defined with `_` prefix.
The user can be sure that when he/she does `\def\foo` then internal macros of
\OpTeX/ nor \TeX/ primitives will be not damaged. For example
-`\def\if{...}` will not damage macros because \OpTeX/'s macros
+`\def\if{...}` will not damage macros because \OpTeX/'s macros
are using `\_if` instead of `\if`.
All \TeX/ primitives are initialized with two representative control
sequences: `\word` and `\_word`, for example `\hbox` and `\_hbox`.
-The first alternative is reserved for users or such control sequences
-can be re-defined by user.
+The first alternative is reserved for users or such control sequences
+can be re-defined by a user.
-\OpTeX/ sets the character `_` as letter, so it can be used in
-control sequences. When a control sequence begins with this character
+\OpTeX/ sets the character `_` as the letter, so it can be used in
+control sequences. When a control sequence begins with this character
then it means that it is a primitive or it is used in \OpTeX/ macros as
-internal. User can redefine such prefixed control sequence only
+internal. User can redefine such prefixed control sequence only
if he/she explicitly know what happens.
-We never change catcode of `_`, so internal macros can be
-redefined by user without problems if it is desired. We need not
+We never change catcode of `_`, so internal macros can be
+redefined by user without problems if it is desired. We need not
something like `\makealetter` from \LaTeX/.
-\OpTeX/ defines all new macros as prefixed. For public usage of such macros
-we need to set non-prefixed version. This is done by
+\OpTeX/ defines all new macros as prefixed. For public usage of such macros,
+we need to set non-prefixed version. This is done by
-\begtt
+\begtt \catcode`\<=13
\public <list of control sequences> ;
\endtt
For example \^`\public`` \foo \bar ;` does `\let\foo=\_foo`, `\let\bar=\_bar`.
At the end of each code segment in \OpTeX/, the `\_public` macro is used. You
-can see, what macros are defined for public usage in such code segment.
+can see, what macros are defined for public usage in this code segment.
The macro \^`\private` does a reverse job to `\public` with the same syntax.
For example `\private \foo \bar ;` does `\let\_foo=\foo`, `\let\_bar=\bar`.
-This should be used when unprefixed variant of control sequence is declared
+This should be used when an unprefixed variant of a control sequence is declared
already but we need the prefixed variant too.
In this documentation: if both variants of a control sequence are declared
(prefixed and unprefixed), then the accompanying text mentions only
-unprefixed variant. The code typically defines prefixed variant
+the unprefixed variant. The code typically defines the prefixed variant
and then the \^`\public` (or `\_public`) macro is used.
-\secc Name space of control sequences for users
+\secc Namespace of control sequences for users
-User can define or declare any control sequence with a name without any `_`.
+Users can define or declare any control sequence with a name without any `_`.
This does not make any problem. Only one exception is the reserved control
-sequence `\par`. It is generated by tokenizer (at empty lines)
+sequence `\par`. It is generated by tokenizer (at empty lines)
and used as internal in \TeX/.
User can define or declare control sequences with `_` character, for
example `\my_control_sequence`, but with the following exceptions:
\begitems
-* Control sequences which begin with `_` are reserved for \TeX/ primitives,
+* Control sequences which begin with `_` are reserved for \TeX/ primitives,
\OpTeX/ internal macros and packages internal macros.
-* Control sequences (terminated by non-letter) in the form
+* Control sequences (terminated by non-letter) in the form
`\<word>_` or `\<word>_<one-letter>`, where
<word> is a sequence of letters, are inaccessible, because they
are interpreted as `\<word>` followed by `_` or as `\<word>` followed by
@@ -181,24 +184,24 @@ example `\my_control_sequence`, but with the following exceptions:
\endtt
This feature is implemented using lua code at input processor level, see
the section~\ref[math-macros] for more details. You can deactivate this feature by
- \^`\mathsboff`. After this, you can still write
- `$`$\int$`_a^b$` (Unicode) or `$\int _a^b$` % $∫_a^b$ (Unicode) or $\int _a^b$
+ \^`\mathsboff`. After this, you can still write
+ `$`$\int$`_a^b$` (Unicode) or `$\int _a^b$` % $∫_a^b$ (Unicode) or $\int _a^b$
without problems but `\int``_a^b` yields to undefined control sequence
- `\int``_a`. You can activate this feature again by \^`\mathsbon`. The
+ `\int``_a`. You can activate this feature again by \^`\mathsbon`. The
effect will take shape from next line read from input file.
* Control sequences in the form `\_<pkg>_<word>` is intended for package
- writers as internal macros for a package with `<pkg>` identifier,
+ writers as internal macros for a package with `<pkg>` identifier,
see section~\ref[pkg-namespace].
\enditems
-The single letter control sequences like `\%`, `\$`, `\^` etc. are not used
-in internal macros. User can redefine them, but (of course) some classical
+The single-letter control sequences like `\%`, `\$`, `\^` etc. are not used
+in internal macros. Users can redefine them, but (of course) some classical
features can be lost (printing percent character by `\%` for example).
\secc Macro files syntax
Each segment of \OpTeX/ macros is stored in one file with `.opm` extension
-(means OPtex Macros). Your local macros should be in normal `*.tex` file.
+(means OPtex Macros). Your local macros should be in a normal `*.tex` file.
The code in macro files starts by \^`\_codedecl` and ends by \^`\_endcode`.
The \^`\_endcode` is equivalent for `\endinput`, so documentation can follow.
@@ -209,7 +212,7 @@ The \^`\_codedecl` has syntax:
\endtt
If the mentioned `\sequence` is defined, then \^`\_codedecl` does the same as
-`\endinput`: this protect from reading the file twice. We suppose, that
+`\endinput`: this protects from reading the file twice. We suppose, that
`\sequence` is defined in the macro file.
It is possible to use the \^`\_doc` ... \^`\_cod` pair between the macro lines.
@@ -217,36 +220,37 @@ The documentation text should be here. It is ignored when macros are read
but it can be printed using `doc.opm` macros like in this documentation.
-\secc[pkg-namespace] Name spaces for package writers
+\secc[pkg-namespace] Name spaces for package writers
Package writer should use internal names in the form `\_<pgk>_<sequence>`,
-where `<pkg>` is a package label. For example:
+where `<pkg>` is a package label. For example:
`\_qr_utfstring` from `qrcode.opm` package.
-The package writer needs not write repeatedly `\_pkg_foo` `\_pkg_bar`
+The package writer needs not to write repeatedly `\_pkg_foo` `\_pkg_bar`
etc.\ again and again in the macro file.\fnote
-{We have not adatped the idea from expl3 language:)}
-When the \^`\_namespace` `{<pkg>}`
+{We have not adopted the idea from expl3 language:)}
+When the \^`\_namespace` `{<pkg>}`
is declared at the beginning of the macro file then all occurrences of
`\.foo` will be replaced by `\_<pkg>_foo` at the input processor level.
-The macro writer can write (and backward can read his/her code) simply with
-`\.foo`, `\.bar` control sequences and `\_<pkg>_foo`, `\_<pkg>_bar`
+The macro writer can write (and backward can read his/her code) simply with
+`\.foo`, `\.bar` control sequences and `\_<pkg>_foo`, `\_<pkg>_bar`
control sequences are processed internally.
The scope of the \^`\_namespace` command ends at the \^`\_endnamespace` command
or when another \^`\_namespace` is used. This command checks
if the same package label is not declared by the \^`\_namespace` twice.
The \^`\_nspublic` macro does `\let\foo = \_<pkg>_foo` when
-\^`\_namespace{<pkg>}` is declared. And the \^`\_nsprivate` macro does reverse
-operation to it. Example: you can define `\def\.macro{...}` and then
+\^`\_namespace{<pkg>}` is declared. Moreover, it prints a warning if `\foo` is
+defined already. The \^`\_nsprivate` macro does reverse
+operation to it without warnings. Example: you can define `\def\.macro{...}` and then
set it to the user name space by `\_nspublic \macro;`.
-Don't load another packages (which are using their own name space) inside your
-name space. Do load them before your \^`\_namespace`~`{<pkg>}` is
-initialized. Or close your name space by \^`\_endnamespace` and open it again
+Don't load other packages (which are using their own namespace) inside your
+namespace. Do load them before your \^`\_namespace`~`{<pkg>}` is
+initialized. Or close your namespace by \^`\_endnamespace` and open it again
(after other packages are loaded) by \^`\_resetnamespace`~`{<pkg>}`.
-If the package writer needs to declare a control
+If the package writer needs to declare a control
sequence by \^`\newif`, then there is an exception of the rule described above. Use
\^`\_newifi\_if<pkg>_bar`, for example `\_newifi\_ifqr_incorner`.
Then the control sequences `\_qr_incornertrue` and
@@ -256,35 +260,35 @@ and `\.incornerfalse` when `\_namespace{qr}` is used).
\secc Summary about rules for external macro files published for \OpTeX/
-If you are writting a macro file which is intended to be published for
+If you are writing a macro file that is intended to be published for
\OpTeX/, then you are greatly welcome. You should follow these rules:
\begitems
-* Don't use a control sequences from user name space in the macro
- bodies if there is not explicit and documented reason to do this.
-* Don't declare control sequences in the user name space if there is not
- explicit and documented reason to do this.
-* Use control sequences from \OpTeX/ and primitive name space
- in read only mode if there is not explicit and documented reason to
- redefine them.
-* Use `\_<pkg>_<name>` for your internal macros or `\.<name>` if the
+* Don't use control sequences from the user namespace in the macro
+ bodies if there is not explicit and documented reason to do this.
+* Don't declare control sequences in the user namespace if there are not
+ explicit and documented reasons to do this.
+* Use control sequences from \OpTeX/ and primitive namespace
+ in read-only mode, if there is not an explicit and documented reason to
+ redefine them.
+* Use `\_<pkg>_<name>` for your internal macros or `\.<name>` if the
\^`\_namespace{<pkg>}` is declared. See section~\ref[pkg-namespace].
-* Use \^`\load` (or better: `\_load`) for loading more external macros
- if you need them. Don't use `\_input` explicitly in such cases.
- The reason is: the external macro file is not loaded
- twice if another macro or the user needs it explicitly too.
-* Use \^`\_codedecl` as your first command in the macro file and
+* Use \^`\load` (or better: `\_load`) for loading more external macros
+ if you need them. Don't use `\_input` explicitly in such cases.
+ The reason is: the external macro file is not loaded
+ twice if another macro or the user needs it explicitly too.
+* Use \^`\_codedecl` as your first command in the macro file and
\^`\_endcode` to close the text of macros.
* Use \^`\_doc` ... \^`\_cod` pairs for documenting the code pieces and/or write
more documentation after the \^`\_endcode` command.
\enditems
-If the macro file accepts these recommendations then it should be
-named by `<filename>.opm` where `<filename>` differs from file names
-used directly in \OpTeX/ and from other published macros.
-This extension `opm` has a precedence before `.tex` when
+If the macro file accepts these recommendations then it should be
+named by `<filename>.opm` where `<filename>` differs from file names
+used directly in \OpTeX/ and from other published macros.
+This extension `opm` has precedence before `.tex` when
the \^`\load` macro is used.
-The `qrcode.opm` is first example how an external macro file for \OpTeX/
+The `qrcode.opm` is the first example of how an external macro file for \OpTeX/
can look like.
diff --git a/macros/luatex/optex/base/print-unimath.opm b/macros/luatex/optex/base/print-unimath.opm
index a1a3ceb106..2b1a07f30a 100644
--- a/macros/luatex/optex/base/print-unimath.opm
+++ b/macros/luatex/optex/base/print-unimath.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \_undefined {Printing Unicode-math table \string<2020-06-08>}
@@ -38,15 +38,15 @@
\_endmulti
\_medskip\_goodbreak
- Codes U+10001 \_dots\ U+1EEF1 \_let\UnicodeMathSymbol=\UnicodeMathSymbolA
- \_begmulti 4
+ Codes U+10001 \_dots\ U+1EEF1 \_let\UnicodeMathSymbol=\UnicodeMathSymbolA
+ \_begmulti 4
\_input unimath-table.opm
\_endmulti
\_endgroup
\_endcode
-This file can be used for testing your Unicode Math font
+This file can be used for testing your Unicode-math font
and/or for printing \TeX/ sequences which can be used in math.
Load Unicode math font first (for example by `\fontfam[termes]` or by
diff --git a/macros/luatex/optex/base/ref-file.opm b/macros/luatex/optex/base/ref-file.opm
index c5fa396524..fd7c1101d7 100644
--- a/macros/luatex/optex/base/ref-file.opm
+++ b/macros/luatex/optex/base/ref-file.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \openref {File for references <2020-02-14>} % preloaded in format
@@ -13,16 +13,16 @@
\_def\_inputref {%
\_isfile{\_jobname.ref}\_iftrue
\_input {\_jobname.ref}
- \_gfnotenum=0 \_lfnotenum=0 \_mnotenum=0
+ \_gfnotenum=0 \_lfnotenum=0 \_mnotenum=0
\_openrefA{\_string\_inputref}%
\_fi
}
\_doc --------------------------
- If the file does not exists then it is not created by default. It means that if you
+ If the file does not exist then it is not created by default. It means that if you
process a document without any forward references then no `\jobname.ref`
- file is created because it is unusable. The \^`\_wref` macro is dummy in
- such case.
+ file is created because it is unusable. The \^`\_wref` macro is a dummy in
+ this case.
\_cod --------------------------
\_def\_wrefrelax#1#2{}
@@ -31,10 +31,10 @@
\_doc ---------------------
If a macro needs to create and to use `.ref` file then such macro must use
\`\openref`. When the file is created (using internal \`\_openrefA`) then
- the \`\_wref` `\<macro>{<data>}` is redefined in order to
+ the \`\_wref` `\<macro>{<data>}` is redefined in order to
save the line `\<macro><data>` to the `.ref` file using asynchronous
- `\write` primitive. Finally, the `\_openref` destroys itself, because we
- need not to open the file again.
+ `\write` primitive. Finally, the `\_openref` destroys itself, because we
+ need not open the file again.
\_cod ---------------------
\_def\_openref {%
@@ -42,25 +42,25 @@
\_gdef\_openref{}%
}
\_def\_openrefA #1{%
- \_immediate\_openout\_reffile="\_jobname.ref"\_relax
- \_gdef\_wref ##1##2{\_write\_reffile{\_string##1##2}}%
+ \_immediate\_openout\_reffile="\_jobname.ref"\_relax
+ \_gdef\_wref ##1##2{\_write\_reffile{\_bslash\_csstring##1##2}}%
\_immediate\_write\_reffile {\_pcent\_pcent\_space OPTeX <\_optexversion> - REF file (#1)}%
\_immediate\_wref \Xrefversion{{\_REFversion}}%
}
\def\openref{\_openref}
\_doc ----------------------
- We are using convention that the macros used in `.ref` file are named
- `\_X<foo>`. If there is a new version of \OpTeX/ with different collection
- of such macros then we don't want to read the `.ref` files produced by an
- old version of \OpTeX/ or by OPmac. So first line of `.ref` file is in
+ We are using the convention that the macros used in `.ref` file are named
+ `\_X<foo>`. If there is a new version of \OpTeX/ with a different collection
+ of such macros then we don't want to read the `.ref` files produced by an
+ old version of \OpTeX/ or by OPmac. So the first line of `.ref` file is in
the form
\begtt \catcode`\<=13
\Xrefversion{<version>}
- \endtt
+ \endtt
We can check the version compatibility by this macro.
- Because OPmac does not understand `\_Xrefversion` we use
- \`\Xrefversion` (with different number of `<version>` form OPmac) here.
+ Because OPmac does not understand `\_Xrefversion` we use
+ \`\Xrefversion` (with a different number of `<version>` form OPmac) here.
The result: OPmac skips the `.ref` files produced by \OpTeX/ and vice
versa.
\_cod ----------------------
@@ -83,13 +83,13 @@
\def\Xfig#1#2#3{\addto\toflist{\tofline{#1}{#2}{#3}}}
}
\endtt
- We must read `<definition of your ref macros>` when catcode of `#` is 12
- because we needn't to duplicate each `#` in the `.ref` file.
+ We must read `<definition of your ref macros>` when the catcode of `#` is 12
+ because we needn't duplicate each `#` in the `.ref` file.
\_cod \_fin -----------------
\_def\_refdecl{\_bgroup \_catcode`\#=12 \_refdeclA}
\_def\_refdeclA #1{\egroup\_openref
- \_immediate\_write\_reffile {\_pcent\_space \_string \refdecl:}%
+ \_immediate\_write\_reffile {\_pcent\_space \_string \refdecl:}%
\_immediate\_write\_reffile {\_detokenize{#1}}%
}
\_public \refdecl ;
@@ -97,10 +97,10 @@
\_endcode % ================================================
-The `.ref` file has the name `\jobname.ref` and
-it saves information about references, TOC lines, etc.
+The `.ref` file has the name `\jobname.ref` and
+it saves information about references, TOC lines, etc.
All data needed in next \TeX/ run are saved here.
-\OpTeX/ reads this file at the beginning of the document
+\OpTeX/ reads this file at the beginning of the document
(using `\everyjob`) if such file exists.
The `.ref` file looks like:
@@ -116,22 +116,22 @@ The `.ref` file looks like:
...
\endtt
%
-where <gpageno> is internal page number globally numbered from one and
-`<pageno>` is a page number (`\the\pageno`) used in pagination (they may be differ).
+where <gpageno> is internal page number globally numbered from one and
+`<pageno>` is a page number (`\the\pageno`) used in pagination (they may differ).
Each page begins with \^`\_Xpage`.
The `<label>` is a label used by user in `\label[<label>]` and `<text>` is a
text which should be referenced (the number of section or table, for
-example `2.3.14`). The `<title>` is a title of the chapter (`<level>`=1,
-`<type>`=`chap`), section (`<level>`=2, `<type>`=`sec`), subsection
-(`<level>`=3, `<type>`=`secc`). The \^`\_Xpage` is written at begining of each
+example `2.3.14`). The `<title>` is the title of the chapter (`<level>`=1,
+`<type>`=`chap`), section (`<level>`=2, `<type>`=`sec`), subsection
+(`<level>`=3, `<type>`=`secc`). The \^`\_Xpage` is written at the beginning of each
page, the `\_Xtoc` is written when chapter or section or subsection title
exists on the page and `\_Xlabel` when labeled object prefixed by
-`\label[<label>]` exists on the page.
+`\label[<label>]` exists on the page.
The `.ref` file is read when the processing of the document starts using
-`\everyjob`. It is read, removed and opened to writing immediately.
-But the `.ref` file should be missing. If none forward references are needed
+`\everyjob`. It is read, removed, and opened to writing immediately.
+But the `.ref` file should be missing. If none forward references are needed
in the document then `.ref` file is not created. For example, you only want
to test a simple plain \TeX/ macro, you create `test.tex` file, you do
-`optex test` and you don't need to see empty `test.ref` file in your directory.
+`optex test` and you don't need to see an empty `test.ref` file in your directory.
diff --git a/macros/luatex/optex/base/references.opm b/macros/luatex/optex/base/references.opm
index 3640879703..27e4f8d632 100644
--- a/macros/luatex/optex/base/references.opm
+++ b/macros/luatex/optex/base/references.opm
@@ -1,16 +1,16 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \ref {References <2020-03-03>} % preloaded in format
\_doc ----------------------------
- \`\_Xpage` `{<gpageno>}{<pageno>}` saves the parameter pair into \`\_currpage`.
+ \`\_Xpage` `{<gpageno>}{<pageno>}` saves the parameter pair into \`\_currpage`.
Resets `\_lfnotenum`; it is used if footnotes are numbered from one at each page.
\_cod ----------------------------
\_def\_Xpage#1#2{\_def\_currpage{{#1}{#2}}\_lfnotenum=0 }
\_doc ----------------------------
- Counter for number of unresolved references \`\_unresolvedrefs`.
+ Counter for the number of unresolved references \`\_unresolvedrefs`.
\_cod ----------------------------
\_newcount\_unresolvedrefs
@@ -25,12 +25,12 @@
\_def\_bracketspg#1#2{[pg:#1]{#2}}
\_doc ----------------------------
- \`\label``[<label>]` saves the decalred label to `\_lastlabel` and
- \`\wlabel``{<text>}` uses the `\_lastlabel` and activates
+ \`\label``[<label>]` saves the decalred label to `\_lastlabel` and
+ \`\wlabel``{<text>}` uses the `\_lastlabel` and activates
`\wref\_Xlabel{<label>}{<text>}`.
\_cod ----------------------------
-\_def\_label[#1]{\_isempty{#1}\_iftrue \_global\_let \_lastlabel=\_undefined
+\_def\_label[#1]{\_isempty{#1}\_iftrue \_global\_let \_lastlabel=\_undefined
\_else \_isdefined{l0:#1}%
\_iftrue \_opwarning{duplicated label [#1], ignored}\_else \_xdef\_lastlabel{#1}\_fi
\_fi \_ignorespaces
@@ -49,9 +49,9 @@
\_doc ----------------------------
\`\ref``[<label>]` uses saved `\_lab:<label>` and prints (linked) `<text>`.
- If the reference is backwarded then we know `\lab:<label>` without any need
+ If the reference is backward then we know `\lab:<label>` without any need
to read REF file. On the other hand, if the reference is forwarded, then we
- doesn't know `\_lab:<label>` in first run of \TeX/ and we print warning and
+ doesn't know `\_lab:<label>` in the first run of \TeX/ and we print a warning and
do `\_openref`.
\nl
\`\pgref``[<label>]` uses `{<gpageno>}{<pageno>}` from `\_pgref:<label>` and
diff --git a/macros/luatex/optex/base/sections.opm b/macros/luatex/optex/base/sections.opm
index 0bfcb8e74e..66dc9cd9e0 100644
--- a/macros/luatex/optex/base/sections.opm
+++ b/macros/luatex/optex/base/sections.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \chap {Titles, chapters, sections, subsections <2020-03-28>} % preloaded in format
@@ -7,7 +7,7 @@
\`\_titfont`, \`\_chapfont`, \`\_secfont` and \`\_seccfont`.
They are scaled from main fonts size
of the document, which is declared by first `\typosize[<fo-size>/<b-size>]`
- command.
+ command.
\_cod ---------------------------
\_def \_titfont {\_scalemain\_typoscale[\_magstep4/\_magstep5]\_boldify}
@@ -16,10 +16,10 @@
\_def \_seccfont {\_scalemain\_typoscale[\_magstep1/\_magstep1]\_boldify}
\_doc ---------------------------
- The \`\tit` macro is defined using \^`\scantoeol` and \`\_printtit`.
+ The \`\tit` macro is defined using \^`\scantoeol` and \`\_printtit`.
It means that the parameter is
separated by end of line and inline verbatim is allowed. The same
- principle is used in the \^`\chap`, \^`\sec` and \^`\secc` macros.
+ principle is used in the \^`\chap`, \^`\sec`, and \^`\secc` macros.
\_cod ---------------------------
\_def\_printtit #1{\_vglue\_titskip
@@ -32,38 +32,38 @@
\_public \tit ;
\_doc ---------------------------
- You can re-define \`\_printchap`, \`\_printsec` or \`\_printsecc` macros if
- another design of section titles is needed. These macros gets the
+ You can re-define \`\_printchap`, \`\_printsec` or \`\_printsecc` macros if
+ another design of section titles is needed. These macros get the
`<title>` text in its parameter. The common recommendations for these macros are:
\begitems
* Use \^`\_abovetitle``{<penaltyA>}{<skipA>}` and \^`\_belowtitle``{<skipB>}`
for inserting vertical material above and below the section title.
The arguments of these macros are normally used, i.\,e.\ \^`\_abovetitle`
- inserts `<penaltyA><skipA>` and \^`\_belowtitle` inserts `<skipB>`.
+ inserts `<penaltyA><skipA>` and \^`\_belowtitle` inserts `<skipB>`.
But there is an
exception: if \^`\_belowtitle``{<skipB>}` is immediately followed by
- \^`\_abovetitle``{<penaltyA>}{<skipA>}` (for example section title is
- immediately followed by subsection title), then only `<skipA>` is generated,
+ \^`\_abovetitle``{<penaltyA>}{<skipA>}` (for example section title is
+ immediately followed by subsection title), then only `<skipA>` is generated,
i.\,e.\ `<skipB><penaltyA><skipA>` is reduced only to `<skipA>`.
- The reason of such behavior: we don't want to duplicate vertical skip
- and we don't want to use negative penalty in such cases.
+ The reason for such behavior: we don't want to duplicate vertical skip
+ and we don't want to use the negative penalty in such cases.
Moreover, \^`\_abovetitle``{<penaltyA>}{<skipA>}` takes previous whatever
- vertical skip (other than from `\_belowtitle`) and generates only
- greater from this pair of skips. It means that `<whatever-skip><penaltyA><skipA>`
- is transformed to `<penaltyA>`max(`<whatever-skip><skipA>`).
- The reason of such behavior: we don't want to
+ vertical skip (other than from `\_belowtitle`) and generates only
+ greater from this pair of skips. It means that `<whatever-skip><penaltyA><skipA>`
+ is transformed to `<penaltyA>`max(`<whatever-skip><skipA>`).
+ The reason for such behavior: we don't want to
duplicate vertical skips (from `\_belowlistskip`, for example) above the title.
- * Use \^`\_printrefnum``[<pre>@<post>]` in horizontal mode. It prints
+ * Use \^`\_printrefnum``[<pre>@<post>]` in horizontal mode. It prints
`<pre><ref-num><post>`. The `<ref-num>` is \^`\_thechapnum` or \^`\_thesecnum`
or \^`\_theseccnum` depending on what type o title is processed.
- If \^`\nonum` prefix is used then \^`\_printrefnum` prints nothing.
- The macro \^`\_printrefnum` does more work: it creates destination of hyperlinks
- (if \^`\hyperlinks``{}{}` is used) and saves references from label (if
- \^`\label``[<label>]` precedes) and saves references for table of contents
+ If \^`\nonum` prefix is used then \^`\_printrefnum` prints nothing.
+ The macro \^`\_printrefnum` does more work: it creates destination of hyperlinks
+ (if \^`\hyperlinks``{}{}` is used) and saves references from the label (if
+ \^`\label``[<label>]` precedes) and saves references for the table of contents
(if \^`\maketoc` is used).
* Use \^`\nbpar` for closing the paragraph for printing title. This
command inserts `\_nobreak` between each line of such paragraph, so
- the title cannot be broken to more pages.
+ the title cannot be broken into more pages.
* You can use \^`\_firstnoindent` in order to the first paragraph after
the title is not indented.
\enditems
@@ -74,19 +74,19 @@
{\_chapfont \_noindent \_mtext{chap} \_printrefnum[@]\_par
\_nobreak\_smallskip
\_noindent \_raggedright #1\_nbpar}\_mark{}%
- \_nobreak \_belowtitle{\_bigskip}%
+ \_nobreak \_belowtitle{\_bigskip}%
\_firstnoindent
}
-\_def\_printsec#1{\_par
+\_def\_printsec#1{\_par
\_abovetitle{\_penalty-400}\_bigskip
{\_secfont \_noindent \_raggedright \_printrefnum[@\_quad]#1\_nbpar}\_insertmark{#1}%
- \_nobreak \_belowtitle{\_medskip}%
+ \_nobreak \_belowtitle{\_medskip}%
\_firstnoindent
}
-\_def\_printsecc#1{\_par
+\_def\_printsecc#1{\_par
\_abovetitle{\_penalty-200}{\_medskip\_smallskip}
{\_seccfont \_noindent \_raggedright \_printrefnum[@\_quad]#1\_nbpar}%
- \_nobreak \_belowtitle{\_medskip}%
+ \_nobreak \_belowtitle{\_medskip}%
\_firstnoindent
}
@@ -107,33 +107,33 @@
}
\_doc --------------------------
- The \`\_chapx` initializes counters used in chapters,
+ The \`\_chapx` initializes counters used in chapters,
the \`\_secx` initializes counters in sections
and \`\_seccx` initializes counters in subsections.
If you have more types of numbered objects in your document then you can
- declare appropriate counters and do `\addto\_chapx{\yourcounter=0 }`
- for example. If you have another concept of numbering objects used in your
+ declare appropriate counters and do `\addto\_chapx{\yourcounter=0 }`
+ for example. If you have another concept of numbering objects used in your
document, you can re-define these macros. All settings here are global
because it is used by `{\_globaldefs=1 \_chapx}`.
- Default concept: Tables, figuers and display maths are numbered
- from one in each section -- subsetions doesn't reset these counters.
+ Default concept: Tables, figures, and display maths are numbered
+ from one in each section -- subsections don't reset these counters.
Footnotes declared by \^`\fnotenumchapters` are numbered in each chapter
from one.
- The `\_the*` macros
- \`\_thechapnum`, \`\_thesecnum`, \`\_theseccnum`,
+ The `\_the*` macros
+ \`\_thechapnum`, \`\_thesecnum`, \`\_theseccnum`,
\`\_thetnum`, \`\_thefnum` and \`\_thednum`
include the format of numbers used when the object
is printing. If chapter is never used in the document then `\_chapnum=0`
and \`\_othe``\_chapnum.` expands to empty. Sections have numbers <num> and
subsections <num>.<num>. On the other hand, if chapter is used in the
- document then `\_chapnum>0` and sections have numbers` <num>.<num>`
- and subsections have numbers `<num>.<num>.<num>`.
+ document then `\_chapnum>0` and sections have numbers` <num>.<num>`
+ and subsections have numbers `<num>.<num>.<num>`.
\_cod --------------------------
-\_newcount \_chapnum % chapters
+\_newcount \_chapnum % chapters
\_newcount \_secnum % sections
\_newcount \_seccnum % subsections
\_newcount \_tnum % table numbers
@@ -142,7 +142,7 @@
\_def \_chapx {\_secx \_secnum=0 \_lfnotenum=0 }
\_def \_secx {\_seccx \_seccnum=0 \_tnum=0 \_fnum=0 \_dnum=0 \_resetABCDE }
-\_def \_seccx {}
+\_def \_seccx {}
\_def \_thechapnum {\_the\_chapnum}
\_def \_thesecnum {\_othe\_chapnum.\_the\_secnum}
@@ -166,12 +166,12 @@
\_public \notoc \nonum ;
\_doc ----------------------------
- The \`\chap`, \`\sec` and \`\secc` macros are implemented here.
- The \`\_inchap`, \`\_insec` and \`\_insecc` macros does the real work,
+ The \`\chap`, \`\sec`, and \`\secc` macros are implemented here.
+ The \`\_inchap`, \`\_insec` and \`\_insecc` macros do the real work,
First, we read the optional parameter `[<label>]`, if it exists.
The `\chap`, `\sec` and `\secc` macro reads its parameter using
\^`\scantoeol`. This causes that they cannot be used inside other macros.
- Use \`\_inchap`, \`\_insec` and \`\_insecc` macros directly in such case.
+ Use \`\_inchap`, \`\_insec`, and \`\_insecc` macros directly in such case.
\_cod ----------------------------
\_optdef\_chap[]{\_trylabel \_scantoeol\_inchap}
@@ -208,13 +208,13 @@
The \`\_wtotoc` `{<level>}{<info>}{<ref-num>}{<title-text>}`
macro expands its parameters and does \^`\_wref`.
- Note that the `<tite-text>` is `\detokenize`d before `\_wref`, so the
- problem of \"fragile macros" from old \LaTeX/ never occurs.
+ Note that the `<tite-text>` is `\detokenize`d before `\_wref`, so the
+ problem of \"fragile macros" from old \LaTeX/ never occurs.
\_cod ----------------------------
\_def \_printrefnum [#1@#2]{\_leavevmode % we must be in horizontal mode
\_ifnonum \_else #1\_therefnum #2\_fi
- \_wlabel \_therefnum % references, if `\label[<label>]` is declared
+ \_wlabel \_therefnum % references, if `\label[<label>]` is declared
\_ifnotoc \_else \_incr \_tocrefnum
\_dest[toc:\_the\_tocrefnum]%
\_wtotoc{\_the\_sectionlevel}{\_secinfo}%
@@ -225,20 +225,20 @@
\_def \_wtotocA #1#2#3#4{\_wref\_Xtoc{{#1}{#2}{#3}#4}}
\_doc -----------------------------
- The \`\_abovetitle``{<penaltyA>}{<skipA>}` and \`\_belowtitle``{<skipB>}` pair
- communicates using a special penalty 11333 in vertical mode.
- The `\_belowtitle` puts the vertical skip (its value is saved in
+ The \`\_abovetitle``{<penaltyA>}{<skipA>}` and \`\_belowtitle``{<skipB>}` pair
+ communicates using a special penalty 11333 in vertical mode.
+ The `\_belowtitle` puts the vertical skip (its value is saved in
`\_savedtitleskip`) followed by this special penalty.
The `\_abovetitle` reads `\lastpenalty` and if it has this special value
- then it removes the skip used before and don't use the parameter.
+ then it removes the skip used before and doesn't use the parameter.
The `\abovetitle` creates `<skipA>` only if whatever previous skip is less
or equal than `<skipA>`. We must save `<whatever-skip>`, remove it,
- create `<penaltyA>` (if `\_belowtitle` does not preceded) and create
+ create `<penaltyA>` (if `\_belowtitle` does not precede) and create
<whatever-skip> or `<skipA>` depending on what is greater.
The amount of `<skipA>` is measured using `\setbox0=\vbox`.
\_cod -----------------------------
-\_newskip \_savedtitleskip
+\_newskip \_savedtitleskip
\_newskip \_savedlastskip
\_def\_abovetitle #1#2{\_savedlastskip=\_lastskip % <whatever-skip>
\_ifdim\_lastskip>\_zo \_vskip-\_lastskip \_fi
@@ -251,7 +251,7 @@
\_doc -----------------------------
\`\nbpar` sets `\interlinepenaty` value.
- \`\nl` is \"new line" in text (or titles), but space in toc or headlines or outlines.
+ \`\nl` is \"new line" in the text (or titles), but space in toc or headlines or outlines.
\_cod -----------------------------
\_def\_nbpar{{\_interlinepenalty=10000\_endgraf}}
@@ -272,17 +272,17 @@
\_def \_firstnoindent {\_global\_everypar={\_wipeepar \_setbox7=\_lastbox}}
\_def \_wipeepar {\_global\_everypar={}}
- \_doc -----------------------------
+ \_doc -----------------------------
The `\mark` (for running heads) is used in `\_printsection` only. We
- suppose that chapters will be printed after `\vfil\break`, so user can
+ suppose that chapters will be printed after `\vfil\break`, so users can
implement chapter titles for running headers directly by macros, no
`\mark` mechanism is needed. But sections need `\mark`s. And they can be
- mixed with chapter's running heads, of course.
+ mixed with chapter's running heads, of course.
The \`\_insertmark``{<title text>}` saves `\mark` in the format
`{<title-num>} {<title-text>}`, so it can be printed \"as is" in
`\headline` (see the space between them), or you can define a formating
- macro with two parameters for processing these data, if you need it.
+ macro with two parameters for processing these data, if you need it.
\_cod -----------------------------
\_def\_insertmark#1{\_mark{{\_ifnonum\_else\_therefnum\_fi} {\_unexpanded{#1}}}}
@@ -298,16 +298,36 @@
\hfil \ea\formathead\firstmark{}{}%
\else
Chapter: \runningchap \hfil
- \fi
+ \fi
}
\endtt
- The \`\caption``/<letter>` uses `\_<letter>num` counter.
+
+ The \`\secl``<number> <title-text><eol>`
+ should be used for various levels of sections (for example, when
+ converting from Markdown to \OpTeX/). `\secl1` is `\chap`, `\secl2` is `\sec`,
+ `\secl3` is `\secc` and all more levels (for <number>$>3$)
+ are printed by the common \`\_seclp` macro. It declares only a simple design.
+ If there is a requirement to use such more levels then the book designer can
+ define something different here.
+ \_cod -----------------------------
+
+\_def\_secl{\_afterassignment\_secla \_sectionlevel=}
+\_def\_secla{\_ifcase\_sectionlevel
+ \_or\_ea\_chap\_or\_ea\_sec\_or\_ea\_secc\_else\_ea\_seclp\_fi}
+\_eoldef\_seclp#1{\_par \_ifnum\_lastpenalty=0 \_removelastskip\_medskip\_fi
+ \_noindent{\_bf #1}\_vadjust{\_nobreak}\_nl\_ignorepars}
+\_def\_ignorepars{\_isnextchar\_par{\_ignoresecond\_ignorepars}{}}
+
+\_public \secl ;
+
+ \_doc -----------------------------
+ The \`\caption``/<letter>` uses `\_<letter>num` counter.
The group opened by `\caption` is finalized by first `\par` from
- empty line or from `\vskip` or from `\endinsert`.
+ an empty line or from `\vskip` or from `\endinsert`.
The `\_printcaption<letter>` is called, it starts with
printing of the caption.\nl
- The \`\cskip` macro inserts nobreakable vertical space between caption and
- the object.
+ The \`\cskip` macro inserts nonbreakable vertical space between the caption and
+ the object.
\_cod -----------------------------
\_def\_caption/#1{\_def\_tmpa{#1}\_nospaceafter \_capA}
@@ -317,8 +337,7 @@
\_else \_opwarning{Unknown caption /\_tmpa}\_fi
\_edef\_thecapnum {\_csname _the\_tmpa num\_endcsname}%
\_edef\_thecaptitle{\_mtext{\_tmpa}}%
- \_ifcsname _everycaption\_tmpa\_endcsname
- \_ea\_the \_csname _everycaption\_tmpa\_endcsname \_fi
+ \_ea\_the \_csname _everycaption\_tmpa\_endcsname
\_def\_par{\_nbpar\_egroup}\_let\par=\_par
\_cs{_printcaption\_tmpa}%
}
@@ -344,26 +363,26 @@
\_let \_printcaptionf = \_printcaptiont % caption of figures = caption of tables
\_doc -----------------------------
- The default format of `\caption` text is paragraph in block narrower by
- `\_iindent` and with the last line is centered. This setting is done by
- the \`\_narrowlastlinecentered` macro.
+ The default format of `\caption` text is a paragraph in block narrower by
+ `\_iindent` and with the last line is centered. This setting is done by
+ the \`\_narrowlastlinecentered` macro.
\_cod -----------------------------
\_def\_narrowlastlinecentered#1{%
\_leftskip=#1plus1fil
\_rightskip=#1plus-1fil
- \_parfillskip=0pt plus2fil
+ \_parfillskip=0pt plus2fil\_relax
}
\_doc -----------------------------
\`\eqmark` is processed in display mode (we add `\eqno` primitive)
- or in internal mode when `\eqaligno` is used (we don't add `\eqno`).
+ or in internal mode when `\eqaligno` is used (we don't add `\eqno`).
\_cod -----------------------------
\_optdef\_eqmark []{\_trylabel \_ineqmark}
\_def\_ineqmark{\_incr\_dnum
- \_ifinner\_else\_eqno \_fi
- \_wlabel\_thednum \_thednum
+ \_ifinner\_else\_eqno \_fi
+ \_wlabel\_thednum \_hbox{\_thednum}%
}
\_public \eqmark ;
@@ -371,7 +390,7 @@
The \`\numberedpar` `<letter>{<name>}` is implemented here.
\_cod -----------------------------
-\_newcount\_counterA \_newcount\_counterB \_newcount\_counterC
+\_newcount\_counterA \_newcount\_counterB \_newcount\_counterC
\_newcount\_counterD \_newcount\_counterE
\_def\_resetABCDE {\_counterA=0 \_counterB=0 \_counterC=0 \_counterD=0 \_counterE=0 }
@@ -395,7 +414,7 @@
it if you need another design.
`\_printnumberedpar` needs not to be re-defined if you only want to print
- Theorems in italic and to insert vertical skips (for example). You can do this
+ Theorems in italic and to insert vertical skips (for example). You can do this
by the following code:
\begtt
\def\theorem {\medskip\bgroup\it \numberedpar A{Theorem}}
@@ -413,6 +432,8 @@
\_endcode % -------------------------------------
+2021-01-11 \secl introduced
+2021-01-05 \_thednum printed in text mode in its both occurences.
2020-04-28 \_secfonts etc: \_boldify is last.
2020-04-22 \_chapx, \_secx, \_seccx rewritten
2020-03-14 introduced
diff --git a/macros/luatex/optex/base/slides.opm b/macros/luatex/optex/base/slides.opm
index dff62e5931..deba85c746 100644
--- a/macros/luatex/optex/base/slides.opm
+++ b/macros/luatex/optex/base/slides.opm
@@ -1,9 +1,9 @@
-% This is part of OpTeX project, see http://petr.olsak.net/optex
+% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \slideshow {Slides style for OpTeX <2020-03-19>} % loaded on demand by \slides
\_doc -----------------------------
- Default margins and design is declared here.
+ Default margins and design is declared here.
The `\_ttfont` is scaled by `mag1.15` in order to balance the
ex height of Helvetica (Heros) and LM fonts Typewriter.
The `\begtt`...`\endtt` verbatim is printed by smaller text.
@@ -31,11 +31,11 @@
\_onlyrgb % RGB color space is better for presentations
\_doc -----------------------------
- The bottom margin is set to 3\,mm. If we use 1\,mm, then baseline of
- `\footline` is 2\,mm from the bottom page. This is depth of the `\Grey`
+ The bottom margin is set to 3\,mm. If we use 1\,mm, then the baseline of
+ `\footline` is 2\,mm from the bottom page. This is the depth of the `\Grey`
rectangle used for page numbers. It is r-lapped to `\hoffset` width because left
margin = `\hoffset` = right margin. It is 14\,mm for narrow pages or
- 16\,mm for wide pages.
+ 16\,mm for wide pages.
\_cod -----------------------------
\_footlinedist=1mm
@@ -52,13 +52,13 @@
\_doc -----------------------------
The \`\pshow``<num>` prints the text in invisible
- (transparent) font when \^`\layernum`\code{<}`<num>`.
- The trasparency is set by by `\pdfpageresoyrces` primitive.
+ (transparent) font when \^`\layernum`\code{<}`<num>`.
+ The transparency is set by `\pdfpageresoyrces` primitive.
\_cod -----------------------------
-\pdfpageresources{/ExtGState << /Invisible << /Type /ExtGState /ca 0 /CA 0 >>
+\pdfpageresources{/ExtGState << /Invisible << /Type /ExtGState /ca 0 /CA 0 >>
/Visible << /Type /ExtGState /ca 1 /CA 1 >> >>}
-\addto\_morepgresources{/Invisible << /Type /ExtGState /ca 0 /CA 0 >>
+\addto\_morepgresources{/Invisible << /Type /ExtGState /ca 0 /CA 0 >>
/Visible << /Type /ExtGState /ca 1 /CA 1 >>}
\def\Invisible {\_pdfliteral{/Invisible gs}}
\def\Visible {\_pdfliteral{/Visible gs}}
@@ -68,13 +68,13 @@
\_def\_pshow#1{\_use{=#1}\Red \_use{<#1}\Transparent \_ignorespaces}
\_doc -----------------------------
- The main level list of items is activated here. The `\_item:X` and
+ The main level list of items is activated here. The `\_item:X` and
`\_item:x` are used and are re-defined here.
- If we are in nested level of items and `\pg+` is used then
+ If we are in a nested level of items and `\pg+` is used then
`\egroups` macro expands to the right number of `\egroup`s
- in order to close page correctly. The level of nested item lists
- is saved to the `\_ilevel` register and used when we start again
- the next text after `\pg+`.
+ to close the page correctly. The level of nested item lists
+ is saved to the `\_ilevel` register and used when we start again
+ the next text after `\pg+`.
\_cod -----------------------------
\_newcount\_gilevel
@@ -101,10 +101,10 @@
The \`\_endslides` is defined as `\_end` primitive, but
slide-designer can redefine it. For example,
\ulink[http://petr.olsak.net/optex/optex-tricks.html\#slider]{OpTeX trick 0029}
- shows how to define a clickable navigation to the pages and how to check
- the data integrity at the end of document using `\_endslides`.
+ shows how to define clickable navigation to the pages and how to check
+ the data integrity at the end of the document using `\_endslides`.
- The `\bye` macro is re-defined here as an alternative to `\pg.`.
+ The `\bye` macro is redefined here as an alternative to `\pg.`.
\_cod -----------------------------
\_def\_endslides{\_end}
@@ -113,7 +113,7 @@
\_doc -----------------------------
We need no numbers and no table of contents when using slides.
The \^`\_printsec` macro is redefined in order the title is centered
- and typeset in `\Blue`.
+ and typeset in `\Blue`.
\_cod -----------------------------
\_def\_titfont{\_typosize[42/60]\_bf \Blue}
@@ -121,27 +121,27 @@
\_def\_secfont{\_typosize[25/30]\_bf \Blue}
\_nonum \_notoc \_let\_resetnonumnotoc=\_relax
-\_def\_printsec#1{\_par
+\_def\_printsec#1{\_par
\_abovetitle{\_penalty-400}\_bigskip
- {\_secfont \_noindent \_leftskip=0pt plus1fill \_rightskip=\_leftskip
+ {\_secfont \_noindent \_leftskip=0pt plus1fill \_rightskip=\_leftskip
\_printrefnum[@\_quad]#1\_nbpar}\_insertmark{#1}%
- \_nobreak \_belowtitle{\_medskip}%
+ \_nobreak \_belowtitle{\_medskip}%
}
\_doc -----------------------------
- When \`\slideshow` is active then each page is opened
+ When \`\slideshow` is active then each page is opened
by `\setbox\_slidepage=\vbox\bgroup` (roughly speaking)
and closed by `\egroup`. The material is
`\unvbox`ed and saved for the usage in the next usage if `\pg+` is in process.
The \`\_slidelayer` is incremented instead `\pageno` if `\pg+`.
This counter is equal to `\count1`, so it is printed to the terminal and
- log file next to `\pageno`.
+ log file next to `\pageno`.
The code is somewhat more complicated when \^`\layers` is used. Then
`<layered-text>` is saved to the \`\_layertext` macro, the material before
it is in \`\_slidepage` box and the material after it is in `\_slidepageB`
box. The pages are completed in the `\loop` which increments the
- \`\layernum` register.
+ \`\layernum` register.
\_cod -----------------------------
\_newbox\_slidepage \_newbox\_slidepageB
@@ -159,20 +159,20 @@
}
\_def\_destboxslide{\_def\_destbox[##1:##2]{\_isequal{##1}{ref}\_iffalse \_destboxori[##1:##2]\_fi}}
-\_def\_openslide{\_setbox\_slidepage=\_vbox\_bgroup \_setilevel
+\_def\_openslide{\_setbox\_slidepage=\_vbox\_bgroup \_setilevel
\_ifvoid\_slidepage \_else \_unvbox\_slidepage \_nointerlineskip\_lastbox \_fi}
\_def\_setilevel{\_loop \_decr\_gilevel \_ifnum\_gilevel<0 \_else \_begitems \_repeat}
-\_def\_closepage{\_egroups
+\_def\_closepage{\_egroups
\_ifnum \_maxlayers=0 \_unvcopy\_slidepage \_vfil\_break
- \_else \_begingroup \_setwarnslides \_layernum=0
- \_loop
+ \_else \_begingroup \_setwarnslides \_layernum=0
+ \_loop
\_ifnum\_layernum<\_maxlayers \_advance\_layernum by1
\_printlayers \_vfil\_break
- \_ifnum\_layernum<\_maxlayers \_incr\_slidelayer \_decr\_pageno \_fi
+ \_ifnum\_layernum<\_maxlayers \_incr\_slidelayer \_decr\_pageno \_fi
\_repeat
\_global\_maxlayers=0
- \_incr\_layernum \_global\_setbox\_slidepage=\_vbox{\_printlayers}%
+ \_incr\_layernum \_global\_setbox\_slidepage=\_vbox{\_printlayers}%
\_endgroup
\_fi}
\_def\_resetpage{%
@@ -217,10 +217,10 @@
\_doc -----------------------------
We must to redefine \`\fnotenumpages` because the data from `.ref` file
- are less usable for implementing such feature: the
- footnote should be in more layers repeatedly. But we can suppose that
+ are less usable for implementing such a feature: the
+ footnote should be in more layers repeatedly. But we can suppose that
each page starts by `\pg;` macro, so we can reset the footnote counter by
- this macro.
+ this macro.
\_cod -----------------------------
\_def \_fnotenumpages {\_def\_fnotenum{\_the\_lfnotenum}\_pgfnotefalse
diff --git a/macros/luatex/optex/base/styles.opm b/macros/luatex/optex/base/styles.opm
index c9ee386959..8df96f795d 100644
--- a/macros/luatex/optex/base/styles.opm
+++ b/macros/luatex/optex/base/styles.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \report {Basic styles of OpTeX <2020-03-28>} % preloaded in format
@@ -17,7 +17,7 @@
\_def\_boxlinesE{\_ifhmode\_egroup\_empty\_fi}%
\_def\_nl{\_boxlinesE}%
\_bgroup \_lccode`\~=`\^^M\_lowercase{\_egroup\_let~}\_boxlinesE
- \_everypar{\_setbox0=\_lastbox\_endgraf
+ \_everypar{\_setbox0=\_lastbox\_endgraf
\_hbox\_bgroup \_catcode`\^^M=13 \_let\par=\_nl \_aftergroup\_boxlinesC}%
}
\_def\_boxlinesC{\_futurelet\_next\_boxlinesD}
@@ -29,7 +29,7 @@
The \`\report` and \`\letter` style initialization macros are defined here.
\nl
The `\letter` defines \`\address` and \`\subject` macros.
- \_cod -----------------------------
+ \_cod -----------------------------
\_def\_report{
\_typosize[11/13.2]
@@ -89,18 +89,18 @@ The example of `\letter` style document follows:
Vážený pane řediteli
-na základě Vašeho dopisu č.j.~123456/78-dat a elektronické výzvy si dovoluji
-Vás požádat o prozkoumání mé možnosti další možnosti.
+na základě Vašeho dopisu č.j.~123456/78-dat a elektronické výzvy si dovoluji
+Vás požádat o prozkoumání mé možnosti další možnosti.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
-commodo consequat.
+commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit
-esse cillum dolore eu fugiat nulla pariatur.
+esse cillum dolore eu fugiat nulla pariatur.
S úctou
diff --git a/macros/luatex/optex/base/table.opm b/macros/luatex/optex/base/table.opm
index d129ba5a02..09ece437ea 100644
--- a/macros/luatex/optex/base/table.opm
+++ b/macros/luatex/optex/base/table.opm
@@ -1,10 +1,10 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \table {Basic macros for OpTeX <2020-05-26>} % preloaded in format
\_doc -----------------------------
- The result of the \`\table``{<declaration>}{<data>}` macro is inserted into
- `\_tablebox`. You can change default value if you want by
+ The result of the \`\table``{<declaration>}{<data>}` macro is inserted into
+ `\_tablebox`. You can change default value if you want by
`\let\_tablebox=\vtop` or `\let\_tablebox=\relax`.
\_cod -----------------------------
@@ -12,20 +12,20 @@
\_doc -----------------------------
We save the `to<size>` or `pxto<size>` to `#1` and \`\_tableW` sets the
- `to<size>` to the \`\_tablew` macro.
+ `to<size>` to the \`\_tablew` macro.
If `pxto<size>` is used then `\_tablew` is empty and `\_tmpdim` includes
given <size>. The `\_ifpxto` returns true in this case.
The `\table` continues by reading `{<declaration>}` in the \^`\_tableA` macro.
- Catcodes (for example the `|` character) have to be normal when reading
+ Catcodes (for example the `|` character) have to be normal when reading
`\table` parameters. This is the reason why we use `\catcodetable` here.
\_cod -----------------------------
\_newifi \_ifpxto
-\_def\_table#1#{\_tablebox\_bgroup \_tableW#1\_empty\_end
+\_def\_table#1#{\_tablebox\_bgroup \_tableW#1\_empty\_end
\_bgroup \_catcodetable\_optexcatcodes \_tableA}
-\_def\_tableW#1#2\_end{\_pxtofalse
- \_ifx#1\_empty \_def\_tablew{}\_else
+\_def\_tableW#1#2\_end{\_pxtofalse
+ \_ifx#1\_empty \_def\_tablew{}\_else
\_ifx#1p \_def\_tablew{}\_tableWx#2\_end \_else \_def\_tablew{#1#2}\_fi\_fi}
\_def\_tableWx xto#1\_end{\_tmpdim=#1\_relax \_pxtotrue}
\_public \table ;
@@ -36,8 +36,9 @@
`\_lineskip=-2\_tablinespace`. Normal table rows (where no `\hrule` is
between them) have normal baseline distance.\nl
The \`\_tableA``{<declaration>}` macro scans the `<declaration>` by
- `\_scantabdata#1\_relax` and continues by reading `{<data>}` by
- the \^`\_tableB` macro.
+ `\_scantabdata#1\_relax` and continues by processing `{<data>}` by \^`\_tableB`.
+ The trick `\_tmptoks={<data>}\_edef\_tmpb{\_the\_tmptoks}`
+ is used here in order to keep the hash marks in the <data> unchanged.
\_cod -----------------------------
\_def\_tableA#1{\_egroup
@@ -45,22 +46,22 @@
\_ea\_ifx\_ea^\_the\_tabstrut^\_setbox\_tstrutbox=\_null
\_else \_setbox\_tstrutbox=\_hbox{\_the\_tabstrut}%
\_setbox\_tstrutbox=\_hbox{\_vrule width\_zo
- height\_dimexpr\_ht\_tstrutbox+\_tablinespace
+ height\_dimexpr\_ht\_tstrutbox+\_tablinespace
depth\_dimexpr\_dp\_tstrutbox+\_tablinespace}%
\_offinterlineskip
\_lineskip=-2\_tablinespace
\_fi
- \_colnum=0 \_let\_addtabitem=\_addtabitemx
+ \_colnum=0 \_let\_addtabitem=\_addtabitemx
\_def\_tmpa{}\_tabdata={\_colnum1\_relax}\_scantabdata#1\_relax
- \_the\_everytable \_tableB
+ \_the\_everytable \_bgroup \_catcode`\#=12 \_tableB
}
\_doc -----------------------------
- The \`\_tableB``{<data>}` saves `<data>` to `\_tmpb`
+ The \`\_tableB` saves `<data>` to `\_tmpb`
and does four \^`\replstring`s to prefix each macro \^`\crl` (etc.)
- by `\_crcr`. The reason is: we want to use macros which scan its parameter
- to the delimeiter written in right part of table item declaration.
- See \^`\fS` for example. The `\crcr` cannot be hidden in other macro in such case.
+ by `\_crcr`. The reason is: we want to use macros that scan its parameter
+ to the delimiter written in the right part of the table item declaration.
+ See \^`\fS` for example. The `\crcr` cannot be hidden in another macro in this case.
The `\tabskip` value is saved for places between columns
into the \`\_tabskipmid` macro. Then it runs
@@ -68,30 +69,33 @@
\tabskip=\tabskipl \halign{<converted declaration>\tabskip=\tabskipr \cr <data>\crcr}
\endtt
This sets the desired boundary values of `\tabskip`. The
- \"between-columns" values are set as `\tabskip=`\^`\_tabskipmid` in the
+ \"between-columns" values are set as `\tabskip=`\^`\_tabskipmid` in the
`<converted declaration>` immediately after each column declarator.
If `pxto` keyword was used, then we set the virtual unit \^`\tsize` to
`\hsize` first. Then the first attempt of the table is created in box 0.
- Then the \^`\tsize` is re-calculated using `\wd0` and the real table is
- printed by `\halign` in the second pass.
+ Then the \^`\tsize` is re-calculated using `\wd0` and the real table is
+ printed by `\halign` in the second pass.
If no `pxto` keyword was used, then we print the table using `\halign`
directly. The \^`\_tablew` macro is nonempty if the `to` keyword was used.
Because the color selector with `\aftergroup` can be used inside the
- table item, we must to create second real group for each table item.
+ table item, we must create the second real group for each table item.
This is reason why we start `<converted declaration>` by `\bgroup` and we
end it by `\egroup` in the \`\_tableC` macro. Each `&` character
- is stored as `\egroup&\bgroup` in `<converted declaration>`. The
+ is stored as `\egroup&\bgroup` in `<converted declaration>`. The
`\halign\_tablew\_tableC` really does:
\begtt \catcode`\<=13
\halign\_tablew{\bgroup<converted declaration>\egroup\tabskip=\tabskipr \cr<data>\crcr}
\endtt
\relax
+ The <data> are re-tokenized by `\_scantextokens` in order to be more
+ robust to catcode changing inside the <data>. But inline verbatim cannot
+ work in special cases here like \code{`\{`} for example.
\_cod -----------------------------
-\_def\_tableB#1{\_def\_tmpb{#1}%
+\_def\_tableB #1{\_egroup \_def\_tmpb{#1}%
\_replstring\_tmpb{\crl}{\_crcr\crl}\_replstring\_tmpb{\crll}{\_crcr\crll}%
\_replstring\_tmpb{\crli}{\_crcr\crli}\_replstring\_tmpb{\crlli}{\_crcr\crlli}%
\_replstring\_tmpb{\crlp}{\_crcr\crlp}%
@@ -104,21 +108,22 @@
\_halign\_tablew \_tableC
\_fi \_egroup
}
-\_def\_tableC{\_ea{\_ea\_bgroup\_the\_tabdata\_egroup\_tabskip=\_tabskipr\_cr\_tmpb\_crcr}}
+\_def\_tableC{\_ea{\_ea\_bgroup\_the\_tabdata\_egroup\_tabskip=\_tabskipr\_cr
+ \_scantextokens\_ea{\_tmpb\_crcr}}}
\_newbox\_tstrutbox % strut used in table rows
\_newtoks\_tabdata % the \halign declaration line
\_doc -----------------------------
- The \`\_scantabdata` macro converts `\table`'s `<declaration>` to
+ The \`\_scantabdata` macro converts `\table`'s `<declaration>` to
`\halign` `<converted declaration>`.
- The result is stored into \`\_tabdata` tokens list.
- For example, the
+ The result is stored into \`\_tabdata` tokens list.
+ For example, the
following result is generated when `<declaration>=|cr||cl|`.
\begtt
- tabdata: \_vrule\_the\_tabiteml\_hfil#\_unsskip\_hfil\_the\_tabitemr\_tabstrutA
- &\_the\_tabiteml\_hfil#\_unsskip\_the\_tabitemr
- \_vrule\_kern\_vvkern\_vrule\_tabstrutA
+ tabdata: \_vrule\_the\_tabiteml\_hfil#\_unsskip\_hfil\_the\_tabitemr\_tabstrutA
+ &\_the\_tabiteml\_hfil#\_unsskip\_the\_tabitemr
+ \_vrule\_kern\_vvkern\_vrule\_tabstrutA
&\_the\_tabiteml\_hfil#\_unsskip\_hfil\_the\_tabitemr\_tabstrutA
&\_the\_tabiteml#\_unsskip\_hfil\_the\_tabitemr\_vrule\_tabstrutA
ddlinedata: &\_dditem &\_dditem\_vvitem &\_dditem &\_dditem
@@ -141,10 +146,10 @@
\_else \_def\_next{\_ea\_scantabdataA\_csname _tabdeclare#1\_endcsname}%
\_fi\_fi\_fi\_fi\_fi\_fi \_next
}
-\_def\_scantabdataA#1{\_addtabitem
- \_ea\_addtabdata\_ea{#1\_tabstrutA \_tabskip\_tabskipmid}\_scantabdata}
+\_def\_scantabdataA#1{\_addtabitem
+ \_ea\_addtabdata\_ea{#1\_tabstrutA \_tabskip\_tabskipmid\_relax}\_scantabdata}
\_def\_scantabdataB#1#2{\_addtabitem
- \_ea\_addtabdata\_ea{#1{#2}\_tabstrutA \_tabskip\_tabskipmid}\_scantabdata}
+ \_ea\_addtabdata\_ea{#1{#2}\_tabstrutA \_tabskip\_tabskipmid\_relax}\_scantabdata}
\_def\_scantabdataC {\_def\_tmpb{}\_afterassignment\_scantabdataD \_tmpnum=}
\_def\_scantabdataD#1{\_loop \_ifnum\_tmpnum>0 \_advance\_tmpnum by-1 \_addto\_tmpb{#1}\_repeat
\_ea\_scantabdata\_tmpb}
@@ -155,18 +160,18 @@
The \`\_addtabitemx` adds the boundary code (used between columns)
to the <converted declaration>. This code is
`\egroup &\bgroup \colnum=<value>\relax`. You can get the current number of
- column from the \`\colnum` register, but you cannot write
- `\the\colnum` as the first object in a <data> item because `\halign`
+ column from the \`\colnum` register, but you cannot write
+ `\the\colnum` as the first object in a <data> item because `\halign`
first expands the front of the item and the left part of the declaration
is processed after this. Use `\relax\the\colnum` instead. Or you can
- write:
+ write:
\begtt
\def\showcolnum{\ea\def\ea\totcolnum\ea{\the\colnum}\the\colnum/\totcolnum}
\table{ccc}{\showcolnum & \showcolnum & \showcolnum}
\endtt
This example prints 1/3 \ 2/3 \ 3/3, because the value of the `\colnum` is
equal to the total number of columns before left part of the column declaration
- is processed.
+ is processed.
\_cod -----------------------------
\_newcount\_colnum % number of current column in the table
@@ -196,7 +201,7 @@
The default \"declaration letters" `c`, `l`, `r` and `p` are declared
by setting \`\tabdeclarec`, \`\tabdeclarel`, \`\tabdeclarer` and
\`\paramtabdeclarep` macros. In general, define
- `\def\_tabdeclare<letter>{...}` for a non-parametric
+ `\def\_tabdeclare<letter>{...}` for a non-parametric
letter and `\def\_paramtabdeclare<letter>{...}` for a letter with a parameter.
The double hash `##` must be in the definition, it is replaced by a real table item data.
You can declare more such \"declaration letters" if you want.
@@ -206,42 +211,42 @@
\_def\_tabdeclarel{\_the\_tabiteml\_relax##\_unsskip\_hfil\_the\_tabitemr}
\_def\_tabdeclarer{\_the\_tabiteml\_hfil##\_unsskip\_the\_tabitemr}
\_def\_paramtabdeclarep#1{\_the\_tabiteml
- \_vtop{\_hsize=#1\_relax \_baselineskip=\_normalbaselineskip
+ \_vtop{\_hsize=#1\_relax \_baselineskip=\_normalbaselineskip
\_lineskiplimit=\_zo \_noindent##\_unsskip
\_ifvmode\_vskip\_dp\_tstrutbox \_else\_lower\_dp\_tstrutbox\_hbox{}\_fi}\_the\_tabitemr}
\_doc -----------------------------
- User puts optional spaces around the table item typically, i.e.\ he/she writes
- `& text &` instead `&text&`. The left space is ignored by internal \TeX/ algorithm but
+ Users put optional spaces around the table item typically, i.e.\ they write
+ `& text &` instead `&text&`. The left space is ignored by the internal \TeX/ algorithm but
the right space must be removed by macros. This is a reason why we recommend to
use \`\_unsskip` after each `##` in your definition of \"declaration letters".
- This macro isn't only the primitive `\unskip` because we allow usage of plain \TeX/
+ This macro isn't only the primitive `\unskip` because we allow usage of plain \TeX/
`\hideskip` macro: `&\hideskip text\hideskip&`.
\_cod -----------------------------
\_def\_unsskip{\_ifmmode\_else\_ifdim\_lastskip>\_zo \_unskip\_fi\_fi}
\_doc -----------------------------
- The \`\fL`, \`\fR`, \`\fC` and \`\fX` macros only does a special parameters settings
+ The \`\fL`, \`\fR`, \`\fC` and \`\fX` macros only do special parameters settings
for paragraph building algorithm. The \`\fS` prints the paragraph into
box 0 first, measures the number of lines by the `\prevgraf` primitive
- and use (or don't use) `\hfil` (for centering) before the first line.
+ and use (or don't use) `\hfil` (for centering) before the first line.
\_cod -----------------------------
-\_let\_fL=\_raggedright
-\_def\_fR{\_leftskip=0pt plus 1fill \_relax}
-\_def\_fC{\_leftskip=0pt plus1fill \_rightskip=0pt plus 1fill \_relax}
-\_def\_fX{\_leftskip=0pt plus1fil \_rightskip=0pt plus-1fil \_parfillskip=0pt plus2fil \_relax}
+\_let\_fL=\_raggedright
+\_def\_fR{\_leftskip=0pt plus 1fill \_relax}
+\_def\_fC{\_leftskip=0pt plus1fill \_rightskip=0pt plus 1fill \_relax}
+\_def\_fX{\_leftskip=0pt plus1fil \_rightskip=0pt plus-1fil \_parfillskip=0pt plus2fil \_relax}
\_long\_def\_fS #1\_unsskip{\_noindent \_setbox0 =\_vbox{\_noindent #1\_endgraf \_ea}%
\_ifnum\_prevgraf=1 \_hfil \_fi #1\_unsskip
}
\_public \fL \fR \fC \fX \fS ;
\_doc -----------------------------
- The family of `\_cr*` macros
- \`\crl`, \`\crll`, \`\crli`, \`\crlli`, \`\crlp` and
- \`\tskip` `<dimen>` is implemented here.
- The \`\_zerotabrule` is used in order to suppress the negative `\lineskip`
+ The family of `\_cr*` macros
+ \`\crl`, \`\crll`, \`\crli`, \`\crlli`, \`\crlp` and
+ \`\tskip` `<dimen>` is implemented here.
+ The \`\_zerotabrule` is used to suppress the negative `\lineskip`
declared by \^`\tablinespace`.
\_cod -----------------------------
@@ -249,7 +254,7 @@
\_def\_crll{\_crcr\_noalign{\_hrule\_kern\_hhkern\_hrule}}
\_def\_zerotabrule {\_noalign{\_hrule height\_zo width\_zo depth\_zo}}
-\_def\_crli{\_crcr \_zerotabrule \_omit
+\_def\_crli{\_crcr \_zerotabrule \_omit
\_gdef\_dditem{\_omit\_tablinefil}\_gdef\_vvitem{\_kern\_vvkern\_vrule}\_gdef\_vvitemA{\_vrule}%
\_vvleft\_tablinefil\_ddlinedata\_crcr \_zerotabrule}
\_def\_crlli{\_crli\_noalign{\_kern\_hhkern}\_crli}
@@ -262,7 +267,7 @@
\_vvleft\_crlpD\_ddlinedata \_global\_tmpnum=0 \_crcr \_zerotabrule}
\_def\_crlpA#1,{\_ifx\_end#1\_else \_crlpB#1-\_end,\_expandafter\_crlpA\_fi}
\_def\_crlpB#1#2-#3,{\_ifx\_end#3\_xdef\_crlplist{\_crlplist#1#2,}\_else\_crlpC#1#2-#3,\_fi}
-\_def\_crlpC#1-#2-#3,{\_tmpnum=#1\_relax
+\_def\_crlpC#1-#2-#3,{\_tmpnum=#1\_relax
\_loop \_xdef\_crlplist{\_crlplist\_the\_tmpnum,}\_ifnum\_tmpnum<#2\_advance\_tmpnum by1 \_repeat}
\_def\_crlpD{\_global\_advance\_tmpnum by1
\_edef\_tmpa{\_noexpand\_isinlist\_noexpand\_crlplist{,\_the\_tmpnum,}}%
@@ -270,7 +275,7 @@
\_def\_tskip{\_afterassignment\_tskipA \_tmpdim}
\_def\_tskipA{\_gdef\_dditem{}\_gdef\_vvitem{}\_gdef\_vvitemA{}\_gdef\_tabstrutA{}%
- \_vbox to\_tmpdim{}\_ddlinedata \_crcr
+ \_vbox to\_tmpdim{}\_ddlinedata \_crcr
\_zerotabrule \_noalign{\_gdef\_tabstrutA{\_copy\_tstrutbox}}}
\_public \crl \crll \crli \crlli \crlp \tskip ;
@@ -281,7 +286,7 @@
convert `<declaration>` from `\table` syntax to `\halign` syntax.
\_cod -----------------------------
-\_def\_mspan{\_omit \_tabdata={\_tabstrutA}\_let\_tmpa=\_relax \_afterassignment\_mspanA \_mscount=}
+\_def\_mspan{\_omit \_afterassignment\_mspanA \_mscount=}
\_def\_mspanA[#1]#2{\_loop \_ifnum\_mscount>1 \_cs{_span}\_omit \_advance\_mscount-1 \_repeat
\_count1=\_colnum \_colnum=0 \_def\_tmpa{}\_tabdata={}\_scantabdata#1\_relax
\_colnum=\_count1 \_setbox0=\_vbox{\_halign\_ea{\_ea\_bgroup\_the\_tabdata\_egroup\_cr#2\_cr}%
@@ -291,18 +296,18 @@
\_public \mspan ;
\_doc -----------------------------
- The \`\vspan``{<number>}{<text>}` implementaiton is here.
+ The \`\vspan``{<number>}{<text>}` implementation is here.
We need to lower the box by
\begtt \catcode`\<=13
(<number>-1)*(\ht+\dp of \tabstrut) / 2.
\endtt
- The `#1` parameter must be one-digit number. If you want to set more digits
- then use braces.
+ The `#1` parameter must be a one-digit number. If you want to set more digits
+ then use braces.
\_cod -----------------------------
\_def\_vspan#1#2{\_vtop to\_zo{\_hbox{\_lower \_dimexpr
#1\_dimexpr(\_ht\_tstrutbox+\_dp\_tstrutbox)/2\_relax
- -\_dimexpr(\_ht\_tstrutbox+\_dp\_tstrutbox)/2\_relax \_hbox{#2}}\_vss}}
+ -\_dimexpr(\_ht\_tstrutbox+\_dp\_tstrutbox)/2\_relax \_hbox{#2}}\_vss}}
\_public \vspan ;
\_doc -----------------------------
@@ -369,43 +374,43 @@ If the boundary declarator `:` is not used then
the boundaries of columns are just before each column declarator
with exception of the first one.
For example, the declaration `{|c||c(xx)(yy)c}`
-should be written more exactly using the boundary declarator `:`
+should be written more exactly using the boundary declarator `:`
by `{|c||:c(xx)(yy):c}`. But you can set these boundaries to
-another places using the boundary declarator~`:` explicitly,
-for example `{|c:||c(xx):(yy)c}`. The boundary declarator `:`
-can be used only once between each two column declarators.
+other places using the boundary declarator~`:` explicitly,
+for example `{|c:||c(xx):(yy)c}`. The boundary declarator `:`
+can be used only once between each pair of column declarators.
-Each table item has its own group. The `(<cmd>)` are parts of the given
+Each table item has its group. The `(<cmd>)` are parts of the given
table item (depending on the boundary declarator position).
-If you want to apply a special setting for given column, you can do this by
-`(<setting>)` followed by column declarator. But if such column is not
+If you want to apply a special setting for a given column, you can do this by
+`(<setting>)` followed by column declarator. But if the column is not
first, you must use `:(<setting>)`. Example. We have three centered columns,
-the second one have to be in bold font and the third one have to be in red:
+the second one have to be in bold font and the third one have to be in red:
`\table{c:(\bf)c:(\Red)c}{<data>}`
\secc Usage of the \code{\\tabskip} primitive
The value of `\tabskip` primitive is used between all columns of the table.
-It is glue-type, so it can be stretchable or shrinkable, see next
+It is glue-type, so it can be stretchable or shrinkable, see next
section~\ref[table.w].
By default, `\tabskip` is 0\,pt. It means that only \^`\tabiteml`,
\^`\tabitemr` and `(<cmds>)` can generate visual spaces between columns. But they
-are not real spaces between columns because they are in fact the part of
-the total column width.
+are not real spaces between columns because they are in fact the part of
+the total column width.
The `\tabskip` value declared before the \^`\table` macro (or in
-\^`\everytable` or in \^`\thistable`) is used between all columns in the table.
-This value is equal for all spaces between columns. But you can set each such space
-individualy if you use `(\tabskip=<value>)` in the <declaration> immediately
+\^`\everytable` or in \^`\thistable`) is used between all columns in the table.
+This value is equal to all spaces between columns. But you can set each such space
+individually if you use `(\tabskip=<value>)` in the <declaration> immediately
before boundary character. The boundary character represents the column pair for
-which the `\tabskip` have individual value. For example
-`c(\tabskip=5pt):r` gives `\tabskip` value betwen `c` and `r` columns.
-You need not to use boundary character explicitly, so `c(\tabskip=5pt)r` gives
+which the `\tabskip` has individual value. For example
+`c(\tabskip=5pt):r` gives `\tabskip` value between `c` and `r` columns.
+You need not use boundary character explicitly, so `c(\tabskip=5pt)r` gives
the same result.
-The space before first column is given by the \^`\tabskipl`
-and the space after last column is equal to \^`\tabskipr`.
+Space before the first column is given by the \^`\tabskipl`
+and space after the last column is equal to \^`\tabskipr`.
Default values are 0\,pt.
Use nonzero `\tabskip` only in special applications. If `\tabskip` is
@@ -421,9 +426,9 @@ There are two possibilities how to create tables to given width:
* `\table to<size>{<declaration>}{<data>}` uses stretchability or
shrinkability of all spaces between columns generated by `\tabskip` value and
eventually by \^`\tabskipl`, \^`\tabskipr` values. See example below.
-* `\table pxto<size>{<declaration>}{<data>}` expands the columns declared
+* `\table pxto<size>{<declaration>}{<data>}` expands the columns declared
by `p{<size>}`, if the `<size>` is given by a virtual \^`\tsize` unit.
- See example below.
+ See the example below.
\enditems
Example of `\table to<size>`:
@@ -433,11 +438,11 @@ Example of `\table to<size>`:
\table to\hsize {lr}{<data>}
\endtt
%
-This table has its width `\hsize`. First column starts at the left boundary of
-this table and it is justified left (to the boundary). Second column ends at
+This table has its width `\hsize`. The first column starts at the left boundary of
+this table and it is justified left (to the boundary). The second column ends at
the right boundary of the table and it is justified right (to the boundary).
-The space between them are stretchable and shrinkable in order to reach
-given width `\hsize`.
+The space between them is stretchable and shrinkable to reach
+the given width `\hsize`.
\medskip
Example of `\table pxto<size>` (means \"{\bf p}aragraphs e{\bf x}panded {\bf to}"):
@@ -445,7 +450,7 @@ Example of `\table pxto<size>` (means \"{\bf p}aragraphs e{\bf x}panded {\bf to}
\begtt
\table pxto\hsize {|c|p{\tsize}|}{\crl
aaa & Ddkas jd dsjds ds cgha sfgs dd fddzf dfhz xxz
- dras ffg hksd kds d sdjds h sd jd dsjds ds cgha
+ dras ffg hksd kds d sdjds h sd jd dsjds ds cgha
sfgs dd fddzf dfhz xxz. \crl
bb ddd ggg & Dsjds ds cgha sfgs dd fddzf dfhz xxz
ddkas jd dsjds ds cgha sfgs dd fddzf. \crl }
@@ -453,26 +458,26 @@ Example of `\table pxto<size>` (means \"{\bf p}aragraphs e{\bf x}panded {\bf to}
\noindent\table pxto\hsize {|c|p{\tsize}|}{\crl
aaa & Ddkas jd dsjds ds cgha sfgs dd fddzf dfhz xxz
- dras ffg hksd kds d sdjds h sd jd dsjds ds cgha
+ dras ffg hksd kds d sdjds h sd jd dsjds ds cgha
sfgs dd fddzf dfhz xxz. \crl
bb ddd ggg & Dsjds ds cgha sfgs dd fddzf dfhz xxz
ddkas jd dsjds ds cgha sfgs dd fddzf. \crl }
\medskip
-The first `c` colum is variable width (it gets the width of most wide item)
+The first `c` column is variable width (it gets the width of the most wide item)
and the resting space to given `\hsize` is filled by the `p` column.
-You can declare more than one `p{<coefficient>\tsize}` columns in the table
-when `pxto` keyword is used. The total sum of <coefficinets> must be exactly one.
-For example,
+You can declare more than one `p{<coefficient>\tsize}` columns in the table
+when `pxto` keyword is used. The total sum of <coefficinets> must be exactly one.
+For example,
\begtt \catcode`\<=13
-\table pxto13cm {r p{.3\tsize} p{.5\tsize} p{.2\tsize} l}{<data>}
+\table pxto13cm {r p{.3\tsize} p{.5\tsize} p{.2\tsize} l}{<data>}
\endtt
%
This gives the ratio of widths of individual paragraphs in the table.
-\secc `\eqbox`: boxes with equal width acros the whole document
+\secc `\eqbox`: boxes with equal width across the whole document
The \^`\eqbox` `[<label>]{<text>}` behaves like `\hbox{<text>}` in the first
run of \TeX. But the widths of all boxes with the same label are saved to
@@ -486,12 +491,12 @@ labeled by the same `[<label>]`. The documentation of the \LaTeX/ package
The \^`\eqboxsize` `[<label>]{<dimen>}` expands to <dim:label> if this value is known,
else it expands to the given <dimen>.
-The optional parameter `r` or `l` can be writen before `[<label>]` (for example
+The optional parameter `r` or `l` can be written before `[<label>]` (for example
`\eqbox r[label]{text}`) if you want to put the text to the right or to the
left side of the box width.
Try the following example and watch what happens after first \TeX/ run and
-after second one.
+after the second one.
\begtt
\def\leftitem#1{\par
@@ -511,7 +516,7 @@ after second one.
\vspan implemented.
2020-05-19 \fL, \fR ets defined.
\table to, \table pxto implemented.
-2020-05-10 \bgroup &\egroup added to tabdata (in order to \aftergroup from colors)
+2020-05-10 \bgroup &\egroup added to tabdata (in order to \aftergroup from colors)
boundary declarator : introduced
\_unsskip: \ifmmode added.
2020-04-10 second group for items in order to \localcolors
diff --git a/macros/luatex/optex/base/uni-lcuc.opm b/macros/luatex/optex/base/uni-lcuc.opm
index f5cb977f57..2a99f52d66 100644
--- a/macros/luatex/optex/base/uni-lcuc.opm
+++ b/macros/luatex/optex/base/uni-lcuc.opm
@@ -1,8 +1,8 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% Preloaded in format. A copy o uni-lcuc.tex fom csplain is here:
-% uni-lcuc.tex -- sets \lccodes and \uccodes for Unicode chars, nothing more
+% uni-lcuc.tex -- sets \lccodes and \uccodes for Unicode chars, nothing more
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Petr Olsak, Jul. 2014
diff --git a/macros/luatex/optex/base/unimath-codes.opm b/macros/luatex/optex/base/unimath-codes.opm
index 58e4fed8c6..21a9b1caeb 100644
--- a/macros/luatex/optex/base/unimath-codes.opm
+++ b/macros/luatex/optex/base/unimath-codes.opm
@@ -1,11 +1,11 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \_ncharrmA {Uni math codes <2020-11-13>} % preloaded on demand by \loadmath
\_doc -----------------------------
The control sequences for `\alpha`, `\beta` etc are redefined here.
- The `\alpha` expands to the character with unicode `"03B1`, this is normal
- character $α$. You can type it directly in your editor, if you know how
+ The `\alpha` expands to the character with Unicode `"03B1`, this is a normal
+ character $α$. You can type it directly in your editor if you know how
to do this.
\_cod -----------------------------
@@ -110,8 +110,8 @@
\_protected\_def\_inmath#1{\_relax \_ifmmode#1\_fi} % to keep off \loop processing in text mode
% You can redefine these macros to follow your wishes.
-% For example you need upgright lowercase greek letters, you don't need
-% \bf and \bi behaves as sans serif in math, ...
+% For example, you need upright lowercase greek letters, you don't need
+% \bf and \bi behave as sans serif in math, ...
\_protected\_def\_rm {\_tryloadrm \_tenrm \_inmath{\_rmvariables \_rmdigits}}
\_protected\_def\_it {\_tryloadit \_tenit \_inmath{\_itvariables}}
@@ -135,7 +135,7 @@
the file `mathclass.txt` which is copied to `mathclass.opm` The file
has the following format:
{\vitt{mathclass.opm}\verbinput (70-85) mathclass.opm }
- We have to read this information and convert it to the `\Umathcode`s.
+ We have to read this information and convert it to the `\Umathcode`s.
\_cod -----------------------------
\_begingroup % \input mathclass.opm (which is a copy of MathClass.txt):
@@ -146,7 +146,7 @@
\_loop
\_pset{\_umathnumA}{#4}%
\_ifnum\_umathnumA<"#2 \_advance\_umathnumA by1
- \_repeat
+ \_repeat
\_fi
}
\_def\_pB#1{\_if#1L1\_fi \_if#1B2\_fi \_if#1V2\_fi \_if#1R3\_fi \_if#1N0\_fi \_if#1U0\_fi
@@ -163,9 +163,9 @@
\_doc -----------------------------
Each math symbol has its declaration in the file `unicode-math-table.tex`
- which is copied to `unimath-table.opm`. The file has following format:
+ which is copied to `unimath-table.opm`. The file has the following format:
{\vitt{unimath-table.opm}\verbinput (70-85) unimath-table.opm }
- We have to read this information and convert it to the Unicode math codes.
+ We have to read this information and convert it to the Unicode math codes.
\_cod -----------------------------
\_begingroup % \input unimath-table.opm (it is a copy of unicode-math-table.tex):
@@ -185,7 +185,7 @@
\_global\_Udelcode`<=1 "027E8 % these characters have different meaning
\_global\_Udelcode`>=1 "027E9 % as normal and as delimeter
-\_mit % default math alphapbets setting
+\_mit % default math alphabets setting
\_Umathcode `- = 2 1 "2212
%\_Umathcode`: = 3 1 "3A % mathclass defines it as 6 1 "3A (punctuation)
@@ -200,14 +200,14 @@
\_def\_intwithnolimits#1#2 {\_ifx#1\_relax \_else
\_ea\_let\_csname\_csstring#1op\_endcsname=#1%
\_ea\_def\_ea #1\_ea{\_csname\_csstring#1op\_endcsname \_nolimits}%
- \_bgroup \_lccode`\~=#2 \_lowercase{\_egroup \_mathcode`~="8000 \_let ~=#1}%
+ \_bgroup \_lccode`\~=#2 \_lowercase{\_egroup \_mathcode`~="8000 \_let ~=#1}%
\_ea \_intwithnolimits \_fi
}
-\_intwithnolimits \int "0222B \iint "0222C \iiint "0222D
- \oint "0222E \oiint "0222F \oiiint "02230
- \intclockwise "02231 \varointclockwise "02232 \ointctrclockwise "02233
+\_intwithnolimits \int "0222B \iint "0222C \iiint "0222D
+ \oint "0222E \oiint "0222F \oiiint "02230
+ \intclockwise "02231 \varointclockwise "02232 \ointctrclockwise "02233
\sumint "02A0B \iiiint "02A0C \intbar "02A0D \intBar "02A0E \fint "02A0F
- \pointint "02A15 \sqint "02A16 \intlarhk "02A17 \intx "02A18
+ \pointint "02A15 \sqint "02A16 \intlarhk "02A17 \intx "02A18
\intcap "02A19 \intcup "02A1A \upint "02A1B \lowint "02A1C \_relax "0
\_protected\_def \vert {\_Udelimiter 0 1 "07C }
@@ -235,13 +235,14 @@
\_let\|=\Vert
\_mathcode`\_="8000
-\_global\_Umathcode "22EF = 0 1 "22EF % mathclass.txt says that it is Rel
+\_global\_Umathcode "22EF = 0 1 "22EF % mathclass says that it is Rel
+\_global\_Umathcode "002E = 0 1 "002E % mathclass says that dot is Punct
\_global\_Umathchardef \unicodecdots = 0 1 "22EF
\_global\_Umathcode `/ = 0 1 `/ % mathclass says that / is Bin, Plain TeX says that it is Ord.
\_doc -----------------------------
- Aliases are declared here. They are names not menitioned in the `unimath-table.opm` file
+ Aliases are declared here. They are names not mentioned in the `unimath-table.opm` file
but commonly used in \TeX.
\_cod -----------------------------
@@ -272,36 +273,36 @@
\_let \hksearow=\hksearrow
\_let \hkswarow=\hkswarrow
-\_let \upalpha=\mupalpha
-\_let \upbeta=\mupbeta
-\_let \upgamma=\mupgamma
-\_let \updelta=\mupdelta
-\_let \upepsilon=\mupvarepsilon
+\_let \upalpha=\mupalpha
+\_let \upbeta=\mupbeta
+\_let \upgamma=\mupgamma
+\_let \updelta=\mupdelta
+\_let \upepsilon=\mupvarepsilon
\_let \upvarepsilon=\mupvarepsilon
-\_let \upzeta=\mupzeta
-\_let \upeta=\mupeta
-\_let \uptheta=\muptheta
-\_let \upiota=\mupiota
-\_let \upkappa=\mupkappa
-\_let \uplambda=\muplambda
-\_let \upmu=\mupmu
-\_let \upnu=\mupnu
-\_let \upxi=\mupxi
-\_let \upomicron=\mupomicron
-\_let \uppi=\muppi
+\_let \upzeta=\mupzeta
+\_let \upeta=\mupeta
+\_let \uptheta=\muptheta
+\_let \upiota=\mupiota
+\_let \upkappa=\mupkappa
+\_let \uplambda=\muplambda
+\_let \upmu=\mupmu
+\_let \upnu=\mupnu
+\_let \upxi=\mupxi
+\_let \upomicron=\mupomicron
+\_let \uppi=\muppi
\_let \uprho=\muprho
-\_let \upvarrho=\mupvarrho
-\_let \upvarsigma=\mupvarsigma
-\_let \upsigma=\mupsigma
-\_let \uptau=\muptau
-\_let \upupsilon=\mupupsilon
-\_let \upvarphi=\mupvarphi
-\_let \upchi=\mupchi
-\_let \uppsi=\muppsi
-\_let \upomega=\mupomega
-\_let \upvartheta=\mupvartheta
-\_let \upphi=\mupphi
-\_let \upvarpi=\mupvarpi
+\_let \upvarrho=\mupvarrho
+\_let \upvarsigma=\mupvarsigma
+\_let \upsigma=\mupsigma
+\_let \uptau=\muptau
+\_let \upupsilon=\mupupsilon
+\_let \upvarphi=\mupvarphi
+\_let \upchi=\mupchi
+\_let \uppsi=\muppsi
+\_let \upomega=\mupomega
+\_let \upvartheta=\mupvartheta
+\_let \upphi=\mupphi
+\_let \upvarpi=\mupvarpi
\_doc -----------------------------
The \`\not` macro is redefined here. If the `\_not!<char>` is defined
@@ -316,15 +317,15 @@
}}}
\_def\_negationof #1#2{\_ea\_let \_csname _not!\_csstring#1\_endcsname =#2}
-\_negationof = \neq
-\_negationof < \nless
+\_negationof = \neq
+\_negationof < \nless
\_negationof > \ngtr
\_negationof \gets \nleftarrow
\_negationof \simeq \nsime
-\_negationof \equal \ne
-\_negationof \le \nleq
-\_negationof \ge \ngeq
-\_negationof \greater \ngtr
+\_negationof \equal \ne
+\_negationof \le \nleq
+\_negationof \ge \ngeq
+\_negationof \greater \ngtr
\_negationof \forksnot \forks
\_negationof \in \notin
\_negationof \mid \nmid
@@ -370,45 +371,29 @@
\_doc -----------------------------
Newly declared public control sequences are used in internal macros by
- \OpTeX/. We need to get new meanings of these control sequences in
- private name space.
+ \OpTeX/. We need to get new meanings for these control sequences in
+ the private namespace.
\_cod -----------------------------
-\_private
- \ldotp \cdotp \bullet \triangleleft \trianglerigt \mapstochar \rightarrow
+\_private
+ \ldotp \cdotp \bullet \triangleleft \trianglerigt \mapstochar \rightarrow
\prime \lhook \rightarrow \leftarrow \rhook \triangleright \triangleleft
\Relbar \Rightarrow \relbar \rightarrow \Leftarrow \mapstochar
\longrightarrow \Longleftrightarrow \vdots \ddots ;
\_endcode
-\secc A few observations
+\secc More Unicode-math examples
-{\bf 1.} You can combine more fonts in math, if you register them to another
-math families (5, 6, 7, etc.) in the \^`\normalmath` macro.
+Example of using additional math font is in section 5.3 in the
+\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]{\tt optex-math.pdf} documentation
-The default value of \^`\normalmath` shows a combination of base Unicode Math
-font with 8bit Math font at family 4. See definition of the `\script` macro where
-`\fam4` is used. Of course, we need to set `\rmvariables` too, because 8bit font
-accepts only codes less than 255.
-
-\medskip\noindent{\bf 2.}
-XITSmath-bold needs correction: the norm symbol $\|x\|$ is missing here.
-So, you can define:
-
-\begtt
-\def\_boldmath{%
- \loadumathfamily 1 {[xitsmath-bold]}{} % Base font
- \loadmathfamily 4 rsfs % script
- \loadumathfamily 5 {[xitsmath-regular]}{}
- \def\|{\Udelimiter 0 5 "02016 }% % norm delimiter from family 5
- \setmathdimens
-}
-\endtt
-
-\noindent{\bf 3.} You can combine more Unicode math fonts in single formula using
+You can combine more Unicode math fonts in single formula simply
+by the `\addUmathfont` macro, see
\ulink[http://petr.olsak.net/optex/optex-tricks.html#addumathfont]{\OpTeX/ trick 0030}.
+See \url{http://tex.stackexchange.com/questions/308749}
+for technical details about Unicode-math.
\_endinput
diff --git a/macros/luatex/optex/base/usebib.opm b/macros/luatex/optex/base/usebib.opm
index e278774c97..fbf4300356 100644
--- a/macros/luatex/optex/base/usebib.opm
+++ b/macros/luatex/optex/base/usebib.opm
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \MakeReference {Reading bib databases <2020-03-13>} % loaded on demand by \usebib
@@ -43,7 +43,7 @@
\_let\_citeI=\_relax \_xdef\_citelist{\_citelist\_citelistB}%
\_global\_let\_addcitelist=\_writeXcite
\_def\_tmp##1[*]##2\_relax{\_def\_tmp{##2}}\_expandafter\_tmp\_citelist[*]\_relax
- \_ifx\_tmp\_empty\_else % there was \nocite[*] used.
+ \_ifx\_tmp\_empty\_else % there was \nocite[*] used.
\_setbox0=\_vbox{\_hsize=\_maxdimen \_def\_citelist{}\_adef@{\_readbibentry}%
\_input #3.bib
\_expandafter}\_expandafter\_def\_expandafter\_citelist\_expandafter{\_citelist}%
@@ -91,7 +91,7 @@
\_def\lb@compare#1\lb@eoe#2\lb@eoe{% SpecialSort:
\_ifx\lb@sorttype\lb@namestring
\_ifx\_sortfield\_undefined \lb@compareA#1\lb@eoe#2\lb@eoe
- \_else
+ \_else
\_ea\_RetrieveFieldInFor\_ea{\_sortfield}\lb@entrykey\lb@temp
\_ifx\lb@temp\_empty \_toks1={#1\lb@eoe}\_else \_toks1=\_ea{\lb@temp\lb@eoe}\_fi
\_ea\_RetrieveFieldInFor\_ea{\_sortfield}\lb@currententry\lb@temp
@@ -113,7 +113,7 @@
\_catcode`\@=\_tmpnum
\_doc -----------------------------
- Main action per every entry.
+ Main action per each entry.
\_cod -----------------------------
\_def\MakeReference{\_par \_bibskip
@@ -123,33 +123,33 @@
\_bibmark=\_ea{\_tmpb}%
\_else \_bibmark={}\_fi
\_edef\_tmpb{\EntryKey}%
- \_noindent \_dest[cite:\_the\_bibnum]\_printlabel\EntryKey
- \_printbib
- {%
+ \_noindent \_dest[cite:\_the\_bibnum]\_printlabel\EntryKey
+ \_printbib
+ {%
\_RetrieveFieldIn{entrytype}\_entrytype
\_csname _print:BEGIN\_endcsname
- \_isdefined{_print:\_entrytype}\_iftrue
+ \_isdefined{_print:\_entrytype}\_iftrue
\_csname _print:\_entrytype\_endcsname
- \_else
+ \_else
\_ifx\_entrytype\_empty \_else
\_opwarning{Entrytype @\_entrytype\_space from [\EntryKey] undefined}%
\_csname _print:misc\_endcsname
\_fi\_fi
\_csname _print:END\_endcsname
- \_ifx\_wref\_wrefrelax\_else
+ \_ifx\_wref\_wrefrelax\_else
\_immediate\_wref\_Xbib{{\EntryKey}{\_the\_bibnum}{\_the\_bibmark}}\_fi
}\_par
}
\_doc -----------------------------
- The \`\_bprinta`, \`\_bprintb`, \`\_bprintc`, \`\_bprintv`
+ The \`\_bprinta`, \`\_bprintb`, \`\_bprintc`, \`\_bprintv`
commands used in the style files:
\_cod -----------------------------
\_def\_bprinta {\_bprintb*}
\_def\_bprintb #1[#2#3]{%
\_def\_bibfieldname{#2#3}%
- \_if!#2\_relax
+ \_if!#2\_relax
\_def\_bibfieldname{#3}%
\_RetrieveFieldIn{#3}\_bibfield
\_ifx\_bibfield\_empty\_else
@@ -177,12 +177,12 @@
\_def\_bprintvA #1,{%
\_if^#1^\_tmpb\_else
\_RetrieveFieldIn{#1}\_tmp
- \_ifx \_tmp\_empty
+ \_ifx \_tmp\_empty
\_else \_tmpa \_def\_tmpb{}\_def\_tmpa{}%
\_fi
\_ea \_bprintvA
\_fi
-}
+}
\_sdef{_pp:author}{\_letNames\_authorname}
\_sdef{_pp:editor}{\_letNames\_editorname}
\_def\_letNames{\_let\_Firstname=\Firstname \_let\_Lastname=\Lastname
@@ -190,7 +190,7 @@
}
\_doc -----------------------------
- Various macros + multilinguas. Note that \`\_nobibwarnlist` is used in
+ Various macros + multilingual. Note that \`\_nobibwarnlist` is used in
\`\_bibwarning` and it is set by \^`\nobibwarning` macro.
\_cod -----------------------------
@@ -205,7 +205,7 @@
The file `usebib.opm` implements the command
\~`\usebib/<sorttype> (<style>) <bibfiles>`
where `<sorttype>` is one letter `c` (references ordered by citation order in
-the text) or `s` (references ordered by key in the style file),
+the text) or `s` (references ordered by key in the style file),
`<style>` is the part of the name `bib-<style>.opm` of the style file
and `<bibfiles>` are one or more `.bib` file names without suffix separated by
comma without space. Example:
@@ -215,31 +215,31 @@ comma without space. Example:
\endtt
This command reads the `<bibfiles>` directly and creates the list of
-bibliographics references (only those declared by by \~`\cite[]` or
+bibliographic references (only those declared by \~`\cite[]` or
\~`\nocite[]` in the text). The formatting of such references is defined in the style
file.
The principle \"first entry wins" is used. Suppose `\usebib/s (simple) local,global`.
If an entry with the same label is declared in `local.bib` and in
-`global.bib` too then the first wins. So, you can set an exceptions in your
+`global.bib` too then the first wins. So, you can set exceptions in your
`local.bib` file for your document.
The `bib-<style>.opm` declares entry types (like `@BOOK`, `@ARTICLE`) and declares
-their mandatory and optionals fields (like `author`, `title`). When
-mandatory field is missing in an entry in the `.bib` file then warning is printed on the
+their mandatory and optional fields (like `author`, `title`). When
+a mandatory field is missing in an entry in the `.bib` file then a warning is printed on the
terminal about it. You can suppress such warnings by command
-\^`\nobibwarning`~`[<bib-labels>]`, where <bib-labels> is comma separated list
+\^`\nobibwarning`~`[<bib-labels>]`, where <bib-labels> is a comma-separated list
of labels (without spaces) where missing mandatory fields will be no warned.
-Old `.bib` files may use obscure notation for accents like `{\"o}`.
+Old `.bib` files may use the obscure notation for accents like `{\"o}`.
Recommendation: convert such old files to Unicode encoding. If you are
unable to do this then you can set \^`\bibtexhook={`\^`\oldaccents}`.
-\secc Notes for bib style writers
+\secc Notes for bib-style writers
The `.bib` files include records in the format:
-\begtt
+\begtt \catcode`\<=13
@<entry-type>{<label>,
<field-name> = "<field-data>",
<field-name> = "<field-data>",
@@ -255,22 +255,22 @@ reading by \LaTeX. It has worked with a set of <entry-types>, see the www
page \url{http://en.wikipedia.org/wiki/BibTeX}. The set of entry types
listed on this www page is de facto the Bib\TeX/ standard. The \OpTeX/ bib
style writer must \"declare" all such entry types and more non-standard
-entry types can be declared too, if there is a good reason for doing it. The
-word \"declare" used in previous sentence means that bib style writer must
+entry types can be declared too if there is a good reason for doing it. The
+word \"declare" used in the previous sentence means that a bib-style writer must
define the printing rules for each <entry-type>.
The printing rules for <entry-type> include: which fields will be printed, in
-what oder, by what format they will printed on (italic, caps, etc.),
-which fields are mandatory, which are optional and which are ingnored in
+what order, by what format they will be printed on (italic, caps, etc.),
+which fields are mandatory, which are optional, and which are ignored in
`.bib` records.
-The style writer can be inspired by two styles alredy done: `bib-simple.opm`
+The style writer can be inspired by two styles already done: `bib-simple.opm`
and `bib-iso690.opm`. The second one is documented in detail in
section~\ref[isobib].
The printing rules for each <entry-type> must be declared by
`\_sdef{_print:<entry-type>}` in `bib-<style>.opm` file.
-The `<entry-type>` have to be lowercase here. \OpTeX/ supports following
-macros for more comfortable setting of printing rules:
+The `<entry-type>` has to be lowercase here. \OpTeX/ supports following
+macros for a more comfortable setting of printing rules:
\begitems
* \^`\_bprinta` `[<field-name>] {<if defined>} {<if not defined>}`. The part <if defined>
@@ -285,7 +285,7 @@ macros for more comfortable setting of printing rules:
parameter can be used more than once and can be enclosed in nested
braces. The `*` parameter can be used at most once and cannot be enclosed
in braces. Warning: if the `\_bprintb` commands are nested (`\_bprintb` in
- `\_bprintb`), then you need to write `####1` parameter for internal `\_bprintb`.
+ `\_bprintb`), then you need to write the `####1` parameter for internal `\_bprintb`.
But if `\_bprinta` commands are nested then the parameter is not duplicated.
* \^`\_bprintc` `\macro {<if non-empty>}`. The <if non-empty> part is executed if
`\macro` is non-empty. The `*` parameter can be used, it is replaced by
@@ -293,45 +293,45 @@ macros for more comfortable setting of printing rules:
* \^`\_bprintv` `[<field1>,<field2>,...] {<if defined>} {<if not defined>}`.
The part <if defined> is executed if <field1> or <filed2> or ...
is defined, else the second part <if not defined> is executed.
- There is one filed name or the list field names separated by commas.
- The parts cannot include any parameter.
+ There is one filed name or the list field names separated by commas.
+ The parts cannot include any parameters.
\enditems
There are two special field-names: `!author` and `!editor`. The processed list of
authors or editors are printed here instead of raw data, see the commands
\~`\_authorname` and \~`\_editorname` below.
-The bib style writer can define `_print:BEGIN` and/or `_print:END`.
-They are executed at the begin or
+The bib-style writer can define `_print:BEGIN` and/or `_print:END`.
+They are executed at the beginning or
end of each `<entry-type>`. The formatting does not solve the numbering and
paragraph indentation of the entry. This is processed by \^`\_printbib` macro
used in \OpTeX/ (and may be redefined by the author or document designer).
The \^`\bibmark={something}` can be declared, for instance in the `_print:END` macro.
-Such bibmark is saved to the `.ref` file and used in next \TeX/ run as
+Such \"bibmark" is saved to the `.ref` file and used in next \TeX/ run as
`\cite` marks when `\nonumcitations` is set.
-Moreover, the bib style writer must declare the format of
-printing of special fields `author` and `editor`. These fields include a
+Moreover, the bib-style writer must declare the format of
+special fields `author` and `editor`. These fields include a
list of names, each name is precessed individually in a loop. The
-\^`\_authorname` or \^`\_editorname` is called for each name in the list.
-The bib style writer must define
+\^`\_authorname` or \^`\_editorname` is called for each name on the list.
+The bib-style writer must define
the \`\_authorname` and \`\_editorname` commands
in order to declare the format of printing each individual name.
The following control sequences can be used in these macros:
\begitems
-* `\_NameCount`: the number of currently processed author in the list
+* `\_NameCount`: the number of the currently processed author in the list
* `\_namecont`: the total number of the authors in the list
* `\_Lastname`, `\_Firstname`, `\_Von`, `\_Junior`: the parts of the name.
\enditems
-The whole style file is read in the group during `\usebib` command is executed
+The whole style file is read in the group during the `\usebib` command is executed
before typesetting the reference list. Each definition or setting is local
here.
The auto-generated phrases (dependent on current language) can be used in
-bib style files by `\_mtext{bib.<identifier>}`, where <ident> is an identifier of
+bib-style files by `\_mtext{bib.<identifier>}`, where <ident> is an identifier of
the phrase and the phrase itself is defined by
`\_sdef{_mt:bib.<identifier>:<language>}{<phrase>}`. See section~\ref[langphrases]
for more detail. Phrases for <identifiers>:
@@ -339,12 +339,12 @@ and, etal, edition, citedate, volume, number, prepages, postpages, editor,
editors, available, availablealso, bachthesis, masthesis, phdthesis
are defined already, see the end of section~\ref[langphrases].
-If you are using non-standard field-names in .bib database and bib style,
+If you are using non-standard field-names in .bib database and bib-style,
you have to declare them by `\_CreateField {<fieldname>}`.
You can declare `\_SortingOrder` in the manner documented by librarian package.
-User or author of the bib style can create the hidden field which has a
+User or author of the bib-style can create the hidden field which has a
precedence while sorting names. Example:
\begtt
@@ -361,7 +361,7 @@ sortedby = "Hzzadima Jan",
Now, this author is sorted between H and I, because the Ch digraph in this
name has to be sorted by this rule.
-If you need (for example) to place the autocitations before other citations,
+If you need (for example) to place the auto-citations before other citations,
then you can mark your entries in `.bib` file by `sortedby = "@"`, because this
character is sorted before `A`.
@@ -392,5 +392,5 @@ Feb. 2018: \input librarian does not create \jobname.lbr
% \input opmac-bib
% before using the command \usebib.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end
diff --git a/macros/luatex/optex/base/verbatim.opm b/macros/luatex/optex/base/verbatim.opm
index 028f544f7c..dc701c96eb 100644
--- a/macros/luatex/optex/base/verbatim.opm
+++ b/macros/luatex/optex/base/verbatim.opm
@@ -1,11 +1,11 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \begtt {Verbatim <2020-11-13>} % preloaded in format
\_doc ----------------------------
- The internal parameters
+ The internal parameters
\`\_ttskip`, \`\_ttpenalty`, \`\_viline`, \`\_vifile` and \`\_ttfont`
- for verbatim macros are set.
+ for verbatim macros are set.
\_cod ----------------------------
\_def\_ttskip{\_medskip} % space above and below \begtt, \verbinput
@@ -21,7 +21,7 @@
does the real work.
The \`\_printinverbatim``{<text>}` macro is used for `\code{<text>}` printing and for
- \code{`}<text>\code{`} printing. It is defined as `\hbox`, so the in-verbatim <text>
+ \code{`}<text>\code{`} printing. It is defined as `\hbox`, so the in-verbatim <text>
will be never broken. But you can re-define this macro.
When `\code` occurs in PDF outlines then it does the same as `\detokenize`.
@@ -29,12 +29,12 @@
\^`\_regoul` token list before `\edef`.
The `\code` is not `\proteced` because we want it expands to
- `\unexpanded{\code<space>{<text>}}` in `\write` parameters. This protect the
+ `\unexpanded{\code<space>{<text>}}` in `\write` parameters. This protect the
expansions of the `\code` parameter (like `\\`, `\^` etc.).
\_cod ----------------------------
\_def\_code#1{\_unexpanded\_ea{\_csname _code \_endcsname{#1}}}
-\_protected\_sdef{_code }#1{{\_escapechar=-1 \_ttfont \_the\_everyintt \_relax
+\_protected\_sdef{_code }#1{{\_escapechar=-1 \_ttfont \_the\_everyintt \_relax
\_ea\_printinverbatim\_ea{\_detokenize{#1}}}}
\_def\_printinverbatim#1{\_leavevmode\_hbox{#1}}
@@ -42,7 +42,7 @@
\_public \code ;
\_doc ----------------------------
- The \`\_setverb` macro sets all catcodes to \"verbatim mode". It should be used only
+ The \`\_setverb` macro sets all catcodes to \"verbatim mode". It should be used only
in a group, so we prepare a new catcode table with \"verbatim" catcodes and we define
it as\nl `\_catcodetable`\`\_verbatimcatcodes`. After the group is finished then
original catcode table is restored.
@@ -51,7 +51,7 @@
\_newcatcodetable \_verbatimcatcodes
\_def\_setverb{\_begingroup
\_def\do##1{\_catcode`##1=12 }
- \_dospecials
+ \_dospecials
\_savecatcodetable\_verbatimcatcodes % all characters are normal
\_endgroup
}
@@ -62,9 +62,9 @@
\`\activettchar``<char>` saves original catcode of previously declared `<char>` (if
such character was declared) using \`\_savedttchar` and \`\_savedttcharc`
values. Then new such values are stored. The declared character is activated
- by `\_adef` as a macro (active character) which opens a group,
- does `\_setverb` and other settings and reads its parameter until second the same
- character. This is done by the \`\_readverb` macro. Finally it prints scanned
+ by `\_adef` as a macro (active character) which opens a group,
+ does `\_setverb` and other settings and reads its parameter until second the same
+ character. This is done by the \`\_readverb` macro. Finally, it prints scanned
`<text>` by \^`\_printinverbatim` and closes group. Suppose that `\activettchar"` is
used. Then the following work is schematically done:
\begtt
@@ -85,13 +85,16 @@
\_public \activettchar ;
\_doc ----------------------------
- \`\begtt` is defined only as public. We don't need private `\_begtt` variant.
- This macro is defined by `\eoldef`, so user can put a parameter at the
- same line where `\begtt` is. This `#1` parameter is used after `\_everytt`
- parameters settings, so user can change them locally.
-
- The `\begtt` macro opens group, does \^`\_setverb` and another preprocessing, sets
- `\endlinechar` to `^^J` and reads the following text in verbatim mode
+ \`\begtt` is defined only as public. We don't need a private `\_begtt` variant.
+ This macro opens a group and sets `%` as an active character (temporary).
+ This will allow it to be used as the comment character at the same line after
+ `\begtt`. Then \`\_begtti` is run. It is defined by \^`\eoldef`,
+ so users can put a parameter at the
+ same line where `\begtt` is. This `#1` parameter is used after \^`\everytt`
+ parameters settings, so users can change them locally.
+
+ The \^`\_begtti` macro does \^`\_setverb` and another preprocessing, sets
+ `\endlinechar` to `^^J` and reads the following text in verbatim mode
until \`\endtt` occurs. This scanning is done by \`\_startverb` macro which is
defined as:
\begtt \adef/{\bslash}
@@ -99,25 +102,25 @@
\endtt
We must to ensure that the backslash in `\endtt` has category 12 (this is a
reason of the `\ea` chain in real code).
- The `#2` is something between `\endtt` and end of the same line and it is simply
+ The `#2` is something between `\endtt` and the end of the same line and it is simply
ignored.
The `\_startverb` puts the scanned data to \`\_prepareverbdata`. It sets the data
to `\_tmpb` without changes by default, but you should re-define it in order
- to do special changes, if you want. (For example, \^`\hisyntax` redefines
+ to do special changes if you want. (For example, \^`\hisyntax` redefines
this macro.) The scanned data have `^^J` at each end of line and all spaces are
- active characters (defined as {\visiblesp`\ `}).
- Other characters have normal category 11 or 12.
+ active characters (defined as {\visiblesp`\ `}).
+ Other characters have normal category 11 or 12.
When `\_prepareverbdata` finishes then `\_startverb` runs `\_printverb` loop
over each line of the data and does a final work: last skip plus `\noindent`
- in the next paragraph.
+ in the next paragraph.
\_cod ---------------------------
-\_eoldef \begtt#1{\_par \_wipeepar \_setxhsize
+\_def\begtt{\_par \_begingroup \_adef\%##1\_relax{\_relax}\_begtti}
+\_eoldef \_begtti#1{\_wipeepar \_setxhsize
\_vskip\_parskip \_ttskip
- \_begingroup
- \_setverb
+ \_setverb
\_ifnum\_ttline<0 \_let\_printverblinenum=\_relax \_else \_initverblinenum \_fi
\_adef{ }{\_dsp}\_adef\^^I{\t}\_parindent=\_ttindent \_parskip=0pt
\_def\t{\_hskip \_dimexpr\_tabspaces em/2\_relax}%
@@ -141,14 +144,17 @@
`\begtt...\endtt` and from `\verbinput` too.
The \^`\_testcommentchars` replaces the following `\_iftrue` to
- `\_iffalse` by default unless the \~`\commentchars` are set. So, main body
- of the loop is written in `\_else` part of the `\_iftrue` condition.
+ `\_iffalse` by default unless the \~`\commentchars` are set. So, the main body
+ of the loop is written in the `\_else` part of the `\_iftrue` condition.
The \^`\_printverbline``{<line>}` is called here.
The \`\_printverbline``{<line>}` expects that it starts in vertical mode and it must
- do `\par` in order to return the vertical mode. The \`\_printverblinenum`
+ do `\par` to return the vertical mode. The \`\_printverblinenum`
is used here: it does nothing when `\_ttline`\code{<0} else it prints the line
number using `\_llap`.
+
+ \`\_putttpenalty` puts \^`\_ttpenalty` before second and next lines, but
+ not before first line in each `\begtt...\endtt` environment.
\_cod ----------------------------
\_def\_printverb #1^^J#2{%
@@ -168,19 +174,19 @@
\_ifx\_end#2 \_let\_next=\_relax \_else \_def\_next{\_printverb#2}\_fi
\_next
}
-\_def\_printverbline#1{\_penalty \_ttpenalty
- \_indent \_printverblinenum \_kern\_ttshift #1\par}
+\_def\_printverbline#1{\_putttpenalty \_indent \_printverblinenum \_kern\_ttshift #1\par}
\_def\_initverblinenum{\_tenrm \_thefontscale[700]\_ea\_let\_ea\_sevenrm\_the\_font}
\_def\_printverblinenum{\_llap{\_sevenrm \_the\_ttline\_kern.9em}}
+\_def\_putttpenalty{\_def\_putttpenalty{\_penalty\_ttpenalty}}
\_doc ----------------------------
Macro \`\verbinput` uses a file read previously or opens the given file. Then
it runs the parameter scanning by \`\_viscanparameter` and \`\_viscanminus`.
- Finally the \`\_doverbinput` is run. At begining of `\_doverbinput`, we have
+ Finally the \`\_doverbinput` is run. At the beginning of `\_doverbinput`, we have
`\_viline`= number of lines already read using previous `\verbinput`,
`\_vinolines`= the number of lines we need to skip and `\_vidolnes`= the
number of lines we need to print.
- Similar preparation is done as in `\begtt` after the group is opened. Then
+ A similar preparation is done as in `\begtt` after the group is opened. Then
we skip \`\_vinolines` lines in a loop a and we read \`\_vidolines` lines. The
read data is accumulated into `\_tmpb` macro. The next steps are equal to
the steps done in \^`\_startverb` macro: data are processed via
@@ -250,7 +256,7 @@
\_ifnum\_vidolines=0 \_tmpnum=-1 \_fi
\_ifeof\_vifile \_tmpnum=\_vidolines\_space \_fi
\_loop \_ifnum\_tmpnum<\_vidolines\_space
- \_vireadline
+ \_vireadline
\_ifnum\_vidolines=0 \_else\_advance\_tmpnum by1 \_fi
\_ifeof\_vifile \_tmpnum=\_vidolines\_space \_else \_visaveline \_fi %% save line
\_repeat
@@ -271,13 +277,13 @@
\_doc -----------------------------
If the language of your code\label[commentchars]\wlabel{}
printed by \^`\verbinput` supports the
- format of comments started by two characters from beginning of the
+ format of comments started by two characters from the beginning of the
line then you can set these characters by \^`\commentchars``<first><second>`.
- Such comments are printed in non-verbatim mode without these two
- characters and they look like the verbatim printing is interrupred
+ Such comments are printed in the non-verbatim mode without these two
+ characters and they look like the verbatim printing is interrupted
at the places where such comments are.
See the section~\ref[lua] for good illustration.
- The file `optex.lua` is read by single command
+ The file `optex.lua` is read by a single command
`\verbinput (4-) optex.lua` here and the `\commentchars --` was set before it.
If you need to set a special character by \^`\commentchars` then you must
@@ -290,10 +296,10 @@
\endtt
There is one limitation when \TeX/ interprets the comments declared by
- \^`\commentchars`. Each block of comments are accummulated to one line
+ \^`\commentchars`. Each block of comments is accumulated to one line
and then it is re-interpreted by \TeX. So, the ends of lines in the
comments block are lost. You cannot use macros which
- need to scan end of lines, for example `\begtt...\endtt` inside comments
+ need to scan end of lines, for example `\begtt...\endtt` inside the comments
block does not work. The character `%` is ignored in comments but you can use `\%`
for printing or `%` alone for de-activating `\_endpar` from empty
comment lines.
@@ -301,7 +307,7 @@
Implementation: The \`\commentchars``<first><second>` redefines the \`\_testcommentchars`
used in \^`\_printverb` in order to it removes the following `\_iftrue`
and returns `\_iftrue` or `\_iffalse` depending on the fact that
- the comment characters are or aren't present at the beginning ot tested line.
+ the comment characters are or aren't present at the beginning of tested line.
If it is true (`\ifnum` expands to `\ifnum 10>0`) then the rest of the
line is added to the \`\_vcomments` macro.
@@ -311,7 +317,7 @@
The accumulated comments are printed whenever the non-comment line
occurs. This is done by \`\_printcomments` macro.
- You can re-define it, but main idea must be kept: it is printed in the
+ You can re-define it, but the main idea must be kept: it is printed in the
group, `\_reloding \_rm` initializes normal font, `\catcodetable0`
returns to normal catcode table used before `\verbinput` is started, and
the text accumulated in `\_vcomments` must be printed by
@@ -351,11 +357,12 @@
\_public \visiblesp ;
-\_endcode
+\_endcode
\_endinput
History:
+2020-12-30 ... \secc followed by \begtt must be unbreakable
2020-11-13 ... \commentchars implemented
2020-04-22 ... \ttshift introduced
2020-04-06 ... \visiblesp added
diff --git a/macros/luatex/optex/demo/op-demo.tex b/macros/luatex/optex/demo/op-demo.tex
index ea1dd5b65d..c116682e59 100644
--- a/macros/luatex/optex/demo/op-demo.tex
+++ b/macros/luatex/optex/demo/op-demo.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\fontfam[LMfonts] % Default font family: Latin Modern
@@ -8,7 +8,7 @@
\hyperlinks \Blue\Blue % active hyperlinks
\activettchar` % in-text verbatim by `...`
\everyintt={\Red} % in-text verbatim Red
-\enquotes % use \"text" for English quotation
+\enquotes % use \"text" for English quotation
\tit Demonstration
@@ -37,7 +37,7 @@ The subsection text\dots
\sec References
-There is a numbered equation.
+There is a numbered equation.
The number is auto-generated by `\eqmark` sequence.
$$\label[my-eq]
a^2 + b^2 = c^2 \eqmark
@@ -53,17 +53,17 @@ is on page~\pgref[my-pic].
You can refer to \url{http://petr.olsak.net} using `\url`.
Or use `\ulink` if the raw URL needs to be hidden:
\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}.
-The parameter text is colorized and it becomes
+The parameter text is colorized and it becomes
an active link if the `\hyperlinks` sequence
is used at the beginning of the document.
Internal links are activated too.
-\sec[tab-sec] Tables
+\sec[tab-sec] Tables
-The `\table` sequence can be used
+The `\table` sequence can be used
instead of \"low level" `\halign`.
-The following table is framed by `\frame` sequence
-in order to get a double frame.
+The following table is framed by the `\frame` sequence
+to get a double frame.
\bigskip
\caption/t [my-tab] Testing table.
@@ -76,8 +76,8 @@ in order to get a double frame.
\sec Images
-The images (PDF, JPG, PNG, TIFF) can be inserted
-by `\inspic` sequence. The `\caption`
+The images (PDF, JPG, PNG, TIFF) can be inserted
+by `\inspic` sequence. The `\caption`
can be added if you need to refer to a figure.
\label[my-pic]
@@ -95,7 +95,7 @@ by `\begtt` and `\endtt` sequences
This is verbatim.
All characters are printed $$, \, # etc.
\endtt
-or it can be included by `\verbinput` from external file.
+or it can be included by `\verbinput` from an external file.
\verbinput (98-100) op-demo.tex
@@ -106,7 +106,7 @@ The Math alphabets
are provided. For example:
$$
{\bi A} = \pmatrix {\cal C & \script C \cr
- \frak M & \bbchar R }.
+ \frak M & \bbchar R }.
$$
Hundreds of AMS symbols are available:
$\sphericalangle, \boxplus, \Cup, \Cap, \ldots$
@@ -117,11 +117,11 @@ The `\fontfam` command selects a desired family of fonts.
The `\typosize` or `\typoscale` sequences set the size
and baselineskip of used fonts (including math fonts).
The `\fnote` generates a footnote\fnote{Like this} and
-`\mnote` generates a margin note.
+`\mnote` generates a margin note.
The `\margins` sets margins and paper dimensions.
The `\cite` sequence can be used for bibliographic citations.
-The `\bib` sequence creates one bibliography record. Or
-you can use `\usebib` for direct access to the {\tt.bib} files.
+The `\bib` sequence creates one bibliography record. Or
+you can use `\usebib` for direct access to the {\tt.bib} files.
The list of features does not end here\dots
\bye
diff --git a/macros/luatex/optex/demo/op-letter-cs.tex b/macros/luatex/optex/demo/op-letter-cs.tex
index 1b5d722d3b..b6883cb74c 100644
--- a/macros/luatex/optex/demo/op-letter-cs.tex
+++ b/macros/luatex/optex/demo/op-letter-cs.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\letter % \letter OpTeX style activated
\fontfam[bonum]
diff --git a/macros/luatex/optex/demo/op-letter-en.tex b/macros/luatex/optex/demo/op-letter-en.tex
index a7f19c43d4..0154e48c01 100644
--- a/macros/luatex/optex/demo/op-letter-en.tex
+++ b/macros/luatex/optex/demo/op-letter-en.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\useOpTeX
\letter % \letter OpTeX style activated
diff --git a/macros/luatex/optex/demo/op-slides.tex b/macros/luatex/optex/demo/op-slides.tex
index c46a337524..8c9bca24fc 100644
--- a/macros/luatex/optex/demo/op-slides.tex
+++ b/macros/luatex/optex/demo/op-slides.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\slides % OpTeX slides style activated
@@ -27,7 +27,7 @@
* The the simple document looks like:
-\begtt
+\begtt
\slides % style initialized
%\wideformat % 16:9
\slideshow % partially uncovering ideas
@@ -41,12 +41,12 @@ text
\pg.
\endtt
-* If `\slideshow` is missing or commented out then
- \"partially uncovering ideas" (see later) are deactivated. It is useful
+* If `\slideshow` is missing or commented out then
+ \"partially uncovering ideas" (see later) are deactivated. It is useful
for printing.
* The `\slideshow` must be the last command in the declaration part of the
document.
-* By default, the slides have A5 landscape format.
+* By default, the slides have A5 landscape format.
You can declare `\wideformat`. Then the height is the same
but width is 263\,mm, i.\,e.~the ratio width:height is 16:9.
@@ -58,31 +58,31 @@ text
by `\tit Title` (terminated by end of line).
* The `\subtit Author name etc.`\ (terminated by end of line)
can be used after `\tit` at the first slide.
-* You can use `\nl` for new line in paragraphs or titles.
+* You can use `\nl` for a new line in paragraphs or titles.
\sec Default design
* The paragraph texts are ragged right.
-* Titles, subtitles and section titles are centered.
+* Titles, subtitles, and section titles are centered.
* The `\sec` and `\secc` are printed without numbers.
* No paragraph indentation, a little vertical space between paragraphs.
-* The Heros font family (aka Helvetica) is initialized as default.\nl
+* The Heros font family (aka Helvetica) is initialized as default.\nl
Sans-serif FiraMath font for math typesetting is used.\nl
If `\fontfam[<famname>]` precedes `\slides` then it rewrites default.
-* The items in lists are started by blue square (`\type X` and `\type x` ).
+* The items in lists are started by a blue square (`\type X` and `\type x` ).
\pg; %------------------------------------------------------------------
\sec One slide (one page)
-* Top level item list is activated by default. The asterisk `*` opens
- new item at the top level list.
+* Top-level item list is activated by default. The asterisk `*` opens
+ new item at the top-level list.
* Nested items lists (second and more level) should be created in
the `\begitems`\dots`\enditems` environments.
* Each slide (page) must be terminated by `\pg;` command.
* The last slide must be terminated by `\pg.` command or by `\bye`.
-\begtt
+\begtt
\sec My ideas
* First idea
@@ -94,7 +94,7 @@ text
* Final idea
\endtt
-* Note: each page is processed in a group, so: put your own definitions
+* Note: each page is processed in a group, so: put your own definitions
(if~exist) before `\slideshow` or use `\global` assignment.
\pg; %------------------------------------------------------------------
@@ -106,14 +106,14 @@ text
* the character `;` -- normal next page,\pg+
* the character `.` -- the end of the document,\pg+
* the character `+` -- next page keeps the same text
- and a next text is added (usable for partially uncovering of ideas).\pg+
+ and a next text is added (usable for partially uncovering of ideas).\pg+
\enditems
* Summary:
\begtt
\pg; ... next page
\pg. ... the end of the document
-\pg+ ... uncover next text at the same page
+\pg+ ... uncover next text on the same page
\endtt
\pg+
@@ -140,9 +140,9 @@ The previous page was created by:
* Summary
...
-* When `\slideshow` is not declared
+* When `\slideshow` is not declared
then `\pg+` is deactivated.\pg+
-* The `\pg+` creates a new \"virtual page",
+* The `\pg+` creates a new \"virtual page",
so the current paragraph is terminated.
\pg;
\endtt
@@ -151,16 +151,16 @@ The previous page was created by:
\sec Notes
-* When `\slideshow` is active then you cannot reference sections by
+* When `\slideshow` is active then you cannot reference sections by
hyperlinked `\ref`. Only `\pgref` works (and goes to the last layer
of the referenced page).
* If the text overfull the page (slide) then it follows to the next page without
- saying explicitly `\pg;`. But `\slideshow` cannot work in such case.\pg+
+ saying explicitly `\pg;`. But `\slideshow` cannot work in this case.\pg+
\sec More about design
-* You can use `\backgroundpic{<image-file>}` for putting an image to the backgroud.
-* You can re-declare `\footline` or re-define internal macros for design as
+* You can use `\backgroundpic{<image-file>}` for putting an image to the background.
+* You can re-declare `\footline` or re-define internal macros for design as
you wish.
* You can put the images or text wherever using `\putimege` or `\puttext`
macros...
@@ -182,14 +182,14 @@ The previous page was created by:
prints red HELLO, as shown here.\pg+
* `\putpic <right> <up> <width> <height> {<image-file>}`
- puts the image with desired <width> and <height> at the position like
+ puts the image with desired <width> and <height> at the position like
`\puttext` puts the text.
\putpic .8\hsize 20mm 30mm \nospec {op-ring.png}
-* The ring above is the result of
+* The ring above is the result of
\begtt
-\putpic .8\hsize 20mm 30mm \nospec {op-ring.png}
+\putpic .8\hsize 20mm 30mm \nospec {op-ring.png}
\endtt
%
used at beginning of this paragraph.\pg+
@@ -204,22 +204,22 @@ The previous page was created by:
a~group.
* The exception is the nested environment `\begitems...\enditems`.
* The `\pg+` always finalizes the current paragraph.
- It is impossible to hide only a part of horizontal mode.\pg+
+ It is impossible to hide only a part of the horizontal mode.\pg+
\sec The \code{\\layers}\,...\code{\\endlayers} environment
-If you really need something unsupported by `\pg+` then you can use
+If you really need something unsupported by `\pg+` then you can use
\begtt \catcode`\<=13
\layers <number>
<layered text>
\endlayers
-\endtt
+\endtt
* The <layered text> should include conditions like
- `\ifnum\layernum...` or `\ifcase\layernum`.
+ `\ifnum\layernum...` or `\ifcase\layernum`.
It is printed <number> times to more slide pages (layers) with the same
- surrounding text. See next page...
+ surrounding text. See next page...
\pg; %------------------------------------------------------------------
@@ -240,7 +240,7 @@ The transparent (invisible) text is used in other cases.
The following dance:
\layers 3
-{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.}
+{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.}
\endlayers
\pg+
@@ -248,13 +248,13 @@ was generated by
\begtt
\layers 3
-{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.}
+{\pshow2 Second text.} {\pshow3 Third text.} {\pshow1 First text.}
\endlayers
\endtt
\pg+
-* The <layered text> is treated as macro parameter. So, you cannot use verbatim
- nor `\sec` titles here. Maximal one `\layers` environment can be per one
+* The <layered text> is treated as a macro parameter. So, you cannot use verbatim
+ nor `\sec` titles here. Maximal one `\layers` environment can be per one
page (terminated by `\pg+` or `\pg;` or `\pg.`
\pg; %------------------------------------------------------------------
@@ -264,15 +264,15 @@ was generated by
The \LaTeX{} package {\bf\Blue Beamer} gives much more features and many themes
are prepared for Beamer, {\bf\Red but}
\pg+
-* the user of Beamer is forced to {\em program} his/her document using
+* the user of Beamer is forced to {\em program} his/her document using
dozens of \code{\\begin{foo}} and \code{\\end{foo}} and many another
programming constructions,\pg+
-* plain \TeX{} gives you a possibility to simply
+* plain \TeX{} gives you a possibility to simply
{\em write} your document with minimal markup. The result is more compact.
- You can concentrate to the contents of your document, not to the
+ You can concentrate on the contents of your document, not on the
programming syntax.\pg+
* User needs to read 250 pages of doc for understanding Beamer,\pg+
-* on the other hand, you need to read only ten
+* on the other hand, you need to read only ten
slides\fnote{this eleventh slide isn't counted}
and you are ready to use {\bf\Blue\OpTeX/ slides}.
diff --git a/macros/luatex/optex/doc/optex-doc.pdf b/macros/luatex/optex/doc/optex-doc.pdf
index 2c54019fe3..aacd564a60 100644
--- a/macros/luatex/optex/doc/optex-doc.pdf
+++ b/macros/luatex/optex/doc/optex-doc.pdf
Binary files differ
diff --git a/macros/luatex/optex/doc/optex-doc.tex b/macros/luatex/optex/doc/optex-doc.tex
index 227718cc29..4ce127f903 100644
--- a/macros/luatex/optex/doc/optex-doc.tex
+++ b/macros/luatex/optex/doc/optex-doc.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% Run optex optex-doc
% (three times) to generate OpTeX documentation including references and the index.
@@ -20,9 +20,9 @@
\tit Format Based on Plain \TeX/ and OPmac\fnotemark1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\hfill Version 0.18
+\hfill Version 0.19
-\centerline{\it Petr Olšák, 2020}
+\centerline{\it Petr Olšák, 2020, 2021}
\bigskip
\centerline{\url{http://petr.olsak.net/optex}}
@@ -45,7 +45,7 @@ The main goal of \OpTeX/ is:
\begitems
* \OpTeX/ keeps the simplicity (like in Plain \TeX/ and OPmac macros).
-* There is no old obscurities concerning with various 8-bit encodings and
+* There is no old obscurities concerning various 8-bit encodings and
various engines.
* \OpTeX/ provides a powerful Fonts Selection System (for Unicode font
families, of course).
@@ -56,20 +56,20 @@ The main goal of \OpTeX/ is:
\fnotetext{All these features are implemented by \TeX/ macros, no external
program is needed.}
* Macros are documented in the same place where code is.
-* User name space of control sequences is separated from internal name space
- of \OpTeX/ and primitives (`\foo` versus `\_foo`). The name spaces for
- macro writers are designed too.
+* User namespace of control sequences is separated from the internal namespace
+ of \OpTeX/ and primitives (`\foo` versus `\_foo`).
+ The namespaces for macro writers are designed too.
\enditems
If you need to customize your document or you need to use something
very specific, then you can copy relevant parts of \OpTeX/ macros into your macro
-file and do changes of these macros here. This is significant difference from
-\LaTeX/ or ConTeXt, which are an attempt to create a new user level with a
+file and do changes to these macros here. This is a significant difference from
+\LaTeX/ or ConTeXt, which is an attempt to create a new user level with a
plenty of non-primitive parameters and syntax hiding \TeX/ internals.
The macros from \OpTeX/ are simple and straightforward because they solve only
-what is explicitly needed, they does not create a new user level for
-controlling your document. We have \TeX.
-You can use \OpTeX/ macros, understand them an modify them.
+what is explicitly needed, they do not create a new user level for
+controlling your document. We are using \TeX/ directly in this case.
+You can use \OpTeX/ macros, understand them, and modify them.
\OpTeX/ offers a markup language for authors of texts (like \LaTeX),
i.\,e.\ the fixed set of tags to define the structure of the document. This
@@ -80,7 +80,7 @@ The manual includes two parts: user documentation and technical
documentation. The second part is generated directly from the sources of
\OpTeX/. There are many hyperlinks from one part to second and vice versa.
-This manual describes \OpTeX/ features only. We suppose that user knows \TeX/
+This manual describes \OpTeX/ features only. We suppose that the user knows \TeX/
basics. They are described in many books. You can see a short
document \ulink[http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf]
{\TeX/ in nutshell} too.
diff --git a/macros/luatex/optex/doc/optex-math.tex b/macros/luatex/optex/doc/optex-math.tex
index 29f56f6822..c36459f74e 100644
--- a/macros/luatex/optex/doc/optex-math.tex
+++ b/macros/luatex/optex/doc/optex-math.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% Run optex optex-math (two times) to generate this document
% or look at PDF here: http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf
@@ -52,24 +52,24 @@
\author Petr Olšák
-This document is a brief summary about typesetting math. It describes \TeX/,
+This document is a brief summary of typesetting math. It describes \TeX/,
Plain \TeX/ and \OpTeX/ features concerned to math. The first two types of
-features are documented in \TeX/book in chapters 16, 17 and 18, but it is
+features are documented in \TeX/book in chapters 16, 17, and 18, but it is
summarized here in short again in order to give a complete guide about math
typesetting for \OpTeX/ users.
\new {}
The \OpTeX/ features which differs from standard \TeX/ or Plain \TeX/ are
documented with the red triangle at the margin (like in this paragraph).
-Reader can simply distinguish between \"standard" features (given by
+Reader can simply distinguish between \"standard" features (given by
\TeX/ or Plain \TeX/) and new \OpTeX/ features.
There are more types of extensions: e\TeX, lua\TeX/, Unicode math and
-\OpTeX/ macros. The appropriate label (e\TeX, Lua\TeX/, Unicode, \OpTeX/)
+\OpTeX/ macros. The appropriate label (e\TeX, Lua\TeX/, Unicode, \OpTeX/)
is appended to the red triangle to inform you about the extension type.
-Nevertheless, \OpTeX/ user doesn't have to worry about it, all extensions
+Nevertheless, \OpTeX/ user doesn't have to worry about it, all extensions
are available if Unicode Math font is loaded (e.g., by the command
-`\fonfam[lmfonts]`). See section 1.3.3 in \OpTeX/ documentation about
+`\fonfam[lmfonts]`). See section 1.3.3 in \OpTeX/ documentation about
loading Unicode math fonts.
{\iindent=2em
@@ -82,46 +82,46 @@ loading Unicode math fonts.
\secc General rules and terminology
The \ii in-line/math in-line math (in the paragraph) is created by `$<math list>$`. The
-\ii display/math display math (standalone line between paragraphs) is created by `$$<math list>$$`.
-More than one line can be here if appropriate macro is used. In-line math is
+\ii display/math display math (a standalone line between paragraphs) is created by `$$<math list>$$`.
+More than one line can be here if an appropriate macro is used. In-line math is
processed in a \TeX/ group in \ii in-line/math/mode {\em in-line math mode}. The display math is
processed in a \TeX/ group in \ii display/math/mode {\em display math mode}. Spaces are
ignored in math modes, so `$x+y$` and `$x + y$` gives the same result: $x+y$.
-The \ii math/list <math list> is a sequence of \ii math/atom,atom {\em math atoms} and
-\ii other/material {\em other material}.
-The math atoms are \ii single/math/object {\em single math objects} or
+The \ii math/list <math list> is a sequence of \ii math/atom,atom {\em math atoms} and
+\ii other/material {\em other material}.
+The math atoms are \ii single/math/object {\em single math objects} or
\ii composed/math/atom composed math atoms.
\begitems \hfuzz=.6pt
* The single math object is a single character to be printed in math mode
like `x`, `+`, `\int`.
-* The math atom is constructed in genereal by `{<math list 1>}^{<math list 2>}_{<math list 3>}`.
- It consists from \ii nucleus {\em nucleus} <math list 1>, \ii exponent exponent <math list 2>
+* The math atom is constructed in general by `{<math list 1>}^{<math list 2>}_{<math list 3>}`.
+ It consists from \ii nucleus {\em nucleus} <math list 1>, \ii exponent exponent <math list 2>
and \ii subscript subscript <math list 3>. Each part of the atom should be empty.
If <math list 2> or <math list 3> is empty, we need not to write brackets and
the prefix `^` or `_`.
If the <math list 1> or <math list 2> or <math list 3>
- consist only from a single math object then we need not to use brackets.
+ consist only from a single math object then we need not use brackets.
For example
- `x^2` is a math atom with `x` in nucleus, `2` in exponent and with empty subscript.
- Or `a_{i,j}` is a math atom with `a` in nucleus, empty exponent and `i,j` in subscript.%
+ `x^2` is a math atom with `x` in the nucleus, `2` in the exponent, and with empty subscript.
+ Or `a_{i,j}` is a math atom with `a` in the nucleus, empty exponent, and `i,j` in the subscript.%
\fnote{In \OpTeX/, the character `_` can be interpreted as a part of
- control sequence name, not as the subscript constructor. But in common cases,
- constructions of math atoms are interpreded exactly as in plain \TeX. See sections
+ the control sequence name, not as the subscript constructor. But in common cases,
+ constructions of math atoms are interpreted exactly as in plain \TeX. See sections
2.2.2 and 2.14 of \OpTeX/ documentation for more details. If you want to
- be sure that `_` is only subscript constructor in \OpTeX/ then you can set \code{\\catcode`\\_=8}
+ be sure that `_` is just a subscript constructor in \OpTeX/ then you can set \code{\\catcode`\\_=8}
but after this, you cannot use control sequences with `_` character.}
- The constructors for exponent `^` and for subscript `_` can be used in arbitrary order
- after the nucleus, for example `z_1^{x+y}` is the same math atom as
+ The constructors for exponent `^` and subscript `_` can be used in arbitrary order
+ after the nucleus, for example, `z_1^{x+y}` is the same math atom as
`z^{x+y}_1`. The single math objects not followed by `^` nor `_` are
- considered as math atoms with this object in nucleus and with empty
- exponent and subscript (this is very common case).
+ considered as math atoms with this object in the nucleus and with empty
+ exponent and subscript (this is a very common case).
\TeX/ assigns the \ii class {\em class} for each math atom, see section~\ref[class].
-* Other material can be \TeX/ box or glue (space) or `\kern` or `\vrule` etc.
+* Other material can be \TeX/ box or glue (space) or `\kern` or `\vrule` etc.
\enditems
-Example: The `Z = \int``_\Omega x^{2y} + z\, dx` generates
+Example: The `Z = \int``_\Omega x^{2y} + z\, dx` generates
$Z = \int_\Omega x^{2y} + z\, dx$ and it is <math list> which consists from:
\begitems
@@ -135,15 +135,15 @@ $Z = \int_\Omega x^{2y} + z\, dx$ and it is <math list> which consists from:
\enditems
* `+` is math atom with empty exponent and subscript, class: Bin,
* `z` is math atom with empty exponent and subscript, class: Ord,
-* `\,` is other material, the glue (space) in this case,
+* `\,` is another material, the glue (space) in this case,
* `d` is math atom with empty exponent and subscript, class: Ord,
-* `x`is math atom with empty exponent and subscript, class: Ord.
+* `x` is math atom with empty exponent and subscript, class: Ord.
\enditems
\secc[class] Classes of math atoms
\TeX/ assigns \ii class {\em a class} for each math atom.\fnote
-{Using terminology of \TeX/book, each single math object has its {\em class} but the
+{Using terminology of \TeX/book, each single math object has its {\em class} but the
math atom has its {\em kind} derived from this class. I use only one word
for both meanings in this document.}
This data type is used when
@@ -153,13 +153,13 @@ that spaces in the input are ignored.) For example,
small spaces around the `+` binary operator. Compare: $xy$ and $x+y$.
The class is assigned depending on the nucleus of the atom. If the nucleus is
-not single math object, i.e. it is constructed by `{<math list>}` with braces
-then the atom has its class Ord. If the nucleus is single math object constructed
+not a single math object, i.e. it is constructed by `{<math list>}` with braces
+then the atom has its class Ord. If the nucleus is a single math object constructed
without braces then the class of the atom depends on this single math
object. Each single math object must be declared in \TeX/ with its default
class. The following table lists the classes with typical examples.
-Full set of all math objects used in math typesetting
-is listed in the section~\ref[objects] with their default classes.
+The full set of all math objects used in math typesetting
+is listed in section~\ref[objects] with their default classes.
\bigskip
\noindent\hfil\table{llll}{
@@ -175,13 +175,13 @@ is listed in the section~\ref[objects] with their default classes.
}
\bigskip
-There are \ii horizontal/spacing,spacing three space types used
+There are \ii horizontal/spacing,spacing three space types used
by the algorithm for horizontal spacing in the math formulas.
\begitems
* \ii thin/space Thin space: \x`\thinmuskip` primitive register, `\,` macro. Used around Op atoms.
* \ii medium/space Medium space: \x`\medmuskip` primitive register, `\>` macro. Used around Bin atoms.
-* \ii thick/space Thick space: \x`\thickmusip` primitive register, `\;` macro. Used around Rel atoms.
+* \ii thick/space Thick space: \x`\thickmusip` primitive register, `\;` macro. Used around Rel atoms.
\enditems
\puttext 7.8cm -3.7cm {\rotbox{90}{Left atom}}
@@ -191,7 +191,7 @@ by the algorithm for horizontal spacing in the math formulas.
\table {l|8c|} {
\omit & Ord & Op & Bin & Rel & Open & Close & Punct & \omit \hfil Inner \crlp{2-9}
Ord & 0 & 1 & 2 & 3 & 0 & 0 & 0 & 1 \cr
- Op & 1 & 1 & & 3 & 0 & 0 & 0 & 1 \cr
+ Op & 1 & 1 & & 3 & 0 & 0 & 0 & 1 \cr
Bin & 2 & 2 & & & 2 & & & 2 \cr
Rel & 3 & 3 & & 0 & 3 & 0 & 0 & 3 \cr
Open & 0 & 0 & & 0 & 0 & 0 & 0 & 0 \cr
@@ -202,22 +202,22 @@ by the algorithm for horizontal spacing in the math formulas.
\hangindent=-8.7cm \hangafter=0
Ord atoms are printed without spaces between them. The spaces are not
-cummulated, so the rule about spaces mentioned above is only rough idea.
-The exact rule for horizontal spaces is given for each pairs of atoms
-in the table here. The symbol 0 means no space, 1 thin space, 2 medium space
+cumulated, so the rule about spaces mentioned above is only a rough idea.
+The exact rule for horizontal spaces is given for each pairs of atoms
+in the table here. The symbol 0 means no space, 1 thin space, 2 medium space,
and 3 means thick space.
\hangindent=-8.7cm \hangafter-2
-The Bin atom is automaticaly transformed to the
-Ord atom if no atom precedes or if Op, Bin, Rel, Open or Punct atom
+The Bin atom is automatically transformed to the
+Ord atom if no atom precedes or if Op, Bin, Rel, Open, or Punct atom
precedes. And it is transformed to the Ord atom if Rel, Close or Punct atom
follows. This corresponds to the empty cells in the table.
Why such behavior? Compare \"\hbox{$0-3$}" and \"$-3$". The Bin atom in
the second case behaves like Ord atom because it is \ii unary/minus {\em unary minus}.
-There is no space between unary minus and the following object.
+There is no space between the unary minus and the following object.
All medium spaces and thick spaces and some thin spaces from this table are
-omitted if the <math list> is processed in
+omitted if the <math list> is processed in
\ii script/style,scriptscript/style script or scriptscript styles
(smaller size). See section~\ref[styles] about math styles.
@@ -225,20 +225,20 @@ You can overwrite the default class derived from the nucleus of the atom by
\TeX/ primitives \x`\mathord`, \x`\mathop`, \x`\mathbin`, \x`\mathrel`, \x`\mathopen`,
\x`\mathclose`, \x`\mathpunct` and \x`\mathinner`. They can precede a nucleus of
the atom and they set the class of the atom.
-For example, `x \mathrel+ y` behaves like `x = y` in spacing point of view but +
+For example, `x \mathrel+ y` behaves like `x = y` from a spacing point of view but +
is printed. Another example: `\mathop{\rm lim} z` creates the atom `lim` in
roman font of class Op. So, the thin space is inserted between lim and $z$.
There are more special kinds of math atoms: fractions, math accents,
-radicals. They are constructed by special way (see next sections) but they behaves
-like Ord atom in the horizontal spacing algorithm.
+radicals. They are constructed in a special way (see next sections) but they behave
+like Ord atom in the horizontal spacing algorithm.
\secc[styles] Math styles
When a formula (or a sub-formula) is processed by \TeX/ then one from four
\ii math/style,display/style,text/style,script/style,scriptscript/style
styles is active: display style ($D$), text style ($T$), script style ($S$) or
-scriptscript style ($SS$).
+scriptscript style ($SS$).
\ii T/style,D/style,S/style,SS/style The $T$ style is started in in-line math mode `$...$` and the $D$
style is started in display math mode `$$...$$`. The first level of exponents or
@@ -247,12 +247,12 @@ exponents or indexes are processed in $SS$ style.
There are special rules for math styles when fractions are constructed, see
section~\ref[frac].
-The $D$ and $T$ style uses basic \ii font/size font size, $S$ uses smaller font size (typically
+The $D$ and $T$ styles use basic \ii font/size font size, $S$ uses smaller font size (typically
70~\%) and $SS$ style uses more smaller font size (typically 50~\%). Next
levels of \"more smaller fonts" are not used due to classical typographic rules.
The \ii nucleus nucleus of \iid Op atoms (big operators, $\sum$, $\int$, etc.) have typically bigger versions
-of the character shape for $D$ style than for $T$ style.
+of the character shape for $D$ style than for $T$ style.
So, there are four sizes for such math
objects: one size for each math style. All other math objects (with non Op
class) are printed only in three sizes: The sizes for $T$ and $D$ styles are equal.
@@ -272,7 +272,7 @@ objects above and below the nucleus (regardless of the current style). There
can be more such primitives in a queue (due to a macro expansion, for
instance). Then the last primitive in the queue wins.
If the last primitive is \x`\displaylimits` then
-default behavior is processed regardless there are \x`\limits` or \x`\nolimits`
+the default behavior is processed regardless there are \x`\limits` or \x`\nolimits`
before it.
$$
`\sum\nolimits``_{i=1}^\infty` \quad \hbox{gives}\quad \sum\nolimits_{i=1}^\infty
@@ -289,41 +289,49 @@ example, you can create a formula in in-line math mode and in $D$ style by
by `$$\textstyle <fomrula>$$`.
If a subformula is placed below something (below a line from root symbol,
-below a fraction line), then the processed style $D, T, S$ or $SS$ is
+below a fraction line), then the processed style $D, T, S$ or $SS$ is
\ii cramped/style {\em cramped}.
-The exponents are positioned slightly lower than in
-\ii non-cramped/style non-cramped style.
+The exponents are positioned slightly lower than in
+\ii non-cramped/style non-cramped style. The selectors `\displaystyle`\,\dots
+`\scriptscriptstyle` mentioned above select non-cramped style. The
+non-cramped style is selected when math mode starts too.
+\new \OpTeX/
+You can select a cramped style by the macro \x`\cramped` at the start of the
+math formula or after the math-style selectors: `\scriptstyle\cramped` for
+example.
Several macros need to know what math style is currently processed (for
example they need to draw something in an appropriate size). But it
-not possible simply due to the syntax of fractions (section~\ref[frac]).
+not possible simply due to the syntax of fractions (section~\ref[frac]).
This syntax requires to process all math lists in two steps: the first step
expands all macros and creates structured data of processed math list. The
second step reads the output of the first step, switches between math
-styles and creates definitive output. So, macros (working in first step)
+styles and creates definitive output. So, macros (working in the first step)
cannot know the current math
style because it is set only in the second step. \TeX/ supports the primitive
\x`\matchchioce``{<D>}{<T>}{<S>}{<SS>}` which prepares four math lists in the
first step and only one of these four lists are used in the second step. We
can put different macros into each of the four parameters of `\mathchoice`.
Plain \TeX/ supports the macro \x`\mathpalette` which gives a more comfortable
-interface of \x`\mathchoice` to macro programmer.
+interface of \x`\mathchoice` to the macro programmer.
+The cramped/non-cramped variants of the current style are kept when `\mathchioce`
+is used.
\new \OpTeX/
-We describe another interface for creating macros depending on current
-style. You can use \x`\mathstyles``{<math list>}`. It
-behaves like `{<math list>}`, moreover, you can use following commands inside such
+We describe another interface for creating macros depending on the current
+style. You can use \x`\mathstyles``{<math list>}`. It
+behaves like `{<math list>}`, moreover, you can use the following commands inside such
<math list>:
\begitems
-* The macro \x`\currstyle`. It expands to
+* The macro \x`\currstyle`. It expands to
`\displaystyle`, `\textstyle`,
`\scriptstyle` or `\scriptscriptstyle` depending on the current math style
- when the `\mathstyles` was opened.
+ when the `\mathstyles` was opened.
* The \x`\dobystyle``{<D>}{<T>}{<S>}{<SS>}` is expandable macro. It expands its
parameter `<D>`, `<T>`, `<S>` or `<SS>` depending on the current math style
when `\mathstyles` was opened.
-* The value of the \x`\stylenum` register is 0, 1, 2 or 3
- depending on the current math style when `\mathstyles` was opened.
+* The value of the \x`\stylenum` register is 0, 1, 2 or 3
+ depending on the current math style when `\mathstyles` was opened.
\enditems
%
Example of usage of \x`\mathstyles`:
@@ -340,23 +348,23 @@ This example gives Test: $a\mysymbol b_{c \mysymbol d}$ or $a\mysymbol b\over c$
The \x`\mathstyles` macro mentioned above uses \TeX/ primitive \x`\mathchoice`, so it
creates four math lists and only one is used. It may take more
-computer time in special cases.
+computer time in special cases.
\new Lua\TeX/
-Lua\TeX/ supports the \x`\mathstyle` primitive
+Lua\TeX/ supports the \x`\mathstyle` primitive
(no \"`s`" at the end of this control sequence) which
expands to values 0 to 7 depending on the current style:
-$D, D', T, T', S, S', SS, SS'$
+$D, D', T, T', S, S', SS, SS'$
(where $X'$ means cramped variant of the style). This primitive does
not use `\mathchoice` but it simply ignores the fraction syntax, so
`$a\mysymbol b\over c$` cannot work if `\mysymbol` is defined using the `\mathstyle`
-primitive. See section 7.3.1 of Lua\TeX/ documentation for more information.
+primitive. See section 7.3.1 of Lua\TeX/ documentation for more information.
\secc[frac] Fractions
The \iid fraction can be constructed by `{<numerator>`\x`\over``<denominator>}`. If the
-fraction is only single object in the whole math mode (between dollars),
-you need not to use the outer braces, so you can write `$1\over2$` to get $1\over2$.
+fraction is only a single object in the whole math mode (between dollars),
+you need not use the outer braces, so you can write `$1\over2$` to get $1\over2$.
The \ii numerator,denominator <numerator> and <denominator> are printed in \"smaller" math style than
current math style. More exactly the following schema is used.
@@ -371,12 +379,12 @@ $$
The \LaTeX/ macro \x`\frac``{<numerator>}{<denominator>}` is not supported in
Plain \TeX/ nor in \OpTeX/ but you can define such macro if you want.
-The syntax with \x`\over` is more preferred because it is more human readable
+The syntax with \x`\over` is more preferred because it is more human-readable
notation. You can write the fraction in the same manner as you can read it.
You can compare: `$1\over2$` (one over two) with `$\frac12$` (frac twelve).
Besides the `\over` primitive, there are analogical \TeX/ primitives which
-create \"generalized" fractions. The result is similar as `{<above>\over <below>}`
+create \"generalized" fractions. The result is similar to `{<above>\over <below>}`
but there is something extra:
\begitems
@@ -396,7 +404,7 @@ declared as {\em math delimiter} in \TeX. They are vertically scalable
math objects, typically brackets. See section~\ref[delims] for more
information about math delimiters. Example:
$$
- `{n \atopwithdelims() k}`\quad \hbox{ creates }
+ `{n \atopwithdelims() k}`\quad \hbox{ creates }
{n \choose k} \hbox{ in $D$ style and }
\textstyle {n \choose k} \hbox{ in $T$ style}.
$$
@@ -404,7 +412,7 @@ The \x`\choose` macro is defined by `\def\choose{\atopwithdelims()}`, so the
user can write `{n\choose k}` in order to get binomial coefficients.
-\secc[delims] Vertically scalable objects: math delimiters
+\secc[delims] Vertically scalable objects: math delimiters
The vertically scalable objects are called \ii delimiters {\em delimiters}. For example,
all types of brackets are declared as delimiters.
@@ -412,55 +420,55 @@ This means that you can use a bracket in arbitrary
vertical size.\fnote{
This is not exactly true, because traditional typography says that they
cannot be scaled continuously but by visible steps. This means that there is
-a sequence of increasing brackets in the font, reader must see a difference
-between each two sizes of brackets.}
+a sequence of increasing brackets in the font, the reader must see a difference
+between every two sizes of brackets.}
The following objects are declared as delimiters (i.e.\ vertically scalable):
\bigskip
{\tt \adef!{\bslash}
\table{l 14c}{
- \rm source: & ( & ) & [ & ] & \code{\\\{} & \code{\\\}} & /
- & !backslash & !langle & !rangle
- & | & \code{\\|} & \cr
- \rm output: &$($&$)$&$[$&$]$& $\{$ & $\}$ & $/$
- & $\backslash$ & $\langle$ & $\rangle$
+ \rm source: & ( & ) & [ & ] & \code{\\\{} & \code{\\\}} & /
+ & !backslash & !langle & !rangle
+ & | & \code{\\|} & \cr
+ \rm output: &$($&$)$&$[$&$]$& $\{$ & $\}$ & $/$
+ & $\backslash$ & $\langle$ & $\rangle$
& $|$ & $\|$
}
\medskip
\table{l 14c}{
\rm source: & !lfloor & !rfloor & !lceil & !rceil \cr
- \rm output: & $\lfloor$ & $\rfloor$ & $\lceil$ & $\rceil$
+ \rm output: & $\lfloor$ & $\rfloor$ & $\lceil$ & $\rceil$
}
\medskip
\table{l 14c}{
- \rm source: & !uparrow & !Uparrow & !dowarrow & !Downarrow
+ \rm source: & !uparrow & !Uparrow & !dowarrow & !Downarrow
& !updownarrow & !Updownarrow \cr
\rm output: & $\uparrow$ & $\Uparrow$ & $\downarrow$ & $\Downarrow$
& $\updownarrow$ & $\Updownarrow$
}}
\bigskip
\noindent \new Unicode
-If you are able to produce the characters $\langle$, $\rangle$,\fnote
+If you can produce the characters $\langle$, $\rangle$,\fnote
{Do not confuse $\string<, >$ and $\langle, \rangle$. The first pair are Rel atoms
with meaning \"less than" or \"greater than", but the second pair are special
types of brackets. They are not directly available at computer keyboards without
using a keyboard macro.}
-$\lfloor$, $\rfloor$, ... $\updownarrow$, $\Updownarrow$
+$\lfloor$, $\rfloor$, ... $\updownarrow$, $\Updownarrow$
directly in your text editor then you can use these Unicode characters in your source instead of control
sequences `\langle`, `\rangle`, `\lfloor`, `\rfloor` ... `\updownarrow`, `\Updownarrow`.
For many users (including me), there is more simple to type `\lfloor` than to find
-how to create the $\lfloor$ character in my text editor. Note that there exist
+how to create the $\lfloor$ character in my text editor. Note that there exist
text editors (Emacs, for example)
enabling you to type `\lfloor` and this control sequence is immediately
-converted to the $\lfloor$ Unicode character.
+converted to the $\lfloor$ Unicode character.
Your source text looks pretty and you can use classical \TeX/ sequences.
\new Unicode
There are more \ii delimiters delimiters, but it heavily depends on loaded Unicode Math
font. For example, this document is printed in `latinmodern-math` font and
-there are six more delimiters `\lBrack`~$\lBrack$, `\rBrack`~$\rBrack$,
-`\lAngle` $\lAngle$, `\rAngle` $\rAngle$, `\lgroup` $\lgroup$, `\rgroup` $\rgroup$.
+there are six more delimiters `\lBrack`~$\lBrack$, `\rBrack`~$\rBrack$,
+`\lAngle` $\lAngle$, `\rAngle` $\rAngle$, `\lgroup` $\lgroup$, `\rgroup` $\rgroup$.
See section~\ref[objects] for table of all Unicode symbols for math typesetting.
Arbitrary tall formula can be surrounded by a pair of delimiters using
@@ -469,14 +477,14 @@ The delimiters are scaled to the height and depth of the <formula>
and vertically centered to the {\em math axis}.\fnote
{Math axis is a horizontal line passing through the center of symbols $+$
and $-$. All vertically scalable objects are vertically centered with
- respect to this axis.}
+ respect to this axis.}
Example:
$$
- `+ \left\{ \sum_{i=1}^\infty x_i \right)` \quad \hbox{ gives }
+ `+ \left\{ \sum_{i=1}^\infty x_i \right)` \quad \hbox{ gives }
+ \left\{ \sum_{i=1}^\infty x_i \right).
$$
The pair `\left<delim> <formula> \right<delim>` creates the formula in a
-\TeX/ group. Such group can be nested with another groups.
+\TeX/ group. Such group can be nested with another groups.
Each `\left` must have its `\right` counterpart at the same group level.
If you don't want to create visible delimiter, use dot instead <delim>.
Example:
@@ -484,24 +492,24 @@ $$
`\left. \int``_0^t e^{x^2}\,dx\, \right|_{t=42}` \quad \hbox{ gives }
\left. \int_0^t e^{x^2} \,dx\, \right|_{t=42}
$$
-
+
\new e\TeX/
You can use \x`\middle``<delim>` inside the <formula> which is surrounded by
`\left...\right`. Then the given <delim> is scaled to the same size like
-their `\left` and `\right` counterparts.
+their `\left` and `\right` counterparts.
When a delimiter is used without `\left` nor `\right` prefix, then it is the
Open, Close, Ord or Bin atom by its natural meaning:
$(, [, \{, \ldots, \lfloor, \lceil$ are Open atoms,
-$], ], \}, \ldots, \rfloor, \rceil$ are Close atoms,
-$/, \backslash, |, \|$ are Ord atoms and
+$], ], \}, \ldots, \rfloor, \rceil$ are Close atoms,
+$/, \backslash, |, \|$ are Ord atoms and
$\uparrow, \Uparrow, \ldots, \Updownarrow$ are Bin atoms. You can overwrite
this default setting, for example `\mathclose(`. If delimiters are used with
`\left` and `\right` prefixes then `\left<delim>` behaves like Open atom,
`\right<delim>` behaves like Close atom and the math list
`\left<delim><formula>\right<delim>` is encapsulated as a single Inner atom.
The `\middle<delim>` behaves like Open atom at its left side and like Close
-atom at its right side.
+atom at its right side.
The sequence of increasing delimiters can be printed by the following
macros:
@@ -509,28 +517,28 @@ $$
`(` \to (,\quad \x`\big``(` \to \big(,\quad \x`\Big``(` \to \Big(,\quad
\x`\bigg``(` \to \bigg(, \quad \x`\Bigg``(` \to \Bigg(.
$$
-The `\Bigg<delim>` is not maximal size of the bracket. Try
-`\left(\vbox to5cm{}\right.`, for example. You can see that the font
+The `\Bigg<delim>` is not the maximal size of the bracket. Try
+`\left(\vbox to5cm{}\right.`, for example. You can see that the font
\"cheats" from certain sizes, because there are not all infinity number of
sizes of brackets drawn in the font, of course.
The `\big<delim>` creates Ord atom. We need to create Open atom
-for opening bracket and Close atom for closing bracket more often.
+for opening bracket and Close atom for closing bracket more often.
Then we can use macros
-\x`\bigl``<delim>`,
-\x`\Bigl``<delim>`,
-\x`\biggl``<delim>`,
+\x`\bigl``<delim>`,
+\x`\Bigl``<delim>`,
+\x`\biggl``<delim>`,
\x`\Biggl``<delim>` for creating Open atoms and
-\x`\bigr``<delim>`,
-\x`\Bigr``<delim>`,
-\x`\biggr``<delim>`,
+\x`\bigr``<delim>`,
+\x`\Bigr``<delim>`,
+\x`\biggr``<delim>`,
\x`\Biggr``<delim>` for creating Close atoms. Unfortunately, the source is not
too attractive when more sizes of brackets are used, but typographic
traditions say that we have to distinguish brackets by the size in math
mode if they are in equal types:
$$
`\Bigl( f\bigl( 2(x+y) + z\bigr) \Bigr)'` \quad \hbox{gives }
- \Bigl(f\bigl(2(x+y)+z\bigr)\Bigr)'.
+ \Bigl(f\bigl(2(x+y)+z\bigr)\Bigr)'.
$$
\secc Horizontally scalable objects: math accents
@@ -542,11 +550,11 @@ $$
$$
The usage is: control sequence of selected math accent followed by `{<math list>}`.
-Standard scalable math accents are:
-\x`\overline` $\overline{abc}$,
+Standard scalable math accents are:
+\x`\overline` $\overline{abc}$,
\x`\overbrace` $\overbrace{abc}$,
\x`\overrightarrow` $\overrightarrow{abc}$,
-\x`\overleftarrow`~$\overleftarrow{abc}$,
+\x`\overleftarrow`~$\overleftarrow{abc}$,
\x`\underline` $\underline{abc}$,
\x`\underbrace` $\underbrace{abc}$.
@@ -556,9 +564,9 @@ $$
`\overbrace {b\cdot b\cdot b \cdots b}^{k\times}` \quad \hbox{gives }
\overbrace {b\cdot b\cdot b \cdots b}^{k\times}
$$
-There are scalable accents with limited maximum width:
+There are scalable accents with a limited maximum width:
\x`\widehat` $\widehat{abc}$ and \x`\widetilde` $\widetilde{abc}$. If the
-formula is wider than the font is able to cover then widest variant from the
+formula is wider than the font can cover then the widest variant from the
font is used and it is horizontally centered.
\new Unicode
@@ -572,23 +580,23 @@ There are more scalable accents in Unicode math fonts:
\secc Fixed math accents
-Fixed \ii math/accent,accent math accents can be applied to single math object or to the `{<math list>}`.
+Fixed \ii math/accent,accent math accents can be applied to single math object or to the `{<math list>}`.
The accent is centered (with respect of slanting axis) and the result is a
nucleus of Ord
atom. For example `\dot x` gives $\dot x$. The list of fixed math accents
-follows: \x`\acute`` x` $\acute x$, \x`\bar`` x` $\bar x$,
+follows: \x`\acute`` x` $\acute x$, \x`\bar`` x` $\bar x$,
\x`\breve`` x` $\breve x$, \x`\check`` x` $\check x$,
-\x`\dot`` x` $\dot x$, \x`\ddot`` x` $\ddot x$,
-\x`\grave`` x` $\grave x$, \x`\hat`` x` $\hat x$,
+\x`\dot`` x` $\dot x$, \x`\ddot`` x` $\ddot x$,
+\x`\grave`` x` $\grave x$, \x`\hat`` x` $\hat x$,
\x`\vec`` x` $\vec x$, \x`\tilde`` x` $\tilde x$.
\new Unicode
The additional fixed accents depends on used Unicode math font. The
`latinmodern-math` supports:
-\x`\ovhook`` x` $\ovhook x$, \x`\ocirc`` x` $\ocirc x$,
-\x`\leftharpoonaccent`` x` $\leftharpoonaccent x$, \x`\rightharpoonaccent`` x` $\rightharpoonaccent x$,
-\x`\dddot`` x` $\dddot x$, \x`\ddddot`` x` $\ddddot x$,
-\x`\widebridgeabove`` x` $\widebridgeabove x$, \x`\asteraccent`` x` $\asteraccent x$.
+\x`\ovhook`` x` $\ovhook x$, \x`\ocirc`` x` $\ocirc x$,
+\x`\leftharpoonaccent`` x` $\leftharpoonaccent x$, \x`\rightharpoonaccent`` x` $\rightharpoonaccent x$,
+\x`\dddot`` x` $\dddot x$, \x`\ddddot`` x` $\ddddot x$,
+\x`\widebridgeabove`` x` $\widebridgeabove x$, \x`\asteraccent`` x` $\asteraccent x$.
There exist one special math accent `'` (single quote, ASCII 39)
which can be appended after a symbol like this: `f'`
@@ -608,9 +616,9 @@ example `\root k+1\of x` gives $\root k+1\of x$.
\secc Math alphabets
-Letters \ii math/alphapbet $a\dots z$, $A\dots Z$ and $\alpha$\dots$\omega$ are printed in italic
+Letters \ii math/alphabet $a\dots z$, $A\dots Z$ and $\alpha$\dots$\omega$ are printed in italic
in math mode. This follows the traditional typographic rule.
-All other math symbols, digits and uppercase Greek letters must be
+All other math symbols, digits, and uppercase Greek letters must be
upright.\fnote
{French typographic convention says that uppercase Greek letters have to be
in italic too. Use `\_itGreek` declaration in this case.}
@@ -618,7 +626,7 @@ These rules are independent of the current variant of surrounding text font.
If we want to use the letters or digits
in another than this default shape, then we can use
-\ii math/alphabet/selector {\em math alphabet selectors}:
+\ii math/alphabet/selector {\em math alphabet selectors}:
\x`\mit`, \x`\rm`, \x`\it`, \x`\bf`, \x`\cal`.
\new \OpTeX/
\OpTeX/ supports more such selectors \x`\script`, \x`\frak`, \x`\bbchar`, \x`\bi`, see
@@ -626,11 +634,11 @@ section 1.3.3 in the \OpTeX/ documentation. The math selectors have local
validity in the group.
The control sequences \x`\rm`, \x`\it`, \x`\bf`, and \x`\bi` act as variant selectors
-of fonts in non-math mode (text mode) and they act
-as math alphabet selectors in math mode. This \"overlaying" concept
+of fonts in non-math mode (text mode) and they act
+as math alphabet selectors in math mode. This \"overlaying" concept
is given by Plain \TeX/. Example: math operators lim, sin, cos,
log, etc.\ must be printed unslanted. We are using `\lim`, `\sin`, `\cos`,
-`\log` etc.\ in math mode in order to comply this typographic convention. For
+`\log` etc.\ in math mode in order to comply with this typographic convention. For
example `\sin` is defined as:
\begtt
\def\sin {\mathop{\rm sin}\nolimits}
@@ -681,7 +689,7 @@ Unicode font can include the following math alphabets:
\_bisansGreek % bold slanted snas serif Greek letters \Alpha-\Omega
\endtt
%
-Not all Unicode math fonts include all math alphabets listed here. Typically,
+Not all Unicode math fonts include all math alphabets listed here. Typically,
the lowercase letters of calligraphic shape and all letters of
bold calligraphic shape are missing.
@@ -698,14 +706,14 @@ of the \OpTeX/ manual). For example
\def\rm {\_tryload\_tenrm \_inmath{\_rmavariables \_rmdigits}}
\endtt
%
-The first part
+The first part
\new \OpTeX/
-`\_tryload\_tenrm` is applicable for text fonts and the
+`\_tryload\_tenrm` is applicable for text fonts and the
`\_inmath` part is processed only in math mode and sets the math alphabets.
-You can see the file `unimath-codes.opm` where all user level selectors are
+You can see the file `unimath-codes.opm` where all user-level selectors are
defined. You can redefine them. For example, \OpTeX/ defines `\bf` as a math
-alphabet selector which selects sans serif bold in math. This is common
-notation for vectors, tensors and matrices. If you dislike this, then you can define:
+alphabet selector that selects sans serif bold in math. This is the common
+notation for vectors, tensors, and matrices. If you dislike this, then you can define:
\begtt \typosize[10/12]
\def\bf {\_tryloadbf\_tenbf \_inmath{\_bfvariables\_bfdigits\_bfgreek\_bfGreek}}
\endtt
@@ -716,15 +724,15 @@ notation for vectors, tensors and matrices. If you dislike this, then you can de
\new Unicode
All \ii single/math/object single math objects are listed in the `unimath-table.opm` or
`unicode-math-table.tex` file. You can
-look into this file. The codes, \TeX/ sequences, classes and comments
-for all possible math codes are here. Maybe, your Unicode math font which is loaded,
-does not support all these codes.
+look into this file. The codes, \TeX/ sequences, classes, and comments
+for all possible math codes are here. Maybe, your Unicode math font which is loaded
+does not support all these codes.
\new \OpTeX/
-You can try all codes of currently loaded font by
+You can try all codes of the currently loaded font by
\begtt
\input print-unimath.opm
\endtt
-The `unimath-table` is printed with characters available in loaded font.
+The `unimath-table` is printed with characters available in the loaded font.
\new \OpTeX/
If the character is unsupported by the font then the slot is empty and only
\TeX/ sequence and the class of the code is printed in the table.
@@ -769,25 +777,25 @@ selectors `\bf` and `\bi` set `\_bsansgreek` and `\_bisansgreek`, so
\new Unicode
All characters available in the math font can be accessed by \TeX/ control
-sequence or by direct using the Unicode character in the document source.
+sequence or by directly using the Unicode character in the document source.
Example:
\begtt \adef/{}
-$$
- \sum/_{k=0}^\infty e^{(\alpha+i\beta/_k)} =
- e^\alpha \sum/_{k=0}^\infty e^{i\beta/_k} =
- e^\alpha \sum/_{k=0}^\infty (\cos\beta/_k + i\sin\beta/_k).
+$$
+ \sum/_{k=0}^\infty e^{(\alpha+i\beta/_k)} =
+ e^\alpha \sum/_{k=0}^\infty e^{i\beta/_k} =
+ e^\alpha \sum/_{k=0}^\infty (\cos\beta/_k + i\sin\beta/_k).
$$
\endtt
or
\begtt \ttspec
$$
- ∑_{k=0}^∞ e^{(α + iβ_k)} = e^α ∑_{k=0}^∞ e^{iβ_k}
- = e^α ∑_{k=0}^∞ (\cos β_k + i\sin β_k).
+ ∑_{k=0}^∞ e^{(α + iβ_k)} = e^α ∑_{k=0}^∞ e^{iβ_k}
+ = e^α ∑_{k=0}^∞ (\cos β_k + i\sin β_k).
$$
\endtt
both gives the same result:
$$
- ∑_{k=0}^∞ e^{(α + iβ_k)} = e^α ∑_{k=0}^∞ e^{iβ_k}
+ ∑_{k=0}^∞ e^{(α + iβ_k)} = e^α ∑_{k=0}^∞ e^{iβ_k}
= e^α ∑_{k=0}^∞ (\cos β_k + i\sin β_k).
$$
\medskip
@@ -798,19 +806,19 @@ $$
\secc The `\not` prefix
You can apply \x`\not` before a following math object.
-The slash $/$ is overprinted such math object, for example
+The slash $/$ is overprinted such math object, for example
`$a \not= b$` gives $a \not= b$.
\new \OpTeX/
-If there exist a direct Unicode character for negation of a relation symbol
-(for example `\ne` creates $\ne$ directly as a character U+2260)
-then `\not<char>` expands to appropriate Unicode character.
+If there exists a direct Unicode character for the negation of a relation symbol
+(for example `\ne` creates $\ne$ directly as a character U+2260)
+then `\not<char>` expands to appropriate Unicode character.
For example `\not=` expands to `\ne` or `\not\in` expands to `\notin`.
If such character does not exist then
-the centered $/$ is overprinted over the next character.
+the centered $/$ is overprinted over the next character.
-\secc The `\buildrel` macro: text over relation
+\secc The `\buildrel` macro: text over the relation
The macro \x`\buildrel`` <text>\over <relation>` creates a new atom Rel with the
<relation> and with the smaller <text> above this <relation>. Example:
@@ -840,9 +848,9 @@ The space size of `\,`, `\!` resp. `\>`, resp. `\;` is given by
`\thinmuskip`, resp. `\medmuskip`, resp. `\thickmuskip` values. You can see
in the `plain.tex` file that these default values differ very little in their basic
size but there is no stretchability/shrinkability in the `\,` space, there is small
-stretchability in the `\>` space and more stretchability in the `\;` space.
+stretchability in the `\>` space, and more stretchability in the `\;` space.
-The registers \x`\thinmuskip`, \x`\medmuskip` and \x`\thickmuskip` store so called
+The registers \x`\thinmuskip`, \x`\medmuskip`, and \x`\thickmuskip` store so-called
\ii mu/values {\em mu values} given by math unit `mu`. It is 1/18 em and this unit depends
on the current font size used in the math formula ($S$ or $SS$ styles use
smaller font size, the `mu` unit is smaller here). You can use \x`\muskip`
@@ -863,8 +871,8 @@ $$ \alpha\,(x+y), \qquad \int_a^b \!\! f(x)\,{\rm d}x, \qquad \Gamma_{\!i}. $$
\secc Texts in math mode
If you write `$Hello world!$` (i.e.\ Hello world in math mode), then you get
-$Hello world!$. It is interpreted as product of variables $H$ and $e$ and
-$l^2$ and $o$ etc., followed by the symbol ! used for factorial.
+$Hello world!$. It is interpreted as the product of variables $H$, and $e$, and
+$l^2$, and $o$, etc., followed by the symbol ! used for factorial.
The non-ASCII letters (with accents) don't work at all because they are
never used as symbols for variables. Spaces are ignored.
@@ -912,8 +920,8 @@ The \x`\vcenter` primitive behaves like `\vbox`, but it can be used only in
math mode and its result is vertically centered to the math axis.
For example, matrices, are created by tables in `\vcenter`.
-All big objects in math formula is centered to math axis and the baseline is
-ignored. In the following example we create a new big math operator by
+All big objects in math formula are centered on the math axis and the baseline is
+ignored. In the following example, we create a new big math operator by
`\vcenter`:
\begtt
$$
@@ -935,10 +943,10 @@ thin space between dots and after the last dot, so the five object: comma,
dots, comma are exactly equidistant.
Typographic conventions say that you have to use the repeating symbol
-before and after three dots (comma in previous example) and the three dots
-should be at baseline, if the repeating symbol is at baseline. Or they should be
-at math axis, if the repeating symbol is at math axis. We have to use \x`\cdots` instead
-`\dots` in second case. Example:
+before and after three dots (comma in the previous example) and the three dots
+should be at baseline if the repeating symbol is at baseline. Or they should be
+at the math axis if the repeating symbol is at the math axis. We have to use \x`\cdots` instead
+`\dots` in the second case. Example:
$$
`a_1, a_2, \dots, a_n, \quad a_1 + a_2 + \cdots + a_n` \qquad
a_1, a_2, \dots, a_n, \quad a_1 + a_2 + \cdots + a_n
@@ -1027,8 +1035,8 @@ $$
= \qmatrix[b_1\cr b_2\cr b_3].
$$
-If you need to aling the columns by another way than to center, then you can
-use phantom. Compare:
+If you need to align the columns by another way than to center, then you can
+use the phantom. Compare:
\begtt
$$
@@ -1052,8 +1060,8 @@ $$
$$
\new\OpTeX/
-Another option to set right aligned matrix is setting the \x`\lmfil`:
-Its value is used at left side in each `\matrix` item. The right side is
+Another option to set the right aligned matrix is setting the \x`\lmfil`:
+Its value is used on the left side in each `\matrix` item. The right side is
set directly to `\hfil`.
\begtt
$$
@@ -1082,7 +1090,7 @@ $$
\pmatrix{1 & 2 & 3 | 0 \cr 0 & 1 & 2 | -1/3 \cr 0 & 0 & 0 | 1 }
$$
-If you want to put something before opening bracket in the matrix, you can
+If you want to put something before the opening bracket in the matrix, you can
use another `\matrix`. Example:
\begtt
@@ -1149,30 +1157,30 @@ $$
0 & in other cases. }
$$
-The `\cases` macro behaves like a special `\matrix` with two left aligned
+The `\cases` macro behaves like a special `\matrix` with two left-aligned
columns and with left vertically scaled brace $\{$.
-First column is processed in math mode and $T$ style, second column
+The first column is processed in math mode and $T$ style, the second column
is processed in text mode. We have to use `$...$` in the second column if
-there is a math material.
+there is math material.
\sec Lines in display mode
\secc General principles
-The \ii display/math,display/math/mode
+The \ii display/math,display/math/mode
`$$<formula>$$` finalizes previous paragraph, prints centered <formula> on
single line with a vertical space above and below and opens next paragraph
with no indentation.
-From \TeX/'s point of view, the text above plus `$$<formula>$$` plus text
-below is single paragraph interrupted by display <formula>. If there is no
+From \TeX/'s point of view, the text above `$$<formula>$$` plus text
+below is a single paragraph interrupted by display <formula>. If there is no
text above (i.e. the opening `$$` are in vertical mode), then the internal
-`\noindent` is processed first and empty line above <formula> is created.
-Thus, it is definitely bad idea to open display mode in vertical mode: never
-put empty line before `$$<formula>$$`. On the other hand, the empty line
+`\noindent` is processed first and the empty line above <formula> is created.
+Thus, it is definitely a bad idea to open display mode in vertical mode: never
+put an empty line before `$$<formula>$$`. On the other hand, the empty line
just after `$$<formula>$$` says that the paragraph is finalized by the
-<formula> and the next text (after the empty line) opens next paragraph with
+<formula> and the next text (after the empty line) opens the next paragraph with
indentation. Summary:
\begitems
@@ -1193,7 +1201,7 @@ such task, see sections~\ref[dlines] and~\ref[elines].
On the other hand, the in-line math <formula>, i.e.\ the `$<formula>$` in a
paragraph, can be broken after a Bin atom (with penalty `\binoppenalty`) or
after a Rel atom (with penalty `\relpenalty`). If you don't want to break
-such formula at a specific place then use `\nobreak`, for example
+such a formula at a specific place then use `\nobreak`, for example
`$a+\nobreak b$`. If you want never to break such formulas then you can set
`\binoppenalty=10000`, `\relpenalty=10000`. (Default values are 700 and 500.)
@@ -1376,7 +1384,7 @@ In \OpTeX/, \new\OpTeX/
the `\eqalign` macro is more flexible. You can set the
`\baselineskip` value by the \x`\eqlines` parameter and math style
by the \x`\eqstyle` parameter.
-For example, you need to put the system of \"equations" as an subscript of sum
+For example, you need to put the system of \"equations" as a subscript of a sum
operator:
\begtt \typosize[10/12] \adef/{}
$$
@@ -1418,11 +1426,11 @@ equation systems one next second.
\begitems
* `\eqlines` and `\eqstyle` set baselineskip and math style of the formulas.
* `\eqalign` allows more than two columns:
- First column is right aligned (no space). Second is left aligned (no space).
- Third column (if used)
- is centered with `\eqspace/2` at left and right boundary of the column.
- Fourth is the same as first. Fifth is the same as second etc. The number
- of columns which can be used in `\eqalign` is unlimited.
+ The first column is right-aligned (no space). The second is left-aligned (no space).
+ The third column (if used)
+ is centered with `\eqspace/2` at the left and right boundary of the column.
+ The fourth is the same as the first. The fifth is the same as second etc. The number
+ of columns that can be used in `\eqalign` is unlimited.
\enditems
\secc The `\eqalign` macro with references
@@ -1447,7 +1455,7 @@ $$ \eqalignno{
4x - y + 5z &= -5 & \rm(C) \cr
} $$
-The `\leqalignno` macro is similar as `\eqalignno` but the marks are at the left
+The `\leqalignno` macro is similar to `\eqalignno` but the marks are at the left
margin. The \OpTeX/ extensions of `\eqalign` are not available in
`\eqalignno` nor `\leqalignno` macros.
@@ -1467,8 +1475,8 @@ $$ \eqalignno{
\secc[fams] Math families
-\TeX/ is able to use more than one math font in math mode. This was a
-necessity in old days when only 128-characters fonts existed.
+\TeX/can use more than one math font in math mode. This was a
+necessity in the old days when only 128-characters fonts existed.
Each math font used in math mode has its \ii math/family {\em math family} represented by a number.
Math family is a collection of three (almost) equal fonts in three sizes:
first for `\textstyle` and `\displaystyle`, second for `\scriptstyle`
@@ -1476,7 +1484,7 @@ and third for `\scriptscriptstyle`.
\new Unicode
When Unicode math font is loaded then it includes all three optical sizes and
-all characters needed for typeseting math formula.
+all characters needed for typesetting math formula.
Theoretically, we can use only one math family with this single font. But more math families
(i.e.\ more fonts in math mode) is still possible. You can combine
characters from more fonts (Unicode fonts and old TFM fonts together) in one math formula.
@@ -1497,8 +1505,8 @@ loading more fonts. The default macro for loading math fonts looks like:
\endtt
%
Whenever \OpTeX/ needs to resize math fonts (for example in footnotes or
-titles), it calls the `\_normalmath` macro in order to reload all math
-families to desired size. If you want to add a next font, you can add
+titles), it calls the `\_normalmath` macro to reload all math
+families to the desired size. If you want to add the next font, you can add
`\_loadunimathfamily <family> {<Unicode-font>}{<features>}` or
`\_loadmathfamily <family> <TFM-font>` into the `\_normalmath` macro.
The example in section~\ref[newfam] shows how to do it.
@@ -1512,8 +1520,8 @@ such a bold title then all characters of this formula must be bolder.
For example \"normal" variables must be in bold italic in titles, symbols
like `+` `=` must be bold and \"normal bold" letters
(e.g., indicating vectors in math formula) must be extra bold in titles.
-It means that all fonts from collection of math fonts must be bolder.
-We need second collection of math fonts with bolder
+It means that all fonts from the collection of math fonts must be bolder.
+We need a second collection of math fonts with bolder
shape. Unfortunately, it is not always available.
\new \OpTeX/
@@ -1546,15 +1554,15 @@ used). So, the default `\_boldmath` macro defined by \OpTeX/ looks like:
\secc[newfam] Example of using additional math font
-The font `bbold10.tfm` includes double stroked characters, for example
+The font `bbold10.tfm` includes double stroked characters, for example,
double stroked plus, double stroked Greek letters and digits.
-Try to run `pdftex testfont`, then answer to the question about name of the
+Try to run `pdftex testfont`, then answer the question about the name of the
font: `bbold10` and then type command `\table\end`. The `testfont.pdf` is
printed with the table of characters of this font.
Most of these characters cannot be found in Unicode math fonts.
\new \OpTeX/
-We show an example how to add this font to the collection of used math fonts.
+We show an example of how to add this font to the collection of used math fonts.
We can re-define the `\_normalmath` macro by:
\begtt \typosize[10/12]
\addto\_normalmath {\_loadmathfamily 5 bbold }
@@ -1585,10 +1593,10 @@ from the new font, for example:
\endtt
%
The \x`\Umathchardef` \TeX/ primitive declares new \TeX/ sequence used in math
-typesetting. First parameter is class number (2 means Bin, 3 means Rel,
-see the table in the section~\ref[class]). Second parameter is math
+typesetting. The first parameter is a class number (2 means Bin, 3 means Rel,
+see the table in the section~\ref[class]). The second parameter is a math
family number. It is 5, see the redefinition of the `\_normalmath` macro above.
-Third parameter is the slot in the font. Now you can try to use these characters:
+The third parameter is a slot in the font. Now you can try to use these characters:
$$
`a \bbplus b \bbge c` \quad \hbox{gives} \quad a \bbplus b \bbge c.
$$
@@ -1632,7 +1640,7 @@ We have to settle for normal version of the font in the `\_boldmath` macro:
\addto \_boldmath {\_loadmathfamily 5 bbold }
\endtt
-Another approach of using more Unicode math fonts in single formula is
+Another approach of using more Unicode math fonts in a single formula is
shown in
\ulink[http://petr.olsak.net/optex/optex-tricks.html\#addumathfont]{OpTeX trick 0030}.
diff --git a/macros/luatex/optex/doc/optex-techdoc.tex b/macros/luatex/optex/doc/optex-techdoc.tex
index 1e95d269b7..2c0a71cc27 100644
--- a/macros/luatex/optex/doc/optex-techdoc.tex
+++ b/macros/luatex/optex/doc/optex-techdoc.tex
@@ -1,7 +1,7 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% This file is read from optex-doc.tex
-% Use: optex optex-doc
+% Use: optex optex-doc
% (three times) to create whole documentation including all references and the index.
\load [doc.opm]
@@ -22,9 +22,9 @@ optex optex-doc.tex
then the same `*.opm` files are read when the second chapter of this
documentation is printed.
-A knowledge about \TeX/ is expected from the reader.
-You can see a short document
-\ulink[http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf]{\TeX/ in a Nutshell}
+A knowledge about \TeX/ is expected from the reader.
+You can see a short document
+\ulink[http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf]{\TeX/ in a Nutshell}
or more detail
\ulink[https://eijkhout.net/texbytopic/texbytopic.html]{\TeX/ by topic}.
@@ -32,15 +32,15 @@ Notices about hyperlinks.
If a control sequence is printed in red color in this documentation then
this denotes its \"main documentation point". Typically, the listing where
the control sequence is declared follows immediately. If a control sequence is
-printed in the blue color in the listing or in the text
-then it is active link which points (usually) to the main documentation point.
-The main documentation point can be active link which points to a previous
+printed in the blue color in the listing or in the text
+then it is an active link that points (usually) to the main documentation point.
+The main documentation point can be an active link that points to a previous
text where the control sequence was
mentioned. Such occurrences are active links to the main documentation point.
\sec[init] The main initialization file
-The `optex.ini` file is read as main file when the format is generated.
+The `optex.ini` file is read as the main file when the format is generated.
{\everytt={\typosize[8/10]\_let\_printverbline=\_printcodeline \medskip}
\def\docfile{optex.ini}
@@ -62,8 +62,8 @@ is set as `\newlinechar`.
\verbinput (27-36) optex.ini
%
-The basic macros for macro file syntax is defined, i.\,e.\
-`\_endcode`, `\_doc` and `\_cod`.
+The basic macros for macro file syntax is defined, i.\,e.\
+`\_endcode`, `\_doc` and `\_cod`.
The `\_codedecl` will be re-defined later.
\verbinput (38-42) optex.ini
@@ -77,7 +77,7 @@ It is documented in section~\ref[lua].
\verbinput (89-92) optex.ini
-The `\everyjob` register is initialized and the format is saved by
+The `\everyjob` register is initialized and the format is saved by
the `\dump` command.
\verbinput (94-102) optex.ini
@@ -85,12 +85,12 @@ the `\dump` command.
}
\printdoctail prefixed.opm
-\secc The implementation of the name spaces
+\secc The implementation of the namespaces
\printdoc prefixed.opm
\sec pdf\TeX/ initialization
\printdoctail luatex-ini.opm
-\printdoc luatex-ini.opm
+\printdoc luatex-ini.opm
\sec Basic macros
We define first bundle of basic macros.
@@ -116,7 +116,7 @@ The second bundle of \OpTeX/ macros is here.
\printdoc keyval.opm
\sec Plain \TeX/ macros
-All macros from plain \TeX/ are rewritten here.
+All macros from plain \TeX/ are rewritten here.
Differences are mentioned in the documentation below.
\printdoc plain-macros.opm
@@ -142,7 +142,7 @@ Differences are mentioned in the documentation below.
\printdoctail math-unicode.opm
\sec[opmac-fonts] Scaling fonts in document (high-level macros)
-These macros are documented in section~\ref[sizes] from user point of view.
+These macros are documented in section~\ref[sizes] from the user point of view.
\printdoc fonts-opmac.opm
\sec[output] Output routine
@@ -191,7 +191,7 @@ The `\margins` macro is documented in the section~\ref[marg].
\printdoc verbatim.opm
\secc[hisyntax] Listings with syntax highlighting
\printdoctail hi-syntax.opm
-\printdoc hi-syntax.opm
+\printdoc hi-syntax.opm
\sec Graphics
\printdoctail graphics.opm
@@ -228,8 +228,8 @@ The `\margins` macro is documented in the section~\ref[marg].
\sec Styles
\OpTeX/ provides three styles: `\report`, `\letter` and `\slides`.
- Their behavior is documented in user part of the manual in the section
- \ref[styles] and `\slides` style (for presentations) is documented in
+ Their behavior is documented in user part of the manual in the section
+ \ref[styles] and `\slides` style (for presentations) is documented in
`op-slides.pdf` which is an example of the presentation.
\secc \code{\\report} and \code{\\letter} styles
\printdoc styles.opm
@@ -259,7 +259,7 @@ and initialized by `\everyjob`, see section~\ref[init].
The file implements part of the functionality from `luatexbase` namespace,
nowadays defined by \LaTeX/ kernel. `luatexbase` deals with modules,
-allocators and callback management. Callback management is a nice extension
+allocators, and callback management. Callback management is a nice extension
and is actually used in \OpTeX/. Other functions are defined more or less just
to suit luaotfload's use.
diff --git a/macros/luatex/optex/doc/optex-userdoc.tex b/macros/luatex/optex/doc/optex-userdoc.tex
index 1e94712426..8f2fe4d3d3 100644
--- a/macros/luatex/optex/doc/optex-userdoc.tex
+++ b/macros/luatex/optex/doc/optex-userdoc.tex
@@ -1,4 +1,4 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
% This file is read from optex-doc.tex
% Use: optex optex-doc (three times) to create whole documentation.
@@ -10,7 +10,7 @@
\new
\OpTeX/ is compiled as a format for \LuaTeX/. Maybe there is a command
-`optex` in your \TeX/ distribution. Then you can write into command line
+`optex` in your \TeX/ distribution. Then you can write into the command line
\begtt
optex document
@@ -19,7 +19,7 @@ optex document
You can try to process `optex op-demo` or `optex optex-doc`.
If there is no `optex` command, see more information about installation
-\OpTeX/ at \url{http://petr.olsak.net/optex}.
+\OpTeX/ at \url{http://petr.olsak.net/optex}.
A minimal document should be
@@ -28,16 +28,16 @@ A minimal document should be
Hello World! \bye
\endtt
-The first line \~`\fontfam[LMfonts]` tells that Unicode Latin Modern
+The first line \~`\fontfam[LMfonts]` tells that Unicode Latin Modern
fonts (derived from Computer Modern) are used. If you omit this line then
preloaded Latin Modern fonts are used but preloaded fonts cannot be in
Unicode\fnote
{This is a technical limitation of \LuaTeX/ for fonts downloaded in formats:
only 8bit fonts can be preloaded.}.
-So the sentence `Hello World` will be OK without the first line, but you
-cannot print such sentence in another languages (for example `Ahoj světe!`)
+So the sentence `Hello World` will be OK without the first line, but you
+cannot print such sentence in other languages (for example `Ahoj světe!`)
where Unicode fonts are needed
-because of the characters like `ě` are not mapped correctly in preloaded
+because the characters like `ě` are not mapped correctly in preloaded
fonts.
A somewhat larger example with common settings should be:
@@ -52,8 +52,7 @@ Tady je zkušební textík v českém jazyce.
\bye
\endtt
%
-You can look at `op-demo.tex` file for more complex, but still simple example.
-
+You can look at `op-demo.tex` file for a more complex, but still simple example.
\sec Page layout
%%%%%%%%%%%%%%%%
@@ -87,7 +86,7 @@ centered in the paper format. The analogical rule works when <top> or <bot>
parameter is empty (`\vsize` instead `\hsize` is used). Examples:
\begtt
-\margins/1 a4 (,,,)mm % \hsize, \vsize untouched,
+\margins/1 a4 (,,,)mm % \hsize, \vsize untouched,
% typesetting area centered
\margins/1 a4 (,2,,)cm % right margin set to 2cm
% \hsize, \vsize untouched, vertically centered
@@ -95,14 +94,14 @@ parameter is empty (`\vsize` instead `\hsize` is used). Examples:
If `<pg>=1` then all pages have the same margins. If `<pg>=2` then the
declared margins are true for odd pages. The margins at the even pages are
-automatically mirrored in such case, it means that <left> is replaced by
+automatically mirrored in such case, it means that <left> is replaced by
<right> and vice versa.
-\OpTeX/ declares following paper formats: a4, a4l (landscape~a4),
-a5, a5l, a3, a3l, b5, letter and user can declare another own format by `\sdef`:
+\OpTeX/ declares following paper formats: a4, a4l (landscape~a4),
+a5, a5l, a3, a3l, b5, letter and user can declare another own format by \~`\sdef`:
\begtt
-\sdef{_pgs:b5l}{(250,176)mm}
+\sdef{_pgs:b5l}{(250,176)mm}
\sdef{_pgs:letterl}{(11,8.5)in}
\endtt
@@ -117,10 +116,10 @@ used. For example:
declares the paper 100$\times$200\,mm with all four margins 7\,mm. The spaces
before and after <fmt> parameter are necessary.
-The command \^`\magscale[<factor>]` scales the whole typesetting area.
-\new The fixed point of such scaling is the upper left corner of the paper sheet.
+The command \^`\magscale[<factor>]` scales the whole typesetting area.
+\new The fixed point of such scaling is the upper left corner of the paper sheet.
Typesetting (breakpoints etc.) is unchanged. All units are relative after
-such scaling. Only paper formats dimensions stays unscaled. Example:
+such scaling. Only paper format's dimensions stay unscaled. Example:
\begtt
\margins/2 a5 (22,17,19,21)mm
@@ -128,16 +127,16 @@ such scaling. Only paper formats dimensions stays unscaled. Example:
\endtt
%
The first line sets the `\hsize` and `\vsize` and margins for final
-printing at a5 format. The setting on the second line centers the scaled
+printing at a5 format. The setting on the second line centers the scaled
typesetting area to the true a4 paper while breaking points for paragraphs
-and pages are unchanged. It may be usable for
-review printing. After review is done, the second line can be commented out.
+and pages are unchanged. It may be usable for
+review printing. After the review is done, the second line can be commented out.
-\secc Concept of default page
+\secc Concept of the default page
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\OpTeX/ uses \"output routine" for page design.
-It is very similar to Plain \TeX/ output routine.
+It is very similar to the Plain \TeX/ output routine.
There is \^`\headline` followed by \"page body" followed by
\^`\footline`. The \^`\headline` is empty by default and it can be used
for running headers repeated on each page. The \^`\footline` prints
@@ -150,57 +149,56 @@ i.e.\ the \^`\headline` and \^`\footline` are placed to the top and bottom
margins.
The distance between the \^`\headline` and the top of the page body is given by
-the \^`\headlinedist` register. The distance between bottom of the page body and
+the \^`\headlinedist` register. The distance between bottom of the page body and
the \^`\footline` is given by \^`\footlinedist`. The default values are:
\begtt
\headline = {}
\footline = {\_hss\_rmfixed \_folio \_hss} % \folio expands to page number
-\headlinedist = 14pt % from baseline of \headline to top of page body
+\headlinedist = 14pt % from baseline of \headline to top of page body
\footlinedist = 24pt % from last line in pagebody to baseline of footline
\endtt
-The page body should be divided to top insertions (floating tables and
-figures) followed by a real text and followed by footnotes.
-Typically, only real text is here.
+The page body should be divided into top insertions (floating tables and
+figures) followed by a real text and followed by footnotes.
+Typically, the only real text is here.
The \^`\pgbackground` tokens list is empty by default but it can be used for
-creating background of each page (colors, picture, watermark for example).
-The macro \^`\draft` uses this register and puts big text DRAFT as watermark
+creating a background of each page (colors, picture, watermark for example).
+The macro \^`\draft` uses this register and puts big text DRAFT as a watermark
to each page. You can try it.
More about the page layout is documented in sections~\ref[oparams] and~\ref[output].
-
\secc Footnotes and marginal notes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-The Plain \TeX/'s macro \^`\footnote` can be used as usual. But a new macro
+The Plain \TeX/'s macro \^`\footnote` can be used as usual. But a new macro
\^`\fnote{<text>}` is defined. The footnote mark is added automatically and it
-is numbered
+is numbered
\new
on each chapter from one\fnote
{You can declare \^`\fnotenumglobal` if you want footnotes numbered in whole
document from one or \^`\fnotenumpages` if you want footnotes numbered at each
page from one. Default setting is \^`\fnotenumchapters`}.
-The <text> is scaled to 80 \%.
+The <text> is scaled to 80 \%.
User can redefine footnote mark or scaling, as shown in the section~\ref[fnotes].
The \^`\fnote` macro is fully applicable only in \"normal outer" paragraph.
It doesn't work inside boxes (tables, for example). If you are solving such
-case then you can use the command \^`\fnotemark``<numeric-label>` inside the box: only the
-footnote mark is generated here. When the box is finished you can use
-\^`\fnotetext{<text>}`. This macro puts the <text> to the footnote.
-The <numeric-label> have to be `1` if only one such command is in the box.
-Second \^`\fnotemark` inside the same box have to have the parameter `2` etc.
-The same number of \^`\fnotetext`s have to be written
+a case then you can use the command \^`\fnotemark``<numeric-label>` inside the box: only the
+footnote mark is generated here. When the box is finished you can use
+\^`\fnotetext{<text>}`. This macro puts the <text> to the footnote.
+The <numeric-label> has to be `1` if only one such command is in the box.
+Second \^`\fnotemark` inside the same box has to have the parameter `2` etc.
+The same number of \^`\fnotetext`s have to be written
after the box as the number of \^`\fnotemark`s inserted inside the box.
Example:
\begtt
Text in a paragraph\fnote{First notice}... % a "normal" footnote
\table{...}{...\fnotemark1...\fnotemark2...} % two footnotes in a box
-\fnotetext{Second notice}
+\fnotetext{Second notice}
\fnotetext{Third notice}
...
\table{...}{...\fnotemark1...} % one footnote in a box
@@ -210,8 +208,8 @@ Text in a paragraph\fnote{First notice}... % a "normal" footnote
The marginal note can be printed by the \^`\mnote{<text>}` macro. The <text>
is placed to the right margin on the odd pages and it is placed to the left
margin on the even pages. This is done after second \TeX{} run because the
-relevant information is stored in an external file and read from it again.
-If you need to place the notes only to the fixed margin write
+relevant information is stored in an external file and read from it again.
+If you need to place the notes only to the fixed margin write
\^`\fixmnotes\right` or \^`\fixmnotes\left`.
The <text> is formatted as a little paragraph with the maximal width
@@ -224,7 +222,6 @@ in order to margin notes do not overlap. The positive value of <dimen>
shifts the note up and negative value shifts it down. For example
\^`\mnote`` up 2\baselineskip{<text>}` shifts this marginal note two lines up.
-
\sec Fonts
%%%%%%%%%%
@@ -234,26 +231,26 @@ shifts the note up and negative value shifts it down. For example
You can select the font family by \^`\fontfam[<Family-name>]`.
The argument <Family-name> is case insensitive and spaces are ignored in it. For
example, \^`\fontfam[LM Fonts]` is equal to \^`\fontfam[LMfonts]` and it is equal
-to \^`\fontfam[lmfonts]`. Several aliases are prepared, thus
+to \^`\fontfam[lmfonts]`. Several aliases are prepared, thus
\^`\fontfam[Latin Modern]` can be used for loading Latin Modern family too.
-If you write \^`\fontfam[?]` then all font families registered in \OpTeX/
+If you write \^`\fontfam[?]` then all font families registered in \OpTeX/
are listed on the terminal and in the log file.
If you write \^`\fontfam[catalog]` then a catalog of all fonts registered in
\OpTeX/ and available in your \TeX/ system is printed. The instructions
-how to register your own font family is appended in such catalog.
+on how to register your own font family are appended in the catalog.
If the family is loaded then {\em font modifiers} applicable in such font family
are listed on the terminal: (`\caps`, `\cond` for example).
And there are four basic {\em variant selectors} (\^`\rm`, \^`\bf`, \^`\it`, \^`\bi`).
-The usage of variant selectors is the same as in Plain \TeX:
+The usage of variant selectors is the same as in Plain \TeX:
`{\it italics text}`, `{\bf bold text}` etc.
The font modifiers (`\caps`, `\cond` for example) can
be used before a variant selector and they
can be (independently) combined: `\caps\it` or `\cond\caps\bf`. The
-modifiers keeps their internal setting until group ends or until another
-modifier which negates the previous feature is used. So
+modifiers keep their internal setting until the group ends or until another
+modifier that negates the previous feature is used. So
`{\caps \rm First text \it Second text}`
gives {\caps \rm First text \it Second text}.
@@ -263,9 +260,9 @@ There is one special variant selector \^`\currvar` which does not change the
selected variant but reloads the font due to (maybe newly
specified) font modifier(s).
-The context between variants \^`\rm` $\leftrightarrow$ \^`\it` and
+The context between variants \^`\rm` $\leftrightarrow$ \^`\it` and
\^`\bf` $\leftrightarrow$ \^`\bi` is kept by the \^`\em`
-macro (emphasize text).
+macro (emphasize text).
It switches from current \^`\rm` to \^`\it`, from current \^`\it` to \^`\rm`, from
current \^`\bf` to \^`\bi` and from current \^`\bi` to \^`\bf`.
The italics correction `\/` is inserted automatically, if needed. Example:
@@ -281,7 +278,7 @@ This is {\em important} text. % = This is {\it important\/} text.
More about the \OpTeX/ Font Selection System is written in the technical
documentation in the section~\ref[fontsystem].
You can mix more font families in your document, you can
-declare your own variant selectors or modifiers etc.
+declare your own variant selectors or modifiers, etc.
\secc[sizes] Font sizes
%%%%%%%%%%%%%%%%%%%%%
@@ -290,7 +287,7 @@ The command \^`\typosize[<fontsize>/<baselineskip>]` sets the font size of text
math fonts and baselineskip. If one of these two parameters is empty, the
corresponding feature stays unchanged. Don't write the unit of these
parameters. The unit is internally set to \^`\ptunit` which is 1pt by default.
-You can change the unit by the command \^`\ptunit=<something-else>`,
+You can change the unit by the command \^`\ptunit=<something-else>`,
for instance \^`\ptunit=1mm` enlarges all font sizes declared by \^`\typosize`.
Examples:
@@ -301,12 +298,12 @@ Examples:
\endtt
The commands for font size setting described in this section
-have local validity. If you put them into a group,
-the settings are lost when the group is finished. If you set
-something relevant with paragraph shape (baselineskip given by
-\^`\typosize` for example) then you must first finalize the
-paragraph before closing the group:
-`{\typosize[12/14] ...<text of paragraph>... \par}`.
+have local validity. If you put them into a group,
+the settings are lost when the group is finished. If you set
+something relevant with paragraph shape (baselineskip given by
+\^`\typosize` for example) then you must first finalize the
+paragraph before closing the group:
+`{\typosize[12/14] ...<text of paragraph>... \par}`.
The command \^`\typoscale[<font-factor>/<baselineskip-factor>]`
sets the text and math fonts
@@ -320,13 +317,12 @@ i.e. the value stays unchanged. Examples:
\typoscale[\magstep2/] % fonts bigger 1,44times (\magstep2 expands to 1440)
\endtt
-First usage of \^`\typosize` or \^`\typoscale` macro in your document sets so
-called {\em main values}, i.\,e.\ main font size and main baselineskip. They are internally
-saved in registers \^`\mainfosize` and \^`\mainbaselineskip`.
+First usage of \^`\typosize` or \^`\typoscale` macro in your document sets so-called {\em main values}, i.\,e.\ main font size and main baselineskip. They are internally
+saved in registers \^`\mainfosize` and \^`\mainbaselineskip`.
\new
-The \^`\typoscale` command does scaling in respect to current values by default.
-If you want to do it in respect to main values, type \^`\scalemain` immediately
+The \^`\typoscale` command does scaling with respect to current values by default.
+If you want to do it with respect to the main values, type \^`\scalemain` immediately
before \^`\typoscale` command.
\begtt
@@ -344,13 +340,13 @@ baselineskip.
\new
There is \"low level" \^`\setfontsize{<size-spec>}` command which behaves like
a font modifier and sets given font size used by next variant selectors.
-It doesn't change the font size immediately, but following variant slelector
+It doesn't change the font size immediately, but the following variant selector
does it. For example \^`\setfontsize{at15pt}`\^`\currvar` sets current variant to 15pt.
If you are using a font family with \"optical sizes feature" (i.\,e.\ there
are more recommended sizes of the same font which are not scaled
-linearly; good example is Computer Modern aka Latin Modern fonts)
-then the recommended size is selected by all mentioned commands automatically.
+linearly; a good example is Computer Modern aka Latin Modern fonts)
+then the recommended size is selected by all mentioned commands automatically.
More information about resizing of fonts is documented in the
section~\ref[setfontsize].
@@ -362,21 +358,21 @@ See the additional document
\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]
{Typesetting Math with \OpTeX/} for more details about this issue.
-\OpTeX/ preloads a collection of 7bit Computer Modern math fonts
-and AMS fonts in its format for math typesetting.
-You can use them in any size and in the \^`\boldmath` variant.
+\OpTeX/ preloads a collection of 7bit Computer Modern math fonts
+and AMS fonts in its format for math typesetting.
+You can use them in any size and in the \^`\boldmath` variant.
%
-\new
-Most declared text font families (see \^`\fontfam` in the section~\ref[fontfam])
-are configured with recommended Unicode
+\new
+Most declared text font families (see \^`\fontfam` in the section~\ref[fontfam])
+are configured with a recommended Unicode
math font. This font is automatically loaded unless you specify
\^`\noloadmath` before first \^`\fontfam` command. See log file for more
information about loading text font family and Unicode math fonts. If you
prefer another Unicode math font, specify it by \^`\loadmath{[<font-file>]}`
or \^`\loadmath{<font-name>}` before first \^`\fontfam` command.
-Hundreds math symbols and operators like in AMS\TeX/ are accessible.
-For example `\alpha` $\alpha$, `\geq`~$\geq$, `\sum` $\sum$,
+Hundreds math symbols and operators like in AMS\TeX/ are accessible.
+For example `\alpha` $\alpha$, `\geq`~$\geq$, `\sum` $\sum$,
`\sphericalangle` $\sphericalangle$, `\bumpeq`, $\bumpeq$. See AMS\TeX/
manual or
\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]
@@ -396,8 +392,7 @@ The following math alphabets are available:
\bi % sans serif bold slanted $/bi abc-xyz,ABC-XYZ$
\endtt
-The last two selectors \^`\bf` and \^`\bi` select the sans serif fonts in math regardless
-the current text font family. This is common notation for vectors and
+The last two selectors \^`\bf` and \^`\bi` select the sans serif fonts in math regardless of the current text font family. This is a common notation for vectors and
matrices. You can re-declare them, see section~\ref[unimath-codes] where
definitions of Unicode math variants of \^`\bf` and \^`\bi` selectors are documented.
@@ -410,12 +405,9 @@ is usable for math formulae in titles typeset in bold, for example.
You can use \^`\mathbox{<text>}` inside math mode. It behaves as `{\hbox{<text>}}`
(i.e. the <text> is printed in horizontal non-math mode)
but the size of the <text> is adapted to the context of math size (text or script or
-scriptscript). Moreover, there is the macro \^`\mathstyles{<math list>}` which depends on
-the current math style. It is documented at the end of the
-section~\ref[math-macros].
+scriptscript).
-
-\sec Typical elements of document
+\sec Typical elements of the document
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\secc[chap] Chapters and sections
@@ -434,36 +426,36 @@ braces are used):
\endtt
The chapters are automatically numbered by one number, sections by two numbers
-(chapter.section) and subsections by three numbers. If there are no chapters
-then section have only one number and subsection two.
+(chapter.section), and subsections by three numbers. If there are no chapters
+then sections have only one number and subsections two.
-The implicit design of the titles of chapter etc.\ are implemented in the
+The implicit design of the titles of chapter etc.\ is implemented in the
macros \^`\_printchap`, \^`\_printsec` and \^`\_printsecc`. A designer can simply change
these macros if he/she needs another behavior.
-The first paragraph after the title of chapter, section and subsection is
+The first paragraph after the title of chapter, section, and subsection is
not indented but you can type `\let`\^`\_firstnoindent=\relax` if you need all
paragraphs indented.
-If a title is so long then it breaks to more lines in the output. It is better to hint the
+If a title is so long then it breaks into more lines in the output. It is better to hint at the
breakpoints because \TeX/ does not interpret the meaning of the title.
-User can put the \^`\nl` (means newline) to the breakpoints.
+Users can put the \^`\nl` (means newline) to the breakpoints.
If you want to arrange a title to more lines in your source file then you can
-use `^^J` at the end of each line (except the last one).
-When `^^J` is used, then reading of the title continues at the next line.
+use `^^J` at the end of each line (except the last one).
+When `^^J` is used, then the reading of the title continues at the next line.
The \"normal" comment character `%` doesn't work in titles.
You can use \^`\nl`{\visiblesp` ^^J`} if you want to have corresponding lines in the source
-and in the output.
+and the output.
-The chapter, section or subsection isn't numbered if the \^`\nonum` precedes.
-And the chapter, section or subsection isn't delivered to the table of
+The chapter, section, or subsection isn't numbered if the \^`\nonum` precedes.
+And the chapter, section, or subsection isn't delivered to the table of
contents if \^`\notoc` precedes. You can combine both prefixes.
\secc[cap] Another numbered objects
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-Apart from chapters, sections and subsections, there are another
+Apart from chapters, sections, and subsections, there are another
automatically numbered objects: equations, captions for tables and
figures. The user can declare more numbered objects.
@@ -483,7 +475,7 @@ before `\cr`. For example:
Another automatically numbered object is a caption which is tagged by \^`\caption/t` for
tables and \^`\caption/f` for figures. The caption text follows.
The \^`\cskip` can be used between \^`\caption` text and the real object (table
-or figure). You can use two orders: `<caption>\cskip <object>` or
+or figure). You can use two orders: `<caption>\cskip <object>` or
`<object>\cskip <caption>`.
The \^`\cskip` creates appropriate vertical space between them. Example:
@@ -492,7 +484,7 @@ The \^`\cskip` creates appropriate vertical space between them. Example:
\cskip
\noindent\hfil\table{rl}{
age & value \crl\noalign{\smallskip}
- 0--1 & unmeasured \cr
+ 0--1 & unmeasured \cr
1--6 & observable \cr
6--12 & significant \cr
12--20 & extremal \cr
@@ -508,7 +500,7 @@ This example produces:
\cskip
\noindent\hfil\table{rl}{
age & value \crl\noalign{\smallskip}
- 0--1 & unmeasured \cr
+ 0--1 & unmeasured \cr
1--6 & observable \cr
6--12 & significant \cr
12--20 & extremal \cr
@@ -517,17 +509,17 @@ This example produces:
60--$\infty$ & moderate}
\medskip
-You can see that the word \"Table" followed by a number is added by the macro
-`\caption/t`.
-The caption text is centered. If it occupies more lines then the
+You can see that the word \"Table" followed by a number is added by the macro
+`\caption/t`.
+The caption text is centered. If it occupies more lines then the
last line is centered.
The macro \^`\caption/f` behaves like \^`\caption/t` but it is intended for
figure captions with independent numbering.
-The word (Table, Figure) depends on the actual selected language (see
-section~\ref[lang] about languages).
+The word (Table, Figure) depends on the selected language (see
+section~\ref[lang] about languages).
-If you wish to make the table or figure as floating object, you need to use
+If you wish to make the table or figure as a floating object, you need to use
Plain \TeX/ macros \^`\midinsert` or \^`\topinsert` terminated by \^`\endinsert`.
Example:
@@ -545,7 +537,7 @@ behaves like \^`\topinsert`...\^`\endinsert`.
There are five prepared counters `A`, `B`, `C`, `D` and `E`.
They are reset in each chapter and section\fnote
{This feature can be changed, see the section~\ref[sections] in the technical documentation.}.
-They can be used in context of \^`\numberedpar` `<letter>{<text>}`
+They can be used in context of \^`\numberedpar` `<letter>{<text>}`
macro. For example:
\begtt
\def\theorem {\numberedpar A{Theorem}}
@@ -558,16 +550,15 @@ Three independent numbers are used in this example. One for Theorems and Corolla
second for Definitions and third for Examples. The user can write
`\theorem Let $M$ be...` and the new paragraph is started with the text:
{\bf Theorem 1.4.1.} Let $M$ be...
-You can add an optional parameter in brackets. For example,
-`\theorem [(L'Hôpital's rule)] Let $f$, $g$ be...`
+You can add an optional parameter in brackets. For example,
+`\theorem [(L'Hôpital's rule)] Let $f$, $g$ be...`
is printed like {\bf Theorem 1.4.2 (L'Hôpital's rule).} Let $f$, $g$ be...
-
\secc References
%%%%%%%%%%%%%%%
Each automatically numbered object documented in
-sections \ref[chap] and \ref[cap] can be referenced
+sections \ref[chap] and \ref[cap] can be referenced
\new
if optional parameter
`[<label>]` is appended to \^`\chap`, \^`\sec`,
@@ -586,18 +577,18 @@ Example:
\label[pythagoras]
$$ a^2 + b^2 = c^2 \eqmark $$
-Now we can point to the section~\ref[beatle] on the page~\pgref[beatle]
-or write something about the equation~\ref[pythagoras]. Finally there
+Now we can point to the section~\ref[beatle] on the page~\pgref[beatle]
+or write something about the equation~\ref[pythagoras]. Finally there
is an interesting Table~\ref[comp-depend].
\endtt
-If there are forward referenced objects then user have to run \TeX{} twice.
+If there are forward referenced objects then users have to run \TeX{} twice.
During each pass, the working `*.ref` file (with references data) is created
and this file is used (if it exists) at the beginning of the document.
-You can use the \^`\label[<label>]` before the `\theorem`, `\definition` etc.\
+You can use the \^`\label[<label>]` before the `\theorem`, `\definition` etc.\
(macros defined with `\numberedpar`) if you want to reference these numbered objects.
-You can't use `\theorem[<label>]` because the optional parameter
+You can't use `\theorem[<label>]` because the optional parameter
is reserved to another purpose here.
You can create a reference to whatever else by commands
@@ -605,9 +596,8 @@ You can create a reference to whatever else by commands
<text> is established. The \^`\ref[<label>]` will print <text>.
By default, labels are not printed, of course. But if you are preparing a
-draft version of your document then you can declare \^`\showlabels`. The labels
-are printed at their destination places after such declaration.
-
+draft version of your document then you can declare \^`\showlabels`. The labels
+are printed at their destination places after such a declaration.
\secc Hyperlinks, outlines
%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -617,13 +607,13 @@ the document, then the following objects are hyperlinked in the PDF output:
\begitems
* numbers and texts generated by \^`\ref` or \^`\pgref`,
-* numbers of chapters, sections, subsections and page numbers in the table of contents,
+* numbers of chapters, sections, subsections, and page numbers in the table of contents,
* numbers or marks generated by \~`\cite` command (bibliography references),
* texts printed by \~`\url` or \~`\ulink` commands.
\enditems
The last object is an external link and it is colored by
-<color-out>. Others links are internal and they are colored by
+<color-out>. Other links are internal and they are colored by
<color-in>. Example:
\begtt
@@ -653,11 +643,11 @@ There are \"low level" commands to create the links. You can specify the
destination of the internal link by \^`\dest[<type>:<label>]`. The
active text linked to the \^`\dest` can be created by
\^`\ilink[<type>:<label>]{<text>}`. The `<type>` parameter is one of
-the `toc`, `pg`, `cite`, `ref` or another special for your purpose.
+the `toc`, `pg`, `cite`, `ref`, or another special for your purpose.
These commands create internal links only when \^`\hyperlinks` is declared.
The \^`\url` macro prints its parameter in \~`\tt` font and creates a potential
-breakpoints in it (after slash or dot, for example). If \^`\hyperlinks`
+breakpoints in it (after slash or dot, for example). If the \^`\hyperlinks`
declaration is used then the parameter of \^`\url` is treated as an external URL link.
An example: `\url{http://www.olsak.net}` creates \url{http://www.olsak.net}.
The characters \code{\%}, `\`, `#`, `{` and `}` have to be protected by
@@ -665,7 +655,7 @@ backslash in the \^`\url` argument, the other special characters `~`,
`^`, `&` can be written as single character\fnote
{More exactly, there are the same rules as for `\code` command, see
section~\ref[verbatim].}.
-You can insert the `\|` command
+You can insert the `\|` command
in the `\url` argument as a potential breakpoint.
If the linked text have to be different than the URL, you can use
@@ -675,25 +665,25 @@ outputs to the text
\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}.
The PDF format provides {\em outlines} which are notes placed in the special frame of
-the PDF viewer. These notes can be managed as structured and hyperlinked
+the PDF viewer. These notes can be managed as a structured and hyperlinked
table of contents of the document. The command \^`\outlines{<level>}` creates
-such outlines from data used for table of contents in the document. The
+such outlines from data used for the table of contents in the document. The
<level> parameter gives the level of opened sub-outlines
in the default view. The deeper levels can be opened by mouse click on the
triangle symbol after that.
\new
If you are using a special unprotected macro in section titles then \^`\outlines` macro
-may crash. You must declare variant of the macro for outlines case which is
-expandable. Use \~`\regmacro` in such case. See the section \ref[toc] for more information
+may crash. You must declare a variant of the macro for outlines case which is
+expandable. Use \~`\regmacro` in this case. See the section \ref[toc] for more information
about \~`\regmacro`.
-The command \^`\insertoutline{<text>}` inserts next entry into PDF outlines at
-the main level~0. These entries can be placed before table of contents (created
-by \^`\outlines`) or after it. Theirs hyperlink destination is in the place
+The command \^`\insertoutline{<text>}` inserts a next entry into PDF outlines at
+the main level~0. These entries can be placed before the table of contents (created
+by \^`\outlines`) or after it. Their hyperlink destination is in the place
where the \^`\insertoutline` macro is used.
-\secc Lists
+\secc Lists
%%%%%%%%%%
The list of items is surrounded by \^`\begitems` and \^`\enditems` commands.
@@ -742,7 +732,7 @@ produces:
* Finito
\enditems
-Another style can be defined by the command \^`\sdef{_item:<style>}{<text>}`.
+Another style can be defined by the command \~`\sdef{_item:<style>}{<text>}`.
Default item can be set by \^`\defaultitem={<text>}`.
The list environments can be nested. Each new level of items is indented by
next multiple of \^`\iindent` value which is set to `\parindent` by default.
@@ -754,15 +744,19 @@ example:
\endtt
You can say \^`\begitems` \^`\novspaces` if you don't want vertical spaces above
-and below the list. The nested item list are without vertical spaces
-automatically. More information about design of lists of items should be
+and below the list. The nested item list is without vertical spaces
+automatically. More information about the design of lists of items should be
found in the section~\ref[lists].
+A \"selected block of text" can be surrounded by
+\^`\begblock`\dots\^`\endblock`. The default design of blocks of text is
+indented text in smaller font. The blocks of text can be nested.
+
\secc Tables
%%%%%%%%%%%
The macro \^`\table{<declaration>}{<data>}` provides similar <declaration>
-of tables as in \LaTeX: you can use letters `l`, `r`, `c`, each letter declares
+of tables as in \LaTeX: you can use letters `l`, `r`, `c`, each letter declares
one column (aligned to left, right, center, respectively).
These letters can be combined by the `|` character (vertical line). Example
@@ -785,7 +779,7 @@ generates the following result:
\medskip
Apart from `l`, `r`, `c` declarators, you can use the `p{<size>}` declarator
-which declares the column with paragraphs of given width. More precisely,
+which declares the column with paragraphs of given width. More precisely,
a long text in the table cell is printed as a multiline paragraph with given width.
By default, the paragraph is left-right justified. But there are
alternatives:
@@ -794,21 +788,21 @@ alternatives:
* `p{<size>`\^`\fL}` fit left, i.e.\ left justified, ragged right,
* `p{<size>`\^`\fR}` fit right, i.e.\ right justified, ragged left,
* `p{<size>`\^`\fC}` fit center, i.e.\ ragged left plus right,
-* `p{<size>`\^`\fS}` fit special, short one-line pararaph centered,
+* `p{<size>`\^`\fS}` fit special, short one-line pararaph centered,
long paragraph normal,
-* `p{<size>`\^`\fX}` fit extra, left-right justified but last line centered.
-\enditems
+* `p{<size>`\^`\fX}` fit extra, left-right justified but last line centered.
+\enditems
You can use `(<text>)` in the <declaration>. Then this text is applied in
each line of the table. For example `r(\kern10pt)l` adds more 10\,pt space
-between `r` and `l` rows.
+between `r` and `l` rows.
An arbitrary part of the <declaration> can be repeated by a <number>
prefixed. For example `3c` means `ccc` or `c 3{|c}` means
-`c|c|c|c`. Note that spaces in the <declaration> are ignored and you
+`c|c|c|c`. Note that spaces in the <declaration> are ignored and you
can use them in order to more legibility.
-
-The command `\cr` used in the <data> part of the table
+
+The command `\cr` used in the <data> part of the table
is generally known from Plain \TeX. It marks the end of each row in the table.
Moreover \OpTeX/ defines following similar commands:
@@ -819,17 +813,17 @@ Moreover \OpTeX/ defines following similar commands:
vertical double lines.
* \^`\crlli` \dots\ like \^`\crli` but horizontal line is doubled.
* \^`\crlp{<list>}` \dots\ like \^`\crli` but the lines are drawn only in the
- columns mentioned in comma separated `<list>` of their numbers.
+ columns mentioned in comma-separated `<list>` of their numbers.
The <list> can include `<from>-<to>` declarators, for example
- \^`\crlp{1-3,5}` is equal to \^`\crlp{1,2,3,5}`.
+ \^`\crlp{1-3,5}` is equal to \^`\crlp{1,2,3,5}`.
\enditems
The \^`\tskip``<dimen>` command works like the `\noalign{\vskip<dimen>}`
immediately after `\cr*` commands but it doesn't interrupt the vertical lines.
\new
-You can use following parameters for the \^`\table` macro. Default values are listed
-too.
+You can use the following parameters for the \^`\table` macro. Default values are listed
+too.
\begtt
\everytable={} % code used in \vbox before table processing
@@ -841,13 +835,13 @@ too.
\vvkern=1pt % space between lines in double vertical line
\hhkern=1pt % space between lines in double horizontal line
\tabskip=0pt % space between columns
-\tabskipl=0pt \tabskipr=0pt % space before first and after last column
+\tabskipl=0pt \tabskipr=0pt % space before first and after last column
\endtt
Example: if you do \^`\tabiteml={$\enspace}`\^`\tabitemr={\enspace$}` then
the \^`\table` acts like \LaTeX's array environment.
-If there is an item which spans to more than one column in the table then
+If there is an item that spans to more than one column in the table then
the macro \^`\multispan{<number>}` (from Plain \TeX) can help you. Another
alternative is
the command \^`\mspan``<number>[<declaration>]{<text>}`
@@ -857,8 +851,8 @@ with the same syntax as common \^`\table` <declaration>.
If your table includes vertical rules and you want to
create continuous vertical rules by \^`\mspan`, then use rule declarators `|`
after `c`, `l` or `r` letter in \^`\mspan` <declaration>. The
-exception is only in the case when \^`\mspan` includes first
-column and the table have rules on the left side. The example of \^`\mspan`
+exception is only in the case when \^`\mspan` includes the first
+column and the table have rules on the left side. The example of \^`\mspan`
usage is below.
The \^`\frame{<text>}` makes a frame around <text>. You can put the whole \^`\table`
@@ -884,48 +878,47 @@ like to be in the center of the <number> lines (current line is first).
You can use this for creating tables like in the following example:
\begtt \typosize[8.7/11]
-\thistable{\tabstrut={\vrule height 20pt depth10pt width0pt}
- \baselineskip=20pt \tablinespace=0pt \rulewidth=.8pt}
-\table{|8{c|}}{\crlp{3-8}
- \mspan2[c|]{} & \mspan3[c|]{Singular} & \mspan3[c|]{Plural} \crlp{3-8}
+\thistable{\tabstrut={\vrule height 20pt depth10pt width0pt}
+ \baselineskip=20pt \tablinespace=0pt \rulewidth=.8pt}
+\table{|8{c|}}{\crlp{3-8}
+ \mspan2[c|]{} & \mspan3[c|]{Singular} & \mspan3[c|]{Plural} \crlp{3-8}
\mspan2[c|]{} & Neuter & Masculine & Feminine & Masculine & Feminine & Neuter \crl
- \vspan2{I} & Inclusive & \mspan3[c|]{\vspan2{O}} & \mspan3[c|]{X} \crlp{2,6-8}
- & Exclusive & \mspan3[c|]{} & \mspan3[c|]{X} \crl
- \vspan2{II} & Informal & \mspan3[c|]{X} & \mspan3[c|]{X} \crlp{2-8}
- & Formal & \mspan6[c|]{X} \crl
- \vspan2{III} & Informal & \vspan2{O} & X & X & \mspan2[c|]{X} &\vspan2{O} \crlp{2,4-7}
- & Formal & & \mspan4[c|]{X} & \crl
-}
+ \vspan2{I} & Inclusive & \mspan3[c|]{\vspan2{O}} & \mspan3[c|]{X} \crlp{2,6-8}
+ & Exclusive & \mspan3[c|]{} & \mspan3[c|]{X} \crl
+ \vspan2{II} & Informal & \mspan3[c|]{X} & \mspan3[c|]{X} \crlp{2-8}
+ & Formal & \mspan6[c|]{X} \crl
+ \vspan2{III} & Informal & \vspan2{O} & X & X & \mspan2[c|]{X} &\vspan2{O} \crlp{2,4-7}
+ & Formal & & \mspan4[c|]{X} & \crl
+}
\endtt
\puttext 8.9cm -4cm {\pdfsave\pdfscale{.5}{.5}\rlap{%
-\thistable{\tabstrut={\vrule height 20pt depth10pt width0pt}
- \baselineskip=20pt \tablinespace=0pt \rulewidth=.8pt}
-\table{|8{c|}}{\crlp{3-8}
- \mspan2[c|]{} &\mspan3[c|]{Singular} &\mspan3[c|]{Plural} \crlp{3-8}
+\thistable{\tabstrut={\vrule height 20pt depth10pt width0pt}
+ \baselineskip=20pt \tablinespace=0pt \rulewidth=.8pt}
+\table{|8{c|}}{\crlp{3-8}
+ \mspan2[c|]{} &\mspan3[c|]{Singular} &\mspan3[c|]{Plural} \crlp{3-8}
\mspan2[c|]{} & Neuter & Masculine & Feminine & Masculine & Feminine & Neuter \crl
- \vspan2{I} & Inclusive & \mspan3[c|]{\vspan2{O}} &\mspan3[c|] X \crlp{2,6-8}
- & Exclusive & \mspan3[c|]{} &\mspan3[c|] X \crl
- \vspan2{II} & Informal & \mspan3[c|] X &\mspan3[c|] X \crlp{2-8}
- & Formal & \mspan6[c|] X \crl
- \vspan2{III} & Informal & \vspan2 O & X & X &\mspan2[c|] X & \vspan2 O \crlp{2,4-7}
- & Formal & &\mspan4[c|] X & \crl
+ \vspan2{I} & Inclusive & \mspan3[c|]{\vspan2{O}} &\mspan3[c|] X \crlp{2,6-8}
+ & Exclusive & \mspan3[c|]{} &\mspan3[c|] X \crl
+ \vspan2{II} & Informal & \mspan3[c|] X &\mspan3[c|] X \crlp{2-8}
+ & Formal & \mspan6[c|] X \crl
+ \vspan2{III} & Informal & \vspan2 O & X & X &\mspan2[c|] X & \vspan2 O \crlp{2,4-7}
+ & Formal & &\mspan4[c|] X & \crl
}}\pdfrestore}
-
-\hangindent=-7.5cm \hangafter=0
-The <number> parameter of \^`\vspan` must be one-digit number.
-If you want to set more digits then use braces.
+\hangindent=-7.5cm \hangafter=0
+The <number> parameter of \^`\vspan` must be one-digit number.
+If you want to set more digits then use braces.
You can use non-integer values too if you feel that the
result is better, for example \^`\vspan{2.1}{text}`.
-\hangindent=-7.5cm \hangafter=0
+\hangindent=-7.5cm \hangafter=0
The rule width of tables and implicit width of all `\vrule`s and `\hrule`s
-can be set by the command \^`\rulewidth=<dimen>`. The default value given
+can be set by the command \^`\rulewidth=<dimen>`. The default value given
by \TeX/ is 0.4\,pt.
The `c`, `l`, `r` and `p` are default \"declaration letters" but you can define
-more such letters by `\def\_tabdeclare<letter>{<left>##<right>}`.
+more such letters by `\def\_tabdeclare<letter>{<left>##<right>}`.
More about it is in technical documentation in section~\ref[table.impl].
See the definition of the \^`\tabdeclarec` macro, for example.
@@ -935,51 +928,50 @@ More about it is in section~\ref[table.w]
Many tips about tables can be seen on the site
\url{http://petr.olsak.net/optex/optex-tricks.html}.
-
\label[verbatim]\secc Verbatim
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The display verbatim text have to be surrounded by the \^`\begtt` and
-\^`\endtt` couple.
-The in-line verbatim have to be tagged (before and after)
+\^`\endtt` couple.
+The in-line verbatim have to be tagged (before and after)
by a character which is declared by
-\^`\activettchar``<char>`. For example \code{\\activettchar`}
-declares the character \code{`}
-for in-line verbatim markup.
+\^`\activettchar``<char>`. For example \code{\\activettchar`}
+declares the character \code{`}
+for in-line verbatim markup.
And you can use \code{`\\relax`} for
verbatim `\relax` (for example).
\new
Another alternative of printing in-line
-verbatim text is \~`\code{<text>}` (see below).
+verbatim text is \~`\code{<text>}` (see below).
If the numerical register \^`\ttline` is set to the non-negative value then
display verbatim will number the lines. The first line has the number
\^`\ttline+1` and when the verbatim ends then the \^`\ttline` value is equal to the
-number of last line printed. Next \^`\begtt...`\^`\endtt` environment will follow
+number of the last line printed. Next \^`\begtt...`\^`\endtt` environment will follow
the line numbering. \OpTeX/ sets \^`\ttline=-1` by default.
The indentation of each line in display verbatim is controlled by
\^`\ttindent` register. This register is set to the `\parindent` by default.
-User can change values of the `\parindent` and \^`\ttindent` independently.
+Users can change the values of the `\parindent` and \^`\ttindent` independently.
-The \^`\begtt` command starts internal group in which the catcodes are changed.
+The \^`\begtt` command starts the internal group in which the catcodes are changed.
\new
-Then the \^`\everytt` tokens register is run. It is empty by default and user can
-control fine behavior by it. For example the catcodes can be re-declared here. If
-you need to define active character in the \^`\everytt`, use \^`\adef` as in the
+Then the \^`\everytt` tokens register is run. It is empty by default and the user can
+control fine behavior by it. For example, the catcodes can be re-declared here. If
+you need to define an active character in the \^`\everytt`, use \~`\adef` as in the
following example:
\begtt \adef@{\string\endtt}
\everytt={\adef!{?}\adef?{!}}
\begtt
-Each occurrence of the exclamation mark will be changed to
-the question mark and vice versa. Really? You can try it!
+Each occurrence of the exclamation mark will be changed to
+the question mark and vice versa. Really? You can try it!
@
\endtt
%
-The \^`\adef` command sets its parameter as active {\it after\/}
+The \~`\adef` command sets its parameter as active {\it after\/}
the parameter of \^`\everytt` is read. So you don't have to worry about active
-categories in this parameter.
+categories in this parameter.
There is an alternative to \^`\everytt` named \^`\everyintt` which is used for
in-line verbatim surrounded by an \^`\activettchar` or processed by the \~`\code`
@@ -996,12 +988,12 @@ declared in a group). There are tips for such global `\everytt` definitions here
\new
If you want to apply a special code only for one \^`\begtt...`\^`\endtt`
-environment then don't set any \^`\everytt` but put desired material at the
+environment then don't set any \^`\everytt` but put desired material at the
same line where \^`\begtt` is. For example:
\begtt \adef@{\string\endtt}
\begtt \adef!{?}\adef?{!}
-Each occurrence of ? will be changed to ! and vice versa.
+Each occurrence of ? will be changed to ! and vice versa.
@
\endtt
@@ -1011,21 +1003,21 @@ parameter of macros and macro definitions. (It works in titles declared by
specially defined in \OpTeX/).
\new
You can use more robust command \^`\code{<text>}` in problematic
-situations, but you have to escape following characters in the <text>:
-`\`, `#`, `%`, braces (if the braces are unmatched in the <text>),
-and space or `^` (if there are more than one subsequent spaces or `^` in
+situations, but you have to escape the following characters in the <text>:
+`\`, `#`, `%`, braces (if the braces are unmatched in the <text>),
+and space or `^` (if there are more than one subsequent spaces or `^` in
the <text>). Examples:
\begtt
\code{\\text, \%\#} ... prints \text, %#
\code{@{..}*&^$ $} ... prints @{..}*&^$ $ without escaping, but you can
escape these characters too, if you want.
-\code{a \ b} ... two spaces between a b, second one must be escaped
+\code{a \ b} ... two spaces between a b, the second must be escaped
\code{xy\{z} ... xy{z ... unbalanced brace must be escaped
\code{^\^M} ... prints ^^M, the second ^ must be escaped
\endtt
-You can print verbatim listing from external files by the \^`\verbinput` command.
+You can print verbatim listing from external files by the \^`\verbinput` command.
Examples:
\begtt
@@ -1034,19 +1026,19 @@ Examples:
\verbinput (61-) program.c % from line 61 to the end
\verbinput (-) program.c % whole file is printed
\verbinput (70+10) program.c % from line 70, only 10 lines printed
-\verbinput (+10) program.c % from the last line read, print 10 lines
+\verbinput (+10) program.c % from the last line read, print 10 lines
\verbinput (-5+7) program.c % from the last line read, skip 5, print 7
\verbinput (+) program.c % from the last line read to the end
\endtt
\new
-You can insert additional commands for the \^`\verbinput` before
-first opening bracket. They are processed in the local group.
+You can insert additional commands for \^`\verbinput` before
+the first opening bracket. They are processed in the local group.
For example, `\verbinput \hsize=20cm (-) program.c`.
The \~`\ttline` influences the line numbering by the same way as in
\~`\begtt...`\~`\endtt` environment. If \~`\ttline=-1` then real line numbers are
-printed (this is default). If \code{\\ttline<-1} then no line
+printed (this is the default). If \code{\\ttline<-1} then no line
numbers are printed.
The \^`\verbinput` can be controlled by \^`\everytt`, \^`\ttindent` just like
@@ -1065,7 +1057,6 @@ you can set them by \~`\commentchars``<first><second>`. Such comments are
fully interpreted by \TeX/ (i.e. not verbatim).
Section~\ref[verb] (page \pgref[commentchars]) says more about this feature.
-
\sec Autogenerated lists
%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1073,11 +1064,11 @@ Section~\ref[verb] (page \pgref[commentchars]) says more about this feature.
%%%%%%%%%%%%%%%%%%%%%%
The \^`\maketoc` command prints the table of contents of all \~`\chap`, \~`\sec`
-and \~`\secc` used in the document. These data are read from external `*.ref` file, so
+and \~`\secc` used in the document. These data are read from the external `*.ref` file, so
you have to run \TeX/ more than once (typically three times if the table of
-contents is at the beginning of the document).
+contents is at the beginning of the document).
-Typically, we don't want to repeat the name of the section \"table of contents"
+Typically, we don't want to repeat the name of the section \"Table of contents"
in the table of contents again. The direct usage
of \~`\chap` or \~`\sec` isn't recommended here because the table of contents
is typically not referenced to itself. You can print the unnumbered and unreferenced
@@ -1090,8 +1081,8 @@ If you need a customization of the design of the TOC, read the
section~\ref[maketoc].
\new
-If you are using a special macro in section or chapter titles
-and you need different behavior of such macro in other cases then use
+If you are using a special macro in section or chapter titles
+and you need different behavior of such macro in other cases then use
\^`\regmacro{<case-toc>}{<case-mark>}{<case-outline>}`.
The parameters are applied locally in given cases. The \^`\regmacro` can be
used repeatedly: then its parameters are accumulated (for more macros).
@@ -1107,15 +1098,15 @@ For example:
{\def\mylogo{MyLoGo}} % used in PDF outlines
\endtt
-\secc Making the index
+\secc Making the index
%%%%%%%%%%%%%%%%%%%%%
-The index can be included into document by the \^`\makeindex` macro. No external
-program is needed, the alphabetical sorting are done inside \TeX/ at macro
+The index can be included in the document by the \^`\makeindex` macro. No external
+program is needed, the alphabetical sorting is done inside \TeX/ at macro
level.
The \^`\ii` command (insert to index) declares the word separated by the space
-as the index item. This declaration is represented as invisible item on the
+as the index item. This declaration is represented as an invisible item on the
page connected to the next visible word. The page number of the page where
this item occurs is listed in the index entry. So you can type:
@@ -1123,7 +1114,7 @@ this item occurs is listed in the index entry. So you can type:
The \ii resistor resistor is a passive electrical component ...
\endtt
-You cannot double the word if you use the \^`\iid` instead \^`\ii`:
+You cannot double the word if you use the \^`\iid` instead of \^`\ii`:
\begtt
The \iid resistor is a passive electrical component ...
@@ -1131,8 +1122,8 @@ or:
Now we'll deal with the \iid resistor .
\endtt
-Note that the dot or comma have to be separated by space when \^`\iid` is
-used. This space (before dot or comma) is removed by the macro in
+Note that the dot or comma has to be separated by space when \^`\iid` is
+used. This space (before dot or comma) is removed by the macro in
the current text.
The multiple-words entries are commonly arranged in the index as follows:
@@ -1163,7 +1154,7 @@ spare your typing by the comma in the \~`\ii` parameter. The previous example
is equivalent to `\ii linear/space \ii vector/space`~.
Maybe you need to propagate to the index the similar entry to the
-linear/space in the form space/linear. You can do this by the shorthand `,@`
+linear/space in the form of space/linear. You can do this by the shorthand `,@`
at the end of the \~`\ii` parameter. Example:
\begtt
@@ -1175,17 +1166,17 @@ is equivalent to:
If you really need to insert the space into the index entry, write `~`.
The \~`\ii` or \~`\iid` commands can be preceded by \^`\iitype` `<letter>`, then such
-reference (or more references generated by one \~`\ii`) has specified type.
+reference (or more references generated by one \~`\ii`) has the specified type.
The page numbers of such references should be formatted
-specially in the index. \OpTeX/ implements only \^`\iitype` `b`,
-\^`\iitype` `i` and \^`\iitype` `u`:
+specially in the index. \OpTeX/ implements only \^`\iitype` `b`,
+\^`\iitype` `i` and \^`\iitype` `u`:
the page number in bold or in italics or underlined is printed
-in the index when these types are used. Default index type is empty, which
-prints page numbers in normal font. The \TeX/book index is good example.
+in the index when these types are used. The default index type is empty, which
+prints page numbers in normal font. The \TeX/book index is a good example.
The \^`\makeindex` creates the list of alphabetically sorted index entries
without the title of the section and without creating more columns. \OpTeX/
-provides another macros \^`\begmulti` and \^`\endmulti` for more columns:
+provides other macros \^`\begmulti` and \^`\endmulti` for more columns:
\begtt \catcode`\<=13
\begmulti <number of columns>
@@ -1201,10 +1192,10 @@ code:
\endtt
Only \"pure words" can be propagated to the index by the \~`\ii` command. It
-means that there cannot be any macro, \TeX/ primitive, math selector etc.
-But there is another possibility to create such complex index entry. Use
-\"pure equivalent" in the \~`\ii` parameter and map this equivalent to the
-real word which is printed in the index. Such mapping is done by
+means that there cannot be any macro, \TeX/ primitive, math selector, etc.
+But there is another possibility to create such a complex index entry. Use
+\"pure equivalent" in the \~`\ii` parameter and map this equivalent to a
+real word that is printed in the index. Such mapping is done by
\^`\iis` command. Example:
\begtt
@@ -1215,11 +1206,11 @@ If the \ii relax `\relax` command is used then \TeX/ is relaxing.
\iis relax {\code{\\relax}}
\endtt
%
-The \^`\iis` `<equivalent> {<text>}` creates one entry in the \"dictionary
+The \^`\iis` `<equivalent> {<text>}` creates one entry in the \"dictionary
of the exceptions". The sorting is done by the <equivalent> but the
<text> is printed in the index entry list.
-The sorting rules when \^`\makeindex` runs depends on the current language.
+The sorting rules when \^`\makeindex` runs depends on the current language.
See section~\ref[lang] about languages selection.
\secc Bib\TeX/ing
@@ -1227,15 +1218,15 @@ See section~\ref[lang] about languages selection.
The command \^`\cite[<label>]` (or
\hbox{\^`\cite[<label-1>,<label-2>,...,<label-n>]`})
-creates the citation in the form [42] (or [15,~19,~26]).
-If \^`\shortcitations` is declared at the beginning of the document then
-continuous sequences of numbers are re-printed like this:
+creates the citation in the form [42] (or [15,~19,~26]).
+If \^`\shortcitations` is declared at the beginning of the document then
+continuous sequences of numbers are re-printed like this:
\hbox{[3--5,~7,~9--11]}. If
\^`\sortcitations` is declared then numbers generated by one \^`\cite` command
are sorted upward.
-If \^`\nonumcitations` is declared then the marks instead numbers are generated
-depending on the used bib-style. For example the citations look like
+If \^`\nonumcitations` is declared then the marks instead of numbers are generated
+depending on the used bib-style. For example, the citations look like
[Now08] or [Nowak, 2008].
The \^`\rcite[<labels>]` creates the same list as \^`\cite[<labels>]` but without
@@ -1247,7 +1238,7 @@ is linked to the references list.
You can define alternative formating of \^`\cite` command. Example:
-\begtt
+\begtt \catcode`\<=13
\def\cite[#1]{(\rcite[#1])} % \cite[<label>] creates (27)
\def\cite[#1]{$^{\rcite[#1]}$} % \cite[<label>] creates^{27}
\endtt
@@ -1259,20 +1250,20 @@ references list:
\begitems
* Manually using \~`\bib[<label>]` commands.
* By \~`\usebib/<type> (<style>) <bib-base>` command which reads `*.bib`
- files directly.
+ files directly.
\enditems
\new
Note that another two possibilities documented in OPmac (using external
-Bib\TeX/ program) isn't supported because Bib\TeX/ is old program which does not
+Bib\TeX/ program) isn't supported because Bib\TeX/ is an old program that does not
support Unicode. And Biber seems to be not compliant with Plain \TeX.
\medskip\noindent
{\bf References created manually using \^`\bib[<label>]` command.}
-\begtt
+\begtt
\bib [tbn] P. Olšák. {\it\TeX{}book naruby.} 468~s. Brno: Konvoj, 1997.
-\bib [tst] P. Olšák. {\it Typografický systém \TeX.}
+\bib [tst] P. Olšák. {\it Typografický systém \TeX.}
269~s. Praha: CSTUG, 1995.
\endtt
@@ -1282,16 +1273,16 @@ command in the format \^`\bib[<label>] = {<mark>}`. The spaces around
equal sign are mandatory. Example:
\begtt
-\bib [tbn] = {Olšák, 2001}
+\bib [tbn] = {Olšák, 2001}
P. Olšák. {\it\TeX{}book naruby.} 468~s. Brno: Konvoj, 2001.
\endtt
\noindent
{\bf Direct reading of `.bib` files} is possible by \^`\usebib` macro.
-This macro reads and uses macro package `librarian.tex` by Paul Isambert.
+This macro reads and uses macro package `librarian.tex` by Paul Isambert.
The usage is:
-\begtt
+\begtt \catcode`\<=13
\usebib/c (<style>) <bib-base> % sorted by \cite-order (c=cite),
\usebib/s (<style>) <bib-base> % sorted by style (s=style).
% example:
@@ -1308,30 +1299,29 @@ The \^`\usebib` command is more documented in section~\ref[usebib].
Not all records are printed from <bib-base> files: the command \^`\usebib`
selects only such bib-records which were used in \~`\cite` or \^`\nocite`
commands in your document. The \^`\nocite` behaves as \~`\cite` but prints
-nothing. It tells only that mentioned bib-record should be printed in the
+nothing. It tells only that the mentioned bib-record should be printed in the
reference list. If \^`\nocite[*]` is used then all records from <bib-base>
are printed.
-
\sec Graphics
%%%%%%%%%%%%%
\secc Colors
%%%%%%%%%%%
-\OpTeX/ provides a small number of color selectors:
-{\Blue `\Blue`},
-{\Red `\Red`},
+\OpTeX/ provides a small number of color selectors:
+{\Blue `\Blue`},
+{\Red `\Red`},
{\Brown `\Brown`},
-{\Green `\Green`},
-{\Yellow `\Yellow`},
-{\Cyan `\Cyan`},
-{\Magenta `\Magenta`},
-{`\White`},
-{\Grey `\Grey`},
+{\Green `\Green`},
+{\Yellow `\Yellow`},
+{\Cyan `\Cyan`},
+{\Magenta `\Magenta`},
+{`\White`},
+{\Grey `\Grey`},
{\LightGrey `\LightGrey`} and
`\Black`. User can define more
-such selectors by setting four CMYK components
+such selectors by setting four CMYK components
\new
or three RGB components. For example
@@ -1343,29 +1333,29 @@ or three RGB components. For example
\new
The command \^`\morecolors` reads more definitions of color selectors from
the \LaTeX/ file `x11nam.def`.
-There is about 300 color names like
+There are about 300 color names like
`\DeepPink`, `\Chocolate` etc. If there are numbered variants of the same
-name, then the letters B, C, etc. are appended to the name in \OpTeX/. For example
+name, then the letters B, C, etc. are appended to the name in \OpTeX/. For example
`\Chocolate` is Chocolate1, `\ChocolateB` is Chocolate2 etc.
\new
-The color selectors work locally in groups by default but with limitations. See
+The color selectors work locally in groups by default but with limitations. See
the technical documentation, section~\ref[colors] for more information.
-The basic colors \^`\Blue`, \^`\Red`, \^`\Cyan`, \^`\Yellow` etc.\ are defined
-with CMYK components using \^`\setcmykcolor`.
-On the other hand, you can define a color with three
-RGB components and \^`\morecolors` defines such RGB colors.
+The basic colors \^`\Blue`, \^`\Red`, \^`\Cyan`, \^`\Yellow` etc.\ are defined
+with CMYK components using \^`\setcmykcolor`.
+On the other hand, you can define a color with three
+RGB components and \^`\morecolors` defines such RGB colors.
By default, the color model isn't converted but only stored to
PDF output for each used color. Thus, there may be a mix of color
-models in the PDF output which is not good idea. You can overcome this
-problem by declaration \^`\onlyrgb` or \^`\onlycmyk`. Then only selected color
+models in the PDF output which is not a good idea. You can overcome this
+problem by declaration \^`\onlyrgb` or \^`\onlycmyk`. Then only the selected color
model is used for PDF output and if a used color is declared by another color
model then it is converted.
The \^`\onlyrgb` creates colors more bright (usable for computer
-presentations). On the other hand CMYK makes colors more true\fnote
-{Printed output is more equal to the monitor preview specially if you are
-using ICC profile for your printer.}
+presentations). On the other hand, CMYK makes colors more true\fnote
+{Printed output is more equal to the monitor preview especially if you are
+using ICC profile for your printer.}
for printing.
\new
@@ -1373,18 +1363,18 @@ You can define your color by a linear combination of previously defined colors u
\^`\colordef`. For example:
\begtt
-\colordef \myCyan {.3\Green + .5\Blue} % 30 % green, 50 % blue, 20% white
-\colordef \DarkBlue {\Blue + .4\Black} % Blue mixed with 40 % of black
+\colordef \myCyan {.3\Green + .5\Blue} % 30 % green, 50 % blue, 20% white
+\colordef \DarkBlue {\Blue + .4\Black} % Blue mixed with 40 % of black
\colordef \myGreen{\Cyan+\Yellow} % exact the same as \Green
\colordef \MyColor {.3\Orange+.5\Green+.2\Yellow}
\endtt
%
-The linear combination is done in CMYK substractive color space by default
-(RGB colors used in \^`\colordef` argument are converted first).
+The linear combination is done in CMYK subtractive color space by default
+(RGB colors used in \^`\colordef` argument are converted first).
If the resulting component is greater than 1 then it is truncated to 1.
If a convex linear combination (as in the last example above) is used then it
emulates color behavior on a painter's palette.
-You can use \^`\rgbcolordef` instead \^`\colordef` if you want to mix colors
+You can use \^`\rgbcolordef` instead of \^`\colordef` if you want to mix colors
in the additive RGB color space.
\def\coloron#1#2#3{%
@@ -1411,35 +1401,35 @@ The `\coloron` can be defined as follows:
The \^`\inspic` `{<filename>.<extension>}` or
\^`\inspic` `<filename>.<extension><space>`
inserts the picture stored in
-the graphics file with the name `<filename>.<extension>` to the document.
+the graphics file with the name `<filename>.<extension>` to the document.
You can set the picture width by \^`\picw=<dimen>`
before \^`\inspic` command which declares the width of the picture.
-The image files can be in the PNG, JPG, JBIG2 or PDF format.
+The image files can be in the PNG, JPG, JBIG2 or PDF format.
-The \^`\picwidth` is an equivalent register to `\picw`. Moreover there is an
+The \^`\picwidth` is an equivalent register to `\picw`. Moreover, there is an
\^`\picheight` register which denotes the height of the picture. If both
-registers are set then the picture will be (probably) deformed.
+registers are set then the picture will be (probably) deformed.
-The image files are searched in \^`\picdir`. This token list is empty
-by default, this means that the image files are searched in the
+The image files are searched in \^`\picdir`. This token list is empty
+by default, this means that the image files are searched in the
current directory. Example: \^`\picdir={img/}` supposes that image files are
-in `img` subdirectory. Note: the directory name must end by `/` in
+in `img` subdirectory. Note: the directory name must end by `/` in
the \^`\picdir` declaration.
Inkscape\fnote
-{A powerfull and free wysiwyg editor for creating vector graphics.}
+{A powerful and free Wysiwyg editor for creating vector graphics.}
is able to save a picture to PDF and labels of the picture to another
file\fnote
-{Chose \"Omit text in PDF and create LaTeX file" option.}.
-This second file should be read by \TeX/ in order to print labels
+{Chose \"Omit text in PDF and create LaTeX file" option.}.
+This second file should be read by \TeX/to print labels
in the same font as document font. \OpTeX/ supports this feature by
-\^`\inkinspic` `{<filename>.pdf}` command. It reads and displays
+\^`\inkinspic` `{<filename>.pdf}` command. It reads and displays
both: PDF image and labels generated by Inkscape.
-If you want to create a vector graphics (diagrams, schema, geometry
+If you want to create vector graphics (diagrams, schema, geometry
skicing) then you can do it by Wysiwyg graphics editor (Inkscape, Geogebra for
example), export the result to PDF and include it by \^`\inspic`.
-If you want to \"programm" such pictures then Tikz package is recommended.
+If you want to \"program" such pictures then Tikz package is recommended.
It works in Plain \TeX/ and \OpTeX.
\secc PDF transformations
@@ -1448,25 +1438,25 @@ It works in Plain \TeX/ and \OpTeX.
All typesetting elements are transformed by linear
transformation given by the current transformation matrix. The
`\pdfsetmatrix` `{<a> <b> <c> <d>}` command makes the internal multiplication
-with the current matrix so linear transformations can be composed.
+with the current matrix so linear transformations can be composed.
One linear transformation given by the `\pdfsetmatrix` above transforms
the vector $[0,1]$ to [<a>,\,<b>] and $[1,0]$ to [<c>,\,<d>].
The stack-oriented commands `\pdfsave` and `\pdfrestore` gives a possibility of
storing and restoring the current transformation matrix and the position of the current point.
-This position have to be the same from \TeX{}'s point of
-view as from transformation point of view when `\pdfrestore` is processed.
-Due to this fact the `\pdfsave\rlap{<transformed text>}\pdfrestore`
+This position has to be the same from \TeX{}'s point of
+view as from the transformation point of view when `\pdfrestore` is processed.
+Due to this fact the `\pdfsave\rlap{<transformed text>}\pdfrestore`
or something similar is recommended.
\OpTeX/ provides two special transformation macros
\^`\pdfscale` and \^`\pdfrotate`:
\begtt \catcode`\<=13
-\pdfscale{<horizontal-factor>}{<vertical-factor>}
+\pdfscale{<horizontal-factor>}{<vertical-factor>}
\pdfrotate{<angle-in-degrees>}
-\endtt
+\endtt
-These macros simply calls the properly `\pdfsetmatrix` command.
+These macros simply call the properly `\pdfsetmatrix` command.
It is known that the composition of transformations is not commutative. It
means that the order is important. You have to read the transformation
@@ -1484,32 +1474,32 @@ third: \pdfsave \pdfrotate{-15.3}\pdfsetmatrix{2 0 1.5 2}\rlap{text3}%
\endtt
%
\par\nobreak\bigskip\smallskip
-This gives the following result.
+This gives the following result.
First: \pdfsave \pdfrotate{30}\pdfscale{-2}{2}\rlap{text1}\pdfrestore
second: \pdfsave \pdfscale{-2}{2}\pdfrotate{30}\rlap{text2}\pdfrestore
third: \pdfsave \pdfrotate{-15.3}\pdfsetmatrix{2 0 1.5 2}\rlap{text3}\pdfrestore
\par\nobreak\bigskip\penalty0%\bigskip
-You can see that \TeX/ knows nothing about dimensions of transfomed material,
-it treats it as with a zero dimension object.
+You can see that \TeX/ knows nothing about dimensions of transformed material,
+it treats it as with a zero dimension object.
\new
The \^`\transformbox{<transformation>}{<text>}`
macro solves the problem. This macro puts the transformed
-material to a box with relevant dimension. The <transfromation> parameter
-includes one or more transfromation commands `\pdfsetmatrix`, `\pdfscale`,
+material into a box with relevant dimensions. The <transfromation> parameter
+includes one or more transformation commands `\pdfsetmatrix`, `\pdfscale`,
`\pdfrotate` with their parameters. The <text> is transformed text.
Example: \~`\frame{\transformbox{\pdfscale{1}{1.5}\pdfrotate{-10}}{moj}}`
creates \frame{\transformbox{\pdfscale{1}{1.5}\pdfrotate{-10}}{moj}}.
-The \^`\rotbox{<deg>}{<text>}` is shortcut for
+The \^`\rotbox{<deg>}{<text>}` is shortcut for
\^`\transformbox{\pdfrotate{<deg>}}{<text>}`.
\secc Ovals, circles
%%%%%%%%%%%%%%%%%%%%
\new
-The \^`\inoval{<text>}` creates a box like this: \inoval{text}.
+The \^`\inoval{<text>}` creates a box like this: \inoval{text}.
Multiline text can be put in an oval by the command \^`\inoval{\vbox{<text>}}`.
Local settings can be set by
\^`\inoval[<settings>]{<text>}` or you can re-declare global settings by
@@ -1524,7 +1514,7 @@ Local settings can be set by
\overlapmargins=N % ignore margins by surrounding text
\hhkern=0pt \vvkern=0pt} % left-righ margin, top-bottom margin
\endtt
-The total distance from text to oval boundary is `\hhkern+\roundness` at the left and right
+The total distance from text to oval boundary is `\hhkern+\roundness` at the left and right
sides and
`\vvkern+\roundness` at the top and bottom sides of the text.
@@ -1534,11 +1524,11 @@ put such setting right in front of the <text>:
\new
The \^`\incircle[\ratio=1.8]{<text>}` creates a box like this \incircle[\ratio=1.8]{text}.
-The \^`\ratio` parameter means width/height. The usage is analogical like for oval.
+The \^`\ratio` parameter means width/height. The usage is analogical like for oval.
The default parameters are
\begtt
-\circleparams={\ratio=1 \fcolor=\Yellow \lcolor=\Red \lwidth=0.5bp
+\circleparams={\ratio=1 \fcolor=\Yellow \lcolor=\Red \lwidth=0.5bp
\shadow=N \ignoremargins=N \hhkern=2pt \vvkern=2pt}
\endtt
@@ -1551,22 +1541,22 @@ is used.
The `\roundness=5mm` is default for \^`\clipinoval` and user can change it.
Example:
-\begtt
-\clipincircle 3cm 3.5cm 6cm 7cm {\picw=6cm \inspic{myphoto.jpg}}
+\begtt
+\clipincircle 3cm 3.5cm 6cm 7cm {\picw=6cm \inspic{myphoto.jpg}}
\endtt
\secc Putting images and texts wherever
\new
The \^`\puttext` `<x> <y> {<text>}` puts the `<text>` shifted by `<x>` right and by
-`<y>` up from current point of typesetting and does not change the
-position of the current point. Assume coordinate system with origin in the
+`<y>` up from the current point of typesetting and does not change the
+position of the current point. Assume a coordinate system with origin in the
current point. Then \^`\puttext` `<x> <y> {<text>}` puts the text at the
coordinates `<x>`, `<y>`. More exactly the left edge of its baseline is at that
-position.
+position.
\new
-The \^`\putpic` `<x> <y> <width> <height> {<image>}` puts the `<image>` of given
+The \^`\putpic` `<x> <y> <width> <height> {<image>}` puts the `<image>` of given
`<width>` and `<height>` at given position (its left-bottom corner).
You can write \^`\nospec` instead `<width>` or `<height>` if this parameter is
not given.
@@ -1578,15 +1568,15 @@ not given.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\OpTeX/ prepares hyphenation patterns for all languages if such patterns are
-available in your \TeX/ system.
+available in your \TeX/ system.
\new
Only USenglish patterns (original from Plain \TeX/) are preloaded.
-Hyphenation patterns of all another languages are loaded on demand when you first use
-the `\<iso-code>lang` command in your document.
+Hyphenation patterns of all other languages are loaded on demand when you first use
+the `\<iso-code>lang` command in your document.
For example \^`\delang` for German, \^`\cslang` for
-Czech, \^`\pllang` for Polish. The <iso-code> is a shortcut
-of the language (mostly from ISO 639-1).
-You can list all available languages by \^`\langlist`
+Czech, \^`\pllang` for Polish. The <iso-code> is a shortcut
+of the language (mostly from ISO 639-1).
+You can list all available languages by \^`\langlist`
macro. This macro prints now:
\medskip
@@ -1597,7 +1587,7 @@ macro. This macro prints now:
\new
For compatibility with e-plain macros, there is the command
-\^`\uselanguage{<language>}`. The parameter <language> is long form of
+\^`\uselanguage{<language>}`. The parameter <language> is long-form of
language name, i.e.\ \^`\uselanguage{Czech}` works the same as \^`\cslang`.
The \^`\uselanguage` parameter is case insensitive.
@@ -1612,27 +1602,27 @@ articles or books: \"Chapter", \"Table" and \"Figure". These phrases need to be
in used language and it depends on the previously used language selectors
`\<iso-code>lang`. \OpTeX/ declares these words only for few languages:
\new
-Czech, German, Spanish, French, Greek, Italian, Polish, Russian, Slovak and
-English, If you need to use these words in another languages or you want to
-auto-generate more words in your macros, then you can declare it by
-\^`\sdef` or \^`\_langw` commands as shown in section~\ref[langphrases].
+Czech, German, Spanish, French, Greek, Italian, Polish, Russian, Slovak and
+English, If you need to use these words in other languages or you want to
+auto-generate more words in your macros, then you can declare it by
+\~`\sdef` or \^`\_langw` commands as shown in section~\ref[langphrases].
The \~`\makeindex` command needs to know the sorting rules used in your language.
-\OpTeX/ defines only few language rules for sorting: Czech,
+\OpTeX/ defines only a few language rules for sorting: Czech,
Slovak and English. How to declare sorting rules for more languages are
described in the section~\ref[makeindex].
If you declare `\<iso-code>quotes`, then the control sequences `\"` and `\'`
-should be used like this: `\"<quoted text>"` or `\'<quoted text>'`
+should be used like this: `\"<quoted text>"` or `\'<quoted text>'`
(note that the terminating character is the same but it isn't escaped).
-This prints language dependent normal or alternative quotes around
+This prints language-dependent normal or alternative quotes around
<quoted text>. The language is specified by <iso-code>. \OpTeX/ declares
-quotes only for Czech, German, Spanish, French, Greek, Italian, Polish,
-Russian, Slovak and English (\^`\csquotes`, \^`\dequotes`, \dots, \^`\enquotes`).
+quotes only for Czech, German, Spanish, French, Greek, Italian, Polish,
+Russian, Slovak and English (\^`\csquotes`, \^`\dequotes`, \dots, \^`\enquotes`).
You can simply define your own quotes as shown in section~\ref[langphrases].
-The `\"` is used for quotes visualy more similar to the `"` character which
+The `\"` is used for quotes visually more similar to the `"` character which
can be primary quotes or secondary quotes depending on the language rules.
-May be you want to alternate meaning of these two types of quotes. Use
+Maybe you want to alternate the meaning of these two types of quotes. Use
`\<isocode>quotes\altquotes` in such case.
\secc[styles] Pre-defined styles
@@ -1640,19 +1630,19 @@ May be you want to alternate meaning of these two types of quotes. Use
\OpTeX/ defines three style-declaration macros \~`\report`, \~`\letter` and
\~`\slides`. You can use them at the beginning of your document if you are
-preparing these types of document and you don't need to create your own
+preparing these types of documents and you don't need to create your own
macros.
-The \^`\report` declaration is intended to create reports. It
+The \^`\report` declaration is intended to create reports. It
sets default font size to 11\,pt and `\parindent` (paragraph indentation) to 1.2\,em.
The `\tit` macro uses smaller font because we assume that \"chapter level"
-will be not used in reports. The first page has no page number, but next pages
-are numbered (from number~2). Footnotes are numbered from one in whole
-document. The macro `\author <authors><end-line>` can be used when
-\^`\report` is declared. It prints `<authors>` in italics at center of the
+will be not used in reports. The first page has no page number, but the next pages
+are numbered (from number~2). Footnotes are numbered from one in the whole
+document. The macro `\author <authors><end-line>` can be used when
+\^`\report` is declared. It prints `<authors>` in italics at the center of the
line. You can separate authors by `\nl` to more lines.
-The \^`\letter` declaration is intended to create letters.
+The \^`\letter` declaration is intended to create letters.
See the files `op-letter-*.tex` for examples.
The \^`\letter` style sets default
font size to 11\,pt and `\parindent` to 0\,pt. It sets half-line space
@@ -1670,21 +1660,21 @@ looks like:
<empty line>
\endtt
-It means that you need not to use any special mark at the end of lines: end
+It means that you need not use any special mark at the end of lines: the ends
of lines in the source file are the same as in printed output. The
\^`\address` macro creates `\vtop` with address lines. The width of such
-`\vtop` is equal to the most wide line used in it. So, you can use
-`\hfill\address...` in order to put the address box to the right side of the
-document. Or you can use `<prefixed text>\address...` to put
-`<prefixed text>` before first line of the address.
+`\vtop` is equal to the widest line used in it. So, you can use
+`\hfill\address...` to put the address box to the right side of the
+document. Or you can use `<prefixed text>\address...` to put
+`<prefixed text>` before the first line of the address.
The \^`\slides` style creates a simple presentation slides. See an example
in the file `op-slides.tex`. Run `optex op-slides.tex` and see the documentation of
-\^`\slides` style in the file `op-slides.pdf`.
+\^`\slides` style in the file `op-slides.pdf`.
-Analogical declaration macro `\book` is not prepared. Each book needs an
+Analogical declaration macro `\book` is not prepared. Each book needs
individual typographical care. You need to create specific macros for
-design.
+design.
\secc Loading other macro packages
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1692,30 +1682,40 @@ design.
You can load more macro packages by `\input{<file-name>}` or by
\^`\load[<file-names>]`. The first case (`\input`) is \TeX/ primitive command, it can be
used in the alternative old syntax `\input <filename><space>` too. The
-second case (\^`\load`) allows to specify a comma separated list of included files.
+second case (\^`\load`) allows specifying a comma-separated list of included files.
Moreover, it loads each macro file only once, it sets
temporarily standard category codes during loading and it tries to
-load `<filename>.opm` or `<filename>.tex` or `<filename>`, first occurence
-wins. Example:
+load `<filename>.opm` or `<filename>.tex` or `<filename>`, the first occurence
+wins. Example:
\begtt
-\load [qrcode, tikz]
+\load [qrcode, tikz]
\endtt
%
does `\input qrcode.opm` \,and `\input tikz.tex` \,and it saves
local information about the fact that these file names
-`qrcode` and `tikz` were already used, i.\,e. next \^`\load` will skip them.
+`qrcode` and `tikz` were already used, i.\,e. next \^`\load` will skip them.
It is strongly recommended to use the `\load` macro for loading external
-macros, if you need them. On the other hand, if your source document is structured
+macros if you need them. On the other hand, if your source document is structured
to more files (with individual chapters or sections), use simply the `\input` primitive.
+The macro packages intended to \OpTeX/ have the name `*.opm`.
+The following packages are distributed as part of \OpTeX/:
+\begitems
+* `qrcodes.opm` enables to create QR codes.
+* `vlna.opm` enables to protect of one-letter prepositions and more things automatically.
+* `emoji.opm` defines `\emoji{<name>}` command for colored emoticons.
+* `plain-at.opm` defines the old names from plain \TeX/.
+\enditems
+See the directory `optex/pkg/` and these files for more information about
+them.
\secc Lorem ipsum dolor sit
%%%%%%%%%%%%%%%%%%%%%%%%%%%
\new
-A designer needs to concentrate to the design of the output and maybe he/she
-needs a material for testing macros. There is the possibility to generate a
+A designer needs to concentrate on the design of the output and maybe he/she
+needs material for testing macros. There is the possibility to generate a
neutral text for such experiments. Use \^`\lorem[<number>]` or
\^`\lorem[<from>-<to>]`. It prints a paragraph (or paragraphs) with neutral
text. The numbers <number> or <from>, <to> must be in the range 1 to 150
@@ -1728,7 +1728,7 @@ prints all prepared paragraphs.
\new
The control sequences for typical logos can be terminated by optional `/`
-which is ignored when printing. This makes logos more legible in source file:
+which is ignored when printing. This makes logos more legible in the source file:
\begtt
We are using \TeX/ because it is cool. \OpTeX/ is better than \LaTeX.
@@ -1737,11 +1737,11 @@ We are using \TeX/ because it is cool. \OpTeX/ is better than \LaTeX.
\secc The last page
%%%%%%%%%%%%%%%%%%%
-The number of the last page (it may be different from number of pages) is
+The number of the last page (it may be different from the number of pages) is
expanded by \^`\lastpage` macro. It expands to `?` in first \TeX/ run and to
-the last page in next \TeX/ runs.
+the last page in next \TeX/ runs.
-There is an example for footlines in the format \"current page / last page":
+There is an example for footlines in the format \"current page / last page":
\begtt
\footline={\hss \fixedrm \folio/\lastpage \hss}
@@ -1750,80 +1750,159 @@ There is an example for footlines in the format \"current page / last page":
\new
The \^`\lastpage` expands to the last \^`\folio` which is a decimal
number or Roman numeral (when \^`\pageno` is negative). If you need to know
-total pages used in the document, use \^`\totalpages` macro. It expands to
+the total pages used in the document, use \^`\totalpages` macro. It expands to
zero (in first \TeX/ run) or to the number of all pages in the document
-(in next \TeX/ runs).
+(in next \TeX/ runs).
\secc Use \OpTeX/
%%%%%%%%%%%%%%%%%
\new
-The command \^`\useOpTeX` (or \^`\useoptex`) does nothing in \OpTeX/ but it causes
+The command \^`\useOpTeX` (or \^`\useoptex`) does nothing in \OpTeX/ but it causes
an error (undefined control sequence) when another format is used. You can
put it as the first command in your document:
\begtt
-\useOpTeX % we are using OpTeX format, no LaTeX :)
+\useOpTeX % we are using OpTeX format, no LaTeX :)
\endtt
\sec Summary
%%%%%%%%%%%%
-\begtt \typosize[9/11]\adef!{\string\endtt}\adef&{\kern.25em}
-\tit Title (terminated by end of line)
-\chap Chapter Title (terminated by end of line)
-\sec Section Title (terminated by end of line)
-\secc Subsection Title (terminated by end of line)
-
-\maketoc % table of contents generation
-\ii item1,item2 % insertion the items to the index
-\makeindex % the index is generated
-
-\label [labname] % link target location
-\ref [labname] % link to the chapter, section, subsection, equation
-\pgref [labname] % link to the page of the chapter, section, ...
-
-\caption/t % a numbered table caption
-\caption/f % a numbered caption for the picture
-\eqmark % a numbered equation
-
-\begitems % start list of the items
-\enditems % end of list of the items
-\begtt % start verbatim text
-! % end verbatim text
-\activettchar X % initialization character X for in-text verbatim
-\code % another alternative for in-text verbatim
-\verbinput % verbatim extract from the external file
-\begmulti num % start multicolumn text (num columns)
-\endmulti % end multicolumn text
-
-\cite [labnames] % refers to the item in the lits of references
-\rcite [labnames] % similar to \cite but [] are not printed.
-\sortcitations \shortcitations \nonumcitations % cite format
-\bib [labname] % an item in the list of references
-\usebib/? (style) bib-base % direct using of .bib file, ? in {s,c}
-
-\load [<filenames>] % loadaing macro files
-\fontfam [FamilyName] % selection of font family
-\typosize [font-size/baselineskip] % size setting of typesetting
-\typoscale [factor-font/factor-baselineskip] % size scaling
-\thefontsize [size] \thefontscale [factor] % current font size
-
-\inspic file.ext % insert a picture, extensions: jpg, png, pdf
-\table {rule}{data} % macro for the tables like in LaTeX
-
-\fnote {text} % footnote (local numbering on each page)
-\mnote {text} % note in the margin (left or right by page number)
-
-\hyperlinks {color-in}{color-out} % PDF links activate as clickable
-\outlines {level} % PDF will have a table of contents in the left tab
-
-\magscale[factor] % resize typesetting, line/page breaking unchanged
-\margins/pg format (left, right, top, bottom)unit % margins setting
-
-\report \letter \slides % style declaration macros
+\def\ttref#1'{\ea\~\ea`\csname#1\endcsname`}
+
+\begtt \typosize[9/11]\adef&{\kern.25em}\adef~#1'{\ea\~\ea`\csname#1\endcsname`}
+~tit' Title (terminated by end of line)
+~chap' Chapter Title (terminated by end of line)
+~sec' Section Title (terminated by end of line)
+~secc' Subsection Title (terminated by end of line)
+
+~maketoc' % table of contents generation
+~ii' item1,item2 % insertion the items to the index
+~makeindex' % the index is generated
+
+~label' [labname] % link target location
+~ref' [labname] % link to the chapter, section, subsection, equation
+~pgref' [labname] % link to the page of the chapter, section, ...
+
+~caption'/t % a numbered table caption
+~caption'/f % a numbered caption for the picture
+~eqmark' % a numbered equation
+
+~begitems' % start a list of the items
+~enditems' % end of list of the items
+~begblock' % start a block of text
+~endblock' % end of block of text
+~begtt' % start a verbatim text
+~endtt' % end verbatim text
+~activettchar' X % initialization character X for in-text verbatim
+~code' % another alternative for in-text verbatim
+~verbinput' % verbatim extract from the external file
+~begmulti' num % start multicolumn text (num columns)
+~endmulti' % end multicolumn text
+
+~cite' [labnames] % refers to the item in the lits of references
+~rcite' [labnames] % similar to \cite but [] are not printed.
+~sortcitations' ~shortcitations' ~nonumcitations' % cite format
+~bib' [labname] % an item in the list of references
+~usebib'/? (style) bib-base % direct using of .bib file, ? in {s,c}
+
+~load' [filenames] % loadaing macro files
+~fontfam' [FamilyName] % selection of font family
+~typosize' [font-size/baselineskip] % size setting of typesetting
+~typoscale' [factor-font/factor-baselineskip] % size scaling
+~thefontsize' [size] ~thefontscale' [factor] % current font size
+
+~inspic' file.ext % insert a picture, extensions: jpg, png, pdf
+~table' {rule}{data} % macro for the tables like in LaTeX
+
+~fnote' {text} % footnote (local numbering on each page)
+~mnote' {text} % note in the margin (left or right by page number)
+
+~hyperlinks' {color-in}{color-out} % PDF links activate as clickable
+~outlines' {level} % PDF will have a table of contents in the left tab
+
+~magscale'[factor] % resize typesetting, line/page breaking unchanged
+~margins'/pg format (left, right, top, bottom)unit % margins setting
+
+~report' ~letter' ~slides' % style declaration macros
\endtt
+\sec API for macro writers
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+All \TeX/ primitives and almost all \OpTeX/ macros are accesible by two
+names: `\foo` (public or user name space) and `\_foo` (private name space).
+For example `\hbox` and `\_hbox` means the same \TeX/ primitive. More about
+it is documented in section~\ref[prefixed].
+
+If this manual refers `\foo` then `\_foo` equivalent exists too. For example,
+we mention the `\addto` macro below. The `\_addto` equivalent exists too, but it
+is not explicitly mentioned here. If we refer only `\_foo` then its public
+equivalent does not exist. For example, we mention the `\_codedecl` macro below, so
+this macro is not available as `\codedecl`.
+
+If you are writing a document or macros specific for the document, then use
+simply user namespace (`\foo`). If you are writing more general macros,
+then use private namespace (`\_foo`), but you should declare your own namespace
+by \~`\_namespace` macro and you have to follow the naming discipline described in
+section~\ref[pkg-namespace].
+
+The alphabetically sorted list of macros typically usable for macro writers follows.
+More information about such macros can be found in the technical documentation.
+You can use hyperlinks here in order to go to the appropriate place of the technical
+documentation.
+
+\medskip \noindent
+\^`\addto`` \macro{<text>}` adds <text> at the end of `\macro` body.\nl
+\^`\adef` `<char>{<body>}` defines <char> active character with meaning <body>.\nl
+\^`\afterfi` `{<text>}<ignored>\fi` expands to `\fi<text>`.\nl
+\^`\bp`` {<dimen expression>}` expands \TeX/ dimension to decimal number in `bp` without unit.\nl
+\~`\_codedecl`` <sequence> {<info>}` is used at beginning of macro files.\nl
+\~`\colordef`` \macro {<mix of colors>}` declares `\macro` as color switch.\nl
+\^`\cs` `{<string>}` expands `\<string>`.\nl
+\~`\_doc` `...` \~`\_cod` encloses documenation text in the macro code.\nl
+\^`\eoldef`` \macro #1{<body>}` defines `\macro` with parameter separated to end of line.\nl
+\~`\_endcode` closes the part of macro code in macro files.\nl
+\~`\_endnamespace` closes name space declared by \~`\_namespace`.\nl
+\~`\eqbox`` [<label>]{<text>}` creates `\hbox{<text>}` with common width across whole document.\nl
+\^`\expr`` {<expression>}` expands to result of the <expression> with decimal numbers.\nl
+\~`\fontdef`` \f {<font spec.>}` declares `\f` as font switch.\nl
+\~`\fontlet` `\fa=\fb <sizespec.>` declares `\fa` as the same font switch
+ like `\fb` at given <sizespec.>.\nl
+\^`\foreach` `<list>\do <parameters>{<what>}` is exapandable loop over <list>.\nl
+\^`\foreachdef` `\macro <parameters>{<what>}` declares expandable `\macro` as loop over <list>.\nl
+\^`\fornum` `<from>..<to>\do {<what>}` is expanadable loop with numeric variable.\nl
+\^`\ignoreit` `<one>`, \^`\ignoresecond` `<one><two>`, \^`\usesecond` `<one><two>` ignores parameters.\nl
+`\expandafter` \^`\ignorept` `\the<dimen>` expands to decimal number <dimen> without `pt`.\nl
+\~`\isempty`, \~`\istoksempty`, \~`\isequal`, \~`\ismacro`, \~`\isdefined`, \~`\isinlist`
+\~`\isfile`, \~`\isfont` do various tests. Example: \~`\isinlist\list{<text>}\iftrue` does
+ `\iftrue` if <text> is in `\list`.\nl
+\^`\isnextchar`` <char>{<text1>}{<text2>}` performs <text1> if next
+ character is <char>, else <text2>.\nl
+\~`\kv` `{<key>}` expands to value when key-value parameters are used.\nl
+\^`\loop` `...` \^`\repeat` is classical Plain \TeX/ loop.\nl
+\^`\mathstyles`` {<math list>}` enables to create macros dependent on current math style.\nl
+\~`\_namespace`` {<pkg>}` declares name space used by package writers.\nl
+\^`\newcount`, \^`\newdimen` etc. are classical Plain \TeX/ allocators.\nl
+\^`\newif` `\iffoo` declares boolean `\iffoo` as in Plain \TeX/.\nl
+\^`\_newifi` `\_iffoo` declares boolean `\_iffoo`.\nl
+\^`\opinput`` {<filename>}` reads file like `\input` but with standard catcodes.\nl
+\^`\optdef`` \macro [<opt-default>] <parameters>{<body>}` defines `\macro` with [opt.parameter].\nl
+\^`\opwarning` `{<text>}` prints <text> to the terminal and .log file as warning.\nl
+\~`\private`` <sequence> <sequence> ... ;` declares <sequence>s for private name space.\nl
+\~`\public`` <sequence> <sequence> ... ;` declares <sequence>s for public name space.\nl
+\~`\readkv` `\macro` reads parameters from `\macro` in key-value format.\nl
+\^`\replstring`` \macro{<stringA>}{<stringB>}` replaces all <stringA> to <stringB> in `\macro`.\nl
+\^`\sdef` `{<string>}<parameters>{<body>}` behaves like `\def\<string><parameters>{<body>}`.\nl
+\^`\setctable` and \^`\restorectable` manipulate with stack of catcode tables.\nl
+\^`\slet` `{<stringA>}{<stringB>}` behaves like `\let\<stringA>=\<stringB>`\nl
+\^`\sxdef` `{<string>}<parameters>{<body>}` behaves like `\xdef\<string><parameters>{<body>}`.\nl
+\^`\trycs`` {<string>}{<text>}` expands `\<string>` if it is defined else expands <text>.\nl
+\^`\wlog`` {<text>}` writes <text> to .log file.\nl
+\^`\wterm`` {<text>}` writes <text> to the terminal and .log file.\nl
+\^`\xargs`` <what> <token> <token> ... ;` repeats <what><token> for each <token>.\nl
+\unpenalty\unskip
\sec Compatibility with Plain \TeX/
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1831,16 +1910,16 @@ put it as the first command in your document:
All macros of Plain \TeX/ are re-written in \OpTeX/. Common macros should
work in the same sense as in original Plain \TeX. Internal control sequences
like `\p@` or `\f@@t` are removed and mostly replaced by control sequences
-prefixed by `_` (like `\_this`). If you need to use basic set of old Plain
+prefixed by `_` (like `\_this`). If you need to use the basic set of old Plain
\TeX/ control sequences like `\p@` (for example you are reading an old macro file),
use `\load[plain-at]`.
All primitives and common macros have two
control sequences with the same meaning: in prefixed and unprefixed form.
-For example `\hbox` is equal to `\_hbox`.
+For example `\hbox` is equal to `\_hbox`.
Internal macros of \OpTeX/ have and use only prefixed form. User should use
-unprefixed forms, but prefixed forms are accessible too, because the `_` is
-set as a letter category code globally (in macro files and in users document too). User
+unprefixed forms, but prefixed forms are accessible too because the `_` is
+set as a letter category code globally (in macro files and users document too). User
should re-define unprefixed forms of control sequences without worries that
something internal will be broken (only the sequence `\par` cannot be
re-defined without change of internal \TeX/ behavior because it is
@@ -1848,7 +1927,7 @@ hard-coded in \TeX/, unfortunately).
\new
The Latin Modern 8bit fonts instead Computer Modern 7bit fonts are
-preloaded in the format, but only few ones. The full family set is ready to
+preloaded in the format, but only a few ones. The full family set is ready to
use after the command \~`\fontfam[LMfonts]` which reads the fonts in OTF
format.
@@ -1859,7 +1938,7 @@ doesn't set any macro as `\outer`. Macros like `\TeX`, `\rm` are defined as
\new
The text accents macros `\"`, `\'`, `\v`, `\u`, `\=`, `\^`, `\.`, `\H`,
-`\~`, \code{\\`}, `\t` are undefined\fnote
+`\~`, \code{\\`}, `\t` are undefined\fnote
{The math accents macros like `\acute`, `\bar`, `\dot`, `\hat` still work.}
in \OpTeX/. Use real
letters like á, ř, ž in your source document instead of these old accents macros.
@@ -1867,14 +1946,14 @@ If you really want to use them, you can initialize them by the \^`\oldaccents`
command. But we don't recommend it.
\new
-The default paper size is not set as letter with 1\,in margins but as A4 with
-2.5\,cm margins. You can change it, for example by
+The default paper size is not set as the letter with 1\,in margins but as A4 with
+2.5\,cm margins. You can change it, for example by
\^`\margins/1 letter (1,1,1,1)in`. This example sets the classical Plain \TeX/
page layout.
\new
-The origin for typographical area is not at top left 1\,in 1\,in coordinates
-but at top left paper corner exactly. For example, `\hoffset` includes directly left
+The origin for the typographical area is not at the top left 1\,in 1\,in coordinates
+but at the top left paper corner exactly. For example, `\hoffset` includes directly left
margin.
The tabbing macros `\settabs`\iindex{settabs} and `\+` (from Plain \TeX/)
@@ -1882,13 +1961,12 @@ are not defined in \OpTeX/ because they are obsolete. But you can use the
\ulink[http://petr.olsak.net/optex/optex-tricks.html\#tabs]{\OpTeX/ trick 0021}
if you really need such feature.
-The `\sec` macro is reserved to sections but original Plain \TeX/ declares this
+The `\sec` macro is reserved for sections but original Plain \TeX/ declares this
control sequence for math secans.
\enddocument
-
\sec Dependencies
%%%%%%%%%%%%%%%%%
@@ -1896,7 +1974,7 @@ When `optex.fmt` is created then the following must be installed
\begitems
* The `\luatex` program.
-* Latin moder font metrics
+* Latin moder font metrics
`ec-lmr10.tfm`, `ec-lmbx10.tfm`, `ec-lmri10.tfm`,
`ec-lmbxi10.tfm`, `ec-lmtt10.tfm` (for basic text font initializing).
* Computer rmodern font metrics
@@ -1906,27 +1984,27 @@ When `optex.fmt` is created then the following must be installed
* The file `hyphen.tex` form plain \TeX.
\enditems
-When `\fontfam` is used then the ability of Unicode fonts reading
-is initialized using Lua scripts: `ltluatex.lua` (from \LaTeX/ package),
+When `\fontfam` is used then the ability of Unicode fonts reading
+is initialized using Lua scripts: `ltluatex.lua` (from \LaTeX/ package),
`luaotfload-main.lua` and more 20 similar `.lua` files (from `luaotfload`
package).
When a font family is needed using `\fontfam` then such font family must be
-installed in the OTF format otherwise the `\fontfam` command is ignored
+installed in the OTF format otherwise, the `\fontfam` command is ignored
(only warning about no-existent font family is printed).
-When `\cslang`, `\delang` etc. commands are used in the document
-then the hyphenation patterns of relevant languages must be installed.
+When `\cslang`, `\delang` etc. commands are used in the document
+then the hyphenation patterns of relevant languages must be installed.
Moreover the Lua script `luatex-hyphen.lua` (from `hyph-utf8` package)
-and data file `language-dat.lua` (from `hyphen-base` package)
+and data file `language-dat.lua` (from `hyphen-base` package)
must be installed.
-When `\usebib` command is used then `librarian.tex` file
+When `\usebib` command is used then `librarian.tex` file
(from the `librarian` macro package) must be installed.
-When `\morecolors` command is used then `x11nam.def` file
+When `\morecolors` command is used then `x11nam.def` file
(from the `xcolor` package) must be installed.
-When `\lorem` command is used then `lipsum.ltd.tex` file
+When `\lorem` command is used then `lipsum.ltd.tex` file
(from the `lipsum` package) must be installed.
diff --git a/macros/luatex/optex/pkg/emoji.opm b/macros/luatex/optex/pkg/emoji.opm
new file mode 100644
index 0000000000..e14579135f
--- /dev/null
+++ b/macros/luatex/optex/pkg/emoji.opm
@@ -0,0 +1,55 @@
+% This is the macro package used by OpTeX, see http://petr.olsak.net/optex
+
+% emoji.opm, Petr Olšák <petr@olsak.net>, 2021
+
+% Emoji allows us to use colored emoticons as characters from the font.
+% The \emoji{<name>} command is available, see texdoc emoji (from
+% corresponding LaTeX package).
+
+\_namespace{emoji}
+
+\_codedecl \.emoji {Emotikons from the TwemojiMozilla.ttf font}
+
+ \_doc -----------------------------
+ Font TwemojiMozilla.ttf is loaded. The font feature +colr is needed.
+ The `\emojifont` is implemented using `\_resizethefont` as size-dependent.
+ \_cod -----------------------------
+
+\_initunifonts
+\_font\.tenemoji=[TwemojiMozilla]:+colr
+\_def\.emojifont{\.tenemoji\_resizethefont}
+\_def\.emoji#1{{\.emojifont\_trycs{_emoji_:#1}{\_opwarning{uknown emoji "#1"}}}}
+
+ \_doc -----------------------------
+ The mapping from names or aliases to the codes are declared in the
+ `emoji-table.def` file from the \LaTeX/ package emoji.
+ \_cod -----------------------------
+
+\_bgroup
+ \_def\__emoji_def #1 #2#3#4#5#6{% #1=n, #2=data, #3=name, #4=aliases, #5=descr, #6=versi
+ \_sxdef{_emoji_:#3}{#2}%
+ \_ifx^#4^\_else \_foreach #4, \_do ##1, {\_global\_slet{_emoji_:##1}{_emoji_:#3}}\_fi
+ }
+ \_def\ProvidesExplFile#1#2#3#4{}
+ \_def\__emoji_group#1 #2{}
+ \_def\__emoji_subgroup#1 #2{}
+ \_catcode`\#=12
+ \_input {emoji-table.def}% defining emoji names
+\_egroup
+
+\_nspublic \emoji \emojifont ;
+
+\_endnamespace
+
+\_endcode
+
+\begtt % ----------------------- Testing file ---------------------------
+\load[emoji]
+We can use \emoji{grinning} or directly: {\emojifont 😀} too.
+\bye
+\endtt % ----------------------------------------------------------------
+
+More than 3000 emoticons are available.
+
+If you want black-and-white pictograms, see another font:
+\url{http://petr.olsak.net/optex/optex-tricks.html\#fawesome}
diff --git a/macros/luatex/optex/pkg/vlna.opm b/macros/luatex/optex/pkg/vlna.opm
new file mode 100644
index 0000000000..4db22aa0cc
--- /dev/null
+++ b/macros/luatex/optex/pkg/vlna.opm
@@ -0,0 +1,193 @@
+% This is the macro package used by OpTeX, see http://petr.olsak.net/optex
+
+% vlna.opm, Petr Olšák <petr@olsak.net>, 2021
+
+% Vlna prevents breaks in spaces after single-letter prepositions, after (or
+% before) degrees, and between value and SI units. It enables or disables
+% split hyphens too. All folks are done at the postprocessing phase before TeX splits
+% the typesetting material into the paragraph lines.
+
+% vlna.opm is based on Lua code from the package `luavlna` (by Michal Hoftich
+% and Miro Hrončok). See `texdoc luavlna` or end of this file for more information.
+
+\_namespace{vlna}
+
+\_codedecl \.singlechars {Preventing single-chars prepositions and more <2021-01-08>}
+
+ \_doc -----------------------------
+ We declare new attribute, register callbacks, and define Lua functions that
+ point to Lua functions from `luavlna.lua` package.
+ We need this package installed.
+
+ We need not `require ltluatex` because `luatexbase.callbaks` are defined
+ in the `optex.lua` file and it is part of the OpTeX format.
+ \_cod -----------------------------
+
+\_newattribute \.preventsinglestatus
+
+\_directlua{%
+ luavlna = require "luavlna"
+
+ luatexbase.add_to_callback("pre_linebreak_filter", luavlna.preventsingle,"LuaVlna")
+ luatexbase.add_to_callback("hyphenate", luavlna.split_hyphens, "allow hyphen breaks")
+ luavlna.preventsingleid = \_the\_attributealloc
+
+ set_singlechars = function(lang,chars)
+ if (lang == "") then return nil end
+ local utf_gmatch = unicode.utf8.gmatch
+ local chars = chars or ""
+ local singlechars = {}
+ for char in unicode.utf8.gmatch(chars,"(\_csstring\%a)") do
+ singlechars[char] = true
+ end
+ luavlna.singlechars(lang,singlechars)
+ end
+
+ set_compounds = function(lang, compounds)
+ if (lang == "") then return nil end
+ local c = compounds:explode(",+") % match multiple colons as one
+ local compoundstable = {}
+ for _, compound in pairs(c) do
+ compoundstable[compound] = true
+ end
+ luavlna.initials(lang, compoundstable)
+ end
+
+ set_main_language = function(lang)
+ if (lang == "") then return nil end
+ luavlna.set_main_language(tonumber(lang))
+ end
+
+ enable_split_hyphens = function(lang)
+ if (lang == "") then return nil end
+ luavlna.split_hyphen_langs[tonumber(lang)] = true
+ end
+
+ disable_split_hyphens = function(lang)
+ if (lang == "") then return nil end
+ luavlna.split_hyphen_langs[tonumber(lang)] = nil
+ end
+}
+
+ \_doc -----------------------------
+ We need not `require luavlna-langno` because of the conversion from
+ language name to the `\language` number is done by the macro
+ `\.langtonum``<sequence>={<langname>}` defined here.
+ It does `\def<sequence>{<langnumber>}` or `\def\sequence{}` if <langname>
+ is unknown. The <langname> is case insensitive and these names are
+ declared in the hyphen-lan.opm file, section 2.37.2 in OpTeX documentation.
+ \_cod -----------------------------
+
+\_def\.langtonum#1=#2{\_lowercase{\_edef#1{\_trycs{_ulan:#2}{}}}%
+ \_ifx#1\_empty \_opwarning{vlna: unknown language "#2", ignored}%
+ \_else \_edef#1{\_the\_cs{_#1Patt}}\_fi}
+
+ \_doc -----------------------------
+ `\singlechars``{<langname>}{<prepositions>}` sets <prepositions> for
+ given language.\nl
+ `\compoundinitials``{<langname>}{<comma-separated-list>}` sets
+ compound characters from the list for given language.
+ \_cod -----------------------------
+
+\_def\.singlechars#1#2{\.langtonum\.l={#1}\_directlua{set_singlechars("\.l","#2")}}
+\_def\.compoundinitials#1#2{\.langtonum\.l={#1}\_directlua{set_compounds("\.l","#2")}}
+
+ \_doc -----------------------------
+ `\enablesplithyphens` and `\disablesplithyphens` are dependent on the language.
+ \_cod -----------------------------
+
+\_def\.enablesplithyphens#1{\.langtonum\.l={#1}\_directlua{enable_split_hyphens("\.l")}}
+\_def\.disablesplithyphens#1{\.langtonum\.l={#1}\_directlua{disable_split_hyphens("\.l")}}
+
+ \_doc -----------------------------
+ By default, the language-dependent features of the `luavlna` depend on
+ the current `\language` value, i.e. on the currently selected hyphenation.
+ `\preventsinglelang``{<langname>}` activates the language-dependent
+ features regardless of the current `\language` value.
+ \_cod -----------------------------
+
+\_def\.preventsinglelang#1{\.langtonum\.l={#1}\_directlua{set_main_language("\.l")}}
+
+ \_doc -----------------------------
+ Switching on/off `luavlna` preposition features should be done using attribute
+ setting. It will allow you to switch them on/off in the middle of the paragraph.
+ \_cod -----------------------------
+
+\_def\.preventsingleon{\.preventsinglestatus=2 }
+\_def\.preventsingleoff{\.preventsinglestatus=1 }
+
+ \_doc -----------------------------
+ Switching on/off the other `luavlna` features is implemented only by
+ setting a special `luavlna` variable.
+ \_cod -----------------------------
+
+\_def\.preventsingledebugon{\_directlua{luavlna.debug(true)}}
+\_def\.preventsingledebugoff{\_directlua{luavlna.debug(false)}}
+
+\_def\.nopredegrees{\_directlua{luavlna.no_predegrees = true}}
+\_def\.nosufdegrees{\_directlua{luavlna.no_sufdegrees = true}}
+\_def\.nounits{\_directlua{luavlna.no_unit = true}}
+\_def\.noinitials{\_directlua{luavlna.no_initials = true}}
+
+\_nspublic
+ \singlechars % declare single-letter prepositions per language
+ \compoundinitials % declare compound characters per language
+ \enablesplithyphens % enable split hyphens per language
+ \disablesplithyphens % disable split hyphens per language
+ \preventsinglelang % declare main language independent of current hyphenation
+ \preventsingleon % switch on the prepositions feature (default)
+ \preventsingleoff % switch off the prepositions feature
+ \nopredegrees % switch off pre-degrees feature (default is on)
+ \nosufdegrees % switch off post-degrees feature (default is on)
+ \nounits % switch off SI units feature (default is on)
+ \noinitials % switch off initials feature (default is on)
+ \preventsingledebugon % switch on debug printing (purple squares)
+ \preventsingledebugoff % switch off debug printing (default)
+ ;
+
+\_endnamespace
+
+% Default values:
+\singlechars{Czech}{AIiVvOoUuSsZzKk}
+\singlechars{Slovak}{AIiVvOoUuSsZzKk}
+\compoundinitials{Czech}{Ch,CH} % doesn't work in version v0.1g of luavlna
+\enablesplithyphens{Czech}
+\enablesplithyphens{Slovak}
+% + predegrees, sufdegrees, units, initials (they are independent of language value)
+
+\_endcode
+
+What should be done automatically after `\load[vlna]`:
+
+ Prepositions feature: v lese -> v~lese, (A taky zde) -> (A~taky zde).
+
+ Pre-degrees feature: Mgr. Bown -> Mgr.~Brown.
+
+ Post-degrees feature: John Brown, PhD. -> John Brown,~PhD.
+
+ SI units feature: 42 cm -> 42~cm (with thin space)
+
+ Initials feature: J. Brown -> J.~Brown
+
+ Split hyphens feature: propan-butan -> propan\discretionary{-}{-}{-}butan.
+
+The prepositions and split-hyphens features are language-dependent, the other
+features are language-independent.
+
+A testing file:
+
+\begtt
+\load[vlna]
+\fontfam[LMfonts]
+\cslang
+\preventsingledebugon
+
+Mgr. J. Brown, PhD., zkusí v lese (A taky v závorce) zkontrolovat rozměr 42 m.
+Obejde se bez propan-butanových lahví.
+\bye
+\endtt
+
+Note, that versinon v0.1g 2020-06-02 of the luavlna package is an
+experimental code. It seems that `\compoundinitials` does not work in this
+version and when you use `\hbox{-}` in a paragraph when
+`\enablesplithyphens` then LuaTeX hangs.
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index fa20a9722f..f00f5a76a2 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -46,7 +46,6 @@ $mirrors = {
},
'Korea' => {
'http://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
- 'http://ftp.ktug.org/tex-archive/' => 1,
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index cde42bf327..accc12f435 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2020
-depend revision/57404
+depend revision/57416
name 00texlive.image
category TLCore
-revision 57400
+revision 57410
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=13708
+runfiles size=13792
.mkisofsrc
autorun.inf
texmf-dist/README
@@ -4323,7 +4323,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 57385
+revision 57406
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -10454,15 +10454,15 @@ catalogue-version 0.2
name albatross
category Package
-revision 57103
+revision 57416
shortdesc Find fonts that contain a given glyph
longdesc This is a command line tool for finding fonts that contain a
longdesc given (Unicode) glyph. It relies on Fontconfig.
depend albatross.ARCH
-containersize 2786568
-containerchecksum 809b1062cf7bb27690d62cc60b378e1ac6758cff7938fe1f19ad44e255c6606c7d0a718c45b7d2e0b88b34749c701a9e19beed0e30d827be883e43318706eb99
-doccontainersize 97724
-doccontainerchecksum 3b702f383079734c2e6063f537bd463660beb8a9121e8969f4ad2bf4912ea14ec18161767861b5e50b1887b614a1ae28cf68dfb8984d44c2d9455a501fde5ebd
+containersize 2828456
+containerchecksum 78f4df49c5d7e4bc942ee80e1e9e7282d3b90b00af2cb946c52fca223b224dbf26c385f81d7a5c05e27e8e52b8de7c1197667e6ee699f8e8834d0d8739bc5f83
+doccontainersize 99644
+doccontainerchecksum 3501da3f5dd2ed9830029f4880e59ec6a837ae6063fc7abf6b3d2cee0357c2fab2c7747676a0a1d719e68cb512e680fd0a2eb77ba09993f86f5e32ae5f8e40bc
docfiles size=42
texmf-dist/doc/man/man1/albatross.1
texmf-dist/doc/man/man1/albatross.man1.pdf
@@ -10470,11 +10470,11 @@ docfiles size=42
texmf-dist/doc/support/albatross/albatross-manual.pdf details="Package documentation"
texmf-dist/doc/support/albatross/albatross-manual.tex
texmf-dist/doc/support/albatross/version.tex
-srccontainersize 4600
-srccontainerchecksum e1ef67131a15a03e314cc4c5a5d3da9f4ce2ff632385a54b1fd89fcbfd43777db6bb991940cced49f02afe003cc0c91d529f9ef6a26e02c3b69d5478a24763ca
+srccontainersize 4824
+srccontainerchecksum fadc69184b89a4d664f9fc8b3d7d18ca3bf9cfc49c62ada68f7b265cf3cc9b196e06b086058bce2f842200f754e8c5f1eb16b5c4f17a9cfa00166d3ae64ceef1
srcfiles size=2
- texmf-dist/source/support/albatross/albatross-0.2.0-src.zip
-runfiles size=755
+ texmf-dist/source/support/albatross/albatross-0.3.0-src.zip
+runfiles size=766
texmf-dist/scripts/albatross/albatross.jar
texmf-dist/scripts/albatross/albatross.sh
catalogue-contact-bugs https://gitlab.com/islandoftex/albatross/-/issues
@@ -10483,7 +10483,7 @@ catalogue-contact-support https://gitter.im/Island-of-TeX/community
catalogue-ctan /support/albatross
catalogue-license bsd3
catalogue-topics unicode font-util
-catalogue-version 0.2.0
+catalogue-version 0.3.0
name albatross.aarch64-linux
category Package
@@ -10566,15 +10566,6 @@ containerchecksum de1af91276c34cd755d5a71b26c57ddf94816b492d893896bc7c53d86e7047
binfiles arch=i386-solaris size=1
bin/i386-solaris/albatross
-name albatross.win32
-category Package
-revision 57104
-shortdesc win32 files of albatross
-containersize 680
-containerchecksum 27c7c8a03986f52164b8d20d3f8479049b2e0a1db255ca456f9c9d9800e1f1e7ed8189413c0dfdf28072e313f0c12657b8b4ba8663b935873da8825e6b56eba5
-binfiles arch=win32 size=1
- bin/win32/albatross.exe
-
name albatross.x86_64-cygwin
category Package
revision 57089
@@ -96752,16 +96743,16 @@ catalogue-topics notes editorial
name easybook
category Package
-revision 57403
+revision 57413
shortdesc Typeset Chinese books or notes
relocated 1
longdesc Easybook is a minimalist style template based on the ctexbook
longdesc book document class.
-containersize 9384
-containerchecksum ce03684efbbef1481235faa3535571869193e3fa5fdf951076dbb8402ba0b145cd39a33cc6471eea42efac8d7bbf40e1b7357136f11f58e52499c73304a1c0a7
-doccontainersize 511452
-doccontainerchecksum 2c235b56f2c0923c51459be0fc9027ef031fc1f1091292c6d03489a9653ba3b2d7197074dcb2b6b4dae6afb05c77cab9dd7f0d44e945ff56a04e1be7446dd46d
-docfiles size=144
+containersize 9844
+containerchecksum 04ca53bcba4eb42071dd776f08aafec8c27835dea3496bbd05ef3b875d2bc9aa214537c43f1726919371bd73dcdba83854e0f4af646ab7946aaef28dd2ff1e02
+doccontainersize 524880
+doccontainerchecksum fe060501bda581e7dcbb6c2d687ab2c50faf4b29873bb57c5e89576f0b9cec27a17f05052b5ad390fc27bc35308d4341d7dbec2272c4fdb3f89df89c589e6dce
+docfiles size=148
RELOC/doc/latex/easybook/README.md details="Readme"
RELOC/doc/latex/easybook/appendix.tex
RELOC/doc/latex/easybook/chapter1.tex
@@ -96773,14 +96764,14 @@ docfiles size=144
RELOC/doc/latex/easybook/easybook.tex
RELOC/doc/latex/easybook/preface.tex
RELOC/doc/latex/easybook/refs.bib
-runfiles size=10
+runfiles size=11
RELOC/tex/latex/easybook/easybook.cls
catalogue-also ctex
catalogue-contact-repository https://gitee.com/TeX-doc/easybook
catalogue-ctan /macros/latex/contrib/easybook
catalogue-license cc-by-4
catalogue-topics book-pub class chinese expl3
-catalogue-version 1.21b
+catalogue-version 1.21c
name easyfig
category Package
@@ -104808,7 +104799,7 @@ catalogue-version 1.1
name erewhon
category Package
-revision 55705
+revision 57410
shortdesc Font package derived from Heuristica and Utopia
relocated 1
longdesc Erewhon is based on the Heuristica package, which is based in
@@ -104818,18 +104809,18 @@ longdesc styles (proportional, inferior, numerator, denominator) and
longdesc superior letters. The size is 6% smaller than Heuristica,
longdesc matching that of UtopiaStd.
execute addMap erewhon.map
-containersize 2425440
-containerchecksum dc4811791f301c3a31528a0423278f793590a72631769c08433c37d11377c579d3deeb721a8dc343fffd7738c1bb7995c4c7afae690660e846f16fb987e53b92
-doccontainersize 355328
-doccontainerchecksum 31275b90601048afb975b4ec3ce1bb4c74ffc6141bc35612bf77bc0b13d79d2382b5adf988a0988d580086833adb806f4a3f1370cb2fcb21333e57ae1a53af24
-docfiles size=237
+containersize 2515892
+containerchecksum b2e1725408ce277bc2fa5bdc53401b90adbf97eaff93f68f058ac3dacb064463fd6203647fc48149565331795a9c7abbdac2348a986803e5afbea5f1b1f6d4b1
+doccontainersize 368816
+doccontainerchecksum cd47e7101ebc455914b8007215a58a79484b917099fe751da26091a38bc4c0990fd66d733e86ed51e5295608f8623a5584e55b30113ff6a6cebe02063a70a5f9
+docfiles size=254
RELOC/doc/fonts/erewhon/FontLog.txt
RELOC/doc/fonts/erewhon/OFL-FAQ.txt
RELOC/doc/fonts/erewhon/OFL.txt
RELOC/doc/fonts/erewhon/README details="Readme"
RELOC/doc/fonts/erewhon/erewhon-doc.pdf details="Package documentation"
RELOC/doc/fonts/erewhon/erewhon-doc.tex
-runfiles size=2682
+runfiles size=2759
RELOC/fonts/afm/public/erewhon/Erewhon-Bold.afm
RELOC/fonts/afm/public/erewhon/Erewhon-BoldItalic.afm
RELOC/fonts/afm/public/erewhon/Erewhon-BoldSlanted.afm
@@ -104841,169 +104832,162 @@ runfiles size=2682
RELOC/fonts/afm/public/erewhon/erewMI.afm
RELOC/fonts/afm/public/erewhon/erewMR.afm
RELOC/fonts/enc/dvips/erewhon/erewhontlf-ot2.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_2h4ezz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_2kgcbe.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_2px4pm.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_2ttnbr.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_2vfnrz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_2zzglv.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_3b4drr.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_3elzbu.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_3nkbzs.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_3om7o5.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_43wmo6.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_44vtia.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_45ihyl.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_45lvyq.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_4s5f2s.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_5rdrfx.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_5zxumb.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_6uafpb.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_7j7rwe.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_7pzgim.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_7qbp4f.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_a2ijma.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_a4kjr4.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_aapc7z.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_acdonb.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_alti6e.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ap3btm.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_arprdz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_aswkga.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_auximm.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_avxsqu.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_bgu3lr.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_bnrjsn.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_cimwg7.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_cqlwfi.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_cwbecz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_cwyvmt.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_d6faof.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_difcna.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_diyaes.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_dn3zcw.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_25oktk.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_2jsbza.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_2lssnc.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_2objs7.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_2qulls.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_2sunpf.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_36pkgq.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_3cc3dt.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_3ss64c.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_3xl2sl.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_4j4ux5.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_4qs3ad.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_53w3xs.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_546xgo.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_5eo37n.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_5iiyxb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_5kulil.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_6etwti.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_6kzn42.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_74cce3.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_74ksak.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_7ajsnx.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_7lebnu.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_7xxsa3.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_7zfl2i.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_7zlfno.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_a27mgr.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_a7a6j7.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_acvwor.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_adckrx.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ahzhtu.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_aluvmp.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_amccbu.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_amjics.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_awhpzb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_azbcfh.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_azqpxw.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_c73i2u.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_cmujr7.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_cqdyjt.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_cxj5nb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_cyj7pa.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_d6afaq.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_dkbnkq.enc
RELOC/fonts/enc/dvips/erewhon/zut1_dnhvn3.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_dv3mk6.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_e77qtc.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ejltpg.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ekq2fx.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_eu4f6g.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_eulyhg.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_evduy3.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_f3qrga.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_fhck2l.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_flawok.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_fmm3ij.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_g5zjdm.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_g7cqph.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_gc72xz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_gohf2a.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_gom6la.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_dpee64.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_dq4c7f.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_dru2ao.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_dwvmxx.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_e4qrg7.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_eajfvl.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_eazsup.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ecrwth.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_erihhu.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_etc5hm.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_fojqdn.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_fomwqp.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_fp3vw2.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_fqlf3s.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_gagfjo.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_gbmzbk.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_gm2ao2.enc
RELOC/fonts/enc/dvips/erewhon/zut1_gqji7z.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_gsknjr.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_guxxsa.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_guyry6.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_hbj2kj.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_hljml5.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_i4xinu.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_i7vlzw.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ibngfe.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_iih2z6.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_iioipf.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_itswie.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ixswvx.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_j6pqeu.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_jjyu3n.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_gxqdb2.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_gzlvot.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_hhrib2.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_hl634h.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_i3xnrn.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_i6k2d2.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_igmc4g.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ijhs6t.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_irfza6.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_isszvh.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_iszlz3.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ivciyi.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_izu75o.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_j6ua73.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_jdnyy6.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_jmwubr.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_jofyrj.enc
RELOC/fonts/enc/dvips/erewhon/zut1_jsdebf.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_k3wfh7.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_k5naq7.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kaj6yp.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ke4hra.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kfacq2.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kgxk7e.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_jyfbou.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_k3uyvf.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_kdakg5.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_knq7bi.enc
RELOC/fonts/enc/dvips/erewhon/zut1_kpjvx5.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kqpq7i.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kr7owi.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_krmfb2.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kusb63.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_kyhdzd.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_l2txil.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_lbxa52.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ldfvvz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_lfc333.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_lknn34.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_lku3zs.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_lzgimh.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_lzr7pz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_m37h6o.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_m3nnvz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_mhy7h5.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_kwgi2r.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_lefook.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ljsdwq.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_lkesvg.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_lql6bl.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_lxr6iw.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_m62wbz.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_mieo7u.enc
RELOC/fonts/enc/dvips/erewhon/zut1_mkqhoa.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_mwaz7t.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_mza5ex.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_n6sb7c.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_nosd3d.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ntfore.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_nyil2z.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_nzqzmy.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_o6jmxn.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_owr4hx.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_oxlhzq.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_p5bs7v.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_prrnsj.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_q3ctgn.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_q5l3se.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_q6m374.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_q6o7po.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_qduv2i.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_qr6pdo.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_qvhtbp.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_qyrste.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_r35fsd.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_rf456a.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_rlrhvn.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_rorgcs.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_rrs35b.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_rru6gy.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_rvwfgp.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_sawcbj.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_sawuiy.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_siihhb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_mmwqox.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_mno2dl.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_mqoft7.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_mxehrm.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ncwigg.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ncyh3k.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ndxvka.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_nhu5qm.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_nlk3tk.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_nmevy6.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_nrup2h.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ntuunb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_nwll5a.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_o4jtlp.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_odgoid.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_okacrk.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_orscbj.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_papffl.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_peef5q.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_pj2kv6.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ps4rne.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_psdthf.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_pux3en.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_qltwwe.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_qptrxz.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_qvbgtd.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_r3uc5w.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_r74hdq.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_rp5jpf.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_s5ndkw.enc
RELOC/fonts/enc/dvips/erewhon/zut1_sim7pz.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_stg3em.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_su4wdy.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_tjqwnw.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_t32gte.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_tmatie.enc
RELOC/fonts/enc/dvips/erewhon/zut1_totpyl.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_twhqtf.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_u22hib.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_ubwvkh.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_uimsyn.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_uofugq.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_upydia.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_tzgz6e.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ufk2cy.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_uft3lp.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_uhamxn.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ui2iqu.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_uk5nxi.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ul5nhk.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_umzzxg.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_uuvzxd.enc
RELOC/fonts/enc/dvips/erewhon/zut1_v2pu2l.enc
RELOC/fonts/enc/dvips/erewhon/zut1_vcw2hi.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_vkdxbd.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_vj42om.enc
RELOC/fonts/enc/dvips/erewhon/zut1_vlikpx.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_vwspja.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_wapm72.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_wjwjxt.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_vtfujz.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_wg4pgf.enc
RELOC/fonts/enc/dvips/erewhon/zut1_wrgbks.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_wyd53g.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_wznnjs.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_xarqe6.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_xbmmsr.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_xdsmvt.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_xfwnyy.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_x3bhkk.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_xd5tcn.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_xhc3k4.enc
RELOC/fonts/enc/dvips/erewhon/zut1_xlud6l.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_xwkviq.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_y46t2n.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_yicjml.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_yllr7z.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_z3cf52.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_zdof4l.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_zhuxl5.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_zk3pqy.enc
- RELOC/fonts/enc/dvips/erewhon/zut1_zt7jvb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_xsflzz.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_yjdtdu.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_ytd5fv.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_yx3dqr.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_zdrb2k.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_zhgadb.enc
+ RELOC/fonts/enc/dvips/erewhon/zut1_zx32l7.enc
RELOC/fonts/map/dvips/erewhon/erewhon.map
RELOC/fonts/opentype/public/erewhon/Erewhon-Bold.otf
RELOC/fonts/opentype/public/erewhon/Erewhon-BoldItalic.otf
@@ -105028,8 +105012,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-lf-t1.tfm
@@ -105049,8 +105036,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-osf-t1.tfm
@@ -105071,8 +105061,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tlf-t1.tfm
@@ -105086,8 +105079,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Bold-tosf-t1.tfm
@@ -105113,8 +105109,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-lf-t1.tfm
@@ -105134,8 +105133,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-osf-t1.tfm
@@ -105156,8 +105158,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tlf-t1.tfm
@@ -105171,8 +105176,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldItalic-tosf-t1.tfm
@@ -105198,8 +105206,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-lf-t1.tfm
@@ -105219,8 +105230,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-osf-t1.tfm
@@ -105241,8 +105255,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tlf-t1.tfm
@@ -105256,8 +105273,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-BoldSlanted-tosf-t1.tfm
@@ -105283,8 +105303,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-lf-t1.tfm
@@ -105304,8 +105327,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-osf-t1.tfm
@@ -105326,8 +105352,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tlf-t1.tfm
@@ -105341,8 +105370,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Italic-tosf-t1.tfm
@@ -105368,8 +105400,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-lf-t1.tfm
@@ -105389,8 +105424,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-osf-t1.tfm
@@ -105411,8 +105449,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tlf-t1.tfm
@@ -105426,8 +105467,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-Regular-tosf-t1.tfm
@@ -105453,8 +105497,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-lf-t1.tfm
@@ -105474,8 +105521,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-osf-t1.tfm
@@ -105496,8 +105546,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tlf-t1.tfm
@@ -105511,8 +105564,11 @@ runfiles size=2682
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-ly1.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t2a--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t2a.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t2b--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t2b.tfm
+ RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t2c--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-sc-t2c.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-t1--base.tfm
RELOC/fonts/tfm/public/erewhon/Erewhon-RegularSlanted-tosf-t1.tfm
@@ -105705,7 +105761,7 @@ runfiles size=2682
catalogue-ctan /fonts/erewhon
catalogue-license ofl lppl1.3
catalogue-topics font font-body font-multilingual font-cyrillic font-proportional font-serif font-otf font-type1 font-supp font-t1enc
-catalogue-version 1.111
+catalogue-version 1.112
name erewhon-math
category Package
@@ -195986,7 +196042,7 @@ catalogue-version 0.6a
name mlmodern
category Package
-revision 57399
+revision 57411
shortdesc A blacker Type 1 version of Computer Modern, with multilingual support
relocated 1
longdesc MLModern is a text and math font family with (La)TeX support,
@@ -195994,16 +196050,17 @@ longdesc based on the design of Donald Knuth's Computer Modern and the
longdesc Latin Modern project. It avoids the spindliness of most other
longdesc Type 1 versions of Computer Modern.
execute addMap mlm.map
-containersize 6895784
-containerchecksum 612c2117da248c571d59f91038e55f917aa507e5d48906b153a648e29b70482df36117b218e7be7fa1f3a64132645c46d7fed664dea7009d6f4b38a42cd835fb
-doccontainersize 36020
-doccontainerchecksum 1ac1b8abca95d11f1e794c4287da8d5fe0b7b374d2bfa811d6b4f71c5219cd298be2c31bc21f9a10d27030e30a0ae75233eb848f3449065ce5a0e83b7285602a
+containersize 7019984
+containerchecksum d97e1b6532757f581e7be3c83570a3db1fbc826cb6f7f15429a6a72fa4365a0e73e9661afb954aec58b7443ecd9441b76536f6bc0205fcf6ae828b4f53667353
+doccontainersize 33756
+doccontainerchecksum fd20e9941a8e927027a7f1a185c8824fdab7da6ce1c11563fb286fa5df70e28c54ad9cca339a435289df531077320950fe215d0f4d0ce3848f77cebcd32c25bd
docfiles size=16
RELOC/doc/fonts/mlmodern/LICENSE
RELOC/doc/fonts/mlmodern/README details="Readme"
RELOC/doc/fonts/mlmodern/mlmodern.pdf details="Package documentation"
RELOC/doc/fonts/mlmodern/mlmodern.tex
-runfiles size=3399
+runfiles size=3451
+ RELOC/fonts/map/dvips/mlmodern/mlm-substitute.map
RELOC/fonts/map/dvips/mlmodern/mlm.map
RELOC/fonts/tfm/public/mlmodern/cs-mlmb10.tfm
RELOC/fonts/tfm/public/mlmodern/cs-mlmbo10.tfm
@@ -196756,7 +196813,7 @@ runfiles size=3399
catalogue-ctan /fonts/mlmodern
catalogue-license lppl1.3c
catalogue-topics font font-cm font-body font-proportional font-mono font-serif font-sans font-maths font-type1 font-supp font-t1enc
-catalogue-version 1.0
+catalogue-version 1.1a
name mltex
category Package
@@ -254211,31 +254268,31 @@ catalogue-version 0.2
name pxpic
category Package
-revision 57400
+revision 57412
shortdesc Draw pixel pictures
relocated 1
longdesc With pxpic you draw pictures pixel by pixel. It was inspired by
longdesc a lovely post by Paulo Cereda, among other things (most notably
longdesc a beautiful duck) showcasing the use of characters from the
longdesc Mario video games by Nintendo in LaTeX.
-containersize 2136
-containerchecksum f7c1bc442a425ac26d945b9e28cc257424684539323c34b1fbe01673a557cdb3993860d7e5119e0f7d893556573c4fcc6a5f3380b25cadf9c8ada905ddf1a101
-doccontainersize 280356
-doccontainerchecksum f152ad763e3b57daab21205f9ac5a9dfada4098688b87274ab93417e7d98a876dcb088772121d983cef2e9d8f08ad81f34594dac79aa7f1e7e048f210e85a0ce
-docfiles size=71
+containersize 2184
+containerchecksum ada924b8c1a0fc932cece526b62bfecbfa9afc60278f168624d5be8ec64fb303f6555958e9619e5a932acd761c0086ef305757efb6034bc1c75003173277574c
+doccontainersize 290116
+doccontainerchecksum cd98a9ec4a2bdafd244cc065526cd8c26d1622305ab2624f3f87d0f06fe00c0276cb4f20f9de15f52d589c7e4ff7779936614ad44e2331dd5dc45cc2b6d9a3e2
+docfiles size=74
RELOC/doc/latex/pxpic/README.md details="Readme"
RELOC/doc/latex/pxpic/pxpic.pdf details="Package documentation"
-srccontainersize 9208
-srccontainerchecksum fb8e40e26972a42260b384dcd8a1f3f93ce520b3ef1f0052c25050976c363a97d5fa21e50c36f471c6f8d6a79ea0533499728518b551de442b0e8e4ecace2a8c
-srcfiles size=9
+srccontainersize 10144
+srccontainerchecksum 41e1f07b7ea83bf2ff8b1a06513dc33607f52766ccf39a030bdd059ff53d3a0ad08ddf4dfd7780a016c496ea3d473678df7ed7a38c2e3a74cc51d76154318578
+srcfiles size=10
RELOC/source/latex/pxpic/pxpic.dtx
runfiles size=2
RELOC/tex/latex/pxpic/pxpic.sty
catalogue-contact-repository https://github.com/Skillmon/ltx_pxpic
catalogue-ctan /graphics/pxpic
catalogue-license lppl1.3c
-catalogue-topics graphics-in-tex
-catalogue-version 1.0
+catalogue-topics graphics graphics-in-tex
+catalogue-version 1.1
name pxrubrica
category Package
@@ -268953,23 +269010,23 @@ catalogue-version 1.2
name showexpl
category Package
-revision 56600
+revision 57414
shortdesc Typesetting LaTeX source code
relocated 1
longdesc This package provides a way to typeset LaTeX source code and
longdesc the related result in the same document.
-containersize 4132
-containerchecksum 69df2e4d9e34b6514c19357f69d8440f61817f742741cf052c68144619db0e636c264fd0b848241960192a658db2f610540364e060d43350a0b8d98f39293215
-doccontainersize 604732
-doccontainerchecksum 6e6af7f6f2777fce21ce553fd4d36351280a767b532034d5c4f5d8e58eff853ab5bb2cc64b2bade9ab506ed0a5850507407213a17abe0c9f2cef0a0641a2515f
+containersize 4184
+containerchecksum d42f5d3570f252295a25c130c9ec9a94abaf9f28038fca163423a0aa44afee4f354aa2dced3ccd173e698a5da6ccfaa8284096742ba04b03f5aebf8fc502426c
+doccontainersize 604612
+doccontainerchecksum a3f12a43edc3ffa5556bec25b8527fdb039aaa704b2ea37c723cff367d453b0ac53b14c1eff41bf6d3961cf1d4f11b70349c03d253336421031ef0ba81b56561
docfiles size=156
RELOC/doc/latex/showexpl/README.md details="README file"
RELOC/doc/latex/showexpl/result-picture.pdf
RELOC/doc/latex/showexpl/showexpl-test.pdf details="Package example"
RELOC/doc/latex/showexpl/showexpl-test.tex
RELOC/doc/latex/showexpl/showexpl.pdf details="Package documentation"
-srccontainersize 9144
-srccontainerchecksum 3db3a4ae0685d5d088dfdd17394d93573a7a9ee6517512089b7b594f96df7934ff228d32453d92619f5c6d5570120bb8db7ff1cc303ccd2d3a0d8dd756b221d1
+srccontainersize 9180
+srccontainerchecksum 52ff44163115b6ffa5a8e181739df2c8c5619a32af0aa7bfc773d84b12c0e85a67bf87823ae0dd47f7d40d9e12fb8bde039b935555a1cc220dcbf49d182f6da3
srcfiles size=9
RELOC/source/latex/showexpl/showexpl.dtx
RELOC/source/latex/showexpl/showexpl.ins
@@ -268980,7 +269037,7 @@ catalogue-contact-repository https://github.com/rolfn/showexpl
catalogue-ctan /macros/latex/contrib/showexpl
catalogue-license lppl1.2
catalogue-topics listing macro-demo
-catalogue-version 0.3r
+catalogue-version 0.3s
name showhyphens
category Package
@@ -294920,15 +294977,15 @@ docfiles size=591
name texlive-docindex
category TLCore
-revision 57385
+revision 57406
shortdesc top-level TeX Live doc.html, etc.
longdesc These files are regenerated as needed, which is often, so we
longdesc make them a separate package. See the tl-update-auto script for
longdesc the process.
containersize 388
-containerchecksum 289cad05c3d0207c8c942e9605cd39f032f63a880e277a219db2bd385f47346258fb12dd0fec729c175a7f5787af63e46cf5e22211b9223ee93dced23c68d067
-doccontainersize 171116
-doccontainerchecksum c04c99f086ae6425f42aee07c2f3960417c0a6e252333af5618c98126162546a9ebcace9f7b04b9356277c362ebfab1a1059c37f4368dfff8589711dc3ac3192
+containerchecksum 3cedef967c569f1b1744db698ed33104856d8fcde68dd399d736961541ce0e765906436c8aab31b29381ca79f2b69b994d6761f4a747baad6328e3fbf4be8a02
+doccontainersize 171168
+doccontainerchecksum 234388b9e0d35493f5017151569583158936cf9d637299d634827fe976553fb1acd9e226101f4f8d6c2e3ba0eafbf31e94b017e5276a468f1851519cc03d57d1
docfiles size=339
doc.html
@@ -295082,14 +295139,14 @@ docfiles size=435
name texlive-msg-translations
category TLCore
-revision 57063
+revision 57409
shortdesc translations of the TeX Live installer and TeX Live Manager
longdesc This package contains the translated messages of the TeX Live
longdesc installer and TeX Live Manager. For information on creating or
longdesc updating translations, see
longdesc http://tug.org/texlive/doc.html#install-tl-xlate.
-containersize 141252
-containerchecksum 435ae1fedddc3556b55f4be2a131d1de2789785accbc06b0659f93435fbeda99afb80bf57d002d4da7bdb1b6b2b06dc030fadcd757e864929976c3d45a7d6619
+containersize 141260
+containerchecksum e363cc76bf4e768f8dd06709d1f1fc739a787c19d0995042c1e61a303057378053a98c343cfc7430fbf8305b9276f17077128d1015f222570ebd61952932b8ab
runfiles size=389
tlpkg/translations/README
tlpkg/translations/cs.po
@@ -295150,7 +295207,7 @@ docfiles size=368
name texlive-scripts
category TLCore
-revision 57386
+revision 57407
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -295158,10 +295215,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 132168
-containerchecksum fcb9d9506ed35c3a3e7068113c5723e856fab948d9efae4f3636cba162abd20a3ea80307507e4909e8202157c53137a1160199e5aa0f440e858f50fd0240453c
-doccontainersize 218816
-doccontainerchecksum c9af558e099e599b59e40730985349ad967f831244e61de5b654b13828ffc7f159e377eead65b3ed18de237a32ea19d87eb79801d16ea91bad310467683f6931
+containersize 132172
+containerchecksum c0ff227d24c0186ae348199d77dd478478d5b8b18ba2c0810496bb0715909e7f591d8dba8c7be744c4cf8793156f428a2c20cee242c31473de2c6f8103e1e277
+doccontainersize 218820
+doccontainerchecksum d7f2af8557930793722c637f3ba2d1d468bfe8f20b4d6ef54d5e4b68f42423f45cce95468cbb5c659b813543a53c1eef7a3b45511b4bfd6cb9df7244e90a7728
docfiles size=141
texmf-dist/doc/man/man1/fmtutil-sys.1
texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf
@@ -310041,7 +310098,7 @@ catalogue-version 1.0
name tuda-ci
category Package
-revision 56921
+revision 57415
shortdesc LaTeX templates of Technische Universitat Darmstadt
relocated 1
longdesc The TUDa-CI-Bundle provides a possibility to use the Corporate
@@ -310049,10 +310106,10 @@ longdesc Design of TU Darmstadt in LaTeX. It contains documentclasses as
longdesc well as some helper packages and config files together with
longdesc some templates for user documentation, which currently are only
longdesc available in German.
-containersize 41108
-containerchecksum da22e5de9085e794f62b437c44865c766412f8311c787bd236c6038a96216428de469ca3fd3300ccaf2ad61a17099705645d6bc5850cf50d3a62eabc8d89ed04
-doccontainersize 1102060
-doccontainerchecksum 4ed12173409c1a27ce3700b024247e841e153719971ecf3e8e088eaffb53362e6d974b43227820c167f901a268bb5e91a78f73b5272285820a8dd6b3a926d7a9
+containersize 41192
+containerchecksum ec345221822bfbf9e55876c09ef98bce481f857bcdedb070af8fafe0339b24bbe12fbadf46dc858b46aa79b4732812d9884bd248cc95d4dd74ceafd9dee829f4
+doccontainersize 1102612
+doccontainerchecksum 102907682f55372c3c444c1e1b872515b44bf47182ec767448c77bcdda5a072428900cb9d2b193fdfd0d85410fe2786b18b5c22664d8fc43d77c5ced7a87407a
docfiles size=1663
RELOC/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.pdf
RELOC/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.tex
@@ -310115,7 +310172,7 @@ catalogue-contact-repository https://github.com/tudace/tuda_latex_templates
catalogue-ctan /macros/latex/contrib/tuda-ci
catalogue-license lppl1.3c
catalogue-topics class letter dissertation presentation poster std-conform
-catalogue-version 3.08
+catalogue-version 3.09
name tudscr
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 11aca19871..9eb61a150c 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-4488be037cdacce6f3cfef98775f0550 texlive.tlpdb
+6488d7545e3a715982c08d28fbe25e45 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 1f60a90060..39ec8c9666 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-8b5ef090a9dd2d4ad366ba9570d3e79f6c7a2eda970489c70ec3b3a2fdd574bc8914250c9516b48caab9094a5919efb7eb148900addfbb53874611671410ebe8 texlive.tlpdb
+e05cc77b8f8922548a5aaa88e5d79702b21f34dcb1b09a3ac246dc3c8dfb107f317fd92f7acda47faed1ef4641e7854c422dc61227aef005ce725a84067f18b5 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index f346ee2f42..740544b6df 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJf/kYJAAoJEEzhh34ZQ4xwmzoH/1UnIg3xIJsjGqpY9t3CXexN
-0rObnMQTEKDoJLtZUXuQfvYzDewoNdaDnElQJ9i5b9JO7gUmO0ZFWtS8nqmr3HWP
-g9+eXz8tSx5WhnMKUT/Yl6gl9q2tQ21CG92yitJAkmtuCA4pJ9AOIB8Z5UhdCciH
-diC8BAAMXmWCjTVpjRSj1+b2RnEn5VDKXGkGpEncVUy+yefWor4IDvNVSmpuU2Bn
-iPiRN2AC9ynBxSIv7QwkLr6visGyscgMrEUlb0G5eM3ZvwdKMsGiULNhqJURP3vh
-g9EzPvlY5PUJhDr1EnPc1jTKixBZYijcEMX4Po4nWLbTe1DWMcwMykMrYfg4O34=
-=VB9z
+iQEcBAEBCgAGBQJf/5cBAAoJEEzhh34ZQ4xw6rwH/RKRxmgB+AanhZRex8kKp9RI
+aqT5jP7ID81VQtk36tqV1nY3ob0GiYlbOcuRA84EC3fEs+fSTh4j2bi2v05hflap
+5Fc6vpCiSyJitZGqOxrDw5EIYeakceNvCNpbBdWSwFZjIj4eDAl+EFy9KfKLK3AI
+CQM+VKp1rmEXo/RjnXJxXPowFEWStq6RkfIuOQLtlTYR1cq1i/J+t0MhSGgrhF78
+lwzcH2VUKvnrnkHX+XwGh4VpHJmdJctS6g/UuLhDZJgrKbgSMdaOlSpyWCxRyBh/
+eWt53drlBFbg2ybt8+CA/wboYdXJ0u3Rddu0Wr+gHWsqjGRudZ/NV2jAifWBgDg=
+=uu9W
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 778fadf140..3da211a0cd 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/translations/cs.po b/systems/texlive/tlnet/tlpkg/translations/cs.po
index a4781ce151..930197f546 100644
--- a/systems/texlive/tlnet/tlpkg/translations/cs.po
+++ b/systems/texlive/tlnet/tlpkg/translations/cs.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-03-26 17:30+0200\n"
"Last-Translator: Petr Sojka <sojka@fi.muni.cz>\n"
"Language-Team: Czech <>\n"
@@ -1446,12 +1446,12 @@ msgstr ""
"jste si jistí?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Vítejte v TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1467,7 +1467,7 @@ msgstr ""
"Seznam skupin u6ivatel; najdete na webu https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/de.po b/systems/texlive/tlnet/tlpkg/translations/de.po
index 341711a305..2d593685b3 100644
--- a/systems/texlive/tlnet/tlpkg/translations/de.po
+++ b/systems/texlive/tlnet/tlpkg/translations/de.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-03-22 06:40+0100\n"
"Last-Translator: Uwe Ziegenhagen <ziegenhagen@gmail.com>\n"
"Language-Team: TL German Translation Team <tex-live@tug.org>\n"
@@ -1448,12 +1448,12 @@ msgstr ""
"sind Sie sicher?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Willkommen bei TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1469,7 +1469,7 @@ msgstr ""
"Gruppen finden Sie unter https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
@@ -1496,7 +1496,7 @@ msgstr "Lokales Repository"
#: tlpkg/installer/install-tl-gui.tcl:1380
#: texmf-dist/scripts/tlshell/tlshell.tcl:864
msgid "Abort"
-msgstr "Breche ab"
+msgstr "Abbrechen"
#: tlpkg/installer/install-tl-gui.tcl:416
#: tlpkg/installer/install-tl-gui.tcl:1995
diff --git a/systems/texlive/tlnet/tlpkg/translations/es.po b/systems/texlive/tlnet/tlpkg/translations/es.po
index 15a1579cab..20c6392562 100644
--- a/systems/texlive/tlnet/tlpkg/translations/es.po
+++ b/systems/texlive/tlnet/tlpkg/translations/es.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-03-30 17:58-0400\n"
"Last-Translator: linguafalsa <linguafalsa@gmail.com>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1464,12 +1464,12 @@ msgstr ""
"¿Estás seguro que quieres continuar?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "¡Bienvenido a Tex Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1486,7 +1486,7 @@ msgstr ""
"lista de grupos está disponible en el web en https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/fr.po b/systems/texlive/tlnet/tlpkg/translations/fr.po
index 36ed10373b..c740d0e188 100644
--- a/systems/texlive/tlnet/tlpkg/translations/fr.po
+++ b/systems/texlive/tlnet/tlpkg/translations/fr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-05-12 10:49+0100\n"
"Last-Translator: Denis Bitouzé <denis.bitouze@univ-littoral.fr>\n"
"Language-Team: French <kde-i18n-doc@kde.org>\n"
@@ -1460,12 +1460,12 @@ msgstr ""
"Êtes-vous sûr(e) ?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Bienvenue sous TeX Live !"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1483,7 +1483,7 @@ msgstr ""
"html ;la page du groupe francophone est http://www.gutenberg.eu.org/."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/it.po b/systems/texlive/tlnet/tlpkg/translations/it.po
index bdc9d916c2..2924912182 100644
--- a/systems/texlive/tlnet/tlpkg/translations/it.po
+++ b/systems/texlive/tlnet/tlpkg/translations/it.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Tex Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-03-24 08:19+0100\n"
"Last-Translator: Marco Pallante\n"
"Language-Team: <>\n"
@@ -1452,12 +1452,12 @@ msgstr ""
"sei sicuro?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Benvenuto in TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1474,7 +1474,7 @@ msgstr ""
"usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/ja.po b/systems/texlive/tlnet/tlpkg/translations/ja.po
index 5af11c7f27..d6d4a3a26c 100644
--- a/systems/texlive/tlnet/tlpkg/translations/ja.po
+++ b/systems/texlive/tlnet/tlpkg/translations/ja.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-03-14 05:48+0900\n"
"Last-Translator: Takuto Asakura <tkt.asakura@gmail.com>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1444,12 +1444,12 @@ msgstr ""
"本当に合っていますか?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "TeX Live へようこそ!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1466,7 +1466,7 @@ msgstr ""
"html でご確認いただけます."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/messages.pot b/systems/texlive/tlnet/tlpkg/translations/messages.pot
index a4261262dc..4256c0e7c6 100644
--- a/systems/texlive/tlnet/tlpkg/translations/messages.pot
+++ b/systems/texlive/tlnet/tlpkg/translations/messages.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live 2020\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1389,12 +1389,12 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1405,7 +1405,7 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/nl.po b/systems/texlive/tlnet/tlpkg/translations/nl.po
index af7b93916e..0c698bbe4f 100644
--- a/systems/texlive/tlnet/tlpkg/translations/nl.po
+++ b/systems/texlive/tlnet/tlpkg/translations/nl.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-03-18 12:05+0100\n"
"Last-Translator: Siep Kroonenberg <siepo@bitmuis.nl>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1447,12 +1447,12 @@ msgstr ""
"weet u het zeker?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Welkom bij TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1468,7 +1468,7 @@ msgstr ""
"lijst van gebruikersgroepen staat op https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/pl.po b/systems/texlive/tlnet/tlpkg/translations/pl.po
index af402de6d0..165f071f36 100644
--- a/systems/texlive/tlnet/tlpkg/translations/pl.po
+++ b/systems/texlive/tlnet/tlpkg/translations/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live 2020\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-03-15 17:09+0100\n"
"Last-Translator: Zofia Walczak <pelagia48@gmail.com>\n"
"Language-Team: \n"
@@ -1450,12 +1450,12 @@ msgstr ""
"jesteś pewny?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Witamy w TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1472,7 +1472,7 @@ msgstr ""
"Lista grup dostępna jest na stronie https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/pt_BR.po b/systems/texlive/tlnet/tlpkg/translations/pt_BR.po
index 1552c67d55..414ddf536c 100644
--- a/systems/texlive/tlnet/tlpkg/translations/pt_BR.po
+++ b/systems/texlive/tlnet/tlpkg/translations/pt_BR.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-01-20 10:03-0300\n"
"Last-Translator: Paulo Roberto Massa Cereda <cereda.paulo@gmail.com>\n"
"Language-Team: Paulo Roberto Massa Cereda <cereda.paulo@gmail.com>\n"
@@ -1455,12 +1455,12 @@ msgstr ""
"você tem certeza?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Bem-vindo ao TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1477,7 +1477,7 @@ msgstr ""
"disponível na web no endereço https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/ru.po b/systems/texlive/tlnet/tlpkg/translations/ru.po
index c56d865fbf..4f218847d5 100644
--- a/systems/texlive/tlnet/tlpkg/translations/ru.po
+++ b/systems/texlive/tlnet/tlpkg/translations/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-02-24 12:40+0800\n"
"Last-Translator: Vladimir Lomov <irk.translator@yandex.ru>\n"
"Language-Team: Russian <tldoc@tug.org>\n"
@@ -1450,12 +1450,12 @@ msgstr ""
"вы уверены?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Вас приветствует TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1472,7 +1472,7 @@ msgstr ""
"usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/sk.po b/systems/texlive/tlnet/tlpkg/translations/sk.po
index 5f455931dc..4a0953f159 100644
--- a/systems/texlive/tlnet/tlpkg/translations/sk.po
+++ b/systems/texlive/tlnet/tlpkg/translations/sk.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-03-22 00:57+0300\n"
"Last-Translator: Ján Buša <jan.busa@tuke.sk>\n"
"Language-Team: tex-live@tug.org\n"
@@ -1450,12 +1450,12 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Vitajte vo svete TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1472,7 +1472,7 @@ msgstr ""
"html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/sl.po b/systems/texlive/tlnet/tlpkg/translations/sl.po
index 3e4239bc1b..de3c9ed377 100644
--- a/systems/texlive/tlnet/tlpkg/translations/sl.po
+++ b/systems/texlive/tlnet/tlpkg/translations/sl.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-04-08 23:05+0200\n"
"Last-Translator: Mojca Miklavec <mojca.miklavec.lists@gmail.com>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1514,12 +1514,12 @@ msgstr ""
"ste prepričani?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Dobrodošli v TeX Live-u!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1535,7 +1535,7 @@ msgstr ""
"teh je na voljo na strani https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/sr.po b/systems/texlive/tlnet/tlpkg/translations/sr.po
index dd7b36d8b7..dc1f47e78a 100644
--- a/systems/texlive/tlnet/tlpkg/translations/sr.po
+++ b/systems/texlive/tlnet/tlpkg/translations/sr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-10-23 02:13+0300\n"
"Last-Translator: Nikola Lečić <nikola.lecic@anthesphoria.net>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1458,12 +1458,12 @@ msgstr ""
"да ли сте сигурни?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Добродошли у TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1479,7 +1479,7 @@ msgstr ""
"можете пронаћи овде: https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/uk.po b/systems/texlive/tlnet/tlpkg/translations/uk.po
index 95926a98fd..fd326ee753 100644
--- a/systems/texlive/tlnet/tlpkg/translations/uk.po
+++ b/systems/texlive/tlnet/tlpkg/translations/uk.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live 2010\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2019-03-23 09:02+0200\n"
"Last-Translator: Andriy Bandura <andriykopanytsia@gmail.com>\n"
"Language-Team: Ukrainian <andriykopanytsia@gmail.com>\n"
@@ -1448,12 +1448,12 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Ласкаво просимо до TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1469,7 +1469,7 @@ msgstr ""
"вас. Список груп доступний на веб-сторінці https://tug.org/usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/vi.po b/systems/texlive/tlnet/tlpkg/translations/vi.po
index 47efdbf37a..c8609eaecc 100644
--- a/systems/texlive/tlnet/tlpkg/translations/vi.po
+++ b/systems/texlive/tlnet/tlpkg/translations/vi.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2020-03-24 22:04+0100\n"
"Last-Translator: Anh K. Huỳnh <kyanh@viettug.org>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1448,12 +1448,12 @@ msgstr ""
"bạn chắc sẽ không có rắc rối gì chứ?"
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "Chào mừng đến với TeX Live!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1470,7 +1470,7 @@ msgstr ""
"usergroups.html."
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/zh_CN.po b/systems/texlive/tlnet/tlpkg/translations/zh_CN.po
index 6af36d5806..86cf509ef8 100644
--- a/systems/texlive/tlnet/tlpkg/translations/zh_CN.po
+++ b/systems/texlive/tlnet/tlpkg/translations/zh_CN.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2009-09-22 12:54+0800\n"
"Last-Translator: Jiang Jiang <gzjjgod@gmail.com>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1399,12 +1399,12 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "欢迎进入 TeX Live 的世界!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1415,7 +1415,7 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/texlive/tlnet/tlpkg/translations/zh_TW.po b/systems/texlive/tlnet/tlpkg/translations/zh_TW.po
index 58819cb526..3f374e2b19 100644
--- a/systems/texlive/tlnet/tlpkg/translations/zh_TW.po
+++ b/systems/texlive/tlnet/tlpkg/translations/zh_TW.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: TeX Live translation\n"
"Report-Msgid-Bugs-To: tex-live@tug.org\n"
-"POT-Creation-Date: 2020-12-04 01:54+0100\n"
+"POT-Creation-Date: 2021-01-13 01:54+0100\n"
"PO-Revision-Date: 2009-09-03 12:34+0200\n"
"Last-Translator: Norbert Preining <preining@logic.at>\n"
"Language-Team: TL Translation Team <tex-live@tug.org>\n"
@@ -1422,12 +1422,12 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:185
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2600
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2610
msgid "Welcome to TeX Live!"
msgstr "歡迎進入 TeX Live 的世界!"
#: tlpkg/installer/install-tl-gui.tcl:188
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2603
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
#, tcl-format, perl-format
msgid ""
"See %s/index.html for links to documentation.\n"
@@ -1438,7 +1438,7 @@ msgid ""
msgstr ""
#: tlpkg/installer/install-tl-gui.tcl:192
-#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2613
+#: /home/texlive/karl/Master/tlpkg/translations/shortdesc.pl:2623
#, tcl-format, perl-format
msgid ""
"Add %s/texmf-dist/doc/man to MANPATH.\n"
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index af4037f7e0..b498c88c27 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index 45e4c4a755..4f9d656b86 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index dbe8cc340b..4a8096a230 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1610572473
+date=1610658945
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=0480627be80af8d80708f200a298984c
+lstdigest=34c2487641d9a1f31bf431123fcbc3b9
numpkg=4035
relstate=next
-version=7683
+version=7684
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: rnvRreoXE7EEug92CNaiIKiEX8Q/LMSMJSnnnMd2OhOiDXIScLwAWrQjf+cYtx2QJ536fzVtBImoE+tufhmI09g/1XXQpjuJDotwV1Jxh5b3+os84J7UaeKtLk+l14ATKfB3of2sIbLdwP4nowpsT9r538LrecUKlrRdUI+pPvdlWtW0n8F+cRzgsUUeBhcXVgIJXEDCXQhJQERk12jlIdsuh+wg6yhWs5oOX3YjdMscHuEEySGGEgOIJRtTm/FXhTAf8brhwUbVTFzH1UQwqIjHeLAyx1XUDt78X8yEkCmTw4kivZWzQZbYQxNKFi9h0auMhcKD2lLZ8knOZ7luTg==
+;;;; signature/miktex: tXUyY9wV2drIAVjJeAZpzdCUhiJeDqsTlTKDn2HnSlOL0oqnirjAVc6ehlE7pfCSGIu3yqEaq8YkhCtwNqWE+nj1Zqt5m0vWF8Mrgjx8bA+sV7WaWX0Iq+WRn0VKcwOOXaS1atu2ejmdIHYWnlNXHhGma7c3ELqWe2m+DLfC1Zbt92NsoAR+Tt0ayzx45u1DXIQ6F1JAHUkxEiPsqtDPW1xRW5Ap25NA7cTpVpwPneLz2pJvKs83M8ivuV5E1E8JzCKmfZ8VdRJIuZm0pFjzowqelWDN7J2v2BM0zTaVqZJ4mVOKDh/nAMuXeGFjGJdTBys1VD19754NE3ROZUJ41w==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index cb6f72a796..332d3534bc 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1610572269
-lastupd=bithesis curve2e easybook libertinus-otf marathi miktex-misc mlmodern orientation pxpic tuda-ci witharrows babel-russian babelbib baskervaldx biblatex-software docsurvey gudea hindmadurai hu-berlin-bundle jlreq-deluxe
-lstdigest=cefdf8b2ab70c25094e3dbc86c9970be
+date=1610658722
+lastupd=albatross easybook erewhon mlmodern pxpic showexpl bithesis curve2e libertinus-otf marathi miktex-misc orientation tuda-ci witharrows babel-russian babelbib baskervaldx biblatex-software docsurvey gudea
+lstdigest=816438669d2d9968e0fc37b8227a1cc9
numpkg=4035
relstate=stable
-version=7683
+version=7684
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: Gq6l2iCikBuEG3NtPgrTn1nxdrm2BXoZHQEAJNKKysfB7Us2c5SE7D8WnW/HtJQCB/KYzJvpn/7LpElTAd2+AUWwu9Q62oqVTSJaAxJt3eQ+qn0Ny8fD5dQo4dVqMtAe5mWV+MMXLgLpdJhdc/D+dldeHRZvBBc9uV/YIk6VWKpfr9P4iyAqj5JOxfpKp69c7gBxD2EwxuBnqdtatEg/IzmkfjayKdZBXuS3P3/Wd2+tNsx9ypEGc6GeHsAeowvVhHvPLI0mkPdRogQgYMCweaTDXwAHEHhoUSVMYUgk7adUbBrm97BXInCSONuNl5Bec9/zY4YA6tGNsbhL3pOuXg==
+;;;; signature/miktex: dztcw5D8o1pjpJbrhDPlGMvAu2j13Y/2eJHhnvoVPnjZPkr++NFBVUHX9t0dTCTfPr9QfGuPJfY6iVKV+HuCYwIGV65mQcsfKH/1OA+tFBxF1vs9JyajODoBVgT7nIco5neVYNnKnInXUFfpoGpL8K14Biwc3nFbyij97Uqz/VlOcohZCDe1vANnMfH2ijNcyK08xyZvnKn2x8qe1qeg1x2NELyB0jyBCbal4MiH2/rw6KSiQjnxN1Qa5h9Jv2RzJiic1rqktAIapEAPctYnIddaUJiW9U08ZvGFrTHdq6IJpFrj9csPyOFwVwL1aOxvNFoZk9ikwPrMJy9KSqI50w==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index 5b62938c5c..801fbd37f5 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,74 @@
W32TeX (x86 & x64) ChangeLog
+[2021/01/13]
+(01) aleph-w32.tar.xz
+(02) context.tar.xz
+(03) cweb-w32.tar.xz
+(04) dvi2ps-w32.tar.xz
+(05) dvi2tty-w32.tar.xz
+(06) dvipdfm-w32.tar.xz
+(07) dvipsk-w32.tar.xz
+(08) dvitools-w32.tar.xz
+(09) jtex-w32.tar.xz
+(10) ltxpkgs.tar.xz
+ Update witharrows and curve2e.
+(11) luajittex-exp-w32.tar.xz
+ Update luajittex.dll and luajithbtex.dll.
+(12) luatex-dev-w32.tar.xz
+(13) luatex-exp-w32.tar.xz
+ Update luatex.dll and luahbtex.dll.
+(14) luatex-w32.tar.xz
+(15) makeindex-w32.tar.xz
+(16) mftools.tar.xz
+(17) mftrace-w32.tar.xz
+(18) omegaj-w32.tar.xz
+(19) pdftex-w32.tar.xz
+(20) psutils-w32.tar.xz
+(21) ptex-w32.tar.xz
+(22) tex4htk-w32.tar.xz
+ Update html4.4ht.
+(23) texinfo-w32.tar.xz
+(24) ttf2pk-w32.tar.xz
+(25) ttf2pt1-w32.tar.xz
+(26) uptex-w32.tar.xz
+(27) web2c-w32.tar.zx
+(28) xetex-w32.tar.zx
+(29) win64/aleph-w64.tar.xz
+(30) win64/context-w64.tar.xz
+(31) win64/cweb-w64.tar.xz
+(32) win64/dvi2ps-w64.tar.xz
+(33) win64/dvi2tty-w64.tar.xz
+(34) win64/dvipdfm-w64.tar.xz
+(35) win64/dvipsk-w64.tar.xz
+(36) win64/dvitools-w64.tar.xz
+(37) win64/jtex-w64.tar.xz
+(38) win64/luajittex-exp-w64.tar.xz
+ Update luajittex.dll and luajithbtex.dll.
+(39) win64/luatex-dev-w64.tar.xz
+(40) win64/luatex-exp-w64.tar.xz
+ Update luatex.dll and luahbtex.dll.
+(41) win64/luatex-w64.tar.xz
+(42) win64/makeindex-w64.tar.xz
+(43) win64/mftools-w64.tar.xz
+(44) win64/mftrace-w64.tar.xz
+(45) win64/omegaj-w64.tar.xz
+(46) win64/pdftex-w64.tar.xz
+(47) win64/psutils-w64.tar.xz
+(48) win64/ptex-w64.tar.xz
+(49) win64/tex4htk-w64.tar.xz
+(50) win64/ttf2pk-w64.tar.xz
+(51) win64/ttf2pt1-w64.tar.xz
+(52) win64/uptex-w64.tar.xz
+(53) win64/web2c-w64.tar.xz
+(54) win64/xetex-w64.tar.xz
+ Rename Kpse dll.
+
+[2021/01/12]
+(01) context.tar.xz
+ ConTeXt version: 2021.01.11 16:28.
+(02) web2c-lib.tar.xz
+ Update hyphenex.
+
[2021/01/11]
(01) ltxpkgs.tar.xz
Update curve2e.
diff --git a/timestamp b/timestamp
index cb79b83d12..52703df6d7 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2021-01-14-02-02
+2021-01-15-02-02